/**********************
FreeTextBox.com
---------------
FreeTextBox 4.0 core is licensed under an MIT-style license
It may be used in any way as long as this message appears.
**********************/
var Refresh={};Refresh.Web={version:'4_0_0',status:'beta1'};window.Refresh=Refresh;var FTB_MODE_DESIGN=0;var FTB_MODE_CODE=1;var FTB_BUTTONSTATE_DISABLED=0;var FTB_BUTTONSTATE_NORMAL=1;var FTB_BUTTONSTATE_HIGHLIGHT=2;var FTB_BREAKMODE_BR=0;var FTB_BREAKMODE_P=1;var FTB_BREAKMODE_DIV=2;var FTB_TABMODE_SPACES=0;var FTB_TABMODE_EXIT=1;var FTB_TABMODE_NONE=2;var FTB_EVENTCHAR_BOLD=66;var FTB_EVENTCHAR_ITALIC=73;var FTB_EVENTCHAR_UNDERLINE=85;var FTB_EVENTCHAR_UNDO=90;var FTB_EVENTCHAR_REDO=89;var FTB_EVENTCHAR_CUT=88;var FTB_EVENTCHAR_COPY=67;var FTB_EVENTCHAR_PASTE=86;var FTB_EVENTCHAR_PRINT=80;Refresh.defaultTheme='office12';Refresh.path='';var scriptTags=document.getElementsByTagName("script");for(var i=0;i<scriptTags.length;i++){if(scriptTags[i].src&&scriptTags[i].src.match(/(Startup|ftb(-debug|-pro)?)\.js(\?.*)?$/)){Refresh.path=scriptTags[i].src.replace(/(Startup|ftb(-debug|-pro)?)\.js(\?.*)?$/,'');break}}Refresh.windowPath=Refresh.path+'popups/';Refresh.Web.HTML={create:function(type,atts,text){var el=document.createElement(type);this.applyAttributes(el,atts);if(text){if(!text.match(/</g)){this.addText(el,text)}else{el.innerHTML=text}}return el},append:function(parent,type,atts,text){var el=this.create(type,atts,text);parent.appendChild(el);return el},applyAttributes:function(el,atts){if(atts){for(att in atts)el[att]=atts[att]}},addText:function(el,text){var t=document.createTextNode(text);el.appendChild(t)},text:function(el,text){this.clear(el);this.addText(el,text)},clear:function(el){while(el.childNodes.length>0)el.removeChild(el.childNodes[el.childNodes.length-1]);return el}};Refresh.Web.BrowserInfo={init:function(){var d=window.document;var a=navigator.appVersion.toLowerCase();var n=navigator.appName.toLowerCase();var u=navigator.userAgent.toLowerCase();var v=0;this.isRich=false;this.isMac=(a.indexOf('mac')!=-1);this.isWin=(((a.indexOf('win')!=-1)||(a.indexOf('nt')!=-1))&&!this.isMac);this.isLinux=(a.indexOf('linux')!=-1);this.isiPhone=(a.indexOf('iphone')!=-1);this.isOpera=(u.indexOf('opera')!=-1);this.isIE=(a.indexOf('msie')!=-1&&!this.isOpera);this.isKonq=(u.indexOf('konqueror')!=-1);this.isSafari=(u.indexOf('safari')!=-1);this.isSafari2=this.isSafari3=false;this.isGecko=(u.indexOf('gecko')!=-1&&!this.isSafari&&!this.isKonq);if(this.isIE&&!this.isMac){v=a.substring(a.indexOf("msie")+5,a.indexOf(";",a.indexOf("msie")));if(parseFloat(v)>5.5)this.isRich=true}else if(this.isGecko){v=u.substring(u.indexOf("gecko/")+6);v=v.substring(v,v.indexOf(" "));if(parseFloat(v)>20030624)this.isRich=true}else if(this.isOpera){v=u.substring(u.indexOf('opera/')+6);if(parseFloat(v)>=9.0)this.isRich=true}else if(this.isSafari){v=u.substring(u.indexOf("safari/")+7);if(parseFloat(v)>=312&&!this.isiPhone)this.isRich=true;if(u.indexOf('version/3')!=-1){this.isSafari3=true;this.isSafari2=false}else{this.isSafari2=true;this.isSafari3=false}}}};Refresh.Web.BrowserInfo.init();Refresh.Utility={ensureTheme:function(theme){var path=Refresh.path+'themes/'+theme+'/style.css';var found=this.checkForCss(path);if(!found)this.addStyleSheet(path)},ensureFloatie:function(theme){var path=Refresh.path+'themes/'+theme+'/style-floatie.css';var found=this.checkForCss(path);if(!found)this.addStyleSheet(path)},checkForCss:function(path){var styles=document.getElementsByTagName('link');var foundCss=false;for(var i=0;i<styles.length;i++){var style=styles[i];if(style.getAttribute('href').indexOf(path)>-1){foundCss=true;break}}},addStyleSheet:function(path){var head=document.getElementsByTagName('head')[0];var link=Refresh.Web.HTML.append(head,'link',{rel:'stylesheet',href:path})},ensureLanguage:function(lang){var path=Refresh.path+'languages/'+lang+'.js';var found=this.checkForScript(path);if(!found)this.addScript(path)},checkForScript:function(path){var scripts=document.getElementsByTagName('script');var foundScript=false;for(var i=0;i<scripts.length;i++){var scriptTag=scripts[i];if(scriptTag.src.indexOf(path)>-1){foundScript=true;break}}return foundScript},addScript:function(path){var head=document.getElementsByTagName('head')[0];var link=Refresh.Web.HTML.append(head,'script',{type:'text/javascript',src:path,charset:'utf-8'})},makeUnselectable:function(node){if(node&&node.nodeType==1){node.unselectable='on';if(Refresh.Web.BrowserInfo.IsGecko){node.style.mozUserFocus='ignore';node.style.mozUserInput='disabled';node.style.mozUserSelect='none'}if(!node.childNodes)return;for(var i=0;i<node.childNodes.length;i++)Refresh.Utility.makeUnselectable(node.childNodes[i])}},getNodeWordCount:function(node){if(node==null)return 0;var words='';function getNodeText(node){if(node.nodeType==3){words+=node.nodeValue+' '}if(node.childNodes!=null){for(var i=0;i<node.childNodes.length;i++){getNodeText(node.childNodes.item(i))}}}getNodeText(node);return this.getTextWordCount(words)},getTextWordCount:function(words){var count=0;if(!words)return 0;if(words.text)words=words.text;words=new String(words);var matches=words.match(/\b\w+\b/g);if(matches!=null)count=matches.length;return count},makeFontSizesOptions:function(sizes){var options=[];for(var i=0;i<sizes.length;i++){options.push(new Refresh.Web.UI.RichOption('<font size="'+sizes[i]+'">'+sizes[i]+'</font>',sizes[i],sizes[i]))}return options},makeFontFacesOptions:function(fontnames){var options=[];for(var i=0;i<fontnames.length;i++){options.push(new Refresh.Web.UI.RichOption('<span style="font-family:'+fontnames[i]+';">'+fontnames[i]+'</span>',fontnames[i],fontnames[i]))}return options},decToHex:function(dec){return parseInt(dec).toString(16)},rgbToHex:function(r,g,b){return"#"+this.intToHex(r)+this.intToHex(g)+this.intToHex(b)},intToHexColor:function(intColor){if(!intColor)return null;intColor=intColor.toString(16).toUpperCase();while(intColor.length<6)intColor="0"+intColor;return"#"+intColor.substring(4,6)+intColor.substring(2,4)+intColor.substring(0,2)},rgbStringToHex:function(rgbString){var r,g,b;rgbString=rgbString.toString().toLowerCase();if(rgbString.indexOf("rgb(")==-1||rgbString.indexOf(")")==-1)return rgbString;rgbString=rgbString.substring(rgbString.indexOf("(")+1,rgbString.indexOf(")")-1);rgb=rgbString.split(',');r=rgb[0];g=rgb[1];if(rgb.length==2)b=rbg[2];else b=0;return this.rgbToHex(r,g,b)},intToHex:function(dec){var result=(parseInt(dec).toString(16));if(result.length==1)result("0"+result);return result.toUpperCase()},setOpacity:function(node,opacity){var s=node.style;s.opacity=(opacity/100);s.MozOpacity=(opacity/100);s.KhtmlOpacity=(opacity/100);s.filter="alpha(opacity="+opacity+")"},getQueryString:function(){var vars=[];var url=window.location.href;if(url.indexOf('?')==-1)return vars;if(url.indexOf('#')>-1)url=url.substring(0,url.indexOf('#')-1);var queryString=url.substring(url.indexOf('?')+1);var parts=queryString.split('&');for(var i=0;i<parts.length;i++){var c=parts[i].split('=');vars[c[0]]=c[1]}return vars}};Refresh.Web.PopupWindow={_currentUrl:null,_currentWindow:null,open:function(url,width,height){this._currentUrl=url;this._currentWindow=window.open(this._currentUrl,'ftbwindow','height='+height+', width='+width+', toolbars=0, menubar=0, resizable=1')}};Refresh.Web.ModalWindow={_initialized:false,_loadingUrl:Refresh.windowPath+'blank.html',initialize:function(){this._overlay=document.createElement('div');this._overlay.id='ModalOverlay';document.body.appendChild(this._overlay);this._overlay.className='modalOverlay';this._container=document.createElement('div');this._container.id='ModalContainer';document.body.appendChild(this._container);this._container.innerHTML='<div id="ModalInner">'+'<div id="ModalTitleBar">'+'<div id="ModalTitle"></div>'+'<div id="ModalButtons">'+'<div id="ModalCloseButton" onclick="Refresh.Web.ModalWindow.hide();" ></div>'+'</div>'+'</div>'+'<iframe src="'+this._loadingUrl+'" style="width:100%;height:100%;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="ModalFrame" name="ModalFrame" width="100%" height="100%"></iframe>'+'</div>';this._frame=$('ModalFrame');this._titleBar=$('ModalTitleBar');Event.observe(this._titleBar,"mousedown",this._initDrag.bindAsEventListener(this));this._hideSelects=true;this._hideObjects=true;this._initialized=true},show:function(url,width,height){if(Refresh.Web.BrowserInfo.isSafari){Refresh.Web.PopupWindow.open(url,width,height);return}if(!this._initialized)this.initialize();this._overlay.style.display="block";this._container.style.display="block";this._centerModalWindow(width,height);var titleBarHeight=parseInt(document.getElementById("ModalTitleBar").offsetHeight,10);this._container.style.width=width+"px";this._container.style.height=(height+titleBarHeight)+"px";this._frame.style.width=parseInt(document.getElementById("ModalTitleBar").offsetWidth,10)+"px";this._frame.style.height=(height)+"px";this._tempTitle=window.frames["ModalFrame"].document.title;this._frame.src=url;if(Refresh.Web.BrowserInfo.isIE){this._hideSelectBoxes()}window.setTimeout("Refresh.Web.ModalWindow.setPopTitle();",249)},hide:function(){if(!this._initialized)return;this._overlay.style.display="none";this._container.style.display="none";this._frame.src=this._loadingUrl;if(this._hideSelects||this._hideObjects){this._displaySelectBoxes()}},_centerModalWindow:function(width,height){var fullHeight=this.getViewportHeight();var fullWidth=this.getViewportWidth();var theBody=document.documentElement;var scTop=parseInt(theBody.scrollTop,10);var scLeft=parseInt(theBody.scrollLeft,10);this._overlay.style.height=fullHeight+"px";this._overlay.style.width=fullWidth+"px";this._overlay.style.top=scTop+"px";this._overlay.style.left=scLeft+"px";var titleBarHeight=parseInt(document.getElementById("ModalTitleBar").offsetHeight,10);this._container.style.top=(scTop+((fullHeight-(height+titleBarHeight))/2))+"px";this._container.style.left=(scLeft+((fullWidth-width)/2))+"px"},getViewportHeight:function(){if(window.innerHeight!=window.undefined)return window.innerHeight;if(document.compatMode=='CSS1Compat')return document.documentElement.clientHeight;if(document.body)return document.body.clientHeight;return window.undefined},getViewportWidth:function(){if(window.innerWidth!=window.undefined)return window.innerWidth;if(document.compatMode=='CSS1Compat')return document.documentElement.clientWidth;if(document.body)return document.body.clientWidth;return window.undefined},_hideSelectBoxes:function(){for(var i=0;i<document.forms.length;i++){for(var e=0;e<document.forms[i].length;e++){if((this._hideSelects&&document.forms[i].elements[e].tagName=="SELECT")||(this._hideObjects&&document.forms[i].elements[e].tagName=="OBJECT")){document.forms[i].elements[e].style.visibility="hidden"}}}},_displaySelectBoxes:function(){for(var i=0;i<document.forms.length;i++){for(var e=0;e<document.forms[i].length;e++){if((this._hideSelects&&document.forms[i].elements[e].tagName=="SELECT")||(this._hideObjects&&document.forms[i].elements[e].tagName=="OBJECT")){document.forms[i].elements[e].style.visibility="visible"}}}},_initDrag:function(){},setPopTitle:function(){if(window.frames["ModalFrame"].document.title==null||window.frames["ModalFrame"].document.title==this._tempTitle){window.setTimeout("Refresh.Web.ModalWindow.setPopTitle();",99)}else{document.getElementById("ModalTitle").innerHTML=window.frames["ModalFrame"].document.title}}};Refresh.Web.Localization=Class.create();Refresh.Web.Localization={_languages:new Object(),_defaultLanguage:'en-us',_currentLanguage:null,addLanguage:function(language,values){language=language.toLowerCase();this._languages[language]=values;this._currentLanguage=language},hasLanguage:function(language){language=language.toLowerCase();return(this._languages[language]!=null)},getValue:function(key,language){key=key.toLowerCase();if(typeof(language)=='undefined'){language=this._currentLanguage}language=language.toLowerCase();if(!this.hasLanguage(language)){language=this._defaultLanguage}var value=this._languages[language][key];if(typeof(value)=='undefined'||value==null){if(language!=this._defaultLanguage)value=this._languages[this._defaultLanguage][key];if(typeof(value)=='undefined'||value==null)value='MISSING:'+language+':'+key}return value},updateLanguageElements:function(doc,language){var elements=document.getElementsByClassName('langRec',doc);for(var i=0;i<elements.length;i++){var key=elements[i].getAttribute('langKey');if(key==null)key=elements[i].id;if(elements[i].tagName.toLowerCase()=='input'){elements[i].value=this.getValue(key,language)}else{elements[i].innerHTML=this.getValue(key,language)}}}};Refresh.Web.Localization.addLanguage('en-US',{yes:'Yes',no:'No',designmodetab:'Design',htmlmodetab:'HTML',bold:'Bold',bulletedlist:'Bulled List',copy:'Copy',createlink:'Create Link',cut:'Cut',deleteItem:'Delete',indent:'Indent',insertdate:'Insert Date',insertimage:'Insert Image',insertrule:'Insert Rule',inserttime:'Insert Time',italic:'Italic',justifyright:'Justify Right',justifycenter:'Justify Center',justifyfull:'Justify Full',justifyleft:'Justify Left',numberedlist:'Numbered List',outdent:'Outdent',paste:'Paste',print:'Print',redo:'Redo',removeformat:'Remove All Formatting',save:'Save',strikethrough:'StrikeThrough',superscript:'Superscript',subscript:'Subscript',underline:'Underline',undo:'Undo',unlink:'Remove Link',iespellcheck:'IE Spell Check',netspell:'Net Spell Check',insertimagefromgallery:'Insert Image From Gallery',wordclean:'Clean MS Word HTML',editstyle:'Edit Nearest Element Style',preview:'Preview Window',selectall:'Select All',fontforecolorpicker:'Fore Color Picker',fontbackcolorpicker:'Background Color Picker',insertdiv:'Insert DIV',switchmode:'Switch Mode',statuswords:'Words',inserttable:'Insert Table',edittable:'Edit Table',inserttablerowafter:'Insert Row After',inserttablerowbefore:'Insert Row Before',inserttablecolumnafter:'Insert Column After',inserttablecolumnbefore:'Insert Column Before',deletetablecolumn:'Delete Column',deletetablerow:'Delete Row',insertform:'Insert Form',insertdropdownlist:'Insert Select',inserttextbox:'Insert TextBox',insertcheckbox:'Insert CheckBox',inserttextarea:'Insert TextArea',insertbutton:'Insert Button',insertradiobutton:'Insert Radio Button',fontforecolorsmenu:'Color',fontbackcolorsmenu:'Highlight',fontsizesmenu:'Size',paragraphmenu:'Paragraph',fontfacesmenu:'Font',inserthtmlmenu:'Insert Html',symbolsmenu:'Symbols',stylesmenu:'Styles',paragraphmenu_normal:'Normal',paragraphmenu_heading1:'Heading 1',paragraphmenu_heading2:'Heading 2',paragraphmenu_heading3:'Heading 3',paragraphmenu_heading4:'Heading 4',paragraphmenu_heading5:'Heading 5',paragraphmenu_heading6:'Heading 6',paragraphmenu_formatted:'Formatted',paragraphmenu_address:'Address'});var CodeEditor=Class.create();CodeEditor.prototype={initialize:function(id,parameters){this.textarea=$(id);if(this.textarea.tagName.toLowerCase()!='textarea'){return}this.eventKeydown=this._onKeyDown.bindAsEventListener(this);Event.observe(this.textarea,"keydown",this.eventKeydown)},_onKeyDown:function(event){if(event.keyCode==Event.KEY_TAB){Event.stop(event);var storedScrollTop=this.textarea.scrollTop;if(document.selection){var range=document.selection.createRange();var stored_range=range.duplicate();stored_range.moveToElementText(this.textarea);stored_range.setEndPoint('EndToEnd',range);start=stored_range.text.length-range.text.length;end=start+range.text.length;}else{start=this.textarea.selectionStart;end=this.textarea.selectionEnd}var sel=this.textarea.value.substring(start,end);var charBeforeSelection=(start>0)?this.textarea.value.substring(start-1,start):'';var charAfterSelection=(end<this.textarea.value.length)?this.textarea.value.substring(end,end+1):'';var singleLineHighlighted=((start!=end)&&(charAfterSelection==''||charAfterSelection=='\n'));if(!singleLineHighlighted&&(start==end||sel.indexOf('\n')==-1)){if(event.shiftKey){if(charBeforeSelection=='\t'){this.textarea.value=this.textarea.value.substring(0,start-1)+this.textarea.value.substring(start,this.textarea.value.length);this.setSelection(this.textarea,start-1,end-1)}}else{if(document.selection){document.selection.createRange().text='\t'}else{this.textarea.value=this.textarea.value.substring(0,start)+'\t'+this.textarea.value.substring(end,this.textarea.value.length);this.setSelection(this.textarea,start+1,start+1)}}}else{var lineStart=start;while(lineStart>0&&this.textarea.value.substring(lineStart,lineStart+1)!='\n'){lineStart--}var textToTab=this.textarea.value.substring(lineStart,end);var initialLength=textToTab.length;if(event.shiftKey){textToTab=textToTab.replace(new RegExp(/\n\t/g),'\n');if(lineStart==0&&textToTab.substring(0,1)=='\t'){textToTab=textToTab.substring(1,textToTab.length)}}else{textToTab=((lineStart==0)?'\t':'')+textToTab.replace(new RegExp(/\n/g),'\n\t')}this.textarea.value=this.textarea.value.substring(0,lineStart)+textToTab+this.textarea.value.substring(end,this.textarea.value.length);var newStart=start+((event.shiftKey)?-1:1);var newEnd=end+(textToTab.length-initialLength);this.setSelection(this.textarea,newStart,newEnd)}this.textarea.scrollTop=storedScrollTop}},setSelection:function(input,start,end){if(document.selection){var lineBreaksFromBeginningToStart=0;var fromIndex=input.value.indexOf('\n',0);while(fromIndex>-1&&fromIndex<start){lineBreaksFromBeginningToStart++;fromIndex=input.value.indexOf('\n',fromIndex+1)}var numberOfLineBreaksInSelection=0;fromIndex=input.value.indexOf('\n',start);while(fromIndex>-1&&fromIndex<end){numberOfLineBreaksInSelection++;fromIndex=input.value.indexOf('\n',fromIndex+1)}var range=input.createTextRange();range.collapse(true);range.moveStart('character',start-lineBreaksFromBeginningToStart);range.moveEnd('character',end-start-numberOfLineBreaksInSelection);range.select()}else{input.setSelectionRange(start,end)}}};Refresh.Web.FreeTextBoxList=[];Refresh.Web.CurrentFreeTextBox=null;Refresh.Web.DefaultFreeTextBoxSettings={width:null,height:null,styleSheetUrls:[],theme:Refresh.defaultTheme,breakMode:FTB_BREAKMODE_P,bodyID:'',bodyCssClass:'',cssPrefix:'',baseUrl:'',baseFont:'',language:'en-US',isToolbarVisible:true,isStatusVisible:true,tabMode:FTB_TABMODE_EXIT,tabIndex:-1,isFullDocument:false,docType:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',autoFormat:true,toolbarUpdateInterval:400,toolbarGroups:null,textDirection:'ltr',galleryUrl:'pro-filegallery.html',rootGalleryFolder:'',isSafari2Supported:true};Refresh.Web.FreeTextBox=Class.create();Refresh.Web.FreeTextBox.prototype={_allowRevert:false,_toolbars:null,_changeEvents:null,_mode:FTB_MODE_DESIGN,_hasFocus:false,initialized:false,initialize:function(id,settings){this.browser=Refresh.Web.BrowserInfo;this.id=id;this.settings=Object.extend(Object.extend({},Refresh.Web.DefaultFreeTextBoxSettings),settings||{});if(!this.browser.isRich||(this.browser.isSafari2&&!this.settings.isSafari2Supported)){return}this._toolbars=[];this._changeEvents=[];Refresh.Utility.ensureTheme(this.settings.theme);Refresh.Utility.ensureLanguage(this.settings.language);var ftb=this;Refresh.Web.FreeTextBoxList.push(ftb);var design=$(this.id+'_Editor');if(design==null){var objToConvert=$(this.id);if(objToConvert==null){return}var codeEditor=null;if(objToConvert.tagName.toLowerCase()=='textarea'){codeEditor=objToConvert}else if(objToConvert.tagName.toLowerCase()=='input'){codeEditor=document.createElement('textarea');codeEditor.value=objToConvert.value}else if(objToConvert.tagName.toLowerCase()=='div'){this._allowRevert=true;this.orginalElement=objToConvert;codeEditor=document.createElement('textarea');codeEditor.value=objToConvert.innerHTML}else{alert(id+' is not a supported element');return}var objSize={width:0,height:0};objSize.width=objToConvert.style.width;objSize.height=objToConvert.style.height;var objDim=Element.getDimensions(objToConvert);if(objSize.width=='')objSize.width=objDim.width+'px';if(objSize.height=='')objSize.height=objDim.height+'px';if(!this.settings.width)this.settings.width=objSize.width;if(!this.settings.height)this.settings.height=objSize.height;codeEditor.style.border=0;codeEditor.style.padding=0;codeEditor.style.margin=0;codeEditor.style.background='transparent';codeEditor.style.width=0;codeEditor.style.height=0;if(this.browser.isGecko)codeEditor.setAttribute('wrap','off');else codeEditor.wrap='off';this.node=Refresh.Web.HTML.create('table',{id:this.id+'_EditorTable',cellPadding:0,cellSpacing:0,border:0,className:this.settings.cssPrefix+'editor'});var tbody=Refresh.Web.HTML.append(this.node,'tbody');var toolRow=Refresh.Web.HTML.append(tbody,'tr');var toolCell=Refresh.Web.HTML.append(toolRow,'td');this.toolbarNode=Refresh.Web.HTML.append(toolCell,'div',{id:this.id+'_EditorToolbars',className:this.settings.cssPrefix+'editorToolbars'});toolRow.style.display=(this.settings.isToolbarVisible)?'':'none';var editorRow=Refresh.Web.HTML.append(tbody,'tr');var editorCell=Refresh.Web.HTML.append(editorRow,'td');var editorDiv=Refresh.Web.HTML.append(editorCell,'div',{id:this.id+'_EditorContainer',className:this.settings.cssPrefix+'editorContainer'+' '+this.settings.cssPrefix+'editorContainer_Blur'});var iframe=document.createElement('iframe');editorDiv.appendChild(iframe);iframe.setAttribute('id',this.id+'_Editor');iframe.style.border='0';iframe.style.padding='0';iframe.style.margin='0';iframe.style.background='transparent';iframe.src=Refresh.windowPath+'blank.html';if(this.settings.isStatusVisible){var tabsRow=Refresh.Web.HTML.append(tbody,'tr');var tabsCell=Refresh.Web.HTML.append(tabsRow,'td');var statusDiv=Refresh.Web.HTML.append(tabsCell,'div',{id:this.id+'_EditorStatusBar',className:this.settings.cssPrefix+'editorStatusBar'});var designTab=Refresh.Web.HTML.append(statusDiv,'div',{id:this.id+'_DesignTab',className:this.settings.cssPrefix+'editorTab '+this.settings.cssPrefix+'editorTabDesign'});var htmlTab=Refresh.Web.HTML.append(statusDiv,'div',{id:this.id+'_CodeTab',className:this.settings.cssPrefix+'editorTab '+this.settings.cssPrefix+'editorTabCode'});var statusArea=Refresh.Web.HTML.append(statusDiv,'div',{id:this.id+'_Status',className:this.settings.cssPrefix+'editorStatus'});var clear=Refresh.Web.HTML.append(statusDiv,'div');clear.style.clear='both'}objToConvert.parentNode.insertBefore(this.node,objToConvert);editorDiv.insertBefore(codeEditor,iframe);if(codeEditor!=objToConvert){objToConvert.parentNode.removeChild(objToConvert);codeEditor.setAttribute('id',this.id);codeEditor.setAttribute('name',this.id)}}this._designEditor=$(this.id+'_Editor');this._codeEditor=$(this.id);this._editorContainer=$(this.id+'_EditorContainer');this._editorTable=$(this.id+'_EditorTable');this._editorTable.style.width=this.settings.width;this._editorContainer.style.width=this.settings.width;this._editorContainer.style.height=this.settings.height;this._codeEditor.style.width=0;this._codeEditor.style.height=0;this._startValue=this._codeEditor.value;var code=new CodeEditor(this.id);this._designEditor.style.width=this.settings.width;this._designEditor.style.height=this.settings.height;this._addedEvents={};this.initializeEditor()},initializeEditor:function(){var stylesheets='';for(var i=0;i<this.settings.styleSheetUrls.length;i++){if(this.settings.styleSheetUrls[i]!='')stylesheets+='<link rel="stylesheet" type="text/css" href="'+this.settings.styleSheetUrls[i]+'" />'}var initialHtml=this._codeEditor.value;if(!this.settings.isFullDocument&&initialHtml.indexOf('<html>')>-1){this.settings.isFullDocument=true}var html='';if(this.settings.isFullDocument){html=initialHtml}else{html=this.settings.docType+'<html xmlns="http://www.w3.org/1999/xhtml">'+'<head>'+stylesheets+'<style type="text/css" id="HelperCss">'+'.ftb_table_helper { border: dashed 1px #ccc; border-width: 1px 1px 0 0; } .ftb_table_helper td { border: dashed 1px #ccc; border-width: 0 0 1px 1px; }'+'.ftb_misspelled { border-bottom: dotted 1px #f00; cursor: hand; cursor: arrow; }'+'</style>'+'</head>'+'<body'+((this.settings.bodyID!='')?' id="'+this.settings.bodyID+'"':'')+((this.settings.bodyCssClass!='')?' class="'+this.settings.bodyCssClass+'"':'')+((this.settings.textDirection=='rtl')?' dir="rtl"':'')+'>'+this._storeUrls(this._codeEditor.value)+'</body>'+'</html>'}try{this._designEditor.contentWindow.document.designMode='on';this._designEditor.contentWindow.document.open();this._designEditor.contentWindow.document.write(html);this._designEditor.contentWindow.document.close()}catch(ex){try{this._designEditor.src=Refresh.path+'html/blank.html'}catch(ex2){}setTimeout(""+this.id+".initializeEditor()",500);return}this._event_onTextFocus=this._onTextFocus.bindAsEventListener(this);this._event_onTextBlur=this._onTextBlur.bindAsEventListener(this);Event.observe(this._codeEditor,'focus',this._event_onTextFocus);Event.observe(this._codeEditor,'blur',this._event_onTextBlur);if(this.settings.tabIndex>-1){this._codeEditor.tabIndex=tabIndex}else if(!isNaN(this._codeEditor.tabIndex)){this.settings.tabIndex=parseInt(this._codeEditor.tabIndex)}if(this.settings.tabIndex>-1){var formElements=document.getElementsByTagName('input');var nextElement=null;var prevElement=null;for(var t=0;t<formElements.length;t++){var el=formElements[t];if(el!=this._codeEditor){if(nextElement==null){if(el.tabIndex>this.settings.tabIndex){nextElement=el}}else{if(el.tabIndex>this.settings.tabIndex&&el.tabIndex<nextElement.tabIndex){nextElement=el}}if(prevElement==null){if(el.tabIndex<this.settings.tabIndex){prevElement=el}}else{if(el.tabIndex<this.settings.tabIndex&&nextElement!=null&&el.tabIndex>nextElement.tabIndex){prevElement=el}}}}if(nextElement!=null)this.nextElement=nextElement}this._event_onDesignFocus=this._onDesignFocus.bindAsEventListener(this);this._event_onDesignBlur=this._onDesignBlur.bindAsEventListener(this);this._event_onEvent=this._onEvent.bindAsEventListener(this);this._event_onPauseTimeout=this.onPauseTimeout.bindAsEventListener(this);var objToBind=null;if(this.browser.isIE||this.browser.isOpera){objToBind=this._designEditor.contentWindow.document.body;if(this.browser.isIE){Event.observe(objToBind,'blur',this._event_onDesignBlur)}else if(this.browser.isOpera){Event.observe(this._designEditor.contentWindow.document,'blur',this._event_onDesignBlur)}Event.observe(objToBind,"keydown",this._event_onEvent);Event.observe(objToBind,"mousedown",this._event_onEvent);Event.observe(objToBind,"mouseup",this._event_onEvent);Event.observe(objToBind,"keyup",this._event_onEvent);Event.observe(objToBind,"dblclick",this._event_onEvent)}else{objToBind=this._designEditor.contentWindow;Event.observe(objToBind.document,'blur',this._event_onDesignBlur);Event.observe(objToBind,"keydown",this._event_onEvent);Event.observe(objToBind,"mousedown",this._event_onEvent);Event.observe(objToBind,"mouseup",this._event_onEvent);Event.observe(objToBind,"keyup",this._event_onEvent);Event.observe(objToBind.document,"dblclick",this._event_onEvent)}if(this.browser.isIE){this._designEditor.contentWindow.document.body.style.border=0}this._designTab=$(this.id+'_DesignTab');if(this._designTab){this._designTab.innerHTML=Refresh.Web.Localization.getValue('designModeTab',this.settings.language);Event.observe(this._designTab,'click',this.handleDesignModeTabClick.bindAsEventListener(this));Element.addClassName(this._designTab,'editorTab_On');Refresh.Utility.makeUnselectable(this._designTab)}this._codeTab=$(this.id+'_CodeTab');if(this._codeTab){this._codeTab.innerHTML=Refresh.Web.Localization.getValue('htmlModeTab',this.settings.language);Event.observe(this._codeTab,'click',this.handleCodeModeTabClick.bindAsEventListener(this));Element.removeClassName(this._codeTab,'editorTab_Off');Refresh.Utility.makeUnselectable(this._codeTab)}this._status=$(this.id+'_Status');if(this.browser.isGecko){try{this._designEditor.contentWindow.document.execCommand("useCSS",null,true)}catch(ex){}}var forms=document.getElementsByTagName('form');for(var i=0;i<forms.length;i++){if(forms[i].onsubmit)forms[i].ftbSubmit=forms[i].onsubmit;forms[i].onsubmit=this._onSubmit.bindAsEventListener(this)}this._typingEvent=false;this.maxUndoSteps=20;this.undoIndex=0;this.undoSteps=new Array();this.undoStepsText=new Array();this.undoSteps[this.undoIndex]=this._codeEditor.value;this.undoStepsText[this.undoIndex]="startup";if(this.settings.toolbarGroups!=null){this.builtInToolbar=new Refresh.Web.Toolbar(this.id+'_Toolbar',{groups:this.settings.toolbarGroups,theme:this.settings.theme,target:this.toolbarNode});this.builtInToolbar.associateEditor(this)}this.updateWordCount();this.updateToolbars();this.blur();this.initialized=true},revert:function(){alert('not implimented')},convert:function(){alert('not implimented');},getHtml:function(){if(this._mode==FTB_MODE_DESIGN){;if(this.settings.isFullDocument){html=this.settings.docType+'\n'+Refresh.Web.HtmlCleaner.validateNode(this._designEditor.contentWindow.document.getElementsByTagName('html')[0],this.settings.isFullDocument,this.settings.autoFormat,true)}else{html=Refresh.Web.HtmlCleaner.validateNode(this._designEditor.contentWindow.document.body,this.settings.isFullDocument,this.settings.autoFormat,true)}return html}else{return this._codeEditor.value}},getQuickHtml:function(){if(this._mode==FTB_MODE_DESIGN){if(this.settings.isFullDocument){html=this.settings.docType+'\n'+this._designEditor.contentWindow.document.getElementsByTagName('html')[0].innerHTML}else{html=this._designEditor.contentWindow.document.body.innerHTML}return html}else{return this._codeEditor.value}},setHtml:function(html){this._codeEditor.value=html;if(this._mode==FTB_MODE_DESIGN){this._designEditor.contentWindow.document.body.innerHTML=this._codeEditor.value;this._addUndoStep('HTML Set');this.saveData()}},_storeUrls:function(input){if(!input.match(/(temp_src|temp_href)/gi,input)){input=input.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" temp_src="$1"');input=input.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" temp_href="$1"')}return input},removeTempUrls:function(input){input=input.replace(new RegExp('\\s*temp_src\\s*=\\s*\"([^ >\"]*)\"','gi'),'');input=input.replace(new RegExp('\\s*temp_href\\s*=\\s*\"([^ >\"]*)\"','gi'),'');return input},insertLink:function(url,target,title){if(url!=null&&url!=''){this.focus();var link=this.getNearest('a');if(link==null){if(this.browser.isSafari2){var fakeFont='Safari2CantCreateALink';this.executeCommand('fontname',fakeFont);var fontTags=this._getDocument().getElementsByTagName('font');var fontTag=null;for(var i=0;i<fontTags.length;i++){if(fontTags[i].face==fakeFont){fontTag=fontTags[i];break}}link=this._getDocument().createElement('a');link.innerHTML=fontTag.innerHTML;fontTag.parentNode.insertBefore(link,fontTag);fontTag.parentNode.removeChild(fontTag)}else{var tempUrl='http://tempuri.org/tempuri.html';this.executeCommand('createLink',tempUrl);var links=this._getDocument().getElementsByTagName('a');for(var i=0;i<links.length;i++){if(links[i].href==tempUrl){link=links[i];break}}}}if(link!=null){link.href=url;link.setAttribute('temp_href',url);if(target!='')link.target=target;if(title!='')link.title=title;this._addUndoStep();this.quickSaveData()}else{}}},insertImage:function(imgSrc,width,height,alt,title){if(imgSrc!=null&&imgSrc!=''){var img=this.getNearest('img');if(!img){var tempUrl='http://tempuri.org/tempuri.html';this.executeCommand('insertimage',tempUrl);var imgs=this._getDocument().getElementsByTagName('img');for(var i=0;i<imgs.length;i++){if(imgs[i].src==tempUrl){img=imgs[i];break}}}img.src=imgSrc;img.setAttribute('temp_src',imgSrc);if(width!=''){img.width=width}if(height!=''){img.height=height}if(alt!=''){img.alt=alt}if(title!=''){img.title=title}this._addUndoStep();this.quickSaveData();return img}},_addUndoStep:function(action){if(!action)action='unknown';var html=this._getDocument().body.innerHTML;if(html!=this.undoSteps[this.undoIndex]){for(var i=this.undoIndex+1;i<this.undoSteps.length;i++){this.undoSteps.pop();this.undoStepsText.pop()}this.undoSteps.push(html);this.undoStepsText.push(action);if(this.maxUndoSteps>0&&this.undoSteps.length>this.maxUndoSteps){this.undoSteps=this.undoSteps.slice(1);this.undoStepsText=this.undoStepsText.slice(1)}this.undoIndex=this.undoSteps.length-1}},undo:function(){if(this.undoIndex>0&&this.undoSteps[this.undoIndex]!=null){this._codeEditor.value=this.undoSteps[this.undoIndex-1];this.undoIndex--;this._designEditor.contentWindow.document.body.innerHTML=this._codeEditor.value}},redo:function(){if(this.undoIndex>-1&&this.undoIndex<this.undoSteps.length-1){this._codeEditor.value=this.undoSteps[this.undoIndex+1];this.undoIndex++;this._designEditor.contentWindow.document.body.innerHTML=this._codeEditor.value;this.focus()}},print:function(){this._designEditor.contentWindow.print()},focus:function(){if(this.browser.isIE){this._getDocument().body.focus()}else if(this.browser.isGecko){this._designEditor.contentWindow.focus()}else if(this.browser.isOpera){if(this._bookmark){this.selectBookmark(this._bookmark)}}else if(this.browser.isSafari){if(this._bookmark){this.selectBookmark(this._bookmark)}}if(!this._hasFocus){this._onDesignFocus({type:'manualFocus'})}},_onTextFocus:function(event){if(this._mode==FTB_MODE_DESIGN){this.focus()}else{this._onDesignFocus(event)}},_onTextBlur:function(event){},_onDesignFocus:function(event){if(!this._hasFocus){Element.removeClassName(this._editorContainer,this.settings.cssPrefix+'editorContainer_Blur');Element.addClassName(this._editorContainer,this.settings.cssPrefix+'editorContainer_Focus');Refresh.Web.CurrentFreeTextBox=this;this._hasFocus=true;if(this._toolbars.length>0){for(var i=0;i<this._toolbars.length;i++){if(this._toolbars[i]._editor&&this._toolbars[i]._editor!=this)this._toolbars[i]._editor.blur();this._toolbars[i]._editor=this}}if(this._mode==FTB_MODE_DESIGN){if(this._bookmark){this.selectBookmark(this._bookmark)}if(event)this._onEvent(event)}}},blur:function(){if(this._hasFocus){this._hasFocus=false;this._onDesignBlur()}},_onDesignBlur:function(event){this.quickSaveData();Element.removeClassName(this._editorContainer,this.settings.cssPrefix+'editorContainer_Focus');Element.addClassName(this._editorContainer,this.settings.cssPrefix+'editorContainer_Blur');this._hasFocus=false},_onSubmit:function(event){if(event!=null){var form=Event.element(event);if(form!=null&&form.ftbSubmit)form.ftbSubmit();this.saveData()}this._designEditor.style.width=0;this._designEditor.style.height=0;this._codeEditor.style.display=''},_onEvent:function(event){if(!event){return}if(!this._hasFocus){this._onDesignFocus(event);return}if(event){event.ftb=this;var listeners=this._addedEvents[event.type];if(listeners!=null){for(var i=0;i<listeners.length;listeners++){var r=listeners[i](event);if(r.cancelBubble==true)return}}else{}}this._typingEvent=false;window.isDblClick=(event.type=='dblclick');if(event&&event.type.indexOf('key')==0){if(event.type=='keydown'){if(event.keyCode==Event.KEY_TAB&&!event.shiftKey){switch(this.settings.tabMode){default:case FTB_TABMODE_EXIT:if(this.nextElement){Event.stop(event);this.nextElement.focus();return false}case FTB_TABMODE_INSERTSPACES:Event.stop(event);this.insertHtml('&nbsp;&nbsp;&nbsp;&nbsp;');break;case FTB_TABMODE_NONE:break}}else if(event.keyCode==Event.KEY_TAB&&event.shiftKey){if(this.settings.tabMode==FTB_TABMODE_EXIT){if(this.prevElement){Event.stop(event);this.prevElement.focus();return false}}}else if(event.keyCode==Event.KEY_RETURN&&!event.ctrlKey){if(this.browser.isGecko){if(this.settings.breakMode==FTB_BREAKMODE_P){}}else if(this.browser.isIE){if(this.settings.breakMode==FTB_BREAKMODE_BR){var sel=this.getSelection();var rng=this.createRange(sel);if(this.tagMatch(rng.parentElement(),'li'))return true;Event.stop(event);rng.pasteHTML("<br />");rng.collapse(false);rng.select();return false}}else{}}else if(event.keyCode==Event.KEY_RETURN&&event.ctrlKey){if(this.browser.isGecko){if(this.settings.breakMode==FTB_BREAKMODE_BR){}}else if(this.browser.isIE){if(this.settings.breakMode==FTB_BREAKMODE_P){var sel=this.getSelection();var rng=this.createRange(sel);if(this.tagMatch(rng.parentElement(),'li'))return true;Event.stop(event);rng.pasteHTML("<br />");rng.collapse(false);rng.select();return false}}else{}}else if(event.keyCode==FTB_EVENTCHAR_PASTE&&event.ctrlKey){}else if(event.keyCode==FTB_EVENTCHAR_PRINT&&event.ctrlKey){}else if(event.keyCode==FTB_EVENTCHAR_UNDO&&event.ctrlKey){Event.stop(event);this.undo();return false;}else if(event.keyCode==FTB_EVENTCHAR_REDO&&event.ctrlKey){Event.stop(event);this.redo();return false;}else if(event.keyCode==FTB_EVENTCHAR_BOLD&&event.ctrlKey){Event.stop(event);Refresh.Web.EditorCommands.execute(this,'Bold');return false;}else if(event.keyCode==FTB_EVENTCHAR_ITALIC&&event.ctrlKey){Event.stop(event);Refresh.Web.EditorCommands.execute(this,'Italic');return false;}else if(event.keyCode==FTB_EVENTCHAR_UNDERLINE&&event.ctrlKey){Event.stop(event);Refresh.Web.EditorCommands.execute(this,'Underline');return false}else{if(!event.ctrlKey){this._typingEvent=true}}}}if(event&&(event.type=='keyup'||event.type=='mouseup')){this._bookmark=this.getBookmark()}if(this._pauseTimeoutID){clearInterval(this._pauseTimeoutID);delete this._pauseTimeoutID}this._pauseTimeoutID=setTimeout(this._event_onPauseTimeout,this.settings.toolbarUpdateInterval)},addChangeListener:function(method){this._changeEvents[this._changeEvents.length]=method},onPauseTimeout:function(){if(this._pauseTimeoutID){clearInterval(this._pauseTimeoutID);delete this._pauseTimeoutID}if(this._typingEvent)this._addUndoStep('typing');for(var i=0;i<this._changeEvents.length;i++){this._changeEvents[i](this)}this.quickSaveData();this.updateWordCount();this.updateToolbars()},updateWordCount:function(){if(this._status==null)return;var docWordCount=Refresh.Utility.getNodeWordCount(this._getDocument().body);var selWordCount=0;var sel=this.getSelection();if(this.browser.isIE){selWordCount=Refresh.Utility.getTextWordCount(this.createRange(sel).text)}else{selWordCount=Refresh.Utility.getTextWordCount(sel)}this._status.innerHTML=Refresh.Web.Localization.getValue('statusWords',this.settings.language)+': '+((selWordCount>0)?+selWordCount+'/':'')+docWordCount},handleDesignModeTabClick:function(event){this.goToDesignMode()},handleCodeModeTabClick:function(event){this.goToCodeMode()},goToDesignMode:function(){if(this._mode==FTB_MODE_DESIGN)return;if(this.settings.isFullDocument){var html=this._storeUrls(this._codeEditor.value);this._designEditor.contentWindow.document.designMode='off';this._designEditor.contentWindow.document.designMode='on';this._designEditor.contentWindow.document.open();this._designEditor.contentWindow.document.write(html);this._designEditor.contentWindow.document.close()}else{this._designEditor.contentWindow.document.body.innerHTML=this._storeUrls(this._codeEditor.value)}this._codeEditor.style.width='0px';this._codeEditor.style.height='0px';this._designEditor.style.width=this.settings.width;this._designEditor.style.height=this.settings.height;this._mode=FTB_MODE_DESIGN;this._designEditor.contentWindow.document.designMode='On';if(!this.browser.isOpera)this._designEditor.contentWindow.document.contentEditable=true;if(this.browser.isGecko)this._designEditor.contentWindow.document.execCommand("useCSS",null,true);if(this.browser.isIE)Event.observe(this._designEditor.contentWindow.document.body,'blur',this._event_onDesignBlur);else if(this.browser.isOpera)Event.observe(this._designEditor.contentWindow.document,'blur',this._event_onDesignBlur);else Event.observe(this._designEditor.contentWindow,'blur',this._event_onDesignBlur);Element.addClassName(this._codeTab,'editorTab_Off');Element.removeClassName(this._codeTab,'editorTab_On');Element.addClassName(this._designTab,'editorTab_On');Element.removeClassName(this._designTab,'editorTab_Off');this._addUndoStep("From code mode");this.focus()},goToCodeMode:function(){if(this._mode==FTB_MODE_CODE)return;var html='';if(this.settings.isFullDocument){html=this.settings.docType+'\n'+Refresh.Web.HtmlCleaner.validateNode(this._designEditor.contentWindow.document.getElementsByTagName('html')[0],this.settings.isFullDocument,this.settings.autoFormat,true)}else{html=Refresh.Web.HtmlCleaner.validateNode(this._designEditor.contentWindow.document.body,this.settings.isFullDocument,this.settings.autoFormat,true)}this._codeEditor.value=html;this._designEditor.style.width=0;this._designEditor.style.height=0;this._codeEditor.style.display='';this._codeEditor.style.width=this.settings.width;this._codeEditor.style.height=this.settings.height;this._mode=FTB_MODE_CODE;if(this.browser.isIE)Event.stopObserving(this._designEditor.contentWindow.document.body,'blur',this._event_onDesignBlur);else if(this.browser.isOpera)Event.stopObserving(this._designEditor.contentWindow.document,'blur',this._event_onDesignBlur);else Event.stopObserving(this._designEditor.contentWindow,'blur',this._event_onDesignBlur);Element.removeClassName(this._codeTab,'editorTab_Off');Element.addClassName(this._codeTab,'editorTab_On');Element.removeClassName(this._designTab,'editorTab_On');Element.addClassName(this._designTab,'editorTab_Off');this.focus()},quickSaveData:function(){if(this._mode==FTB_MODE_DESIGN){var html=this.getQuickHtml();this._codeEditor.value=html}else{}},saveData:function(){if(this._mode==FTB_MODE_DESIGN){var html=this.getHtml();this._codeEditor.value=html}else{}},executeCommand:function(commandName,commandValue){if(this._mode!=FTB_MODE_DESIGN)return;if(!commandValue)commandValue=='';if(!this._hasFocus)this.focus();try{this._getDocument().execCommand(commandName,'',commandValue)}catch(e){}if(commandName!='undo'&&commandName!='redo')this._addUndoStep(commandName+((commandValue!='')?': '+commandValue:''));this.quickSaveData();this._onEvent({type:'command'})},queryCommandState:function(commandName){if(this._mode!=FTB_MODE_DESIGN)return null;var commandState=null;try{var commandState=this._getDocument().queryCommandState(commandName,null,null)}catch(e){}if(commandName=="justifyleft"&&!commandState){commandState=!(this._getDocument().queryCommandState("justifyright",null,null)||this._getDocument().queryCommandState("justifycenter",null,null)||this._getDocument().queryCommandState("justifyfull",null,null))}if(commandState==true){return FTB_BUTTONSTATE_HIGHLIGHT}else{return FTB_BUTTONSTATE_NORMAL}return},queryCommandValue:function(commandName){if(this._mode!=FTB_MODE_DESIGN)return null;if(commandName=='fontfaceslist'){commandName='fontname'}else if(commandName=='fontsizeslist'){commandName='fontsize'}else if(commandName=='formatslist'){commandName='formatBlock'}var value=null;try{value=this._designEditor.contentWindow.document.queryCommandValue(commandName)}catch(e){}if(value!=null)value=new String(value).toLowerCase();if(commandName.indexOf('color')>-1&&value!=''){if(this.browser.isIE||!isNaN(value))value=Refresh.Utility.intToHexColor(value);else if(this.browser.isOpera||value.toString().indexOf('rgb')>-1)value=Refresh.Utility.rgbStringToHex(value)}if(value==""&&commandName=="fontname")value="Times";else if(value==""&&commandName=="fontsize")value="3";else if(value==""&&commandName=="forecolor")value="#000000";else if(commandName=="formatBlock"&&(value==""||value=="p"))value="normal";return value},updateToolbars:function(){if(this._toolbars==null)return;if(this._toolbars.length!=null){for(var i=0;i<this._toolbars.length;i++){var toolbar=this._toolbars[i];if(toolbar){toolbar._editor=this;toolbar.update(this)}}}if(this._pauseTimeoutID)clearInterval(this._pauseTimeoutID)},associateToolbar:function(toolbar){if(!this._toolbars)this._toolbars=[];if(this._toolbars.indexOf(toolbar)==-1)this._toolbars.push(toolbar)},_getDocument:function(){return this._getWindow().document},_getWindow:function(){return this._designEditor.contentWindow},getSelection:function(){var sel;var win=this._getWindow();var doc=this._getDocument();if(win.getSelection){sel=win.getSelection()}else if(doc.selection){sel=doc.selection}return sel;if(this.browser.isIE){return this._getDocument().selection;}else if(this.browser.isGecko||this.browser.isOpera){var sel=this._designEditor.contentWindow.getSelection();return sel}else if(this.browser.isSafari){var sel=this._designEditor.contentWindow.getSelection();return sel}},getRange:function(){var sel=this.getSelection();return this.createRange(sel)},createRange:function(sel){if(sel.createRange){return sel.createRange()}else if(sel.getRangeAt){return sel.getRangeAt(0)}else{var range=this._getDocument().createRange();return range}if(this.browser.isIE)return sel.createRange();if(this.browser.isGecko||this.browser.isOpera||this.browser.isSafari){if(typeof sel!="undefined"){try{return sel.getRangeAt(0)}catch(e){return this._getDocument().createRange()}}else{return this._getDocument().createRange()}}},getBookmark:function(){var sel=this.getSelection();var rng=this.createRange(sel);bookmark={selection:sel,range:rng};if(this.browser.isGecko){bookmark.range=bookmark.range.cloneRange()}return bookmark},selectBookmark:function(bookmark){if(this.browser.isIE){bookmark.range.select()}else if(this.browser.isSafari2){var selection=bookmark.selection;var range=bookmark.range;var selection=this.getSelection();var range=this._getDocument().createRange();bookmark.range.setStart(bookmark.selection.anchorNode,bookmark.selection.anchorOffset);bookmark.range.setEnd(bookmark.selection.focusNode,bookmark.selection.focusOffset);return;selection.setBaseAndExtent(bookmark.selection.anchorNode,bookmark.selection.anchorOffset,bookmark.selection.anchorNode,bookmark.selection.anchorOffset+1)}else{var range=this._getDocument().createRange();var sel=this.getSelection();range.setStart(bookmark.range.startContainer,bookmark.range.startOffset);range.setEnd(bookmark.range.endContainer,bookmark.range.endOffset);sel.removeAllRanges();sel.addRange(range)}},surroundHtml:function(start,end){if(this._mode==FTB_MODE_CODE)return;this.focus();if(this.browser.isIE){var sel=this._getDocument().selection.createRange();html=start+sel.htmlText+end;sel.pasteHTML(html)}else{selection=this.getSelection();if(selection){range=selection.getRangeAt(0)}else{range=this._getDocument().createRange()}this.insertHtml(start+selection+end)}},surround:function(tagName,params){var doc=this._getDocument();var sel=this.getSelection();var fragment=doc.createDocumentFragment();var preSelectionRange=doc.createRange();preSelectionRange.setStart(sel.anchorNode,0);preSelectionRange.setEnd(sel.anchorNode,window.isDblClick?sel.anchorOffset-2:sel.anchorOffset);var range=this._getDocument().createRange();range.setStart(sel.anchorNode,sel.anchorOffset);range.setEnd(sel.focusNode,sel.focusOffset);var postSelectionRange=doc.createRange();postSelectionRange.setStart(sel.focusNode,window.isDblClick?sel.focusOffset+2:sel.focusOffset);postSelectionRange.setEnd(sel.focusNode,sel.focusNode.nodeValue.length);var wrapper=doc.createElement(tagName);for(prop in params){wrapper[prop]=params[prop]}wrapper.appendChild(doc.createTextNode(sel));fragment.appendChild(doc.createTextNode(preSelectionRange.toString()));fragment.appendChild(wrapper);fragment.appendChild(doc.createTextNode(postSelectionRange.toString()));sel.anchorNode.parentNode.replaceChild(fragment,sel.anchorNode.parentNode.childNodes[0])},insertHtml:function(html){if(this._mode!=FTB_MODE_DESIGN)return;this.focus();if(this.browser.isIE){sel=this._getDocument().selection.createRange();sel.pasteHTML(html)}else{selection=this._designEditor.contentWindow.getSelection();if(selection){range=selection.getRangeAt(0)}else{range=editor.document.createRange()}var fragment=this._getDocument().createDocumentFragment();var div=this._getDocument().createElement("div");div.innerHTML=html;while(div.firstChild){fragment.appendChild(div.firstChild)}selection.removeAllRanges();range.deleteContents();var node=range.startContainer;var pos=range.startOffset;switch(node.nodeType){case 3:if(fragment.nodeType==3){node.insertData(pos,fragment.data);range.setEnd(node,pos+fragment.length);range.setStart(node,pos+fragment.length)}else{node=node.splitText(pos);node.parentNode.insertBefore(fragment,node);range.setEnd(node,pos+fragment.length);range.setStart(node,pos+fragment.length)}break;case 1:node=node.childNodes[pos];node.parentNode.insertBefore(fragment,node);range.setEnd(node,pos+fragment.length);range.setStart(node,pos+fragment.length);break}selection.addRange(range)}},tagMatch:function(item,tagName){if(!item)return null;if(item.tagName.search(tagName)!=-1){return item}if(item.tagName=='BODY'){return false}item=item.parentElement;return this.tagMatch(item,tagName)},getParentElement:function(){var sel=this.getSelection();var range=this.createRange(sel);if(this.browser.isIE){switch(sel.type){case"Text":case"None":return range.parentElement();case"Control":return range.item(0);default:return this._designEditor.contentWindow.document.body}}else{try{var p=range.commonAncestorContainer;if(!range.collapsed&&range.startContainer==range.endContainer&&range.startOffset-range.endOffset<=1&&range.startContainer.hasChildNodes())p=range.startContainer.childNodes[range.startOffset];while(p.nodeType==3){p=p.parentNode}return p}catch(e){return null}}},insertNodeAtSelection:function(toBeInserted){if(this.browser.isIE){this.focus();sel=this._getDocument().selection.createRange();sel.pasteHTML(toBeInserted.outerHTML)}else{var sel=this.getSelection();var range=this.createRange(sel);sel.removeAllRanges();range.deleteContents();var node=range.startContainer;var pos=range.startOffset;switch(node.nodeType){case 3:if(toBeInserted.nodeType==3){node.insertData(pos,toBeInserted.data);range=this._createRange();range.setEnd(node,pos+toBeInserted.length);range.setStart(node,pos+toBeInserted.length);sel.addRange(range)}else{node=node.splitText(pos);var selnode=toBeInserted;if(toBeInserted.nodeType==11){selnode=selnode.firstChild}node.parentNode.insertBefore(toBeInserted,node);this.selectNodeContents(selnode)}break;case 1:var selnode=toBeInserted;if(toBeInserted.nodeType==11){selnode=selnode.firstChild}node.insertBefore(toBeInserted,node.childNodes[pos]);this.selectNodeContents(selnode);break}}},selectNodeContents:function(node,pos){var range;var collapsed=(typeof pos!="undefined");if(this.browser.isIE){range=this._getDocument().body.createTextRange();range.moveToElementText(node);(collapsed)&&range.collapse(pos);range.select()}else{var sel=this.getSelection();range=this._getDocument().createRange();range.selectNodeContents(node);(collapsed)&&range.collapse(pos);sel.removeAllRanges();sel.addRange(range)}},selectNextNode:function(el){var node=el.nextSibling;while(node&&node.nodeType!=1){node=node.nextSibling}if(!node){node=el.previousSibling;while(node&&node.nodeType!=1){node=node.previousSibling}}if(!node){node=el.parentNode}this.selectNodeContents(node)},selectNodeContents:function(node,pos){var range;var collapsed=(typeof pos!="undefined");if(this.browser.isIE){range=this._getDocument().body.createTextRange();range.moveToElementText(node);(collapsed)&&range.collapse(pos);range.select()}else{var sel=this.getSelection();range=this._getDocument().createRange();range.selectNodeContents(node);(collapsed)&&range.collapse(pos);sel.removeAllRanges();sel.addRange(range)}},getNearest:function(tagName){var ancestors=this.getAllAncestors();var ret=null;tagName=(""+tagName).toLowerCase();for(var i=0;i<ancestors.length;i++){var el=ancestors[i];if(el){if(el.tagName.toLowerCase()==tagName){ret=el;break}}}return ret},getAllAncestors:function(){var p=this.getParentElement();var a=[];while(p&&(p.nodeType==1)&&(p.tagName.toLowerCase()!='body')){a.push(p);p=p.parentNode}a.push(this._getDocument().body);return a},setCustomCss:function(customCss){var customStyleID=this.id+'_CustomCss';var doc=this._getDocument();if(doc.createStyleSheet){if(doc.styleSheets.length==0)doc.createStyleSheet();var styletag=null;for(var i=0;i<doc.styleSheets.length;i++){if(doc.styleSheets[i].href==''){styletag=doc.styleSheets[i]}}if(styletag==null){doc.createStyleSheet();styletag=doc.styleSheets[doc.styleSheets.length-1];}if(customCss==''){doc.removeStyleSheet(styleTag);}else{styletag.cssText=customCss}}else{var styleTag=this._getDocument().getElementById(customStyleID);if(styleTag==null){styleTag=doc.createElement('style');styleTag.ID=customStyleID;doc.getElementsByTagName('head')[0].appendChild(styleTag)}styleTag.innerHTML=customCss}},getCustomCss:function(value){var customStyleID=this.id+'_CustomCss';if(this.Browser.IsIE){return null;return(doc.styleSheets.length==0)?'':doc.styleSheets[doc.styleSheets.length-1].cssText}else if(this.Browser.IsMozilla){var styleTag=doc.getElementById(customStyleID);return(styleTag==null)?'':styleTag.innerHTML}},getCssClass:function(){var parent=this.getParentElement();return parent.className},setCssClass:function(className){var parent=this.getParentElement();if(parent&&parent.tagName.toLowerCase()=="span"){if(parent.childNodes.length==1){parent.className=className;surround=false;this.updateToolbars();return}}else{this.surroundHtml("<span class='"+className+"'>","</span>")}},addEventListener:function(name,method){name=name.toLowerCase();if(this._addedEvents[name]==null){this._addedEvents[name]=[]}this._addedEvents[name].push(method)},_addedEvents:null};Refresh.Web.TagDef=function(ids,attributes,isSelfClosing,indentTag,isValidXhtml){if(typeof(ids)=='object'){this.Names=ids}else{this.Names=[ids]}this.attributes=['id','class','style','title','dir','lang','accesskey','tabindex'];if(attributes){if(attributes[0]=='*'){this.attributes=['*']}else{for(var i=0;i<attributes.length;i++){this.attributes.push(attributes[i])}}}this.isSelfClosing=(isSelfClosing!=undefined)?isSelfClosing:false;this.indentTag=(indentTag!=undefined)?indentTag:true;this.isValidXhtml=(isValidXhtml!=undefined)?isValidXhtml:true};Refresh.Web.CreateTagDefs=function(textTags,blockTags,customTags){var tags=[];for(var i=0;i<textTags.length;i++){tags.push(new Refresh.Web.TagDef(textTags[i],[],false,false))}for(var i=0;i<blockTags.length;i++){tags.push(new Refresh.Web.TagDef(blockTags[i]))}for(var i=0;i<customTags.length;i++){tags.push(customTags[i])}return tags};Refresh.Web.HtmlCleaner={tags:Refresh.Web.CreateTagDefs(['abbr',['b','strong'],['i','em'],'u','big','cite','h1','h2','h3','h4','h6','h6','kbd','small','span','strike','sub','sup'],['p','blockquote','caption','cite','pre','code','dd','dfn','dl','div','dt','fieldset','legend','noframes','noscript','samp','title','tt','var'],[new Refresh.Web.TagDef('a',['href','target','name'],false,false),new Refresh.Web.TagDef('area',['shape','coords','href','target','alt','nohref']),new Refresh.Web.TagDef('base',['href','target']),new Refresh.Web.TagDef('body',[],false,true),new Refresh.Web.TagDef('br',[],true,false),new Refresh.Web.TagDef('button',['disabled','type','name','value']),new Refresh.Web.TagDef('caption'),new Refresh.Web.TagDef('col',['align','char','charoff','span','valign','width']),new Refresh.Web.TagDef('colgroup',['align','char','charoff','span','valign','width']),new Refresh.Web.TagDef('del',['cite','datetime']),new Refresh.Web.TagDef('embed',['*'],true,true,false),new Refresh.Web.TagDef('font',['face','color','size'],false,false,false),new Refresh.Web.TagDef('form',['action','accept','accept-charset','enctype','method','name','target']),new Refresh.Web.TagDef('frame',['frameborder','longdesc','marginheight','marginwidth','noresize','scrolling','src']),new Refresh.Web.TagDef('frameset',['cols','rows']),new Refresh.Web.TagDef('hr',['noshade','size','width'],true,true),new Refresh.Web.TagDef('html',['xmlns'],false,true),new Refresh.Web.TagDef('head',[],false,true),new Refresh.Web.TagDef('img',['alt','src','border','height','ismap','longdesc','usemap','width'],true),new Refresh.Web.TagDef('input',['accept','alt','checked','disabled','maxlenght','name','readonly','size','src','type','value']),new Refresh.Web.TagDef('ins',['cite','datetime']),new Refresh.Web.TagDef('label',['for']),new Refresh.Web.TagDef('li',['type','value']),new Refresh.Web.TagDef('link',['charset','href','hreflang','media','rel','rev','target','type'],true),new Refresh.Web.TagDef('map',['name']),new Refresh.Web.TagDef('meta',['content','http-equiv','name','scheme']),new Refresh.Web.TagDef('object',['archive','classid','codebase','codetype','data','declare','height','name','standby','type','usemap','width'],false,true,false),new Refresh.Web.TagDef('meta',['content','http-equiv','name','scheme']),new Refresh.Web.TagDef('ol',['start','compact','type']),new Refresh.Web.TagDef('optgroup',['label','disabled']),new Refresh.Web.TagDef('option',['label','disabled','selected','value']),new Refresh.Web.TagDef('param',['name','type','value','valuetype'],true,true,true),new Refresh.Web.TagDef('q',['type']),new Refresh.Web.TagDef('script',['type','charset','defer','src']),new Refresh.Web.TagDef('select',['disabled','multiple','name','size']),new Refresh.Web.TagDef('style',['type','media']),new Refresh.Web.TagDef('table',['border','cellpadding','cellspacing','frame','rules','summary','width']),new Refresh.Web.TagDef('tbody',['align','char','charoff','valign']),new Refresh.Web.TagDef('td',['abbr','align','axis','char','charoff','colspan','headers','height','nowrap','rowspan','scope','valign','width']),new Refresh.Web.TagDef('textarea',['cols','rows','disabled','name','readonly']),new Refresh.Web.TagDef('tfoot',['align','char','charoff','valign']),new Refresh.Web.TagDef('th',['abbr','align','axis','char','charoff','colspan','headers','height','nowrap','rowspan','scope','valign','width']),new Refresh.Web.TagDef('thead',['align','char','charoff','valign']),new Refresh.Web.TagDef('title',[],false,false),new Refresh.Web.TagDef('tr',['align','char','charoff','valign']),new Refresh.Web.TagDef('ul',['compact','type'])]),cleanHtml:function(htmltext){var output=""},validateNode:function(node,fullDocument,autoFormat){this._output='';this._fullDocument=fullDocument;this._autoFormat=autoFormat||true;this._validateNode(node,0);return this._output},_validateNode:function(node,level){switch(node.nodeType){case 1:var elementName=node.nodeName.toLowerCase();var elementAttribs='';if(this._fullDocument){level=(elementName=='html')?0:level}else{level=(elementName=='body')?0:level}if(!elementName||(!this._fullDocument&&elementName=='body')){if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)this._validateNode(node.childNodes[i],level)}return}var tagData=null;for(var i=0;i<this.tags.length;i++){for(var j=0;j<this.tags[i].Names.length;j++){if(this.tags[i].Names[j]==elementName){tagData=this.tags[i];break}}}if(tagData==null){if(node.hasChildNodes()){level++;for(var i=0;i<node.childNodes.length;i++)this._validateNode(node.childNodes[i],level);level--}return}else{elementName=tagData.Names[0]}if(elementName=="table"&&!node.hasChildNodes()){this._output+="";return}if(node.attributes.length>0){for(var i=0;i<node.attributes.length;i++){if(node.attributes[i].nodeName.indexOf("moz_")>-1)continue;if(node.attributes[i].nodeValue==null||node.attributes[i].nodeValue=='')continue;if((node.attributes[i].nodeName=='colspan'||node.attributes[i].nodeName=='rowspan')&&node.attributes[i].nodeValue=='1')continue;if(node.attributes[i].nodeName=='href'){var href=node.getAttribute('temp_href');if(href==null||href=='')href=node.attributes[i].nodeValue;elementAttribs+=" "+node.attributes[i].nodeName.toLowerCase()+"="+'"'+this.validateString(''+href)+'"';continue}else if(node.attributes[i].nodeName=='src'){var src=node.getAttribute('temp_src');if(src==null||src=='')src=node.attributes[i].nodeValue;elementAttribs+=" "+node.attributes[i].nodeName.toLowerCase()+"="+'"'+this.validateString(''+src)+'"';continue}if(tagData.attributes[0]=='*'&&node.attributes[i].nodeName.indexOf('temp_')!=0){elementAttribs+=" "+node.attributes[i].nodeName.toLowerCase()+"="+'"'+this.validateString(''+node.attributes[i].nodeValue)+'"'}else{for(var j=0;j<tagData.attributes.length;j++){if(tagData.attributes[j]==node.attributes[i].nodeName.toLowerCase()){elementAttribs+=" "+node.attributes[i].nodeName.toLowerCase()+"="+'"'+this.validateString(''+node.attributes[i].nodeValue)+'"';break}}}}}if(Refresh.Web.BrowserInfo.isIE){var style=node.getAttribute('style').cssText.toLowerCase();if(style!='')elementAttribs+=' style="'+style+'"'}if((elementName=="p"||elementName=="td")&&(node.innerHTML==""||node.innerHTML=="&nbsp;")){this._output+="<"+elementName+elementAttribs+">"+this.validateString(String.fromCharCode(160))+"</"+elementName+">";return}if(node.hasChildNodes()){var siblingDidNewLine=(this._output.substring(this._output.length-1,this._output.length)=='\n');if(tagData.indentTag&&!siblingDidNewLine)this._output+='\n';if(tagData.indentTag)this._output+=this.repeat('\t',level);this._output+="<"+elementName+elementAttribs+">";level++;for(var i=0;i<node.childNodes.length;i++)this._validateNode(node.childNodes[i],level);level--;var childDidNewLine=(this._output.substring(this._output.length-1,this._output.length)=='\n');if(tagData.indentTag&&childDidNewLine)this._output+=this.repeat('\t',level);this._output+="</"+elementName+">";if(tagData.indentTag)this._output+='\n'}else{if(tagData.indentTag)this._output+='\n'+this.repeat('\t',level);if(tagData.isSelfClosing){this._output+="<"+elementName+elementAttribs+" />"}else{this._output+="<"+elementName+elementAttribs+"></"+elementName+">"}if(tagData.indentTag||elementName=='br')this._output+='\n'}break;case 3:if(node.parentNode.nodeName=="SCRIPT"||node.parentNode.nodeName=="NOSCRIPT"||node.parentNode.nodeName=="STYLE"){this._output+=node.nodeValue;return}var s=this.validateString(node.nodeValue);if(s[0]=='\t'||s[0]=='\n')s=s.substr(1,s.length);if(s[s.length-1]=='\t'||s[s.length-1]=='\n')s=s.substr(0,s.length-1);s=s.replace(new RegExp('[\\t\\n]','g'),' ');while(s.indexOf('  ')>-1)s=s.replace(new RegExp('\\s\\s','g'),' ');this._output+=s;break;case 8:this._output+="<!--"+node.nodeValue+"-->";break;default:this._output+="[UNKNOWN NODETYPE "+node.nodeType+"]";break}var trailingWhitespace='';for(var i=this._output.length-1;i>=0;i--){var c=this._output.charAt(i);if(c==' '||c==' '||c=='\n'||c=='\t'||c=='\r')trailingWhitespace+=c;else break}if(trailingWhitespace!=''){var replaceWith=(trailingWhitespace.indexOf('\n')>-1)?'\n':' ';this._output=this._output.substring(0,this._output.length-trailingWhitespace.length)+replaceWith}},validateString:function(html){var output="";for(var i=0;i<html.length;i++){var chr=html.charCodeAt(i);if(chr>127||chr==60||chr==62||chr==38||chr==39||chr==34){output+='&#'+chr+";"}else{output+=String.fromCharCode(chr)}}return output},repeat:function(s,c){if(c<1)return'';var r='';for(var i=0;i<c;i++)r+=s;return r}};Refresh.Web.DefaultToolbarSettings={theme:Refresh.defaultTheme,cssPrefix:'',title:'',language:'en-US',useTable:false,target:null,config:null};Refresh.Web.Toolbar=Class.create();Refresh.Web.Toolbar.prototype={visibleElement:null,_items:null,initialize:function(id,settings){this.id=id;this.settings=Object.extend(Refresh.Web.DefaultToolbarSettings,settings);this._items=new Array();this.settings.useTable=(Refresh.Web.BrowserInfo.isOpera&&this.settings.theme=='office12')?true:false;this.node=null;this._currentRow=null;this._currentBody=null;if(this.node==null){if(this.settings.target){this.node=Refresh.Web.HTML.append(this.settings.target,'div',{id:this.id,className:this.settings.cssPrefix+'toolbar'})}else{this.node=Refresh.Web.HTML.create('div',{id:this.id,className:this.settings.cssPrefix+'toolbar'})}if(this.settings.useTable){this._table=Refresh.Web.HTML.append(this.node,'table',{cellPadding:0,cellSpacing:0,border:0});this._tbody=Refresh.Web.HTML.append(this._table,'tbody');this._row=Refresh.Web.HTML.append(this._tbody,'tr')}}for(var groupIndex=0;groupIndex<this.settings.groups.length;groupIndex++){var group=this.settings.groups[groupIndex];this._drawGroup(group.title);for(var itemIndex=0;itemIndex<group.items.length;itemIndex++){var item=group.items[itemIndex];if(item==null){continue}var command=Refresh.Web.EditorCommands.getCommand(item.name);if(item.name=='break'){this._closeRow();this._createBreak();continue}else if(item.name=='separator'){this._closeRow();continue}if(!command){continue}if(command.type.toLowerCase().indexOf('button')>-1){if(this._currentRow==null||this._currentRow.className.indexOf('ButtonRow')==-1){this._openRow('ButtonRow')}}else if(command.type.toLowerCase()=='combobox'){if(this._currentRow==null||this._currentRow.className.indexOf('ListRow')==-1){this._openRow('ListRow')}}var itemID=this.id+'_g'+groupIndex+'_i'+itemIndex;var toolbarItem=Refresh.Web.EditorCommands.createItem(itemID,item.name,(item.settings)?item.settings:null,item.items,this);this._items.push(toolbarItem);this._currentRow.appendChild(toolbarItem.node)}this._closeRow();this._closeGroup()}},_drawGroup:function(title){var groupDiv=null;if(this.settings.useTable){var cell=Refresh.Web.HTML.append(this._row,'td');groupDiv=Refresh.Web.HTML.append(cell,'div',{className:this.settings.cssPrefix+'toolbar_Group'});var brk=Refresh.Web.HTML.append(cell,'div',{});brk.style.clear='both'}else{groupDiv=Refresh.Web.HTML.append(this.node,'div',{className:this.settings.cssPrefix+'toolbar_Group'})}var header=Refresh.Web.HTML.append(groupDiv,'div',{className:this.settings.cssPrefix+'toolbar_Header'});Refresh.Web.HTML.append(header,'span',{},title);this._currentBody=Refresh.Web.HTML.append(groupDiv,'div',{className:this.settings.cssPrefix+'toolbar_Body'});var footer=Refresh.Web.HTML.append(groupDiv,'div',{className:this.settings.cssPrefix+'toolbar_Footer'});Refresh.Web.HTML.append(footer,'span',{},title)},_closeGroup:function(){var breakDiv=Refresh.Web.HTML.append(this._currentBody,'div');breakDiv.className='toolbar_Break'},_openRow:function(classname){if(this._currentRow!=null){this._closeRow()}var newRow=document.createElement('div');this._currentBody.appendChild(newRow);newRow.className=this.settings.cssPrefix+'toolbar_'+classname;this._currentRow=newRow},_closeRow:function(){this._currentRow=null},_createBreak:function(){if(this._currentRow!=null){this.closeRow()}var brk=document.createElement('div');this._currentBody.appendChild(brk);brk.className=this.settings.cssPrefix+'toolbar_Break'},_editor:null,associateEditor:function(target){this._editor=target;if(target.associateToolbar){target.associateToolbar(this)}},getActiveEditor:function(){return this._editor},update:function(src){var ftb=this.getActiveEditor();if(ftb==null){return}for(var i=0;i<this._items.length;i++){this._items[i].setState(ftb)}}};Refresh.Web.DefaultCommand={type:'button',defaultItems:[],defaultSettings:{},getValue:function(ftb){var value='';if(ftb!=null){value=ftb.queryCommandState(this.name)}else{value=null}return value},execute:function(ftb,value,src){if(ftb!=null){ftb.executeCommand(this.name.toLowerCase(),value)}}};Refresh.Web.EditorCommands={_commands:{},initialize:function(){},createItem:function(id,name,settings,items,toolbar){var command=this.getCommand(name);if(command==null){return null}var item=null;switch(command.type.toLowerCase()){case'button':item=new Refresh.Web.Button(id,command,settings,items,toolbar);break;case'gallerybutton':item=new Refresh.Web.GalleryButton(id,command,settings,items,toolbar);break;case'combobox':item=new Refresh.Web.ComboBox(id,command,settings,items,toolbar);break;case'togglebutton':item=new Refresh.Web.ToggleButton(id,command,settings,items,toolbar);break}return item},addCommand:function(command){var _command=Object.extend({},Refresh.Web.DefaultCommand);this._commands[command.name]=Object.extend(_command,command)},getCommand:function(name){return this._commands[name]},execute:function(ftb,name,value){window.parent.Refresh.Web.CurrentFreeTextBox=ftb;this.getCommand(name).execute(ftb,name,value)},getValue:function(ftb,name){return this.getCommand(name).getValue(ftb,name)}};Refresh.Web.QueryMethods={alwaysOn:function(){return FTB_BUTTONSTATE_NORMAL},isInsideTag:function(ftb,tagName){var tag=ftb.getNearest(tagName);return(tag==null)?FTB_BUTTONSTATE_DISABLED:FTB_BUTTONSTATE_NORMAL}};Refresh.Web.ListItemBuilder={createFontNamesList:function(items){var formattedItems=[];for(var i=0;i<items.length;i++)formattedItems.push({text:items[i],value:items[i],display:'<span style="font-family:'+items[i]+'">'+items[i]+'</span>'});return formattedItems},createFontSizesList:function(items){var formattedItems=[];for(var i=0;i<items.length;i++){var item=items[i].toString();formattedItems.push({text:item,value:item,display:'<font size="'+item+'">'+item+'</font>'})}return formattedItems},createInsertHtml:function(items){var formattedItems=[];for(var i=0;i<items.length;i++){var item=items[i].toString();formattedItems.push({text:'',value:item,display:item})}return formattedItems}};Refresh.Web.EditorCommands.addCommand({name:'Bold'});Refresh.Web.EditorCommands.addCommand({name:'Italic'});Refresh.Web.EditorCommands.addCommand({name:'Underline'});Refresh.Web.EditorCommands.addCommand({name:'Strikethrough'});Refresh.Web.EditorCommands.addCommand({name:'Superscript'});Refresh.Web.EditorCommands.addCommand({name:'Subscript'});Refresh.Web.EditorCommands.addCommand({name:'Indent'});Refresh.Web.EditorCommands.addCommand({name:'Outdent',getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Indent',getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'JustifyLeft'});Refresh.Web.EditorCommands.addCommand({name:'JustifyRight'});Refresh.Web.EditorCommands.addCommand({name:'JustifyCenter'});Refresh.Web.EditorCommands.addCommand({name:'JustifyFull'});Refresh.Web.EditorCommands.addCommand({name:'Unlink',getValue:function(ftb){return Refresh.Web.QueryMethods.isInsideTag(ftb,'a')}});Refresh.Web.EditorCommands.addCommand({name:'Cut',execute:function(ftb){ftb.cut()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Copy',execute:function(ftb){ftb.copy()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Paste',execute:function(ftb){ftb.paste()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Clear',execute:function(ftb){ftb.setHtml('');ftb.focus()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'InsertRule',execute:function(ftb){ftb.executeCommand('inserthorizontalrule')},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'NumberedList',execute:function(ftb){ftb.executeCommand('insertorderedlist')},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'BulletedList',execute:function(ftb){ftb.executeCommand('insertunorderedlist')},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Undo',execute:function(ftb){ftb.undo()},getValue:function(ftb){return(ftb.undoIndex>0)?FTB_BUTTONSTATE_NORMAL:FTB_BUTTONSTATE_DISABLED}});Refresh.Web.EditorCommands.addCommand({name:'Redo',execute:function(ftb){ftb.redo()},getValue:function(ftb){return(ftb.undoIndex>-1&&ftb.undoIndex<ftb.undoSteps.length-1)?FTB_BUTTONSTATE_NORMAL:FTB_BUTTONSTATE_DISABLED}});Refresh.Web.EditorCommands.addCommand({name:'Print',execute:function(ftb){ftb.print()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Save',execute:function(ftb){ftb.save()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'Revert',execute:function(ftb){ftb.revert()},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'SwitchMode',execute:function(ftb){if(ftb._mode==FTB_MODE_DESIGN)ftb.goToCodeMode();else ftb.goToDesignMode()},getValue:function(ftb){return(ftb._mode==FTB_MODE_DESIGN)?FTB_BUTTONSTATE_NORMAL:FTB_BUTTONSTATE_HIGHLIGHT}});Refresh.Web.EditorCommands.addCommand({name:'InsertImage',execute:function(ftb){Refresh.Web.ModalWindow.show(Refresh.windowPath+'image.html',400,250,null)},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'CreateLink',execute:function(ftb){Refresh.Web.ModalWindow.show(Refresh.windowPath+'link.html',400,160,null)},getValue:Refresh.Web.QueryMethods.alwaysOn});Refresh.Web.EditorCommands.addCommand({name:'FontFacesList',type:'combobox',execute:function(ftb,value){ftb.executeCommand('fontname',value)},getValue:function(ftb){return ftb.queryCommandValue('fontname')},defaultSettings:{title:'Font',width:'70px'},defaultItems:Refresh.Web.ListItemBuilder.createFontNamesList(['Arial','Courier','Georgia','Tahoma','Times','Verdana'])});Refresh.Web.EditorCommands.addCommand({name:'FontSizesList',type:'combobox',execute:function(ftb,value){ftb.executeCommand('fontsize',value)},getValue:function(ftb){return ftb.queryCommandValue('fontsize')},defaultSettings:{title:'Size',width:'35px'},defaultItems:Refresh.Web.ListItemBuilder.createFontSizesList([1,2,3,4,5,6])});Refresh.Web.EditorCommands.addCommand({name:'ParagraphMenu',type:'combobox',execute:function(ftb,value){ftb.executeCommand('formatBlock',value)},getValue:function(ftb){return ftb.queryCommandValue('formatBlock')},defaultSettings:{title:'Format',width:'100px',listWidth:'150px'},defaultItems:[{text:'Normal',value:'<p>'},{text:'Heading 1',value:'<h1>',display:'<h1>Heading 1</h1>'},{text:'Heading 2',value:'<h2>',display:'<h2>Heading 2</h2>'},{text:'Heading 3',value:'<h3>',display:'<h3>Heading 3</h3>'},{text:'Heading 4',value:'<h4>',display:'<h4>Heading 4</h4>'},{text:'Preformatted',value:'<pre>',display:'<pre>Preformatted</pre>'},{text:'Address',value:'<address>',display:'<address>Address</address>'}]});Refresh.Web.ToolbarItem={};Refresh.Web.ToolbarItem.prototype={id:'',command:null,initialize:function(id,command,settings,items,toolbar){this.id=id;this.command=command;this.items=items;this.settings=settings;this.toolbar=toolbar;if(this._initialize!=null)this._initialize()},createHtmlNode:function(){},setState:function(ftb){}};Refresh.Web.Button=Class.create();Object.extend(Refresh.Web.Button.prototype,Refresh.Web.ToolbarItem.prototype);Object.extend(Refresh.Web.Button.prototype,{setState:function(ftb){this._buttonState=this.command.getValue(ftb);this._setButtonClass()},_initialize:function(){this.node=Refresh.Web.HTML.create('div',{id:this.id,className:this.toolbar.settings.cssPrefix+'toolbar_Button'});Refresh.Web.HTML.append(this.node,'img',{src:Refresh.path+'themes/'+this.toolbar.settings.theme+'/images/'+this.command.name+'.gif',alt:this.id,title:Refresh.Web.Localization.getValue(this.command.name)});this._buttonState=FTB_BUTTONSTATE_NORMAL;this._isMouseOver=false;this._classPrefix=this.node.className;Event.observe(this.node,'mousedown',this._onMouseDown.bindAsEventListener(this));Event.observe(this.node,'mouseover',this._onMouseOver.bindAsEventListener(this));Event.observe(this.node,'mouseout',this._onMouseOut.bindAsEventListener(this));this._onMouseOut()},_onMouseOver:function(event){this._isMouseOver=true;this._setButtonClass()},_onMouseDown:function(event){if(this._buttonState=FTB_BUTTONSTATE_DISABLED)return;Event.stop(event);this.command.execute(this.toolbar.getActiveEditor(),null,this);this._buttonState=this.command.getValue(this.toolbar.getActiveEditor());this._setButtonClass()},_onMouseOut:function(event){this._isMouseOver=false;this._setButtonClass()},_setButtonClass:function(){Element.removeClassName(this.node,this._classPrefix+'_Over');Element.removeClassName(this.node,this._classPrefix+'_Normal');Element.removeClassName(this.node,this._classPrefix+'_Highlight');Element.removeClassName(this.node,this._classPrefix+'_Disabled');switch(this._buttonState){default:case FTB_BUTTONSTATE_NORMAL:if(this._isMouseOver)Element.addClassName(this.node,this._classPrefix+'_Over');else Element.addClassName(this.node,this._classPrefix+'_Normal');break;case FTB_BUTTONSTATE_DISABLED:Element.addClassName(this.node,this._classPrefix+'_Disabled');break;case FTB_BUTTONSTATE_HIGHLIGHT:Element.addClassName(this.node,this._classPrefix+'_Highlight');break}}});Refresh.Web.GalleryButton=Class.create();Object.extend(Refresh.Web.GalleryButton.prototype,Refresh.Web.Button.prototype);Object.extend(Refresh.Web.GalleryButton.prototype,{_initialize:function(){this.node=Refresh.Web.HTML.create('div',{id:this.id,className:this.toolbar.settings.cssPrefix+'toolbar_DropButton'});Refresh.Web.HTML.append(this.node,'img',{src:Refresh.path+'themes/'+this.toolbar.settings.theme+'/images/'+this.command.name+'.gif',alt:this.id});this._buttonState=FTB_BUTTONSTATE_NORMAL;this._isMouseOver=false;this._classPrefix=this.node.className;Event.observe(this.node,'mousedown',this._onMouseDown.bindAsEventListener(this));Event.observe(this.node,'mouseover',this._onMouseOver.bindAsEventListener(this));Event.observe(this.node,'mouseout',this._onMouseOut.bindAsEventListener(this));this._onMouseOut()}});Refresh.Web.ComboBox=Class.create();Object.extend(Refresh.Web.ComboBox.prototype,Refresh.Web.ToolbarItem.prototype);Object.extend(Refresh.Web.ComboBox.prototype,{selectedIndex:-1,_highlightedIndex:-1,_initialize:function(){this.node=Refresh.Web.HTML.create('div',{id:this.id,className:this.toolbar.settings.cssPrefix+'toolbar_List'});if(!this.settings)this.settings=this.command.defaultSettings;if(!this.settings.listWidth)this.settings.listWidth=this.settings.width;this.settings.height='16px';if(!this.items)this.items=this.command.defaultItems;this._display=Refresh.Web.HTML.append(this.node,'div',{id:this.id+'_list',className:this.toolbar.settings.cssPrefix+'comboBox_Display'});Refresh.Web.HTML.text(this._display,this.settings.title);this._display.style.overflow='hidden';if(this.settings.width)this._display.style.width=this.settings.width;if(this.settings.height)this._display.style.height=this.settings.height;this._listHolder=Refresh.Web.HTML.append(document.body,'div',{id:this.id+'_DropDownContainer',className:this.toolbar.settings.cssPrefix+'comboBox_List'});this._listHolder.style.visibility='hidden';this._listHolder.style.position='absolute';this._listHolder.style.overflow='auto';this._listHolder.style.textAlign='left';this._listHolder.style.left='-1000px';this._listHolder.style.width=this.settings.listWidth;this._list=Refresh.Web.HTML.append(this._listHolder,'ul');for(var i=0;i<this.items.length;i++){var listItem=this.items[i];if(listItem==null)break;var item=Refresh.Web.HTML.append(this._list,'li',{className:this.toolbar.settings.cssPrefix+'comboBox_Item'});item.innerHTML=(listItem.display)?listItem.display:listItem.text;item.value=listItem.value;item.index=i;Event.observe(item,'mouseover',this._onItemOver.bindAsEventListener(this));Event.observe(item,'mouseout',this._onItemOut.bindAsEventListener(this));Event.observe(item,'click',this._onItemClick.bindAsEventListener(this))}Event.observe(this._display,'mouseover',this._onMouseOver.bindAsEventListener(this));Event.observe(this._display,'mouseout',this._onMouseOut.bindAsEventListener(this));Event.observe(this._display,'click',this._onClick.bindAsEventListener(this));this._docClickListener=this._onDocClick.bindAsEventListener(this)},_onMouseOver:function(event){Element.addClassName(this._display,this.toolbar.settings.cssPrefix+'comboBox_Display_Over')},_onMouseOut:function(event){if(this._list.style.visibility!='visible'){Element.removeClassName(this._display,this.toolbar.settings.cssPrefix+'comboBox_Display_Over')}},_onClick:function(event){Event.stop(event);this.toggle()},_onItemClick:function(event){Event.stop(event);var listItem=Event.findElement(event,'LI');this.selectedIndex=listItem.index;var item=this.items[listItem.index];this.command.execute(this.toolbar.getActiveEditor(),item.value);this.hide()},_setSelected:function(){this.selectedItem=this.items[this.selectedIndex];Refresh.Web.HTML.text(this._display,this.selectedItem.text);this.hide()},_onItemOver:function(event){var item=Event.findElement(event,'LI');this._highlightedIndex=item.index;this._doHighlight();},_onItemOut:function(event){var item=Event.findElement(event,'LI');this.highlightedIndex=-1;this._doHighlight();},_onDocClick:function(event){var clickedOut=true;var x=Event.pointerX(event);var y=Event.pointerY(event);clickedOut=!Position.within(this._list,x,y);if(clickedOut)clickedOut=!Position.within(this._listHolder,x,y);if(clickedOut){this.hide();Event.stopObserving(document,'click',this._docClickListener);Event.stopObserving(this.toolbar.getActiveEditor()._getDocument(),'click',this._docClickListener)}},_doHighlight:function(){for(var i=0;i<this.items.length;i++){var li=this._list.childNodes[i];if(i==this._highlightedIndex){Element.addClassName(li,this.toolbar.settings.cssPrefix+'comboBox_Item_Over')}else{Element.removeClassName(li,this.toolbar.settings.cssPrefix+'comboBox_Item_Over')}}},_setDropDownPosition:function(){var boxPos=this.positionedOffset(this._display);var boxSize=Element.getDimensions(this._display);this._listHolder.style.left=boxPos[0]+'px';this._listHolder.style.top=(boxPos[1]+boxSize.height-1)+'px';if(boxPos[2]&&boxPos[2].style.zIndex>1)this._listHolder.style.zIndex=boxPos[2].style.zIndex+1},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p=='relative')break;if(p=='absolute'){valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;break}}}while(element);return[valueL,valueT,element]},setValue:function(value){if(value==null||value==''){this.selectedIndex=-1;Refresh.Web.HTML.text(this._display,this.settings.title)}else{for(var i=0;i<this.items.length;i++){if(this.items[i].value.toLowerCase()==value.toLowerCase()){this.selectedIndex=i;this._setSelected();break}}}},show:function(){this._setDropDownPosition();this._listHolder.style.visibility='visible';Event.observe(document,'click',this._docClickListener);Event.observe(this.toolbar.getActiveEditor()._getDocument(),'click',this._docClickListener);this.toolbar.visibleElement=this._listHolder},getValue:function(){return this.items[this.selectedIndex].value},hide:function(){this._listHolder.style.visibility='hidden';this._listHolder.style.left='-1000px';Element.removeClassName(this._display,this.toolbar.settings.cssPrefix+'comboBox_Display_Over');this.toolbar.visibleElement=null},toggle:function(){if(this._list.style.visibility=='visible'){this.hide()}else{this.show()}},setState:function(ftb){this.hide();this.setValue(this.command.getValue(ftb))}});window.FreeTextBox=Refresh.Web.FreeTextBox;window.Toolbar=Refresh.Web.Toolbar;window.HtmlCleaner=Refresh.Web.HtmlCleaner;window.EditorCommands=Refresh.Web.ToolbarCommands;window.Floatie=Refresh.Web.Floatie;window.Button=Refresh.Web.Button;window.ComboBox=Refresh.Web.ComboBox;Refresh.Web.Floatie=Class.create();Refresh.Web.Floatie.prototype={offsetX:0,offsetY:-20,minOpacity:25,maxDistance:25,initialize:function(id,toolbarSettings){toolbarSettings.cssPrefix='floatie_';this.editors=toolbarSettings.editors;this.toolbar=new Refresh.Web.Toolbar(id,toolbarSettings);Refresh.Utility.ensureFloatie(this.toolbar.settings.theme);this._container=Refresh.Web.HTML.append(document.body,'div',{id:this.toolbar.id+'_FollowContainer'});if(this.toolbar.node.parentNode!=null)this.toolbar.node.parentNode.removeChild(this.toolbar.node);this._container.appendChild(this.toolbar.node);this.toolbarSize=Element.getDimensions(this.toolbar.node.childNodes[0]);this._container.style.position='absolute';this._container.style.zIndex='1000';this._container.style.top='0';this._container.style.left='0';this._container.style.width='250px';this.hide();this._event_onDblClick=this._onDblClick.bindAsEventListener(this);this._event_onClick=this._onClick.bindAsEventListener(this);this._event_onMouseMoveEditor=this._onMouseMoveEditor.bindAsEventListener(this);this._event_onMouseMoveDocument=this._onMouseMoveDocument.bindAsEventListener(this);this.addDoubleClickEvent()},addDoubleClickEvent:function(){var floatie=this;var initialized=true;for(var i=0;i<this.editors.length;i++){if(!this.editors[i].initialized||this.editors[i]._getDocument().body==null){initialized=false;break}}if(initialized){for(var i=0;i<this.editors.length;i++){var ftb=this.editors[i];Event.observe(ftb._getDocument().body,'dblclick',floatie._event_onDblClick);this.toolbar.associateEditor(ftb)}}else{setTimeout(function(){floatie.addDoubleClickEvent()},250)}},getScroll:function(doc){if(this.ftb.browser.isIE){return{x:0,y:0};}else{var scrollX=doc.documentElement.scrollLeft||doc.body.scrollLeft||0;var scrollY=doc.documentElement.scrollTop||doc.body.scrollTop||0;return{x:scrollX,y:scrollY}}},_onDblClick:function(e){var ftb=null;if(this.editors.length==1){ftb=this.editors[0]}else{var el=Event.element(e);while(el.tagName.toLowerCase()!='body'&&el.parentNode)el=el.parentNode;for(var i=0;i<this.editors.length;i++){if(this.editors[i]._getDocument().body==el){ftb=this.editors[i];break}}}if(ftb==null)return;this.ftb=ftb;this.show();this.toolbarSize=Element.getDimensions(this.toolbar.node);var mouse={x:Event.pointerX(e),y:Event.pointerY(e)};var ftbPos=Position.positionedOffset(this.ftb._designEditor);this.ftbPos={x:ftbPos[0],y:ftbPos[1]};this.docScrollPos=this.getScroll(this.ftb._getDocument());this.mousePos={x:mouse.x+this.ftbPos.x-this.docScrollPos.x,y:mouse.y+this.ftbPos.y-this.docScrollPos.y};this.dblClickPos=this.mousePos;this.containerPos={x:this.dblClickPos.x+this.offsetX,y:this.dblClickPos.y+this.offsetY-this.toolbarSize.height};this.setPosition(this.containerPos.x,this.containerPos.y);this.setOpacity();Event.observe(this.ftb._getDocument().body,'click',this._event_onClick);Event.observe(this.ftb._getDocument().body,'mousemove',this._event_onMouseMoveEditor);Event.observe(document,'mousemove',this._event_onMouseMoveDocument);Event.observe(document,'click',this._event_onClick)},_onClick:function(e){var x=Event.pointerX(e);var y=Event.pointerY(e);var clickedOut=!Position.within(this.toolbar.node,x,y);if(clickedOut&&this.toolbar.visibleElement!==null)clickedOut=!Position.within(this.toolbar.visibleElement,x,y);if(clickedOut){this.hide();this.dblClickX=-1;this.dblClickY=-1;Event.stopObserving(this.ftb._getDocument().body,'click',this._event_onClick);Event.stopObserving(this.ftb._getDocument().body,'mousemove',this._event_onMouseMoveEditor);Event.stopObserving(document,'mousemove',this._event_onMouseMoveDocument);Event.stopObserving(document,'click',this._event_onClick)}},_onMouseMoveEditor:function(e){this.docScrollPos=this.getScroll(this.ftb._getDocument());var mouse={x:Event.pointerX(e),y:Event.pointerY(e)};this.mousePos={x:mouse.x+this.ftbPos.x-this.docScrollPos.x,y:mouse.y+this.ftbPos.y-this.docScrollPos.y};this.setOpacity()},_onMouseMoveDocument:function(e){this.docScrollPos=this.getScroll(document);var mouse={x:Event.pointerX(e),y:Event.pointerY(e)};this.mousePos={x:mouse.x-this.docScrollPos.x,y:mouse.y-this.docScrollPos.y};this.setOpacity()},hide:function(){this._container.style.display='none'},show:function(){this._container.style.display=''},setPosition:function(x,y){this._container.style.top=y+'px';this._container.style.left=x+'px'},setOpacity:function(){if(this.toolbar.visibleElement!==null)return;var comparePoint={};if(this.mousePos.y<this.containerPos.y){if(this.mousePos.x<this.containerPos.x){comparePoint={x:this.containerPos.x,y:this.containerPos.y}}else if(this.mousePos.x>this.containerPos.x+this.toolbarSize.width){comparePoint={x:this.containerPos.x+this.toolbarSize.width,y:this.containerPos.y}}else{comparePoint={x:this.mousePos.x,y:this.containerPos.y}}}else if(this.mousePos.y>this.containerPos.y+this.toolbarSize.height){if(this.mousePos.x<this.containerPos.x){comparePoint={x:this.containerPos.x,y:this.containerPos.y+this.toolbarSize.height}}else if(this.mousePos.x>this.containerPos.x+this.toolbarSize.width){comparePoint={x:this.containerPos.x+this.toolbarSize.width,y:this.containerPos.y+this.toolbarSize.height}}else{comparePoint={x:this.mousePos.x,y:this.containerPos.y+this.toolbarSize.height}}}else{if(this.mousePos.x<this.containerPos.x){comparePoint={x:this.containerPos.x,y:this.mousePos.y}}else if(this.mousePos.x>this.containerPos.x+this.toolbarSize.width){comparePoint={x:this.containerPos.x+this.toolbarSize.width,y:this.mousePos.y}}else{comparePoint={x:this.mousePos.x,y:this.mousePos.y}}}var xd=Math.abs(Math.abs(comparePoint.x)-Math.abs(this.mousePos.x));var yd=Math.abs(Math.abs(comparePoint.y)-Math.abs(this.mousePos.y));var distance=Math.sqrt(Math.pow(xd,2)+Math.pow(yd,2));var opacity=0;if(distance<this.maxDistance){opacity=(this.maxDistance-distance)/this.maxDistance*100}Refresh.Utility.setOpacity(this._container,opacity)}};