function TinyMCE_Engine(){
var ua;
this.majorVersion="2";
this.minorVersion="1.2";
this.releaseDate="2007-08-21";
this.instances=[];
this.switchClassCache=[];
this.windowArgs=[];
this.loadedFiles=[];
this.pendingFiles=[];
this.loadingIndex=0;
this.configs=[];
this.currentConfig=0;
this.eventHandlers=[];
this.log=[];
this.undoLevels=[];
this.undoIndex=0;
this.typingUndoIndex=-1;
this.settings=[];
ua=navigator.userAgent;
this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");
this.isMSIE5=this.isMSIE&&(ua.indexOf("MSIE 5")!=-1);
this.isMSIE5_0=this.isMSIE&&(ua.indexOf("MSIE 5.0")!=-1);
this.isMSIE7=this.isMSIE&&(ua.indexOf("MSIE 7")!=-1);
this.isGecko=ua.indexOf("Gecko")!=-1;
this.isSafari=ua.indexOf("Safari")!=-1;
this.isOpera=window["opera"]&&opera.buildNumber?true:false;
this.isMac=ua.indexOf("Mac")!=-1;
this.isNS7=ua.indexOf("Netscape/7")!=-1;
this.isNS71=ua.indexOf("Netscape/7.1")!=-1;
this.dialogCounter=0;
this.plugins=[];
this.themes=[];
this.menus=[];
this.loadedPlugins=[];
this.buttonMap=[];
this.isLoaded=false;
if(this.isOpera){
this.isMSIE=true;
this.isGecko=false;
this.isSafari=false;
}
this.isIE=this.isMSIE;
this.isRealIE=this.isMSIE&&!this.isOpera;
this.idCounter=0;
}
TinyMCE_Engine.prototype={init:function(_2){
var _3,nl,baseHREF="",i,cssPath,entities,h,p,src,elements=[],head;
if(this.isMSIE5_0){
return;
}
this.settings=_2;
if(typeof (document.execCommand)=="undefined"){
return;
}
if(!tinyMCE.baseURL){
head=document.getElementsByTagName("head")[0];
if(head){
for(i=0,nl=head.getElementsByTagName("script");i<nl.length;i++){
elements.push(nl[i]);
}
}
for(i=0,nl=document.getElementsByTagName("script");i<nl.length;i++){
elements.push(nl[i]);
}
nl=document.getElementsByTagName("base");
for(i=0;i<nl.length;i++){
if(nl[i].href){
baseHREF=nl[i].href;
}
}
for(i=0;i<elements.length;i++){
if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_dev.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip")!=-1)){
src=elements[i].src;
tinyMCE.srcMode=(src.indexOf("_src")!=-1||src.indexOf("_dev")!=-1)?"_src":"";
tinyMCE.gzipMode=src.indexOf("_gzip")!=-1;
src=src.substring(0,src.lastIndexOf("/"));
if(_2.exec_mode=="src"||_2.exec_mode=="normal"){
tinyMCE.srcMode=_2.exec_mode=="src"?"_src":"";
}
if(baseHREF!==""&&src.indexOf("://")==-1){
tinyMCE.baseURL=baseHREF+src;
}else{
tinyMCE.baseURL=src;
}
break;
}
}
}
this.documentBasePath=document.location.href;
if(this.documentBasePath.indexOf("?")!=-1){
this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf("?"));
}
this.documentURL=this.documentBasePath;
this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf("/"));
if(tinyMCE.baseURL.indexOf("://")==-1&&tinyMCE.baseURL.charAt(0)!="/"){
tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL;
}
this._def("mode","none");
this._def("theme","advanced");
this._def("plugins","",true);
this._def("language","en");
this._def("docs_language",this.settings.language);
this._def("elements","");
this._def("textarea_trigger","mce_editable");
this._def("editor_selector","");
this._def("editor_deselector","mceNoEditor");
this._def("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");
this._def("extended_valid_elements","");
this._def("invalid_elements","");
this._def("encoding","");
this._def("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE_Engine.prototype.convertURL"));
this._def("save_callback","");
this._def("force_br_newlines",false);
this._def("force_p_newlines",true);
this._def("add_form_submit_trigger",true);
this._def("relative_urls",true);
this._def("remove_script_host",true);
this._def("focus_alert",true);
this._def("document_base_url",this.documentURL);
this._def("visual",true);
this._def("visual_table_class","mceVisualAid");
this._def("setupcontent_callback","");
this._def("fix_content_duplication",true);
this._def("custom_undo_redo",true);
this._def("custom_undo_redo_levels",-1);
this._def("custom_undo_redo_keyboard_shortcuts",true);
this._def("custom_undo_redo_restore_selection",true);
this._def("custom_undo_redo_global",false);
this._def("verify_html",true);
this._def("apply_source_formatting",false);
this._def("directionality","ltr");
this._def("cleanup_on_startup",false);
this._def("inline_styles",false);
this._def("convert_newlines_to_brs",false);
this._def("auto_reset_designmode",true);
this._def("entities","39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",true);
this._def("entity_encoding","named");
this._def("cleanup_callback","");
this._def("add_unload_trigger",true);
this._def("ask",false);
this._def("nowrap",false);
this._def("auto_resize",false);
this._def("auto_focus",false);
this._def("cleanup",true);
this._def("remove_linebreaks",true);
this._def("button_tile_map",false);
this._def("submit_patch",true);
this._def("browsers","msie,safari,gecko,opera",true);
this._def("dialog_type","window");
this._def("accessibility_warnings",true);
this._def("accessibility_focus",true);
this._def("merge_styles_invalid_parents","");
this._def("force_hex_style_colors",true);
this._def("trim_span_elements",true);
this._def("convert_fonts_to_spans",false);
this._def("doctype","<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
this._def("font_size_classes","");
this._def("font_size_style_values","xx-small,x-small,small,medium,large,x-large,xx-large",true);
this._def("event_elements","a,img",true);
this._def("convert_urls",true);
this._def("table_inline_editing",false);
this._def("object_resizing",true);
this._def("custom_shortcuts",true);
this._def("convert_on_click",false);
this._def("content_css","");
this._def("fix_list_elements",true);
this._def("fix_table_elements",false);
this._def("strict_loading_mode",document.contentType=="application/xhtml+xml");
this._def("hidden_tab_class","");
this._def("display_tab_class","");
this._def("gecko_spellcheck",false);
this._def("hide_selects_on_submit",true);
this._def("forced_root_block",false);
this._def("remove_trailing_nbsp",false);
this._def("save_on_tinymce_forms",false);
if(this.isMSIE&&!this.isOpera){
this.settings.strict_loading_mode=false;
}
if(this.isMSIE&&this.settings.browsers.indexOf("msie")==-1){
return;
}
if(this.isGecko&&this.settings.browsers.indexOf("gecko")==-1){
return;
}
if(this.isSafari&&this.settings.browsers.indexOf("safari")==-1){
return;
}
if(this.isOpera&&this.settings.browsers.indexOf("opera")==-1){
return;
}
baseHREF=tinyMCE.settings.document_base_url;
h=document.location.href;
p=h.indexOf("://");
if(p>0&&document.location.protocol!="file:"){
p=h.indexOf("/",p+3);
h=h.substring(0,p);
if(baseHREF.indexOf("://")==-1){
baseHREF=h+baseHREF;
}
tinyMCE.settings.document_base_url=baseHREF;
tinyMCE.settings.document_base_prefix=h;
}
if(baseHREF.indexOf("?")!=-1){
baseHREF=baseHREF.substring(0,baseHREF.indexOf("?"));
}
this.settings.base_href=baseHREF.substring(0,baseHREF.lastIndexOf("/"))+"/";
_3=this.settings.theme;
this.inlineStrict="A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment";
this.inlineTransitional="A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment";
this.blockElms="H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP";
this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");
this.posKeyCodes=[13,45,36,35,33,34,37,38,39,40];
this.uniqueURL="javascript:void(091039730);";
this.uniqueTag="<div id=\"mceTMPElement\" style=\"display: none\">TMP</div>";
this.callbacks=["onInit","getInfo","getEditorTemplate","setupContent","onChange","onPageLoad","handleNodeChange","initInstance","execCommand","getControlHTML","handleEvent","cleanup","removeInstance"];
this.settings.theme_href=tinyMCE.baseURL+"/themes/"+_3;
if(!tinyMCE.isIE||tinyMCE.isOpera){
this.settings.force_br_newlines=false;
}
if(tinyMCE.getParam("popups_css",false)){
cssPath=tinyMCE.getParam("popups_css","");
if(cssPath.indexOf("://")==-1&&cssPath.charAt(0)!="/"){
this.settings.popups_css=this.documentBasePath+"/"+cssPath;
}else{
this.settings.popups_css=cssPath;
}
}else{
this.settings.popups_css=tinyMCE.baseURL+"/themes/"+_3+"/css/editor_popup.css";
}
if(tinyMCE.getParam("editor_css",false)){
cssPath=tinyMCE.getParam("editor_css","");
if(cssPath.indexOf("://")==-1&&cssPath.charAt(0)!="/"){
this.settings.editor_css=this.documentBasePath+"/"+cssPath;
}else{
this.settings.editor_css=cssPath;
}
}else{
if(this.settings.editor_css!==""){
this.settings.editor_css=tinyMCE.baseURL+"/themes/"+_3+"/css/editor_ui.css";
}
}
if(this.configs.length==0){
if(typeof (TinyMCECompressed)=="undefined"){
tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);
if(tinyMCE.isRealIE){
if(document.body){
tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);
}else{
tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad);
}
}
tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);
tinyMCE._addUnloadEvents();
}
}
this.loadScript(tinyMCE.baseURL+"/themes/"+this.settings.theme+"/editor_template"+tinyMCE.srcMode+".js");
this.loadScript(tinyMCE.baseURL+"/langs/"+this.settings.language+".js");
this.loadCSS(this.settings.editor_css);
p=tinyMCE.getParam("plugins","",true,",");
if(p.length>0){
for(i=0;i<p.length;i++){
if(p[i].charAt(0)!="-"){
this.loadScript(tinyMCE.baseURL+"/plugins/"+p[i]+"/editor_plugin"+tinyMCE.srcMode+".js");
}
}
}
if(tinyMCE.getParam("entity_encoding")=="named"){
_2.cleanup_entities=[];
entities=tinyMCE.getParam("entities","",true,",");
for(i=0;i<entities.length;i+=2){
_2.cleanup_entities["c"+entities[i]]=entities[i+1];
}
}
_2.index=this.configs.length;
this.configs[this.configs.length]=_2;
this.loadNextScript();
if(this.isIE&&!this.isOpera){
try{
document.execCommand("BackgroundImageCache",false,true);
}
catch(e){
}
}
this.xmlEncodeRe=new RegExp("[<>&\"]","g");
},_addUnloadEvents:function(){
var st=tinyMCE.settings.add_unload_trigger;
if(tinyMCE.isIE){
if(st){
tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);
tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler);
}
}else{
if(st){
tinyMCE.addEvent(window,"unload",function(){
tinyMCE.triggerSave(true,true);
});
}
}
},_def:function(_5,_6,t){
var v=tinyMCE.getParam(_5,_6);
v=t?v.replace(/\s+/g,""):v;
this.settings[_5]=v;
},hasPlugin:function(n){
return typeof (this.plugins[n])!="undefined"&&this.plugins[n]!=null;
},addPlugin:function(n,p){
var op=this.plugins[n];
p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;
this.plugins[n]=p;
this.loadNextScript();
},setPluginBaseURL:function(n,u){
var op=this.plugins[n];
if(op){
op.baseURL=u;
}else{
this.plugins[n]={baseURL:u};
}
},loadPlugin:function(n,u){
u=u.indexOf(".js")!=-1?u.substring(0,u.lastIndexOf("/")):u;
u=u.charAt(u.length-1)=="/"?u.substring(0,u.length-1):u;
this.plugins[n]={baseURL:u};
this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?"_src":"")+".js");
},hasTheme:function(n){
return typeof (this.themes[n])!="undefined"&&this.themes[n]!=null;
},addTheme:function(n,t){
this.themes[n]=t;
this.loadNextScript();
},addMenu:function(n,m){
this.menus[n]=m;
},hasMenu:function(n){
return typeof (this.plugins[n])!="undefined"&&this.plugins[n]!=null;
},loadScript:function(url){
var i;
for(i=0;i<this.loadedFiles.length;i++){
if(this.loadedFiles[i]==url){
return;
}
}
if(tinyMCE.settings.strict_loading_mode){
this.pendingFiles[this.pendingFiles.length]=url;
}else{
document.write("<sc"+"ript language=\"javascript\" type=\"text/javascript\" src=\""+url+"\"></script>");
}
this.loadedFiles[this.loadedFiles.length]=url;
},loadNextScript:function(){
var d=document,se;
if(!tinyMCE.settings.strict_loading_mode){
return;
}
if(this.loadingIndex<this.pendingFiles.length){
se=d.createElementNS("http://www.w3.org/1999/xhtml","script");
se.setAttribute("language","javascript");
se.setAttribute("type","text/javascript");
se.setAttribute("src",this.pendingFiles[this.loadingIndex++]);
d.getElementsByTagName("head")[0].appendChild(se);
}else{
this.loadingIndex=-1;
}
},loadCSS:function(url){
var ar=url.replace(/\s+/,"").split(",");
var _1d=0,csslen=0,skip=false;
var x=0,i=0,nl,le;
for(x=0,csslen=ar.length;x<csslen;x++){
if(ar[x]!=null&&ar[x]!="null"&&ar[x].length>0){
for(i=0,_1d=this.loadedFiles.length;i<_1d;i++){
if(this.loadedFiles[i]==ar[x]){
skip=true;
break;
}
}
if(!skip){
if(tinyMCE.settings.strict_loading_mode){
nl=document.getElementsByTagName("head");
le=document.createElement("link");
le.setAttribute("href",ar[x]);
le.setAttribute("rel","stylesheet");
le.setAttribute("type","text/css");
nl[0].appendChild(le);
}else{
document.write("<link href=\""+ar[x]+"\" rel=\"stylesheet\" type=\"text/css\" />");
}
this.loadedFiles[this.loadedFiles.length]=ar[x];
}
}
}
},importCSS:function(doc,css){
var _21=css.replace(/\s+/,"").split(",");
var _22,elm,headArr,x,css_file;
for(x=0,_22=_21.length;x<_22;x++){
css_file=_21[x];
if(css_file!=null&&css_file!="null"&&css_file.length>0){
if(css_file.indexOf("://")==-1&&css_file.charAt(0)!="/"){
css_file=this.documentBasePath+"/"+css_file;
}
if(typeof (doc.createStyleSheet)=="undefined"){
elm=doc.createElement("link");
elm.rel="stylesheet";
elm.href=css_file;
if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0){
headArr[0].appendChild(elm);
}
}else{
doc.createStyleSheet(css_file);
}
}
}
},confirmAdd:function(e,_24){
var elm=tinyMCE.isIE?event.srcElement:e.target;
var _26=elm.name?elm.name:elm.id;
tinyMCE.settings=_24;
if(tinyMCE.settings.convert_on_click||(!elm.getAttribute("mce_noask")&&confirm(tinyMCELang.lang_edit_confirm))){
tinyMCE.addMCEControl(elm,_26);
}
elm.setAttribute("mce_noask","true");
},updateContent:function(_27){
var _28,n,inst,doc;
_28=document.getElementById(_27);
for(n in tinyMCE.instances){
inst=tinyMCE.instances[n];
if(!tinyMCE.isInstance(inst)){
continue;
}
inst.switchSettings();
if(inst.formElement==_28){
doc=inst.getDoc();
tinyMCE._setHTML(doc,inst.formElement.value);
if(!tinyMCE.isIE){
doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid);
}
}
}
},addMCEControl:function(_29,_2a,_2b){
var id="mce_editor_"+tinyMCE.idCounter++;
var _2d=new TinyMCE_Control(tinyMCE.settings);
_2d.editorId=id;
this.instances[id]=_2d;
_2d._onAdd(_29,_2a,_2b);
},removeInstance:function(ti){
var t=[],n,i;
for(n in tinyMCE.instances){
i=tinyMCE.instances[n];
if(tinyMCE.isInstance(i)&&ti!=i){
t[n]=i;
}
}
tinyMCE.instances=t;
n=[];
t=tinyMCE.undoLevels;
for(i=0;i<t.length;i++){
if(t[i]!=ti){
n.push(t[i]);
}
}
tinyMCE.undoLevels=n;
tinyMCE.undoIndex=n.length;
tinyMCE.dispatchCallback(ti,"remove_instance_callback","removeInstance",ti);
return ti;
},removeMCEControl:function(_30){
var _31=tinyMCE.getInstanceById(_30),h,re,ot,tn,n;
if(_31){
_31.switchSettings();
_30=_31.editorId;
h=tinyMCE.getContent(_30);
this.removeInstance(_31);
tinyMCE.selectedElement=null;
tinyMCE.selectedInstance=null;
tinyMCE.selectedElement=null;
tinyMCE.selectedInstance=null;
for(n in tinyMCE.instances){
if(!tinyMCE.isInstance(tinyMCE.instances[n])){
continue;
}
tinyMCE.selectedInstance=tinyMCE.instances[n];
break;
}
re=document.getElementById(_30+"_parent");
ot=_31.oldTargetElement;
tn=ot.nodeName.toLowerCase();
if(tn=="textarea"||tn=="input"){
re.parentNode.removeChild(re);
ot.style.display="inline";
ot.value=h;
}else{
ot.innerHTML=h;
ot.style.display="block";
re.parentNode.insertBefore(ot,re);
re.parentNode.removeChild(re);
}
}
},triggerSave:function(_32,_33){
var _34,n;
if(typeof (_32)=="undefined"){
_32=false;
}
if(typeof (_33)=="undefined"){
_33=false;
}
for(n in tinyMCE.instances){
_34=tinyMCE.instances[n];
if(!tinyMCE.isInstance(_34)){
continue;
}
_34.triggerSave(_32,_33);
}
},resetForm:function(_35){
var i,inst,n,formObj=document.forms[_35];
for(n in tinyMCE.instances){
inst=tinyMCE.instances[n];
if(!tinyMCE.isInstance(inst)){
continue;
}
inst.switchSettings();
for(i=0;i<formObj.elements.length;i++){
if(inst.formTargetElementId==formObj.elements[i].name){
inst.getBody().innerHTML=inst.startContent;
}
}
}
},execInstanceCommand:function(_37,_38,_39,_3a,_3b){
var _3c=tinyMCE.getInstanceById(_37),r;
if(_3c){
r=_3c.selection.getRng();
if(typeof (_3b)=="undefined"){
_3b=true;
}
if(_3b&&(!r||!r.item)){
_3c.contentWindow.focus();
}
_3c.autoResetDesignMode();
this.selectedElement=_3c.getFocusElement();
_3c.select();
tinyMCE.execCommand(_38,_39,_3a);
if(tinyMCE.isIE&&window.event!=null){
tinyMCE.cancelEvent(window.event);
}
}
},execCommand:function(_3d,_3e,_3f){
var _40=tinyMCE.selectedInstance,n,pe,te;
_3e=_3e?_3e:false;
_3f=_3f?_3f:null;
if(_40){
_40.switchSettings();
}
switch(_3d){
case "Undo":
if(this.getParam("custom_undo_redo_global")){
if(this.undoIndex>0){
tinyMCE.nextUndoRedoAction="Undo";
_40=this.undoLevels[--this.undoIndex];
_40.select();
if(!tinyMCE.nextUndoRedoInstanceId){
_40.execCommand("Undo");
}
}
}else{
_40.execCommand("Undo");
}
return true;
case "Redo":
if(this.getParam("custom_undo_redo_global")){
if(this.undoIndex<=this.undoLevels.length-1){
tinyMCE.nextUndoRedoAction="Redo";
_40=this.undoLevels[this.undoIndex++];
_40.select();
if(!tinyMCE.nextUndoRedoInstanceId){
_40.execCommand("Redo");
}
}
}else{
_40.execCommand("Redo");
}
return true;
case "mceFocus":
_40=tinyMCE.getInstanceById(_3f);
if(_40){
_40.getWin().focus();
}
return;
case "mceAddControl":
case "mceAddEditor":
tinyMCE.addMCEControl(tinyMCE._getElementById(_3f),_3f);
return;
case "mceAddFrameControl":
tinyMCE.addMCEControl(tinyMCE._getElementById(_3f.element,_3f.document),_3f.element,_3f.document);
return;
case "mceRemoveControl":
case "mceRemoveEditor":
tinyMCE.removeMCEControl(_3f);
return;
case "mceToggleEditor":
_40=tinyMCE.getInstanceById(_3f);
if(_40){
pe=document.getElementById(_40.editorId+"_parent");
te=_40.oldTargetElement;
if(typeof (_40.enabled)=="undefined"){
_40.enabled=true;
}
_40.enabled=!_40.enabled;
if(!_40.enabled){
pe.style.display="none";
if(te.nodeName=="TEXTAREA"||te.nodeName=="INPUT"){
te.value=_40.getHTML();
}else{
te.innerHTML=_40.getHTML();
}
te.style.display=_40.oldTargetDisplay;
tinyMCE.dispatchCallback(_40,"hide_instance_callback","hideInstance",_40);
}else{
pe.style.display="block";
te.style.display="none";
if(te.nodeName=="TEXTAREA"||te.nodeName=="INPUT"){
_40.setHTML(te.value);
}else{
_40.setHTML(te.innerHTML);
}
_40.useCSS=false;
tinyMCE.dispatchCallback(_40,"show_instance_callback","showInstance",_40);
}
}else{
tinyMCE.addMCEControl(tinyMCE._getElementById(_3f),_3f);
}
return;
case "mceResetDesignMode":
if(tinyMCE.isGecko){
for(n in tinyMCE.instances){
if(!tinyMCE.isInstance(tinyMCE.instances[n])){
continue;
}
try{
tinyMCE.instances[n].getDoc().designMode="off";
tinyMCE.instances[n].getDoc().designMode="on";
tinyMCE.instances[n].useCSS=false;
}
catch(e){
}
}
}
return;
}
if(_40){
_40.execCommand(_3d,_3e,_3f);
}else{
if(tinyMCE.settings.focus_alert){
alert(tinyMCELang.lang_focus_alert);
}
}
},_createIFrame:function(_41,doc,win){
var _44,id=_41.getAttribute("id");
var aw,ah;
if(typeof (doc)=="undefined"){
doc=document;
}
if(typeof (win)=="undefined"){
win=window;
}
_44=doc.createElement("iframe");
aw=""+tinyMCE.settings.area_width;
ah=""+tinyMCE.settings.area_height;
if(aw.indexOf("%")==-1){
aw=parseInt(aw);
aw=(isNaN(aw)||aw<0)?300:aw;
aw=aw+"px";
}
if(ah.indexOf("%")==-1){
ah=parseInt(ah);
ah=(isNaN(ah)||ah<0)?240:ah;
ah=ah+"px";
}
_44.setAttribute("id",id);
_44.setAttribute("name",id);
_44.setAttribute("class","mceEditorIframe");
_44.setAttribute("border","0");
_44.setAttribute("frameBorder","0");
_44.setAttribute("marginWidth","0");
_44.setAttribute("marginHeight","0");
_44.setAttribute("leftMargin","0");
_44.setAttribute("topMargin","0");
_44.setAttribute("width",aw);
_44.setAttribute("height",ah);
_44.setAttribute("allowtransparency","true");
_44.className="mceEditorIframe";
if(tinyMCE.settings.auto_resize){
_44.setAttribute("scrolling","no");
}
if(tinyMCE.isRealIE){
_44.setAttribute("src",this.settings.default_document);
}
_44.style.width=aw;
_44.style.height=ah;
if(tinyMCE.settings.strict_loading_mode){
_44.style.marginBottom="-5px";
}
if(tinyMCE.isRealIE){
_41.outerHTML=_44.outerHTML;
}else{
_41.parentNode.replaceChild(_44,_41);
}
if(tinyMCE.isRealIE){
return win.frames[id];
}else{
return _44;
}
},setupContent:function(_46){
var _47=tinyMCE.instances[_46],i,doc=_47.getDoc(),head=doc.getElementsByTagName("head").item(0);
var _48=_47.startContent,contentElement,body;
if(tinyMCE.settings.strict_loading_mode){
_48=_48.replace(/&lt;/g,"<");
_48=_48.replace(/&gt;/g,">");
_48=_48.replace(/&quot;/g,"\"");
_48=_48.replace(/&amp;/g,"&");
}
tinyMCE.selectedInstance=_47;
_47.switchSettings();
if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){
try{
doc.location.href=tinyMCE.baseURL+"/blank.htm";
}
catch(ex){
}
window.setTimeout("tinyMCE.setupContent('"+_46+"');",1000);
return;
}
if(!head||!doc.body){
window.setTimeout("tinyMCE.setupContent('"+_46+"');",10);
return;
}
tinyMCE.importCSS(_47.getDoc(),tinyMCE.baseURL+"/themes/"+_47.settings.theme+"/css/editor_content.css");
tinyMCE.importCSS(_47.getDoc(),_47.settings.content_css);
tinyMCE.dispatchCallback(_47,"init_instance_callback","initInstance",_47);
if(tinyMCE.getParam("custom_undo_redo_keyboard_shortcuts")){
_47.addShortcut("ctrl","z","lang_undo_desc","Undo");
_47.addShortcut("ctrl","y","lang_redo_desc","Redo");
}
for(i=1;i<=6;i++){
_47.addShortcut("ctrl",""+i,"","FormatBlock",false,"<h"+i+">");
}
_47.addShortcut("ctrl","7","","FormatBlock",false,"<p>");
_47.addShortcut("ctrl","8","","FormatBlock",false,"<div>");
_47.addShortcut("ctrl","9","","FormatBlock",false,"<address>");
if(tinyMCE.isGecko){
_47.addShortcut("ctrl","b","lang_bold_desc","Bold");
_47.addShortcut("ctrl","i","lang_italic_desc","Italic");
_47.addShortcut("ctrl","u","lang_underline_desc","Underline");
}
if(tinyMCE.getParam("convert_fonts_to_spans")){
_47.getBody().setAttribute("id","mceSpanFonts");
}
if(tinyMCE.settings.nowrap){
doc.body.style.whiteSpace="nowrap";
}
doc.body.dir=this.settings.directionality;
doc.editorId=_46;
if(!tinyMCE.isIE){
doc.documentElement.editorId=_46;
}
_47.setBaseHREF(tinyMCE.settings.base_href);
if(tinyMCE.settings.convert_newlines_to_brs){
_48=tinyMCE.regexpReplace(_48,"\r\n","<br />","gi");
_48=tinyMCE.regexpReplace(_48,"\r","<br />","gi");
_48=tinyMCE.regexpReplace(_48,"\n","<br />","gi");
}
_48=tinyMCE.storeAwayURLs(_48);
_48=tinyMCE._customCleanup(_47,"insert_to_editor",_48);
if(tinyMCE.isIE){
window.setInterval("try{tinyMCE.getCSSClasses(tinyMCE.instances[\""+_46+"\"].getDoc(), \""+_46+"\");}catch(e){}",500);
if(tinyMCE.settings.force_br_newlines){
doc.styleSheets[0].addRule("p","margin: 0;");
}
body=_47.getBody();
body.editorId=_46;
}
_48=tinyMCE.cleanupHTMLCode(_48);
if(!tinyMCE.isIE){
contentElement=_47.getDoc().createElement("body");
doc=_47.getDoc();
contentElement.innerHTML=_48;
if(tinyMCE.settings.cleanup_on_startup){
tinyMCE.setInnerHTML(_47.getBody(),tinyMCE._cleanupHTML(_47,doc,this.settings,contentElement));
}else{
tinyMCE.setInnerHTML(_47.getBody(),_48);
}
tinyMCE.convertAllRelativeURLs(_47.getBody());
}else{
if(tinyMCE.settings.cleanup_on_startup){
tinyMCE._setHTML(_47.getDoc(),_48);
try{
tinyMCE.setInnerHTML(_47.getBody(),tinyMCE._cleanupHTML(_47,_47.contentDocument,this.settings,_47.getBody()));
}
catch(e){
}
}else{
tinyMCE._setHTML(_47.getDoc(),_48);
}
}
tinyMCE.handleVisualAid(_47.getBody(),true,tinyMCE.settings.visual,_47);
tinyMCE.dispatchCallback(_47,"setupcontent_callback","setupContent",_46,_47.getBody(),_47.getDoc());
if(!tinyMCE.isIE){
tinyMCE.addEventHandlers(_47);
}
if(tinyMCE.isIE){
tinyMCE.addEvent(_47.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(_47.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);
if(!tinyMCE.isOpera){
tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);
tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch);
}
}
_47.select();
tinyMCE.selectedElement=_47.contentWindow.document.body;
tinyMCE._customCleanup(_47,"insert_to_editor_dom",_47.getBody());
tinyMCE._customCleanup(_47,"setup_content_dom",_47.getBody());
tinyMCE._setEventsEnabled(_47.getBody(),false);
tinyMCE.cleanupAnchors(_47.getDoc());
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertSpansToFonts(_47.getDoc());
}
_47.startContent=tinyMCE.trim(_47.getBody().innerHTML);
_47.undoRedo.add({content:_47.startContent});
if(tinyMCE.isGecko){
tinyMCE.selectNodes(_47.getBody(),function(n){
if(n.nodeType==3||n.nodeType==8){
n.nodeValue=n.nodeValue.replace(new RegExp("\\s(mce_src|mce_href)=\"[^\"]*\"","gi"),"");
}
return false;
});
}
if(tinyMCE.isGecko){
_47.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");
}
tinyMCE._removeInternal(_47.getBody());
_47.select();
tinyMCE.triggerNodeChange(false,true);
},storeAwayURLs:function(s){
if(!s.match(/(mce_src|mce_href)/gi,s)){
s=s.replace(new RegExp("src\\s*=\\s*\"([^ >\"]*)\"","gi"),"src=\"$1\" mce_src=\"$1\"");
s=s.replace(new RegExp("href\\s*=\\s*\"([^ >\"]*)\"","gi"),"href=\"$1\" mce_href=\"$1\"");
}
return s;
},_removeInternal:function(n){
if(tinyMCE.isGecko){
tinyMCE.selectNodes(n,function(n){
if(n.nodeType==3||n.nodeType==8){
n.nodeValue=n.nodeValue.replace(new RegExp("\\s(mce_src|mce_href)=\"[^\"]*\"","gi"),"");
}
return false;
});
}
},removeTinyMCEFormElements:function(_4d){
var i,elementId;
if(!tinyMCE.getParam("hide_selects_on_submit")){
return;
}
if(typeof (_4d)=="undefined"||_4d==null){
return;
}
if(_4d.nodeName!="FORM"){
if(_4d.form){
_4d=_4d.form;
}else{
_4d=tinyMCE.getParentElement(_4d,"form");
}
}
if(_4d==null){
return;
}
for(i=0;i<_4d.elements.length;i++){
elementId=_4d.elements[i].name?_4d.elements[i].name:_4d.elements[i].id;
if(elementId.indexOf("mce_editor_")==0){
_4d.elements[i].disabled=true;
}
}
},handleEvent:function(e){
var _50=tinyMCE.selectedInstance,i,elm,keys;
if(typeof (tinyMCE)=="undefined"){
return true;
}
if(tinyMCE.executeCallback(tinyMCE.selectedInstance,"handle_event_callback","handleEvent",e)){
return false;
}
switch(e.type){
case "beforedeactivate":
case "blur":
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.execCommand("mceEndTyping");
}
tinyMCE.hideMenus();
return;
case "drop":
case "beforepaste":
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.setBaseHREF(null);
}
if(tinyMCE.isRealIE){
var ife=tinyMCE.selectedInstance.iframeElement;
if(ife.style.height.indexOf("%")!=-1){
ife._oldHeight=ife.style.height;
ife.style.height=ife.clientHeight;
}
}
window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings.base_href);tinyMCE._resetIframeHeight();",1);
return;
case "submit":
tinyMCE.formSubmit(tinyMCE.isMSIE?window.event.srcElement:e.target);
return;
case "reset":
var _52=tinyMCE.isIE?window.event.srcElement:e.target;
for(i=0;i<document.forms.length;i++){
if(document.forms[i]==_52){
window.setTimeout("tinyMCE.resetForm("+i+");",10);
}
}
return;
case "keypress":
if(_50&&_50.handleShortcut(e)){
return false;
}
if(e.target.editorId){
tinyMCE.instances[e.target.editorId].select();
}else{
if(e.target.ownerDocument.editorId){
tinyMCE.instances[e.target.ownerDocument.editorId].select();
}
}
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.switchSettings();
}
if((tinyMCE.isGecko||tinyMCE.isOpera||tinyMCE.isSafari)&&tinyMCE.settings.force_p_newlines&&e.keyCode==13&&!e.shiftKey){
if(TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance,e)){
tinyMCE.execCommand("mceAddUndoLevel");
return tinyMCE.cancelEvent(e);
}
}
if((tinyMCE.isGecko&&!tinyMCE.isSafari)&&tinyMCE.settings.force_p_newlines&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){
if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){
tinyMCE.execCommand("mceAddUndoLevel");
return tinyMCE.cancelEvent(e);
}
}
if(tinyMCE.isIE&&tinyMCE.settings.force_br_newlines&&e.keyCode==13){
if(e.target.editorId){
tinyMCE.instances[e.target.editorId].select();
}
if(tinyMCE.selectedInstance){
var sel=tinyMCE.selectedInstance.getDoc().selection;
var rng=sel.createRange();
if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null){
return false;
}
e.returnValue=false;
e.cancelBubble=true;
rng.pasteHTML("<br />");
rng.collapse(false);
rng.select();
tinyMCE.execCommand("mceAddUndoLevel");
tinyMCE.triggerNodeChange(false);
return false;
}
}
if(e.keyCode==8||e.keyCode==46){
tinyMCE.selectedElement=e.target;
tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");
tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");
tinyMCE.triggerNodeChange(false);
}
return false;
case "keyup":
case "keydown":
tinyMCE.hideMenus();
tinyMCE.hasMouseMoved=false;
if(_50&&_50.handleShortcut(e)){
return false;
}
_50._fixRootBlocks();
if(_50.settings.remove_trailing_nbsp){
_50._fixTrailingNbsp();
}
if(e.target.editorId){
tinyMCE.instances[e.target.editorId].select();
}
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.switchSettings();
}
_50=tinyMCE.selectedInstance;
if(tinyMCE.isGecko&&tinyMCE.settings.force_p_newlines&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){
if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){
tinyMCE.execCommand("mceAddUndoLevel");
e.preventDefault();
return false;
}
}
tinyMCE.selectedElement=null;
tinyMCE.selectedNode=null;
elm=tinyMCE.selectedInstance.getFocusElement();
tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");
tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");
tinyMCE.selectedElement=elm;
if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9){
tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings.visual,tinyMCE.selectedInstance);
}
if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13){
tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();
}
if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){
elm=tinyMCE.enterKeyElement;
if(elm){
var re=new RegExp("^HR|IMG|BR$","g");
var dre=new RegExp("^H[1-6]$","g");
if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){
if(dre.test(elm.nodeName)){
elm.innerHTML="&nbsp;&nbsp;";
}else{
elm.innerHTML="&nbsp;";
}
}
}
}
keys=tinyMCE.posKeyCodes;
var _57=false;
for(i=0;i<keys.length;i++){
if(keys[i]==e.keyCode){
_57=true;
break;
}
}
if(tinyMCE.isIE&&tinyMCE.settings.custom_undo_redo){
keys=[8,46];
for(i=0;i<keys.length;i++){
if(keys[i]==e.keyCode){
if(e.type=="keyup"){
tinyMCE.triggerNodeChange(false);
}
}
}
}
if(e.keyCode==17){
return true;
}
if(tinyMCE.isGecko){
if(!_57&&e.type=="keyup"&&!e.ctrlKey||(e.ctrlKey&&(e.keyCode==86||e.keyCode==88))){
tinyMCE.execCommand("mceStartTyping");
}
}else{
if(!_57&&e.type=="keyup"){
tinyMCE.execCommand("mceStartTyping");
}
}
if(e.type=="keydown"&&(_57||e.ctrlKey)&&_50){
_50.undoBookmark=_50.selection.getBookmark();
}
if(e.type=="keyup"&&(_57||e.ctrlKey)){
tinyMCE.execCommand("mceEndTyping");
}
if(_57&&e.type=="keyup"){
tinyMCE.triggerNodeChange(false);
}
if(tinyMCE.isIE&&e.ctrlKey){
window.setTimeout("tinyMCE.triggerNodeChange(false);",1);
}
break;
case "mousedown":
case "mouseup":
case "click":
case "dblclick":
case "focus":
tinyMCE.hideMenus();
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.switchSettings();
tinyMCE.selectedInstance.isFocused=true;
}
var _58=tinyMCE.getParentElement(e.target,"html");
for(var _59 in tinyMCE.instances){
if(!tinyMCE.isInstance(tinyMCE.instances[_59])){
continue;
}
_50=tinyMCE.instances[_59];
_50.autoResetDesignMode();
if(_50.getBody().parentNode==_58){
_50.select();
tinyMCE.selectedElement=e.target;
tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");
tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");
break;
}
}
if(!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark&&(e.type=="mouseup"||e.type=="dblclick")){
tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark=tinyMCE.selectedInstance.selection.getBookmark();
}
if(e.type!="focus"){
tinyMCE.selectedNode=null;
}
tinyMCE.triggerNodeChange(false);
tinyMCE.execCommand("mceEndTyping");
if(e.type=="mouseup"){
tinyMCE.execCommand("mceAddUndoLevel");
}
if(!tinyMCE.selectedInstance&&e.target.editorId){
tinyMCE.instances[e.target.editorId].select();
}
return false;
}
},getButtonHTML:function(id,_5b,img,cmd,ui,val){
var h="",m,x,io="";
cmd="tinyMCE.execInstanceCommand('{$editor_id}','"+cmd+"'";
if(typeof (ui)!="undefined"&&ui!=null){
cmd+=","+ui;
}
if(typeof (val)!="undefined"&&val!=null){
cmd+=",'"+val+"'";
}
cmd+=");";
if(tinyMCE.isRealIE){
io="onmouseover=\"tinyMCE.lastHover = this;\"";
}
if(tinyMCE.getParam("button_tile_map")&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=this.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf("$lang")==-1)){
x=0-(m*20)==0?"0":0-(m*20);
h+="<a id=\"{$editor_id}_"+id+"\" href=\"javascript:"+cmd+"\" onclick=\""+cmd+"return false;\" onmousedown=\"return false;\" "+io+" class=\"mceTiledButton mceButtonNormal\" target=\"_self\">";
h+="<img src=\"{$themeurl}/images/spacer.gif\" style=\"background-position: "+x+"px 0\" alt=\"{$"+_5b+"}\" title=\"{$"+_5b+"}\" />";
h+="</a>";
}else{
h+="<a id=\"{$editor_id}_"+id+"\" href=\"javascript:"+cmd+"\" onclick=\""+cmd+"return false;\" onmousedown=\"return false;\" "+io+" class=\"mceButtonNormal\" target=\"_self\">";
h+="<img src=\""+img+"\" alt=\"{$"+_5b+"}\" title=\"{$"+_5b+"}\" />";
h+="</a>";
}
return h;
},getMenuButtonHTML:function(id,_62,img,_64,cmd,ui,val){
var h="",m,x;
_64="tinyMCE.execInstanceCommand('{$editor_id}','"+_64+"');";
cmd="tinyMCE.execInstanceCommand('{$editor_id}','"+cmd+"'";
if(typeof (ui)!="undefined"&&ui!=null){
cmd+=","+ui;
}
if(typeof (val)!="undefined"&&val!=null){
cmd+=",'"+val+"'";
}
cmd+=");";
if(tinyMCE.getParam("button_tile_map")&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf("$lang")==-1)){
x=0-(m*20)==0?"0":0-(m*20);
if(tinyMCE.isRealIE){
h+="<span id=\"{$editor_id}_"+id+"\" class=\"mceMenuButton\" onmouseover=\"tinyMCE._menuButtonEvent('over',this);tinyMCE.lastHover = this;\" onmouseout=\"tinyMCE._menuButtonEvent('out',this);\">";
}else{
h+="<span id=\"{$editor_id}_"+id+"\" class=\"mceMenuButton\">";
}
h+="<a href=\"javascript:"+cmd+"\" onclick=\""+cmd+"return false;\" onmousedown=\"return false;\" class=\"mceTiledButton mceMenuButtonNormal\" target=\"_self\">";
h+="<img src=\"{$themeurl}/images/spacer.gif\" style=\"width: 20px; height: 20px; background-position: "+x+"px 0\" title=\"{$"+_62+"}\" /></a>";
h+="<a href=\"javascript:"+_64+"\" onclick=\""+_64+"return false;\" onmousedown=\"return false;\"><img src=\"{$themeurl}/images/button_menu.gif\" title=\"{$"+_62+"}\" class=\"mceMenuButton\" />";
h+="</a></span>";
}else{
if(tinyMCE.isRealIE){
h+="<span id=\"{$editor_id}_"+id+"\" dir=\"ltr\" class=\"mceMenuButton\" onmouseover=\"tinyMCE._menuButtonEvent('over',this);tinyMCE.lastHover = this;\" onmouseout=\"tinyMCE._menuButtonEvent('out',this);\">";
}else{
h+="<span id=\"{$editor_id}_"+id+"\" dir=\"ltr\" class=\"mceMenuButton\">";
}
h+="<a href=\"javascript:"+cmd+"\" onclick=\""+cmd+"return false;\" onmousedown=\"return false;\" class=\"mceMenuButtonNormal\" target=\"_self\">";
h+="<img src=\""+img+"\" title=\"{$"+_62+"}\" /></a>";
h+="<a href=\"javascript:"+_64+"\" onclick=\""+_64+"return false;\" onmousedown=\"return false;\"><img src=\"{$themeurl}/images/button_menu.gif\" title=\"{$"+_62+"}\" class=\"mceMenuButton\" />";
h+="</a></span>";
}
return h;
},_menuButtonEvent:function(e,o){
if(o.className=="mceMenuButtonFocus"){
return;
}
if(e=="over"){
o.className=o.className+" mceMenuHover";
}else{
o.className=o.className.replace(/\s.*$/,"");
}
},addButtonMap:function(m){
var i,a=m.replace(/\s+/,"").split(",");
for(i=0;i<a.length;i++){
this.buttonMap[a[i]]=i;
}
},formSubmit:function(f,p){
var n,inst,found=false;
if(f.form){
f=f.form;
}
if(tinyMCE.getParam("save_on_tinymce_forms")){
for(n in tinyMCE.instances){
inst=tinyMCE.instances[n];
if(!tinyMCE.isInstance(inst)){
continue;
}
if(inst.formElement){
if(f==inst.formElement.form){
found=true;
inst.isNotDirty=true;
}
}
}
}else{
found=true;
}
if(found){
tinyMCE.removeTinyMCEFormElements(f);
tinyMCE.triggerSave();
}
if(f.mceOldSubmit&&p){
f.mceOldSubmit();
}
},submitPatch:function(){
tinyMCE.formSubmit(this,true);
},onLoad:function(){
var r,i,c,mode,trigger,elements,element,settings,elementId,elm;
var _71,deselector,elementRefAr,form;
if(tinyMCE.settings.strict_loading_mode&&this.loadingIndex!=-1){
window.setTimeout("tinyMCE.onLoad();",1);
return;
}
if(tinyMCE.isRealIE&&window.event.type=="readystatechange"&&document.readyState!="complete"){
return true;
}
if(tinyMCE.isLoaded){
return true;
}
tinyMCE.isLoaded=true;
if(tinyMCE.isRealIE&&document.body&&window.location.href!=window.top.location.href){
r=document.body.createTextRange();
r.collapse(true);
r.select();
}
tinyMCE.dispatchCallback(null,"onpageload","onPageLoad");
for(c=0;c<tinyMCE.configs.length;c++){
tinyMCE.settings=tinyMCE.configs[c];
_71=tinyMCE.getParam("editor_selector");
deselector=tinyMCE.getParam("editor_deselector");
elementRefAr=[];
if(document.forms&&tinyMCE.settings.add_form_submit_trigger&&!tinyMCE.submitTriggers){
for(i=0;i<document.forms.length;i++){
form=document.forms[i];
tinyMCE.addEvent(form,"submit",TinyMCE_Engine.prototype.handleEvent);
tinyMCE.addEvent(form,"reset",TinyMCE_Engine.prototype.handleEvent);
tinyMCE.submitTriggers=true;
if(tinyMCE.settings.submit_patch){
try{
form.mceOldSubmit=form.submit;
form.submit=TinyMCE_Engine.prototype.submitPatch;
}
catch(e){
}
}
}
}
mode=tinyMCE.settings.mode;
switch(mode){
case "exact":
elements=tinyMCE.getParam("elements","",true,",");
for(i=0;i<elements.length;i++){
element=tinyMCE._getElementById(elements[i]);
trigger=element?element.getAttribute(tinyMCE.settings.textarea_trigger):"";
if(new RegExp("\\b"+deselector+"\\b").test(tinyMCE.getAttrib(element,"class"))){
continue;
}
if(trigger=="false"){
continue;
}
if((tinyMCE.settings.ask||tinyMCE.settings.convert_on_click)&&element){
elementRefAr[elementRefAr.length]=element;
continue;
}
if(element){
tinyMCE.addMCEControl(element,elements[i]);
}
}
break;
case "specific_textareas":
case "textareas":
elements=document.getElementsByTagName("textarea");
for(i=0;i<elements.length;i++){
elm=elements.item(i);
trigger=elm.getAttribute(tinyMCE.settings.textarea_trigger);
if(_71!==""&&!new RegExp("\\b"+_71+"\\b").test(tinyMCE.getAttrib(elm,"class"))){
continue;
}
if(_71!==""){
trigger=_71!==""?"true":"";
}
if(new RegExp("\\b"+deselector+"\\b").test(tinyMCE.getAttrib(elm,"class"))){
continue;
}
if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false")){
elementRefAr[elementRefAr.length]=elm;
}
}
break;
}
for(i=0;i<elementRefAr.length;i++){
element=elementRefAr[i];
elementId=element.name?element.name:element.id;
if(tinyMCE.settings.ask||tinyMCE.settings.convert_on_click){
if(tinyMCE.isGecko){
settings=tinyMCE.settings;
tinyMCE.addEvent(element,"focus",function(e){
window.setTimeout(function(){
TinyMCE_Engine.prototype.confirmAdd(e,settings);
},10);
});
if(element.nodeName!="TEXTAREA"&&element.nodeName!="INPUT"){
tinyMCE.addEvent(element,"click",function(e){
window.setTimeout(function(){
TinyMCE_Engine.prototype.confirmAdd(e,settings);
},10);
});
}
}else{
settings=tinyMCE.settings;
tinyMCE.addEvent(element,"focus",function(){
TinyMCE_Engine.prototype.confirmAdd(null,settings);
});
tinyMCE.addEvent(element,"click",function(){
TinyMCE_Engine.prototype.confirmAdd(null,settings);
});
}
}else{
tinyMCE.addMCEControl(element,elementId);
}
}
if(tinyMCE.settings.auto_focus){
window.setTimeout(function(){
var _74=tinyMCE.getInstanceById(tinyMCE.settings.auto_focus);
_74.selection.selectNode(_74.getBody(),true,true);
_74.contentWindow.focus();
},100);
}
tinyMCE.dispatchCallback(null,"oninit","onInit");
}
},isInstance:function(o){
return o!=null&&typeof (o)=="object"&&o.isTinyMCE_Control;
},getParam:function(_76,_77,_78,_79){
var i,outArray,value=(typeof (this.settings[_76])=="undefined")?_77:this.settings[_76];
if(value=="true"||value=="false"){
return (value=="true");
}
if(_78){
value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");
}
if(typeof (_79)!="undefined"&&_79!=null){
value=value.split(_79);
outArray=[];
for(i=0;i<value.length;i++){
if(value[i]&&value[i]!==""){
outArray[outArray.length]=value[i];
}
}
value=outArray;
}
return value;
},getLang:function(_7b,_7c,_7d,va){
var v=(typeof (tinyMCELang[_7b])=="undefined")?_7c:tinyMCELang[_7b],n;
if(_7d){
v=tinyMCE.entityDecode(v);
}
if(va){
for(n in va){
v=this.replaceVar(v,n,va[n]);
}
}
return v;
},entityDecode:function(s){
var e=document.createElement("div");
e.innerHTML=s;
return !e.firstChild?s:e.firstChild.nodeValue;
},addToLang:function(_82,ar){
var k;
for(k in ar){
if(typeof (ar[k])=="function"){
continue;
}
tinyMCELang[(k.indexOf("lang_")==-1?"lang_":"")+(_82!==""?(_82+"_"):"")+k]=ar[k];
}
this.loadNextScript();
},triggerNodeChange:function(_85,_86){
var elm,inst,editorId,undoIndex=-1,undoLevels=-1,doc,anySelection=false,st;
if(tinyMCE.selectedInstance){
inst=tinyMCE.selectedInstance;
elm=(typeof (_86)!="undefined"&&_86)?tinyMCE.selectedElement:inst.getFocusElement();
editorId=inst.editorId;
st=inst.selection.getSelectedText();
if(tinyMCE.settings.auto_resize){
inst.resizeToContent();
}
if(_86&&tinyMCE.isGecko&&inst.isHidden()){
elm=inst.getBody();
}
inst.switchSettings();
if(tinyMCE.selectedElement){
anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(st&&st.length>0);
}
if(tinyMCE.settings.custom_undo_redo){
undoIndex=inst.undoRedo.undoIndex;
undoLevels=inst.undoRedo.undoLevels.length;
}
tinyMCE.dispatchCallback(inst,"handle_node_change_callback","handleNodeChange",editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,_86);
}
if(this.selectedInstance&&(typeof (_85)=="undefined"||_85)){
this.selectedInstance.contentWindow.focus();
}
},_customCleanup:function(_88,_89,_8a){
var pl,po,i,customCleanup;
customCleanup=tinyMCE.settings.cleanup_callback;
if(customCleanup!=""){
_8a=tinyMCE.resolveDots(tinyMCE.settings.cleanup_callback,window)(_89,_8a,_88);
}
po=tinyMCE.themes[tinyMCE.settings.theme];
if(po&&po.cleanup){
_8a=po.cleanup(_89,_8a,_88);
}
pl=_88.plugins;
for(i=0;i<pl.length;i++){
po=tinyMCE.plugins[pl[i]];
if(po&&po.cleanup){
_8a=po.cleanup(_89,_8a,_88);
}
}
return _8a;
},setContent:function(h){
if(tinyMCE.selectedInstance){
tinyMCE.selectedInstance.execCommand("mceSetContent",false,h);
tinyMCE.selectedInstance.repaint();
}
},importThemeLanguagePack:function(_8d){
if(typeof (_8d)=="undefined"){
_8d=tinyMCE.settings.theme;
}
tinyMCE.loadScript(tinyMCE.baseURL+"/themes/"+_8d+"/langs/"+tinyMCE.settings.language+".js");
},importPluginLanguagePack:function(_8e){
var b=tinyMCE.baseURL+"/plugins/"+_8e;
if(this.plugins[_8e]){
b=this.plugins[_8e].baseURL;
}
tinyMCE.loadScript(b+"/langs/"+tinyMCE.settings.language+".js");
},applyTemplate:function(h,ag){
return h.replace(new RegExp("\\{\\$([a-z0-9_]+)\\}","gi"),function(m,s){
if(s.indexOf("lang_")==0&&tinyMCELang[s]){
return tinyMCELang[s];
}
if(ag&&ag[s]){
return ag[s];
}
if(tinyMCE.settings[s]){
return tinyMCE.settings[s];
}
if(m=="themeurl"){
return tinyMCE.themeURL;
}
return m;
});
},replaceVar:function(h,r,v){
return h.replace(new RegExp("{\\$"+r+"}","g"),v);
},openWindow:function(_97,_98){
var _99,width,height,x,y,resizable,scrollbars,url,name,win,modal,features;
_98=!_98?{}:_98;
_98.mce_template_file=_97.file;
_98.mce_width=_97.width;
_98.mce_height=_97.height;
tinyMCE.windowArgs=_98;
_99=_97.html;
if(!(width=parseInt(_97.width))){
width=320;
}
if(!(height=parseInt(_97.height))){
height=200;
}
if(tinyMCE.isIE){
height+=40;
}else{
height+=20;
}
x=parseInt(screen.width/2)-(width/2);
y=parseInt(screen.height/2)-(height/2);
resizable=(_98&&_98.resizable)?_98.resizable:"no";
scrollbars=(_98&&_98.scrollbars)?_98.scrollbars:"no";
if(_97.file.charAt(0)!="/"&&_97.file.indexOf("://")==-1){
url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+_97.file;
}else{
url=_97.file;
}
for(name in _98){
if(typeof (_98[name])=="function"){
continue;
}
url=tinyMCE.replaceVar(url,name,escape(_98[name]));
}
if(_99){
_99=tinyMCE.replaceVar(_99,"css",this.settings.popups_css);
_99=tinyMCE.applyTemplate(_99,_98);
win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);
if(win==null){
alert(tinyMCELang.lang_popup_blocked);
return;
}
win.document.write(_99);
win.document.close();
win.resizeTo(width,height);
win.focus();
}else{
if((tinyMCE.isRealIE)&&resizable!="yes"&&tinyMCE.settings.dialog_type=="modal"){
height+=10;
features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";
window.showModalDialog(url,window,features);
}else{
modal=(resizable=="yes")?"no":"yes";
if(tinyMCE.isGecko&&tinyMCE.isMac){
modal="no";
}
if(_97.close_previous!="no"){
try{
tinyMCE.lastWindow.close();
}
catch(ex){
}
}
win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);
if(win==null){
alert(tinyMCELang.lang_popup_blocked);
return;
}
if(_97.close_previous!="no"){
tinyMCE.lastWindow=win;
}
try{
win.resizeTo(width,height);
}
catch(e){
}
if(tinyMCE.isGecko){
if(win.document.defaultView.statusbar.visible){
win.resizeBy(0,tinyMCE.isMac?10:24);
}
}
win.focus();
}
}
},closeWindow:function(win){
win.close();
},getVisualAidClass:function(_9b,_9c){
var i,classNames,ar,className,aidClass=tinyMCE.settings.visual_table_class;
if(typeof (_9c)=="undefined"){
_9c=tinyMCE.settings.visual;
}
classNames=[];
ar=_9b.split(" ");
for(i=0;i<ar.length;i++){
if(ar[i]==aidClass){
ar[i]="";
}
if(ar[i]!==""){
classNames[classNames.length]=ar[i];
}
}
if(_9c){
classNames[classNames.length]=aidClass;
}
className="";
for(i=0;i<classNames.length;i++){
if(i>0){
className+=" ";
}
className+=classNames[i];
}
return className;
},handleVisualAid:function(el,_9f,_a0,_a1,_a2){
var i,x,y,tableElement,anchorName,oldW,oldH,bo,cn;
if(!el){
return;
}
if(!_a2){
tinyMCE.dispatchCallback(_a1,"handle_visual_aid_callback","handleVisualAid",el,_9f,_a0,_a1);
}
tableElement=null;
switch(el.nodeName){
case "TABLE":
oldW=el.style.width;
oldH=el.style.height;
bo=tinyMCE.getAttrib(el,"border");
bo=bo==""||bo=="0"?true:false;
tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),_a0&&bo));
el.style.width=oldW;
el.style.height=oldH;
for(y=0;y<el.rows.length;y++){
for(x=0;x<el.rows[y].cells.length;x++){
cn=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x],"class"),_a0&&bo);
tinyMCE.setAttrib(el.rows[y].cells[x],"class",cn);
}
}
break;
case "A":
anchorName=tinyMCE.getAttrib(el,"name");
if(anchorName!==""&&_a0){
el.title=anchorName;
tinyMCE.addCSSClass(el,"mceItemAnchor");
}else{
if(anchorName!==""&&!_a0){
el.className="";
}
}
break;
}
if(_9f&&el.hasChildNodes()){
for(i=0;i<el.childNodes.length;i++){
tinyMCE.handleVisualAid(el.childNodes[i],_9f,_a0,_a1,true);
}
}
},fixGeckoBaseHREFBug:function(m,e,h){
var _a7,xhref;
if(tinyMCE.isGecko){
if(m==1){
h=h.replace(/\ssrc=/gi," mce_tsrc=");
h=h.replace(/\shref=/gi," mce_thref=");
return h;
}else{
if(!new RegExp("(src|href)=","g").test(h)){
return h;
}
tinyMCE.selectElements(e,"A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK",function(n){
_a7=tinyMCE.getAttrib(n,"mce_tsrc");
xhref=tinyMCE.getAttrib(n,"mce_thref");
if(_a7!==""){
try{
n.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,_a7);
}
catch(e){
}
n.removeAttribute("mce_tsrc");
}
if(xhref!==""){
try{
n.href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,xhref);
}
catch(e){
}
n.removeAttribute("mce_thref");
}
return false;
});
tinyMCE.selectNodes(e,function(n){
if(n.nodeType==3||n.nodeType==8){
n.nodeValue=n.nodeValue.replace(/\smce_tsrc=/gi," src=");
n.nodeValue=n.nodeValue.replace(/\smce_thref=/gi," href=");
}
return false;
});
}
}
return h;
},_setHTML:function(doc,_ab){
var i,html,paras,node;
_ab=tinyMCE.cleanupHTMLCode(_ab);
try{
tinyMCE.setInnerHTML(doc.body,_ab);
}
catch(e){
if(this.isMSIE){
doc.body.createTextRange().pasteHTML(_ab);
}
}
if(tinyMCE.isIE&&tinyMCE.settings.fix_content_duplication){
paras=doc.getElementsByTagName("P");
for(i=0;i<paras.length;i++){
node=paras[i];
while((node=node.parentNode)!=null){
if(node.nodeName=="P"){
node.outerHTML=node.innerHTML;
}
}
}
html=doc.body.innerHTML;
tinyMCE.setInnerHTML(doc.body,html);
}
tinyMCE.cleanupAnchors(doc);
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertSpansToFonts(doc);
}
},getEditorId:function(_ad){
var _ae=this.getInstanceById(_ad);
if(!_ae){
return null;
}
return _ae.editorId;
},getInstanceById:function(_af){
var _b0=this.instances[_af],n;
if(!_b0){
for(n in tinyMCE.instances){
_b0=tinyMCE.instances[n];
if(!tinyMCE.isInstance(_b0)){
continue;
}
if(_b0.formTargetElementId==_af){
return _b0;
}
}
}else{
return _b0;
}
return null;
},queryInstanceCommandValue:function(_b1,_b2){
var _b3=tinyMCE.getInstanceById(_b1);
if(_b3){
return _b3.queryCommandValue(_b2);
}
return false;
},queryInstanceCommandState:function(_b4,_b5){
var _b6=tinyMCE.getInstanceById(_b4);
if(_b6){
return _b6.queryCommandState(_b5);
}
return null;
},setWindowArg:function(n,v){
this.windowArgs[n]=v;
},getWindowArg:function(n,d){
return (typeof (this.windowArgs[n])=="undefined")?d:this.windowArgs[n];
},getCSSClasses:function(_bb,doc){
var i,c,x,rule,styles,rules,csses,selectorText,inst=tinyMCE.getInstanceById(_bb);
var _be,addClass,p;
if(!inst){
inst=tinyMCE.selectedInstance;
}
if(!inst){
return [];
}
if(!doc){
doc=inst.getDoc();
}
if(inst&&inst.cssClasses.length>0){
return inst.cssClasses;
}
if(!doc){
return;
}
styles=doc.styleSheets;
if(styles&&styles.length>0){
for(x=0;x<styles.length;x++){
csses=null;
try{
csses=tinyMCE.isIE?doc.styleSheets(x).rules:styles[x].cssRules;
}
catch(e){
}
if(!csses){
return [];
}
for(i=0;i<csses.length;i++){
selectorText=csses[i].selectorText;
if(selectorText){
rules=selectorText.split(",");
for(c=0;c<rules.length;c++){
rule=rules[c];
while(rule.indexOf(" ")==0){
rule=rule.substring(1);
}
if(rule.indexOf(" ")!=-1||rule.indexOf(":")!=-1||rule.indexOf("mceItem")!=-1){
continue;
}
if(rule.indexOf(tinyMCE.settings.visual_table_class)!=-1||rule.indexOf("mceEditable")!=-1||rule.indexOf("mceNonEditable")!=-1){
continue;
}
if(rule.indexOf(".")!=-1){
_be=rule.substring(rule.indexOf(".")+1);
addClass=true;
for(p=0;p<inst.cssClasses.length&&addClass;p++){
if(inst.cssClasses[p]==_be){
addClass=false;
}
}
if(addClass){
inst.cssClasses[inst.cssClasses.length]=_be;
}
}
}
}
}
}
}
return inst.cssClasses;
},regexpReplace:function(_bf,_c0,_c1,_c2){
var re;
if(_bf==null){
return _bf;
}
if(typeof (_c2)=="undefined"){
_c2="g";
}
re=new RegExp(_c0,_c2);
return _bf.replace(re,_c1);
},trim:function(s){
return s.replace(/^\s*|\s*$/g,"");
},cleanupEventStr:function(s){
s=""+s;
s=s.replace("function anonymous()\n{\n","");
s=s.replace("\n}","");
s=s.replace(/^return true;/gi,"");
return s;
},getControlHTML:function(c){
var i,l,n,o,v,rtl=tinyMCE.getLang("lang_dir")=="rtl";
l=tinyMCE.plugins;
for(n in l){
o=l[n];
if(o.getControlHTML&&(v=o.getControlHTML(c))!==""){
if(rtl){
return "<span dir=\"rtl\">"+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+"</span>";
}
return tinyMCE.replaceVar(v,"pluginurl",o.baseURL);
}
}
o=tinyMCE.themes[tinyMCE.settings.theme];
if(o.getControlHTML&&(v=o.getControlHTML(c))!==""){
if(rtl){
return "<span dir=\"rtl\">"+v+"</span>";
}
return v;
}
return "";
},evalFunc:function(f,idx,a,o){
o=!o?window:o;
f=typeof (f)=="function"?f:o[f];
return f.apply(o,Array.prototype.slice.call(a,idx));
},dispatchCallback:function(i,p,n){
return this.callFunc(i,p,n,0,this.dispatchCallback.arguments);
},executeCallback:function(i,p,n){
return this.callFunc(i,p,n,1,this.executeCallback.arguments);
},execCommandCallback:function(i,p,n){
return this.callFunc(i,p,n,2,this.execCommandCallback.arguments);
},callFunc:function(ins,p,n,m,a){
var l,i,on,o,s,v;
s=m==2;
l=tinyMCE.getParam(p,"");
if(l!==""&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0){
return true;
}
if(ins!=null){
for(i=0,l=ins.plugins;i<l.length;i++){
o=tinyMCE.plugins[l[i]];
if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0){
return true;
}
}
}
l=tinyMCE.themes;
for(on in l){
o=l[on];
if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0){
return true;
}
}
return false;
},resolveDots:function(s,o){
var i;
if(typeof (s)=="string"){
for(i=0,s=s.split(".");i<s.length;i++){
o=o[s[i]];
}
}else{
o=s;
}
return o;
},xmlEncode:function(s){
return s?(""+s).replace(this.xmlEncodeRe,function(c,b){
switch(c){
case "&":
return "&amp;";
case "\"":
return "&quot;";
case "<":
return "&lt;";
case ">":
return "&gt;";
}
return c;
}):s;
},add:function(c,m){
var n;
for(n in m){
if(m.hasOwnProperty(n)){
c.prototype[n]=m[n];
}
}
},extend:function(p,np){
var o={},n;
o.parent=p;
for(n in p){
if(p.hasOwnProperty(n)){
o[n]=p[n];
}
}
for(n in np){
if(np.hasOwnProperty(n)){
o[n]=np[n];
}
}
return o;
},hideMenus:function(){
var e=tinyMCE.lastSelectedMenuBtn;
if(tinyMCE.lastMenu){
tinyMCE.lastMenu.hide();
tinyMCE.lastMenu=null;
}
if(e){
tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);
tinyMCE.lastSelectedMenuBtn=null;
}
}};
var TinyMCE=TinyMCE_Engine;
var tinyMCE=new TinyMCE_Engine();
var tinyMCELang={};
function TinyMCE_Control(_e8){
var t,i,tos,fu,p,x,fn,fu,pn,s=_e8;
this.undoRedoLevel=true;
this.isTinyMCE_Control=true;
this.enabled=true;
this.settings=s;
this.settings.theme=tinyMCE.getParam("theme","default");
this.settings.width=tinyMCE.getParam("width",-1);
this.settings.height=tinyMCE.getParam("height",-1);
this.selection=new TinyMCE_Selection(this);
this.undoRedo=new TinyMCE_UndoRedo(this);
this.cleanup=new TinyMCE_Cleanup();
this.shortcuts=[];
this.hasMouseMoved=false;
this.foreColor=this.backColor="#999999";
this.data={};
this.cssClasses=[];
this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});
t=this.settings.theme;
if(!tinyMCE.hasTheme(t)){
fn=tinyMCE.callbacks;
tos={};
for(i=0;i<fn.length;i++){
if((fu=window["TinyMCE_"+t+"_"+fn[i]])){
tos[fn[i]]=fu;
}
}
tinyMCE.addTheme(t,tos);
}
this.plugins=[];
p=tinyMCE.getParam("plugins","",true,",");
if(p.length>0){
for(i=0;i<p.length;i++){
pn=p[i];
if(pn.charAt(0)=="-"){
pn=pn.substring(1);
}
if(!tinyMCE.hasPlugin(pn)){
fn=tinyMCE.callbacks;
tos={};
for(x=0;x<fn.length;x++){
if((fu=window["TinyMCE_"+pn+"_"+fn[x]])){
tos[fn[x]]=fu;
}
}
tinyMCE.addPlugin(pn,tos);
}
this.plugins[this.plugins.length]=pn;
}
}
}
TinyMCE_Control.prototype={selection:null,settings:null,cleanup:null,getData:function(na){
var o=this.data[na];
if(!o){
o=this.data[na]={};
}
return o;
},hasPlugin:function(n){
var i;
for(i=0;i<this.plugins.length;i++){
if(this.plugins[i]==n){
return true;
}
}
return false;
},addPlugin:function(n,p){
if(!this.hasPlugin(n)){
tinyMCE.addPlugin(n,p);
this.plugins[this.plugins.length]=n;
}
},repaint:function(){
var s,b,ex;
if(tinyMCE.isRealIE){
return;
}
try{
s=this.selection;
b=s.getBookmark(true);
this.getBody().style.display="none";
this.getDoc().execCommand("selectall",false,null);
this.getSel().collapseToStart();
this.getBody().style.display="block";
s.moveToBookmark(b);
}
catch(ex){
}
},switchSettings:function(){
if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings.index){
tinyMCE.settings=this.settings;
tinyMCE.currentConfig=this.settings.index;
}
},select:function(){
var _f1=tinyMCE.selectedInstance;
if(_f1!=this){
if(_f1){
_f1.execCommand("mceEndTyping");
}
tinyMCE.dispatchCallback(this,"select_instance_callback","selectInstance",this,_f1);
tinyMCE.selectedInstance=this;
}
},getBody:function(){
return this.contentBody?this.contentBody:this.getDoc().body;
},getDoc:function(){
return this.contentWindow.document;
},getWin:function(){
return this.contentWindow;
},getContainerWin:function(){
return this.containerWindow?this.containerWindow:window;
},getViewPort:function(){
return tinyMCE.getViewPort(this.getWin());
},getParentNode:function(n,f){
return tinyMCE.getParentNode(n,f,this.getBody());
},getParentElement:function(n,na,f){
return tinyMCE.getParentElement(n,na,f,this.getBody());
},getParentBlockElement:function(n){
return tinyMCE.getParentBlockElement(n,this.getBody());
},resizeToContent:function(){
var d=this.getDoc(),b=d.body,de=d.documentElement;
this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+"px";
},addShortcut:function(m,k,d,cmd,ui,va){
var n=typeof (k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;
if(!tinyMCE.getParam("custom_shortcuts")){
return false;
}
m=m.toLowerCase();
k=ie&&!n?k.toUpperCase():k;
c=n?null:k.charCodeAt(0);
d=d&&d.indexOf("lang_")==0?tinyMCE.getLang(d):d;
sc={alt:m.indexOf("alt")!=-1,ctrl:m.indexOf("ctrl")!=-1,shift:m.indexOf("shift")!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};
for(i=0;i<scl.length;i++){
if(sc.alt==scl[i].alt&&sc.ctrl==scl[i].ctrl&&sc.shift==scl[i].shift&&sc.charCode==scl[i].charCode&&sc.keyCode==scl[i].keyCode){
return false;
}
}
scl[scl.length]=sc;
return true;
},handleShortcut:function(e){
var i,s,o;
if(!e.altKey&&!e.ctrlKey){
return false;
}
s=this.shortcuts;
for(i=0;i<s.length;i++){
o=s[i];
if(o.alt==e.altKey&&o.ctrl==e.ctrlKey&&(o.keyCode==e.keyCode||o.charCode==e.charCode)){
if(o.cmd&&(e.type=="keydown"||(e.type=="keypress"&&!tinyMCE.isOpera))){
tinyMCE.execCommand(o.cmd,o.ui,o.val);
}
tinyMCE.cancelEvent(e);
return true;
}
}
return false;
},autoResetDesignMode:function(){
if(!tinyMCE.isIE&&this.isHidden()&&tinyMCE.getParam("auto_reset_designmode")){
eval("try { this.getDoc().designMode = \"On\"; this.useCSS = false; } catch(e) {}");
}
},isHidden:function(){
var s;
if(tinyMCE.isIE){
return false;
}
s=this.getSel();
return (!s||!s.rangeCount||s.rangeCount==0);
},isDirty:function(){
return tinyMCE.trim(this.startContent)!=tinyMCE.trim(this.getBody().innerHTML)&&!this.isNotDirty;
},_mergeElements:function(scmd,pa,ch,_106){
var st,stc,className,n;
if(scmd=="removeformat"){
pa.className="";
pa.style.cssText="";
ch.className="";
ch.style.cssText="";
return;
}
st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));
stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));
className=tinyMCE.getAttrib(pa,"class");
className=tinyMCE.getAttrib(ch,"class");
if(_106){
for(n in st){
if(typeof (st[n])=="function"){
continue;
}
stc[n]=st[n];
}
}else{
for(n in stc){
if(typeof (stc[n])=="function"){
continue;
}
st[n]=stc[n];
}
}
tinyMCE.setAttrib(pa,"style",tinyMCE.serializeStyle(st));
tinyMCE.setAttrib(pa,"class",tinyMCE.trim(className));
ch.className="";
ch.style.cssText="";
ch.removeAttribute("class");
ch.removeAttribute("style");
},_fixRootBlocks:function(){
var rb,b,ne,be,nx,bm;
rb=tinyMCE.getParam("forced_root_block");
if(!rb){
return;
}
b=this.getBody();
ne=b.firstChild;
while(ne){
nx=ne.nextSibling;
if((ne.nodeType==3&&ne.nodeValue.replace(/\s+/g,"")!="")||(ne.nodeType==1&&!tinyMCE.blockRegExp.test(ne.nodeName))){
if(!bm){
bm=this.selection.getBookmark();
}
if(!be){
be=this.getDoc().createElement(rb);
be.appendChild(ne.cloneNode(true));
b.replaceChild(be,ne);
}else{
be.appendChild(ne.cloneNode(true));
b.removeChild(ne);
}
}else{
be=null;
}
ne=nx;
}
if(bm){
this.selection.moveToBookmark(bm);
}
},_fixTrailingNbsp:function(){
var s=this.selection,e=s.getFocusElement(),bm,v;
if(e&&tinyMCE.blockRegExp.test(e.nodeName)&&e.firstChild){
v=e.firstChild.nodeValue;
if(v&&v.length>1&&/(^\u00a0|\u00a0$)/.test(v)){
e.firstChild.nodeValue=v.replace(/(^\u00a0|\u00a0$)/,"");
s.selectNode(e.firstChild,true,false,false);
}
}
},_setUseCSS:function(b){
var d=this.getDoc();
try{
d.execCommand("useCSS",false,!b);
}
catch(ex){
}
try{
d.execCommand("styleWithCSS",false,b);
}
catch(ex){
}
if(!tinyMCE.getParam("table_inline_editing")){
try{
d.execCommand("enableInlineTableEditing",false,"false");
}
catch(ex){
}
}
if(!tinyMCE.getParam("object_resizing")){
try{
d.execCommand("enableObjectResizing",false,"false");
}
catch(ex){
}
}
},execCommand:function(_10c,_10d,_10e){
var i,x,z,align,img,div,doc=this.getDoc(),win=this.getWin(),focusElm=this.getFocusElement();
if(!new RegExp("mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel","gi").test(_10c)){
this.undoBookmark=null;
}
if(!tinyMCE.isIE&&!this.useCSS){
this._setUseCSS(false);
this.useCSS=true;
}
this.contentDocument=doc;
if(!/mceStartTyping|mceEndTyping/.test(_10c)){
if(tinyMCE.execCommandCallback(this,"execcommand_callback","execCommand",this.editorId,this.getBody(),_10c,_10d,_10e)){
return;
}
}
if(focusElm&&focusElm.nodeName=="IMG"){
align=focusElm.getAttribute("align");
img=_10c=="JustifyCenter"?focusElm.cloneNode(false):focusElm;
switch(_10c){
case "JustifyLeft":
if(align=="left"){
img.setAttribute("align","");
img.removeAttribute("align");
}else{
img.setAttribute("align","left");
}
div=focusElm.parentNode;
if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode){
div.parentNode.replaceChild(img,div);
}
this.selection.selectNode(img);
this.repaint();
tinyMCE.triggerNodeChange();
return;
case "JustifyCenter":
img.setAttribute("align","");
img.removeAttribute("align");
div=tinyMCE.getParentElement(focusElm,"div");
if(div&&div.style.textAlign=="center"){
if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode){
div.parentNode.replaceChild(img,div);
}
}else{
div=this.getDoc().createElement("div");
div.style.textAlign="center";
div.appendChild(img);
focusElm.parentNode.replaceChild(div,focusElm);
}
this.selection.selectNode(img);
this.repaint();
tinyMCE.triggerNodeChange();
return;
case "JustifyRight":
if(align=="right"){
img.setAttribute("align","");
img.removeAttribute("align");
}else{
img.setAttribute("align","right");
}
div=focusElm.parentNode;
if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode){
div.parentNode.replaceChild(img,div);
}
this.selection.selectNode(img);
this.repaint();
tinyMCE.triggerNodeChange();
return;
}
}
if(tinyMCE.settings.force_br_newlines){
var _110="";
if(doc.selection.type!="Control"){
switch(_10c){
case "JustifyLeft":
_110="left";
break;
case "JustifyCenter":
_110="center";
break;
case "JustifyFull":
_110="justify";
break;
case "JustifyRight":
_110="right";
break;
}
if(_110!==""){
var rng=doc.selection.createRange();
if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null){
divElm.setAttribute("align",_110);
}else{
if(rng.pasteHTML&&rng.htmlText.length>0){
rng.pasteHTML("<div align=\""+_110+"\">"+rng.htmlText+"</div>");
}
}
tinyMCE.triggerNodeChange();
return;
}
}
}
switch(_10c){
case "mceRepaint":
this.repaint();
return true;
case "JustifyLeft":
case "JustifyCenter":
case "JustifyFull":
case "JustifyRight":
var el=tinyMCE.getParentNode(focusElm,function(n){
return tinyMCE.getAttrib(n,"align");
});
if(el){
el.setAttribute("align","");
el.removeAttribute("align");
}else{
this.getDoc().execCommand(_10c,_10d,_10e);
}
tinyMCE.triggerNodeChange();
return true;
case "unlink":
if(tinyMCE.isGecko&&this.getSel().isCollapsed){
focusElm=tinyMCE.getParentElement(focusElm,"A");
if(focusElm){
this.selection.selectNode(focusElm,false);
}
}
this.getDoc().execCommand(_10c,_10d,_10e);
tinyMCE.isGecko&&this.getSel().collapseToEnd();
tinyMCE.triggerNodeChange();
return true;
case "InsertUnorderedList":
case "InsertOrderedList":
this.getDoc().execCommand(_10c,_10d,_10e);
tinyMCE.triggerNodeChange();
break;
case "Strikethrough":
this.getDoc().execCommand(_10c,_10d,_10e);
tinyMCE.triggerNodeChange();
break;
case "mceSelectNode":
this.selection.selectNode(_10e);
tinyMCE.triggerNodeChange();
tinyMCE.selectedNode=_10e;
break;
case "FormatBlock":
if(_10e==null||_10e==""){
var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");
if(elm){
this.execCommand("mceRemoveNode",false,elm);
}
}else{
if(!this.cleanup.isValid(_10e)){
return true;
}
if(tinyMCE.isGecko&&new RegExp("<(div|blockquote|code|dt|dd|dl|samp)>","gi").test(_10e)){
_10e=_10e.replace(/[^a-z]/gi,"");
}
if(tinyMCE.isIE&&new RegExp("blockquote|code|samp","gi").test(_10e)){
var b=this.selection.getBookmark();
this.getDoc().execCommand("FormatBlock",false,"<p>");
tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),_10e);
this.selection.moveToBookmark(b);
}else{
this.getDoc().execCommand("FormatBlock",false,_10e);
}
}
tinyMCE.triggerNodeChange();
break;
case "mceRemoveNode":
if(!_10e){
_10e=tinyMCE.getParentElement(this.getFocusElement());
}
if(tinyMCE.isIE){
_10e.outerHTML=_10e.innerHTML;
}else{
var rng=_10e.ownerDocument.createRange();
rng.setStartBefore(_10e);
rng.setEndAfter(_10e);
rng.deleteContents();
rng.insertNode(rng.createContextualFragment(_10e.innerHTML));
}
tinyMCE.triggerNodeChange();
break;
case "mceSelectNodeDepth":
var _116=this.getFocusElement();
for(i=0;_116;i++){
if(_116.nodeName.toLowerCase()=="body"){
break;
}
if(_116.nodeName.toLowerCase()=="#text"){
i--;
_116=_116.parentNode;
continue;
}
if(i==_10e){
this.selection.selectNode(_116,false);
tinyMCE.triggerNodeChange();
tinyMCE.selectedNode=_116;
return;
}
_116=_116.parentNode;
}
break;
case "mceSetStyleInfo":
case "SetStyleInfo":
var rng=this.getRng();
var sel=this.getSel();
var scmd=_10e.command;
var _119=_10e.name;
var _11a=_10e.value==null?"":_10e.value;
var _11b=_10e.wrapper?_10e.wrapper:"span";
var _11c=null;
var _11d=new RegExp("^BODY|HTML$","g");
var _11e=tinyMCE.settings.merge_styles_invalid_parents!==""?new RegExp(tinyMCE.settings.merge_styles_invalid_parents,"gi"):null;
if(tinyMCE.isIE){
if(rng.item){
_11c=rng.item(0);
}else{
var pelm=rng.parentElement();
var prng=doc.selection.createRange();
prng.moveToElementText(pelm);
if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){
if(_11e==null||!_11e.test(pelm.nodeName)){
_11c=pelm;
}
}
}
}else{
var felm=this.getFocusElement();
if(sel.isCollapsed||(new RegExp("td|tr|tbody|table|img","gi").test(felm.nodeName)&&sel.anchorNode==felm.parentNode)){
_11c=felm;
}
}
if(_11c&&!_11d.test(_11c.nodeName)){
if(scmd=="setstyle"){
tinyMCE.setStyleAttrib(_11c,_119,_11a);
}
if(scmd=="setattrib"){
tinyMCE.setAttrib(_11c,_119,_11a);
}
if(scmd=="removeformat"){
_11c.style.cssText="";
tinyMCE.setAttrib(_11c,"class","");
}
var ch=tinyMCE.getNodeTree(_11c,[],1);
for(z=0;z<ch.length;z++){
if(ch[z]==_11c){
continue;
}
if(scmd=="setstyle"){
tinyMCE.setStyleAttrib(ch[z],_119,"");
}
if(scmd=="setattrib"){
tinyMCE.setAttrib(ch[z],_119,"");
}
if(scmd=="removeformat"){
ch[z].style.cssText="";
tinyMCE.setAttrib(ch[z],"class","");
}
}
}else{
this._setUseCSS(false);
doc.execCommand("FontName",false,"#mce_temp_font#");
var _123=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");
for(x=0;x<_123.length;x++){
elm=_123[x];
if(elm){
var _124=doc.createElement(_11b);
if(scmd=="setstyle"){
tinyMCE.setStyleAttrib(_124,_119,_11a);
}
if(scmd=="setattrib"){
tinyMCE.setAttrib(_124,_119,_11a);
}
if(scmd=="removeformat"){
_124.style.cssText="";
tinyMCE.setAttrib(_124,"class","");
}
if(elm.hasChildNodes()){
for(i=0;i<elm.childNodes.length;i++){
_124.appendChild(elm.childNodes[i].cloneNode(true));
}
}
_124.setAttribute("mce_new","true");
elm.parentNode.replaceChild(_124,elm);
var ch=tinyMCE.getNodeTree(_124,[],1);
for(z=0;z<ch.length;z++){
if(ch[z]==_124){
continue;
}
if(scmd=="setstyle"){
tinyMCE.setStyleAttrib(ch[z],_119,"");
}
if(scmd=="setattrib"){
tinyMCE.setAttrib(ch[z],_119,"");
}
if(scmd=="removeformat"){
ch[z].style.cssText="";
tinyMCE.setAttrib(ch[z],"class","");
}
}
}
}
}
var _125=doc.getElementsByTagName(_11b);
for(i=_125.length-1;i>=0;i--){
var elm=_125[i];
var _126=tinyMCE.getAttrib(elm,"mce_new")=="true";
elm.removeAttribute("mce_new");
if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){
this._mergeElements(scmd,elm,elm.childNodes[0],_126);
continue;
}
if(elm.parentNode.childNodes.length==1&&!_11d.test(elm.nodeName)&&!_11d.test(elm.parentNode.nodeName)){
if(_11e==null||!_11e.test(elm.parentNode.nodeName)){
this._mergeElements(scmd,elm.parentNode,elm,false);
}
}
}
var _125=doc.getElementsByTagName(_11b);
for(i=_125.length-1;i>=0;i--){
var elm=_125[i],isEmpty=true;
var tmp=doc.createElement("body");
tmp.appendChild(elm.cloneNode(false));
tmp.innerHTML=tmp.innerHTML.replace(new RegExp("style=\"\"|class=\"\"","gi"),"");
if(new RegExp("<span>","gi").test(tmp.innerHTML)){
for(x=0;x<elm.childNodes.length;x++){
if(elm.parentNode!=null){
elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true),elm);
}
}
elm.parentNode.removeChild(elm);
}
}
if(scmd=="removeformat"){
tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);
}
tinyMCE.triggerNodeChange();
break;
case "FontName":
if(_10e==null){
var s=this.getSel();
if(tinyMCE.isGecko&&s.isCollapsed){
var f=tinyMCE.getParentElement(this.getFocusElement(),"font");
if(f!=null){
this.selection.selectNode(f,false);
}
}
this.getDoc().execCommand("RemoveFormat",false,null);
if(f!=null&&tinyMCE.isGecko){
var r=this.getRng().cloneRange();
r.collapse(true);
s.removeAllRanges();
s.addRange(r);
}
}else{
this.getDoc().execCommand("FontName",false,_10e);
}
if(tinyMCE.isGecko){
window.setTimeout("tinyMCE.triggerNodeChange(false);",1);
}
return;
case "FontSize":
this.getDoc().execCommand("FontSize",false,_10e);
if(tinyMCE.isGecko){
window.setTimeout("tinyMCE.triggerNodeChange(false);",1);
}
return;
case "forecolor":
_10e=_10e==null?this.foreColor:_10e;
_10e=tinyMCE.trim(_10e);
_10e=_10e.charAt(0)!="#"?(isNaN("0x"+_10e)?_10e:"#"+_10e):_10e;
this.foreColor=_10e;
this.getDoc().execCommand("forecolor",false,_10e);
break;
case "HiliteColor":
_10e=_10e==null?this.backColor:_10e;
_10e=tinyMCE.trim(_10e);
_10e=_10e.charAt(0)!="#"?(isNaN("0x"+_10e)?_10e:"#"+_10e):_10e;
this.backColor=_10e;
if(tinyMCE.isGecko||tinyMCE.isOpera){
this._setUseCSS(true);
this.getDoc().execCommand("hilitecolor",false,_10e);
this._setUseCSS(false);
}else{
this.getDoc().execCommand("BackColor",false,_10e);
}
break;
case "Cut":
case "Copy":
case "Paste":
var _12b=false;
eval("try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}");
if(tinyMCE.isOpera&&_12b){
alert("Currently not supported by your browser, use keyboard shortcuts instead.");
}
if(tinyMCE.isGecko&&_12b){
if(confirm(tinyMCE.entityDecode(tinyMCE.getLang("lang_clipboard_msg")))){
window.open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","mceExternal");
}
return;
}else{
tinyMCE.triggerNodeChange();
}
break;
case "mceSetContent":
if(!_10e){
_10e="";
}
_10e=tinyMCE.storeAwayURLs(_10e);
_10e=tinyMCE._customCleanup(this,"insert_to_editor",_10e);
if(this.getBody().nodeName=="BODY"){
tinyMCE._setHTML(doc,_10e);
}else{
this.getBody().innerHTML=_10e;
}
tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,doc,this.settings,this.getBody(),false,false,false,true));
tinyMCE.convertAllRelativeURLs(this.getBody());
tinyMCE._removeInternal(this.getBody());
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertSpansToFonts(doc);
}
tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);
tinyMCE._setEventsEnabled(this.getBody(),false);
this._addBogusBR();
return true;
case "mceCleanup":
var b=this.selection.getBookmark();
tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);
tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid));
tinyMCE.convertAllRelativeURLs(doc.body);
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertSpansToFonts(doc);
}
tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);
tinyMCE._setEventsEnabled(this.getBody(),false);
this._addBogusBR();
this.repaint();
this.selection.moveToBookmark(b);
tinyMCE.triggerNodeChange();
break;
case "mceReplaceContent":
if(!_10e){
_10e="";
}
this.getWin().focus();
var _12c="";
if(tinyMCE.isIE){
var rng=doc.selection.createRange();
_12c=rng.text;
}else{
_12c=this.getSel().toString();
}
if(_12c.length>0){
_10e=tinyMCE.replaceVar(_10e,"selection",_12c);
tinyMCE.execCommand("mceInsertContent",false,_10e);
}
this._addBogusBR();
tinyMCE.triggerNodeChange();
break;
case "mceSetAttribute":
if(typeof (_10e)=="object"){
var _12d=(typeof (_10e.targets)=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":_10e.targets;
var _12e=tinyMCE.getParentElement(this.getFocusElement(),_12d);
if(_12e){
_12e.setAttribute(_10e.name,_10e.value);
tinyMCE.triggerNodeChange();
}
}
break;
case "mceSetCSSClass":
this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:_10e});
break;
case "mceInsertRawHTML":
var key="tiny_mce_marker";
this.execCommand("mceBeginUndoLevel");
this.execCommand("mceInsertContent",false,key);
var _130=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;
var _131=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;
var html=this.getBody().innerHTML;
if((pos=html.indexOf(key))!=-1){
tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+_10e+html.substring(pos+key.length));
}
this.contentWindow.scrollTo(_130,_131);
this.execCommand("mceEndUndoLevel");
break;
case "mceInsertContent":
if(!_10e){
_10e="";
}
var _133=false;
if(tinyMCE.isGecko||tinyMCE.isOpera){
try{
if(_10e.indexOf("<")==-1&&!_10e.match(/(&#38;|&#160;|&#60;|&#62;)/g)){
var r=this.getRng();
var n=this.getDoc().createTextNode(tinyMCE.entityDecode(_10e));
var s=this.getSel();
var r2=r.cloneRange();
s.removeAllRanges();
r.deleteContents();
r.insertNode(n);
r2.selectNode(n);
r2.collapse(false);
s.removeAllRanges();
s.addRange(r2);
}else{
_10e=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),_10e);
this.getDoc().execCommand("inserthtml",false,_10e);
tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),_10e);
}
}
catch(ex){
_133=true;
}
if(!_133){
tinyMCE.triggerNodeChange();
return;
}
}
if(!tinyMCE.isIE){
var _136=_10e.indexOf("<")!=-1;
var sel=this.getSel();
var rng=this.getRng();
if(_136){
if(tinyMCE.isSafari){
var _137=this.getDoc().createRange();
_137.setStart(this.getBody(),0);
_137.setEnd(this.getBody(),0);
_10e=_137.createContextualFragment(_10e);
}else{
_10e=rng.createContextualFragment(_10e);
}
}else{
_10e=doc.createTextNode(tinyMCE.entityDecode(_10e));
}
if(tinyMCE.isSafari&&!_136){
this.execCommand("InsertText",false,_10e.nodeValue);
tinyMCE.triggerNodeChange();
return true;
}else{
if(tinyMCE.isSafari&&_136){
rng.deleteContents();
rng.insertNode(_10e);
tinyMCE.triggerNodeChange();
return true;
}
}
rng.deleteContents();
if(rng.startContainer.nodeType==3){
var node=rng.startContainer.splitText(rng.startOffset);
node.parentNode.insertBefore(_10e,node);
}else{
rng.insertNode(_10e);
}
if(!_136){
sel.selectAllChildren(doc.body);
sel.removeAllRanges();
var rng=doc.createRange();
rng.selectNode(_10e);
rng.collapse(false);
sel.addRange(rng);
}else{
rng.collapse(false);
}
tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),_10e);
}else{
var rng=doc.selection.createRange(),_137=null;
var c=_10e.indexOf("<!--")!=-1;
if(c){
_10e=tinyMCE.uniqueTag+_10e;
}
if(rng.item){
rng.item(0).outerHTML=_10e;
}else{
rng.pasteHTML(_10e);
}
if(c){
var e=this.getDoc().getElementById("mceTMPElement");
e.parentNode.removeChild(e);
}
}
tinyMCE.execCommand("mceAddUndoLevel");
tinyMCE.triggerNodeChange();
break;
case "mceStartTyping":
if(tinyMCE.settings.custom_undo_redo&&this.undoRedo.typingUndoIndex==-1){
this.undoRedo.typingUndoIndex=this.undoRedo.undoIndex;
tinyMCE.typingUndoIndex=tinyMCE.undoIndex;
this.execCommand("mceAddUndoLevel");
}
break;
case "mceEndTyping":
if(tinyMCE.settings.custom_undo_redo&&this.undoRedo.typingUndoIndex!=-1){
this.execCommand("mceAddUndoLevel");
this.undoRedo.typingUndoIndex=-1;
}
tinyMCE.typingUndoIndex=-1;
break;
case "mceBeginUndoLevel":
this.undoRedoLevel=false;
break;
case "mceEndUndoLevel":
this.undoRedoLevel=true;
this.execCommand("mceAddUndoLevel");
break;
case "mceAddUndoLevel":
if(tinyMCE.settings.custom_undo_redo&&this.undoRedoLevel){
if(this.undoRedo.add()){
tinyMCE.triggerNodeChange(false);
}
}
break;
case "Undo":
if(tinyMCE.settings.custom_undo_redo){
tinyMCE.execCommand("mceEndTyping");
this.undoRedo.undo();
tinyMCE.triggerNodeChange();
}else{
this.getDoc().execCommand(_10c,_10d,_10e);
}
break;
case "Redo":
if(tinyMCE.settings.custom_undo_redo){
tinyMCE.execCommand("mceEndTyping");
this.undoRedo.redo();
tinyMCE.triggerNodeChange();
}else{
this.getDoc().execCommand(_10c,_10d,_10e);
}
break;
case "mceToggleVisualAid":
this.visualAid=!this.visualAid;
tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);
tinyMCE.triggerNodeChange();
break;
case "Indent":
this.getDoc().execCommand(_10c,_10d,_10e);
tinyMCE.triggerNodeChange();
if(tinyMCE.isIE){
var n=tinyMCE.getParentElement(this.getFocusElement(),"blockquote");
do{
if(n&&n.nodeName=="BLOCKQUOTE"){
n.removeAttribute("dir");
n.removeAttribute("style");
}
}while(n!=null&&(n=n.parentNode)!=null);
}
break;
case "RemoveFormat":
case "removeformat":
var text=this.selection.getSelectedText();
if(tinyMCE.isOpera){
this.getDoc().execCommand("RemoveFormat",false,null);
return;
}
if(tinyMCE.isIE){
try{
var rng=doc.selection.createRange();
rng.execCommand("RemoveFormat",false,null);
}
catch(e){
}
this.execCommand("mceSetStyleInfo",false,{command:"removeformat"});
}else{
this.getDoc().execCommand(_10c,_10d,_10e);
this.execCommand("mceSetStyleInfo",false,{command:"removeformat"});
}
if(text.length==0){
this.execCommand("mceSetCSSClass",false,"");
}
tinyMCE.triggerNodeChange();
break;
default:
this.getDoc().execCommand(_10c,_10d,_10e);
if(tinyMCE.isGecko){
window.setTimeout("tinyMCE.triggerNodeChange(false);",1);
}else{
tinyMCE.triggerNodeChange();
}
}
if(_10c!="mceAddUndoLevel"&&_10c!="Undo"&&_10c!="Redo"&&_10c!="mceStartTyping"&&_10c!="mceEndTyping"){
tinyMCE.execCommand("mceAddUndoLevel");
}
},queryCommandValue:function(c){
try{
return this.getDoc().queryCommandValue(c);
}
catch(e){
return null;
}
},queryCommandState:function(c){
return this.getDoc().queryCommandState(c);
},_addBogusBR:function(){
var b=this.getBody();
if(tinyMCE.isGecko&&!b.hasChildNodes()){
b.innerHTML="<br _moz_editor_bogus_node=\"TRUE\" />";
}
},_onAdd:function(_13f,_140,_141){
var hc,th,tos,editorTemplate,targetDoc,deltaWidth,deltaHeight,html,rng,fragment;
var _143,tElm,doc,parentElm;
th=this.settings.theme;
tos=tinyMCE.themes[th];
targetDoc=_141?_141:document;
this.targetDoc=targetDoc;
tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings.theme;
this.settings.themeurl=tinyMCE.themeURL;
if(!_13f){
alert("Error: Could not find the target element.");
return false;
}
if(tos.getEditorTemplate){
editorTemplate=tos.getEditorTemplate(this.settings,this.editorId);
}
deltaWidth=editorTemplate.delta_width?editorTemplate.delta_width:0;
deltaHeight=editorTemplate.delta_height?editorTemplate.delta_height:0;
html="<span id=\""+this.editorId+"_parent\" class=\"mceEditorContainer\">"+editorTemplate.html;
html=tinyMCE.replaceVar(html,"editor_id",this.editorId);
if(!this.settings.default_document){
this.settings.default_document=tinyMCE.baseURL+"/blank.htm";
}
this.settings.old_width=this.settings.width;
this.settings.old_height=this.settings.height;
if(this.settings.width==-1){
this.settings.width=_13f.offsetWidth;
}
if(this.settings.height==-1){
this.settings.height=_13f.offsetHeight;
}
if(this.settings.width==0){
this.settings.width=_13f.style.width;
}
if(this.settings.height==0){
this.settings.height=_13f.style.height;
}
if(this.settings.width==0){
this.settings.width=320;
}
if(this.settings.height==0){
this.settings.height=240;
}
this.settings.area_width=parseInt(this.settings.width);
this.settings.area_height=parseInt(this.settings.height);
this.settings.area_width+=deltaWidth;
this.settings.area_height+=deltaHeight;
this.settings.width_style=""+this.settings.width;
this.settings.height_style=""+this.settings.height;
if((""+this.settings.width).indexOf("%")!=-1){
this.settings.area_width="100%";
}else{
this.settings.width_style+="px";
}
if((""+this.settings.height).indexOf("%")!=-1){
this.settings.area_height="100%";
}else{
this.settings.height_style+="px";
}
if((""+_13f.style.width).indexOf("%")!=-1){
this.settings.width=_13f.style.width;
this.settings.area_width="100%";
this.settings.width_style="100%";
}
if((""+_13f.style.height).indexOf("%")!=-1){
this.settings.height=_13f.style.height;
this.settings.area_height="100%";
this.settings.height_style="100%";
}
html=tinyMCE.applyTemplate(html);
this.settings.width=this.settings.old_width;
this.settings.height=this.settings.old_height;
this.visualAid=this.settings.visual;
this.formTargetElementId=_140;
if(_13f.nodeName=="TEXTAREA"||_13f.nodeName=="INPUT"){
this.startContent=_13f.value;
}else{
this.startContent=_13f.innerHTML;
}
if(_13f.nodeName!="TEXTAREA"&&_13f.nodeName!="INPUT"){
this.oldTargetElement=_13f;
hc="<input type=\"hidden\" id=\""+_140+"\" name=\""+_140+"\" />";
this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,"display","inline");
this.oldTargetElement.style.display="none";
html+="</span>";
if(tinyMCE.isGecko){
html=hc+html;
}else{
html+=hc;
}
if(tinyMCE.isGecko){
rng=_13f.ownerDocument.createRange();
rng.setStartBefore(_13f);
fragment=rng.createContextualFragment(html);
tinyMCE.insertAfter(fragment,_13f);
}else{
_13f.insertAdjacentHTML("beforeBegin",html);
}
}else{
html+="</span>";
this.oldTargetElement=_13f;
this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,"display","inline");
this.oldTargetElement.style.display="none";
if(tinyMCE.isGecko){
rng=_13f.ownerDocument.createRange();
rng.setStartBefore(_13f);
fragment=rng.createContextualFragment(html);
tinyMCE.insertAfter(fragment,_13f);
}else{
_13f.insertAdjacentHTML("beforeBegin",html);
}
}
_143=false;
tElm=targetDoc.getElementById(this.editorId);
if(!tinyMCE.isIE){
if(tElm&&(tElm.nodeName=="SPAN"||tElm.nodeName=="span")){
tElm=tinyMCE._createIFrame(tElm,targetDoc);
_143=true;
}
this.targetElement=tElm;
this.iframeElement=tElm;
this.contentDocument=tElm.contentDocument;
this.contentWindow=tElm.contentWindow;
}else{
if(tElm&&tElm.nodeName=="SPAN"){
tElm=tinyMCE._createIFrame(tElm,targetDoc,targetDoc.parentWindow);
}else{
tElm=targetDoc.frames[this.editorId];
}
this.targetElement=tElm;
this.iframeElement=targetDoc.getElementById(this.editorId);
if(tinyMCE.isOpera){
this.contentDocument=this.iframeElement.contentDocument;
this.contentWindow=this.iframeElement.contentWindow;
_143=true;
}else{
this.contentDocument=tElm.window.document;
this.contentWindow=tElm.window;
}
this.getDoc().designMode="on";
}
doc=this.contentDocument;
if(_143){
html=tinyMCE.getParam("doctype")+"<html><head xmlns=\"http://www.w3.org/1999/xhtml\"><base href=\""+tinyMCE.settings.base_href+"\" /><title>blank_page</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head><body class=\"mceContentBody\"></body></html>";
try{
if(!this.isHidden()){
this.getDoc().designMode="on";
}
doc.open();
doc.write(html);
doc.close();
}
catch(e){
this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm";
}
}
if(tinyMCE.isIE){
window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\""+this.editorId+"\"]);",1);
}
parentElm=this.targetDoc.getElementById(this.editorId+"_parent");
this.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;
tinyMCE.setupContent(this.editorId,true);
return true;
},setBaseHREF:function(u){
var h,b,d,nl;
d=this.getDoc();
nl=d.getElementsByTagName("base");
b=nl.length>0?nl[0]:null;
if(!b){
nl=d.getElementsByTagName("head");
h=nl.length>0?nl[0]:null;
b=d.createElement("base");
b.setAttribute("href",u);
h.appendChild(b);
}else{
if(u==""||u==null){
b.parentNode.removeChild(b);
}else{
b.setAttribute("href",u);
}
}
},getHTML:function(r){
var h,d=this.getDoc(),b=this.getBody();
if(r){
return b.innerHTML;
}
h=tinyMCE._cleanupHTML(this,d,this.settings,b,false,true,false,true);
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertSpansToFonts(d);
}
return h;
},setHTML:function(h){
this.execCommand("mceSetContent",false,h);
this.repaint();
},getFocusElement:function(){
return this.selection.getFocusElement();
},getSel:function(){
return this.selection.getSel();
},getRng:function(){
return this.selection.getRng();
},triggerSave:function(_149,_14a){
var e,nl=[],i,s,content,htm;
if(!this.enabled){
return;
}
this.switchSettings();
s=tinyMCE.settings;
if(tinyMCE.isRealIE){
e=this.iframeElement;
do{
if(e.style&&e.style.display=="none"){
e.style.display="block";
nl[nl.length]={elm:e,type:"style"};
}
if(e.style&&s.hidden_tab_class.length>0&&e.className.indexOf(s.hidden_tab_class)!=-1){
e.className=s.display_tab_class;
nl[nl.length]={elm:e,type:"class"};
}
}while((e=e.parentNode)!=null);
}
tinyMCE.settings.preformatted=false;
if(typeof (_149)=="undefined"){
_149=false;
}
if(typeof (_14a)=="undefined"){
_14a=false;
}
tinyMCE._setHTML(this.getDoc(),this.getBody().innerHTML);
if(this.settings.cleanup==false){
tinyMCE.handleVisualAid(this.getBody(),true,false,this);
tinyMCE._setEventsEnabled(this.getBody(),true);
}
tinyMCE._customCleanup(this,"submit_content_dom",this.contentWindow.document.body);
htm=_149?this.getBody().innerHTML:tinyMCE._cleanupHTML(this,this.getDoc(),this.settings,this.getBody(),tinyMCE.visualAid,true,true);
htm=tinyMCE._customCleanup(this,"submit_content",htm);
if(!_14a&&tinyMCE.settings.save_callback!==""){
content=tinyMCE.resolveDots(tinyMCE.settings.save_callback,window)(this.formTargetElementId,htm,this.getBody());
}
if((typeof (content)!="undefined")&&content!=null){
htm=content;
}
htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");
htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");
htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");
htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");
htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");
if(this.formElement){
this.formElement.value=htm;
}
if(tinyMCE.isSafari&&this.formElement){
this.formElement.innerText=htm;
}
for(i=0;i<nl.length;i++){
if(nl[i].type=="style"){
nl[i].elm.style.display="none";
}else{
nl[i].elm.className=s.hidden_tab_class;
}
}
}};
tinyMCE.add(TinyMCE_Engine,{cleanupHTMLCode:function(s){
s=s.replace(new RegExp("<p \\/>","gi"),"<p>&nbsp;</p>");
s=s.replace(new RegExp("<p>\\s*<\\/p>","gi"),"<p>&nbsp;</p>");
s=s.replace(new RegExp("<br>\\s*<\\/br>","gi"),"<br />");
s=s.replace(new RegExp("<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>","gi"),"<$1$2$3></$1$2>");
s=s.replace(new RegExp("\\s+></","gi"),"></");
s=s.replace(new RegExp("<(img|br|hr)([^>]*)><\\/(img|br|hr)>","gi"),"<$1$2 />");
if(tinyMCE.isIE){
s=s.replace(new RegExp("<p><hr \\/><\\/p>","gi"),"<hr>");
}
if(tinyMCE.isIE){
s=s.replace(/<!(\s*)\/>/g,"");
}
return s;
},parseStyle:function(str){
var ar=[],st,i,re,pa;
if(str==null){
return ar;
}
st=str.split(";");
tinyMCE.clearArray(ar);
for(i=0;i<st.length;i++){
if(st[i]==""){
continue;
}
re=new RegExp("^\\s*([^:]*):\\s*(.*)\\s*$");
pa=st[i].replace(re,"$1||$2").split("||");
if(pa.length==2){
ar[pa[0].toLowerCase()]=pa[1];
}
}
return ar;
},compressStyle:function(ar,pr,sf,res){
var box=[],i,a;
box[0]=ar[pr+"-top"+sf];
box[1]=ar[pr+"-left"+sf];
box[2]=ar[pr+"-right"+sf];
box[3]=ar[pr+"-bottom"+sf];
for(i=0;i<box.length;i++){
if(box[i]==null){
return;
}
if(i&&box[i]!=box[i-1]){
return;
}
}
ar[res]=box[0];
ar[pr+"-top"+sf]=null;
ar[pr+"-left"+sf]=null;
ar[pr+"-right"+sf]=null;
ar[pr+"-bottom"+sf]=null;
},serializeStyle:function(ar){
var str="",key,val,m;
tinyMCE.compressStyle(ar,"border","","border");
tinyMCE.compressStyle(ar,"border","-width","border-width");
tinyMCE.compressStyle(ar,"border","-color","border-color");
tinyMCE.compressStyle(ar,"border","-style","border-style");
tinyMCE.compressStyle(ar,"padding","","padding");
tinyMCE.compressStyle(ar,"margin","","margin");
for(key in ar){
val=ar[key];
if(typeof (val)=="function"){
continue;
}
if(key.indexOf("mso-")==0){
continue;
}
if(val!=null&&val!==""){
val=""+val;
val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)","gi"),"url('$1')");
if(val.indexOf("url(")!=-1&&tinyMCE.getParam("convert_urls")){
m=new RegExp("url\\('(.*?)'\\)").exec(val);
if(m.length>1){
val="url('"+eval(tinyMCE.getParam("urlconverter_callback")+"(m[1], null, true);")+"')";
}
}
if(tinyMCE.getParam("force_hex_style_colors")){
val=tinyMCE.convertRGBToHex(val,true);
}
val=val.replace(/\"/g,"'");
if(val!="url('')"){
str+=key.toLowerCase()+": "+val+"; ";
}
}
}
if(new RegExp("; $").test(str)){
str=str.substring(0,str.length-2);
}
return str;
},convertRGBToHex:function(s,k){
var re,rgb;
if(s.toLowerCase().indexOf("rgb")!=-1){
re=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");
rgb=s.replace(re,"$1,$2,$3,$4,$5").split(",");
if(rgb.length==5){
r=parseInt(rgb[1]).toString(16);
g=parseInt(rgb[2]).toString(16);
b=parseInt(rgb[3]).toString(16);
r=r.length==1?"0"+r:r;
g=g.length==1?"0"+g:g;
b=b.length==1?"0"+b:b;
s="#"+r+g+b;
if(k){
s=rgb[0]+s+rgb[4];
}
}
}
return s;
},convertHexToRGB:function(s){
if(s.indexOf("#")!=-1){
s=s.replace(new RegExp("[^0-9A-F]","gi"),"");
return "rgb("+parseInt(s.substring(0,2),16)+","+parseInt(s.substring(2,4),16)+","+parseInt(s.substring(4,6),16)+")";
}
return s;
},convertSpansToFonts:function(doc){
var s,i,size,fSize,x,fFace,fColor,sizes=tinyMCE.getParam("font_size_style_values").replace(/\s+/,"").split(",");
s=tinyMCE.selectElements(doc,"span,font");
for(i=0;i<s.length;i++){
size=tinyMCE.trim(s[i].style.fontSize).toLowerCase();
fSize=0;
for(x=0;x<sizes.length;x++){
if(sizes[x]==size){
fSize=x+1;
break;
}
}
if(fSize>0){
tinyMCE.setAttrib(s[i],"size",fSize);
s[i].style.fontSize="";
}
fFace=s[i].style.fontFamily;
if(fFace!=null&&fFace!==""){
tinyMCE.setAttrib(s[i],"face",fFace);
s[i].style.fontFamily="";
}
fColor=s[i].style.color;
if(fColor!=null&&fColor!==""){
tinyMCE.setAttrib(s[i],"color",tinyMCE.convertRGBToHex(fColor));
s[i].style.color="";
}
}
},convertFontsToSpans:function(doc){
var _15d,s,i,fSize,fFace,fColor,sizes=tinyMCE.getParam("font_size_style_values").replace(/\s+/,"").split(",");
_15d=tinyMCE.getParam("font_size_classes");
if(_15d!==""){
_15d=_15d.replace(/\s+/,"").split(",");
}else{
_15d=null;
}
s=tinyMCE.selectElements(doc,"span,font");
for(i=0;i<s.length;i++){
fSize=tinyMCE.getAttrib(s[i],"size");
fFace=tinyMCE.getAttrib(s[i],"face");
fColor=tinyMCE.getAttrib(s[i],"color");
if(fSize!==""){
fSize=parseInt(fSize);
if(fSize>0&&fSize<8){
if(_15d!=null){
tinyMCE.setAttrib(s[i],"class",_15d[fSize-1]);
}else{
s[i].style.fontSize=sizes[fSize-1];
}
}
s[i].removeAttribute("size");
}
if(fFace!==""){
s[i].style.fontFamily=fFace;
s[i].removeAttribute("face");
}
if(fColor!==""){
s[i].style.color=fColor;
s[i].removeAttribute("color");
}
}
},cleanupAnchors:function(doc){
var i,cn,x,an=doc.getElementsByTagName("a");
for(i=an.length-1;i>=0;i--){
if(tinyMCE.getAttrib(an[i],"name")!==""&&tinyMCE.getAttrib(an[i],"href")==""){
cn=an[i].childNodes;
for(x=cn.length-1;x>=0;x--){
tinyMCE.insertAfter(cn[x],an[i]);
}
}
}
},getContent:function(_160){
if(typeof (_160)!="undefined"){
tinyMCE.getInstanceById(_160).select();
}
if(tinyMCE.selectedInstance){
return tinyMCE.selectedInstance.getHTML();
}
return null;
},_fixListElements:function(d){
var nl,x,a=["ol","ul"],i,n,p,r=new RegExp("^(OL|UL)$"),np;
for(x=0;x<a.length;x++){
nl=d.getElementsByTagName(a[x]);
for(i=0;i<nl.length;i++){
n=nl[i];
p=n.parentNode;
if(r.test(p.nodeName)){
np=tinyMCE.prevNode(n,"LI");
if(!np){
np=d.createElement("li");
np.innerHTML="&nbsp;";
np.appendChild(n);
p.insertBefore(np,p.firstChild);
}else{
np.appendChild(n);
}
}
}
}
},_fixTables:function(d){
var nl,i,n,p,np,x,t;
nl=d.getElementsByTagName("table");
for(i=0;i<nl.length;i++){
n=nl[i];
if((p=tinyMCE.getParentElement(n,"p,h1,h2,h3,h4,h5,h6"))!=null){
np=p.cloneNode(false);
np.removeAttribute("id");
t=n;
while((n=n.nextSibling)){
np.appendChild(n);
}
tinyMCE.insertAfter(np,p);
tinyMCE.insertAfter(t,p);
}
}
},_cleanupHTML:function(inst,doc,_167,elm,_169,_16a,_16b,inn){
var h,d,t1,t2,t3,t4,t5,c,s,nb;
if(!tinyMCE.getParam("cleanup")){
return elm.innerHTML;
}
_16a=typeof (_16a)=="undefined"?false:_16a;
c=inst.cleanup;
s=inst.settings;
d=c.settings.debug;
if(d){
t1=new Date().getTime();
}
inst._fixRootBlocks();
if(tinyMCE.getParam("convert_fonts_to_spans")){
tinyMCE.convertFontsToSpans(doc);
}
if(tinyMCE.getParam("fix_list_elements")){
tinyMCE._fixListElements(doc);
}
if(tinyMCE.getParam("fix_table_elements")){
tinyMCE._fixTables(doc);
}
tinyMCE._customCleanup(inst,_16a?"get_from_editor_dom":"insert_to_editor_dom",doc.body);
if(d){
t2=new Date().getTime();
}
c.settings.on_save=_16a;
c.idCount=0;
c.serializationId++;
c.serializedNodes=[];
c.sourceIndex=-1;
if(s.cleanup_serializer=="xml"){
h=c.serializeNodeAsXML(elm,inn);
}else{
h=c.serializeNodeAsHTML(elm,inn);
}
if(d){
t3=new Date().getTime();
}
nb=tinyMCE.getParam("entity_encoding")=="numeric"?"&#160;":"&nbsp;";
h=h.replace(/<\/?(body|head|html)[^>]*>/gi,"");
h=h.replace(new RegExp(" (rowspan=\"1\"|colspan=\"1\")","g"),"");
h=h.replace(/<p><hr \/><\/p>/g,"<hr />");
h=h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g,"<hr />");
h=h.replace(/<td>\s*<br \/>\s*<\/td>/g,"<td>"+nb+"</td>");
h=h.replace(/<p>\s*<br \/>\s*<\/p>/g,"<p>"+nb+"</p>");
h=h.replace(/<br \/>$/,"");
h=h.replace(/<br \/><\/p>/g,"</p>");
h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g,"<p>"+nb+"</p>");
h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g,"<p>"+nb+"</p>");
h=h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g,"<p>"+nb+"</p>");
h=h.replace(new RegExp("<a>(.*?)<\\/a>","g"),"$1");
h=h.replace(/<p([^>]*)>\s*<\/p>/g,"<p$1>"+nb+"</p>");
if(/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h)){
h="";
}
if(s.preformatted){
h=h.replace(/^<pre>/,"");
h=h.replace(/<\/pre>$/,"");
h="<pre>"+h+"</pre>";
}
if(tinyMCE.isGecko){
h=h.replace(/<br \/>\s*<\/li>/g,"</li>");
h=h.replace(/&nbsp;\s*<\/(dd|dt)>/g,"</$1>");
h=h.replace(/<o:p _moz-userdefined="" \/>/g,"");
h=h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g,"<td$1>"+nb+"</td>");
}
if(s.force_br_newlines){
h=h.replace(/<p>(&nbsp;|&#160;)<\/p>/g,"<br />");
}
h=tinyMCE._customCleanup(inst,_16a?"get_from_editor":"insert_to_editor",h);
if(_16a){
h=h.replace(new RegExp(" ?(mceItem[a-zA-Z0-9]*|"+s.visual_table_class+")","g"),"");
h=h.replace(new RegExp(" ?class=\"\"","g"),"");
}
if(s.remove_linebreaks&&!c.settings.indent){
h=h.replace(/\n|\r/g," ");
}
if(d){
t4=new Date().getTime();
}
if(_16a&&c.settings.indent){
h=c.formatHTML(h);
}
if(_16b&&(s.encoding=="xml"||s.encoding=="html")){
h=c.xmlEncode(h);
}
if(d){
t5=new Date().getTime();
}
if(c.settings.debug){
tinyMCE.debug("Cleanup in ms: Pre="+(t2-t1)+", Serialize: "+(t3-t2)+", Post: "+(t4-t3)+", Format: "+(t5-t4)+", Sum: "+(t5-t1)+".");
}
return h;
}});
function TinyMCE_Cleanup(){
this.isIE=(navigator.appName=="Microsoft Internet Explorer");
this.rules=tinyMCE.clearArray([]);
this.settings={indent_elements:"head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object",newline_before_elements:"h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td",newline_after_elements:"br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script",newline_before_after_elements:"html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div",indent_char:"\t",indent_levels:1,entity_encoding:"raw",valid_elements:"*[*]",entities:"",url_converter:"",invalid_elements:"",verify_html:false};
this.vElements=tinyMCE.clearArray([]);
this.vElementsRe="";
this.closeElementsRe=/^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;
this.codeElementsRe=/^(SCRIPT|STYLE)$/;
this.serializationId=0;
this.mceAttribs={href:"mce_href",src:"mce_src",type:"mce_type"};
}
TinyMCE_Cleanup.prototype={init:function(s){
var n,a,i,ir,or,st;
for(n in s){
this.settings[n]=s[n];
}
s=this.settings;
this.inRe=this._arrayToRe(s.indent_elements.split(","),"","^<(",")[^>]*");
this.ouRe=this._arrayToRe(s.indent_elements.split(","),"","^<\\/(",")[^>]*");
this.nlBeforeRe=this._arrayToRe(s.newline_before_elements.split(","),"gi","<(",")([^>]*)>");
this.nlAfterRe=this._arrayToRe(s.newline_after_elements.split(","),"gi","<(",")([^>]*)>");
this.nlBeforeAfterRe=this._arrayToRe(s.newline_before_after_elements.split(","),"gi","<(\\/?)(",")([^>]*)>");
this.serializedNodes=[];
this.serializationId=0;
if(s.invalid_elements!==""){
this.iveRe=this._arrayToRe(s.invalid_elements.toUpperCase().split(","),"g","^(",")$");
}else{
this.iveRe=null;
}
st="";
for(i=0;i<s.indent_levels;i++){
st+=s.indent_char;
}
this.inStr=st;
if(!s.verify_html){
s.valid_elements="*[*]";
s.extended_valid_elements="";
}
this.fillStr=s.entity_encoding=="named"?"&nbsp;":"&#160;";
this.idCount=0;
this.xmlEncodeRe=new RegExp("[\x7f-\uffff<>&\"]","g");
},addRuleStr:function(s){
var r=this.parseRuleStr(s),n;
for(n in r){
if(r[n]){
this.rules[n]=r[n];
}
}
this.vElements=tinyMCE.clearArray([]);
for(n in this.rules){
if(this.rules[n]){
this.vElements[this.vElements.length]=this.rules[n].tag;
}
}
this.vElementsRe=this._arrayToRe(this.vElements,"");
},isValid:function(n){
if(!this.rulesDone){
this._setupRules();
}
if(!n){
return true;
}
n=n.replace(/[^a-z0-9]+/gi,"").toUpperCase();
return !tinyMCE.getParam("cleanup")||this.vElementsRe.test(n);
},addChildRemoveRuleStr:function(s){
var x,y,p,i,t,tn,ta,cl,r;
if(!s){
return;
}
ta=s.split(",");
for(x=0;x<ta.length;x++){
s=ta[x];
p=this.split(/\[|\]/,s);
if(p==null||p.length<1){
t=s.toUpperCase();
}else{
t=p[0].toUpperCase();
}
tn=this.split("/",t);
for(y=0;y<tn.length;y++){
r="^(";
cl=this.split(/\|/,p[1]);
for(i=0;i<cl.length;i++){
if(cl[i]=="%istrict"){
r+=tinyMCE.inlineStrict;
}else{
if(cl[i]=="%itrans"){
r+=tinyMCE.inlineTransitional;
}else{
if(cl[i]=="%istrict_na"){
r+=tinyMCE.inlineStrict.substring(2);
}else{
if(cl[i]=="%itrans_na"){
r+=tinyMCE.inlineTransitional.substring(2);
}else{
if(cl[i]=="%btrans"){
r+=tinyMCE.blockElms;
}else{
if(cl[i]=="%strict"){
r+=tinyMCE.blockStrict;
}else{
r+=(cl[i].charAt(0)!="#"?cl[i].toUpperCase():cl[i]);
}
}
}
}
}
}
r+=(i!=cl.length-1?"|":"");
}
r+=")$";
if(this.childRules==null){
this.childRules=tinyMCE.clearArray([]);
}
this.childRules[tn[y]]=new RegExp(r);
if(p.length>1){
this.childRules[tn[y]].wrapTag=p[2];
}
}
}
},parseRuleStr:function(s){
var ta,p,r,a,i,x,px,t,tn,y,av,or=tinyMCE.clearArray([]),dv;
if(s==null||s.length==0){
return or;
}
ta=s.split(",");
for(x=0;x<ta.length;x++){
s=ta[x];
if(s.length==0){
continue;
}
p=this.split(/\[|\]/,s);
if(p==null||p.length<1){
t=s.toUpperCase();
}else{
t=p[0].toUpperCase();
}
tn=this.split("/",t);
for(y=0;y<tn.length;y++){
r={};
r.tag=tn[y];
r.forceAttribs=null;
r.defaultAttribs=null;
r.validAttribValues=null;
px=r.tag.charAt(0);
r.forceOpen=px=="+";
r.removeEmpty=px=="-";
r.fill=px=="#";
r.tag=r.tag.replace(/\+|-|#/g,"");
r.oTagName=tn[0].replace(/\+|-|#/g,"").toLowerCase();
r.isWild=new RegExp("\\*|\\?|\\+","g").test(r.tag);
r.validRe=new RegExp(this._wildcardToRe("^"+r.tag+"$"));
if(p.length>1){
r.vAttribsRe="^(";
a=this.split(/\|/,p[1]);
for(i=0;i<a.length;i++){
t=a[i];
if(t.charAt(0)=="!"){
a[i]=t=t.substring(1);
if(!r.reqAttribsRe){
r.reqAttribsRe="\\s+("+t;
}else{
r.reqAttribsRe+="|"+t;
}
}
av=new RegExp("(=|:|<)(.*?)$").exec(t);
t=t.replace(new RegExp("(=|:|<).*?$"),"");
if(av&&av.length>0){
if(av[0].charAt(0)==":"){
if(!r.forceAttribs){
r.forceAttribs=tinyMCE.clearArray([]);
}
r.forceAttribs[t.toLowerCase()]=av[0].substring(1);
}else{
if(av[0].charAt(0)=="="){
if(!r.defaultAttribs){
r.defaultAttribs=tinyMCE.clearArray([]);
}
dv=av[0].substring(1);
r.defaultAttribs[t.toLowerCase()]=dv==""?"mce_empty":dv;
}else{
if(av[0].charAt(0)=="<"){
if(!r.validAttribValues){
r.validAttribValues=tinyMCE.clearArray([]);
}
r.validAttribValues[t.toLowerCase()]=this._arrayToRe(this.split("?",av[0].substring(1)),"i");
}
}
}
}
r.vAttribsRe+=""+t.toLowerCase()+(i!=a.length-1?"|":"");
a[i]=t.toLowerCase();
}
if(r.reqAttribsRe){
r.reqAttribsRe=new RegExp(r.reqAttribsRe+")=\"","g");
}
r.vAttribsRe+=")$";
r.vAttribsRe=this._wildcardToRe(r.vAttribsRe);
r.vAttribsReIsWild=new RegExp("\\*|\\?|\\+","g").test(r.vAttribsRe);
r.vAttribsRe=new RegExp(r.vAttribsRe);
r.vAttribs=a.reverse();
}else{
r.vAttribsRe="";
r.vAttribs=tinyMCE.clearArray([]);
r.vAttribsReIsWild=false;
}
or[r.tag]=r;
}
}
return or;
},serializeNodeAsXML:function(n){
var s,b;
if(!this.xmlDoc){
if(this.isIE){
try{
this.xmlDoc=new ActiveXObject("MSXML2.DOMDocument");
}
catch(e){
}
if(!this.xmlDoc){
try{
this.xmlDoc=new ActiveXObject("Microsoft.XmlDom");
}
catch(e){
}
}
}else{
this.xmlDoc=document.implementation.createDocument("","",null);
}
if(!this.xmlDoc){
alert("Error XML Parser could not be found.");
}
}
if(this.xmlDoc.firstChild){
this.xmlDoc.removeChild(this.xmlDoc.firstChild);
}
b=this.xmlDoc.createElement("html");
b=this.xmlDoc.appendChild(b);
this._convertToXML(n,b);
if(this.isIE){
return this.xmlDoc.xml;
}else{
return new XMLSerializer().serializeToString(this.xmlDoc);
}
},_convertToXML:function(n,xn){
var xd,el,i,l,cn,at,no,hc=false;
if(tinyMCE.isRealIE&&this._isDuplicate(n)){
return;
}
xd=this.xmlDoc;
switch(n.nodeType){
case 1:
hc=n.hasChildNodes();
el=xd.createElement(n.nodeName.toLowerCase());
at=n.attributes;
for(i=at.length-1;i>-1;i--){
no=at[i];
if(no.specified&&no.nodeValue){
el.setAttribute(no.nodeName.toLowerCase(),no.nodeValue);
}
}
if(!hc&&!this.closeElementsRe.test(n.nodeName)){
el.appendChild(xd.createTextNode(""));
}
xn=xn.appendChild(el);
break;
case 3:
xn.appendChild(xd.createTextNode(n.nodeValue));
return;
case 8:
xn.appendChild(xd.createComment(n.nodeValue));
return;
}
if(hc){
cn=n.childNodes;
for(i=0,l=cn.length;i<l;i++){
this._convertToXML(cn[i],xn);
}
}
},serializeNodeAsHTML:function(n,inn){
var en,no,h="",i,l,t,st,r,cn,va=false,f=false,at,hc,cr,nn;
if(!this.rulesDone){
this._setupRules();
}
if(tinyMCE.isRealIE&&this._isDuplicate(n)){
return "";
}
if(n.parentNode&&this.childRules!=null){
cr=this.childRules[n.parentNode.nodeName];
if(typeof (cr)!="undefined"&&!cr.test(n.nodeName)){
st=true;
t=null;
}
}
switch(n.nodeType){
case 1:
hc=n.hasChildNodes();
if(st){
break;
}
nn=n.nodeName;
if(tinyMCE.isRealIE){
if(n.nodeName.indexOf("/")!=-1){
break;
}
if(n.scopeName&&n.scopeName!="HTML"){
nn=n.scopeName.toUpperCase()+":"+nn.toUpperCase();
}
}else{
if(tinyMCE.isOpera&&nn.indexOf(":")>0){
nn=nn.toUpperCase();
}
}
if(this.settings.convert_fonts_to_spans){
if(this.settings.on_save&&nn=="FONT"){
nn="SPAN";
}
if(!this.settings.on_save&&nn=="SPAN"){
nn="FONT";
}
}
if(this.vElementsRe.test(nn)&&(!this.iveRe||!this.iveRe.test(nn))&&!inn){
va=true;
r=this.rules[nn];
if(!r){
at=this.rules;
for(no in at){
if(at[no]&&at[no].validRe.test(nn)){
r=at[no];
break;
}
}
}
en=r.isWild?nn.toLowerCase():r.oTagName;
f=r.fill;
if(r.removeEmpty&&!hc){
return "";
}
t="<"+en;
if(r.vAttribsReIsWild){
at=n.attributes;
for(i=at.length-1;i>-1;i--){
no=at[i];
if(no.specified&&r.vAttribsRe.test(no.nodeName)){
t+=this._serializeAttribute(n,r,no.nodeName);
}
}
}else{
for(i=r.vAttribs.length-1;i>-1;i--){
t+=this._serializeAttribute(n,r,r.vAttribs[i]);
}
}
if(!this.settings.on_save){
at=this.mceAttribs;
for(no in at){
if(at[no]){
t+=this._serializeAttribute(n,r,at[no]);
}
}
}
if(r.reqAttribsRe&&!t.match(r.reqAttribsRe)){
t=null;
}
if(t!=null&&this.closeElementsRe.test(nn)){
return t+" />";
}
if(t!=null){
h+=t+">";
}
if(this.isIE&&this.codeElementsRe.test(nn)){
h+=n.innerHTML;
}
}
break;
case 3:
if(st){
break;
}
if(n.parentNode&&this.codeElementsRe.test(n.parentNode.nodeName)){
return this.isIE?"":n.nodeValue;
}
return this.xmlEncode(n.nodeValue);
case 8:
if(st){
break;
}
return "<!--"+this._trimComment(n.nodeValue)+"-->";
}
if(hc){
cn=n.childNodes;
for(i=0,l=cn.length;i<l;i++){
h+=this.serializeNodeAsHTML(cn[i]);
}
}
if(f&&!hc){
h+=this.fillStr;
}
if(t!=null&&va){
h+="</"+en+">";
}
return h;
},_serializeAttribute:function(n,r,an){
var av="",t,os=this.settings.on_save;
if(os&&(an.indexOf("mce_")==0||an.indexOf("_moz")==0)){
return "";
}
if(os&&this.mceAttribs[an]){
av=this._getAttrib(n,this.mceAttribs[an]);
}
if(av.length==0){
av=this._getAttrib(n,an);
}
if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){
av=t;
if(av=="mce_empty"){
return " "+an+"=\"\"";
}
}
if(r.forceAttribs&&(t=r.forceAttribs[an])){
av=t;
}
if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an)){
av=this._urlConverter(this,n,av);
}
if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av)){
return "";
}
if(av.length!=0&&av=="{$uid}"){
av="uid_"+(this.idCount++);
}
if(av.length!=0){
if(an.indexOf("on")!=0){
av=this.xmlEncode(av,1);
}
return " "+an+"="+"\""+av+"\"";
}
return "";
},formatHTML:function(h){
var s=this.settings,p="",i=0,li=0,o="",l;
h=h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi,function(a,b,c){
c=c.replace(/<br\s*\/>/gi,"\n");
return "<pre"+b+">"+c+"</pre>";
});
h=h.replace(/\r/g,"");
h="\n"+h;
h=h.replace(new RegExp("\\n\\s+","gi"),"\n");
h=h.replace(this.nlBeforeRe,"\n<$1$2>");
h=h.replace(this.nlAfterRe,"<$1$2>\n");
h=h.replace(this.nlBeforeAfterRe,"\n<$1$2$3>\n");
h+="\n";
while((i=h.indexOf("\n",i+1))!=-1){
if((l=h.substring(li+1,i)).length!=0){
if(this.ouRe.test(l)&&p.length>=s.indent_levels){
p=p.substring(s.indent_levels);
}
o+=p+l+"\n";
if(this.inRe.test(l)){
p+=this.inStr;
}
}
li=i;
}
return o;
},xmlEncode:function(s){
var cl=this,re=this.xmlEncodeRe;
if(!this.entitiesDone){
this._setupEntities();
}
switch(this.settings.entity_encoding){
case "raw":
return tinyMCE.xmlEncode(s);
case "named":
return s.replace(re,function(c){
var b=cl.entities[c.charCodeAt(0)];
return b?"&"+b+";":c;
});
case "numeric":
return s.replace(re,function(c){
return "&#"+c.charCodeAt(0)+";";
});
}
return s;
},split:function(re,s){
var i,l,o=[],c=s.split(re);
for(i=0,l=c.length;i<l;i++){
if(c[i]!==""){
o[i]=c[i];
}
}
return o;
},_trimComment:function(s){
s=s.replace(new RegExp("\\smce_src=\"[^\"]*\"","gi"),"");
s=s.replace(new RegExp("\\smce_href=\"[^\"]*\"","gi"),"");
return s;
},_getAttrib:function(e,n,d){
var v,ex,nn;
if(typeof (d)=="undefined"){
d="";
}
if(!e||e.nodeType!=1){
return d;
}
try{
v=e.getAttribute(n,0);
}
catch(ex){
v=e.getAttribute(n,2);
}
if(n=="class"&&!v){
v=e.className;
}
if(this.isIE){
if(n=="http-equiv"){
v=e.httpEquiv;
}
nn=e.nodeName;
if(nn=="FORM"&&n=="enctype"&&v=="application/x-www-form-urlencoded"){
v="";
}
if(nn=="INPUT"&&n=="size"&&v=="20"){
v="";
}
if(nn=="INPUT"&&n=="maxlength"&&v=="2147483647"){
v="";
}
if(n=="width"||n=="height"){
v=e.getAttribute(n,2);
}
}
if(n=="style"&&v){
if(!tinyMCE.isOpera){
v=e.style.cssText;
}
v=tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
}
if(this.settings.on_save&&n.indexOf("on")!=-1&&this.settings.on_save&&v&&v!==""){
v=tinyMCE.cleanupEventStr(v);
}
return (v&&v!=="")?""+v:d;
},_urlConverter:function(c,n,v){
if(!c.settings.on_save){
return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,v);
}else{
if(tinyMCE.getParam("convert_urls")){
if(!this.urlConverter){
this.urlConverter=eval(tinyMCE.settings.urlconverter_callback);
}
return this.urlConverter(v,n,true);
}
}
return v;
},_arrayToRe:function(a,op,be,af){
var i,r;
op=typeof (op)=="undefined"?"gi":op;
be=typeof (be)=="undefined"?"^(":be;
af=typeof (af)=="undefined"?")$":af;
r=be;
for(i=0;i<a.length;i++){
r+=this._wildcardToRe(a[i])+(i!=a.length-1?"|":"");
}
r+=af;
return new RegExp(r,op);
},_wildcardToRe:function(s){
s=s.replace(/\?/g,"(\\S?)");
s=s.replace(/\+/g,"(\\S+)");
s=s.replace(/\*/g,"(\\S*)");
return s;
},_setupEntities:function(){
var n,a,i,s=this.settings;
if(s.entity_encoding=="named"){
n=tinyMCE.clearArray([]);
a=this.split(",",s.entities);
for(i=0;i<a.length;i+=2){
n[a[i]]=a[i+1];
}
this.entities=n;
}
this.entitiesDone=true;
},_setupRules:function(){
var s=this.settings;
this.addRuleStr(s.valid_elements);
this.addRuleStr(s.extended_valid_elements);
this.addChildRemoveRuleStr(s.valid_child_elements);
this.rulesDone=true;
},_isDuplicate:function(n){
var i,l,sn;
if(!this.settings.fix_content_duplication){
return false;
}
if(tinyMCE.isRealIE&&n.nodeType==1){
if(n.mce_serialized==this.serializationId){
return true;
}
n.setAttribute("mce_serialized",this.serializationId);
}else{
sn=this.serializedNodes;
for(i=0,l=sn.length;i<l;i++){
if(sn[i]==n){
return true;
}
}
sn.push(n);
}
return false;
}};
tinyMCE.add(TinyMCE_Engine,{createTagHTML:function(tn,a,h){
var o="",f=tinyMCE.xmlEncode,n;
o="<"+tn;
if(a){
for(n in a){
if(typeof (a[n])!="function"&&a[n]!=null){
o+=" "+f(n)+"=\""+f(""+a[n])+"\"";
}
}
}
o+=!h?" />":">"+h+"</"+tn+">";
return o;
},createTag:function(d,tn,a,h){
var o=d.createElement(tn),n;
if(a){
for(n in a){
if(typeof (a[n])!="function"&&a[n]!=null){
tinyMCE.setAttrib(o,n,a[n]);
}
}
}
if(h){
o.innerHTML=h;
}
return o;
},getElementByAttributeValue:function(n,e,a,v){
return (n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0];
},getElementsByAttributeValue:function(n,e,a,v){
var i,nl=n.getElementsByTagName(e),o=[];
for(i=0;i<nl.length;i++){
if(tinyMCE.getAttrib(nl[i],a).indexOf(v)!=-1){
o[o.length]=nl[i];
}
}
return o;
},isBlockElement:function(n){
return n!=null&&n.nodeType==1&&this.blockRegExp.test(n.nodeName);
},getParentBlockElement:function(n,r){
return this.getParentNode(n,function(n){
return tinyMCE.isBlockElement(n);
},r);
return null;
},insertAfter:function(n,r){
if(r.nextSibling){
r.parentNode.insertBefore(n,r.nextSibling);
}else{
r.parentNode.appendChild(n);
}
},setInnerHTML:function(e,h){
var i,nl,n;
if(tinyMCE.isGecko){
h=h.replace(/<embed([^>]*)>/gi,"<tmpembed$1>");
h=h.replace(/<em([^>]*)>/gi,"<i$1>");
h=h.replace(/<tmpembed([^>]*)>/gi,"<embed$1>");
h=h.replace(/<strong([^>]*)>/gi,"<b$1>");
h=h.replace(/<\/strong>/gi,"</b>");
h=h.replace(/<\/em>/gi,"</i>");
}
if(tinyMCE.isRealIE){
h=h.replace(/\s\/>/g,">");
h=h.replace(/<p([^>]*)>\u00A0?<\/p>/gi,"<p$1 mce_keep=\"true\">&nbsp;</p>");
h=h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi,"<p$1 mce_keep=\"true\">&nbsp;</p>");
h=h.replace(/<p([^>]*)>\s+<\/p>/gi,"<p$1 mce_keep=\"true\">&nbsp;</p>");
e.innerHTML=tinyMCE.uniqueTag+h;
e.firstChild.removeNode(true);
nl=e.getElementsByTagName("p");
for(i=nl.length-1;i>=0;i--){
n=nl[i];
if(n.nodeName=="P"&&!n.hasChildNodes()&&!n.mce_keep){
n.parentNode.removeChild(n);
}
}
}else{
h=this.fixGeckoBaseHREFBug(1,e,h);
e.innerHTML=h;
this.fixGeckoBaseHREFBug(2,e,h);
}
},getOuterHTML:function(e){
var d;
if(tinyMCE.isIE){
return e.outerHTML;
}
d=e.ownerDocument.createElement("body");
d.appendChild(e.cloneNode(true));
return d.innerHTML;
},setOuterHTML:function(e,h,d){
var d=typeof (d)=="undefined"?e.ownerDocument:d,i,nl,t;
if(tinyMCE.isIE&&e.nodeType==1){
e.outerHTML=h;
}else{
t=d.createElement("body");
t.innerHTML=h;
for(i=0,nl=t.childNodes;i<nl.length;i++){
e.parentNode.insertBefore(nl[i].cloneNode(true),e);
}
e.parentNode.removeChild(e);
}
},_getElementById:function(id,d){
var e,i,j,f;
if(typeof (d)=="undefined"){
d=document;
}
e=d.getElementById(id);
if(!e){
f=d.forms;
for(i=0;i<f.length;i++){
for(j=0;j<f[i].elements.length;j++){
if(f[i].elements[j].name==id){
e=f[i].elements[j];
break;
}
}
}
}
return e;
},getNodeTree:function(n,na,t,nn){
return this.selectNodes(n,function(n){
return (!t||n.nodeType==t)&&(!nn||n.nodeName==nn);
},na?na:[]);
},getParentElement:function(n,na,f,r){
var re=na?new RegExp("^("+na.toUpperCase().replace(/,/g,"|")+")$"):0,v;
if(f&&typeof (f)=="string"){
return this.getParentElement(n,na,function(no){
return tinyMCE.getAttrib(no,f)!=="";
});
}
return this.getParentNode(n,function(n){
return ((n.nodeType==1&&!re)||(re&&re.test(n.nodeName)))&&(!f||f(n));
},r);
},getParentNode:function(n,f,r){
while(n){
if(n==r){
return null;
}
if(f(n)){
return n;
}
n=n.parentNode;
}
return null;
},getAttrib:function(elm,name,dv){
var v;
if(typeof (dv)=="undefined"){
dv="";
}
if(!elm||elm.nodeType!=1){
return dv;
}
try{
v=elm.getAttribute(name,0);
}
catch(ex){
v=elm.getAttribute(name,2);
}
if(name=="class"&&!v){
v=elm.className;
}
if(tinyMCE.isGecko){
if(name=="src"&&elm.src!=null&&elm.src!==""){
v=elm.src;
}
if(name=="href"&&elm.href!=null&&elm.href!==""){
v=elm.href;
}
}else{
if(tinyMCE.isIE){
switch(name){
case "http-equiv":
v=elm.httpEquiv;
break;
case "width":
case "height":
v=elm.getAttribute(name,2);
break;
}
}
}
if(name=="style"&&!tinyMCE.isOpera){
v=elm.style.cssText;
}
return (v&&v!=="")?v:dv;
},setAttrib:function(el,name,va,fix){
if(typeof (va)=="number"&&va!=null){
va=""+va;
}
if(fix){
if(va==null){
va="";
}
va=va.replace(/[^0-9%]/g,"");
}
if(name=="style"){
el.style.cssText=va;
}
if(name=="class"){
el.className=va;
}
if(va!=null&&va!==""&&va!=-1){
el.setAttribute(name,va);
}else{
el.removeAttribute(name);
}
},setStyleAttrib:function(e,n,v){
e.style[n]=v;
if(tinyMCE.isIE&&v==null||v==""){
v=tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));
e.style.cssText=v;
e.setAttribute("style",v);
}
},switchClass:function(ei,c){
var e;
if(tinyMCE.switchClassCache[ei]){
e=tinyMCE.switchClassCache[ei];
}else{
e=tinyMCE.switchClassCache[ei]=document.getElementById(ei);
}
if(e){
if(tinyMCE.settings.button_tile_map&&e.className&&e.className.indexOf("mceTiledButton")==0){
c="mceTiledButton "+c;
}
e.className=c;
}
},getAbsPosition:function(n,cn){
var l=0,t=0;
while(n&&n!=cn){
l+=n.offsetLeft;
t+=n.offsetTop;
n=n.offsetParent;
}
return {absLeft:l,absTop:t};
},prevNode:function(e,n){
var a=n.split(","),i;
while((e=e.previousSibling)!=null){
for(i=0;i<a.length;i++){
if(e.nodeName==a[i]){
return e;
}
}
}
return null;
},nextNode:function(e,n){
var a=n.split(","),i;
while((e=e.nextSibling)!=null){
for(i=0;i<a.length;i++){
if(e.nodeName==a[i]){
return e;
}
}
}
return null;
},selectElements:function(n,na,f){
var i,a=[],nl,x;
for(x=0,na=na.split(",");x<na.length;x++){
for(i=0,nl=n.getElementsByTagName(na[x]);i<nl.length;i++){
(!f||f(nl[i]))&&a.push(nl[i]);
}
}
return a;
},selectNodes:function(n,f,a){
var i;
if(!a){
a=[];
}
if(f(n)){
a[a.length]=n;
}
if(n.hasChildNodes()){
for(i=0;i<n.childNodes.length;i++){
tinyMCE.selectNodes(n.childNodes[i],f,a);
}
}
return a;
},addCSSClass:function(e,c,b){
var o=this.removeCSSClass(e,c);
return e.className=b?c+(o!==""?(" "+o):""):(o!==""?(o+" "):"")+c;
},removeCSSClass:function(e,c){
c=e.className.replace(new RegExp("(^|\\s+)"+c+"(\\s+|$)")," ");
return e.className=c!=" "?c:"";
},hasCSSClass:function(n,c){
return new RegExp("\\b"+c+"\\b","g").test(n.className);
},renameElement:function(e,n,d){
var ne,i,ar;
d=typeof (d)=="undefined"?tinyMCE.selectedInstance.getDoc():d;
if(e){
ne=d.createElement(n);
ar=e.attributes;
for(i=ar.length-1;i>-1;i--){
if(ar[i].specified&&ar[i].nodeValue){
ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue);
}
}
ar=e.childNodes;
for(i=0;i<ar.length;i++){
ne.appendChild(ar[i].cloneNode(true));
}
e.parentNode.replaceChild(ne,e);
}
},getViewPort:function(w){
var d=w.document,m=d.compatMode=="CSS1Compat",b=d.body,de=d.documentElement;
return {left:w.pageXOffset||(m?de.scrollLeft:b.scrollLeft),top:w.pageYOffset||(m?de.scrollTop:b.scrollTop),width:w.innerWidth||(m?de.clientWidth:b.clientWidth),height:w.innerHeight||(m?de.clientHeight:b.clientHeight)};
},getStyle:function(n,na,d){
if(!n){
return false;
}
if(tinyMCE.isGecko&&n.ownerDocument.defaultView){
try{
return n.ownerDocument.defaultView.getComputedStyle(n,null).getPropertyValue(na);
}
catch(n){
return null;
}
}
na=na.replace(/-(\D)/g,function(a,b){
return b.toUpperCase();
});
if(n.currentStyle){
return n.currentStyle[na];
}
return false;
}});
tinyMCE.add(TinyMCE_Engine,{parseURL:function(_206){
var _207=[],i,pos,lastPos,chr;
if(_206){
pos=_206.indexOf("://");
if(pos!=-1){
_207.protocol=_206.substring(0,pos);
lastPos=pos+3;
}
for(i=lastPos;i<_206.length;i++){
chr=_206.charAt(i);
if(chr==":"){
break;
}
if(chr=="/"){
break;
}
}
pos=i;
_207.host=_206.substring(lastPos,pos);
_207.port="";
lastPos=pos;
if(_206.charAt(pos)==":"){
pos=_206.indexOf("/",lastPos);
_207.port=_206.substring(lastPos+1,pos);
}
lastPos=pos;
pos=_206.indexOf("?",lastPos);
if(pos==-1){
pos=_206.indexOf("#",lastPos);
}
if(pos==-1){
pos=_206.length;
}
_207.path=_206.substring(lastPos,pos);
lastPos=pos;
if(_206.charAt(pos)=="?"){
pos=_206.indexOf("#");
pos=(pos==-1)?_206.length:pos;
_207.query=_206.substring(lastPos+1,pos);
}
lastPos=pos;
if(_206.charAt(pos)=="#"){
pos=_206.length;
_207.anchor=_206.substring(lastPos+1,pos);
}
}
return _207;
},serializeURL:function(up){
var o="";
if(up.protocol){
o+=up.protocol+"://";
}
if(up.host){
o+=up.host;
}
if(up.port){
o+=":"+up.port;
}
if(up.path){
o+=up.path;
}
if(up.query){
o+="?"+up.query;
}
if(up.anchor){
o+="#"+up.anchor;
}
return o;
},convertAbsoluteURLToRelativeURL:function(_20a,_20b){
var _20c=this.parseURL(_20a),targetURL=this.parseURL(_20b);
var i,strTok1,strTok2,breakPoint=0,outPath="",forceSlash=false;
var _20e,pos;
if(targetURL.path==""){
targetURL.path="/";
}else{
forceSlash=true;
}
_20a=_20c.path.substring(0,_20c.path.lastIndexOf("/"));
strTok1=_20a.split("/");
strTok2=targetURL.path.split("/");
if(strTok1.length>=strTok2.length){
for(i=0;i<strTok1.length;i++){
if(i>=strTok2.length||strTok1[i]!=strTok2[i]){
breakPoint=i+1;
break;
}
}
}
if(strTok1.length<strTok2.length){
for(i=0;i<strTok2.length;i++){
if(i>=strTok1.length||strTok1[i]!=strTok2[i]){
breakPoint=i+1;
break;
}
}
}
if(breakPoint==1){
return targetURL.path;
}
for(i=0;i<(strTok1.length-(breakPoint-1));i++){
outPath+="../";
}
for(i=breakPoint-1;i<strTok2.length;i++){
if(i!=(breakPoint-1)){
outPath+="/"+strTok2[i];
}else{
outPath+=strTok2[i];
}
}
targetURL.protocol=null;
targetURL.host=null;
targetURL.port=null;
targetURL.path=outPath==""&&forceSlash?"/":outPath;
_20e=_20c.path;
if((pos=_20e.lastIndexOf("/"))!=-1){
_20e=_20e.substring(pos+1);
}
if(_20e==targetURL.path&&targetURL.anchor!==""){
targetURL.path="";
}
if(targetURL.path==""&&!targetURL.anchor){
targetURL.path=_20e!==""?_20e:"/";
}
return this.serializeURL(targetURL);
},convertRelativeToAbsoluteURL:function(_20f,_210){
var _211=this.parseURL(_20f),baseURLParts,relURLParts,newRelURLParts,numBack,relURL=this.parseURL(_210),i;
var len,absPath,start,end,newBaseURLParts;
if(_210==""||_210.indexOf("://")!=-1||/^(mailto:|javascript:|#|\/)/.test(_210)){
return _210;
}
baseURLParts=_211.path.split("/");
relURLParts=relURL.path.split("/");
newBaseURLParts=[];
for(i=baseURLParts.length-1;i>=0;i--){
if(baseURLParts[i].length==0){
continue;
}
newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];
}
baseURLParts=newBaseURLParts.reverse();
newRelURLParts=[];
numBack=0;
for(i=relURLParts.length-1;i>=0;i--){
if(relURLParts[i].length==0||relURLParts[i]=="."){
continue;
}
if(relURLParts[i]==".."){
numBack++;
continue;
}
if(numBack>0){
numBack--;
continue;
}
newRelURLParts[newRelURLParts.length]=relURLParts[i];
}
relURLParts=newRelURLParts.reverse();
len=baseURLParts.length-numBack;
absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join("/")+"/"+relURLParts.join("/");
start="";
end="";
relURL.protocol=_211.protocol;
relURL.host=_211.host;
relURL.port=_211.port;
if(relURL.path.charAt(relURL.path.length-1)=="/"){
absPath+="/";
}
relURL.path=absPath;
return this.serializeURL(relURL);
},convertURL:function(url,node,_215){
var dl=document.location,start,portPart,urlParts,baseUrlParts,tmpUrlParts,curl;
var prot=dl.protocol,host=dl.hostname,port=dl.port;
if(prot=="file:"){
return url;
}
url=tinyMCE.regexpReplace(url,"(http|https):///","/");
if(url.indexOf("mailto:")!=-1||url.indexOf("javascript:")!=-1||/^[ \t\r\n\+]*[#\?]/.test(url)){
return url;
}
if(!tinyMCE.isIE&&!_215&&url.indexOf("://")==-1&&url.charAt(0)!="/"){
return tinyMCE.settings.base_href+url;
}
if(tinyMCE.regexpReplace(url,"[ \t\r\n+]|%20","").charAt(0)=="?"){
rlg_console.log("Returning unchanged url");
return url;
}
if(_215&&tinyMCE.getParam("relative_urls")){
curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,url);
if(curl.charAt(0)=="/"){
curl=tinyMCE.settings.document_base_prefix+curl;
}
urlParts=tinyMCE.parseURL(curl);
tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings.document_base_url);
if(urlParts.host==tmpUrlParts.host&&(urlParts.port==tmpUrlParts.port)){
return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings.document_base_url,curl);
}
}
if(!tinyMCE.getParam("relative_urls")){
urlParts=tinyMCE.parseURL(url);
baseUrlParts=tinyMCE.parseURL(tinyMCE.settings.base_href);
url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,url);
if(urlParts.anchor&&urlParts.path==baseUrlParts.path){
return "#"+urlParts.anchor;
}
}
if(tinyMCE.getParam("remove_script_host")){
start="";
portPart="";
if(port!==""){
portPart=":"+port;
}
start=prot+"//"+host+portPart+"/";
if(url.indexOf(start)==0){
url=url.substring(start.length-1);
}
}
return url;
},convertAllRelativeURLs:function(body){
var i,elms,src,href,mhref,msrc;
elms=body.getElementsByTagName("img");
for(i=0;i<elms.length;i++){
src=tinyMCE.getAttrib(elms[i],"src");
msrc=tinyMCE.getAttrib(elms[i],"mce_src");
if(msrc!==""){
src=msrc;
}
if(src!==""){
src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,src);
elms[i].setAttribute("src",src);
}
}
elms=body.getElementsByTagName("a");
for(i=0;i<elms.length;i++){
href=tinyMCE.getAttrib(elms[i],"href");
mhref=tinyMCE.getAttrib(elms[i],"mce_href");
if(mhref!==""){
href=mhref;
}
if(href&&href!==""){
href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,href);
elms[i].setAttribute("href",href);
}
}
}});
tinyMCE.add(TinyMCE_Engine,{clearArray:function(a){
var n;
for(n in a){
a[n]=null;
}
return a;
},explode:function(d,s){
var ar=s.split(d),oar=[],i;
for(i=0;i<ar.length;i++){
if(ar[i]!==""){
oar[oar.length]=ar[i];
}
}
return oar;
}});
tinyMCE.add(TinyMCE_Engine,{_setEventsEnabled:function(node,_220){
var evs,x,y,elms,i,event;
var _222=["onfocus","onblur","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeydown","onkeyup"];
evs=tinyMCE.settings.event_elements.split(",");
for(y=0;y<evs.length;y++){
elms=node.getElementsByTagName(evs[y]);
for(i=0;i<elms.length;i++){
event="";
for(x=0;x<_222.length;x++){
if((event=tinyMCE.getAttrib(elms[i],_222[x]))!==""){
event=tinyMCE.cleanupEventStr(""+event);
if(!_220){
event="return true;"+event;
}else{
event=event.replace(/^return true;/gi,"");
}
elms[i].removeAttribute(_222[x]);
elms[i].setAttribute(_222[x],event);
}
}
}
}
},_eventPatch:function(_223){
var n,inst,win,e;
if(typeof (tinyMCE)=="undefined"){
return true;
}
try{
if(tinyMCE.selectedInstance){
win=tinyMCE.selectedInstance.getWin();
if(win&&win.event){
e=win.event;
if(!e.target){
e.target=e.srcElement;
}
TinyMCE_Engine.prototype.handleEvent(e);
return;
}
}
for(n in tinyMCE.instances){
inst=tinyMCE.instances[n];
if(!tinyMCE.isInstance(inst)){
continue;
}
inst.select();
win=inst.getWin();
if(win&&win.event){
e=win.event;
if(!e.target){
e.target=e.srcElement;
}
TinyMCE_Engine.prototype.handleEvent(e);
return;
}
}
}
catch(ex){
}
},findEvent:function(e){
var n,inst;
if(e){
return e;
}
for(n in tinyMCE.instances){
inst=tinyMCE.instances[n];
if(tinyMCE.isInstance(inst)&&inst.getWin().event){
return inst.getWin().event;
}
}
return null;
},unloadHandler:function(){
tinyMCE.triggerSave(true,true);
},addEventHandlers:function(inst){
this.setEventHandlers(inst,1);
},setEventHandlers:function(inst,s){
var doc=inst.getDoc(),ie,ot,i,f=s?tinyMCE.addEvent:tinyMCE.removeEvent;
ie=["keypress","keyup","keydown","click","mouseup","mousedown","controlselect","dblclick"];
ot=["keypress","keyup","keydown","click","mouseup","mousedown","focus","blur","dragdrop"];
inst.switchSettings();
if(tinyMCE.isIE){
for(i=0;i<ie.length;i++){
f(doc,ie[i],TinyMCE_Engine.prototype._eventPatch);
}
}else{
for(i=0;i<ot.length;i++){
f(doc,ot[i],tinyMCE.handleEvent);
}
try{
doc.designMode="On";
}
catch(e){
}
}
},onMouseMove:function(){
var inst,lh;
if(tinyMCE.lastHover){
lh=tinyMCE.lastHover;
if(lh.className.indexOf("mceMenu")!=-1){
tinyMCE._menuButtonEvent("out",lh);
}else{
lh.className=lh.className;
}
tinyMCE.lastHover=null;
}
if(!tinyMCE.hasMouseMoved){
inst=tinyMCE.selectedInstance;
if(inst.isFocused){
inst.undoBookmark=inst.selection.getBookmark();
tinyMCE.hasMouseMoved=true;
}
}
},cancelEvent:function(e){
if(!e){
return false;
}
if(tinyMCE.isIE){
e.returnValue=false;
e.cancelBubble=true;
}else{
e.preventDefault();
e.stopPropagation&&e.stopPropagation();
}
return false;
},addEvent:function(o,n,h){
if(n!="unload"){
function clean(){
var ex;
try{
tinyMCE.removeEvent(o,n,h);
tinyMCE.removeEvent(window,"unload",clean);
o=n=h=null;
}
catch(ex){
}
}
tinyMCE.addEvent(window,"unload",clean);
}
if(o.attachEvent){
o.attachEvent("on"+n,h);
}else{
o.addEventListener(n,h,false);
}
},removeEvent:function(o,n,h){
if(o.detachEvent){
o.detachEvent("on"+n,h);
}else{
o.removeEventListener(n,h,false);
}
},addSelectAccessibility:function(e,s,w){
if(!s._isAccessible){
s.onkeydown=tinyMCE.accessibleEventHandler;
s.onblur=tinyMCE.accessibleEventHandler;
s._isAccessible=true;
s._win=w;
}
return false;
},accessibleEventHandler:function(e){
var elm,win=this._win;
e=tinyMCE.isIE?win.event:e;
elm=tinyMCE.isIE?e.srcElement:e.target;
if(e.type=="blur"){
if(elm.oldonchange){
elm.onchange=elm.oldonchange;
elm.oldonchange=null;
}
return true;
}
if(elm.nodeName=="SELECT"&&!elm.oldonchange){
elm.oldonchange=elm.onchange;
elm.onchange=null;
}
if(e.keyCode==13||e.keyCode==32){
elm.onchange=elm.oldonchange;
elm.onchange();
elm.oldonchange=null;
tinyMCE.cancelEvent(e);
return false;
}
return true;
},_resetIframeHeight:function(){
var ife;
if(tinyMCE.isRealIE){
ife=tinyMCE.selectedInstance.iframeElement;
if(ife._oldHeight){
ife.style.height=ife._oldHeight;
ife.height=ife._oldHeight;
}
}
}});
function TinyMCE_Selection(inst){
this.instance=inst;
}
TinyMCE_Selection.prototype={getSelectedHTML:function(){
var inst=this.instance,e,r=this.getRng(),h;
if(!r){
return null;
}
e=document.createElement("body");
if(r.cloneContents){
e.appendChild(r.cloneContents());
}else{
if(typeof (r.item)!="undefined"||typeof (r.htmlText)!="undefined"){
e.innerHTML=r.item?r.item(0).outerHTML:r.htmlText;
}else{
e.innerHTML=r.toString();
}
}
h=tinyMCE._cleanupHTML(inst,inst.contentDocument,inst.settings,e,e,false,true,false);
return h;
},getSelectedText:function(){
var inst=this.instance,d,r,s,t;
if(tinyMCE.isIE){
d=inst.getDoc();
if(d.selection.type=="Text"){
r=d.selection.createRange();
t=r.text;
}else{
t="";
}
}else{
s=this.getSel();
if(s&&s.toString){
t=s.toString();
}else{
t="";
}
}
return t;
},getBookmark:function(_23d){
var inst=this.instance,rng=this.getRng(),doc=inst.getDoc(),b=inst.getBody();
var trng,sx,sy,xx=-999999999,vp=inst.getViewPort();
var sp,le,s,e,nl,i,si,ei,w;
sx=vp.left;
sy=vp.top;
if(_23d){
return {rng:rng,scrollX:sx,scrollY:sy};
}
if(tinyMCE.isRealIE){
if(rng.item){
e=rng.item(0);
nl=b.getElementsByTagName(e.nodeName);
for(i=0;i<nl.length;i++){
if(e==nl[i]){
sp=i;
break;
}
}
return {tag:e.nodeName,index:sp,scrollX:sx,scrollY:sy};
}else{
trng=doc.body.createTextRange();
trng.moveToElementText(inst.getBody());
trng.collapse(true);
bp=Math.abs(trng.move("character",xx));
trng=rng.duplicate();
trng.collapse(true);
sp=Math.abs(trng.move("character",xx));
trng=rng.duplicate();
trng.collapse(false);
le=Math.abs(trng.move("character",xx))-sp;
return {start:sp-bp,length:le,scrollX:sx,scrollY:sy};
}
}else{
s=this.getSel();
e=this.getFocusElement();
if(!s){
return null;
}
if(e&&e.nodeName=="IMG"){
return {start:-1,end:-1,index:sp,scrollX:sx,scrollY:sy};
}
if(s.anchorNode==s.focusNode&&s.anchorOffset==s.focusOffset){
e=this._getPosText(b,s.anchorNode,s.focusNode);
if(!e){
return {scrollX:sx,scrollY:sy};
}
return {start:e.start+s.anchorOffset,end:e.end+s.focusOffset,scrollX:sx,scrollY:sy};
}else{
e=this._getPosText(b,rng.startContainer,rng.endContainer);
if(!e){
return {scrollX:sx,scrollY:sy};
}
return {start:e.start+rng.startOffset,end:e.end+rng.endOffset,scrollX:sx,scrollY:sy};
}
}
return null;
},moveToBookmark:function(_241){
var inst=this.instance,rng,nl,i,ex,b=inst.getBody(),sd;
var doc=inst.getDoc(),win=inst.getWin(),sel=this.getSel();
if(!_241){
return false;
}
if(tinyMCE.isSafari&&_241.rng){
sel.setBaseAndExtent(_241.rng.startContainer,_241.rng.startOffset,_241.rng.endContainer,_241.rng.endOffset);
return true;
}
if(tinyMCE.isRealIE){
if(_241.rng){
try{
_241.rng.select();
}
catch(ex){
}
return true;
}
win.focus();
if(_241.tag){
rng=b.createControlRange();
nl=b.getElementsByTagName(_241.tag);
if(nl.length>_241.index){
try{
rng.addElement(nl[_241.index]);
}
catch(ex){
}
}
}else{
try{
if(_241.start<0){
return true;
}
rng=inst.getSel().createRange();
rng.moveToElementText(inst.getBody());
rng.collapse(true);
rng.moveStart("character",_241.start);
rng.moveEnd("character",_241.length);
}
catch(ex){
return true;
}
}
rng.select();
win.scrollTo(_241.scrollX,_241.scrollY);
return true;
}
if(tinyMCE.isGecko||tinyMCE.isOpera){
if(!sel){
return false;
}
if(_241.rng){
sel.removeAllRanges();
sel.addRange(_241.rng);
}
if(_241.start!=-1&&_241.end!=-1){
try{
sd=this._getTextPos(b,_241.start,_241.end);
rng=doc.createRange();
rng.setStart(sd.startNode,sd.startOffset);
rng.setEnd(sd.endNode,sd.endOffset);
sel.removeAllRanges();
sel.addRange(rng);
if(!tinyMCE.isOpera){
win.focus();
}
}
catch(ex){
}
}
win.scrollTo(_241.scrollX,_241.scrollY);
return true;
}
return false;
},_getPosText:function(r,sn,en){
var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};
while((n=w.nextNode())!=null){
if(n==sn){
d.start=p;
}
if(n==en){
d.end=p;
return d;
}
p+=n.nodeValue?n.nodeValue.length:0;
}
return null;
},_getTextPos:function(r,sp,ep){
var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};
while((n=w.nextNode())!=null){
p+=n.nodeValue?n.nodeValue.length:0;
if(p>=sp&&!d.startNode){
d.startNode=n;
d.startOffset=sp-(p-n.nodeValue.length);
}
if(p>=ep){
d.endNode=n;
d.endOffset=ep-(p-n.nodeValue.length);
return d;
}
}
return null;
},selectNode:function(node,_24d,_24e,_24f){
var inst=this.instance,sel,rng,nodes;
if(!node){
return;
}
if(typeof (_24d)=="undefined"){
_24d=true;
}
if(typeof (_24e)=="undefined"){
_24e=false;
}
if(typeof (_24f)=="undefined"){
_24f=true;
}
if(inst.settings.auto_resize){
inst.resizeToContent();
}
if(tinyMCE.isRealIE){
rng=inst.getDoc().body.createTextRange();
try{
rng.moveToElementText(node);
if(_24d){
rng.collapse(_24f);
}
rng.select();
}
catch(e){
}
}else{
sel=this.getSel();
if(!sel){
return;
}
if(tinyMCE.isSafari){
sel.setBaseAndExtent(node,0,node,node.innerText.length);
if(_24d){
if(_24f){
sel.collapseToStart();
}else{
sel.collapseToEnd();
}
}
this.scrollToNode(node);
return;
}
rng=inst.getDoc().createRange();
if(_24e){
nodes=tinyMCE.getNodeTree(node,[],3);
if(nodes.length>0){
rng.selectNodeContents(nodes[0]);
}else{
rng.selectNodeContents(node);
}
}else{
rng.selectNode(node);
}
if(_24d){
if(!_24f&&node.nodeType==3){
rng.setStart(node,node.nodeValue.length);
rng.setEnd(node,node.nodeValue.length);
}else{
rng.collapse(_24f);
}
}
sel.removeAllRanges();
sel.addRange(rng);
}
this.scrollToNode(node);
tinyMCE.selectedElement=null;
if(node.nodeType==1){
tinyMCE.selectedElement=node;
}
},scrollToNode:function(node){
var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;
if(pos.absLeft<vp.left||pos.absLeft>vp.left+vp.width||pos.absTop<vp.top||pos.absTop>vp.top+(vp.height-25)){
w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);
}
if(inst.settings.auto_resize){
cwin=inst.getContainerWin();
cvp=tinyMCE.getViewPort(cwin);
p=this.getAbsPosition(node);
if(p.absLeft<cvp.left||p.absLeft>cvp.left+cvp.width||p.absTop<cvp.top||p.absTop>cvp.top+cvp.height){
cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25);
}
}
},getAbsPosition:function(n){
var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);
return {absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop};
},getSel:function(){
var inst=this.instance;
if(tinyMCE.isRealIE){
return inst.getDoc().selection;
}
return inst.contentWindow.getSelection();
},getRng:function(){
var s=this.getSel();
if(s==null){
return null;
}
if(tinyMCE.isRealIE){
return s.createRange();
}
if(tinyMCE.isSafari&&!s.getRangeAt){
return ""+window.getSelection();
}
if(s.rangeCount>0){
return s.getRangeAt(0);
}
return null;
},isCollapsed:function(){
var r=this.getRng();
if(r.item){
return false;
}
return r.boundingWidth==0||this.getSel().isCollapsed;
},collapse:function(b){
var r=this.getRng(),s=this.getSel();
if(r.select){
r.collapse(b);
r.select();
}else{
if(b){
s.collapseToStart();
}else{
s.collapseToEnd();
}
}
},getFocusElement:function(){
var inst=this.instance,doc,rng,sel,elm;
if(tinyMCE.isRealIE){
doc=inst.getDoc();
rng=doc.selection.createRange();
elm=rng.item?rng.item(0):rng.parentElement();
}else{
if(!tinyMCE.isSafari&&inst.isHidden()){
return inst.getBody();
}
sel=this.getSel();
rng=this.getRng();
if(!sel||!rng){
return null;
}
elm=rng.commonAncestorContainer;
if(!rng.collapsed){
if(rng.startContainer==rng.endContainer){
if(rng.startOffset-rng.endOffset<2){
if(rng.startContainer.hasChildNodes()){
elm=rng.startContainer.childNodes[rng.startOffset];
}
}
}
}
elm=tinyMCE.getParentElement(elm);
}
return elm;
}};
function TinyMCE_UndoRedo(inst){
this.instance=inst;
this.undoLevels=[];
this.undoIndex=0;
this.typingUndoIndex=-1;
this.undoRedo=true;
}
TinyMCE_UndoRedo.prototype={add:function(l){
var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;
if(l){
this.undoLevels[this.undoLevels.length]=l;
return true;
}
if(this.typingUndoIndex!=-1){
this.undoIndex=this.typingUndoIndex;
if(tinyMCE.typingUndoIndex!=-1){
tinyMCE.undoIndex=tinyMCE.typingUndoIndex;
}
}
newHTML=tinyMCE.trim(inst.getBody().innerHTML);
if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){
inst.isNotDirty=false;
tinyMCE.dispatchCallback(inst,"onchange_callback","onChange",inst);
customUndoLevels=tinyMCE.settings.custom_undo_redo_levels;
if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){
for(i=0;i<this.undoLevels.length-1;i++){
this.undoLevels[i]=this.undoLevels[i+1];
}
this.undoLevels.length--;
this.undoIndex--;
}
b=inst.undoBookmark;
if(!b){
b=inst.selection.getBookmark();
}
this.undoIndex++;
this.undoLevels[this.undoIndex]={content:newHTML,bookmark:b};
ul=tinyMCE.undoLevels;
for(i=tinyMCE.undoIndex+1;i<ul.length;i++){
ur=ul[i].undoRedo;
if(ur.undoIndex==ur.undoLevels.length-1){
ur.undoIndex--;
}
ur.undoLevels.length--;
}
tinyMCE.undoLevels[tinyMCE.undoIndex++]=inst;
tinyMCE.undoLevels.length=tinyMCE.undoIndex;
this.undoLevels.length=this.undoIndex+1;
return true;
}
return false;
},undo:function(){
var inst=this.instance;
if(this.undoIndex>0){
this.undoIndex--;
tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);
inst.repaint();
if(inst.settings.custom_undo_redo_restore_selection){
inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
}
}
},redo:function(){
var inst=this.instance;
tinyMCE.execCommand("mceEndTyping");
if(this.undoIndex<(this.undoLevels.length-1)){
this.undoIndex++;
tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);
inst.repaint();
if(inst.settings.custom_undo_redo_restore_selection){
inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
}
}
tinyMCE.triggerNodeChange();
}};
var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){
var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);
var _263=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;
var _264,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;
var _265,paraAfter,startChop,endChop,contents,i;
function isEmpty(para){
var _267;
function isEmptyHTML(html){
return html.replace(new RegExp("[ \t\r\n]+","g"),"").toLowerCase()=="";
}
if(para.getElementsByTagName("img").length>0){
return false;
}
if(para.getElementsByTagName("table").length>0){
return false;
}
if(para.getElementsByTagName("hr").length>0){
return false;
}
_267=tinyMCE.getNodeTree(para,[],3);
for(i=0;i<_267.length;i++){
if(!isEmptyHTML(_267[i].nodeValue)){
return false;
}
}
return true;
}
_264=doc.createRange();
_264.setStart(sel.anchorNode,sel.anchorOffset);
_264.collapse(true);
rngAfter=doc.createRange();
rngAfter.setStart(sel.focusNode,sel.focusOffset);
rngAfter.collapse(true);
direct=_264.compareBoundaryPoints(_264.START_TO_END,rngAfter)<0;
startNode=direct?sel.anchorNode:sel.focusNode;
startOffset=direct?sel.anchorOffset:sel.focusOffset;
endNode=direct?sel.focusNode:sel.anchorNode;
endOffset=direct?sel.focusOffset:sel.anchorOffset;
startNode=startNode.nodeName=="HTML"?doc.body:startNode;
startNode=startNode.nodeName=="BODY"?startNode.firstChild:startNode;
endNode=endNode.nodeName=="BODY"?endNode.firstChild:endNode;
startBlock=inst.getParentBlockElement(startNode);
endBlock=inst.getParentBlockElement(endNode);
if(startBlock&&(startBlock.nodeName=="CAPTION"||/absolute|relative|static/gi.test(startBlock.style.position))){
startBlock=null;
}
if(endBlock&&(endBlock.nodeName=="CAPTION"||/absolute|relative|static/gi.test(endBlock.style.position))){
endBlock=null;
}
if(startBlock!=null){
blockName=startBlock.nodeName;
if(/(TD|TABLE|TH|CAPTION)/.test(blockName)||(blockName=="DIV"&&/left|right/gi.test(startBlock.style.cssFloat))){
blockName="P";
}
}
if(tinyMCE.getParentElement(startBlock,"OL,UL",null,body)!=null){
return false;
}
if((startBlock!=null&&startBlock.nodeName=="TABLE")||(endBlock!=null&&endBlock.nodeName=="TABLE")){
startBlock=endBlock=null;
}
_265=(startBlock!=null&&startBlock.nodeName==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);
paraAfter=(endBlock!=null&&endBlock.nodeName==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);
if(/^(H[1-6])$/.test(blockName)){
paraAfter=doc.createElement("p");
}
startChop=startNode;
endChop=endNode;
node=startChop;
do{
if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node)){
break;
}
startChop=node;
}while((node=node.previousSibling?node.previousSibling:node.parentNode));
node=endChop;
do{
if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node)){
break;
}
endChop=node;
}while((node=node.nextSibling?node.nextSibling:node.parentNode));
if(startChop.nodeName=="TD"){
startChop=startChop.firstChild;
}
if(endChop.nodeName=="TD"){
endChop=endChop.lastChild;
}
if(startBlock==null){
rng.deleteContents();
if(!tinyMCE.isSafari){
sel.removeAllRanges();
}
if(startChop!=_263&&endChop!=_263){
_264=rng.cloneRange();
if(startChop==body){
_264.setStart(startChop,0);
}else{
_264.setStartBefore(startChop);
}
_265.appendChild(_264.cloneContents());
if(endChop.parentNode.nodeName==blockName){
endChop=endChop.parentNode;
}
rng.setEndAfter(endChop);
if(endChop.nodeName!="#text"&&endChop.nodeName!="BODY"){
_264.setEndAfter(endChop);
}
contents=rng.cloneContents();
if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName=="BODY")){
paraAfter.innerHTML=contents.firstChild.innerHTML;
}else{
paraAfter.appendChild(contents);
}
if(isEmpty(_265)){
_265.innerHTML="&nbsp;";
}
if(isEmpty(paraAfter)){
paraAfter.innerHTML="&nbsp;";
}
rng.deleteContents();
rngAfter.deleteContents();
_264.deleteContents();
if(tinyMCE.isOpera){
_265.normalize();
_264.insertNode(_265);
paraAfter.normalize();
_264.insertNode(paraAfter);
}else{
paraAfter.normalize();
_264.insertNode(paraAfter);
_265.normalize();
_264.insertNode(_265);
}
}else{
body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";
paraAfter=body.childNodes[1];
}
inst.selection.moveToBookmark(b);
inst.selection.selectNode(paraAfter,true,true);
return true;
}
if(startChop.nodeName==blockName){
_264.setStart(startChop,0);
}else{
_264.setStartBefore(startChop);
}
_264.setEnd(startNode,startOffset);
_265.appendChild(_264.cloneContents());
rngAfter.setEndAfter(endChop);
rngAfter.setStart(endNode,endOffset);
contents=rngAfter.cloneContents();
if(contents.firstChild&&contents.firstChild.nodeName==blockName){
paraAfter.innerHTML=contents.firstChild.innerHTML;
}else{
paraAfter.appendChild(contents);
}
if(isEmpty(_265)){
_265.innerHTML="&nbsp;";
}
if(isEmpty(paraAfter)){
paraAfter.innerHTML="&nbsp;";
}
rng=doc.createRange();
if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){
rng.setStartBefore(startChop.parentNode);
}else{
if(_264.startContainer.nodeName.toUpperCase()==blockName&&_264.startOffset==0){
rng.setStartBefore(_264.startContainer);
}else{
rng.setStart(_264.startContainer,_264.startOffset);
}
}
if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName){
rng.setEndAfter(endChop.parentNode);
}else{
rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);
}
rng.deleteContents();
if(tinyMCE.isOpera){
rng.insertNode(_265);
rng.insertNode(paraAfter);
}else{
rng.insertNode(paraAfter);
rng.insertNode(_265);
}
paraAfter.normalize();
_265.normalize();
inst.selection.moveToBookmark(b);
inst.selection.selectNode(paraAfter,true,true);
return true;
},_handleBackSpace:function(inst){
var r=inst.getRng(),sn=r.startContainer,nv,s=false;
if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){
nv=sn.nodeValue;
if(nv!=null&&r.startOffset==nv.length){
sn.nextSibling.parentNode.removeChild(sn.nextSibling);
}
}
if(inst.settings.auto_resize){
inst.resizeToContent();
}
return s;
}};
function TinyMCE_Layer(id,bm){
this.id=id;
this.blockerElement=null;
this.events=false;
this.element=null;
this.blockMode=typeof (bm)!="undefined"?bm:true;
this.doc=document;
}
TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){
var rep=this.getAbsPosition(re),e=this.getElement(),x,y;
var w=parseInt(re.offsetWidth),h=parseInt(re.offsetHeight);
var ew=parseInt(e.offsetWidth),eh=parseInt(e.offsetHeight);
switch(p){
case "tl":
x=rep.absLeft;
y=rep.absTop;
break;
case "tr":
x=rep.absLeft+w;
y=rep.absTop;
break;
case "bl":
x=rep.absLeft;
y=rep.absTop+h;
break;
case "br":
x=rep.absLeft+w;
y=rep.absTop+h;
break;
case "cc":
x=rep.absLeft+(w/2)-(ew/2);
y=rep.absTop+(h/2)-(eh/2);
break;
}
this.moveTo(x,y);
},moveBy:function(x,y){
var e=this.getElement();
this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y);
},moveTo:function(x,y){
var e=this.getElement();
e.style.left=x+"px";
e.style.top=y+"px";
this.updateBlocker();
},resizeBy:function(w,h){
var e=this.getElement();
this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h);
},resizeTo:function(w,h){
var e=this.getElement();
if(w!=null){
e.style.width=w+"px";
}
if(h!=null){
e.style.height=h+"px";
}
this.updateBlocker();
},show:function(){
var el=this.getElement();
if(el){
el.style.display="block";
this.updateBlocker();
}
},hide:function(){
var el=this.getElement();
if(el){
el.style.display="none";
this.updateBlocker();
}
},isVisible:function(){
return this.getElement().style.display=="block";
},getElement:function(){
if(!this.element){
this.element=this.doc.getElementById(this.id);
}
return this.element;
},setBlockMode:function(s){
this.blockMode=s;
},updateBlocker:function(){
var e,b,x,y,w,h;
b=this.getBlocker();
if(b){
if(this.blockMode){
e=this.getElement();
x=this.parseInt(e.style.left);
y=this.parseInt(e.style.top);
w=this.parseInt(e.offsetWidth);
h=this.parseInt(e.offsetHeight);
b.style.left=x+"px";
b.style.top=y+"px";
b.style.width=w+"px";
b.style.height=h+"px";
b.style.display=e.style.display;
}else{
b.style.display="none";
}
}
},getBlocker:function(){
var d,b;
if(!this.blockerElement&&this.blockMode){
d=this.doc;
b=d.getElementById(this.id+"_blocker");
if(!b){
b=d.createElement("iframe");
b.setAttribute("id",this.id+"_blocker");
b.style.cssText="display: none; position: absolute; left: 0; top: 0";
b.src="javascript:false;";
b.frameBorder="0";
b.scrolling="no";
d.body.appendChild(b);
}
this.blockerElement=b;
}
return this.blockerElement;
},getAbsPosition:function(n){
var p={absLeft:0,absTop:0};
while(n){
p.absLeft+=n.offsetLeft;
p.absTop+=n.offsetTop;
n=n.offsetParent;
}
return p;
},create:function(n,c,p,h){
var d=this.doc,e=d.createElement(n);
e.setAttribute("id",this.id);
if(c){
e.className=c;
}
if(!p){
p=d.body;
}
if(h){
e.innerHTML=h;
}
p.appendChild(e);
return this.element=e;
},exists:function(){
return this.doc.getElementById(this.id)!=null;
},parseInt:function(s){
if(s==null||s==""){
return 0;
}
return parseInt(s);
},remove:function(){
var e=this.getElement(),b=this.getBlocker();
if(e){
e.parentNode.removeChild(e);
}
if(b){
b.parentNode.removeChild(b);
}
}};
function TinyMCE_Menu(){
var id;
if(typeof (tinyMCE.menuCounter)=="undefined"){
tinyMCE.menuCounter=0;
}
id="mc_menu_"+tinyMCE.menuCounter++;
TinyMCE_Layer.call(this,id,true);
this.id=id;
this.items=[];
this.needsUpdate=true;
}
TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){
var n;
this.settings={separator_class:"mceMenuSeparator",title_class:"mceMenuTitle",disabled_class:"mceMenuDisabled",menu_class:"mceMenu",drop_menu:true};
for(n in s){
this.settings[n]=s[n];
}
this.create("div",this.settings.menu_class);
},clear:function(){
this.items=[];
},addTitle:function(t){
this.add({type:"title",text:t});
},addDisabled:function(t){
this.add({type:"disabled",text:t});
},addSeparator:function(){
this.add({type:"separator"});
},addItem:function(t,js){
this.add({text:t,js:js});
},add:function(mi){
this.items[this.items.length]=mi;
this.needsUpdate=true;
},update:function(){
var e=this.getElement(),h="",i,t,m=this.items,s=this.settings;
if(this.settings.drop_menu){
h+="<span class=\"mceMenuLine\"></span>";
}
h+="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
for(i=0;i<m.length;i++){
t=tinyMCE.xmlEncode(m[i].text);
c=m[i].class_name?" class=\""+m[i].class_name+"\"":"";
switch(m[i].type){
case "separator":
h+="<tr class=\""+s.separator_class+"\"><td>";
break;
case "title":
h+="<tr class=\""+s.title_class+"\"><td><span"+c+">"+t+"</span>";
break;
case "disabled":
h+="<tr class=\""+s.disabled_class+"\"><td><span"+c+">"+t+"</span>";
break;
default:
h+="<tr><td><a href=\""+tinyMCE.xmlEncode(m[i].js)+"\" onmousedown=\""+tinyMCE.xmlEncode(m[i].js)+";return tinyMCE.cancelEvent(event);\" onclick=\"return tinyMCE.cancelEvent(event);\" onmouseup=\"return tinyMCE.cancelEvent(event);\"><span"+c+">"+t+"</span></a>";
}
h+="</td></tr>";
}
h+="</table>";
e.innerHTML=h;
this.needsUpdate=false;
this.updateBlocker();
},show:function(){
var nl,i;
if(tinyMCE.lastMenu==this){
return;
}
if(this.needsUpdate){
this.update();
}
if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this){
tinyMCE.lastMenu.hide();
}
TinyMCE_Layer.prototype.show.call(this);
if(!tinyMCE.isOpera){
}
tinyMCE.lastMenu=this;
}});
tinyMCE.add(TinyMCE_Engine,{debug:function(){
var m="",a,i,l=tinyMCE.log.length;
for(i=0,a=this.debug.arguments;i<a.length;i++){
m+=a[i];
if(i<a.length-1){
m+=", ";
}
}
if(l<1000){
tinyMCE.log[l]="[debug] "+m;
}
}});

