X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=program%2Fjs%2Fgoogiespell.js;h=3618fe10a3c99e12da6542b720cdfb22995a504e;hb=76507f7c63a660742e76889ad6e3919f3dde3bb0;hp=eb103e7acef938d3753c7a3b40b8b52874d8fc96;hpb=162c8d010934c01433e8125382fb493712575198;p=roundcube.git diff --git a/program/js/googiespell.js b/program/js/googiespell.js index eb103e7..3618fe1 100644 --- a/program/js/googiespell.js +++ b/program/js/googiespell.js @@ -1,983 +1,39 @@ -var AJS={getElement:function(id){ -if(typeof (id)=="string"){ -return document.getElementById(id); -}else{ -return id; -} -},getElements:function(){ -var _2=new Array(); -for(var i=0;i=2){ -for(var i=1;i0){ -var fn=this.callbacks.pop(); -res=fn(res); -} -}; -this.errback=function(e){ -alert("Error encountered:\n"+e); -}; -this.addErrback=function(fn){ -this.errback=fn; -}; -this.addCallback=function(fn){ -this.callbacks.unshift(fn); -}; -this.addCallbacks=function(fn1,fn2){ -this.addCallback(fn1); -this.addErrback(fn2); -}; -this.sendReq=function(_53){ -if(AJS.isObject(_53)){ -var _54=[]; -for(k in _53){ -_54.push(k+"="+AJS.urlencode(_53[k])); -} -_54=_54.join("&"); -this.req.send(_54); -}else{ -if(AJS.isDefined(_53)){ -this.req.send(_53); -}else{ -this.req.send(""); -} -} -}; -}; -AJSDeferred.prototype=new AJSDeferred(); -var GOOGIE_CUR_LANG="en"; -function GoogieSpell(_55,_56){ -var _57; -var _58; -_57=getCookie("language"); -if(_57!=null){ -GOOGIE_CUR_LANG=_57; -} -this.img_dir=_55; -this.server_url=_56; -this.lang_to_word={"da":"Dansk","de":"Deutsch","en":"English","es":"Español","fr":"Français","it":"Italiano","nl":"Nederlands","pl":"Polski","pt":"Português","fi":"Suomi","sv":"Svenska"}; -this.langlist_codes=AJS.keys(this.lang_to_word); -this.show_change_lang_pic=true; -this.lang_state_observer=null; -this.spelling_state_observer=null; -this.request=null; -this.error_window=null; -this.language_window=null; -this.edit_layer=null; -this.orginal_text=null; -this.results=null; -this.text_area=null; -this.gselm=null; -this.ta_scroll_top=0; -this.el_scroll_top=0; -this.lang_chck_spell="Check spelling"; -this.lang_rsm_edt="Resume editing"; -this.lang_close="Close"; -this.lang_no_error_found="No spelling errors found"; -this.lang_revert="Revert to"; -this.show_spell_img=false; -}; -GoogieSpell.prototype.setStateChanged=function(_59){ -if(this.spelling_state_observer!=null){ -this.spelling_state_observer(_59); -} -}; -GoogieSpell.item_onmouseover=function(e){ -var elm=GoogieSpell.getEventElm(e); -if(elm.className!="googie_list_close"&&elm.className!="googie_list_revert"){ -elm.className="googie_list_onhover"; -}else{ -elm.parentNode.className="googie_list_onhover"; -} -}; -GoogieSpell.item_onmouseout=function(e){ -var elm=GoogieSpell.getEventElm(e); -if(elm.className!="googie_list_close"&&elm.className!="googie_list_revert"){ -elm.className="googie_list_onout"; -}else{ -elm.parentNode.className="googie_list_onout"; -} -}; -GoogieSpell.prototype.getGoogleUrl=function(){ -return this.server_url+GOOGIE_CUR_LANG; -}; -GoogieSpell.prototype.spellCheck=function(elm,_5f){ -this.ta_scroll_top=this.text_area.scrollTop; -this.appendIndicator(elm); -try{ -this.hideLangWindow(); -} -catch(e){ -} -this.gselm=elm; -this.createEditLayer(this.text_area.offsetWidth,this.text_area.offsetHeight); -this.createErrorWindow(); -AJS.getBody().appendChild(this.error_window); -try{ -netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); -} -catch(e){ -} -this.gselm.onclick=null; -this.orginal_text=this.text_area.value; -var me=this; -var d=AJS.getRequest(this.getGoogleUrl()); -var _62=function(req){ -var _64=req.responseText; -if(_64.match(//)!=null){ -var _65=GoogieSpell.parseResult(_64); -me.results=_65; -me.showErrorsInIframe(_65); -me.resumeEditingState(); -}else{ -me.flashNoSpellingErrorState(); -} -me.removeIndicator(); -}; -var _66=function(req){ -alert("An error was encountered on the server. Please try again later."); -AJS.removeElement(me.gselm); -me.checkSpellingState(); -me.removeIndicator(); -}; -d.addCallback(_62); -d.addErrback(_66); -var _68=GoogieSpell.escapeSepcial(this.orginal_text); -d.sendReq(GoogieSpell.createXMLReq(_68)); -}; -GoogieSpell.escapeSepcial=function(val){ -return val.replace(/&/g,"&").replace(//g,">"); -}; -GoogieSpell.createXMLReq=function(_6a){ -return ""+_6a+""; -}; -GoogieSpell.parseResult=function(_6b){ -var _6c=/\w="\d+"/g; -var _6d=/\t/g; -var _6e=_6b.match(/]*>[^<]*<\/c>/g); -var _6f=new Array(); -for(var i=0;i<_6e.length;i++){ -var _71=new Array(); -_71["attrs"]=new Array(); -var _72=_6e[i].match(_6c); -for(var j=0;j<_72.length;j++){ -var _74=_72[j].split(/=/); -_71["attrs"][_74[0]]=parseInt(_74[1].replace("\"","")); -} -_71["suggestions"]=new Array(); -var _75=_6e[i].replace(/<[^>]*>/g,""); -var _76=_75.split(_6d); -for(var k=0;k<_76.length;k++){ -if(_76[k]!=""){ -_71["suggestions"].push(_76[k]); -} -} -_6f.push(_71); -} -return _6f; -}; -GoogieSpell.prototype.createErrorWindow=function(){ -this.error_window=AJS.DIV(); -this.error_window.className="googie_window"; -}; -GoogieSpell.prototype.hideErrorWindow=function(){ -this.error_window.style.visibility="hidden"; -}; -GoogieSpell.prototype.updateOrginalText=function(_78,_79,_7a,id){ -var _7c=this.orginal_text.substring(0,_78); -var _7d=this.orginal_text.substring(_78+_79.length); -this.orginal_text=_7c+_7a+_7d; -var _7e=_7a.length-_79.length; -for(var j=0;jid){ -this.results[j]["attrs"]["o"]+=_7e; -} -} -}; -GoogieSpell.prototype.saveOldValue=function(id,_81){ -this.results[id]["is_changed"]=true; -this.results[id]["old_value"]=_81; -}; -GoogieSpell.prototype.showErrorWindow=function(elm,id){ -var me=this; -var _85=GoogieSpell.absolutePosition(elm); -_85.y-=this.edit_layer.scrollTop; -this.error_window.style.visibility="visible"; -this.error_window.style.top=(_85.y+20)+"px"; -this.error_window.style.left=(_85.x)+"px"; -this.error_window.innerHTML=""; -var _86=AJS.TABLE({"class":"googie_list"}); -var _87=AJS.TBODY(); -var _88=this.results[id]["suggestions"]; -var _89=this.results[id]["attrs"]["o"]; -var len=this.results[id]["attrs"]["l"]; -if(_88.length==0){ -var row=AJS.TR(); -var _8c=AJS.TD(); -var _8d=AJS.SPAN(); -_8c.appendChild(AJS.TN("No suggestions :(")); -row.appendChild(_8c); -_87.appendChild(row); -} -for(i=0;i<_88.length;i++){ -var row=AJS.TR(); -var _8c=AJS.TD(); -var _8d=AJS.SPAN(); -_8d.innerHTML=_88[i]; -_8c.appendChild(AJS.TN(_8d.innerHTML)); -_8c.onclick=function(e){ -var _8f=GoogieSpell.getEventElm(e); -var _90=elm.innerHTML; -var _91=_8f.innerHTML; -elm.style.color="green"; -elm.innerHTML=_8f.innerHTML; -me.hideErrorWindow(); -me.updateOrginalText(_89,_90,_91,id); -me.results[id]["attrs"]["l"]=_91.length; -me.saveOldValue(id,_90); -}; -_8c.onmouseover=GoogieSpell.item_onmouseover; -_8c.onmouseout=GoogieSpell.item_onmouseout; -row.appendChild(_8c); -_87.appendChild(row); -} -if(this.results[id]["is_changed"]){ -var _92=this.results[id]["old_value"]; -var _89=this.results[id]["attrs"]["o"]; -var _93=AJS.TR(); -var _94=AJS.TD(); -_94.onmouseover=GoogieSpell.item_onmouseover; -_94.onmouseout=GoogieSpell.item_onmouseout; -var _95=AJS.SPAN({"class":"googie_list_revert"}); -_95.innerHTML=this.lang_revert+" "+_92; -_94.appendChild(_95); -_94.onclick=function(e){ -me.updateOrginalText(_89,elm.innerHTML,_92,id); -elm.style.color="#b91414"; -elm.innerHTML=_92; -me.hideErrorWindow(); -}; -_93.appendChild(_94); -_87.appendChild(_93); -} -var _97=AJS.TR(); -var _98=AJS.TD(); -var _99=AJS.INPUT({"style":"width: 120px; margin:0; padding:0"}); -var _9a=function(){ -if(_99.value!=""){ -me.saveOldValue(id,elm.innerHTML); -me.updateOrginalText(_89,elm.innerHTML,_99.value,id); -elm.style.color="green"; -elm.innerHTML=_99.value; -me.hideErrorWindow(); -return false; -} -}; -var _9b=AJS.IMG({"src":this.img_dir+"ok.gif","style":"width: 32px; height: 16px; margin-left: 2px; margin-right: 2px;"}); -var _9c=AJS.FORM({"style":"margin: 0; padding: 0"},_99,_9b); -_9b.onclick=_9a; -_9c.onsubmit=_9a; -_98.appendChild(_9c); -_97.appendChild(_98); -_87.appendChild(_97); -var _9d=AJS.TR(); -var _9e=AJS.TD(); -_9e.onmouseover=GoogieSpell.item_onmouseover; -_9e.onmouseout=GoogieSpell.item_onmouseout; -var _9f=AJS.SPAN({"class":"googie_list_close"}); -_9f.innerHTML=this.lang_close; -_9e.appendChild(_9f); -_9e.onclick=function(){ -me.hideErrorWindow(); -}; -_9d.appendChild(_9e); -_87.appendChild(_9d); -_86.appendChild(_87); -this.error_window.appendChild(_86); -}; -GoogieSpell.prototype.createEditLayer=function(_a0,_a1){ -this.edit_layer=AJS.DIV({"class":"googie_edit_layer"}); -this.edit_layer.className=this.text_area.className; -this.edit_layer.style.border="1px solid #999"; -this.edit_layer.style.overflow="auto"; -this.edit_layer.style.backgroundColor="#F1EDFE"; -this.edit_layer.style.padding="3px"; -this.edit_layer.style.width=(_a0-8)+"px"; -this.edit_layer.style.height=_a1+"px"; -}; -GoogieSpell.prototype.resumeEditing=function(e,me){ -this.setStateChanged("check_spelling"); -me.switch_lan_pic.style.display="inline"; -this.el_scroll_top=me.edit_layer.scrollTop; -var elm=GoogieSpell.getEventElm(e); -AJS.replaceChildNodes(elm,this.createSpellDiv()); -elm.onclick=function(e){ -me.spellCheck(elm,me.text_area.id); -}; -me.hideErrorWindow(); -me.edit_layer.parentNode.removeChild(me.edit_layer); -me.text_area.value=me.orginal_text; -AJS.showElement(me.text_area); -me.gselm.className="googie_no_style"; -me.text_area.scrollTop=this.el_scroll_top; -elm.onmouseout=null; -}; -GoogieSpell.prototype.createErrorLink=function(_a6,id){ -var elm=AJS.SPAN({"class":"googie_link"}); -var me=this; -elm.onclick=function(){ -me.showErrorWindow(elm,id); -}; -elm.innerHTML=_a6; -return elm; -}; -GoogieSpell.createPart=function(_aa){ -if(_aa==" "){ -return AJS.TN(" "); -} -var _ab=AJS.SPAN(); -var _ac=true; -var _ad=(navigator.userAgent.toLowerCase().indexOf("safari")!=-1); -var _ae=AJS.SPAN(); -_aa=GoogieSpell.escapeSepcial(_aa); -_aa=_aa.replace(/\n/g,"
"); -_aa=_aa.replace(/ /g,"  "); -_aa=_aa.replace(/^ /g," "); -_aa=_aa.replace(/ $/g," "); -_ae.innerHTML=_aa; -return _ae; -}; -GoogieSpell.prototype.showErrorsInIframe=function(_af){ -var _b0=AJS.DIV(); -_b0.style.textAlign="left"; -var _b1=0; -for(var i=0;i<_af.length;i++){ -var _b3=_af[i]["attrs"]["o"]; -var len=_af[i]["attrs"]["l"]; -var _b5=this.orginal_text.substring(_b1,_b3); -var _b6=GoogieSpell.createPart(_b5); -_b0.appendChild(_b6); -_b1+=_b3-_b1; -_b0.appendChild(this.createErrorLink(this.orginal_text.substr(_b3,len),i)); -_b1+=len; -} -var _b7=this.orginal_text.substr(_b1,this.orginal_text.length); -var _b8=GoogieSpell.createPart(_b7); -_b0.appendChild(_b8); -this.edit_layer.appendChild(_b0); -AJS.hideElement(this.text_area); -this.text_area.parentNode.insertBefore(this.edit_layer,this.text_area.nextSibling); -this.edit_layer.scrollTop=this.ta_scroll_top; -}; -GoogieSpell.Position=function(x,y){ -this.x=x; -this.y=y; -}; -GoogieSpell.absolutePosition=function(_bb){ -var _bc=new GoogieSpell.Position(_bb.offsetLeft,_bb.offsetTop); -if(_bb.offsetParent){ -var _bd=GoogieSpell.absolutePosition(_bb.offsetParent); -_bc.x+=_bd.x; -_bc.y+=_bd.y; -} -return _bc; -}; -GoogieSpell.getEventElm=function(e){ -var _bf; -if(!e){ -var e=window.event; -} -if(e.target){ -_bf=e.target; -}else{ -if(e.srcElement){ -_bf=e.srcElement; -} -} -if(_bf.nodeType==3){ -_bf=_bf.parentNode; -} -return _bf; -}; -GoogieSpell.prototype.removeIndicator=function(elm){ -if(window.rcube_webmail_client){ -rcube_webmail_client.set_busy(false); -} -}; -GoogieSpell.prototype.appendIndicator=function(elm){ -if(window.rcube_webmail_client){ -rcube_webmail_client.set_busy(true,"checking"); -} -}; -GoogieSpell.prototype.createLangWindow=function(){ -this.language_window=AJS.DIV({"class":"googie_window"}); -this.language_window.style.width="130px"; -var _c2=AJS.TABLE({"class":"googie_list"}); -var _c3=AJS.TBODY(); -this.lang_elms=new Array(); -for(i=0;i/g,">"):""};this.createXMLReq=function(a){return''+ +a+""};this.spellCheck=function(a){this.prepare(a);var a=this.escapeSpecial(this.orginal_text),b=this;$.ajax({type:"POST",url:this.getUrl(),data:this.createXMLReq(a),dataType:"text",error:function(){b.custom_ajax_error?b.custom_ajax_error(b):alert("An error was encountered on the server. Please try again later.");b.main_controller&&($(b.spell_span).remove(),b.removeIndicator());b.checkSpellingState()},success:function(a){b.processData(a);b.results.length||(b.custom_no_spelling_error? +b.custom_no_spelling_error(b):b.flashNoSpellingErrorState());b.removeIndicator()}})};this.learnWord=function(a){var a=this.escapeSpecial(a.innerHTML),b=this,a=''+a+"";$.ajax({type:"POST",url:this.getUrl(),data:a,dataType:"text",error:function(){b.custom_ajax_error?b.custom_ajax_error(b):alert("An error was encountered on the server. Please try again later.")},success:function(){}})};this.prepare=function(a,b){this.cnt_errors= +this.cnt_errors_fixed=0;this.setStateChanged("checking_spell");!b&&this.main_controller&&this.appendIndicator(this.spell_span);this.error_links=[];this.ta_scroll_top=this.text_area.scrollTop;this.ignore=a;this.hideLangWindow();if(""==$(this.text_area).val()||a)this.custom_no_spelling_error?this.custom_no_spelling_error(this):this.flashNoSpellingErrorState(),this.removeIndicator();else{this.createEditLayer(this.text_area.offsetWidth,this.text_area.offsetHeight);this.createErrorWindow();$("body").append(this.error_window); +try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead")}catch(c){}this.main_controller&&$(this.spell_span).unbind("click");this.orginal_text=$(this.text_area).val()}};this.parseResult=function(a){var b=/\w+="(\d+|true)"/g,c=/\t/g,a=a.match(/]*>[^<]*<\/c>/g),d=[];if(null==a)return d;for(var e=0,f=a.length;e]*>/g,"").split(c);for(h=0;hd&&(this.results[c].attrs.o+=b)};this.saveOldValue=function(a,b){a.is_changed=!0;a.old_value=b};this.createListSeparator=function(){var a=document.createElement("td"), +b=document.createElement("tr");$(a).html(" ").attr("googie_action_btn","1").css({cursor:"default","font-size":"3px","border-top":"1px solid #ccc","padding-top":"3px"});b.appendChild(a);return b};this.correctError=function(a,b,c,d){var e=b.innerHTML,c=3==c.nodeType?c.nodeValue:c.innerHTML,f=this.results[a].attrs.o;if(d)d=b.previousSibling.innerHTML,b.previousSibling.innerHTML=d.slice(0,d.length-1),e=" "+e,f--;this.hideErrorWindow();this.updateOrginalText(f,e,c,a);$(b).html(c).css("color","green").attr("is_corrected", +!0);this.results[a].attrs.l=c.length;this.isDefined(b.old_value)||this.saveOldValue(b,e);this.errorFixed()};this.ignoreError=function(a){$(a).removeAttr("class").css("color","").unbind();this.hideErrorWindow()};this.showErrorWindow=function(a,b){this.show_menu_observer&&this.show_menu_observer(this);var c=this,d=$(a).offset(),e=document.createElement("table"),f=document.createElement("tbody");$(this.error_window).html("");$(e).addClass("googie_list").attr("googie_action_btn","1");for(var j=!1,g=0;g< +this.custom_menu_builder.length;g++){var h=this.custom_menu_builder[g];if(h[0](this.results[b])){j=h[1](this,f,a);break}}if(!j){var j=this.results[b].suggestions,l=this.results[b].attrs.o,g=this.results[b].attrs.l,k,m;this.has_dictionary&&!$(a).attr("is_corrected")&&(h=document.createElement("tr"),k=document.createElement("td"),m=document.createElement("span"),$(m).text(this.lang_learn_word),$(k).attr("googie_action_btn","1").css("cursor","default").mouseover(c.item_onmouseover).mouseout(c.item_onmouseout).click(function(){c.learnWord(a, +b);c.ignoreError(a,b)}),k.appendChild(m),h.appendChild(k),f.appendChild(h));for(var o=0,g=j.length;o").css({position:"absolute", +"z-index":-1}),$("body").append(d),this.error_window_iframe=d;$(this.error_window_iframe).css({top:this.error_window.offsetTop,left:this.error_window.offsetLeft,width:this.error_window.offsetWidth,height:this.error_window.offsetHeight}).show()}};this.createEditLayer=function(a,b){this.edit_layer=document.createElement("div");$(this.edit_layer).addClass("googie_edit_layer").attr("id","googie_edit_layer").width("auto").height(b);"input"!=this.text_area.nodeName.toLowerCase()||""==$(this.text_area).val()? +$(this.edit_layer).css("overflow","auto").height(b-4):$(this.edit_layer).css("overflow","hidden");var c=this;this.edit_layer_dbl_click&&$(this.edit_layer).dblclick(function(a){if("googie_link"!=a.target.className&&!c.isErrorWindowShown()){c.resumeEditing();var b=function(){$(c.text_area).focus();b=null};window.setTimeout(b,10)}return!1})};this.resumeEditing=function(){this.setStateChanged("ready");if(this.edit_layer)this.el_scroll_top=this.edit_layer.scrollTop;this.hideErrorWindow();this.main_controller&& +$(this.spell_span).removeClass().addClass("googie_no_style");if(!this.ignore&&(this.use_focus&&($(this.focus_link_t).remove(),$(this.focus_link_b).remove()),$(this.edit_layer).remove(),$(this.text_area).show(),void 0!=this.el_scroll_top))this.text_area.scrollTop=this.el_scroll_top;this.checkSpellingState(!1)};this.createErrorLink=function(a,b){var c=document.createElement("span"),d=this,e=function(){d.showErrorWindow(c,b);e=null;return!1};$(c).html(a).addClass("googie_link").click(e).removeAttr("is_corrected").attr({googie_action_btn:"1", +g_id:b});return c};this.createPart=function(a){if(" "==a)return document.createTextNode(" ");var a=this.escapeSpecial(a),a=a.replace(/\n/g,"
"),a=a.replace(/ /g,"  "),a=a.replace(/^ /g," "),a=a.replace(/ $/g," "),b=document.createElement("span");$(b).html(a);return b};this.showErrorsInIframe=function(){var a=document.createElement("div"),b=0,c=this.results;if(0").attr({src:this.img_dir+ +"change_lang.gif",alt:"Change language",googie_action_btn:"1"}),b=document.createElement("span");l=this;$(b).addClass("googie_lang_3d_on").append(a).bind("click",function(){var a="img"==this.tagName.toLowerCase()?this.parentNode:this;$(a).hasClass("googie_lang_3d_click")?(a.className="googie_lang_3d_on",l.hideLangWindow()):(a.className="googie_lang_3d_click",l.showLangWindow(a))});return b};this.createSpellDiv=function(){var a=document.createElement("span");$(a).addClass("googie_check_spelling_link").text(this.lang_chck_spell); +this.show_spell_img&&$(a).append(" ").append($("").attr("src",this.img_dir+"spellc.gif"));return a};this.flashNoSpellingErrorState=function(a){this.setStateChanged("no_error_found");var b=this;if(this.main_controller){var c;c=a?function(){a();b.checkSpellingState()}:function(){b.checkSpellingState()};var d=$("").text(this.lang_no_error_found);$(this.switch_lan_pic).hide();$(this.spell_span).empty().append(d).removeClass().addClass("googie_check_spelling_ok");window.setTimeout(c,1E3)}}; +this.resumeEditingState=function(){this.setStateChanged("resume_editing");if(this.main_controller){var a=$("").text(this.lang_rsm_edt),b=this;$(this.switch_lan_pic).hide();$(this.spell_span).empty().unbind().append(a).bind("click",function(){b.resumeEditing()}).removeClass().addClass("googie_resume_editing")}try{this.edit_layer.scrollTop=this.ta_scroll_top}catch(c){}};this.checkSpellingState=function(a){a&&this.setStateChanged("ready");this.switch_lan_pic=this.show_change_lang_pic?this.createChangeLangPic(): +document.createElement("span");var a=this.createSpellDiv(),b=this;this.custom_spellcheck_starter?$(a).bind("click",function(){b.custom_spellcheck_starter()}):$(a).bind("click",function(){b.spellCheck()});this.main_controller&&("left"==this.change_lang_pic_placement?$(this.spell_container).empty().append(this.switch_lan_pic).append(" ").append(a):$(this.spell_container).empty().append(a).append(" ").append(this.switch_lan_pic));this.spell_span=a};this.isDefined=function(a){return void 0!==a&&null!== +a};this.errorFixed=function(){this.cnt_errors_fixed++;this.all_errors_fixed_observer&&this.cnt_errors_fixed==this.cnt_errors&&(this.hideErrorWindow(),this.all_errors_fixed_observer())};this.errorFound=function(){this.cnt_errors++};this.createCloseButton=function(a){return this.createButton(this.lang_close,"googie_list_close",a)};this.createButton=function(a,b,c){var d=document.createElement("tr"),e=document.createElement("td"),f;b?(f=document.createElement("span"),$(f).addClass(b).html(a)):f=document.createTextNode(a); +$(e).bind("click",c).bind("mouseover",this.item_onmouseover).bind("mouseout",this.item_onmouseout);e.appendChild(f);d.appendChild(e);return d};this.removeIndicator=function(){window.rcmail&&rcmail.set_busy(!1,null,this.rc_msg_id)};this.appendIndicator=function(){if(window.rcmail)this.rc_msg_id=rcmail.set_busy(!0,"checking")};this.createFocusLink=function(a){var b=document.createElement("a");$(b).attr({href:"javascript:;",name:a});return b};this.item_onmouseover=function(){"googie_list_revert"!=this.className&& +"googie_list_close"!=this.className?this.className="googie_list_onhover":this.parentNode.className="googie_list_onhover"};this.item_onmouseout=function(){"googie_list_revert"!=this.className&&"googie_list_close"!=this.className?this.className="googie_list_onout":this.parentNode.className="googie_list_onout"}};