/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ /* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ /* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/InternetExplorer/InternetExplorer.js */ InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision:980 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; function InternetExplorer(_1){ this.editor=_1; _1.InternetExplorer=this; } InternetExplorer.prototype.onKeyPress=function(ev){ if(this.editor.isShortCut(ev)){ switch(this.editor.getKey(ev).toLowerCase()){ case "n": this.editor.execCommand("formatblock",false,"

"); Xinha._stopEvent(ev); return true; break; case "1": case "2": case "3": case "4": case "5": case "6": this.editor.execCommand("formatblock",false,""); Xinha._stopEvent(ev); return true; break; } } switch(ev.keyCode){ case 8: case 46: if(this.handleBackspace()){ Xinha._stopEvent(ev); return true; } break; } return false; }; InternetExplorer.prototype.handleBackspace=function(){ var _3=this.editor; var _4=_3.getSelection(); if(_4.type=="Control"){ var _5=_3.activeElement(_4); Xinha.removeFromParent(_5); return true; } var _6=_3.createRange(_4); var r2=_6.duplicate(); r2.moveStart("character",-1); var a=r2.parentElement(); if(a!=_6.parentElement()&&(/^a$/i.test(a.tagName))){ r2.collapse(true); r2.moveEnd("character",1); r2.pasteHTML(""); r2.select(); return true; } }; InternetExplorer.prototype.inwardHtml=function(_9){ _9=_9.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); _9=_9.replace(/("; }else{ if(_f.config.browserQuirksMode===true){ var _12=""; }else{ var _12=Xinha.getDoctype(document); } } if(!_f.config.fullPage){ _11+=_12+"\n"; _11+="\n"; _11+="\n"; _11+="\n"; if(typeof _f.config.baseHref!="undefined"&&_f.config.baseHref!==null){ _11+="\n"; } if(typeof _f.config.pageStyleSheets!=="undefined"){ for(var i=0;i<_f.config.pageStyleSheets.length;i++){ if(_f.config.pageStyleSheets[i].length>0){ _11+=""; } } } if(_f.config.pageStyle){ _11+=""; } _11+="\n"; _11+="\n"; _11+=_f.getEditorContent(); _11+="\n"; _11+=""; }else{ _11=_f.getEditorContent(); if(_11.match(Xinha.RE_doctype)){ _f.setDoctype(RegExp.$1); } } _e.write(_11); _e.close(); _e.execCommand(_b,UI,_d); document.body.removeChild(_10); return true; break; case "removeformat": var _f=this.editor; var sel=_f.getSelection(); var _15=_f.saveSelection(sel); var i,el,els; function clean(el){ if(el.nodeType!=1){ return; } el.removeAttribute("style"); for(var j=0;j=1){ return _2a.item(0).outerHTML; } } return ""; }; Xinha.prototype.getSelection=function(){ return this._doc.selection; }; Xinha.prototype.createRange=function(sel){ if(!sel){ sel=this.getSelection(); } return sel.createRange(); }; Xinha.prototype.isKeyEvent=function(_2c){ return _2c.type=="keydown"; }; Xinha.prototype.getKey=function(_2d){ return String.fromCharCode(_2d.keyCode); }; Xinha.getOuterHTML=function(_2e){ return _2e.outerHTML; }; Xinha.prototype.cc=String.fromCharCode(8201); Xinha.prototype.setCC=function(_2f){ var cc=this.cc; if(_2f=="textarea"){ var ta=this._textArea; var pos=document.selection.createRange(); pos.collapse(); pos.text=cc; var _33=ta.value.indexOf(cc); var _34=ta.value.substring(0,_33); var _35=ta.value.substring(_33+cc.length,ta.value.length); if(_35.match(/^[^<]*>/)){ var _36=_35.indexOf(">")+1; ta.value=_34+_35.substring(0,_36)+cc+_35.substring(_36,_35.length); }else{ ta.value=_34+cc+_35; } ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); }else{ var sel=this.getSelection(); var r=sel.createRange(); if(sel.type=="Control"){ var _39=r.item(0); _39.outerHTML+=cc; }else{ r.collapse(); r.text=cc; } } }; Xinha.prototype.findCC=function(_3a){ var _3b=(_3a=="textarea")?this._textArea:this._doc.body; range=_3b.createTextRange(); if(range.findText(escape(this.cc))){ range.select(); range.text=""; } if(range.findText(this.cc)){ range.select(); range.text=""; } if(_3a=="textarea"){ this._textArea.focus(); } }; Xinha.getDoctype=function(doc){ return (doc.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?"":""; };