﻿var JAM={Dom:{elById:function(b){var a=document.getElementById(b);if(this.__DebugAssertOnSelectFail)return a},elArrayByClass:function(g,b,c){var f=[];if(b===null||b===undefined)b=document;if(c===null||c===undefined)c="*";var d=b.getElementsByTagName(c),h=d.length,i=new RegExp("(^|\\s)"+g+"(\\s|$)"),a,e;for(a=0,e=0;a<h;a++)if(i.test(d[a].className)){f[e]=d[a];e++}if(this.__DebugAssertOnSelectFail)return f},elByClass:function(c,e,f,d,b){var a=this.elArrayByClass(c,e,f,d,b);if(a.length>0)return a[0];return null},playerById:function(a){if(window.document[a])return window.document[a];else if(document.embeds&&document.embeds[a])return document.embeds[a];else return document.getElementById(a)},optionByValue:function(b,c){for(var a=0;a<b.options.length;a++)if(b.options[a].value==c)return b.options[a];return null},__DebugAssertOnSelectFail:true,removeEl:function(a){a.innerHTML="";a.parentNode.removeChild(a)}},Obj:{isNum:function(a){return !isNaN(parseInt(a,10))},hasValue:function(a){return a!==null&&a!==undefined}},String:{trim:function(a){return a.replace(/^\s+|\s+$/g,"")},trimStart:function(a){return a.replace(/^\s+/g,"")},isNonEmpty:function(a){return JAM.Obj.hasValue(a)&&typeof a==="string"&&a.length>0},shorten:function(c,b){var a=this.trim(c);if(a.length>b){a=a.substr(0,b-3);a+="..."}return a},isAlphaChar:function(a){return "a"<=a&&a<="z"||"A"<=a&&a<="Z"},toDBC:function(c){var a="";for(var b=0;b<c.length;b++)if(c.charCodeAt(b)==12288)a=a+String.fromCharCode(32);else if(c.charCodeAt(b)>65248&&c.charCodeAt(b)<65375)a=a+String.fromCharCode(c.charCodeAt(b)-65248);else a=a+c.charAt(b);return a},sanitize:function(a,b){if(a.length>=200)a=a.substr(0,200);a=a.replace(/(?:&[#A-Za-z0-9]+;)|(?:[\\/<>\(\)\t%])/g,"");if(!b)a=this.trim(a);return a}},URL:{decode:function(a){try{return decodeURIComponent(a)}catch(b){return unescape(a)}},parseQueryFromSearch:function(){var b="",a=location.search.match(/[?&]q=([^&$]*)/);if(a!==null&&a.length>0)b=a[1];return b},parseQueryFromHash:function(d){var a="",c="";if(d)c=d;else c=location.hash;a=c.replace("#","");if(a){var b=[];b=a.split("|");if(b&&b.length>1)a=b[0]}return a}},UI:{setElOpacity:function(a,d){if(navigator.appVersion.indexOf("MSIE")!=-1)if(d>=10){a.style.filter="";if(a.style.cssText){var b=a.style.cssText.split(";"),c="";for(var e in b)if(b[e].toLowerCase().indexOf("filter:")==-1){c+=b[e];if(e<b.length-1)c+=";"}a.style.cssText=c}}else a.style.filter="alpha(opacity="+d*10+")";else a.style.opacity=d/10},setElText:function(a,b){if(JAM.Obj.hasValue(a.textContent))a.textContent=b;else a.innerText=b},getElText:function(b){var a=null;if(b.textContent)a=b.textContent;else a=b.innerText;return a},getElTop:function(b,c){if(b==null||b.offsetTop==null)return -1;var d=b.offsetTop,a=b.offsetParent;while(a!=null){if(c)if(a==c)break;d+=a.offsetTop;a=a.offsetParent}return d},getElLeft:function(a,c){if(a===null||a===undefined||a.offsetLeft===null||a.offsetLeft===undefined||a.offsetParent===null||a.offsetParent==undefined)return -1;var d=a.offsetLeft,b=a.offsetParent;while(b!==null){if(c)if(b==c)break;d+=b.offsetLeft;b=b.offsetParent}return d},getElRight:function(a){return this.getElLeft(a)+a.offsetWidth},getElStyle:function(c,d,f,b){var a=null;if(!b)b=d;if(c.currentStyle)a=c.currentStyle[d];else if(window.getComputedStyle){var e=window.getComputedStyle(c,"");a=e.getPropertyValue(b)}if(f)a=parseInt(a,10);return a},getNoWrapElWidth:function(d){var a=d.cloneNode(true);a.style.visibility="hidden";a.style.position="absolute";a.style.left=0;a.style.top=0;a.id="";a.whiteSpace="nowrap";var b=document.body.appendChild(a),c=b.offsetWidth;JAM.Dom.removeEl(b);return c},getNoWrapElHeight:function(d){var a=d.cloneNode(true);a.style.visibility="hidden";a.style.display="block";a.style.height="auto";a.style.position="absolute";a.style.left="0px";a.style.top="0px";a.id="";a.whiteSpace="nowrap";var b=document.body.appendChild(a),c=b.offsetHeight;JAM.Dom.removeEl(b);return c}},Mouse:{getMouseLocFromEvent:function(e){function f(a,b){this.X=a;this.Y=b}var a=null,b=null,c=null,d=null;if(!isNaN(window.scrollX)){a=e.clientX;b=e.clientY;c=window.scrollX;d=window.scrollY}else if(!isNaN(window.event.clientX)){a=window.event.clientX;b=window.event.clientY;c=document.documentElement.scrollLeft+document.body.scrollLeft;d=document.documentElement.scrollTop+document.body.scrollTop}return new f(a+c,b+d)}},History:{push:function(a,e,f,d){if(!d&&g_fIE7orLess){if(!document.__historyIframe){var c=document.createElement("iframe");c.id="historyIframe";c.height=c.width=c.frameborder="0px";document.__historyIframe=document.appendChild(c)}var g=document.__historyIframe;document.__historyCallBackThisPtr=f;document.__historyChangedHandler=e;if(!document.__historyCallBackBootStrapper)document.__historyCallBackBootStrapper=function(a){document.__historyChangedHandler.apply(document.__historyCallBackThisPtr,[a])};a=a.replace(/'/g,"\\'");var h="<html><head><title>"+a+"</title><script>parent.document.__historyCallBackBootStrapper('"+a+"')</script></head></html>",b=g.contentDocument;if(!b)b=g.contentWindow.document;if(!b)return;if(b.title!=a){b.open();b.write(h);b.close()}}if(!this._listenerIntId)this._enableLocationHashListener(f,e);if(!d&&window.location.hash!="#"+a)window.location.hash=a},_listenerIntId:null,_enableLocationHashListener:function(c,b){var a=window.location.hash;this._listenerIntId=window.setInterval(function(){var d=window.location.hash;if(d!=a){b.apply(c,[JAM.URL.parseQueryFromHash(d)]);a=d}},200)},disposeLocationHashListener:function(){if(this._listenerIntId){window.clearInterval(this._listenerIntId);this._listenerIntId=null}}},Window:{getWindowSize:function(){function b(){this.Width=0;this.Height=0}var a=new b;if(typeof window.innerWidth=="number"){a.Width=window.innerWidth;a.Height=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){a.Width=document.documentElement.clientWidth;a.Height=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){a.Width=document.body.clientWidth;a.Height=document.body.clientHeight}return a}},Cookie:{read:function(a){var c=document.cookie.indexOf(a+"="),d=c+a.length+1;if(!c&&a!=document.cookie.substring(0,a.length))return null;if(c==-1)return null;var b=document.cookie.indexOf(";",d);if(b==-1)b=document.cookie.length;var e=unescape(document.cookie.substring(d,b));return unescape(document.cookie.substring(d,b))},write:function(e,d,a){if(a===null||a===undefined||typeof a!="number")a=99999;var b=new Date;b.setDate(b.getDate()+a);var c=e+"="+escape(d)+"; expires="+b.toGMTString()+"; path=/;";document.cookie=c;return true}},Json:{parse:function(a){var b=null;if(a&&typeof a=="string"&&a.length>0)if(window.JSON&&window.JSON.parse)try{b=window.JSON.parse(a)}catch(c){}else b=!/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(a.replace(/"(\\.|[^"\\])*"/g,""))&&eval("("+a+")");return b}},Ajax:{open:function(b,c,f,e,g,d){var a=null;if(!a)if(window.XMLHttpRequest)a=new XMLHttpRequest;else if(window.ActiveXObject)try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(i){a=new ActiveXObject("Microsoft.XMLHTTP")}if(!a)return;var h=null;if(b=="get")c=c+"?"+f;a.open(b,c,true);a.onreadystatechange=function(){if(a.readyState==4)if(e&&a.status==200)e(a.responseText,a,d);else if(g)g(a.status,a,d)};if(b=="post"){a.setRequestHeader("content-type","application/x-www-form-urlencoded");h=f}a.send(h)}},Effects:{Drag:{enable:function(a,b){if(a===null||a===undefined||!a.tagName)return;if(a._state)return;a._state={elStart:{left:null,top:null},mouseStart:{x:null,y:null},options:null,origCursorStyle:null,origPositionStyle:null,onDragCallBack:null,dragEnabled:true};if(!b)b={};if(!b.direction||b.direction!="x"&&b.direction!="y")b.direction="xy";a._state.options=b;JAM.Events.addHandler(a,"mousedown",this,"_dragStart",false,a);a._state.origPositionStyle=a.style.position;a.style.position="absolute";a._state.origCursorStyle=a.style.cursor;if(a._state.options.cursor)a.style.cursor=a._state.options.cursor;else switch(b.direction){case "x":a.style.cursor="w-resize";break;case "y":a.style.cursor="n-resize";break;case "xy":a.style.cursor="move";break;default:a.style.cursor="default"}this._dragStart=function(c,f,b){if(!this.isEnabled(b))return;var e=window.Event&&window.Event.button?window.Event.button:c.button;if(e===2)return;var d=JAM.Mouse.getMouseLocFromEvent(c);b._state.mouseStart.x=d.X;b._state.mouseStart.y=d.Y;b._state.elStart.top=JAM.UI.getElTop(b);b._state.elStart.left=JAM.UI.getElLeft(b);JAM.Events.addHandler(document,"mousemove",this,"_dragGo",false,b);JAM.Events.addHandler(document,"mouseup",this,"_dragStop",false,b);JAM.Events.cancelEventBubble(c);if(a._state.options.cursorDrag)a.style.cursor=a._state.options.cursorDrag;if(b._state.options.onDragStartCallBack)b._state.options.onDragStartCallBack.apply(b._state.options.callBackThis,[b,JAM.Mouse.getMouseLocFromEvent(c),b._state.options.callBackParam])};this._dragGo=function(h,j,a){if(!this.isEnabled(a))return;var e=JAM.Mouse.getMouseLocFromEvent(h);if(a._state.options.onDragCallBack)a._state.options.onDragCallBack.apply(a._state.options.callBackThis,[a,JAM.Mouse.getMouseLocFromEvent(h),a._state.options.callBackParam]);var f=0,g=0;if(a.parentNode.offsetParent){f=JAM.UI.getElLeft(a.parentNode);g=JAM.UI.getElTop(a.parentNode)}var i=a._state.options.invert,c,d;if(a._state.options.boundBox){c=a._state.options.boundBox.top;d=a._state.options.boundBox.bottom}if(a._state.options.direction==="x"||a._state.options.direction==="xy")if(!i)a.style.left=a._state.elStart.left+e.X-a._state.mouseStart.x-f+"px";else a.style.left=a._state.elStart.left-e.X+a._state.mouseStart.x-f+"px";if(a._state.options.direction==="y"||a._state.options.direction==="xy"){var b;if(!i)b=a._state.elStart.top+e.Y-a._state.mouseStart.y-g;else b=a._state.elStart.top-e.Y+a._state.mouseStart.y-g;if(JAM.Obj.isNum(c))if(i?b>c:b<c)if(JAM.Obj.isNum(d))if(b+a.offsetHeight>=d)a.style.top=b+"px";else a.style.top=d-a.offsetHeight+"px";else a.style.top=b+"px";else a.style.top=c+"px";else a.style.top=b+"px"}JAM.Events.cancelEventBubble(h)};this._dragStop=function(c,d,b){if(!this.isEnabled(b))return;JAM.Events.removeHandler(document,"mousemove","_dragGo");JAM.Events.removeHandler(document,"mouseup","_dragStop");if(b._state.options.onDragStopCallBack)b._state.options.onDragStopCallBack.apply(b._state.options.callBackThis,[b,JAM.Mouse.getMouseLocFromEvent(c),b._state.options.callBackParam]);JAM.Events.cancelEventBubble(c);if(a._state.options.cursor)a.style.cursor=a._state.options.cursor}},isEnabled:function(a){return !!a._state&&a._state.dragEnabled},isDisabled:function(a){return !!a._state&&!a._state.dragEnabled},applyOptions:function(a,b){if(a===null||a===undefined||b===null||b===undefined)return;if(!this.isEnabled(a))return;a._state.options=b},reEnable:function(a){if(a===null||a===undefined)return;if(!!!a._state)return;if(a._state.dragEnabled)return;a._state.dragEnabled=true},disable:function(a){if(a===null||a===undefined)return;if(!!!a._state)return;if(!a._state.dragEnabled)return;a._state.dragEnabled=false},dispose:function(a){if(a===null||a===undefined)return;if(!!!a._state)return;a.style.position=a._state.origPositionStyle;a.style.cursor=a._state.origCursorStyle;JAM.Events.removeHandler(a,"mousedown","_dragStart");JAM.Memory.clearObj(a._state);a._state=null}}},Events:{generateEventHashKey:function(b,a){return "e_"+b+"_"+a},addHandler:function(a,d,f,e,g,h){if(!a)return false;var c=this.generateEventHashKey(d,e);if(a[c])return false;var b=function(b){f[e](b,a,h)};if(a.addEventListener){a[c]=b;a.addEventListener(d,b,g);return true}else if(a.attachEvent){a[c]=b;a.attachEvent("on"+d,b);return true}else return false},removeHandler:function(a,c,d){if(!a)return false;var b=this.generateEventHashKey(c,d);if(!a[b])return false;if(a.removeEventListener){a.removeEventListener(c,a[b],false);a[b]=null;return true}else if(a.attachEvent){a.detachEvent("on"+c,a[b]);a[b]=null;return true}else return false},hasHandler:function(a,d,c){if(!a)return false;var b=this.generateEventHashKey(d,c);return a[b]},cancelEventBubble:function(a){if(!a)a=window.event;if(!a)return;if(a.preventDefault)a.preventDefault();if(a.stopPropagation)a.stopPropagation();a.cancelBubble=true;a.cancel=true;a.returnValue=false},setInterval:function(b,c,a,d){return setInterval(function(){b[c](a,d)},a)},runOnDomReady:function(f,c,e){var a=null;function b(){if(arguments.callee.done)return;arguments.callee.done=true;if(a){clearInterval(a);a=null}f.apply(c,[e])}if(document.addEventListener)document.addEventListener("DOMContentLoaded",b,false);if(g_fIE){document.write("<script id=__ie_onload defer src=javascript:void(0)></script>");var d=document.getElementById("__ie_onload");d.onreadystatechange=function(){if(this.readyState=="complete")b()}}if(g_fWebKit)a=setInterval(function(){if(/loaded|complete/.test(document.readyState))b()},10)}}};function $Id(b,a){return JAM.Dom.elById(b,a)}function $Class(c,b,e,d,a){return JAM.Dom.elByClass(c,b,e,d,a)}var g_fIE=/msie/i.test(navigator.userAgent)&&!window.opera,g_fIE6orLess=g_fIE&&!window.XMLHttpRequest,g_fIE8StdOrMore=g_fIE&&document.documentMode&&document.documentMode>=8,g_fIE7orLess=g_fIE&&!g_fIE8StdOrMore,g_fOpera=!!window.opera,g_fWebKit=navigator.userAgent.indexOf("WebKit")>-1,g_fMaxthon=navigator.userAgent.indexOf("Maxthon")>-1,Lingo={init:function(c){for(var f in c)Lingo._settings[f]=c[f];var e=JAM.URL.parseQueryFromHash(),a=JAM.URL.parseQueryFromSearch();if(g_fIE)window.onbeforeunload=function(){location.hash=""};JAM.Events.addHandler(window,"resize",Lingo,"onResizeWin");var b=$Id("acdPanelCntr",true);if(b)this.AcdCtrl.Init(b);else this.AcdCtrl=null;var d=$Id("mainInputCntr",true);if(d)this.MainInputCtrl.init($Id("mainInputField"),d,$Id("suggCntr"),$Id("suggFrame"));else this.MainInputCtrl=null;this.AudioCtrl.init($Id("playerCntr"));this.XtrasCtrl.init($Id("xtrasCntr",true));this.DymCtrl.init($Id("dym_content"));this.FdbckCtrl.init($Id("fdbckwin"));this.TabCtrl.init($Id("tabsCntr"),$Id("tabsContextMenu"),$Id("selectedTab"),$Id("tabList"),$Id("tabTip",true),{maxTabChars:12,onRenderSingleTab:this.onRenderSingleTab,onRenderNoTabs:this.onRenderNoTabs,onTabDropTarget:this.onTabDropTarget,callBackThis:this},$Id("tabsContextMenuFrame"),$Id("tabListFrame"));this.HomePageCtrl.init($Id("homeMainContent"),Lingo._settings.centerHomepageWhenTabless,$Id("logo",true),this.MainInputCtrl);$Id("initLoadUi").style.display="none";this.recalcLayout(true);if(this.MainInputCtrl&&$Id("mainInputBtn").dirty)this.processQuery(this.MainInputCtrl.getTextSanitized());else if(e)this.processQuery(e);else if(a)this.processQuery(a);else this.navToHome()},_staticUiInfo:{},_uiCacheHashTable:{},_settings:{inlineTabCompare:true,enableBrowserBackBtn:true,includeAudioPlayback:true,centerHomepageWhenTabless:true,senAlign:{alignQuery:true,alignOnHover:true}},_strTable:{maxBtnSrc:"img/v2maxbtn.gif",rstrBtnSrc:"img/v2restrbtn.png",dictMainBaseName:"dictmain",hrefQueryTempl:'<a title="点击获取释义" style="{STYLE}" href="#{ESC_TERM}" onClick="Lingo.processQuery(\'{ESC_TERM}\'); JAM.Events.cancelEventBubble(event); return false;">{TERM}</a>',navHome:"engkoo:home",defaultErrMsg:"很抱歉，我们目前无法处理您的请求。请稍后再试。",reportMsg:"报告问题或瑕疵",reportThxMsg:"谢谢您的帮助！",pageTitle:"微软英库，在线词典，在线翻译，英语学习引擎"},EVPageTypes:{dict:"dict",dictComp:"dcomp",home:"home",smt:"smt",didYouMean:"dym",err:"err",ssent:"ssent"},EDictAreas:{def:"def",sen:"sen"},ELogCategory:{err:"err:",sqm:"sqm:",flag:"flag:",entryFdbk:"entryFdbk:"},getInternalQueryHtml:function(b,c,d){var e=b;if(d)e=d;var a=this._strTable.hrefQueryTempl.replace(/{ESC_TERM}/g,escape(b)).replace(/{TERM}/,e);if(c)a=a.replace(/{STYLE}/g,c);return a},getInternalQueryHtmlForEmbeddedEngWords:function(a){return a.replace(/\b([A-Z\-a-z]{2,})\b/g,'<a class="embedQ" title="点击获取释义" href="#$1" onClick="Lingo.processQuery(\'$1\'); JAM.Events.cancelEventBubble(event); return false;">$1</a>')},recalcLayout:function(j){if(!this._staticUiInfo.nonVpageAreaHeight){var c=$Id("header",true),a=$Id("footer",true),e=0,h=0;if(c)e=c.offsetHeight+JAM.UI.getElStyle(c,"marginBottom",true,"margin-bottom");if(a)h=JAM.UI.getElStyle(a,"height",true)+JAM.UI.getElStyle(a,"marginTop",true,"margin-top")+JAM.UI.getElStyle(a,"marginBottom",true,"margin-bottom");this._staticUiInfo.nonVpageAreaHeight=e+h+$Id("tabsCntr").offsetHeight}var g=$Id("container"),i=g.offsetHeight-this._staticUiInfo.nonVpageAreaHeight;$Id("vpagesCntr").style.height=i+"px";if(!j){var b=this.currentVPage;switch(b.type){case this.EVPageTypes.ssent:case this.EVPageTypes.dict:this.recalcDictMainArea(b,this.getDictMainEl());if(this.AcdCtrl)this.AcdCtrl.RefreshHeights(g.offsetHeight-this._staticUiInfo.nonVpageAreaHeight);break;case this.EVPageTypes.dictComp:this.recalcDictMainArea(b,this.getDictMainEl(1));this.recalcDictMainArea(b,this.getDictMainEl(2));Lingo.TabCtrl.hideTabTip(true);break;case this.EVPageTypes.home:var f=$Id("homeTips",true),d=$Id("homeFriends",true);if(f&&d)f.style.height=d.style.height=$Id("homeCenterCol").offsetHeight-30+"px";break;case this.EVPageTypes.didYouMean:this.recalcDidYouMean()}}},recalcDictMainArea:function(n,a){var j=Lingo.uiCache("dictarea",a,"div"),l=Lingo.uiCache("dictbar",a,"div"),g=Lingo.uiCache("dictsubbar",a,"div"),h=Lingo.uiCache("defCntr",a,"div"),k=Lingo.uiCache("sentarea",a,"div"),m=Lingo.uiCache("sentbar",a,"div"),i=Lingo.uiCache("sentcontent",a,"div"),e=Lingo.uiCache("mainsentcontent",a,"div"),c=n.getUiState(this.getDictMainNum(a)).maximizedDictArea;if(!this._staticUiInfo.nonDefCntrHeight)this._staticUiInfo.nonDefCntrHeight=l.offsetHeight+g.offsetHeight+JAM.UI.getElStyle(h,"marginBottom",true,"margin-bottom")+JAM.UI.getElStyle(g,"marginBottom",true,"margin-bottom");var f=j.offsetHeight-this._staticUiInfo.nonDefCntrHeight;if(f<0)f=0;h.style.height=f+"px";if(c)this._staticUiInfo.nonDefCntrHeight=null;if(!this._staticUiInfo.nonSentContentHeight)this._staticUiInfo.nonSentContentHeight=m.offsetHeight;var b=k.offsetHeight-this._staticUiInfo.nonSentContentHeight;if(b<0)b=0;i.style.height=b+"px";if(c)this._staticUiInfo.nonSentContentHeight=null;if(!this._staticUiInfo.nonMainSentContentHeight)this._staticUiInfo.nonMainSentContentHeight=JAM.UI.getElStyle(e,"marginTop",true,"margin-top");var d=b-this._staticUiInfo.nonMainSentContentHeight;if(d<0)d=0;e.style.height=d+"px";if(c)this._staticUiInfo.nonMainSentContentHeight=null;e.scrollTop=0},recalcDidYouMean:function(){var d=$Id("vpage_dym"),c=$Id("dym_content"),b=$Id("container"),a=b.offsetHeight-this._staticUiInfo.nonVpageAreaHeight;if(a>35){d.style.height=a+"px";c.style.height=a-35+"px"}},processQuery:function(a){var d=null,m=null;a=JAM.String.toDBC(a);a=JAM.URL.decode(a);a=JAM.String.sanitize(a);a=a.replace(/\b\+\b/g," ");if(a=='"'||a=="'"||a=="+"||a.length===0)if(this.TabCtrl.tabCount()===0)a=this._strTable.navHome;else return;var c=a.match(/(.+)(?: vs[.]? | pk )(.+)|(.+)同(.+)对比/im),b,e;if(c&&c.length>2)if(Lingo._settings.inlineTabCompare){if(c[1]&&c[2]){b=JAM.String.trim(c[1]);e=JAM.String.trim(c[2])}else if(c[3]&&c[4]){b=JAM.String.trim(c[3]);e=JAM.String.trim(c[4])}}else{this.TabCtrl.renderTabs();var o=window.open("/#"+encodeURIComponent(a),"ekwin");return}if(b==e)b=null;var l=this.TabCtrl.findTabByTitle(a,null,true);if(!l&&b&&e){var i=this.TabCtrl.findTabByTitle(b,null,true),h=this.TabCtrl.findTabByTitle(e,null,true);if(i==h)h=null;if(i&&i.isInCompareMode())this.TabCtrl.uncombineTabs(i);if(h&&h.isInCompareMode())this.TabCtrl.uncombineTabs(h)}if(l){this.TabCtrl.selectTab(l);this.TabCtrl.renderTabs();return}if(a==this._strTable.navHome)d=this.getHomeVPage();else if(Lingo._settings.inlineTabCompare&&b&&e){var f=this.TabCtrl.findTabByTitle(b,b),g=this.TabCtrl.findTabByTitle(e,e);d=new this.VPage(this.EVPageTypes.dictComp,a);if(!f){var j=new this.VPage(this.EVPageTypes.dict,b);f=this.TabCtrl.newTab(j.queryStr,j,true);j.tabRef=f}if(!g){var k=new this.VPage(this.EVPageTypes.dict,e);g=this.TabCtrl.newTab(k.queryStr,k,true);k.tabRef=g}if(f&&g){d.ancestorTab1=f;d.ancestorTab2=g;this.TabCtrl.cutTab(f);m=this.TabCtrl.cutTab(g)}}else d=new this.VPage(this.EVPageTypes.dict,a);if(!JAM.Obj.hasValue(d)){this.upLog(this.currentVPage,"processQuery.invalid.2: "+a,this.ELogCategory.err);d=new this.VPage(this.EVPageTypes.err,a,true)}var n=this.TabCtrl.newTab(d.queryStr,d,false,m);d.tabRef=n;this.TabCtrl.renderTabs()},getHomeVPage:function(){return new this.VPage(this.EVPageTypes.home,this._strTable.navHome,true)},onRenderNoTabs:function(){this.TabCtrl.hide();this.navToHome()},onRenderSingleTab:function(b){var a=b.vPage;this.renderVPage(a)},onBackFwdBtnClick:function(a){document.title=Lingo._strTable.pageTitle;if(a&&JAM.String.isNonEmpty(a)){a=JAM.String.sanitize(JAM.URL.decode(a));if(this.currentVPage&&this.currentVPage.queryStr!=a)this.processQuery(a)}},onSearchBtnClick:function(b){var a=this.MainInputCtrl.getTextSanitized();if(a==this.MainInputCtrl.waterMarkText)return;this.processQuery(a);if(b)JAM.Events.cancelEventBubble(b)},onBodyBgClick:function(){this.TabCtrl.hideContextMenu();this.TabCtrl.hideTabTip(true);this.TabCtrl.hideTabList()},onSenFilterCat:function(b){var a=this.getDictMainNumFromChildEl(b),c=this.currentVPage,e=c.getData(a);sentsObj=e.ROOT.SENTS;sentsObj.$CAT=b.value;var d=Lingo.currentVPage.getUiState(a).selectedInfl;this.renderPartialVPageSents(c,a,d)},onSenFilterSrc:function(b){var a=this.getDictMainNumFromChildEl(b),c=this.currentVPage,e=c.getData(a);sentsObj=e.ROOT.SENTS;sentsObj.$SRC=b.value;var d=Lingo.currentVPage.getUiState(a).selectedInfl;this.renderPartialVPageSents(c,a,d)},onSenFilterDiff:function(b){var a=this.getDictMainNumFromChildEl(b),c=this.currentVPage,e=c.getData(a);sentsObj=e.ROOT.SENTS;sentsObj.$DIFF=b.value;var d=Lingo.currentVPage.getUiState(a).selectedInfl;this.renderPartialVPageSents(c,a,d)},onSenAlignChkClick:function(a){var b=this.getDictMainNumFromChildEl(a),c=this.currentVPage,f=c.getData(b),e=this.getDictMainEl(b),d=Lingo.uiCache("sentInnerCntr",e,"div");Lingo._settings.senAlign.alignQuery=Lingo._settings.senAlign.alignOnHover=a.checked;this.SenCtrl.init(d,f.ROOT.SENTS,Lingo._settings.senAlign);this.upLog(c,"alignChk: "+a.checked,this.ELogCategory.sqm)},onReportBadEntry:function(a){if(!this.currentVPage.flagged){this.upLog(this.currentVPage,"",this.ELogCategory.flag);this.currentVPage.flagged=true;a.innerHTML=this._strTable.reportThxMsg}Lingo.FdbckCtrl.show()},onToggleMoreDef:function(a){var d=this.currentVPage,c=this.getDictMainNumFromChildEl(a),b=false;if(a.src.indexOf(this._strTable.maxBtnSrc)!=-1){b=true;a.src=this._strTable.rstrBtnSrc}else if(a.src.indexOf(this._strTable.rstrBtnSrc)!=-1){b=false;a.src=this._strTable.maxBtnSrc}this.renderPartialVPageDefMoreLess(d,c,!b)},onToggleMoreSen:function(a){var b=false,d=this.getDictMainNumFromChildEl(a),c=this.getDictMainEl(d);if(a.src.indexOf(this._strTable.maxBtnSrc)!=-1){b=true;a.src=this._strTable.rstrBtnSrc}else if(a.src.indexOf(this._strTable.rstrBtnSrc)!=-1){b=false;a.src=this._strTable.maxBtnSrc}if(b)this.maximizeSenArea(c);else this.restoreDictAreas(c)},showDefLangView:function(c,a){var d=Lingo.uiCache("dL_EC",a,null,true),e=Lingo.uiCache("dL_EE",a,null,true),b=Lingo.uiCache("defInnerCntr",a);if(c=="ee"){if(e)e.checked=true;this.DefCtrl.renderHomoLang(b)}else if(c=="ec"){if(d)d.checked=true;this.DefCtrl.renderCrossLang(b)}},onSetDefLangView:function(b,c){var f=this.currentVPage,a=this.getDictMainEl(c),e=Lingo.uiCache("defInnerCntr",a);try{JAM.Cookie.write("dfl",b)}catch(d){}this.showDefLangView(b,a);this.applyDictAreasSplit(a,null,true);this.recalcLayout()},onResizeWin:function(){if(this.currentVPage){var a=JAM.Window.getWindowSize();if(this._lastWinSize==null||a&&this._lastWinSize.Height!=a.Height)this.recalcLayout();this._lastWinSize=a}},serverAsyncReq:function(d,c,b){var a="get";if(b)a="post";JAM.Ajax.open(a,"io.aspx",d,function(d,b,a){c.apply(a,[d,b,a])},function(){window.location.href="err.htm"},this)},navToHome:function(){this.processQuery(this._strTable.navHome)},currentVPage:null,renderCurrVPage:function(){this.renderVPage(this.currentVPage)},renderSentLoading:function(e,c){var a=this.getDictMainEl(c),d=Lingo.uiCache("sentLoad",a,"img"),b=Lingo.uiCache("dynsentdata",a,"div");d.style.display="block";b.style.display="none"},renderDefLoading:function(e,c){var a=this.getDictMainEl(c),d=Lingo.uiCache("defLoad",a),b=Lingo.uiCache("dyndefdata",a);d.style.display="block";b.style.display="none"},renderPartialVPageSents:function(a,b,c){var k=a.getData(b),d=k.ROOT.SENTS,l=-6888,h=-986,i=d.$CAT,j=d.$SRC,g=d.$DIFF;this.renderSentLoading(a,b);var e=null;if(c&&JAM.String.isNonEmpty(c))e=c;else e=a.getQuery(b);var f="q="+encodeURIComponent(e)+"&t="+a.type+"&ut=sent"+"&sc="+i+"&ss="+j+"&sd="+g+"&start="+l+"&len="+h;this.serverAsyncReq(f,function(c){a.parseJsonToObj(c,b,"SENTS","SENTS");this.renderVPage(a)})},upLog:function(b,a,e){var c=null;if(b&&b.getQuery())c=encodeURIComponent(b.getQuery());if(a)a=encodeURIComponent(a);var d="q="+c+"&t=log"+"&lm="+e+a;this.serverAsyncReq(d,function(){},true)},renderPartialVPageDefMoreLess:function(a,b,d){this.renderDefLoading(a,b);if(d)a.getUiState(b).maximizedDictArea=null;else a.getUiState(b).maximizedDictArea=Lingo.EDictAreas.def;var c=a.getData(b).ROOT.DEFMORE;if(c){if(d)c.$ON=false;else c.$ON=true;this.renderVPage(a)}else{var e="q="+encodeURIComponent(a.getQuery(b))+"&t="+a.type+"&ut=def";this.serverAsyncReq(e,function(c){a.parseJsonToObj(c,b,"DEF",null,"DEFMORE");a.getData(b).ROOT.DEFMORE.$ON=true;this.renderVPage(a)})}},renderVPage:function(a){if(a!=this.TabCtrl.selectedTab.vPage)return;this.currentVPage=a;this.renderVPageStaticHtml(a);JAM.History.push(encodeURIComponent(a.queryStr),this.onBackFwdBtnClick,this,!this._settings.enableBrowserBackBtn);if(!a.fHasStaticContentOnly)if(a.hasFullData())this.renderVPageDynamics(a);else if(a.type===Lingo.EVPageTypes.dictComp){if(!a.getData(1)){var b="q="+encodeURIComponent(a.getQuery(1))+"&t="+a.type+"&ut=default";this.serverAsyncReq(b,function(b){a.getAncestorVP(1).parseJsonToObj(b);this.renderVPageDynamics(a,1)})}else this.renderVPageDynamics(a,1);if(!a.getData(2)){var b="q="+encodeURIComponent(a.getQuery(2))+"&t="+a.type+"&ut=default";this.serverAsyncReq(b,function(b){a.getAncestorVP(2).parseJsonToObj(b);this.renderVPageDynamics(a,2)})}else this.renderVPageDynamics(a,2)}else{var b="q="+encodeURIComponent(a.queryStr)+"&t="+a.type+"&ut=default";this.serverAsyncReq(b,function(b){a.parseJsonToObj(b);this.renderVPageDynamics(a)})}},renderVPageStaticHtml:function(a){this.displayMutexVpage(a);this.TabCtrl.show();this.ThesCtrl.clear();this.PhraseCtrl.clear();this.PhonCtrl.clear();this.SenCtrl.clear();this.FdbckCtrl.clear();this.AlignMan.stopAnimation();document.title=Lingo._strTable.pageTitle;this.TabCtrl.hideTabList();this.TabCtrl.hideContextMenu();if(this.MainInputCtrl){this.MainInputCtrl.hideSuggsUI();this.MainInputCtrl.normalMode()}this.HomePageCtrl.prepareTabbedView();switch(a.type){case this.EVPageTypes.dict:this.renderDictMainAreaStatics(a,this.getDictMainEl(),a.getUiState());if(this.MainInputCtrl)this.MainInputCtrl.setText(a.getQuery(null,true),true);if(this.AcdCtrl)this.AcdCtrl.HideAll();break;case this.EVPageTypes.dictComp:this.renderDictMainAreaStatics(a,this.getDictMainEl(1),a.getUiState(1));this.renderDictMainAreaStatics(a,this.getDictMainEl(2),a.getUiState(2));if(this.MainInputCtrl)this.MainInputCtrl.setText(a.getQuery(null,true),true);break;case this.EVPageTypes.home:if(this.TabCtrl.tabCount()===1){this.TabCtrl.hide();this.HomePageCtrl.prepareFullView()}this.HomePageCtrl.render();if(this.MainInputCtrl)if(!(!this.MainInputCtrl.hasEverWaterMarked&&this.MainInputCtrl.hasText()))this.MainInputCtrl.waterMark(true);this.recalcLayout();break;case this.EVPageTypes.didYouMean:if(this.MainInputCtrl)this.MainInputCtrl.setText(a.getQuery(null,true),true);break;case this.EVPageTypes.smt:break;case this.EVPageTypes.err:if(this.MainInputCtrl){this.MainInputCtrl.errorMode();this.MainInputCtrl.setText(a.getQuery(null,true),true)}break;default:this.currentVPage=null}},renderDictMainAreaStatics:function(x,a,v){var b=Lingo.uiCache("dictarea",a,"div"),c=Lingo.uiCache("sentarea",a,"div"),r=Lingo.uiCache("sentLoad",a,"img"),n=Lingo.uiCache("dynsentdata",a,"div"),u=Lingo.uiCache("defLoad",a,"img"),o=Lingo.uiCache("dyndefdata",a,"div"),e=Lingo.uiCache("sentBarMaxBtn",a,"img"),f=Lingo.uiCache("defBarMaxBtn",a,"img"),p=Lingo.uiCache("defBarMic",a,"img"),m=Lingo.uiCache("defBarTitle",a,"span"),s=Lingo.uiCache("selCat",a,"select"),q=Lingo.uiCache("selDiff",a,"select"),t=Lingo.uiCache("selSrc",a,"select"),l=Lingo.uiCache("defBarProns",a,"span"),h=Lingo.uiCache("dictsubbar",a,"div"),d=Lingo.uiCache("defBarStemFyi",a,"span",true),g=Lingo.uiCache("chkAlign",a,"input",true),k=Lingo.uiCache("dL_EC",a,"input",true),w=Lingo.uiCache("dL_EE",a,"input",true),i=Lingo.uiCache("reportBad",a,"a",true),j=v.maximizedDictArea==Lingo.EDictAreas.sen;r.style.display="block";n.style.display="none";o.style.display="none";u.style.display=j?"none":"block";h.style.visibility="";h.style.marginBottom="9px";m.innerHTML="";if(d)d.innerHTML="";c.style.display="block";if(j){c.style.height="100%";b.style.display="none";b.style.visibility="hidden"}else{b.style.display="block";b.style.visibility="";b.style.height="40%";c.style.height="60%"}if(i)i.style.display="none";if(k)k.disabled=w.disabled=s.disabled=q.disabled=t.disabled=true;if(g)g.disabled=true;this.InfCtrl.clear();l.innerHTML="";p.style.display="none";e.style.display="none";f.style.display="none";e.src=this._strTable.maxBtnSrc;f.src=this._strTable.maxBtnSrc},renderDictSidePanelDynamics:function(a){this.PhraseCtrl.fMoreView=true;this.ThesCtrl.fMoreView=true;this.PhonCtrl.fMoreView=true;var c=null,d=null,b=null;if(a.ROOT){c=a.ROOT.THES;d=a.ROOT.PHRASES;b=a.ROOT.SUGGS?a.ROOT.SUGGS.PH:null}if(this.AcdCtrl){this.ThesCtrl.init(this.AcdCtrl.AcdPanel1,c);this.PhraseCtrl.init(this.AcdCtrl.AcdPanel2,d);this.PhonCtrl.init(this.AcdCtrl.AcdPanel3,b)}},renderDictMainAreaDynamics:function(G,a,b,d,f,r){var I=Lingo.uiCache("dynsentdata",a,"div"),J=Lingo.uiCache("sentInnerCntr",a,"div"),K=Lingo.uiCache("dictInfl",a,"span"),u=Lingo.uiCache("defInnerCntr",a,"div"),A=Lingo.uiCache("sentarea",a),B=Lingo.uiCache("sentLoad",a),z=Lingo.uiCache("dictarea",a),E=Lingo.uiCache("defLoad",a),w=Lingo.uiCache("dyndefdata",a),e=Lingo.uiCache("sentBarMaxBtn",a),i=Lingo.uiCache("defBarMaxBtn",a),H=Lingo.uiCache("defBarProns",a),n=Lingo.uiCache("defBarMic",a),l=Lingo.uiCache("defBarTitle",a),C=Lingo.uiCache("selCat",a),y=Lingo.uiCache("selDiff",a),D=Lingo.uiCache("selSrc",a),N=Lingo.uiCache("dictsubbar",a,"div"),t=Lingo.uiCache("defBarStemFyi",a,"span",true),k=Lingo.uiCache("chkAlign",a,"input",true),o=Lingo.uiCache("reportBad",a,null,true),g=Lingo.uiCache("defLangViewBtns",a,"span",true),F=Lingo.uiCache("dL_EC",a,null,true),M=Lingo.uiCache("dL_EE",a,null,true);e.style.display=d.fSenOnlyMode?"none":"";i.style.display="";var q={};if(!b.ROOT)return;var c="";if(b.ROOT.$INPUT)c=b.ROOT.$INPUT;else c=f;if(c){c=JAM.String.shorten(unescape(c),45);JAM.UI.setElText(l,c);l.alt=l.title=f;if(t&&!b.ROOT.SMT&&f.toLowerCase()!=c.toLowerCase())t.innerHTML="[跳转自:"+f+"]"}if(F)F.disabled=M.disabled=C.disabled=y.disabled=D.disabled=false;if(o){o.innerHTML=G.flagged?Lingo._strTable.reportThxMsg:Lingo._strTable.reportMsg;o.style.display="block"}if(k){k.disabled=false;k.checked=Lingo._settings.senAlign.alignQuery}if(b.ROOT.SMT){E.style.display="none";w.style.display="block";if(g)g.style.display="none";this.SmtCtrl.init(u,b.ROOT.SMT,f);var x=this.applyDictAreasSplit(a,r);q.dictPercent=x;e.style.display="none";i.style.display="none"}if(b.ROOT.SENTS){B.style.display="none";I.style.display="block";this.SenCtrl.init(J,b.ROOT.SENTS,Lingo._settings.senAlign);JAM.Dom.optionByValue(C,b.ROOT.SENTS.$CAT).selected=true;JAM.Dom.optionByValue(y,b.ROOT.SENTS.$DIFF).selected=true;JAM.Dom.optionByValue(D,b.ROOT.SENTS.$SRC).selected=true}if(b.ROOT.DEF){E.style.display="none";w.style.display="block";var p=null;if(b.ROOT.DEFMORE&&b.ROOT.DEFMORE.$ON)p=b.ROOT.DEFMORE;else p=b.ROOT.DEF;this.DefCtrl.init(u,p,G.queryStr);var m=false;if(this.DefCtrl.onlyHasHomoDefs()){this.showDefLangView("ee",a);m=true}else if(this.DefCtrl.onlyHasCrossDefs()){this.showDefLangView("ec",a);m=true}else{var v="ec";try{var s=JAM.Cookie.read("dfl");if(s)v=s}catch(L){}this.showDefLangView(v,a)}if(g)g.style.display=m?"none":"block";var x=this.applyDictAreasSplit(a,r);q.dictPercent=x}if(b.ROOT.INFS)this.InfCtrl.init(K,b.ROOT.INFS,d.selectedInfl);else if(b.ROOT.DEF)this.InfCtrl.showDefaultMsg();if(b.ROOT.PROS)this.PronCtrl.init(H,b.ROOT.PROS);if(b.ROOT.AH)if(b.ROOT.$LANG=="en"){n.style.display="block";n.title="点击朗读";n.onmousedown=function(){Lingo.AudioCtrl.play(b.ROOT.AH.$,false)}}var h=b.ROOT.DEF||b.ROOT.SMT,j=b.ROOT.SENTS&&b.ROOT.SENTS.$TOTAL!="0";if(j&&!h){d.maximizedDictArea=Lingo.EDictAreas.sen;e.style.display="none"}if(!j&&h)d.maximizedDictArea=Lingo.EDictAreas.def;if(!j&&!h){B.style.display="none";d.maximizedDictArea=Lingo.EDictAreas.sen;e.style.display="none"}if(d.maximizedDictArea==Lingo.EDictAreas.def){i.src=this._strTable.rstrBtnSrc;A.style.display="none";z.style.height="100%"}else if(d.maximizedDictArea==Lingo.EDictAreas.sen){e.src=this._strTable.rstrBtnSrc;z.style.display="none";A.style.height="100%"}return q},applyDictAreasSplit:function(b,c,h){var a=null,l=this.currentVPage;if(h&&this.currentVPage.getUiState(this.getDictMainNum(b)).maximizedDictArea)return;if(c)a=c;else{var e=Lingo.uiCache("defInnerCntr",b),j=e.offsetHeight+JAM.UI.getElTop(e,b)+18,k=b.offsetHeight;a=this.calcDictAreaSplitPerc(j,k);if(a>50)a=50}var g=Lingo.uiCache("sentarea",b,"div"),f=Lingo.uiCache("dictarea",b,"div"),i=a+"%",d=100-a+"%";if(i!=f.style.height)f.style.height=a+"%";if(d!=g.style.height)g.style.height=d;return a},getDictMainNum:function(a){if(a.className.indexOf(Lingo._strTable.dictMainBaseName)!=-1){if(a.className.lastIndexOf("1")!=-1)return 1;if(a.className.lastIndexOf("2")!=-1)return 2;return -1}return null},getDictMainClassName:function(a,b){if(a.type==this.EVPageTypes.dict)return Lingo._strTable.dictMainBaseName;if(a.type==this.EVPageTypes.dictComp)return Lingo._strTable.dictMainBaseName+b},getDictMainEl:function(b){var a=this._strTable.dictMainBaseName;if(b){if(b==1)a=a+"1";if(b==2)a=a+"2"}return $Id(a)},getDictMainNumFromChildEl:function(c){var a=c.parentNode;while(a!=null&&a!=document){var b=this.getDictMainNum(a);if(!b)a=a.parentNode;else return b!==-1?b:null}return null},vpDataIsDYM:function(e){var a=e.ROOT,b=!a.DEF,c=!a.SENTS||a.SENTS&&a.SENTS.$RET=="0",d=a.SUGGS;return b&&c&&d},vpDataIsSMT:function(a){return a.ROOT&&a.ROOT.SMT},vpDataHasErrMsg:function(a){return a&&a.ERR&&a.ERR.$MSG},renderVPageDynamics:function(a,b){if(a!==this.currentVPage)return;if(a.type!=this.EVPageTypes.err&&this.vpDataHasErrMsg(a.getData())){a.setVpType(this.EVPageTypes.err);this.renderVPage(a);return}switch(a.type){case this.EVPageTypes.ssent:case this.EVPageTypes.dict:if(this.vpDataIsDYM(a.getData())){a.setVpType(this.EVPageTypes.didYouMean);this.renderVPage(a)}else{this.renderDictMainAreaDynamics(a,this.getDictMainEl(),a.getData(),a.getUiState(),a.getQuery());this.renderDictSidePanelDynamics(a.getData())}break;case this.EVPageTypes.dictComp:if(b)this.renderDictMainAreaDynamics(a,this.getDictMainEl(b),a.getData(b),a.getUiState(b),a.getQuery(b),30);else{var d=this.renderDictMainAreaDynamics(a,this.getDictMainEl(2),a.getData(2),a.getUiState(2),a.getQuery(2));this.renderDictMainAreaDynamics(a,this.getDictMainEl(1),a.getData(1),a.getUiState(1),a.getQuery(1),d.dictPercent)}break;case this.EVPageTypes.home:break;case this.EVPageTypes.smt:break;case this.EVPageTypes.didYouMean:this.DymCtrl.populate(a.getData().ROOT.SUGGS,a.queryStr);break;case this.EVPageTypes.err:var c=Lingo._strTable.defaultErrMsg;if(a.getData()&&a.getData().ERR&&a.getData().ERR.$MSG)c=a.getData().ERR.$MSG;$Id("errMsg").innerHTML=c;$Id("errIcon").innerHTML="<img src='img/info.png'>";break;default:this.currentVPage=null}this.recalcLayout()},restoreDictAreas:function(a){var d=this.currentVPage,c=Lingo.uiCache("sentarea",a,"div"),b=Lingo.uiCache("dictarea",a,"div");b.style.display="block";b.style.visibility="";c.style.display="block";c.style.visibility="";d.getUiState(this.getDictMainNum(a)).maximizedDictArea=null;this.applyDictAreasSplit(a);this.recalcLayout()},maximizeSenArea:function(a){var d=this.currentVPage,c=Lingo.uiCache("sentarea",a,"div"),b=Lingo.uiCache("dictarea",a,"div");b.style.display="none";b.style.visibility="hidden";c.style.height="100%";d.getUiState(this.getDictMainNum(a)).maximizedDictArea=Lingo.EDictAreas.sen;this.recalcLayout()},calcDictAreaSplitPerc:function(b,a){return Math.round(b/a*100)},displayMutexVpage:function(f){var c=$Id("vpagesCntr"),d=false,e=f.containerEl.id;for(var b=0;b<c.childNodes.length;b++){var a=c.childNodes[b];if(a.id)if(a.id==e){a.style.display="block";d=true}else a.style.display="none"}},uiCache:function(d,a,h,g){var b=null;if(a)b=a.className;else b=this.containerEl.id;var e=b+"."+d,c=this._uiCacheHashTable[e];if(!c){var f=this.containerEl;if(a)f=a;c=this._uiCacheHashTable[e]=$Class(d,f,h,g)}return c},VPage:function(a,d,b,c,e){this.queryStr=d;this.uiQueryStr=e;this.type=a;this.tabRef=null;this.ancestorTab1=null;this.ancestorTab2=null;this.mainData=null;this.containerEl=null;this.flagged=false;this.fHasStaticContentOnly=b;this.setVpType=function(c,a){this.type=c;var b=this.type;if(a)b=a;this.containerEl=$Id("vpage_"+b)};this.uiState={maximizedDictArea:null,defLang:null,selectedInfl:null,fSenOnlyMode:false};this.getUiState=function(a){return this.getAncestorVP(a).uiState};this.getAncestorVP=function(a){if(a==1)return this.ancestorTab1.vPage;else if(a==2)return this.ancestorTab2.vPage;else if(!a||a==-1)return this};this.getQuery=function(a,b){if(b&&this.getAncestorVP(a).uiQueryStr)return this.getAncestorVP(a).uiQueryStr;return this.getAncestorVP(a).queryStr};this.setQuery=function(b,a){this.getAncestorVP(a).queryStr=b;this.getAncestorVP(a).uiQueryStr=b};this.getData=function(a){return this.getAncestorVP(a).mainData};this.setData=function(b,a){this.getAncestorVP(a).mainData=b};this.hasFullData=function(){if(this.type===Lingo.EVPageTypes.dictComp)return this.getData(1)&&this.getData(2);else return !!this.getData()};this.parseJsonToObj=function(f,c,b,d,e){var a=JAM.Json.parse(f);if(!a)return;if(e)this.getData(c).ROOT[e]=a.ROOT[b];else if(d)this.getData(c).ROOT[d]=a.ROOT[b];else this.setData(a)};this.setVpType(a,c)},FdbckCtrl:{_fdbWinEl:null,_fdbField:null,init:function(a){this._fdbWinEl=a;this._fdbField=$Class("fdbfield",a);var b=this;JAM.Effects.Drag.enable(this._fdbWinEl,{callBackThis:b,onDragStartCallBack:function(){JAM.UI.setElOpacity(this._fdbWinEl,6)},onDragStopCallBack:function(){JAM.UI.setElOpacity(this._fdbWinEl,10)}})},mdownField:function(){if(JAM.Effects.Drag.isEnabled(this._fdbWinEl))JAM.Effects.Drag.disable(this._fdbWinEl)},mupField:function(){if(JAM.Effects.Drag.isDisabled(this._fdbWinEl))JAM.Effects.Drag.reEnable(this._fdbWinEl)},show:function(){this._fdbWinEl.style.display="block";this._fdbField.focus()},clear:function(){this._fdbField.value="";this._fdbWinEl.style.display="none"},submit:function(){if(this._fdbField.value)Lingo.upLog(Lingo.currentVPage,JAM.String.sanitize(this._fdbField.value),Lingo.ELogCategory.entryFdbk);this.clear()}},MainInputCtrl:{_mainInputCtrlEl:null,_suggCntrEl:null,_inputCntrEl:null,_regEx:new RegExp,_suggItems:[],_suggSelectedIndex:-1,_lastInputedText:null,_upDownSelecting:false,waterMarkText:"输入单词、短语、句子 . . .",hasEverWaterMarked:false,_suggestionTimer:null,_suggestionDelay:400,_ime:false,_setText:false,_sugRequest:null,_hasFocus:false,init:function(c,a,b){this._mainInputCtrlEl=c;this._suggCntrEl=b;this._inputCntrEl=a;b.style.width=a.clientWidth+"px";this._inputCntrEl.style.visibility=""},setText:function(a,b,c){if(this._mainInputCtrlEl.value!=a)this._setText=true;this._mainInputCtrlEl.className=c?"watermarkText":"normalInputText";this._mainInputCtrlEl.value=a;if(b)this.select()},getTextSanitized:function(){return JAM.String.sanitize(unescape(this._mainInputCtrlEl.value),true)},hasText:function(){return this._mainInputCtrlEl.value.length>0},select:function(){try{this._mainInputCtrlEl.select()}catch(a){}return true},errorMode:function(){this._mainInputCtrlEl.style.backgroundColor="#F8C9C9"},normalMode:function(){this._mainInputCtrlEl.style.backgroundColor=""},onBlur:function(){if(!this.isReady())return;this.hideSuggsUI();this._hasFocus=false;if(this.getTextSanitized().length==0)this.waterMark()},onFocus:function(){this.focus()},focus:function(){if(!this.isReady())return;if(this._hasFocus)return;var a=false;if(this._mainInputCtrlEl.className=="watermarkText")try{this._mainInputCtrlEl.focus();a=true}catch(b){}else a=this.select();this._hasFocus=a},isReady:function(){return !!(this._inputCntrEl&&this._suggCntrEl&&this._mainInputCtrlEl)},hideSuggsUI:function(){if(!this.isReady())return;this._suggCntrEl.style.display="none";this._suggSelectedIndex=-1;if(this._suggestionTimer!=null){clearTimeout(this._suggestionTimer);this._suggestionTimer=null}},showSuggsUI:function(){if(!this.isReady())return;this._suggCntrEl.style.display="block"},isSuggsUIVisible:function(){return !!(this.isReady()&&this._suggCntrEl.style.display=="block")},onKeyDown:function(b){if(!this.isReady())return;var a=null;if(window.event)a=window.event.keyCode;else if(b)a=b.which;this._ime=false;if(a==13){if(!(this._multiLine&&b.shiftKey)){this.hideSuggsUI();Lingo.onSearchBtnClick(b)}return}if(a==229)this._ime=true;if(a==38){this._upDownSelecting=true;this._selPrevSugg();return}else if(a==40){this._upDownSelecting=true;if(!this.isSuggsUIVisible())this.runAutoComplete();else this._selNextSugg();return}else this._upDownSelecting=false;if(a==27){this.hideSuggsUI();this.setText(this._lastInputedText);return}this.maybeClearWaterMark()},maybeClearWaterMark:function(){if(!this.isReady())return;if(this._mainInputCtrlEl.value==this.waterMarkText)this.setText("")},waterMark:function(a){this.setText(this.waterMarkText,false,true);this.hasEverWaterMarked=true;if(a)this.focus()},onPropertyChange:function(){if(!this.isReady())return;var a=this.getTextSanitized();if(!this._upDownSelecting)this._suggSelectedIndex=-1;if(this._lastInputedText==a)return;this._lastInputedText=a;this.runAutoComplete()},runAutoComplete:function(){if(!this.isReady())return;if(this._multiLine)return;var a=this.getTextSanitized();if(this._suggestionTimer!=null){clearTimeout(this._suggestionTimer);this._suggestionTimer=null}if(this._ime&&a.length>0){var b=a.charAt(a.length-1);if(JAM.String.isAlphaChar(b)||b=="'")return}if(a.length==0){this.hideSuggsUI();return}if(this._setText){this._setText=false;return}var c=this;this._suggestionTimer=setTimeout(function(){c._processAutoComplete(a)},this._suggestionDelay)},_processAutoComplete:function(b){var a=this;if(b&&b.length>0){var c="q="+encodeURIComponent(b)+"&t=sug";Lingo.serverAsyncReq(c,function(d){if(!a._suggestionTimer)return;a._sugRequest=b;var c=JAM.Json.parse(d);a._suggItems=null;if(c&&c.ACS&&c.ACS.AC)a._suggItems=c.ACS.AC;a._renderSuggItems()})}else this.hideSuggsUI()},_onSuggItemExec:function(){this._setSelSuggText();Lingo.onSearchBtnClick(null)},_selNextSugg:function(){if(!this._suggItems)return;this._renderSuggItems(this._suggSelectedIndex<this._suggItems.length?this._suggSelectedIndex+1:0);this._setSelSuggText()},_selPrevSugg:function(){if(!this._suggItems)return;this._renderSuggItems(this._suggSelectedIndex>0?this._suggSelectedIndex-1:this._suggItems.length);this._setSelSuggText()},_setSelSuggText:function(){var a=null;if(this._suggSelectedIndex==0&&this._suggItems&&this._suggItems.length==undefined)a=this._suggItems.$;else if(this._suggItems.length>0&&this._suggSelectedIndex>=0&&this._suggSelectedIndex<this._suggItems.length)a=this._suggItems[this._suggSelectedIndex].$;if(a){var b=decodeURIComponent(a).replace(/{#\*|\*\$}/g,"");this.setText(b)}},_renderSuggItems:function(a){if(!this._suggItems){this._suggSelectedIndex=-1;this._suggCntrEl.innerHTML="";this.hideSuggsUI();return}if(this.isSuggsUIVisible()&&this._suggCntrEl.innerHTML&&this._suggSelectedIndex==a)return;this.showSuggsUI();if(typeof a=="number")this._suggSelectedIndex=a;var c="",d=this._suggItems;if(d.$)c=this._getSuggItemHtml(d.$,0,a==0);else for(var b=0;b<d.length;b++){var e=d[b];c=c+this._getSuggItemHtml(e.$,b,b==a)}this._suggCntrEl.innerHTML=c},_getSuggItemHtml:function(g,f,e,d){var b="suggItem";if(e)b="suggItemSelected";var a=unescape(g);this._regEx.compile("^"+this._sugRequest,"i");var c=this._regEx.exec(a);a=a.replace(this._regEx,"<span class='suggHlight'>"+c+"</span>");a=a.replace(/{#\*/g,"<span class='suggHlight'>");a=a.replace(/\*\$}/g,"</span>");return "<div class='"+b+"' onmouseover=\"Lingo.MainInputCtrl._renderSuggItems("+f+")\" onmousedown='Lingo.MainInputCtrl._onSuggItemExec()' style=\""+d+'">&nbsp;'+a+"</div>"}},XtrasCtrl:{init:function(b){if(!b)return;var a="",c="http://"+location.host;try{if(window.external&&"AddSearchProvider" in window.external&&!g_fWebKit&&!g_fIE6orLess&&!g_fMaxthon)a+='<a href="#" onclick="window.external.AddSearchProvider(\''+c+"/opensearch.xml'); return false;\">添加为搜索提供程序</a><br/>"}catch(d){}if(navigator.userAgent.indexOf("Windows NT 6.")>=0)a+='<a href="./engkoo.gadget" target="_blank">下载Engkoo边栏工具</a><br />';a+="<br/>";b.innerHTML=a}},AudioCtrl:{_audioPlayer:null,init:function(c){var b=null,a="__aplayer";try{if(window.navigator.platform!="Win64")b="<object id='"+a+"' style='width: 0px; height: 0px' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='1' height='1' align='absmiddle'><param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='player.swf' /><param name='quality' value='high' /><embed src='player.swf' quality='high' width='1' height='1' name='"+a+"' allowscriptaccess='sameDomain' type='application/x-shockwave-flash'/></object>";else if(g_fIE)b="<object id='"+a+"' width='0' height='0' style='position:absolute; left:0;top:0;'CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'><PARAM NAME='AutoStart' VALUE='True'><PARAM name='uiMode' value='none'><PARAM name='PlayCount' value='1'></OBJECT>";c.innerHTML=b;this._audioPlayer=JAM.Dom.playerById(a)}catch(d){}},play:function(d,e){var b=e?"a":"ah",c="/"+b+"/"+d+".mp3",a=false;if(this._audioPlayer)try{this._audioPlayer.SetVariable("dirname",b);this._audioPlayer.SetVariable("hash",d);this._audioPlayer.GotoFrame(2);this._audioPlayer.GotoFrame(1);a=true}catch(g){try{this._audioPlayer.Settings.PlayCount=1;this._audioPlayer.URL=c;a=true}catch(f){}}if(!a)window.open(c)},getHtml:function(a,c,b,d){var e='<img onload="JAM.UI.setElOpacity(this, '+b+');" onmouseout="JAM.UI.setElOpacity(this, '+b+');" onmouseover="JAM.UI.setElOpacity(this, 10)" onmousedown="Lingo.AudioCtrl.play(\''+a+"', "+c+");"+(c?"$Id('dl_"+a+"').style.display=''":"")+"\" style='"+d+"; cursor:pointer' title='点击朗读' src='img/clear.gif' class='sprite_aud'/>"+"<span id='dl_"+a+"' style='display:none; font-size:10px'><a target='_blank' style='padding-left:5px' href='a/"+a+".mp3'>下载MP3</a></span>";return e}},ThesCtrl:{_acdPane:null,_THESObj:null,fMoreView:false,init:function(b,a){this.clear();this._acdPane=b;this._THESObj=a;this.render()},clear:function(){if(this._acdPane)this._acdPane.RenderHtml("");this._THESObj=null},render:function(){var a="";if(this._THESObj&&this._THESObj.THE){a="<ul>";if(!this._THESObj.THE.length)a=a+this._getInnerThesHtml(this._THESObj.THE,this.fMoreView);else for(var b=0;b<this._THESObj.THE.length;b++){var c=this._THESObj.THE[b];a=a+this._getInnerThesHtml(c,this.fMoreView)}a=a+"</ul>"}else this._acdPane.Hide();this._acdPane.RenderHtml(a)},_getInnerThesHtml:function(b,d){var a="";if(d){var f=b.$POS;a=a+f+".<br/>"}if(b.S)if(b.S.length)for(var c=0;c<b.S.length;c++){if(!d&&c>4)break;var e=unescape(b.S[c].$);a=a+"<li>"+Lingo.getInternalQueryHtml(e)+"</li>"}else a=a+"<li>"+Lingo.getInternalQueryHtml(unescape(b.S.$))+"</li>";if(b.A)if(b.A.length)for(var c=0;c<b.A.length;c++){if(!d&&c>4)break;var e=unescape(b.A[c].$);a=a+"<li>(反义词) "+Lingo.getInternalQueryHtml(e)+"</li>"}else a=a+"<li>(反义词) "+Lingo.getInternalQueryHtml(unescape(b.A.$))+"</li>";if(d)a=a+"<br/>";return a}},PhonCtrl:{_acdPane:null,_phonObj:null,fMoreView:false,init:function(b,a){this.clear();this._acdPane=b;this._phonObj=a;this.render()},clear:function(){if(this._acdPane)this._acdPane.RenderHtml("");this._phonObj=null},render:function(){var a="";if(this._phonObj&&this._phonObj.I){a="<div style='width:auto;height:auto;margin-top:7px'>";if(!this._phonObj.I.length)a=a+this._getInnerPhHtml(this._phonObj.I,this.fMoreView);else for(var b=0;b<this._phonObj.I.length;b++){if(!this.fMoreView&&b>5)break;var c=this._phonObj.I[b];a=a+this._getInnerPhHtml(c,this.fMoreView)}a=a+"</div>"}else this._acdPane.Hide();this._acdPane.RenderHtml(a)},_getInnerPhHtml:function(a){var b="";b="<p style='padding:2px 0px 2px 0px; margin:0'>"+Lingo.AudioCtrl.getHtml(a.$AH,false,6,"margin:0px 7px 0px 22px")+Lingo.getInternalQueryHtml(unescape(a.$))+"</p>";return b}},PhraseCtrl:{_acdPane:null,_PHRASESObj:null,fMoreView:false,init:function(b,a){this.clear();this._acdPane=b;this._PHRASESObj=a;this.render()},clear:function(){if(this._acdPane)this._acdPane.RenderHtml("");this._PHRASESObj=null},render:function(){var a="";if(this._PHRASESObj&&this._PHRASESObj.PH){a="<ul>";if(!this._PHRASESObj.PH.length)a=a+this._getInnerPhHtml(this._PHRASESObj.PH,this.fMoreView);else for(var b=0;b<this._PHRASESObj.PH.length;b++){if(!this.fMoreView&&b>5)break;var c=this._PHRASESObj.PH[b];a=a+this._getInnerPhHtml(c,this.fMoreView)}a=a+"</ul>"}else this._acdPane.Hide();this._acdPane.RenderHtml(a)},_getInnerPhHtml:function(c,d){var a="<li>",e=unescape(c.$T),b="";if(d)b="<br/><span style='color:gray'>"+c.$+"</span>";a=a+Lingo.getInternalQueryHtml(e)+b+"</li>";return a}},DymCtrl:{_liveLinkTempl:"<a href='http://bing.com/search?q={Q}' target='_blank'>在线查找\"{Q}\"?</a>",_dymListEl:null,init:function(a){this._dymListEl=a},populate:function(d,f){this._dymListEl.innerHTML="";var a="<h1>您要找的是不是:</h1>",b=d.PH,c=d.SP,e=d.PY;if(b&&b.I)a+="<h2 style='background-image:url(img/dymph.png)'>音近词</h2>"+this.getSuggCompHtml(b.I);if(c&&c.I)a+="<h2 style='background-image:url(img/dymspell.png)'>形近词</h2>"+this.getSuggCompHtml(c.I);if(e&&e.I)a+="<h2 style='background-image:url(img/dympinyin.gif)'>音转字</h2>"+this.getSuggCompHtml(e.I);a+="<h3 style='background-image:url(img/bing.png)'>"+this._liveLinkTempl.replace(/{Q}/g,f)+"</h3>";this._dymListEl.innerHTML=a},getSuggCompHtml:function(a){var b="";if(!a.length)b=b+"<p>"+(a.$AH?Lingo.AudioCtrl.getHtml(a.$AH,false,7,"margin-right:5px"):"")+Lingo.getInternalQueryHtml(unescape(a.$))+"</p>";else for(var d=0;d<a.length;d++){var c=a[d];b=b+"<p>"+(c.$AH?Lingo.AudioCtrl.getHtml(c.$AH,false,7,"margin-right:5px"):"")+Lingo.getInternalQueryHtml(unescape(c.$))+"</p>"}return b}},PronCtrl:{_prosCntrEl:null,_PROSObj:null,_proHashTable:null,init:function(a,b){this._prosCntrEl=a;this._PROSObj=b;this._proHashTable={};this.render()},render:function(){var a="",f=2;if(this._PROSObj)if(this._PROSObj.PRO)if(!this._PROSObj.PRO.length)a=a+this._getInnerProHtml(this._PROSObj.PRO);else{var g=0;for(var c=this._PROSObj.PRO.length-1;c>=0;c--){var b=this._PROSObj.PRO[c],d=b.$,e=b.$L;if(!this._proHashTable[d+e]){this._proHashTable[d+e]=true;if(++g>f)break;a=a+this._getInnerProHtml(b)}}}else a="";this._prosCntrEl.innerHTML=a},_getInnerProHtml:function(a){var c=unescape(a.$),d=a.$L,e=a.$URI,b="<span style='color:#4F6985; font-size:75%'>"+d+": </span>["+c+"]&nbsp;&nbsp;";return b}},InfCtrl:{_inflCntrEl:null,_inflHashTable:null,_selInfl:null,_objInput:null,_noneMsg:"&nbsp;&nbsp;(无相关结果)",_inflPreHtml:"<span class='inflTxt'>词形变化</span>",init:function(c,a,b){this._inflCntrEl=c;this._selInfl=b;this._objInput=a;this.clear();this.populateFromObj(a)},clear:function(){if(this._inflCntrEl)this._inflCntrEl.innerHTML="";this._inflHashTable={}},showDefaultMsg:function(){if(this._inflCntrEl)this._inflCntrEl.innerHTML=this._inflPreHtml+this._noneMsg},onInflClick:function(c,a){a.style.backgroundColor="#FEF0E2";a.style.border="solid 1px #FBB777";var b=Lingo.getDictMainNumFromChildEl(a);Lingo.currentVPage.getUiState(b).selectedInfl=c;Lingo.renderPartialVPageSents(Lingo.currentVPage,b,unescape(c))},onInflXBtnClick:function(c,d){var a=c.parentNode,b=Lingo.getDictMainNumFromChildEl(a);a.style.backgroundColor="";a.style.border="";c.style.display="none";Lingo.currentVPage.getUiState(b).selectedInfl=null;Lingo.renderPartialVPageSents(Lingo.currentVPage,b);JAM.Events.cancelEventBubble(d)},_inflLinkStrPrefix:'&nbsp;&nbsp;&nbsp;<a href="#',_inflLinkStrSelStyle:' style="text-decoration:none;color:#05569D;background-color:#FCCFA2;border:solid 1px #FF7C01;"',_inflLinkStrOnClickPre:" onclick=\"Lingo.InfCtrl.onInflClick('",_inflLinkStrOnClickPost:"', this); return false;\">",_inflXBtn:'&nbsp;<span style="background-color:#F0F5FA; border-left:solid 1px #FF7C01; color:black;" onclick="Lingo.InfCtrl.onInflXBtnClick(this, event);">&nbsp;x&nbsp;</span>',_inflLinkStrPostFix:"</a>",_strmap:{"1pps":"第一人称单数现在时","2pps":"第二人称单数现在时","3pps":"第三人称单数现在时","1ppp":"第一人称复数现在时","2ppp":"第二人称复数现在时","3ppp":"第三人称复数现在时",ps:"现在虚拟式","1psp":"第一人称单数陈述语气过去时","2psp":"第二人称单数陈述语气过去时","3psp":"第三人称单数陈述语气过去时","1pppi":"第一人称复数陈述语气过去时","2pppi":"第二人称复数陈述语气过去时","3pppi":"第三人称复数陈述语气过去时",pts:"过去虚拟式",adj:"形容词",cp:"比较级",pp:"过去分词",pt:"过去时",pat:"过去式",pl:"复数",prp:"现在分词",prt:"第三人称单数现在时",s:"单数",sp:"最高级",un:"未知"},populateFromObj:function(a){var b="",h=6,f=0,e=Lingo.getDictMainNumFromChildEl(this._inflCntrEl),g=Lingo.currentVPage.getData(e).ROOT.$INPUT.toLowerCase();if(a&&a.INF)if(a.INF.length)for(var d=0;d<a.INF.length;d++){var c=a.INF[d]["I-E"].$;if(!this._inflHashTable[c]){if(c==g)continue;if(f++>=h)break;this._inflHashTable[c]=true;b=b+this.htmlizeInfl(c,e,this._strmap[a.INF[d].$T])}}else{var c=a.INF["I-E"].$;b=this.htmlizeInfl(c,e,this._strmap[a.INF.$T])}if(b=="")b=this._noneMsg;this._inflCntrEl.innerHTML=this._inflPreHtml+b},htmlizeInfl:function(b,e,f){var d="",c="",a="";if(b==Lingo.currentVPage.getUiState(e).selectedInfl){d=this._inflLinkStrSelStyle;c=this._inflXBtn;a=f;if(a&&a.length>0)a+=": "}return this._inflLinkStrPrefix+b+'"'+d+this._inflLinkStrOnClickPre+b+this._inflLinkStrOnClickPost+a+unescape(b)+c+this._inflLinkStrPostFix}},SmtCtrl:{init:function(h,a){var b=true,c=a.Q.$,d=a.R.$;if(a.$FROM=="9"&&a.$TO=="4"){d=a.Q.$;c=a.R.$;b=false}var i=Lingo.AlignMan.getBiPairHtml(d,c,null,null,null,a.$WA,1,{alignQuery:b,alignOnHover:b,fShowAsPlainList:true}),j='<img src="img/gears.png" width="38px" height="39px" />',g="<span style='font-size:10pt; font-weight:normal; color:#DD7207'>计算机翻译:</span><br/><div style='border-top:dotted 1px silver; height:auto'>"+i+"</div>",e="<div class='defGroup'><div class='defPos'>{POS}</div><div class='defCnt' style='padding-left:16px'>{DEF}</div></div>",f=e.replace("{POS}",j).replace("{DEF}",g);h.innerHTML=f}},DefCtrl:{_defGroupHtmlTempl:"<div class='defGroup'><div class='defPos'>{POS}</div><div class='defCnt'>{DEF}</div></div>",_defIndivHtmlTempl:"<span style='font-size:10pt; color:#898AAF'>{NUM}.&nbsp;</span>&nbsp;{TXT}<br/>",_state:null,init:function(a,c,b){this._state=a._DefCtrlState={};this._state._defCntrEl=a;this._state._objDefs=c;this._state._userQueryStr=unescape(b)},onlyHasHomoDefs:function(){var a=this._state._objDefs[0],b=this._state._objDefs[1];return a&&!a.SENS&&!!(b&&b.SENS)},onlyHasCrossDefs:function(){var a=this._state._objDefs[0],b=this._state._objDefs[1];return a&&a.SENS&&(b&&!b.SENS)},populateFromObj:function(d){var b="",a=null;if(d==="cross")a=this._state._objDefs[0];else if(d==="homo")a=this._state._objDefs[1];if(!a)a=this._state._objDefs;if(a&&a.SENS)if(a.SENS.length)for(var c=0;c<a.SENS.length;c++){var e=a.SENS[c],f=this._htmlizeSenseGroupObj(e);b=b+f.html}else b=this._htmlizeSenseGroupObj(a.SENS).html;else b="&nbsp;&nbsp;<span style='color:gray; font-size:10pt'>无相关结果</span>";this._state._defCntrEl.innerHTML=b},_htmlizeWebMinedDefUrl:function(a){var b=JAM.String.shorten(a,70);return "<br/><a class='sent_src' style='padding-left:22px;' target='_blank' href='"+a+"'>"+b+"</a>"},_htmlizeDefSents:function(c,b){var a="<span class='sent_en'>"+Lingo.getInternalQueryHtmlForEmbeddedEngWords(unescape(c))+"</span><br/><span class='sent_cn'>"+unescape(b)+"</span>";return " <span><img src='img/v2plus.png' onclick='Lingo.DefCtrl.onToggleDefSen(this)' width='9px;' height='9px;' style='margin-bottom:2px; cursor:pointer' /><ul style='display:none;'><li>"+a+"</li></ul></span>"},_htmlizeSenseGroupObj:function(a){var d="",e=false,b="";if(a.SEN.length)for(var c=0;c<a.SEN.length;c++){b=unescape(a.SEN[c].D.$);b=Lingo.getInternalQueryHtmlForEmbeddedEngWords(b);if(a.SEN[c].$URL){e=true;b=b+this._htmlizeWebMinedDefUrl(a.SEN[c].$URL)}if(a.SEN[c].STS&&a.SEN[c].STS.ST&&a.SEN[c].STS.ST.E&&a.SEN[c].STS.ST.C)b=b+this._htmlizeDefSents(a.SEN[c].STS.ST.E.$,a.SEN[c].STS.ST.C.$);d=d+this._defIndivHtmlTempl.replace("{NUM}",c+1).replace("{TXT}",b)}else{b=unescape(a.SEN.D.$);b=Lingo.getInternalQueryHtmlForEmbeddedEngWords(b);if(a.SEN.$URL){e=true;b=b+this._htmlizeWebMinedDefUrl(a.SEN.$URL)}if(a.SEN.STS&&a.SEN.STS.ST&&a.SEN.STS.ST.E&&a.SEN.STS.ST.C)b=b+this._htmlizeDefSents(a.SEN.STS.ST.E.$,a.SEN.STS.ST.C.$);d=this._defIndivHtmlTempl.replace("{NUM}",1).replace("{TXT}",b)}var f="<span style='cursor:help' title='未知'>na.</span>";if(a.$POS!=="un")f=a.$POS+".";if(e){f='<img src="img/v2globe.png" width="15px" height="15px" />';d="<span style='font-size:10pt; font-weight:normal; color:#DD7207'>网络释义:</span><br/><div style='border-top:dotted 1px silver; height:auto'>"+d+"</div>"}var g=this._defGroupHtmlTempl.replace("{POS}",f).replace("{DEF}",d);return {html:g}},renderCrossLang:function(a){if(a)this._state=a._DefCtrlState;this.populateFromObj("cross")},renderHomoLang:function(a){if(a)this._state=a._DefCtrlState;this.populateFromObj("homo")},onToggleDefSen:function(a){var b="img/v2plus.png",d="img/v2minus.png";if(a.src.indexOf(b)!=-1){a.src=d;a.parentNode.getElementsByTagName("ul")[0].style.display="block"}else{a.src=b;a.parentNode.getElementsByTagName("ul")[0].style.display="none"}var c=Lingo.getDictMainEl(Lingo.getDictMainNumFromChildEl(a));Lingo.applyDictAreasSplit(c,null,true);Lingo.recalcLayout()}},SenCtrl:{_state:null,init:function(b,c,a){this._state=b._SenCtrlState={};this._state._renderEl=b;this.populateFromObj(c,a);if(a&&a.fAnimate)Lingo.AlignMan.animate()},clear:function(){if(this._state&&this._state._renderEl)this._state._renderEl.innerHTML=""},populateFromObj:function(a,d){var c="";if(a&&a.SEN)if(!a.SEN.length)c+=Lingo.AlignMan.getBiPairHtml(a.SEN.EN.D.$,a.SEN.CN.D.$,a.SEN.EN.S.$,a.SEN.CN.S.$,a.SEN.EN.P.$,parseInt(a.SEN.$WA,10),1,d);else for(var b=0;b<a.SEN.length;b++)c+=Lingo.AlignMan.getBiPairHtml(a.SEN[b].EN.D.$,a.SEN[b].CN.D.$,a.SEN[b].EN.S.$,a.SEN[b].CN.S.$,a.SEN[b].EN.P.$,parseInt(a.SEN[b].$WA,10),b+1,d);else c="&nbsp;&nbsp;<span style='color:gray; font-size:10pt'>无相关结果</span>";var e=d&&d.fShowAsPlainList;this._state._renderEl.innerHTML=(!e?"<ol>":"")+c+(!e?"</ol>":"")}},AlignMan:{_animeIntervalID:null,_alignTagsToAnimateList:null,_lastAnimeAlignTag:null,_animeSpeedMs:350,_regEx:new RegExp("","g"),getBiPairHtml:function(a,b,f,p,l,m,n,e){var d=null,h=null,k=null,i=null,o=null;if(e){d=e.alignQuery;h=e.alignOnHover;k=e.fShowAsPlainList;i=e.fAnimate}if(!d&&!h)a=Lingo.getInternalQueryHtmlForEmbeddedEngWords(a);a=a.replace(/{#\*/g,"<b><span class='hlight'>");a=a.replace(/\*\$}/g,"</span></b>");b=b.replace(/{#\*/g,"<b><span class='hlight'>");b=b.replace(/\*\$}/g,"</span></b>");a=a.replace(/{##\*/g,d?"<span class='xLangHlight'>":"");a=a.replace(/\*\$\$}/g,d?"</span>":"");b=b.replace(/{##\*/g,d?"<span class='xLangHlight'>":"");b=b.replace(/\*\$\$}/g,d?"</span>":"");if(i)this._alignTagsToAnimateList=[];var g;for(var c=1;c<=m;c++){g=this.hashSen(a,c,n);this._regEx.compile("{"+c+"#","g");a=a.replace(this._regEx,this._getWdAlignStartTag(g,h));this._regEx.compile("\\$"+c+"}","g");a=a.replace(this._regEx,"</span>");this._regEx.compile("{"+c+"#","g");b=b.replace(this._regEx,this._getWdAlignStartTag(g,h,i));this._regEx.compile("\\$"+c+"}","g");b=b.replace(this._regEx,"</span>");if(i)this._alignTagsToAnimateList[this._alignTagsToAnimateList.length]=g}var j="<span class='sent_en'>"+unescape(a)+"</span>";if(l)j+=Lingo.AudioCtrl.getHtml(l,true,7,"margin-left:3px");j+="<br/><span class='sent_cn'>"+unescape(b)+"</span><br/>";if(f){f=unescape(f);j+="<a class='sent_src' target='_blank' href='"+f+"'>"+JAM.String.shorten(f,85)+"</a>"}return (!k?"<li class='sentPair'>":"")+j+(!k?"</li>":"")},animate:function(){if(!this._alignTagsToAnimateList)return;if(this._animeIntervalID)this.stopAnimation();var b=0,a=this;this._animeIntervalID=setInterval(function(){var c=null;try{if(b<a._alignTagsToAnimateList.length){c=a._alignTagsToAnimateList[b++];if(!a.alignWords(c,true,true)){a.stopAnimation();return}if(a._lastAnimeAlignTag)a.alignWords(a._lastAnimeAlignTag,false);a._lastAnimeAlignTag=c}else if(b==a._alignTagsToAnimateList.length)a.stopAnimation()}catch(d){a.stopAnimation()}},this._animeSpeedMs)},stopAnimation:function(){if(this._lastAnimeAlignTag){this.alignWords(this._lastAnimeAlignTag,false,true);this._lastAnimeAlignTag=null}if(this._animeIntervalID){clearInterval(this._animeIntervalID);this._animeIntervalID=this._alignTagsToAnimateList=this._lastAnimeAlignTag=null}},_getWdAlignStartTag:function(a,d,e){if(!d)return "<span>";var c="",b="";if(e){c="<img src='img/clear.gif' class='sprite_pointer' style='position:absolute;left:3px;top:15px;visibility:hidden'/>";b="position:relative"}var f='<span class="'+a+"\" style='cursor:pointer;"+b+'\' onclick="Lingo.processQuery(JAM.UI.getElText(this)); return false;" onmouseover="Lingo.AlignMan.stopAnimation(); Lingo.AlignMan.alignWords(\''+a+"', true);\" onmouseout=\"Lingo.AlignMan.alignWords('"+a+'\', false, true);" title="点击获取释义">'+c;return f},hashSen:function(a,b,c){return "_h"+a.charCodeAt(0)+"a"+a.charCodeAt(a.length/2)+"b"+a.charCodeAt(a.length-1)+"c"+a.length+"d"+b+"e"+c},alignWords:function(g,h,f){var c=JAM.Dom.elArrayByClass(g,Lingo.currentVPage.containerEl,"span",f);if(!c||c.length<1)return false;for(var e=0;e<c.length;e++){var b=c[e],d=b.getElementsByTagName("img"),a=null;if(d&&d[0])a=d[0];if(h){b.style.color="white";b.style.backgroundColor="#00b5f0";if(a&&this._animeIntervalID)a.style.visibility=""}else{b.style.backgroundColor="";b.style.color="";if(a)a.style.visibility="hidden"}}return true}},HomePageCtrl:{_logoEl:null,_mainInputCntrEl:null,_suggFrameEl:null,_suggCntrEl:null,_homeMainCntrEl:null,_fSmallView:null,init:function(d,c,b,a){this._homeMainCntrEl=d;this._fCenterHomepageWhenTabless=c;if(b){b.style.visibility="";this._logoEl=b}if(a){this._mainInputCntrEl=a._inputCntrEl;this._suggFrameEl=a._suggFrame;this._suggCntrEl=a._suggCntrEl}},prepareTabbedView:function(){if(this._fCenterHomepageWhenTabless){this._homeMainCntrEl.style.paddingTop="20px";if(this._logoEl){this._logoEl.style.top="12px";this._logoEl.style.left="18px";this._logoEl.className="sprite_logoserp"}if(this._mainInputCntrEl){this._mainInputCntrEl.style.top="23px";this._suggCntrEl.style.top="54px";if(this._suggFrameEl)this._suggFrameEl.style.top=this._suggCntrEl.style.top;this._mainInputCntrEl.className=""}}},prepareFullView:function(){if(this._fCenterHomepageWhenTabless){this._homeMainCntrEl.style.paddingTop="124px";if(this._logoEl){this._logoEl.style.top="82px";this._logoEl.style.left="330px";this._logoEl.className="sprite_logohp"}if(this._mainInputCntrEl){this._mainInputCntrEl.style.top="166px";this._suggCntrEl.style.top="197px";if(this._suggFrameEl)this._suggFrameEl.style.top=this._suggCntrEl.style.top;this._mainInputCntrEl.className="shadow"}}},nextPic:function(){var a=g_hpData.hp;if(a.album.selectedIndex<a.album.pic.length-1){a.album.selectedIndex++;this.renderAlbum()}},prevPic:function(){var a=g_hpData.hp;if(a.album.selectedIndex>0){a.album.selectedIndex--;this.renderAlbum()}},renderAlbum:function(){var b=g_hpData.hp,a=$Id("homeAlbumPicArea");a.onclick=null;a.style.cursor="";a.title="";if(!b.album.selectedIndex)b.album.selectedIndex=0;var g=b.album.pic,e="";if(b.album.selectedIndex>0)e="<a title='上一张' href='#' onmousedown='Lingo.HomePageCtrl.prevPic(); return false'>«</a>";var d="";if(b.album.selectedIndex<b.album.pic.length-1){d="<a title='下一张' href='#' onmousedown='Lingo.HomePageCtrl.nextPic(); return false'>»</a>";var i=this;a.onclick=function(){i.nextPic()};a.style.cursor="pointer";a.title="下一张"}$Id("homeAlbumChooser").innerHTML="<span style='line-height:20px'>"+e+"&nbsp;"+"<span style='font-size:12px'>"+(b.album.selectedIndex+1)+"/"+g.length+"</span>"+"&nbsp;"+d+"</span>";var c=g[b.album.selectedIndex];$Id("homeAlbumInfoArea").innerHTML=Lingo.getInternalQueryHtml(c.en.$)+"&nbsp;"+Lingo.AudioCtrl.getHtml(c.enAudioUrl.$,false,7)+"<br/>"+"<span style='color:gray'>"+c.cn.$+"</span>";a.style.backgroundImage="url(img/load.gif)";var h=new Image,f=c.picUrl.$;h.onload=function(){a.style.backgroundImage="url("+f+")"};h.src=f},render:function(){if(!g_hpData)return;var a=g_hpData.hp;if(a.added){var j=a.added.w,g="";for(var b=0;b<j.length;b++)g+="<p>"+Lingo.getInternalQueryHtml(j[b].$)+"</p>";$Id("homeAddedWds").innerHTML=g}if(a.album)this.renderAlbum();var i=$Id("homeTips",true);if(i&&a.tips){var m="",p=a.tips.tip;for(var b=0;b<p.length;b++){var c=p[b],o="";if(c.more.url.$.indexOf(".aspx")!=-1)o="target='_blank'";m+="<h2><a style='font-size:14px; font-weight:bolder' target='_blank' href='"+c.title.url.$+"'>"+c.title.value.$+"</a></h2>"+"<p>"+c.description.$+" <a "+o+" href='"+c.more.url.$+"'>"+c.more.value.$+"</a></p>"}i.innerHTML=m}if(a.wd){var l=a.wd.en.$,e="<span style='padding-left:5px'>"+Lingo.getInternalQueryHtml(l)+"</span>";if(a.wd.audioUrl)e+=Lingo.AudioCtrl.getHtml(a.wd.audioUrl.$,false,7,"margin-left:4px");$Id("homeWordTitle").innerHTML=e;$Id("tinyInputField").value=a.wd.compareTo.$+" vs "+l}var f=$Id("homeFriends",true);if(f&&a.pals){var h="",n=a.pals.link;for(var b=0;b<n.length;b++){var k=n[b];h+="<p><a target='_blank' href='http://"+k.url.$+"'>"+k.value.$+"</a></p>"}f.innerHTML=h}if(a.sen){var d=JAM.Json.parse(a.sen.json.$),q=Lingo.AlignMan.getBiPairHtml(d.EN.D.$,d.CN.D.$,d.EN.S.$,d.CN.S.$,d.EN.P.$,parseInt(d.$WA,10),1,{alignQuery:true,alignOnHover:true,fShowAsPlainList:true,fAnimate:true});$Id("homeSent").innerHTML=q;Lingo.AlignMan.animate()}}},TabCtrl:{_uiTabsDivEl:null,_uiTabsCntrDiv:null,_uiContextMenuEl:null,_uiSelectedDivEl:null,_uiTabTipDivEl:null,_uiTabListDivEl:null,_uiTabXBtnSrc:"img/clear.gif",_uiTabCombBreakBtnSrc:"img/break.gif",_uiOTabInnerHtml:"<img class='oTabImgTl sprite_v2otabtl' src='img/clear.gif' /><img class='oTabImgTr sprite_v2otabtr' src='img/clear.gif' /><span class='oTabContTxt'></span>",_uiHTabInnerHtml:"<img class='hTabImgTl sprite_v2mtabtl' src='img/clear.gif' /><img class='hTabImgTr sprite_v2mtabtr' src='img/clear.gif' /><span class='hTabContTxt'></span><img src='img/clear.gif' class='hTabXbtn sprite_v2mtabx' />",_tabs:[],selectedTab:null,_options:null,init:function(b,c,d,f,e,a){this._uiTabsDivEl=$Class("tabs",b,"div");this._uiTabsCntrDiv=b;this._uiContextMenuEl=c;this._uiSelectedDivEl=d;this._uiTabListDivEl=f;this._uiTabTipDivEl=e;if(!a)a={};a.maxTabChars=12;this._options=a},tabCount:function(){return this._tabs.length},hideContextMenu:function(){if(this._uiContextMenuEl)this._uiContextMenuEl.style.visibility="hidden"},hideTabTip:function(a){if(this._uiTabTipDivEl&&this._uiTabTipDivEl.style.visibility!="hidden"){this._uiTabTipDivEl.style.visibility="hidden";if(a)this._fAlreadyShowedTabTip=true}},hideTabList:function(){if(this._uiTabListDivEl)this._uiTabListDivEl.style.visibility="hidden"},hide:function(){if(this._uiTabsCntrDiv&&this._uiSelectedDivEl)this._uiTabsCntrDiv.style.visibility=this._uiSelectedDivEl.style.visibility="hidden";if(this.selectedTab&&this.selectedTab.uiTabDivEl)this.selectedTab.uiTabDivEl.style.display="none";this.hideTabTip();this.hideContextMenu()},show:function(){this._uiTabsCntrDiv.style.visibility=this._uiSelectedDivEl.style.visibility="visible";if(this.selectedTab&&this.selectedTab.uiTabDivEl)this.selectedTab.uiTabDivEl.style.display="block"},showTabList:function(d){var a="";a="<div class='cxmenuitem'>"+Lingo.getInternalQueryHtml(Lingo._strTable.navHome,"font-weight:bold; color:#FF7200","首页")+"</div>";for(var c=0;c<this._tabs.length;c++){var b=this._tabs[c];if(b.vPage.type===Lingo.EVPageTypes.home)continue;if(this.fTabVisible(b))continue;a=a+"<div class='cxmenuitem'>"+Lingo.getInternalQueryHtml(b.fullTitle)+"</div>"}a=a+"";this._uiTabListDivEl.innerHTML=a;this._uiTabListDivEl.style.visibility="visible";JAM.Events.cancelEventBubble(d)},_fAlreadyShowedTabTip:false,_tabsToRenderArray:[],tabToDisplayCompareTipOn:null,renderTabs:function(e){this._uiTabsDivEl.innerHTML="";var f=11,k=JAM.UI.getElTop(this._uiTabsDivEl)+"px",m=this._uiTabsCntrDiv.offsetWidth-f,c=0,d=0;this.tabToDisplayCompareTipOn=null;this._tabsToRenderArray=[];var i=0;for(var g=this._tabs.length-1;g>=0;g--){var a=this._tabs[g],b=null;if(this.selectedTab===a)b=this._uiSelectedDivEl;else{var o=document.createElement("div");b=this._uiTabsDivEl.appendChild(o)}b.style.visibility="hidden";a.renderSelf(b);var j=a.uiTabDivEl.offsetWidth;i+=j;var n=i;if(n>m)break;this._tabsToRenderArray.unshift(a)}if(!this.fTabVisible(this.selectedTab)&&this._tabs.length>0){this.cutTab(this.selectedTab);this.pasteTab(this.selectedTab,this._tabs.length);this.renderTabs(e);return}c=0;for(var h=0;h<this._tabsToRenderArray.length;h++){var a=this._tabsToRenderArray[h],b=a.uiTabDivEl;b.style.visibility="visible";c++;if(a.vPage.type==Lingo.EVPageTypes.dict){d++;if(d==2)this.tabToDisplayCompareTipOn=a}var j=a.uiTabDivEl.offsetWidth;a.uiTabDivEl.style.left=f+"px";f+=j;if(this.selectedTab===a)a.uiTabDivEl.style.top=k}if(this._uiTabTipDivEl)if(this.tabToDisplayCompareTipOn&&d==2&&!this._fAlreadyShowedTabTip&&this.selectedTab===this.tabToDisplayCompareTipOn)this.uiRenderToolTip("拖拽到另一个标签上进行单词对比！",JAM.UI.getElStyle(this.tabToDisplayCompareTipOn.uiTabDivEl,"left",true)-15,parseInt(k,10)-this.tabToDisplayCompareTipOn.uiTabDivEl.offsetHeight+1);else{this.hideTabTip();if(d>2)this._fAlreadyShowedTabTip=true}var l="hidden";if(this._tabs.length>this._tabsToRenderArray.length)l="visible";$Id("tabMoreBtn").style.visibility=l;if(c>0&&this.selectedTab){if(this._options.onRenderSingleTab&&!e)this._options.onRenderSingleTab.apply(this._options.callBackThis,[this.selectedTab])}else if(c===0)if(this._options.onRenderNoTabs&&!e)this._options.onRenderNoTabs.apply(this._options.callBackThis,[])},closeCurrTab:function(){this.selectedTab.uiClickXBtnHndlr()},closeOtherTabs:function(){tabsPendingRemoval=[];for(var a=0;a<this._tabs.length;a++){var c=this._tabs[a];if(c!==this.selectedTab)tabsPendingRemoval.push(c)}for(var b=0;b<tabsPendingRemoval.length;b++)this.removeTab(tabsPendingRemoval[b]);this.renderTabs()},fTabVisible:function(a){var c=false;for(var b=0;b<this._tabsToRenderArray.length;b++)if(this._tabsToRenderArray[b]==a){c=true;break}return a&&a.uiTabDivEl&&a.uiTabDivEl.parentNode&&c},uiSetDropObjHighlight:function(a,d){var c="____tabCachedStyleInfo",b=null;if(a[c]!==null)b=a[c];if(d){if(!JAM.Obj.hasValue(b))a[c]={bWidth:JAM.UI.getElStyle(a,"borderWidth"),bStyle:JAM.UI.getElStyle(a,"borderStyle"),bColor:JAM.UI.getElStyle(a,"borderColor"),brder:a.style.border,zIndx:JAM.UI.getElStyle(a,"zIndex")};a.style.border="dashed 3px red";a.style.zIndex=999}else if(JAM.Obj.hasValue(b)){if(b.bStyle&&b.bStyle.length>0)a.style.border=b.bStyle+" "+b.bWidth+" "+b.bColor;else a.style.border=b.brder;a.style.zIndex=b.zIndx}},_fVertIntersect:function(b,c,a){return Math.abs(b-c)<a},_fHorizIntersect:function(a,d,b,f){var c=a+d,e=b+f;return c>b&&a<e},_unhighlightAllDropObjs:function(c){for(var b=0;b<this._tabs.length;b++){var a=this._tabs[b];if(!this.fTabVisible(a))continue;if(a.uiTabDivEl!==c)this.uiSetDropObjHighlight(a.uiTabDivEl,false)}},uiRenderToolTip:function(b,c,d){if(this._uiTabTipDivEl){this._uiTabTipDivEl.style.visibility="visible";this._uiTabTipDivEl.style.top=d+"px";this._uiTabTipDivEl.style.left=c+"px";var a=$Class("tabTipTxt",this._uiTabTipDivEl,"div");a.innerHTML=b}},_findNearestDropObjToTab:function(d){var b=null,e=null,f=JAM.UI.getElStyle(d,"left",true),j=JAM.UI.getElTop(d),i=d.offsetWidth;for(var g=0;g<this._tabs.length;g++){var a=this._tabs[g];if(!this.fTabVisible(a))continue;if(a.uiTabDivEl!==d){var l=JAM.UI.getElTop(a.uiTabDivEl);if(this._fVertIntersect(j,l,75)){var c=JAM.UI.getElStyle(a.uiTabDivEl,"left",true),k=a.uiTabDivEl.offsetWidth,h=this._fHorizIntersect(c,k,f,i);if(h){if(b===null){b=a;e=c}if(Math.abs(c-f)<Math.abs(e-f)){b=a;e=c}}}}}return b},onDragHlTab:function(d){this._unhighlightAllDropObjs(d);var a=this._findNearestDropObjToTab(d);if(a){var c=true,b=a;if(a instanceof this.Tab){c=this.fTabsOkToCompare(a,this.selectedTab);b=a.uiTabDivEl}if(c)this.uiSetDropObjHighlight(b,true)}},fTabsOkToCompare:function(a,b){return a.isComparableTab(true)&&b.isComparableTab(true)},_findTabFromDiv:function(c){for(var a=0;a<this._tabs.length;a++){var b=this._tabs[a];if(b.uiTabDivEl===c)return b}return null},getTabIndex:function(c){for(var a=0;a<this._tabs.length;a++){var b=this._tabs[a];if(c===b)return a}return -1},findTabByTitle:function(c,b,e){if(c)c=c.toLowerCase();if(b)b=b.toLowerCase();for(var d=0;d<this._tabs.length;d++){var a=this._tabs[d];if(c&&a.fullTitle.toLowerCase()==c)return a;if(b&&a.shortTitle.toLowerCase()==b)return a;if(e&&a.vPage.ancestorTab1&&a.vPage.ancestorTab2){if(c)if(a.vPage.ancestorTab1.fullTitle.toLowerCase()==c||a.vPage.ancestorTab2.fullTitle.toLowerCase()==c)return a;if(b)if(a.vPage.ancestorTab1.shortTitle.toLowerCase()==b||a.vPage.ancestorTab2.shortTitle.toLowerCase()==b)return a}}return null},onDragHlTabStart:function(a){a.__origZIndex=JAM.UI.getElStyle(a,"zIndex");a.style.zIndex=999;JAM.UI.setElOpacity(a,4);if(this.tabToDisplayCompareTipOn&&a===this.tabToDisplayCompareTipOn.uiTabDivEl)this.hideTabTip(true)},onDragHlTabStop:function(b){JAM.UI.setElOpacity(b,10);b.style.zIndex=b.__origZIndex;this._unhighlightAllDropObjs(b);var a=this._findNearestDropObjToTab(b),c=true;if(a){var d=a;if(a instanceof this.Tab){if(this.fTabsOkToCompare(a,this.selectedTab)){c=false;this.selectedTab.compareTo(a)}}else if(this._options.onTabDropTarget)this._options.onTabDropTarget.apply(this._options.callBackThis,[a,this.selectedTab])}if(c)this.renderTabs()},selectTab:function(a,b){if(!b&&!this.fTabVisible(a)){this.cutTab(a);this.pasteTab(a,this._tabs.length)}this.selectedTab=a},isSelectedTab:function(a){return this.selectedTab===a},cutTab:function(b){var a=this.getTabIndex(b);this._tabs.splice(a,1);return a},pasteTab:function(b,a){this._tabs.splice(a,0,b)},removeTab:function(b){var c=this.selectedTab===b;for(var a=0;a<this._tabs.length;a++){var d=this._tabs[a];if(d===b){if(this._options.onBeforeRemoveTab)this._options.onBeforeRemoveTab.apply(this._options.callBackThis,[this.selectedTab]);b.dispose();this._tabs.splice(a,1);if(c)if(a>=this._tabs.length&&a>0)this.selectTab(this._tabs[a-1],true);else if(this._tabs.length>0)this.selectTab(this._tabs[a],true);return true}}return false},uncombineTabs:function(a){var b=this.getTabIndex(a);this.pasteTab(a.vPage.ancestorTab1,b+1);this.pasteTab(a.vPage.ancestorTab2,b+2);this.removeTab(a)},newTab:function(c,f,d,b){var e=JAM.String.shorten(c,this._options.maxTabChars),a=new this.Tab(this,e,c,f);if(JAM.Obj.hasValue(b))this._tabs.splice(b,0,a);else this._tabs.push(a);if(!d)this.selectTab(a,true);return a},_showContextMenuOnTab:function(a){this._uiContextMenuEl.style.visibility="visible";this._uiContextMenuEl.style.left=JAM.UI.getElStyle(a.uiTabDivEl,"left")},Tab:function(c,b,d,a){this.shortTitle=b;this.fullTitle=d;this.uiTabDivEl=null;this.vPage=a;this.fPinned=false;this._tabCtrlRef=c;this._uiClickTabHndlr=function(){this._tabCtrlRef.hideContextMenu();this._tabCtrlRef.selectTab(this);this._tabCtrlRef.renderTabs()};this.uiClickXBtnHndlr=function(a){if(a&&a.button==2)return;if(this.isInCompareMode())this._tabCtrlRef.uncombineTabs(this);else this._tabCtrlRef.removeTab(this);this._tabCtrlRef.renderTabs()};this._uiHoverXBtnHndlr=function(b,a){JAM.UI.setElOpacity(a,10);if(JAM.Effects.Drag.isEnabled(this.uiTabDivEl))JAM.Effects.Drag.disable(this.uiTabDivEl)};this._uiHoverOutXBtnHndlr=function(b,a){JAM.UI.setElOpacity(a,6);if(JAM.Effects.Drag.isDisabled(this.uiTabDivEl))JAM.Effects.Drag.reEnable(this.uiTabDivEl)};this._uiRightClickTabHndr=function(a){JAM.Events.cancelEventBubble(a);this._tabCtrlRef._showContextMenuOnTab(this);return false};this.dispose=function(){this.vPage=null};this.renderSelf=function(e){if(JAM.Obj.hasValue(e))this.uiTabDivEl=e;var f=0,b=null,h=null,d=this._tabCtrlRef.isSelectedTab(this);if(d){if(this.uiTabDivEl.className!=="htab"){this.uiTabDivEl.className="htab";this.uiTabDivEl.innerHTML=this._tabCtrlRef._uiHTabInnerHtml;JAM.Effects.Drag.enable(this.uiTabDivEl,{direction:"xy",onDragStartCallBack:this._tabCtrlRef.onDragHlTabStart,onDragStopCallBack:this._tabCtrlRef.onDragHlTabStop,onDragCallBack:this._tabCtrlRef.onDragHlTab,callBackThis:this._tabCtrlRef})}b=$Class("hTabXbtn",this.uiTabDivEl,"img");if(JAM.Events.hasHandler(b,"mouseup","uiClickXBtnHndlr")){JAM.Events.removeHandler(b,"mouseup","uiClickXBtnHndlr");JAM.Events.removeHandler(b,"mouseover","_uiHoverXBtnHndlr");JAM.Events.removeHandler(b,"mouseout","_uiHoverOutXBtnHndlr");JAM.Events.removeHandler(this.uiTabDivEl,"contextmenu","_uiRightClickTabHndr")}JAM.Events.addHandler(b,"mouseup",this,"uiClickXBtnHndlr");JAM.Events.addHandler(b,"mouseover",this,"_uiHoverXBtnHndlr");JAM.Events.addHandler(b,"mouseout",this,"_uiHoverOutXBtnHndlr");JAM.Events.addHandler(this.uiTabDivEl,"contextmenu",this,"_uiRightClickTabHndr");f=18;JAM.UI.setElOpacity(b,6)}else{this.uiTabDivEl.className="otab";this.uiTabDivEl.innerHTML=this._tabCtrlRef._uiOTabInnerHtml;JAM.Events.addHandler(this.uiTabDivEl,"click",this,"_uiClickTabHndlr")}var c=this.findTabTextSpan();if(d&&b.src.indexOf(this._tabCtrlRef._uiTabXBtnSrc)==-1){b.src=this._tabCtrlRef._uiTabXBtnSrc;b.alt=b.title="关闭标签页"}if(this.isInCompareMode()){c.innerHTML="&nbsp;&nbsp;<b>"+a.ancestorTab1.shortTitle+"</b>&nbsp;<span style='font-family:SimHei;'>同</span>&nbsp;<b>"+a.ancestorTab2.shortTitle+"</b>&nbsp;<span style='font-family:SimHei;'>对比</span>&nbsp;&nbsp;";this.uiTabDivEl.title=a.ancestorTab1.fullTitle+" & "+a.ancestorTab2.fullTitle;if(d){b.src=this._tabCtrlRef._uiTabCombBreakBtnSrc;b.alt=b.title="解除比较标签"}}else if(this.vPage.type===Lingo.EVPageTypes.home){c.innerHTML="&nbsp;&nbsp;<b>首页</b>&nbsp;&nbsp;";this.uiTabDivEl.title=this.fullTitle}else if(this.vPage.type===Lingo.EVPageTypes.didYouMean){c.innerHTML="&nbsp;&nbsp;<b><del>"+this.shortTitle+"</del></b>&nbsp;&nbsp;";this.uiTabDivEl.title=this.fullTitle}else{c.innerHTML="&nbsp;&nbsp;<b>"+this.shortTitle+"</b>&nbsp;&nbsp;";this.uiTabDivEl.title=this.fullTitle}var g=JAM.UI.getNoWrapElWidth(c);this.uiTabDivEl.style.width=g+f+"px"};this.compareTo=function(a){Lingo.processQuery(this.fullTitle+" vs. "+a.fullTitle)};this.isInCompareMode=function(){return this.vPage.type===Lingo.EVPageTypes.dictComp};this.isComparableTab=function(a){if(this.vPage.type===Lingo.EVPageTypes.dict||this.vPage.type===Lingo.EVPageTypes.ssent){if(a)if(this.vPage.getData())return true;else return false;return true}return false};this.findTabTextSpan=function(){var b=this.uiTabDivEl.getElementsByTagName("span");for(var a=0;a<b.length;a++)if(b[a].className.lastIndexOf("ContTxt")!=-1)return b[a];return null}}},AcdCtrl:{MaxPanelHeightAdjust:0,AcdBtn:function(c,d,b,a){this.BtnId=c;this.State=d;this.ExpandImgSrc=b;this.CollapseImgSrc=a;this.Expand=function(){this.State="expand";$Id(this.BtnId).src=this.ExpandImgSrc};this.Collapse=function(){this.State="collapse";$Id(this.BtnId).src=this.CollapseImgSrc}},AcdPanel:function(c,d,a,b){this.Panel=$Id(c);this.State="normal";this.Btn=d;this.fHidden=false;this.ContentPanel=$Id(a);this.ImgBar=$Id(b);this.SetDefault=function(){this.State="normal";var a=JAM.UI.getNoWrapElHeight(this.ContentPanel);if(a>0)a=Math.min(Lingo.AcdCtrl.DefaultPanelHeight,a);else a=Lingo.AcdCtrl.DefaultPanelHeight;if(this.ContentPanel.innerHTML)this.Show();this.ContentPanel.style.height=a+"px";this.Btn.Collapse()};this.Expand=function(){this.State="expand";this.ContentPanel.style.height=Lingo.AcdCtrl.MaxContentHeight+"px";this.ContentPanel.style.display="block";this.Btn.Expand()};this.Collapse=function(){this.State="collapse";this.ContentPanel.style.display="none";this.Btn.Collapse()};this.Hide=function(){this.fHidden=true;this.ContentPanel.style.display=this.ImgBar.style.display="none"};this.Show=function(){this.fHidden=false;this.ContentPanel.style.display=this.ImgBar.style.display="block"};this.ReRender=function(){switch(this.State){case "normal":this.SetDefault();break;case "expand":this.Expand();break;case "collapse":this.Collapse()}};this.RenderHtml=function(a){if(a)this.Show();this.ContentPanel.innerHTML=a}},Init:function(c){if(!g_fIE6orLess)this.MaxPanelHeightAdjust=-3;this.AcdBtn1=new this.AcdBtn("AcdBtn1","normal",Lingo._strTable.rstrBtnSrc,Lingo._strTable.maxBtnSrc);this.AcdBtn2=new this.AcdBtn("AcdBtn2","normal",Lingo._strTable.rstrBtnSrc,Lingo._strTable.maxBtnSrc);this.AcdBtn3=new this.AcdBtn("AcdBtn3","normal",Lingo._strTable.rstrBtnSrc,Lingo._strTable.maxBtnSrc);this.PanelCount=3;var b=JAM.UI.getElStyle(c,"height",true),d=0,a=JAM.UI.getElStyle($Id("AcdImgBar1"),"height",true)+JAM.UI.getElStyle($Id("AcdImgBar1"),"borderTopWidth",true,"border-top-width")+JAM.UI.getElStyle($Id("AcdImgBar1"),"borderBottomWidth",true,"border-bottom-width");this.DefaultPanelHeight=Math.round(b/this.PanelCount-a);this.MaxContentHeight=b-this.PanelCount*a+this.MaxPanelHeightAdjust;this.AcdPanel1=new this.AcdPanel("AcdPanel1",this.AcdBtn1,"Pane1","AcdImgBar1",this.DefaultPanelHeight);this.AcdPanel2=new this.AcdPanel("AcdPanel2",this.AcdBtn2,"Pane2","AcdImgBar2",this.DefaultPanelHeight);this.AcdPanel3=new this.AcdPanel("AcdPanel3",this.AcdBtn3,"Pane3","AcdImgBar3",this.DefaultPanelHeight);this.PanelArray=[this.AcdPanel1,this.AcdPanel2,this.AcdPanel3];this.AcdPanelMap=[];this.AcdPanelMap["AcdBtn1"]=this.AcdPanel1;this.AcdPanelMap["AcdBtn2"]=this.AcdPanel2;this.AcdPanelMap["AcdBtn3"]=this.AcdPanel3},GetPanelCount:function(){var b=0;for(var a=0;a<this.PanelArray.length;a++)if(!this.PanelArray[a].fHidden)b++;return b},HideAll:function(){for(var a=0;a<this.PanelArray.length;a++)this.PanelArray[a].Hide()},SetDefault:function(){for(var a=0;a<this.PanelArray.length;a++)this.PanelArray[a].SetDefault()},ClickAcd:function(d){var c=this.AcdPanelMap[d];for(var b=0;b<this.PanelArray.length;b++){var a=this.PanelArray[b];if(a==c){if(a.State=="normal"||a.State=="collapse")a.Expand(this.MaxContentHeight+a.MinHeight);else if(a.State=="expand"){this.SetDefault();break}}else a.Collapse()}},RefreshHeights:function(b){if(b)$Id("acdPanelCntr").style.height=b+"px";var d=JAM.UI.getElStyle($Id("acdPanelCntr"),"height",true);this.PanelCount=this.GetPanelCount();var f=0,c=JAM.UI.getElStyle($Id("AcdImgBar1"),"height",true)+JAM.UI.getElStyle($Id("AcdImgBar1"),"borderTopWidth",true,"border-top-width")+JAM.UI.getElStyle($Id("AcdImgBar1"),"borderBottomWidth",true,"border-bottom-width");this.DefaultPanelHeight=Math.round(d/this.PanelCount-c);this.MaxContentHeight=d-this.PanelCount*c-5;for(var a=0;a<this.PanelArray.length;a++){var e=this.PanelArray[a];e.ReRender()}}}}