/*--Keyoti js--*/ //Version 1.4n (RapidSpell Web assembly version 3.4.2 onwards) //Copyright Keyoti Inc. 2005-2007 //This code is not to be modified, copied or used without a license in any form. var rsS75=new Array("", "rswinline", "INACTIVE", "RS_ContextMenuTable", "RS_CMItemSeparator", "RS_ContextMenuItem", "RS_ContextMenuItem_AllSubItem", "RS_ContextMenuItem_Disabled", "oldBrowserBox", "undefined", "Mac", "\n", "DIV", "_D", "class", "style", "display:none;width:1px; height:1px;position:absolute;", "body", "none", "pwHtmlBox", "div", "__RSFIX", "absolute", "BackCompat", "Gecko", "px", "scroll", "textarea", "paddingLeft", "paddingRight", "borderLeftWidth", "borderRightWidth", "paddingTop", "paddingBottom", "borderTopWidth", "borderBottomWidth", "zIndex", "position", "left", "right", "top", "display", "overflow", "bottom", "width", "height", "scrollbar", "border", "css", "get", "set", "Moz", "whiteSpace", "word", "text", "remove", "item", "margin", "clip", "visibility", "line", "table", "max", "min", "visible", "backgroundColor", "transparent", "tEl.style.", "=v", "text/xml", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP", "POST", "Content-Type", "text/xml; charset=UTF-8", "application/xml", "<", ">", "", "function", "IgnoreXML", "false", "
", "", "
", "|", "xml", "", "", "", "Sorry, a textbox with ID=", " couldn't be found - please check the TextComponentID or TextComponentName property.", "_IF", "No suggestions", "Ignore All", "All", "Add", "Edit...", "Remove duplicate word", "Checking...", "Resume Editing", "Check Spelling", "No Spelling Errors In Text.", "Sorry the server has failed to respond to the spell check request. Please check the URL set in the RapidSpellWebInlinePage property in the RapidSpellWebInline ctrl.", "Textbox with ID=", " could not be found, please check the TextComponentID property in the RapidSpell control.", "regTB", "rich", "true", "True", "ACTIVE", "spellcheckfinish", "(true,-1)", "EDITING", "()", "TRANSITION-CHECKING", "block", "overlay", "CHECKING", "(true,numberOfErrors)", "id='resultContent'>", "id='numberOfErrors'>", "", "\r", "\r\n", "The page holding the RapidSpellWInlineHelper control couldn't be found, please check the URL in the RapidSpellWInlineHelperPage property, it should be set to the URL of the page holding RapidSpellWInlineHelperPage.", "The page holding the RapidSpellWInlineHelper control returned a 500 server error - which means the page has an error, please visit the URL specified in the RapidSpellWInlineHelperPage to debug this page. (HINT: Most likely, you need to add validateRequest='false' to the Page directive if you are spell checking HTML content.)", "There was a problem with the request, please check the URL set in the RapidSpellWInlineHelperPage property. Http Error Code: ", "There was a problem with the request. Http Error Code: ", "BR", "", "UserDictionaryFile", "add", "", "", "id='errorContent'>", "tbs.", "=", "MSIE", "setTimeout( function() { rsw_onFinish(", ", ", ");}, 100 ); ", "boolean", "LINK", "text/css", "href", "rel", "stylesheet", "head", "rs_err_hl", "className", "onmouseup", "correction", "#edit", "br", "input", "p", "&", "&", "<", ">", "character", "span", "keypress", "keydown", "keyup", "mousedown", "mouseup", "focus", "blur", "
", "

", "

