function initRTE(c,a,b){setTimeout(function(){RteEngine.register(c,a,b)},200)}var RteEngine={simpleRTE:{autoClose:true,isFewFonts:true,buttons:{style:true,font:true,decoration:true,align:true,dent:true,list:true,text_color:true,bg_color:true,link:true,image:true,object:true,youtube:true,smile:false,line:true,table:false,supsub:true,reundo:true,html:true}},chatRTE:{autoClose:false,isFewFonts:true,buttons:{style:false,font:true,decoration:true,align:true,dent:true,list:true,text_color:true,bg_color:true,link:true,image:true,object:true,youtube:false,smile:true,line:true,table:false,supsub:false,reundo:true,html:false}},advancedRTE:{autoClose:false,isFewFonts:false,buttons:{style:true,font:true,decoration:true,align:true,dent:true,list:true,text_color:true,bg_color:true,link:true,image:true,object:true,youtube:true,smile:false,line:true,table:true,supsub:true,reundo:true,html:true}},guestCommentRTE:{autoClose:true,isFewFonts:true,buttons:{style:false,font:true,decoration:true,align:false,dent:false,list:true,text_color:true,bg_color:false,link:true,image:false,object:false,youtube:false,smile:false,line:false,table:false,supsub:false,reundo:true,html:false},noFontSize:true,noRedo:true},IMAGES_FOLDER:"images/wysiwyg/",STYLES:[{name:"Paragraph",value:"p"},{name:"Heading 1",value:"h1"},{name:"Heading 2",value:"h2"},{name:"Heading 3",value:"h3"},{name:"Heading 4",value:"h4"},{name:"Heading 5",value:"h5"},{name:"Heading 6",value:"h6"},{name:"Address",value:"address"},{name:"Formatted",value:"pre"}],FONTS:["arial","arial black","comic sans ms","courier","courier new","georgia","helvetica","impact","palatino","times new roman","trebuchet ms","verdana"],FONTS_FEW:["arial","arial black","comic sans ms","courier new","helvetica","times new roman","verdana"],FONT_SIZE:[{name:"0.6em",value:"lz_xx_small"},{name:"0.75em",value:"lz_x_small"},{name:"0.89em",value:"lz_small"},{name:"1em",value:"lz_medium"},{name:"1.2em",value:"lz_large"},{name:"1.5em",value:"lz_x_large"},{name:"2em",value:"lz_xx_large"},{name:"3em",value:"lz_xxx_large"}],IMG_ATTRIBS_TO_DELETE:["className","class","handler_mouseout","handler_mouseover","onclick","allow","tooltip","id","title"],rteArr:new Array(),uploadForm:null,stylePopup:null,fontPopup:null,fewFontPopup:null,sizePopup:null,smilePopup:null,textColorPopup:null,bgColorPopup:null,linkPopup:null,imagePopup:null,objectPopup:null,youtubePopup:null,tablePopup:null,toUseTArea:false,curRteId:-1,register:function(g,a,c){var d=document.getElementById(g);if(typeof c=="undefined"){c=this.simpleRTE}if(d.id==""){d.id=new Date().getTime()}var f=null;if(this.toUseTArea==false){try{f=new Rte(d,a,c)}catch(b){this.toUseTArea=true}}if(this.toUseTArea){f=new TArea(d,a,c)}if(f!=null){this.rteArr.push(f)}},putRteDataOfForm:function(c,b){var e;if(this.toUseTArea==false){e=c.getElementsByTagName("iframe")}else{e=c.getElementsByTagName("textarea")}for(var d=0;d<e.length;d++){var a=RteEngine.getRteIndex(e[d]);if(a!=-1){RteEngine.rteArr[a].putRteData();if(typeof b=="undefined"||b==false){RteEngine.rteArr.splice(a,1)}}}},wasTextChanged:function(b){var d;if(this.toUseTArea==false){d=b.getElementsByTagName("iframe")}else{d=b.getElementsByTagName("textarea")}for(var c=0;c<d.length;c++){var a=RteEngine.getRteIndex(d[c]);if(a!=-1&&RteEngine.rteArr[a].wasTextChanged()){return true}}return false},resetContent:function(c){var d=c.getElementsByTagName("iframe");for(var b=0;b<d.length;b++){var a=RteEngine.getRteIndex(d[b]);if(a!=-1){RteEngine.rteArr[a].resetContent()}}},getRteIndex:function(b){var c;if(typeof b=="string"){c=b}else{c=b.id}for(var a=0;a<this.rteArr.length;a++){if(this.rteArr[a].getId()==c){return a}}return -1},getRteById:function(b){var a=this.getRteIndex(b);if(a==-1){return null}return this.rteArr[a]},closeAllDisactived:function(a){for(var b=0;b<this.rteArr.length;b++){if(this.rteArr[b].iframeObj.id!=a){this.rteArr[b].onlosefocus()}}},getHostUrl:function(){var a=window.location.protocol+"//"+window.location.host+"/";return a},launchStylePopup:function(c,b){if(this.stylePopup==null){this.createStylePopup()}var a=getParentDialog(c.div);this.stylePopup.show(c,"left",b,a);return this.stylePopup.div},launchFontPopup:function(d,c,a){if(typeof a!="undefined"&&a==true){return this._launchFewFontPopup(d,c)}if(this.fontPopup==null){this.createFontPopup()}var b=getParentDialog(d.div);this.fontPopup.show(d,"left",c,b);return this.fontPopup.div},_launchFewFontPopup:function(c,b){if(this.fewFontPopup==null){this.createFewFontPopup()}var a=getParentDialog(c.div);this.fewFontPopup.show(c,"left",b,a);return this.fewFontPopup.div},launchSizePopup:function(c,b){if(this.sizePopup==null){this.createSizePopup()}var a=getParentDialog(c.div);this.sizePopup.show(c,"left",b,a);return this.sizePopup.div},launchSmilePopup:function(c,b){if(this.smilePopup==null){this.createSmilePopup()}var a=getParentDialog(c.div);this.smilePopup.show(c,"right",b,a);return this.smilePopup.div},launchTextColorPopup:function(d,c,b){var a=getParentDialog(d.div);PalettePopup.show(d,"center",c,a,null,b);return PalettePopup.div},launchBgColorPopup:function(d,c,a){var b=getParentDialog(d.div);PalettePopup.show(d,"center",c,b,null,a);return PalettePopup.div},launchLinkPopup:function(h,i,j,b,d){if(this.linkPopup==null){this.createLinkPopup()}var f=getParentDialog(h.div);var c="center";if(b){c="left"}this.linkPopup.show(h,c,i,f,j);var a=this.linkPopup.div;if(b){getChildById(a,"url").value=b}var e=getChildById(a,"is_blank");var g=getNextSibling(e);CheckButtonMgr.setState(g,e,d==true);return a},launchImagePopup:function(f,g,a,i,c){if(this.imagePopup==null){this.createImagePopup(c)}var e=getParentDialog(f.div);var d=getChildByTagName(e,"form");var h=ImageUploader.getUploadImageFormContent("RteEngine.onImageFormSubmit(event)","insert",c,d);this.imagePopup.changeContent(h);this.curRteId=a;var b=this.imagePopup.getForm();ImageUploader.putRteIdInForm(b,a);CheckButtonMgr.prepare(this.imagePopup.getFormDiv());this.imagePopup.show(f,"center",g,e,i);return this.imagePopup.div},launchYoutubePopup:function(d,c,a){if(this.youtubePopup==null){this.createYoutubePopup()}var b=getParentDialog(d.div);this.youtubePopup.show(d,"center",c,b,a);return this.youtubePopup.div},launchObjectPopup:function(d,c,a){if(this.objectPopup==null){this.createObjectPopup()}var b=getParentDialog(d.div);this.objectPopup.show(d,"center",c,b,a);return this.objectPopup.div},launchTablePopup:function(d,c,a){if(this.tablePopup==null){this.createTablePopup()}var b=getParentDialog(d.div);this.tablePopup.show(d,"center",c,b,a);return this.tablePopup.div},createStylePopup:function(){this.stylePopup=new MyDropdownList();var a=this.STYLES.length;for(var b=0;b<a;b++){var c;var d=navigator.userAgent.toLowerCase();c=document.createElement(this.STYLES[b].value);c.style.margin=0;c.innerHTML=this.STYLES[b].name;this.stylePopup.appendItem(c)}},createFontPopup:function(){var b=14;this.fontPopup=new MyDropdownList();var a=this.FONTS.length;for(var c=0;c<a;c++){var d=document.createElement("div");d.innerHTML=this.FONTS[c];d.style.fontFamily=this.FONTS[c];d.style.fontSize=b;this.fontPopup.appendItem(d)}},createFewFontPopup:function(){var b=14;this.fewFontPopup=new MyDropdownList();var a=this.FONTS_FEW.length;for(var c=0;c<a;c++){var d=document.createElement("div");d.innerHTML=this.FONTS_FEW[c];d.style.fontFamily=this.FONTS_FEW[c];d.style.fontSize=b;this.fewFontPopup.appendItem(d)}},createSizePopup:function(){this.sizePopup=new MyDropdownList();for(var a=0;a<this.FONT_SIZE.length;a++){var b=document.createElement("div");b.innerHTML="<NOBR><span class='"+this.FONT_SIZE[a].value+"'>"+(a+1)+"</span> ("+this.FONT_SIZE[a].name+")</NOBR>";this.sizePopup.appendItem(b)}this.sizePopup.setWidth(50)},createObjectPopup:function(){var a='<table cellpadding="4" cellspacing="0" border="0"> <tr> <td align="left">Paste html code:</td> </tr><tr> <td><textarea name="html" type="text" id="html" rows="4" cols="50"></textarea></td> </tr></table>';this.objectPopup=new FormPopup(a)},createYoutubePopup:function(){var a='<table cellpadding="4" cellspacing="0" border="0"> <tr><td colspan="2" align="left"> YouTube ID:<input style="width:100%" name="youtube_id" type="text" id="youtube_id" /> </td></tr> <tr><td> width:&nbsp;<input size="4" name="width" type="text" id="width" />&nbsp;px&nbsp; </td><td align="left"> height:&nbsp;<input size="4" name="height" type="text" id="height" />&nbsp;px&nbsp;</td> </tr></table>';this.youtubePopup=new FormPopup(a)},createSmilePopup:function(){var b=30;var a=5;var f=19;this.smilePopup=new MyDropdownList(5);for(var c=0;c<b;c++){var d=document.createElement("div");var e=this.IMAGES_FOLDER+"smiles/"+(c+1)+".gif";d.innerHTML="<img src="+e+" width="+f+" height="+f+">";d.style.padding=a;this.smilePopup.appendItem(d)}},createLinkPopup:function(){var a='<table cellpadding="4" cellspacing="0" border="0"> <tr> <td align="left">Enter URL:</td> </tr><tr> <td><input name="url" type="text" id="url" value="" size="35"></td> </tr><tr> <td><table><tr><td><input name="is_blank" type="checkbox" id="is_blank"></td><td>load into a new window</td></tr></table></td> </tr></table>';this.linkPopup=new FormPopup(a);CheckButtonMgr.prepare(this.linkPopup.getFormDiv())},createImagePopup:function(a){this.imagePopup=new FormPopup("","USE_SUBMIT_BTN")},createTablePopup:function(){var a=this.getInsertTableHtml();this.tablePopup=new FormPopup(a)},getInsertTableHtml:function(){var a='<table cellpadding="4" cellspacing="0" border="0"> <tr> <td align="left">Table width:</td> <td><input name="width" type="text" id="width" value="90" size="4"></td> <td align="left"> <select name="widthType" id="widthType"> <option value="px">pixels</option> <option value="%" selected>percent</option> </select> </td> <tr> <td align="left">Rows:</td> <td><input name="rows" type="text" id="rows" value="2" size="4"></td> </tr> <td align="left">Columns:</td> <td><input name="columns" type="text" id="columns" value="2" size="4"></td> </tr> <tr> </tr> <tr> <td align="left">Border thickness:</td> <td><input name="border" type="text" id="border" value="1" size="4"></td> <td align="left">pixels</td> </tr> <tr> <td align="left">Cell padding:</td> <td><input name="padding" type="text" id="padding" value="0" size="4"></td> </tr> <tr> <td>Cell spacing:</td> <td><input name="spacing" type="text" id="0" value="0" size="4"></td> </tr> </table>';return a},onPasteHandler:function(b){var a=RteEngine.getRteById(b);if(a==null){return}a.fitHeightToVisible()},onImageFormSubmit:function(){var e=ImageUploader;var i=null;var b=RteEngine.imagePopup.getForm();i=ImageUploader.getImagePathFromForm(b);if(i==null){return false}var c=getChildById(b,e.IMG_ALIGN_ID);var f=c.options[c.selectedIndex].value;var d=getChildById(b,e.MARGIN_ID).value;var j=e.getImageInsertModeIdx(b);var g=encodeURI(i);var h=RteEngine.getRteById(RteEngine.curRteId);RteEngine.imagePopup.hide();h.setImage(g,f,d,j);if(e.isImageLocal(i)==false||j==1){return false}var a=h.getImgUrlsArray();e.markImageAsWaiting(a,g);e.onHdnDocLoad(RteEngine.curRteId,g);return true}};var ImageUploader={FORM_NAME:"image_uploading",ACTION_URL:"mkresource",FILE_INPUT_NAME:"file",RTE_ID_INPUT_NAME:"rte_id",IMG_ALIGN_ID:"img_align",MARGIN_ID:"img_margin",HDN_IFRAME_NAME:"imageUploadingIframe",WAIT_FLAG:"waiting",newImgPair:null,getUploadImageFormContent:function(d,f,e,a){var c=document.forms;var g=null;if(a.elements.uri){g=a.elements.uri.value}if(e){f="   Ok   "}var b='<form name="'+this.FORM_NAME+'" target="'+this.HDN_IFRAME_NAME+'" method="post" enctype="multipart/form-data" action="'+this.ACTION_URL+'" onsubmit="return '+d+'"> <table><tr><td>';if(!e){b+='<table><tr><td><input type="checkbox" name="isuploading" onclick="ImageUploader.imageLocationSwitch(this)" checked></td><td>upload image</td></tr></table><br /> <input type="file" name="'+this.FILE_INPUT_NAME+'" style="width: 100%" onkeyup="ImageUploader.enterCatcher(event);" />'}else{b+="image URL:<br /><br />"}b+=' <input type="text" name="'+this.FILE_INPUT_NAME+'"';if(e){b+=' value = "'+e.src+'" style="width: 100%"'}else{b+='style="display: none; width: 100%"'}b+=' /> <input type="hidden" name="'+this.RTE_ID_INPUT_NAME+'" id="'+this.RTE_ID_INPUT_NAME+'"> </td></tr> <tr><td><br/>align:&nbsp;<select id="'+this.IMG_ALIGN_ID+'"> <option value="left">left</option> <option value="middle">middle</option> <option value="right">right</option> <option value="bottom">bottom</option> <option value="top">top</option> </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:&nbsp;<input size="12" type="text" id="'+this.MARGIN_ID+'" value = "';if(e){b+=e.style.margin}else{b+="30px"}b+='"></td></tr> <tr><td align="center"><br/> <input type="submit" value="'+f+'"> &#160<input type="button" value="Cancel" onclick="RteEngine.imagePopup._oncancel();" > <input type="hidden" name="-$action" value="upload">';if(g!=null){b+=' <input type="hidden" name="uri" value="'+g+'">'}b+=" </td></tr><table> </form>";if(e&&e.align){var h=e.align.toLowerCase();b=b.replace(">"+h," selected='selected'>"+h)}return b},imageLocationSwitch:function(b){var c=RteEngine.imagePopup.getForm();var a=c[this.FILE_INPUT_NAME];var d=getAncestorByClassName(c,"ctrl_toolbar_dlg");if(!d.style.width){d.style.width=d.clientWidth-10}if(b.checked){a[0].style.display="";a[1].style.display="none"}else{a[0].style.display="none";a[1].style.display=""}},putRteIdInForm:function(c,d){var a=encodeURIComponent(d);var b=getChildById(c,this.RTE_ID_INPUT_NAME);b.value=a},getImageInsertModeIdx:function(a){var b=a.isuploading;if(!b){return null}return b.checked?0:1},getImagePathFromForm:function(e){var b=this.getImageInsertModeIdx(e);var c=e[ImageUploader.FILE_INPUT_NAME];var f;if(b==null){f=c.value}else{f=c[b].value}if(f.length==0){if(b==0){alert("No image selected to upload!")}else{alert("No URL of image!")}return null}if(b!=null){var a=(b==0)?1:0;var d=c[a].parentNode;d.removeChild(c[a])}return f},markImageAsWaiting:function(b,a){var c=new ImageUploader.UrlPair(a,ImageUploader.WAIT_FLAG);b.push(c)},onHdnDocLoad:function(a,n){var c=ImageUploader;var h=c.HDN_IFRAME_NAME;if(!frameLoaded[h]){var k=function(){ImageUploader.onHdnDocLoad(a,n)};setTimeout(k,50);return}if(frameLoaded[h]=="error"){alert("Failed to upload image!<br />Try to use other.");frameLoaded[h]=false;return}frameLoaded[h]=false;var b=window.frames[h];var f=b.document;var m=f.body;var j=f.getElementById("location");if(j){m=j}var l=m.innerHTML;l=decodeURI(l);b.location.replace("about:blank");var p=RteEngine.getRteById(a);if(p==null){return}var o=p.getImgUrlsArray();for(var g=0;g<o.length;g++){if(o[g].originalUrl==n){o[g].uploadedUrl=l}}var e=c.getImageByFilePath(p,n);if(e){e.src=l;setTimeout(p.fitHeightToVisible,1500)}},getImageByOrigUrl:function(g,c){var f=g.getDocument();var a=f.getElementsByTagName("img");c=c.toLowerCase();for(var b=0;b<a.length;b++){var e=a[b].src.toLowerCase();var d=decodeURI(e);if(e.indexOf(c)!=-1||d.indexOf(c)!=-1){return a[b]}}return null},getImageByFilePath:function(f,c){var e=f.getDocument();var a=e.getElementsByTagName("img");for(var b=0;b<a.length;b++){var d=a[b].getAttribute("class");if(d!=null&&d==c){a[b].removeAttribute("class");return a[b]}}return null},isImageLocal:function(a){var b;if(typeof a=="string"){b=a}else{b=a.src}b=b.toLowerCase();if(b.indexOf("http")==0||b.indexOf("https")==0){return false}return true},UrlPair:function(a,b){this.originalUrl=a;this.uploadedUrl=b},isImageHandled:function(b,d){var c=this.isImageUploaded(b,d);var a=this.isImageWaitingResponse(b,d);return(c&&a)},isImageUploaded:function(a,c){for(var b=0;b<a.length;b++){if(a[b].uploadedUrl==c){return true}}return false},isImageWaitingResponse:function(a,c){for(var b=0;b<a.length;b++){if((a[b].originalUrl==c)&&a[b].uploadedUrl==this.WAIT_FLAG){return true}}return false},getUploadedUrlOfCopy:function(a,c){for(var b=0;b<a.length;b++){if(a[b].originalUrl==c){return a[b].uploadedUrl}}return null},enterCatcher:function(b){var a=getKeyCode(b);if(a==13){stopEventPropagation(b)}}};function Rte(d,c,b){var a=this;this.iframeObj=d;this.dataFieldId=c;this.rtePref=b;this.window=null;this.document=null;this.toolbar=null;this.parentDiv=this.iframeObj.parentNode;this.dataField=null;this.curRange=null;this.isSourceView=false;this.initFrameHeight=null;this.initHtml="";this.isIE=false;this.isOpera=false;this.isNetscape=false;this.skipClose=false;this.currentPopup=null;this.openedAtTime=0;this.styleBtn=null;this.fontBtn=null;this.sizeBtn=null;this.textColorBtn=null;this.bgColorBtn=null;this.smileBtn=null;this.linkBtn=null;this.imageBtn=null;this.objectBtn=null;this.youtubeBtn=null;this.tableBtn=null;this.htmlBtn=null;this.chosenTextClr=null;this.chosenBgClr=null;this.imgUrlsArr=new Array();this.isInitialized=false;this.init=function(){if(this.isInitialized){return}else{this.isInitialized=true}this.browserDetection();this.window=this.iframeObj.contentWindow;this.document=this.window.document;if(typeof this.document.designMode=="undefined"){throw new Error("designMode is not supported")}if(this.isIE){this.document.designMode="On"}this.initFrameHeight=this.iframeObj.clientHeight;this.initContent();if(!this.isIE){this.document.designMode="On"}if(!this.rtePref.autoClose){this.toolbar=this.createToolbar()}if(TouchDlgUtil.isElementFirstParameter(this.iframeObj)){this.window.focus();this.onfocus()}this.setHandlers();if(this.isNetscape){this.document.body.spellcheck=true}if(typeof Browser!="undefined"&&Browser.iPhone){this.document.body.style.webkitUserModify="read-write"}this.document.body.style.backgroundColor="transparent";this.loadCSS()};this.browserDetection=function(){if(Browser.ie){this.isIE=true}else{if(Browser.opera){this.isOpera=true}else{if(Browser.gecko){this.isNetscape=true}}}};this.setHandlers=function(){addEvent(this.iframeObj,"deactivate",this._ondeactivate,false);addEvent(this.document,"keyup",this._onkeyup,false);addEvent(this.document,"dblclick",this._ondblclick,false);addEvent(this.document.body,"paste",this._onpaste,false);if(this.rtePref.autoClose){addEvent(document,"click",this.onlosefocus,false);if(Browser.ie){addEvent(this.iframeObj,"focus",this.onfocus,false)}else{if(Browser.safari||Browser.opera){addEvent(this.window,"focus",this.onfocus,false)}else{addEvent(this.document,"focus",this.onfocus,false)}}}addEvent(this.document,"keydown",this._onkeydown,false)};this.loadCSS=function(){var e=new Array();var j=document.styleSheets;for(var h=0;h<j.length;h++){e.push(j[h].href)}for(var h=0;h<e.length;h++){if(this.document.createStyleSheet){this.document.createStyleSheet(e[h])}else{var g=this.document.getElementsByTagName("head")[0];var f=document.createElement("link");f.setAttribute("rel","stylesheet");f.setAttribute("type","text/css");f.setAttribute("href",e[h]);g.appendChild(f)}}};this.createToolbar=function(){var f=getChildByClassName(this.iframeObj.parentNode,"ctrl_toolbar");if(f!=null){f.parentNode.removeChild(f)}var e=new Toolbar(this.parentDiv,this,32,false,this.iframeObj);if(this.rtePref.buttons.style){this.styleBtn=e.appendButton(this.onStyle,false,RteEngine.IMAGES_FOLDER+"style.png","style")}if(this.rtePref.buttons.font){this.fontBtn=e.appendButton(this.onFont,false,RteEngine.IMAGES_FOLDER+"font.png","font");if(!this.rtePref.noFontSize){this.sizeBtn=e.appendButton(this.onSize,false,RteEngine.IMAGES_FOLDER+"size.png","size")}}if(this.rtePref.buttons.decoration){e.appendButton(this.onBold,false,RteEngine.IMAGES_FOLDER+"bold.png","bold");e.appendButton(this.onItalic,false,RteEngine.IMAGES_FOLDER+"italic.png","italic");e.appendButton(this.onUnderline,false,RteEngine.IMAGES_FOLDER+"underline.png","underline")}if(this.rtePref.buttons.text_color){this.textColorBtn=e.appendButton(this.onTextColor,false,RteEngine.IMAGES_FOLDER+"font_color.png","text color")}if(this.rtePref.buttons.bg_color){this.bgColorBtn=e.appendButton(this.onBackgroundColor,false,RteEngine.IMAGES_FOLDER+"background_color.png","background color")}if(this.rtePref.buttons.link){this.linkBtn=e.appendButton(this.onLink,false,RteEngine.IMAGES_FOLDER+"hyperlink.png","hyperlink")}if(this.rtePref.buttons.image){this.imageBtn=e.appendButton(this.onImage,false,RteEngine.IMAGES_FOLDER+"image.png","image")}if(this.rtePref.buttons.youtube){this.youtubeBtn=e.appendButton(this.onYoutube,false,RteEngine.IMAGES_FOLDER+"youtube.png","insert YouTube video")}if(this.rtePref.buttons.object){this.objectBtn=e.appendButton(this.onObject,false,"icons/addThirdPartyWidget.png","embed object or widget")}if(this.rtePref.buttons.list){e.appendButton(this.onOrderedList,false,RteEngine.IMAGES_FOLDER+"list_num.png","ordered list");e.appendButton(this.onUnorderedList,false,RteEngine.IMAGES_FOLDER+"list_bullet.png","unordered list")}if(this.rtePref.buttons.reundo){e.appendButton(this.onUndo,false,RteEngine.IMAGES_FOLDER+"undo.png","undo")}if(this.rtePref.buttons.align){e.appendButton(this.onAlignLeft,false,RteEngine.IMAGES_FOLDER+"align_left.png","align left");e.appendButton(this.onAlignCenter,false,RteEngine.IMAGES_FOLDER+"align_center.png","align center");e.appendButton(this.onAlignRight,false,RteEngine.IMAGES_FOLDER+"align_right.png","align right");e.appendButton(this.onAlignJustify,false,RteEngine.IMAGES_FOLDER+"justifyfull.png","justify")}if(this.rtePref.buttons.dent){e.appendButton(this.onOutdent,false,RteEngine.IMAGES_FOLDER+"outdent.png","outdent");e.appendButton(this.onIndent,false,RteEngine.IMAGES_FOLDER+"indent.png","indent")}if(this.rtePref.buttons.supsub){e.appendButton(this.onSuperscript,false,RteEngine.IMAGES_FOLDER+"superscript.png","superscript");e.appendButton(this.onSubscript,false,RteEngine.IMAGES_FOLDER+"subscript.png","subscript")}if(this.rtePref.buttons.smile){this.smileBtn=e.appendButton(this.onSmile,false,RteEngine.IMAGES_FOLDER+"smile.gif","smile")}if(this.rtePref.buttons.line){e.appendButton(this.onHorizontalRule,false,RteEngine.IMAGES_FOLDER+"hr.png","horizontal line")}if(this.rtePref.buttons.table){this.tableBtn=e.appendButton(this.onTable,false,RteEngine.IMAGES_FOLDER+"table.png","table")}if(this.rtePref.buttons.reundo&&!this.rtePref.noRedo){e.appendButton(this.onRedo,false,RteEngine.IMAGES_FOLDER+"redo.png","redo")}if(this.rtePref.buttons.html){this.htmlBtn=e.appendButton(this.onSource,true,RteEngine.IMAGES_FOLDER+"html.png","edit HTML source code","view mode")}return e};this.onOverflowBtn=function(){this.skipClose=true};this.initContent=function(){var e=this.getDataField().value;this.putContent(e);this.initHtml=this.getHtmlContent(false)};this.putContent=function(h){if(!Browser.ie){var f=this.document.getElementsByTagName("head")[0];var g=document.createElement("base");g.setAttribute("href",getBaseUri());f.appendChild(g);this.document.body.className="rte_body";this.document.body.style.height="auto";this.document.body.innerHTML=h}else{var e="<html>\n";e+="<head>";e+='<base href="'+getBaseUri()+'" />';e+="</head>";e+='<body class="rte_body">';e+=h+"";e+="</body>";e+="</html>";this.document.open();this.document.write(e);this.document.close()}};this.resetContent=function(){this.document.body.innerHTML=""};this.insertHTML=function(f){try{this.document.execCommand("insertHTML",false,f)}catch(g){if(this.curRange==null){return}this.curRange.pasteHTML(f);this.curRange.collapse(false);this.curRange.select()}this.skipClose=true};this.wrapSelectedText=function(f){if(typeof window.getSelection!="undefined"){var h=this.window.getSelection();if(h.rangeCount<1){return}var g=h.getRangeAt(0);this._wrapTextNodess(g.commonAncestorContainer,f)}else{this.curRange.select();var e=this.document.createTextNode(this.curRange.text);f.appendChild(e);this.curRange.pasteHTML(f.outerHTML)}};this._wrapTextNodess=function(g,e){if(g.nodeType!=3){var j=g.childNodes;for(var f=j.length-1;f>=0;f--){this._wrapTextNodess(j[f],e)}}else{var h=e.cloneNode(true);h.innerHTML=g.nodeValue;swapNodes(g,h)}};this.isAllowedToExecute=function(){if(this.isSourceView){return false}var e=new Date().getTime();if(e-this.openedAtTime<500){return false}return true};this.getHtmlContent=function(k){var i="";if(this.isSourceView){if(typeof this.document.body.innerText=="undefined"){i=this.document.body.textContent}else{i=this.document.body.innerText}}else{i=this.document.body.innerHTML}var e=this.document.body.getElementsByTagName("img");var h=(e&&e.length>0);var j=this.document.body.getElementsByTagName("object");var f=(j&&j.length>0);if(h==false&&f==false&&(typeof k=="undefined"||k)){var g=i.plainText();g=g.replace(/&nbsp;| |\t|\n|\f|\r|\x0B]/g,"");if(g.length==0){return""}}i.replace(/<br[^>]*>$/);return i};this.getId=function(){return this.iframeObj.id};this.getIframe=function(){return this.iframeObj};this.getDocument=function(){return this.document};this.getImgUrlsArray=function(){return this.imgUrlsArr};this.getWidth=function(){return this.iframeObj.offsetWidth};this.getDataField=function(){if(this.dataField==null){this.dataField=getChildById(this.parentDiv,this.dataFieldId);if(this.dataField==null){throw new Error("form field "+this.dataFieldId+" not found")}}return this.dataField};this.putRteData=function(){var e=this.getHtmlContent();if(e==this.initHtml){return}e=e.replace(/\s\n|\n\s/g," ");e=e.replace(/\n/g," ");e=trim(e);this.getDataField().value=e};this.wasTextChanged=function(){var f=this.getHtmlContent();var e=this.getDataField().value;return(f!=e)};this.getSelectedElement=function(){var i=null;if(typeof this.document.selection!="undefined"){var f=this.document.selection.createRange();var i=f.parentElement()}else{if(typeof this.window.getSelection!="undefined"){var h=this.window.getSelection();if(Browser.webkit){var f=h.getRangeAt(0);var i=f.startContainer.parentNode}else{var g=h.focusNode.childNodes.length;if(g==0){i=h.focusNode.parentNode}else{if(g>=h.focusOffset){var e=(h.focusOffset>0)?h.focusOffset-1:0;i=h.focusNode.childNodes[e]}}}}}return i};this.onfocus=function(g){if(a.toolbar==null){a.changePanelWidth(true);if(Browser.webkit&&g!=true){setTimeout(function e(){a.onfocus(true)},410);return}a.toolbar=a.createToolbar()}else{if(a.toolbar.isVisible()){return}}RteEngine.closeAllDisactived(a.iframeObj.id);a.changePanelWidth(true);a.fitHeightToVisible(true);a.iframeObj.style.marginTop=7;a.toolbar.div.style.top=5;a.toolbar.show();a.openedAtTime=new Date().getTime()};this.onlosefocus=function(g){if(!a.isAllowedToExecute()){return}if(a.currentPopup!=null&&a.currentPopup.style.visibility=="visible"){return}if(a.skipClose){a.skipClose=false;return}if(g){var f=getEventTarget(g);if(f.nodeName=="HTML"){return}if(getAncestorByClassName(f,["header","ctrl_toolbar","ctrl_toolbar_dlg"])){return}}a._close()};this._close=function(){a.changePanelWidth(false);a.iframeObj.style.height=a.initFrameHeight;if(a.toolbar){a.iframeObj.style.marginTop=-a.toolbar.getHeight()+5;a.toolbar.hide()}a.iframeObj.setAttribute("scrolling","no")};this.initPanelBlockWidth=null;this.changePanelWidth=function(j){var g=getAncestorByClassName(a.iframeObj,"panel_block");if(!g){return}var i=getAncestorById(a.iframeObj,"div_Edit");if(!i){if(isParentDialogOnPage(g)){if(j){g.style.width=g.parentNode.offsetWidth+"px"}else{if(this.initPanelBlockWidth!=null){g.style.width=this.initPanelBlockWidth}}}return}var h=i.parentNode;var l=getChildById(h,"div_Edit");var e=getNextSibling(h);var f=getPreviousSibling(h.parentNode);var k=getChildById(f,"cpTabs");if(e!=null&&k==null&&f.cells.length>1){k=getLastChild(f)}if(j){g.parentNode.style.textAlign="left";if(Browser.webkit){if(this.initPanelBlockWidth==null){this.initPanelBlockWidth=g.parentNode.offsetWidth}g.style.width=(g.parentNode.offsetWidth+"px")}if(e){e.style.display="none"}else{l.style.maxWidth="none"}if(k){k.style.display="none"}if(Browser.webkit){g.style.width=(g.parentNode.clientWidth-10+"px")}}else{if(e){e.style.display=""}else{l.style.maxWidth="520px"}if(k){k.style.display=""}if(Browser.webkit){g.style.width=this.initPanelBlockWidth+"px"}}};this._ondeactivate=function(){if(!a.isIE){return}if(a.document.selection){a.curRange=a.document.selection.createRange()}};this._onkeyup=function(f){a.fitHeightToVisible();f=getDocumentEvent(f);if((f.ctrlKey&&f.keyCode==86)||(f.shiftKey&&f.keyCode==45)){RteEngine.onPasteHandler(a.iframeObj.id)}else{if(a.isNetscape&&f.ctrlKey&&(f.keyCode==66)){a.performCommand("bold",null,true)}else{if(a.isNetscape&&f.ctrlKey&&(f.keyCode==73)){a.performCommand("italic",null,true)}else{if(a.isNetscape&&f.ctrlKey&&(f.keyCode==85)){a.performCommand("underline",null,true)}else{if(f.ctrlKey&&(f.keyCode==84)){a.setMonospace()}else{if(f.keyCode==27){if(a.toolbar.isVisible()){a._close()}else{TouchDlgUtil.closeAllDialogs()}}else{if(f.keyCode==13&&f.altKey){a.insertHTML("<br style='clear: both;' /><br />");a.fitHeightToVisible()}}}}}}}if(a.toolbar.isVisible()==false){TouchDlgUtil.arrowsHandler(f)}};this._onkeydown=function(f){if(a.isNetscape){if(f.ctrlKey&&(f.keyCode==66||f.keyCode==73||f.keyCode==85||f.keyCode==84)){f.preventDefault()}}else{if(Browser.chrome&&(f.keyCode==33||f.keyCode==34)){f.preventDefault()}}};this.fitHeightToVisible=function(e){var f=a.document.body.scrollHeight;if((Browser.gecko||Browser.webkit)&&!e&&a.document.body.offsetHeight!=0){f=a.document.body.offsetHeight}if(f<a.initFrameHeight){a.iframeObj.style.height=a.initFrameHeight;return}var g=a.iframeObj.clientHeight;if(g<f||(Browser.gecko&&g>f-7)){a.iframeObj.style.height=f+7}};this._onpaste=function(g){var f="RteEngine.onPasteHandler('"+a.iframeObj.id+"')";setTimeout(f,1)};this._ondblclick=function(h){var g=a.getSelectedElement();if(!g.tagName){return}var f=g.tagName.toLowerCase();if(f=="a"){a.onLink(true)}else{if(f=="img"){a.onImage(true)}}};this.onStyle=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchStylePopup(a.styleBtn,a.setStyle)};this.onFont=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchFontPopup(a.fontBtn,a.setFont,a.rtePref.isFewFonts)};this.onSize=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchSizePopup(a.sizeBtn,a.setSize)};this.onSmile=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchSmilePopup(a.smileBtn,a.setSmile)};this.onBold=function(){if(!a.isAllowedToExecute()){return}a.performCommand("bold",null,true);return true};this.onItalic=function(){if(!a.isAllowedToExecute()){return}a.performCommand("italic",null,true);return true};this.onUnderline=function(){if(!a.isAllowedToExecute()){return}a.performCommand("underline",null,true);return true};this.onAlignLeft=function(){if(!a.isAllowedToExecute()){return}a.performCommand("justifyleft",null,true);return true};this.onAlignCenter=function(){if(!a.isAllowedToExecute()){return}a.performCommand("justifycenter",null,true);return true};this.onAlignRight=function(){if(!a.isAllowedToExecute()){return}a.performCommand("justifyright",null,true);return true};this.onAlignJustify=function(){if(!a.isAllowedToExecute()){return}a.performCommand("justifyfull",null,true);return true};this.onHorizontalRule=function(){if(!a.isAllowedToExecute()){return}a.performCommand("inserthorizontalrule",null,true);return true};this.onOrderedList=function(){if(!a.isAllowedToExecute()){return}a.performCommand("insertorderedlist",null,true);return true};this.onUnorderedList=function(){if(!a.isAllowedToExecute()){return}a.performCommand("insertunorderedlist",null,true);return true};this.onOutdent=function(){if(!a.isAllowedToExecute()){return}a.performCommand("outdent",null,true);return true};this.onIndent=function(){if(!a.isAllowedToExecute()){return}a.performCommand("indent",null,true);return true};this.onTextColor=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchTextColorPopup(a.textColorBtn,a.setTextColor,a.chosenTextClr)};this.onBackgroundColor=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchBgColorPopup(a.bgColorBtn,a.setBackgroundColor,a.chosenBgClr)};this.onLink=function(i){if(typeof i=="undefined"){i=false}if(!a.isAllowedToExecute()){return}var g="";var f=false;var e=a.getSelectedElement();if(e&&e.tagName&&e.tagName.toLowerCase()=="a"){g=e.href;f=e.getAttribute("target")=="_blank"}if(i){if(g.length==0){return}}if(g.endsWith("/")){g=g.substr(0,g.length-1)}var h=(i)?a.styleBtn:a.linkBtn;a.currentPopup=RteEngine.launchLinkPopup(h,a.setLink,a.cancelLink,g,f)};this.onImage=function(g){if(typeof g=="undefined"){g=false}if(!a.isAllowedToExecute()){return}var f=a.getSelectedElement();if(!f||!f.tagName||f.tagName.toLowerCase()!="img"){f=null}var e=(g)?a.styleBtn:a.imageBtn;a.currentPopup=RteEngine.launchImagePopup(e,a.setImage,a.iframeObj.id,a.cancelImage,f)};this.onYoutube=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchYoutubePopup(a.youtubeBtn,a.setYoutube)};this.onObject=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchObjectPopup(a.objectBtn,a.setObject)};this.onTable=function(){if(!a.isAllowedToExecute()){return}a.currentPopup=RteEngine.launchTablePopup(a.tableBtn,a.setTable,a.cancelImage)};this.onSuperscript=function(){if(!a.isAllowedToExecute()){return}a.performCommand("superscript",null,true);return true};this.onSubscript=function(){if(!a.isAllowedToExecute()){return}a.performCommand("subscript",null,true);return true};this.onRedo=function(){if(!a.isAllowedToExecute()){return}a.performCommand("redo",null,true);return true};this.onUndo=function(){if(!a.isAllowedToExecute()){return}a.performCommand("undo",null,true);return true};this.onSource=function(g){var f;var h=true;if(a.document.importNode){if(g){f=document.createTextNode(a.document.body.innerHTML);a.document.body.innerHTML="";f=a.document.importNode(f,false);a.document.body.appendChild(f);if(!h){a.document.designMode="Off"}}else{f=a.document.body.ownerDocument.createRange();f.selectNodeContents(a.document.body);a.document.body.innerHTML=f.toString();a.document.designMode="On"}}else{if(g){var e=a.document.body.innerHTML;if(!h){a.document.designMode="Off"}a.putContent(e);a.document.body.innerText=e}else{var i=a.document.body.innerText;a.document.designMode="On";a.putContent(i)}}a.isSourceView=g;if(a.isSourceView){a.toolbar.disableAllControls(a.htmlBtn)}else{a.toolbar.enableAllControls()}a.skipClose=true;return true};this.setStyle=function(e){var f=RteEngine.STYLES[e].value;a.performCommand("formatblock",f);return true};this.setFont=function(e){if(a.rtePref.isFewFonts){var f=RteEngine.FONTS[e]}else{var f=RteEngine.FONTS_FEW[e]}a.performCommand("fontname",f);return true};this.setSize=function(e){var g=e+1;var f=a.document.createElement("span");f.className=RteEngine.FONT_SIZE[e].value;a.wrapSelectedText(f);a.skipClose=true;return true};this.setSmile=function(e){var g=RteEngine.getHostUrl();var f=g+RteEngine.IMAGES_FOLDER+"smiles/"+(e+1)+".gif";a.insertHTML("<img src="+f+">")};this.setTextColor=function(e,g){if(g){var f=a.document.createElement("span");f.className="csp_"+e;a.wrapSelectedText(f);return}a.performCommand("forecolor",e);a.chosenTextClr=e;return true};this.setBackgroundColor=function(e,g){if(g){var f=a.document.createElement("span");f.className="csp_bg_"+e;a.wrapSelectedText(f);return}if(a.performCommand("hilitecolor",e)==false){a.performCommand("backcolor",e)}a.chosenBgClr=e;return true};this.setLink=function(l){var k="__target_blank__";a.skipClose=true;var g=a.getSelectedElement();var f=(g&&g.tagName&&g.tagName.toLowerCase()=="a");if(f){if(!l.url){a.performCommand("delete");return}g.setAttribute("href",l.url);if(l.is_blank){g.setAttribute("target","_blank")}else{g.removeAttribute("target")}return}var e=l.url;if(l.is_blank){e+=k}a.performCommand("createlink",e);if(l.is_blank){var h=a.document.body.getElementsByTagName("a");for(var j=0;j<h.length;j++){if(h[j].href.indexOf(k)!=-1){h[j].setAttribute("target","_blank");h[j].href=h[j].href.replace(k,"").replace(/\/$/,"")}}}return true};this.setImage=function(e,l,i,j){if(e.length!=0){if(e.indexOf("%2520")!=-1||e.indexOf("%252F")!=-1){e=decodeURI(e)}var h=(l=="left"||l=="right");var k=(j==0)?"class":"src";var g="<img "+k+'="'+e+'"';var f="";if(h){f+="float: "+l+";"}else{g+=' align="'+l+'"'}if(i){f+="margin:"+i+";"}g+=' style="'+f+'"';g+=" />";this.insertHTML(g)}return true};this.setYoutube=function(f){if(!f.youtube_id||!f.width||!f.height){alert("enter all parameters!");return}var e="<object wmode='transparent' width='"+f.width+"' height='"+f.height+"'><param name='movie' value='http://www.youtube.com/v/"+f.youtube_id+"?fs=1&amp;rel=0;wmode=transparent'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><param value='transparent' name='wmode'></param><embed src='http://www.youtube.com/v/"+f.youtube_id+"?fs=1&amp;rel=0;wmode=transparent' type='application/x-shockwave-flash' width='"+f.width+"' height='"+f.height+"' allowscriptaccess='always' allowfullscreen='true' wmode='transparent' '></embed></object>";a.insertHTML(e);setTimeout(a.fitHeightToVisible,1500)};this.setObject=function(f){var g="[!object]";a.insertHTML(g);var e=a.document.body.innerHTML;e=e.replace(g,f.html);a.document.body.innerHTML=e;a.onSource(true);a.onSource(false)};this.setTable=function(g){var e="<table width="+g.width+g.widthType+" cellpadding="+g.padding+" cellspacing="+g.spacing+" border="+g.border+"> ";for(var f=0;f<g.rows;f++){e+=" <tr>";for(var h=0;h<g.columns;h++){e+=" <td></td>"}e+=" </tr>"}e+=" </table>";a.insertHTML(e)};this.setMonospace=function(){if(typeof a.document.selection!="undefined"){var e=a.document.selection.createRangeCollection();for(var h=0;h<e.length;h++){var g='<span style="font-family: monospace;">'+e[h].htmlText+"</span>";e[h].pasteHTML(g)}}else{if(typeof a.window.getSelection!="undefined"){var k=window.getSelection();if(typeof k.rangeCount!="undefined"&&k.rangeCount>0){var f=k.getRangeAt(0);if(typeof f.surroundContents!="undefined"){var j=a.document.createElement("div");j.style.fontFamily="monospace";f.surroundContents(j)}}}}};this.cancelLink=function(){a.skipClose=true};this.cancelImage=function(){a.skipClose=true};this.cancelTable=function(){a.skipClose=true};this.performCommand=function(j,g,f){this.window.focus();if(this.isSourceView){return}try{var i=false;if(this.curRange!=null){this.curRange.select();i=this.curRange.execCommand(j,false,g)}if(i==false){this.document.execCommand(j,false,g)}}catch(h){return false}this.window.focus();this.skipClose=true;return true};this.init()}function TArea(d,c,b){var a=this;this.textArea=null;this.iframeObj=d;this.dataFieldId=c;this.parentDiv=this.iframeObj.parentNode;this.dataField=null;this.initHeight=null;this.init=function(){this.textArea=document.createElement("textarea");this.textArea.style.width="100%";this.textArea.style.height=this.iframeObj.clientHeight;this.initHeight=this.iframeObj.clientHeight;this.textArea.style.fontSize="14px";this.textArea.id=this.iframeObj.id;var f=this.getDataField().value;var e=f.replace(/<\/?[^>]+(>|$)/g,"");this.textArea.innerText=e;addEvent(this.textArea,"keyup",this._onkeyup,false);addEvent(this.textArea,"focus",this.onfocus,false);addEvent(document,"mouseup",this.onlosefocus,false);this.parentDiv.replaceChild(this.textArea,this.iframeObj)};this.getId=function(){return this.textArea.id};this.getDataField=function(){if(this.dataField==null){this.dataField=getChildById(this.parentDiv,this.dataFieldId);if(this.dataField==null){throw new Error("form field "+this.dataFieldId+" not found")}}return this.dataField};this.putRteData=function(){this.getDataField().value=this.textArea.value};this.onfocus=function(){a.fitHeightToVisible();RteEngine.closeAllDisactived(a.iframeObj.id)};this.onlosefocus=function(f){a.textArea.style.height=a.initHeight};this._onkeyup=function(e){a.fitHeightToVisible()};this.fitHeightToVisible=function(){var e=a.textArea.scrollHeight;if(e<a.initHeight){return}var f=a.textArea.clientHeight;if(f!=e){a.textArea.height=e}};this.init()}g_loadedJsFiles["richtext.js"]=true;