", " ", "", "", "contextmenu", "paste", "setTimeout( function() { rsw_getTBSFromID('", "').initialize(", ");}, ", " ); ", "P", "margin:0;", "contentEditable", "g", "firefox/1.0", "firefox", "[", "]", "UIEvents", "change", "
", " ", "
", ");}, 50 ); ", "setTimeout( function() {try{ document.getElementById('", "').contentDocument.designMode = 'on';} catch (exc){} }, 100 ); ", "click", "number", "td", "value", "inlineTB", "doubleclick", "\t", "     ", "#text", "/", "Opera 5", "Opera/5", "^apos^", "'", "^qt^", "#", "changeall", "subitem", "remove duplicate", "no_suggestions", "-", "edit", "ignore_all", "add", "RS_CM_DIV", "RS_CM_IF", "msie", "hidden", "", "", "", "", "standard", "', '", "", "_Over", "out", "oncontextmenu", "try{event.cancelBubble=true;event.preventDefault();}catch(e){}return false;", "IFRAME", "src", "javascript: false;", "scrolling", "no", "frameborder", "0", "position:absolute; top:0px; left:0px; display:none;", "ayt_finished_initializing", ";", "&", " ", "<", ">", "TEXTAREA", "INPUT", "designMode", "on", "*", "rsw__init(true)"); var rs_s2=window;var rs_s3=document; var rsw_inline_script_loaded = true; var rsw_rs_styleURL = rsS75[0];var rsw_rs_menu_styleURL = rsS75[0]; var rsw_config = new Array(); var rsw_tbs = new Array(); var rsw_scs = new Array(); var rsw_activeTextbox; var rsw_previouslyActiveTextbox; var rsw_ASPNETAJAX_OnHandlersAdded = false; var rsw_ayt_check = false; var rsw_contextMenu = null ; var rsw_lastRightClickedError; var rsw_comIF = rs_s2.frames[rsS75[1]]; var rsw_inProcessTB; var rsw_inProcessSC; var rsw_spellBoot=rsS75[0]; var rsw_channel_state = rsS75[2];var rsw_channel_timeout; var RS_ContextMenuTable_Class = rsS75[3]; var RS_CMItemSeparator_Class = rsS75[4]; var RS_ContextMenuItem_Class = rsS75[5]; var RS_ContextMenuItem_AllSubItem_Class = rsS75[6]; var RS_ContextMenuItem_Disabled_Class = rsS75[7]; var rsw_inProcessTBResetCaret = true; var rsw_id_waitingToInitialize = null; var rsw_overlayCSSClassName=rsS75[8]; var rsw_isMac = typeof(navigator.userAgent)!=rsS75[9] && navigator.userAgent.indexOf(rsS75[10])>-1; var rsw_MenuOnRightClick = false; var rsw_newlineexp = new RegExp(rsS75[11]); var rsw_haltProcesses=false; var rsw_cancelCall=false; var rsw_aux_oninit_handlers = new Array();var rsw_ObjsToInit = new Array(); function rsw_addTBConfig(config){ var found = false; for(var i=0; rsw_config!=null && i-1) tbWidth = rsw_adjustOffsetWidthForStrict(myIFrame, tbWidth); if(tbWidth>=0) myIFrame.style.width = tbWidth+rsS75[25]; var tbHeight = rsw_getElementHeight(theTB.id); if((rs_s3.compatMode && rs_s3.compatMode!=rsS75[23]) || navigator.userAgent.indexOf(rsS75[24])>-1) tbHeight = rsw_adjustOffsetHeightForStrict(myIFrame, tbHeight); if(tbHeight < 26){ tbHeight = 50; myIFrame.style.overflowX=rsS75[26]; } if(theTB.tagName.toLowerCase()!=rsS75[27]) ptb.multiline = false; if(tbHeight>=0) myIFrame.style.height = tbHeight+rsS75[25]; return ptb; } function rsw_updatePosition(targetElement, sourceElement){ targetElement.style.left = rsw_findPosX(sourceElement)+rsS75[25]; targetElement.style.top = rsw_findPosY(sourceElement)+rsS75[25]; } function rsw_adjustOffsetWidthForStrict(el, width){ try{ var tpLeft = rsw_getStyleProperty(el, rsS75[28]); var tpRight = rsw_getStyleProperty(el, rsS75[29]); var pX = parseInt(tpLeft.substring(0, tpLeft.length-2)) + parseInt(tpRight.substring(0, tpRight.length-2)); var tbLeft = rsw_getStyleProperty(el, rsS75[30]); var tbRight = rsw_getStyleProperty(el, rsS75[31]); var bX = parseInt(tbLeft.substring(0, tbLeft.length-2)) + parseInt(tbRight.substring(0, tbRight.length-2)); if(isNaN(pX) || isNaN(bX))return width; else return width - pX - bX; } catch (e){ return width; } } function rsw_adjustOffsetHeightForStrict(el, height){ try{ var tpTop = rsw_getStyleProperty(el, rsS75[32]); var tpBottom = rsw_getStyleProperty(el, rsS75[33]); var pY = parseInt(tpTop.substring(0, tpTop.length-2)) + parseInt(tpBottom.substring(0, tpBottom.length-2)); var tbTop = rsw_getStyleProperty(el, rsS75[34]); var tbBottom = rsw_getStyleProperty(el, rsS75[35]); var bY = parseInt(tbTop.substring(0, tbTop.length-2)) + parseInt(tbBottom.substring(0, tbBottom.length-2)); if(isNaN(pY) || isNaN(bY) )return height; else return height - pY - bY; } catch (e){ return height; } } function rsw_getStyleProperty(obj, IEStyleProp) { if (obj.currentStyle) { return obj.currentStyle[IEStyleProp]; }else if (rs_s3.defaultView.getComputedStyle) { return rs_s3.defaultView.getComputedStyle(obj, null)[IEStyleProp]; }else{ return null; } } function rsw_copyComputedStyle(tEl, sEl){ var col; if (sEl.currentStyle) col = sEl.currentStyle; else if (rs_s3.defaultView && rs_s3.defaultView.getComputedStyle) col = rs_s3.defaultView.getComputedStyle(sEl, null); else return; for(sp in col) try{ if(sp!=rsS75[36]&&sp!=rsS75[37]&&sp!=rsS75[38]&&sp!=rsS75[39]&&sp!=rsS75[40]&&sp!=rsS75[41]&&sp!=rsS75[42] && sp!=rsS75[43]&& sp!=rsS75[44]&& sp!=rsS75[45]&& sp.indexOf(rsS75[46])==-1&& sp.indexOf(rsS75[47])==-1 && sp.indexOf(rsS75[48])==-1 && sp.indexOf(rsS75[14])==-1 && sp.indexOf(rsS75[49])==-1 && sp.indexOf(rsS75[50])==-1 && sp.indexOf(rsS75[51])==-1 && sp.indexOf(rsS75[52])==-1&& sp.indexOf(rsS75[53])==-1 && sp.indexOf(rsS75[54])==-1&& sp.indexOf(rsS75[55])==-1&& sp.indexOf(rsS75[56])==-1 && sp.indexOf(rsS75[57])==-1 && sp.indexOf(rsS75[58])==-1&& sp.indexOf(rsS75[59])==-1 && sp.indexOf(rsS75[60])==-1&& sp.indexOf(rsS75[61])==-1 && sp.indexOf(rsS75[62])==-1&& sp.indexOf(rsS75[63])==-1 ){ var v = rsw_getStyleProperty(sEl, sp); if(typeof(v)!=rsS75[9] && v!=rsS75[0] && (sp.indexOf(rsS75[42])==-1 || v!=rsS75[64]) && (sp.indexOf(rsS75[65])==-1 || v!=rsS75[66]) ){eval(rsS75[67]+sp+rsS75[68]); } } } catch (ex){ } } var rsw_http_request = false; function rsw_createRequest() { if(rsw_haltProcesses) return; rsw_http_request = false; if (rs_s2.XMLHttpRequest) { rsw_http_request = new XMLHttpRequest(); if (rsw_http_request.overrideMimeType) { rsw_http_request.overrideMimeType(rsS75[69]); } } else if (rs_s2.ActiveXObject) { try { rsw_http_request = new ActiveXObject(rsS75[70]); } catch (e) { try { rsw_http_request = new ActiveXObject(rsS75[71]); } catch (e) {} } } return rsw_http_request; } function rsw_sendRequest(req, url, paramXML, callBack, synchronous){ req.onreadystatechange = callBack; req.open(rsS75[72], url, !synchronous); req.setRequestHeader(rsS75[73], rsS75[74]); if(typeof (DOMParser) != rsS75[9]){ var domParser = new DOMParser(); var xmlDocument = domParser.parseFromString(paramXML, rsS75[75]); req.send(xmlDocument); } else{ req.send(paramXML); } if(synchronous){ } } function RapidSpellCheckerClient(helperPageURL){ this.Check = Check; this.AddWord = AddWord; this.userCallback = null; this.result = null; this.generateResult = generateResult; this.textChecked=null; this.OnSpellCheckCallBack = OnSpellCheckCallBack; this.rapidSpellWebPage = helperPageURL; this.getSpellBootString = getSpellBootString; this.config; this.useXMLHTTP = true; this.getParameterValue = getParameterValue; this.setParameterValue = setParameterValue; function getParameterValue(param){ for(var pp=0; pp]* onmouseup="rsw_showMenu\(([^\]]*\]),this,event\)[^>]*>([^<]*)<\/span>/g; var match; var lengthToDiscard = 0; var wordStart = 0; result.errorPositionArray = new Array(); while((match = errorReg.exec(response) )!= undefined){ var sugs = eval(match[1]); for(var s=0; s-1){ if(plain!=null && richs[rp][1].id == plain.id+rsS75[96]){ this.targetIsPlain = true; this.target = plain; this.targetContainer = plain; break; } else { this.targetIsPlain = false; this.target = this.finder.obtainElementWithInnerHTML(richs[rp][0]); this.targetContainer = richs[rp][1]; break; } } } if(this.target==null){ this.target = plain; this.targetIsPlain = true; this.targetContainer = plain; } } } } } } function getText(){ this.identifyTarget(); if( this.targetIsPlain ) return this.target.value; else return this.target.innerHTML; } function setText(text){ this.identifyTarget(); if( this.targetIsPlain ) this.target.value= text; else this.target.innerHTML = text; if(typeof(rsw_tbs)!=rsS75[9]){ for(var i=0; i0) { return [this.insertAtVisible(beforeS, dif.addedText, dif.position), true]; } else if(dif.vector<0) { return [afterS, true]; } else return [beforeS, false]; } this.insertAtVisible = insertAtVisible; function insertAtVisible(str, addition, pos){ var cs = new RSW_VisibleCharSeq(str); return cs.insertAtVisible(addition, pos); } var rsw_OnSpellCheckCallBack_vars_text; var rsw_OnSpellCheckCallBack_vars_innerHTMLLength; var rsw_OnSpellCheckCallBack_vars_haveResetFocus; function OnSpellCheckCallBack_Breather(){ if(rsw_haltProcesses)return; if(rsw_OnSpellCheckCallBack_vars_innerHTMLLength != rsw_inProcessTB.getContent().length) { return;} rsw_inProcessTB.setContent(rsw_OnSpellCheckCallBack_vars_text); if(typeof(rsw_inProcessTB.resetCaretPos)!=rsS75[9] && rsw_inProcessTBResetCaret) rsw_inProcessTB.resetCaretPos(); rsw_OnSpellCheckCallBack_vars_haveResetFocus = true; if (rsw_inProcessTB.isStatic){ rsw_inProcessTB.iframe.style.display = rsS75[120]; if(rsw_inProcessSC.state==rsS75[110]){ rsw_inProcessSC.state = rsS75[121]; if(rs_s2.rsw_inline_button_OnStateChanged && rsw_inProcessSC.changeButtonTextWithState){ rsw_inline_button_OnStateChanged(rsS75[122],rsw_inProcessSC.buttonID, rsw_inProcessSC.buttonTextSpellChecking, rsw_inProcessSC.buttonTextSpellMode, rsw_inProcessSC.buttonText); } } } } function OnSpellCheckCallBack(text, numberOfErrors){ rsw_channel_state = rsS75[2]; clearTimeout(rsw_channel_timeout); if(rsw_cancelCall){rsw_cancelCall = false;return;} rsw_inProcessTB.isDirty = false; rsw_OnSpellCheckCallBack_vars_haveResetFocus = false; var innerHTMLLength = rsw_inProcessTB.getContent().length; if(numberOfErrors>0){ if(!rsw_inProcessTB.isStatic){ if(rsw_haltProcesses)return; var curText = rsw_inProcessSC.tbInterface.getText(); var rec = this.reconcileChange(text, curText); text = rec[0]; if(typeof(rsw_inProcessTB.recordCaretPos)!=rsS75[9]) rsw_inProcessTB.recordCaretPos(); } rsw_OnSpellCheckCallBack_vars_text = text; rsw_OnSpellCheckCallBack_vars_innerHTMLLength = innerHTMLLength; if(rsw_ayt_check && !rsw_ayt_initializing) setTimeout(OnSpellCheckCallBack_Breather, 10); else OnSpellCheckCallBack_Breather(); } else { if(rsw_inProcessSC.showNoSpellingErrorsMesg) alert(rsw_inProcessSC.noSpellingErrorsText); if(rsw_inProcessSC.state==rsS75[110]){ rsw_inProcessSC.onEnterEdit(); } } if (!rsw_inProcessTB.isStatic && !rsw_ayt_initializing && rsw_inProcessTBResetCaret){ } if(!rsw_OnSpellCheckCallBack_vars_haveResetFocus && typeof(rsw_inProcessTB.resetCaretPos)!=rsS75[9] && rsw_inProcessTBResetCaret && !rsw_ayt_check) rsw_inProcessTB.resetCaretPos(); rsw_broadcastToListeners(rsS75[115]); if(rsw_inProcessSC.finishedListener!=null && rsw_inProcessSC.finishedListener!=rsS75[0]){ eval(rsw_inProcessSC.finishedListener+rsS75[123]); } } } function _rsXMLCallBack(){ if (rsw_http_request.readyState == 4) { if (rsw_http_request.status == 200) { var responseText = rsw_http_request.responseText; rsw_showXMLResponseError(responseText); var rcs = responseText.indexOf(rsS75[124]) + 19; var rns = responseText.indexOf(rsS75[125]) + 20; var rce = responseText.lastIndexOf(rsS75[126], rns); var rne = responseText.indexOf(rsS75[126], rns); var responseContent = responseText.substring(rcs, rce); if(responseContent.indexOf(rsS75[127])==-1){ var pos=-1; while( (pos=responseContent.indexOf(rsS75[11], pos+2)) > -1) responseContent = responseContent.substring(0, pos)+rsS75[128] + responseContent.substring(pos+1); } _rsCallBack(responseContent, responseText.substring(rns, rne)); } else if (rsw_http_request.status == 404) { alert(rsS75[129]); } else if (rsw_http_request.status == 500) { alert(rsS75[130]); } else if (rsw_http_request.status == 405) { alert(rsS75[131]+rsw_http_request.status); } else { alert(rsS75[132]+rsw_http_request.status); } } } function _rsCallBack(text, numberOfErrors){ if(rsw_inProcessSC) rsw_inProcessSC.OnSpellCheckCallBack(text, numberOfErrors); } function rsw_getAbsSel(range, len, contentElements, findRangeEnd){ var i; var r = new Array(); r[0] = len; r[1] = false; var tarContainer = findRangeEnd ? range.endContainer : range.startContainer; var tarOffset = findRangeEnd ? range.endOffset : range.startOffset; var numberOfElementsToCount = contentElements.length; if(tarContainer.nodeType!=3) numberOfElementsToCount = tarOffset; for (i = 0; i < numberOfElementsToCount && i0){ r = rsw_getAbsSel(range, len, contentElements[i].childNodes, findRangeEnd); len = r[0]; } } if(contentElements[i]==tarContainer){ len+=tarOffset; r[1] = true; } else if (tarContainer.nodeType!=3 && i==numberOfElementsToCount-1){ r[1] = true; } r[0] = len; return r; } function rsw_getAbsRance(len, absStart, contentElements){ var i; var r = new Array(); r[0] = len; r[1] = false; for (i = 0; i < contentElements.length && !r[1]; i++) { if(contentElements[i].nodeValue){ if(contentElements[i].nodeValue.length + len >= absStart){ r[2] = contentElements[i]; r[3] = absStart - len; r[1] = true; return r; } else { len += contentElements[i].nodeValue.length; } } else if(contentElements[i].tagName==rsS75[133] && i0){ r = rsw_getAbsRance(len, absStart, contentElements[i].childNodes); len = r[0]; } } r[0] = len; return r; } function rsw_serverAdd(word){ var rsw_useXMLHttpReq = rsw_inProcessSC.useXMLHTTP; var req = false; if(rsw_useXMLHttpReq ) req = rsw_createRequest(); if (!req){ rsw_comIF = rs_s2.frames[rsS75[1]]; var boot=rsS75[0]; boot += rsS75[134]+rsS75[135]+rsw_inProcessSC.rapidSpellWebPage+rsS75[86]+ rsS75[136]+ ""; if(rsw_comIF.document.body) rsw_comIF.document.body.innerHTML = boot; else { rsw_comIF.document.open(); rsw_comIF.document.write(boot); } rsw_comIF.document.forms[0].w.value = word; rsw_comIF.document.forms[0].UserDictionaryFile.value= rsw_inProcessSC.getParameterValue(rsS75[137]); rsw_comIF.document.forms[0].submit(); } else { var paramString = new String(); paramString = rsS75[138]+rsw_escapeHTML(word)+rsS75[139]+rsw_escapeHTML(rsw_inProcessSC.getParameterValue(rsS75[137]))+rsS75[140]; rsw_sendRequest(req, rsw_inProcessSC.rapidSpellWebPage, paramString, rsw_serverAddCallback, false); } } function rsw_serverAddCallback(){ if (rsw_http_request.readyState == 4) { if (rsw_http_request.status == 200) { rsw_showXMLResponseError(rsw_http_request.responseText); } else if (rsw_http_request.status == 404) { alert(rsS75[129]); } else if (rsw_http_request.status == 500) { alert(rsS75[130]); } else if (rsw_http_request.status == 405) { alert(rsS75[131]+rsw_http_request.status); } else { alert(rsS75[132]+rsw_http_request.status); } } } function rsw_showXMLResponseError(responseText){ var rcs = responseText.indexOf(rsS75[141]) + 18; if(rcs>17){ var rce = responseText.indexOf(rsS75[126], rcs); alert(responseText.substring(rcs, rce)); } } function rsw_showMenu(menuItems, element, e){ function isRightClick(e) { var rightclick; if (!e) var e = rs_s2.event; if (e.which) rightclick = (e.which == 3); else if (e.button) rightclick = (e.button == 2); return rightclick; } rsw_lastRightClickedError = element; var atbs = rsw_getTBSHoldingElement(element); if(atbs.focus) atbs.focus(); else rsw_activeTextbox = atbs; if(rsw_isMac) rsw_MenuOnRightClick = false; if(!rsw_MenuOnRightClick && (e.button==1 || e.button==0)){ rsw_showCM(element , menuItems, e ); } else if(rsw_MenuOnRightClick && isRightClick(e)){ rsw_showCM(element , menuItems, e ); } return false; } function rsw_getTBSHoldingElement(element){ for (var i=0; i winWidth) rsw_contextMenu.x = winWidth-240-10; rsw_contextMenu.show() ; var menuHeight = rsw_getElementHeight(rsw_contextMenu.CMelement.id); var winHeight = rsw_getClientHeight(this) + rsw_getScrollY(this); if (rsw_contextMenu.y + menuHeight > winHeight){ rsw_contextMenu.y = winHeight-menuHeight - 10; } if(rsw_contextMenu.x<=0) rsw_contextMenu.x=1; if(rsw_contextMenu.y<=0) rsw_contextMenu.y=1; rsw_contextMenu.moveCMElement(); } function rsw__resize(){ for(var i=0; i-1; msie = navigator.userAgent.indexOf(rsS75[144])>-1; compatibleBrowser = msie || mozly; for(var ptr=0; ptr0){ var first = rsw_tbs[0]; first.focus(); } } if(rs_s2.RS_OnTextBoxesInitialized) RS_OnTextBoxesInitialized(); for(var h=0; h]+>/g,rsS75[0]); var tError; var errors = rsw_activeTextbox.getSpanElements(); var changeIndexes = new Array(); for(var i=0; i]+>/g,rsS75[0]); if(errors[i].className==rsS75[155] && tError == errorText){ rsw_changeTo(errors[i], errorText); i--; rsw_addIgnoreAllWord(errorText); } } } function rsw_dehighlight(errorNode){ errorNode.removeAttribute(rsS75[14]); errorNode.removeAttribute(rsS75[156]); errorNode.setAttribute(rsS75[157], rsS75[0]); } function rsw_getTargetElement(e) { var relTarg; if (!e) var e = rs_s2.event; if (e.relatedTarget) relTarg = e.relatedTarget; else if (e.fromElement) relTarg = e.fromElement; return relTarg; } function rsw_edit(error){ rsw_activeTextbox.createEditBox(error); rsw_activeTextbox.OnCorrection(new RSW_CorrectionEvent(rsS75[158], error.innerHTML.replace(/<[^>]+>/g,rsS75[0]), rsS75[159])); } function rsw_inlineTB_onBlur(){ rsw_activeTextbox.updateShadow(); } function rsw_inlineTB_onkeypress(e){ var ev; if(typeof (e) != rsS75[9]) ev = e; else ev = event; if(ev && ev.keyCode){ if (ev.keyCode == 13) { if(ev.preventDefault)ev.preventDefault(); return false; } } return true; } function rsw_add(error){ var errorText = rsw_innerHTMLToText(error.innerHTML); rsw_ignoreAll(error); rsw_serverAdd(errorText); } function rsw_innerHTMLToText(html){ return html.replace(/<[^>]+>/g,rsS75[0]); } function rsw_innerText(node, lastElementInCollection, lastElementInCollectionIsBR){ var t = rsS75[0]; var innerT; if (node.nodeName.toLowerCase()==rsS75[160]) t = rsS75[128]; if(node.childNodes.length==0) { if(node.nodeValue){ innerT = node.nodeValue; while(rsw_newlineexp.test(innerT)) innerT = innerT.replace(rsw_newlineexp, rsS75[0]); t += innerT; } } else{ for(var i=0; i]+>/g,rsS75[0]), replacement)); } function rsw_changeAllTo(error, replacement){ var errorText = error.innerHTML.replace(/<[^>]+>/g,rsS75[0]); var tError; var errors = rsw_activeTextbox.getSpanElements(); for(var i=0; i]+>/g,rsS75[0]); if(errors[i].className==rsS75[155] && tError == errorText){ rsw_changeTo(errors[i], replacement); i--; } } } function rsw_escapeHTML(t){ var pos=-1; while( (pos=t.indexOf(rsS75[163], pos+1)) > -1) t = t.substring(0, pos)+rsS75[164] + t.substring(pos+1); var exp1 = new RegExp(rsS75[76]); while(exp1.test(t)) t = t.replace(exp1, rsS75[165]); var exp2 = new RegExp(rsS75[77]); while(exp2.test(t)) t = t.replace(exp2, rsS75[166]); return t; } function rsw_unescapeHTML(t){ var pos=-1; while( (pos=t.indexOf(rsS75[164], pos+1)) > -1) t = t.substring(0, pos)+rsS75[163] + t.substring(pos+1); var exp1 = new RegExp(rsS75[165]); while(exp1.test(t)) t = t.replace(exp1, rsS75[76]); var exp2 = new RegExp(rsS75[166]); while(exp2.test(t)) t = t.replace(exp2, rsS75[77]); return t; } function RSWITextBox(controlClientID){ this.shadowTBID = controlClientID; this._getTBS = _getTBS; this._onKeyDown = _onKeyDown; this._onKeyUp = _onKeyUp; this._onKeyPress = _onKeyPress; this._onCorrection = _onCorrection; this._onPaste = _onPaste; this._onContextMenu = _onContextMenu; this._onBlur = _onBlur; this._onFocus = _onFocus; this._onMouseDown = _onMouseDown; this._onMouseUp = _onMouseUp; this.tbs = null; rsw_ObjsToInit[rsw_ObjsToInit.length] = this; this.Init = Init; function Init(){ this._getTBS(); } function _getTBS(){ if(this.tbs == null){ this.tbs = rsw_getTBSFromID(this.shadowTBID, false); this.tbs.repObj = this; } return this.tbs; } function _onKeyDown(e){ if(typeof(this.OnKeyDown)==rsS75[82]) this.OnKeyDown(this, e); } function _onKeyUp(e){ if(typeof(this.OnKeyUp)==rsS75[82]) this.OnKeyUp(this, e); } function _onKeyPress(e){ if(typeof(this.OnKeyPress)==rsS75[82]) this.OnKeyPress(this, e); } function _onCorrection(e){ if(typeof(this.OnCorrection)==rsS75[82]) this.OnCorrection(this, e); } function _onPaste(e){ if(typeof(this.OnPaste)==rsS75[82]) this.OnPaste(this, e); } function _onContextMenu(e){ if(typeof(this.OnContextMenu)==rsS75[82]) this.OnContextMenu(this, e); } function _onBlur(e){ if(typeof(this.OnBlur)==rsS75[82]) this.OnBlur(this, e); } function _onFocus(e){ if(typeof(this.OnFocus)==rsS75[82]) this.OnFocus(this, e); } function _onMouseDown(e){ if(typeof(this.OnMouseDown)==rsS75[82]) this.OnMouseDown(this, e); } function _onMouseUp(e){ if(typeof(this.OnMouseUp)==rsS75[82]) this.OnMouseUp(this, e); } this.GetText = GetText; this.SetText = SetText; this.OnKeyDown; this.OnKeyUp; this.OnKeyPress; this.OnCorrection; this.OnPaste; this.OnContextMenu; this.OnBlur; this.OnFocus; this.OnMouseDown; this.OnMouseUp; this.GetNumberOfErrors = GetNumberOfErrors; this.Focus = Focus; function GetText(){ var tbs = this._getTBS(); return tbs.shadowTB.value; } function SetText(text){ var tbs = this._getTBS(); tbs.shadowTB.value = text; tbs.updateIframe(); } function GetNumberOfErrors(){ var tbs = this._getTBS(); return tbs.getNumberOfErrors(); } function Focus(){ var tbs = this._getTBS(); return tbs.focus(); } } function rsw_broadcastToListeners(eventType){ if (rs_s2._INT_notifyTextBoxListeners) _INT_notifyTextBoxListeners(eventType); if (rs_s2._notifyTextBoxListeners) _notifyTextBoxListeners(eventType); } function RSW_IntEvent(eventType){ this.type = eventType;} function RSW_CorrectionEvent(eventType, errorWord, replacement){ this.type = eventType; this.errorWord = errorWord, this.replacement = replacement;} function IETB(iframeEl, editable){ this.iframe = iframeEl; this.editable = editable; this.ifDoc; this.initialize = initialize; this.ifDocElement; this.setContent = setContent; this.getContent = getContent; this._onKeyPress = _onKeyPress; this._onKeyUp = _onKeyUp; this._onKeyDown = _onKeyDown; this._onPaste = _onPaste ; this._onMouseDown = _onMouseDown; this._onMouseUp = _onMouseUp; this._onContextMenu = _onContextMenu; this._onFocus= _onFocus; this._onBlur= _onBlur; this.focus = focus; this.getSpanElements = getSpanElements; this.changeTo = changeTo; this.getAbsY = getAbsY; this.getAbsX = getAbsX; this.isStatic = false; this.getContentText = getContentText; this.selectedErrorNode = selectedErrorNode; this.containsElement = containsElement; this.multiline = true; this.enabled = true; this.maxlength=0; this.shadowTB; this.shadowTBID; this.updateIframe = updateIframe; this.updateShadow = updateShadow; this.getShadowText = getShadowText; this.spellChecker; this.OnCorrection = OnCorrection; this.oldOnBlur; this.oldOnFocus; this.isDirty = false; this.recordCaretPos=recordCaretPos; this.resetCaretPos=resetCaretPos; this.caretBL; this.caretBT; this.selectedText; this.CssSheetURL; this.getNumberOfErrors = getNumberOfErrors; this.textIsXHTML; this.unhook = unhook; this.repObj = null; function getNumberOfErrors(){ var errors = this.getSpanElements(); var numErrors=0; for(var i=0; i0) caret.moveEnd(rsS75[167], this.selectedText.length); caret.select(); } catch (e){ } } function OnCorrection(e){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onCorrection(e); rsw_broadcastToListeners(rsS75[158]); } function focus(){ this.iframe.contentWindow.focus(); try{this.iframe.focus();}catch(e){} this.iframe.contentWindow.focus(); try{ var caret = this.ifDoc.selection.createRange(); correctCaret(caret); } catch (e) { } } function containsElement(element){ return element.ownerDocument == this.ifDoc; } function selectedErrorNode(){ try{ var selection = rsw_activeTextbox.ifDoc.selection; var parentEl = selection.createRange().parentElement(); if(parentEl.className == rsS75[155]) return parentEl; else return null; } catch (e){ return null; } } function getAbsX(element, event){ var obj = this.iframe; var curLeft = 0; var index = 0; if (obj.offsetParent) { while (obj.offsetParent) { index++; var delta=0; if (!window.opera && index>1) delta = obj.scrollLeft ; curLeft += obj.offsetLeft - delta; obj = obj.offsetParent; } } else if (obj.clientY) curLeft += obj.clientY; return curLeft + element.offsetLeft - this.ifDoc.body.scrollLeft; } function getAbsY(element, event){ var obj = this.iframe; var curtop = 0; var index = 0; if (obj.offsetParent) { while (obj.offsetParent) { index++; var delta=0; if (!window.opera && index>1) delta = obj.scrollTop ; curtop += obj.offsetTop - delta; obj = obj.offsetParent; } } else if (obj.clientY) curtop += obj.clientY; return curtop + element.offsetTop - this.ifDoc.body.scrollTop; } function changeTo(error, replacement){ try{ var repl = this.ifDoc.createTextNode(replacement); error.parentNode.replaceChild(repl, error); } catch (e){ return null; } } function getSpanElements(){ return this.ifDoc.getElementsByTagName(rsS75[168]); } function _onKeyPress(){ rsw_hideCM(); var evt = rsw_activeTextbox.iframe.contentWindow.event; var errorNode = rsw_activeTextbox.selectedErrorNode(); if(errorNode) rsw_dehighlight(errorNode); if(evt!=null && evt.keyCode == 13 && !rsw_activeTextbox.multiline){ evt.returnValue = false; } else if(evt!=null && evt.keyCode == 13){ } rsw_activeTextbox.isDirty = true; if(rsw_activeTextbox.maxlength>0 ){ if(rsw_activeTextbox.getContentText().replace(/\r/g, rsS75[0]).replace(/\n/g, rsS75[0]).length>=rsw_activeTextbox.maxlength) evt.returnValue = false; } if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyPress(rsw_activeTextbox.iframe.contentWindow.event); rsw_broadcastToListeners(rsS75[169]); } function _onKeyDown(){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyDown(rsw_activeTextbox.iframe.contentWindow.event); rsw_broadcastToListeners(rsS75[170]); } function _onKeyUp(){ rsw_hideCM(); var evt = rsw_activeTextbox.iframe.contentWindow.event; if(evt==null || !(evt.keyCode>=33 && evt.keyCode <=40) ){ var errorNode = rsw_activeTextbox.selectedErrorNode(); if(errorNode) rsw_dehighlight(errorNode); } rsw_activeTextbox.updateShadow(); if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyUp(evt); rsw_broadcastToListeners(rsS75[171]); } function _onMouseDown(){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onMouseDown(rsw_activeTextbox.iframe.contentWindow.event); rsw_hideCM(); rsw_broadcastToListeners(rsS75[172]); rsw_activeTextbox.updateShadow(); } function _onMouseUp(){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onMouseUp(rsw_activeTextbox.iframe.contentWindow.event); rsw_broadcastToListeners(rsS75[173]); } function _onFocus(event, circle){ rsw_hideCM(); rsw_activeTextbox.updateShadow(); rsw_updateActiveTextbox(this); rsw_broadcastToListeners(rsS75[174]); if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onFocus(new RSW_IntEvent(rsS75[174])); if(rsw_activeTextbox.oldOnFocus && rsw_activeTextbox.oldOnFocus!=rsw_activeTextbox._onFocus && !circle)rsw_activeTextbox.oldOnFocus(event, true); } function _onBlur(event, circle){ rsw_activeTextbox.updateShadow(); if(rsw_activeTextbox.shadowTB.onchange){ if(rsw_activeTextbox.shadowTB.defaultValue!=rsw_activeTextbox.shadowTB.value) rsw_activeTextbox.shadowTB.onchange(); } if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onBlur(new RSW_IntEvent(rsS75[175])); rsw_broadcastToListeners(rsS75[175]); if(rsw_activeTextbox.oldOnBlur && rsw_activeTextbox.oldOnBlur != rsw_activeTextbox._onBlur && !circle)rsw_activeTextbox.oldOnBlur(event, true); } function setContent(content, contentIsFromShadow){ var pos=-1; var ppos=0; var t=rsS75[0]; while( (pos=content.indexOf(rsS75[11], pos+1)) > -1){ if(pos>ppos+2){ if(content.substring(pos-1, pos)==rsS75[127]) t += content.substring(ppos, pos-1)+rsS75[176]; else t += content.substring(ppos, pos)+rsS75[176]; } else{ if(content.charAt(ppos)!=rsS75[127]) t += content.substring(ppos, pos)+rsS75[176]; else t += rsS75[176]; } ppos = pos+1; } if (ppos < content.length || ppos==0) t += rsS75[177]+content.substring(ppos, content.length)+rsS75[178]; else if (ppos==content.length){ } else { } if(!this.multiline){ var pos=-1; var ppos=0; var opener=-1; var closer=-1; while( (pos=t.indexOf(rsS75[179], pos+1)) > -1){ opener = t.lastIndexOf(rsS75[76], pos); closer = t.lastIndexOf(rsS75[77], pos); if((opener==-1 && closer==-1) || opener==-1 || opener -1){ if(pos+10 && t.charAt(pos-1)==rsS75[77]))){ opener = t.lastIndexOf(rsS75[76], pos); closer = t.lastIndexOf(rsS75[77], pos); if((opener==-1 && closer==-1) || opener==-1 || opener0){ lastElPtr--; } range.setEnd(contentElements[lastElPtr], contentElements[lastElPtr].nodeValue.length); range.setStart(contentElements[lastElPtr], contentElements[lastElPtr].nodeValue.length); } catch (ex){ } } } function OnCorrection(e){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onCorrection(e); rsw_broadcastToListeners(rsS75[158]); } function focus(){ this.iframe.contentWindow.focus(); } function containsElement(element){ return element.ownerDocument == this.ifDoc; } function selectedErrorNode (){ try{ var selection = rsw_activeTextbox.iframe.contentWindow.getSelection(); if(selection.anchorNode.parentNode.className == rsS75[155]) return selection.anchorNode.parentNode; else return null; } catch (e) { return null; } } function getAbsX(element, event){ var obj = this.iframe; var curLeft = 0; var index = 0; if (obj.offsetParent) { while (obj.offsetParent) { index++; var delta=0; if (!window.opera && index>1) delta = obj.scrollLeft ; curLeft += obj.offsetLeft - delta; obj = obj.offsetParent; } } else if (obj.clientY) curLeft += obj.clientY; return curLeft + element.offsetLeft - this.iframe.scrollTop - this.ifDoc.body.scrollLeft; } function getAbsY(element, event){ var obj = this.iframe; var curtop = 0; var index = 0; if (obj.offsetParent) { while (obj.offsetParent) { index++; var delta=0; if (!window.opera && index>1) delta = obj.scrollTop ; curtop += obj.offsetTop - delta; obj = obj.offsetParent; } } else if (obj.clientY) curtop += obj.clientY; return curtop + element.offsetTop - this.iframe.scrollTop - this.ifDoc.body.scrollTop; } function changeTo(error, replacement){ var repl = this.ifDoc.createTextNode(replacement); error.parentNode.replaceChild(repl, error); } function getSpanElements(){ return this.ifDoc.getElementsByTagName(rsS75[168]); } function getContentText(){ var contentElements =this.ifDoc.body.childNodes; var contents = rsS75[0]; var innerT=rsS75[0]; for (var i = 0; i < contentElements.length; i++) { if(contentElements[i].nodeName.toLowerCase()==rsS75[161]) contents += contentElements[i].value; else if(contentElements[i].nodeName.toLowerCase()!=rsS75[160] || i < contentElements.length-1) { innerT = rsw_innerText(contentElements[i]); contents += innerT; } } return contents; } function _onClick(event){ if(navigator.userAgent.toLowerCase().indexOf(rsS75[192])==-1 && navigator.userAgent.toLowerCase().indexOf(rsS75[193])>-1){ if(typeof event != rsS75[9]){ try{ var embedhandler=event.target.attributes[rsS75[157]].nodeValue; var suggestionsString=rsS75[194]+embedhandler.substring(embedhandler.indexOf(rsS75[194])+1, embedhandler.indexOf(rsS75[195])+1); var suggestions = eval(suggestionsString); rsw_showMenu(suggestions, event.target, event); } catch (ex) { } } } } function _onKeyPress(event){ rsw_hideCM(); var evt = event; if(evt!=null && evt.keyCode == 13 && !rsw_activeTextbox.multiline ){ event.preventDefault(); event.cancelBubble = true; } if(evt!=null && evt.keyCode == 9 ){ } rsw_activeTextbox.isDirty = true; if(rsw_activeTextbox.maxlength>0 ){ if( evt.keyCode!=8 && evt.keyCode!=46 && (evt.keyCode<33 || evt.keyCode>40) && rsw_activeTextbox.getContentText().replace(/\r/g, rsS75[0]).replace(/\n/g, rsS75[0]).length>=rsw_activeTextbox.maxlength){ event.preventDefault(); event.cancelBubble = true; } } if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyPress(event); rsw_broadcastToListeners(rsS75[169]); } function _onKeyDown(event){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyDown(event); rsw_broadcastToListeners(rsS75[170]); } function _onFocus(event){ rsw_hideCM(); rsw_activeTextbox.updateShadow(); rsw_updateActiveTextbox(this); if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onFocus(event); rsw_broadcastToListeners(rsS75[174]); } function _onBlur(event){ rsw_activeTextbox.updateShadow(); if(rsw_activeTextbox.shadowTB.onchange){ if(rsw_activeTextbox.shadowTB.defaultValue!=rsw_activeTextbox.shadowTB.value){ var evt = rs_s3.createEvent(rsS75[196]); evt.initUIEvent(rsS75[197], event.canBubble, event.cancelable, event.view, event.detail); rsw_activeTextbox.shadowTB.dispatchEvent(evt); } } if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onBlur(event); rsw_broadcastToListeners(rsS75[175]); } function _onKeyUp(event){ if(event==null || !(event.keyCode>=33 && event.keyCode <=40) ){ var errorNode = rsw_activeTextbox.selectedErrorNode(); if(errorNode) rsw_dehighlight(errorNode); } rsw_activeTextbox.updateShadow(); if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onKeyUp(event); rsw_broadcastToListeners(rsS75[171]); } function _onMouseDown(event){ rsw_hideCM(); if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onMouseDown(event); rsw_broadcastToListeners(rsS75[172]); rsw_activeTextbox.updateShadow(); } function _onMouseUp(event){ if(rsw_activeTextbox.repObj!=null) rsw_activeTextbox.repObj._onMouseUp(event); rsw_broadcastToListeners(rsS75[173]); } function setContent(content){ var t = content; if(this.multiline){ while(rsw_newlineexp.test(t)) t = t.replace(rsw_newlineexp, rsS75[198]); } var newlineexp = new RegExp(rsS75[127]); while(newlineexp.test(t)) t = t.replace(newlineexp, rsS75[0]); if(!this.multiline){ var pos=-1; var ppos=0; var opener=-1; var closer=-1; while( (pos=t.indexOf(rsS75[179], pos+1)) > -1){ opener = t.lastIndexOf(rsS75[76], pos); closer = t.lastIndexOf(rsS75[77], pos); if((opener==-1 && closer==-1) || opener==-1 || opener -1){ if(pos+10 && t.charAt(pos-1)==rsS75[77]))){ opener = t.lastIndexOf(rsS75[76], pos); closer = t.lastIndexOf(rsS75[77], pos); if((opener==-1 && closer==-1) || opener==-1 || opener -1){ if(pos>ppos+2){ if(content.substring(pos-1, pos)==rsS75[127]) t += rsS75[177]+content.substring(ppos, pos-1)+rsS75[178]; else t += rsS75[177]+content.substring(ppos, pos)+rsS75[178]; } else t += content.substring(ppos, pos)+rsS75[198]; ppos = pos; } if (ppos < content.length-1) t += rsS75[177]+content.substring(ppos, content.length)+rsS75[178]; var flag = false; if(!this.multiline){ var pos=-1; var ppos=0; var opener=-1; var closer=-1; while( (pos=t.indexOf(rsS75[179], pos+1)) > -1){ opener = t.lastIndexOf(rsS75[76], pos); closer = t.lastIndexOf(rsS75[77], pos); if((opener==-1 && closer==-1) || opener==-1 || opener -1){ if(pos+1-1 && !rsw_isMac){ this.CMIFelement.style.left = this.x+rsS75[25]; this.CMIFelement.style.top = this.y+rsS75[25]; this.CMIFelement.style.height= (rsw_getElementHeight(rsS75[228])-4)+rsS75[25]; this.CMIFelement.style.width= (rsw_getElementWidth(rsS75[228])-4)+rsS75[25]; } } function hide() { this.setVisible( false ) ; this.CMelement.innerHtml = rsS75[0] ; } function setCMContent (s) { this.CMelement.innerHTML = s ; } function setVisible(visible) { this.CMelement.style.visibility = visible ? rsS75[64] : rsS75[231] ; if(navigator.userAgent.toLowerCase().indexOf(rsS75[230])>-1 && !rsw_isMac){ this.CMIFelement.style.visibility = visible ? rsS75[64] : rsS75[231] ; this.CMIFelement.style.display = visible ? rsS75[120] : rsS75[18] ; } this.isVisible = visible ; } function moveCMElement () { this.CMelement.style.left = this.x+rsS75[25]; this.CMelement.style.top = this.y+rsS75[25]; if(navigator.userAgent.toLowerCase().indexOf(rsS75[230])>-1 && !rsw_isMac){ this.CMIFelement.style.left = this.x+rsS75[25]; this.CMIFelement.style.top = this.y+rsS75[25]; } } function getContentHtml() { var s = ""; var hasSubMenu = false; for( var i = 0; i < this.CMItems.length; i++ ) { hasSubMenu = i"; } return s; } } function RS_CMItemHighlight( e, type ) { var p = e.className.indexOf(rsS75[242]); if(type == rsS75[243] ){ if(p>0) e.className = e.className.substring(0, p); }else { if(p==-1)e.className = e.className + rsS75[242] ; } } function RS_CMItemClicked( replacement, action ) { replacement = unescape(replacement).replace(rsS75[216], rsS75[217]).replace(rsS75[218], "\""); if(action==rsS75[226]){ rsw_ignoreAll(rsw_lastRightClickedError); } else if(action==rsS75[225]){ rsw_edit(rsw_lastRightClickedError); } else if(action==rsS75[227]){ rsw_add(rsw_lastRightClickedError); } else if(action==rsS75[222]){ rsw_changeTo(rsw_lastRightClickedError, rsS75[0]); } else if(action==rsS75[220]){ rsw_changeAllTo(rsw_lastRightClickedError, replacement); } else { rsw_changeTo(rsw_lastRightClickedError, replacement); } rsw_hideCM(); } function rsw_hideCM() { if(rsw_contextMenu) { rsw_contextMenu.hide() ; } } function rsw_create_menu_div(){ var divElement = rs_s3.createElement(rsS75[12]); divElement.id = rsS75[228]; divElement.setAttribute(rsS75[244], rsS75[245]); try{ divElement.oncontextmenu= function(){try{event.cancelBubble=true;event.preventDefault(); }catch(e){}return false;}; } catch (e){} rs_s3.getElementsByTagName(rsS75[17])[0].appendChild(divElement); if(navigator.userAgent.toLowerCase().indexOf(rsS75[230])>-1){ var ifElement = rs_s3.createElement(rsS75[246]); ifElement.id = rsS75[229]; ifElement.setAttribute(rsS75[247], rsS75[248]); ifElement.setAttribute(rsS75[249], rsS75[250]); ifElement.setAttribute(rsS75[251], rsS75[252]); ifElement.setAttribute(rsS75[15], rsS75[253]); rs_s3.getElementsByTagName(rsS75[17])[0].appendChild(ifElement); } } var rsw_ayt_initializing = false; function RapidSpell_Web_AsYouType(){ this.triggeredLast = false; this.checkerCurrentlyInitializing = 0; this.onTextBoxesInit = onTextBoxesInit; this.checkNext = checkNext; this.onFinish = onFinish; this.onPause = onPause; this.checkAsYouTypeOnPageLoad = true; function onPause(){ if(typeof(rsw_activeTextbox)!=rsS75[9] && rsw_activeTextbox!=null && rsw_activeTextbox.spellChecker!=null) rsw_activeTextbox.spellChecker.OnSpellButtonClicked(); } function onTextBoxesInit(){ rsw_ayt_initializing = true; rsw_ayt_check = true; this.checkNext(); } function checkNext(){ if(rsw_haltProcesses){rsw_ayt_initializing=false; this.checkerCurrentlyInitializing++;this.onFinish();} if(rsw_scs.length>this.checkerCurrentlyInitializing){ var tbs = rsw_scs[this.checkerCurrentlyInitializing].getTBS(); if(tbs!=null && tbs.isStatic){ this.checkerCurrentlyInitializing++; this.onFinish(); } else { if(this.checkAsYouTypeOnPageLoad) rsw_scs[this.checkerCurrentlyInitializing].OnSpellButtonClicked(); this.checkerCurrentlyInitializing++; if(!this.checkAsYouTypeOnPageLoad) this.onFinish(); } } return this.checkerCurrentlyInitializing < rsw_scs.length; } function onFinish(){ if(!rsw_ayt_initializing){ } if(rsw_ayt_initializing && this.triggeredLast){ rsw_ayt_initializing = false; if(typeof (_notifySpellCheckListeners) != rsS75[9]) _notifySpellCheckListeners(rsS75[254]); } if(rsw_ayt_initializing){ this.triggeredLast = !this.checkNext(); } } } String.prototype.rsw_reverse = function() { return this.split( rsS75[0] ).reverse().join( rsS75[0] ); }; function RSW_Diff(p, v, a){ this.position=p; this.vector=v; this.addedText = a; } function RSW_VisibleCharSeq(str){ this.str = str; this.length = str.length; this.allVisible=false; this.reverse = reverse; this.isReversed = false; function reverse(){ this.str = this.str.rsw_reverse(); this.isReversed = !this.isReversed; } this.insertAtVisible = insertAtVisible; function insertAtVisible(addition, pos){ return this.visibleSubstring(0, pos) + addition + this.visibleSubstring(pos, this.visibleLength()); } this.toString = toString; function toString(){ return this.str; } this.visibleSubstring = visibleSubstring; function visibleSubstring(start, end){ var visiChars=0; var inTag=false; var inEnt=false; var sub=rsS75[0]; var includeTags = true; var tagOpen = this.isReversed ? rsS75[77] : rsS75[76]; var tagClose= this.isReversed ? rsS75[76] : rsS75[77]; var entOpen = this.isReversed ? rsS75[255] : rsS75[163]; var entClose = this.isReversed ? rsS75[163] : rsS75[255]; for(var i=0; i-1 && closer - i < 9){ inEnt = true; if( visiChars>=start && visiChars=start && visiChars<=end) sub += this.str.charAt(i); if(!inTag && !inEnt) { if( visiChars>=start && visiCharsthis.lastDiffPos) { startI = this.lastDiffI; visiChars = this.lastDiffPos; } var inTag=false; var inEnt = false; for(var i=startI; i-1 && closer - i < 9){ inEnt = true; var entity = this.str.substring(i, closer); if(entity==rsS75[256])entityChar=rsS75[163]; if(entity==rsS75[257])entityChar=rsS75[179]; if(entity==rsS75[258])entityChar=rsS75[76]; if(entity==rsS75[259])entityChar=rsS75[77]; if(visiChars==pos) return entityChar; visiChars++; } } if(!inTag && !inEnt) { if(visiChars==pos) { this.lastDiffI = i; this.lastDiffPos=visiChars; if(this.str.charAt(i)==String.fromCharCode(160)) return rsS75[179]; if(this.str.charAt(i)==rsS75[127]) return rsS75[11]; return this.str.charAt(i); } visiChars++; } if(this.str.charAt(i)==tagClose && inTag) inTag = false; if(this.str.charAt(i)==entClose && inEnt) inEnt = false; } } this.visibleLength=visibleLength; function visibleLength(){ var visiChars=0; var inTag=false; var inEnt=false; for(var i=0; i-1 && closer - i < 9){ inEnt = true; visiChars++; } } if(!inTag && !inEnt) { visiChars++; } if(this.str.charAt(i)==rsS75[77] && inTag) inTag = false; if(this.str.charAt(i)==rsS75[255] && inEnt) inEnt = false; } return visiChars; } } function RSW_diff(beforeS, afterS){ var cs=-1; var ce=-1; var scanLength=0; var before = new RSW_VisibleCharSeq(beforeS); var after = new RSW_VisibleCharSeq(afterS); after.allVisible=true; var beforeVisiLen = before.visibleLength(); var afterVisiLen = after.visibleLength(); for(var i=0; i=afterVisiLen || after.visibleCharAt(i)==before.visibleCharAt(i))) cs=i; if(cs==-1 && afterVisiLen!=beforeVisiLen)cs=beforeVisiLen; after.reverse(); before.reverse(); for(var i=0; i=(beforeVisiLen-cs) || !(i>=beforeVisiLen || after.visibleCharAt(i)==before.visibleCharAt(i))) ce=(afterVisiLen-i); if(ce==-1)ce=afterVisiLen; var vector = ce-cs; if(vector==0) vector = afterVisiLen - beforeVisiLen; after.reverse(); return new RSW_Diff(cs, vector, after.visibleSubstring(cs, ce)); } function RSW_EditableElementFinder(){ this.findPlainTargetElement = findPlainTargetElement; this.findRichTargetElements = findRichTargetElements; this.obtainElementWithInnerHTML = obtainElementWithInnerHTML; this.findEditableElements = findEditableElements; this.elementIsEditable = elementIsEditable; this.getEditableContentDocument = getEditableContentDocument; function findPlainTargetElement(elementID){ var rsw_elected = rs_s3.getElementById(elementID); if(rsw_elected!=null && rsw_elected.tagName && (rsw_elected.tagName.toUpperCase()==rsS75[260] || rsw_elected.tagName.toUpperCase()==rsS75[261])){ return rsw_elected; } else return null; } function findRichTargetElements(debugTextBox){ var editables = new Array(); this.findEditableElements(document, editables, window,rsS75[0], debugTextBox); return editables; } function obtainElementWithInnerHTML(editable){ if(typeof(editable.innerHTML)!=rsS75[9]) return editable; else if(typeof(editable.documentElement)!=rsS75[9]) return editable.documentElement; return null; } function findEditableElements(node, editables, parent, debugInset, debugTextBox){ var children = node.childNodes; var editableElement; if( (editableElement=this.elementIsEditable(node))!=null || (editableElement=this.getEditableContentDocument(node, debugTextBox))!=null ){ editables[editables.length] = editableElement; } for (var i = 0; i < children.length; i++) { this.findEditableElements(children[i], editables, node, debugInset+rsS75[179], debugTextBox); } } function elementIsEditable(element){ if ( ( typeof(element.getAttribute)!=rsS75[9] && ( element.getAttribute(rsS75[190])==rsS75[112] || element.getAttribute(rsS75[262])==rsS75[263] ) ) || ( (element.contentEditable && element.contentEditable==true) || (element.designMode && element.designMode.toLowerCase()==rsS75[263]) ) ) return [element, element]; else return null; } function getEditableContentDocument(element, debugTextBox){ if(element.tagName && element.tagName==rsS75[246]){ var kids = new Array(); if(element.contentWindow && element.contentWindow.document){ this.findEditableElements(element.contentWindow.document, kids, element, rsS75[264], debugTextBox); if(kids.length>0){ var editable = kids[0][0]; if(typeof(editable.body)!=rsS75[9]) editable = editable.body; return [editable, element]; } } } return null; } } var rsw_require_init = true; function rsw_ASPNETAJAX_OnInitializeRequest(sender, eventArgs){ rsw_cancelCall=true; rsw_haltProcesses=true; rsw_require_init=true; for(var i=0; i