﻿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}},Array:{indexOf:function(b,c){for(var a=0;a<b.length;a++)if(b[a]==c)return a;return -1}},String:{trim:function(a){return a.replace(/^\s+|\s+$/g,"")},isNonEmpty:function(a){return JAM.Obj.hasValue(a)&&typeof a==="string"&&a.length>0},replace:function(c,b,a){return c.split(b).join(a)},shorten:function(d,b,c){var a=this.trim(d);if(a.length>b){a=a.substr(0,c?b:b-3);if(!c)a+="..."}return a},toDBC:function(c){var a=[];for(var b=0;b<c.length;b++)if(c.charCodeAt(b)==12288)a[a.length]=String.fromCharCode(32);else if(c.charCodeAt(b)>65248&&c.charCodeAt(b)<65375)a[a.length]=String.fromCharCode(c.charCodeAt(b)-65248);else a[a.length]=c.charAt(b);return a.join("")},sanitize:function(a,c){var b=2e3;if(a.length>=b)a=a.substr(0,b);a=a.replace(/(?:&[#A-Za-z0-9]+;)|(?:[\\/<>\(\)\t%])/g,"");if(!c)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){a=encodeURIComponent(a);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(e,c,d){var b=null;function a(){if(arguments.callee.done)return;arguments.callee.done=true;if(b)clearInterval(b);e.apply(c,[d])}if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,false);if(/WebKit/i.test(navigator.userAgent))var b=setInterval(function(){if(/loaded|complete/.test(document.readyState))a()},10);window.onload=a}}};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(a)a=JAM.String.replace(a,"+"," ");if(g_fIE)window.onbeforeunload=function(){if(location.hash!="#")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"),$Id("vertCntr",true),$Id("wtrMark",true));else this.MainInputCtrl=null;this.AudioCtrl.init($Id("playerCntr"));this.DymCtrl.init($Id("dym_content"));this.FdbckCtrl.init($Id("fdbckwin"));this.TopHatCtrl.init($Id("navlinks",true));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:{maxBtnCls:"sprite_v2maxbtn",rstrBtnCls:"sprite_v2rstrbtn",dictMainBaseName:"dictmain",hrefQueryTempl:'<a title="点击获取释义" style="{STYLE}" href="#{ESC_TERM}" onClick="Lingo.processQuery(\'{ESC_TERM}\'); 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){var d="#*#",b="<br/>",c=a.indexOf(b)!=-1;if(c)a=JAM.String.replace(a,b,d);a=a.replace(/\b([A-Z\-a-z]{3,})\b/g,'<a class="embedQ" title="点击获取释义" href="#$&" onClick="Lingo.processQuery(\'$&\'); return false;">$&</a>');if(c)a=JAM.String.replace(a,d,b);return 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(!JAM.String.isNonEmpty(a))if(this.TabCtrl.tabCount()===0)a=this._strTable.navHome;else return;var b,e;if(a.length<=200){var c=a.match(/(.+)(?: vs[.]? | pk )(.+)|(.+)同(.+)对比/im);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();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))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(this.inflateQuery(a)));if(this.currentVPage&&this.currentVPage.queryStr!=a)this.processQuery(a)}},onSearchBtnClick:function(a){if(a)JAM.Events.cancelEventBubble(a);Lingo.processQuery(Lingo.MainInputCtrl.getTextSanitized())},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.className==this._strTable.maxBtnCls){b=true;a.className=this._strTable.rstrBtnCls}else if(a.className==this._strTable.rstrBtnCls){b=false;a.className=this._strTable.maxBtnCls}this.renderPartialVPageDefMoreLess(d,c,!b)},onToggleMoreSen:function(a){var b=false,d=this.getDictMainNumFromChildEl(a),c=this.getDictMainEl(d);if(a.className==this._strTable.maxBtnCls){b=true;a.className=this._strTable.rstrBtnCls}else if(a.className==this._strTable.rstrBtnCls){b=false;a.className=this._strTable.maxBtnCls}if(b)this.maximizeSenArea(c);else this.restoreDictAreas(c)},showDefLangView:function(c,a){var d=Lingo.uiCache("dl_cross",a,null,true),e=Lingo.uiCache("dl_homo",a,null,true),b=Lingo.uiCache("defInnerCntr",a);if(c=="homo"){if(e)e.checked=true;this.DefCtrl.renderHomoLang(b)}else if(c=="cross"){if(d)d.checked=true;this.DefCtrl.renderCrossLang(b)}},onSetDefLangView:function(b,c){var e=this.currentVPage,a=this.getDictMainEl(c);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(b,a){var d="post",c="io.aspx",e=this;JAM.Ajax.open(d,c,b,function(d,c,b){a.apply(b,[d,c,b])},function(){setTimeout(function(){JAM.Ajax.open(d,c,b,function(d,c,b){a.apply(b,[d,c,b])},function(b,a){window.location.href="oops.aspx?lgi="+a.status},e)},1e3)},e)},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(){})},renderPartialVPageDefMoreLess:function(a,b,d){if(d)a.getUiState(b).maximizedDictArea=null;else a.getUiState(b).maximizedDictArea=Lingo.EDictAreas.def;if(a.getData(b).ROOT.DEF){this.renderDefLoading(a,b);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)})}}else this.renderVPage(a)},deflateQuery:function(a){if(a&&a.length&&a.length>200){if(!this._queryTable)this._queryTable=[];var b=JAM.Array.indexOf(this._queryTable,a);if(b==-1){this._queryTable.push(a);b=this._queryTable.length-1}return "_"+b}return a},inflateQuery:function(a){var c=a;if(a&&a.charAt&&a.charAt(0)=="_")if(this._queryTable){var b=parseInt(a.substr(1),10);if(!isNaN(b)){var d=this._queryTable[b];if(d)c=d}}return c},renderVPage:function(a){if(a!=this.TabCtrl.selectedTab.vPage)return;this.currentVPage=a;this.renderVPageStaticHtml(a);JAM.History.push(this.deflateQuery(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.DymSideCtrl.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.restore();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.tryWaterMark();this.MainInputCtrl.focus()}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),f=Lingo.uiCache("defBarMaxBtn",a),p=Lingo.uiCache("defBarMic",a),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_cross",a,"input",true),w=Lingo.uiCache("dl_homo",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.className=this._strTable.maxBtnCls;f.className=this._strTable.maxBtnCls},renderDictSidePanelDynamics:function(b){this.PhraseCtrl.fMoreView=true;this.ThesCtrl.fMoreView=true;this.DymSideCtrl.fMoreView=true;var c=null,e=null,d=null;if(b.ROOT){c=b.ROOT.THES;e=b.ROOT.PHRASES;d=b.ROOT.SUGGS}var a=this.AcdCtrl;if(a){a.SetDefault();this.ThesCtrl.init(a.AcdPanel1,c);this.PhraseCtrl.init(a.AcdPanel2,e);this.DymSideCtrl.init(a.AcdPanel3,d)}},renderDictMainAreaDynamics:function(H,a,b,d,e,r){var K=Lingo.uiCache("dynsentdata",a,"div"),L=Lingo.uiCache("sentInnerCntr",a,"div"),M=Lingo.uiCache("dictInfl",a,"span"),u=Lingo.uiCache("defInnerCntr",a,"div"),B=Lingo.uiCache("sentarea",a),C=Lingo.uiCache("sentLoad",a),A=Lingo.uiCache("dictarea",a),F=Lingo.uiCache("defLoad",a),x=Lingo.uiCache("dyndefdata",a),g=Lingo.uiCache("sentBarMaxBtn",a),j=Lingo.uiCache("defBarMaxBtn",a),J=Lingo.uiCache("defBarProns",a),m=Lingo.uiCache("defBarMic",a),l=Lingo.uiCache("defBarTitle",a),D=Lingo.uiCache("selCat",a),z=Lingo.uiCache("selDiff",a),E=Lingo.uiCache("selSrc",a),s=Lingo.uiCache("defBarStemFyi",a,"span",true),k=Lingo.uiCache("chkAlign",a,"input",true),n=Lingo.uiCache("reportBad",a,null,true),f=Lingo.uiCache("defLangViewBtns",a,"span",true),G=Lingo.uiCache("dl_cross",a,null,true),p=Lingo.uiCache("dl_homo",a,null,true);g.style.display=d.fSenOnlyMode?"none":"";j.style.display="";var q={};if(!b.ROOT)return;var c="";if(b.ROOT.$INPUT)c=b.ROOT.$INPUT;else c=e;if(c){c=c.split("<br/>").join(" ");c=JAM.String.shorten(unescape(c),42);JAM.UI.setElText(l,c);l.alt=l.title=e;if(s&&!b.ROOT.SMT&&"ZH-CN"!="EN-US"&&e.toLowerCase()!=c.toLowerCase())s.innerHTML="[跳转自 "+e+"]"}if(G)G.disabled=p.disabled=D.disabled=z.disabled=E.disabled=false;if(n){n.innerHTML=H.flagged?Lingo._strTable.reportThxMsg:Lingo._strTable.reportMsg;n.style.display="block"}if(k){k.disabled=false;k.checked=Lingo._settings.senAlign.alignQuery}if(b.ROOT.SMT){F.style.display="none";x.style.display="block";if(f)f.style.display="none";var I=160;this.SmtCtrl.init(u,b.ROOT.SMT,e);if(e.length>=I){d.maximizedDictArea=Lingo.EDictAreas.def;j.style.display="none"}var y=this.applyDictAreasSplit(a,r);q.dictPercent=y}C.style.display="none";K.style.display="block";this.SenCtrl.init(L,b.ROOT.SENTS,Lingo._settings.senAlign);if(b.ROOT.SENTS){JAM.Dom.optionByValue(D,b.ROOT.SENTS.$CAT).selected=true;JAM.Dom.optionByValue(z,b.ROOT.SENTS.$DIFF).selected=true;JAM.Dom.optionByValue(E,b.ROOT.SENTS.$SRC).selected=true}if(b.ROOT.DEF){F.style.display="none";x.style.display="block";var o=null;if(b.ROOT.DEFMORE&&b.ROOT.DEFMORE.$ON)o=b.ROOT.DEFMORE;else o=b.ROOT.DEF;this.DefCtrl.init(u,o,H.queryStr);var h=false;if(this.DefCtrl.onlyHasHomoDefs()){this.showDefLangView("homo",a);h=true}else if(this.DefCtrl.onlyHasCrossDefs()){this.showDefLangView("cross",a);h=true}else{var w="cross";try{var i=JAM.Cookie.read("dfl");if(i=="cross"||i=="homo")w=i}catch(N){}this.showDefLangView(w,a)}if(f)f.style.display=h?"none":"block";if(p)p.parentNode.lastChild.nodeValue=!h&&b.ROOT.$LANG=="en"?"英英":"汉汉";var y=this.applyDictAreasSplit(a,r);q.dictPercent=y;this.InfCtrl.init(M,b.ROOT.INFS,d.selectedInfl)}if(b.ROOT.PROS)this.PronCtrl.init(J,b.ROOT.PROS);if(b.ROOT.AH)if(b.ROOT.$LANG=="en"){m.style.display="block";m.title="点击朗读";m.onmousedown=function(){Lingo.AudioCtrl.play(b.ROOT.AH.$,false)}}var t=b.ROOT.DEF||b.ROOT.SMT,v=b.ROOT.SENTS&&b.ROOT.SENTS.$TOTAL!="0";if(v&&!t){d.maximizedDictArea=Lingo.EDictAreas.sen;g.style.display="none"}if(!v&&!t){C.style.display="none";d.maximizedDictArea=Lingo.EDictAreas.sen;g.style.display="none"}if(d.maximizedDictArea==Lingo.EDictAreas.def){j.className=this._strTable.rstrBtnCls;B.style.display="none";A.style.height="100%"}else if(d.maximizedDictArea==Lingo.EDictAreas.sen){g.className=this._strTable.rstrBtnCls;A.style.display="none";B.style.height="100%"}return q},applyDictAreasSplit:function(b,c,i){var a=null;if(i&&this.currentVPage.getUiState(this.getDictMainNum(b)).maximizedDictArea)return;if(c)a=c;else{var e=Lingo.uiCache("defInnerCntr",b),f;f=e.offsetHeight+JAM.UI.getElTop(e,b)+18;var k=b.offsetHeight;a=this.calcDictAreaSplitPerc(f,k);if(a>50)a=50}var h=Lingo.uiCache("sentarea",b,"div"),g=Lingo.uiCache("dictarea",b,"div"),j=a+"%",d=100-a+"%";if(j!=g.style.height)g.style.height=a+"%";if(d!=h.style.height)h.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},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)c=a.getData().ERR.$;$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:{hasEverWaterMarked:false,_mainInputCtrlEl:null,_suggCntrEl:null,_wtrMrkEl:null,_inputCntrEl:null,_regEx:new RegExp,_suggItems:[],_suggSelectedIndex:-1,_suggestionTimer:null,_lastReceivedSuggId:-1,_lastSentSuggId:-1,_multiLine:false,init:function(e,f,g,j,d,h){e.className="normalInputText";this._mainInputCtrlEl=e;this._suggCntrEl=g;this._wtrMrkEl=h;this._inputCntrEl=f;this._inputCntrEl.style.visibility="";if(d){var c=d.getElementsByTagName("A");for(var b=0;b<c.length;b++){var a=c[b];a.origHref=a.href;var i=this;a.onclick=function(){this.href=this.origHref+encodeURIComponent(i.getTextSanitized())}}}},setText:function(a,b){this._fDontTrigPropChangeEvt=true;this.tryClearWaterMark(a);this._mainInputCtrlEl.value=a;if(b)this.select();this._mainInputCtrlEl.scrollTop=0;this._fDontTrigPropChangeEvt=false},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"},restore:function(){if(!this.isReady())return;this.hideSuggsUI();this.singleLine();this._mainInputCtrlEl.scrollTop=0;this._mainInputCtrlEl.style.backgroundColor=""},onBlur:function(){if(!this.isReady())return;this.restore();this.tryWaterMark()},onFocus:function(){this.focus()},focus:function(){if(!this.isReady())return;if(this.isWaterMarked())try{this._mainInputCtrlEl.focus()}catch(a){}else this.select()},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()||this._multiLine)return;this._suggCntrEl.style.display="block"},isSuggsUIVisible:function(){return !!(this.isReady()&&this._suggCntrEl.style.display=="block")},onKeyDown:function(b){Lingo.TabCtrl.hideTabTip(true);this.tryClearWaterMark();var a=window.event?window.event.keyCode:b.which;if(!this._multiLine)if(a==38){this._selPrevSugg();return false}else if(a==40){if(!this.isSuggsUIVisible())this.runAutoComplete();else this._selNextSugg();return false}else this._suggSelectedIndex=-1;if(a==27){this.setText("");this.restore();return false}},onKeyPress:function(a){if(!this.isReady())return;var b=window.event?window.event.keyCode:a.which;if(b==13&&!a.shiftKey){Lingo.onSearchBtnClick(a);return false}},fieldExpando:function(){var a=this;if(!a.isReady())return;if(a._triggerHeight==null)a._triggerHeight=JAM.UI.getElStyle(a._mainInputCtrlEl,"height",true)*1.5;if(a._mainInputCtrlEl.scrollHeight>=a._triggerHeight)a.multiLine();else a.singleLine()},multiLine:function(){if(!this._multiLine){this._fDontTrigPropChangeEvt=true;this._multiLine=true;this._mainInputCtrlEl.scrollTop=0;this.hideSuggsUI();var a=this._mainInputCtrlEl;a.className="multiLineEx";a.parentNode.className="shadow";this._fDontTrigPropChangeEvt=false}},singleLine:function(){if(this._multiLine){this._fDontTrigPropChangeEvt=true;this._multiLine=false;var a=this._mainInputCtrlEl;a.className="normalInputText";a.parentNode.className="";this._fDontTrigPropChangeEvt=false}},onMouseDown:function(){this.tryClearWaterMark();this.fieldExpando()},tryClearWaterMark:function(){if(this.isWaterMarked())if(this._wtrMrkEl)this._wtrMrkEl.style.display="none"},tryWaterMark:function(){if(!this.hasText()){this.hasEverWaterMarked=true;if(this._wtrMrkEl)this._wtrMrkEl.style.display=""}},isWaterMarked:function(){if(this._wtrMrkEl)return this._wtrMrkEl.style.display!="none";return false},onPropertyChange:function(){if(!this.isReady()||this._fDontTrigPropChangeEvt)return;this.fieldExpando();this.runAutoComplete()},runAutoComplete:function(b){if(!this.isReady()||this._multiLine)return;if(!b)b=this.getTextSanitized();if(b.match(/\r\n/g))return;if(this._suggestionTimer!=null){clearTimeout(this._suggestionTimer);this._suggestionTimer=null}if(b.length==0){this.hideSuggsUI();return}var a=this;this._suggestionTimer=setTimeout(function(){if(b&&b.length>0){var c="q="+encodeURIComponent(b)+"&t=sug&ut="+ ++a._lastSentSuggId;Lingo.serverAsyncReq(c,function(d){if(!a._suggestionTimer)return;var b=JAM.Json.parse(d);a._suggItems=null;if(b&&b.ACS&&b.ACS.$ID){var c=parseInt(b.ACS.$ID,10);if(c>a._lastReceivedSuggId)if(b.ACS.AC){a._suggItems=b.ACS.AC;a._renderSuggItems();a._lastReceivedSuggId=c}else a.hideSuggsUI()}})}},400)},_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)this.setText(JAM.URL.decode(a.replace(/{#\*|\*\$}/g,"")))},_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 b=[],c=this._suggItems;if(c.$)b[b.length]=this._getSuggItemHtml(c.$,0,a==0,c.$I);else for(var d=0;d<c.length;d++){var e=c[d];b[b.length]=this._getSuggItemHtml(e.$,d,d==a,e.$I)}this._suggCntrEl.innerHTML=b.join("")},_getSuggItemHtml:function(f,e,d,c){var b="suggItem";if(d)b="suggItemSelected";var a=unescape(f).replace(/{#\*/g,"<span class='suggHlight "+b+"'>");a=a.replace(/\*\$}/g,"</span>");if(c)a=a+"<span class='suggDef "+b+"'>"+unescape(c)+"</span>";return "<div class='"+b+"' onmouseover=\"Lingo.MainInputCtrl._renderSuggItems("+e+")\" onmousedown='Lingo.MainInputCtrl._onSuggItemExec()'>&nbsp;"+a+"</div>"}},TopHatCtrl:{init:function(d){if(!d)return;var a=[];if(g_fIE)a[a.length]='<a href="#" onClick="try{window.external.AddFavorite(\'http://www.engkoo.com/?mkt=ZH-CN&FORM=EKFAV\', document.title);}catch(err){};return false;">书签</a> | ';a[a.length]='<a href="./tools.aspx?mkt=ZH-CN" target="_blank">工具</a> | <a href="./help.aspx?mkt=ZH-CN" target="_blank">帮助</a> | ';var e="ZH-CN"=="ZH-CN"?"English":"简体中文",b="lngswtchr";a[a.length]="<a id='"+b+"'>"+e+"</a>";d.innerHTML=a.join("");var c=$Id(b,true),f=this;if(c)c.onclick=function(){this.href="/?mkt=EN-US#"+encodeURIComponent(JAM.String.shorten(Lingo.currentVPage.getQuery(),175,true))}}},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/clr.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,e){var a="";if(e){var f=b.$POS;a=a+f+".<br/>"}var d;if(b.S)if(b.S.length)for(var c=0;c<b.S.length;c++){if(!e&&c>4)break;d=unescape(b.S[c].$);a=a+"<li>"+Lingo.getInternalQueryHtml(d)+"</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(!e&&c>4)break;d=unescape(b.A[c].$);a=a+"<li>(反义词) "+Lingo.getInternalQueryHtml(d)+"</li>"}else a=a+"<li>(反义词) "+Lingo.getInternalQueryHtml(unescape(b.A.$))+"</li>";if(e)a=a+"<br/>";return a}},DymSideCtrl:{_acdPane:null,_dymObj:null,fMoreView:false,init:function(b,a){this.clear();this._acdPane=b;this._dymObj=a;this.render()},clear:function(){if(this._acdPane)this._acdPane.RenderHtml("");this._dymObj=null},render:function(){var a="",b=this._dymObj,c=this.fMoreView;if(!b||!b.SP&&!b.PY&&!b.PH)this._acdPane.Hide();else{a="<div style='width:auto;height:auto;margin-top:7px;padding-left:22px'>";if(b.PY){if(b.PH||b.SP)a=a+"音转字:<br/>";a=a+this._getInnerDymSecHtml(b.PY,c)+"<br/>"}if(b.PH){if(b.SP||b.PY)a=a+"音近词:<br/>";a=a+this._getInnerDymSecHtml(b.PH,c)+"<br/>"}if(b.SP){if(b.PY||b.PH)a=a+"形近词:<br/>";a=a+this._getInnerDymSecHtml(b.SP,c)}a=a+"</div>"}this._acdPane.RenderHtml(a)},_getInnerDymSecHtml:function(a,d){var b="";if(a)if(!a.I.length)b=b+this._getInnerDymItemHtml(a.I,this.fMoreView);else for(var c=0;c<a.I.length;c++){if(!d&&j>4)break;b=b+this._getInnerDymItemHtml(a.I[c],this.fMoreView)}return b},_getInnerDymItemHtml:function(a){var b="";b="<p style='padding:2px 0px 2px 0px; margin:0'>"+(a.$AH?Lingo.AudioCtrl.getHtml(a.$AH,false,6,"margin-right:7px"):"")+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://cn.bing.com/search?FORM=ENKHL&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(e&&e.I)a+="<h2 style='background-image:url(img/dympinyin.gif)'>音转字</h2>"+this.getSuggCompHtml(e.I);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);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(b){var d=unescape(b.$),a=b.$L;if(a=="PY")a="";else a+=": ";var c="<span style='color:#4F6985; font-size:75%'>"+a+"</span>["+d+"]&nbsp;&nbsp;";return c}},InfCtrl:{_inflCntrEl:null,_inflHashTable:null,_selInfl:null,_objInput:null,_noneMsg:"&nbsp;&nbsp;(无相关结果)",_inflPreHtml:"<span class='inflTxt'>词形变化</span>",init:function(b,a,c){this._inflCntrEl=b;this._selInfl=c;this._objInput=a;this.clear();if(a)this.populateFromObj(a);else b.innerHTML=this._inflPreHtml+this._noneMsg},clear:function(){if(this._inflCntrEl)this._inflCntrEl.innerHTML="";this._inflHashTable={}},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:{adj:"形容词",cp:"比较级",pp:"过去分词",pt:"过去时",pat:"过去式",pl:"复数",prp:"现在分词","3pps":"第三人称单数现在时",prt:"第三人称单数现在时",s:"单数",sp:"最高级"},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+=": ";else a=""}return this._inflLinkStrPrefix+b+'"'+d+this._inflLinkStrOnClickPre+b+this._inflLinkStrOnClickPost+a+unescape(b)+c+this._inflLinkStrPostFix}},SmtCtrl:{init:function(i,b,g){var j=b.Q.$,f=b.R.$,c=160,a=true;if(b.$FROM=="9"&&b.$TO=="4")a=false;if(a)a=g.length<=c;var k=Lingo.AlignMan.getBiPairHtml(f,j,null,null,null,b.$WA,1,{alignQuery:a,alignOnHover:a,fShowAsPlainList:true}),l='<img src="img/gears.png" width="38px" height="39px" />',h="<span style='font-size:10pt; font-weight:normal; color:#DD7207'>计算机翻译:</span><br/><div style='border-top:dotted 1px silver; height:auto'>"+k+"</div>",d="<div class='defGroup'><div class='defPos'>{POS}</div><div class='defCnt' style='padding-left:16px'>{DEF}</div></div>",e=d.replace("{POS}",l).replace("{DEF}",h);i.innerHTML=e}},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];b[b.length]=this._htmlizeSenseGroupObj(e)}else b[b.length]=this._htmlizeSenseGroupObj(a.SENS);else b[b.length]="&nbsp;&nbsp;<span style='color:gray; font-size:10pt'>无相关结果</span>";this._state._defCntrEl.innerHTML=b.join("")},_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>"}return senseGroupHtml=this._defGroupHtmlTempl.replace("{POS}",f).replace("{DEF}",d)},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 b=[],e=d&&d.fShowAsPlainList;b[b.length]=!e?"<ol>":"";if(a&&a.SEN)if(!a.SEN.length)b[b.length]=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 c=0;c<a.SEN.length;c++)b[b.length]=Lingo.AlignMan.getBiPairHtml(a.SEN[c].EN.D.$,a.SEN[c].CN.D.$,a.SEN[c].EN.S.$,a.SEN[c].CN.S.$,a.SEN[c].EN.P.$,parseInt(a.SEN[c].$WA,10),c+1,d);else b[b.length]="&nbsp;&nbsp;<span style='color:gray; font-size:10pt'>无相关结果</span>";b[b.length]=!e?"</ol>":"";this._state._renderEl.innerHTML=b.join("")}},AlignMan:{_animeIntervalID:null,_alignTagsToAnimateList:null,_lastAnimeAlignTag:null,_animeSpeedMs:350,getBiPairHtml:function(a,b,h,q,m,n,p,g){var f=null,j=null,l=null,k=null;if(g){f=g.alignQuery;j=g.alignOnHover;l=g.fShowAsPlainList;k=g.fAnimate}var d=JAM.String.replace;if(!f&&!j)a=Lingo.getInternalQueryHtmlForEmbeddedEngWords(a);a=d(a,"{#*","<b><span class='hlight'>");a=d(a,"*$}","</span></b>");b=d(b,"{#*","<b><span class='hlight'>");b=d(b,"*$}","</span></b>");a=d(a,"{##*",f?"<span class='xLangHlight'>":"");a=d(a,"*$$}",f?"</span>":"");b=d(b,"{##*",f?"<span class='xLangHlight'>":"");b=d(b,"*$$}",f?"</span>":"");if(k)this._alignTagsToAnimateList=[];var o=a.length,i;for(var e=1;e<=n;e++){i=o+"-"+e+"-"+p;a=d(a,"{"+e+"#",this._getWdAlignStartTag(i,j));a=d(a,"$"+e+"}","</span>");b=d(b,"{"+e+"#",this._getWdAlignStartTag(i,j,k));b=d(b,"$"+e+"}","</span>");if(k)this._alignTagsToAnimateList[this._alignTagsToAnimateList.length]=i}var c=[];c[c.length]=!l?"<li class='sentPair'>":"";c[c.length]="<span class='sent_en'>"+unescape(a)+"</span>";if(m)c[c.length]=Lingo.AudioCtrl.getHtml(m,true,7,"margin-left:3px");c[c.length]="<br/><span class='sent_cn'>"+unescape(b)+"</span><br/>";if(h){h=unescape(h);c[c.length]="<a class='sent_src' target='_blank' href='"+h+"'>"+JAM.String.shorten(h,85)+"</a>"}c[c.length]=!l?"</li>":"";return c.join("")},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="<i class='sprite_pointer' style='position:absolute;left:3px;top:15px;visibility:hidden'></i>";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},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("i"),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.className="mainInputCntrTabView";this._suggCntrEl.className="shadow suggInTabView";if(this._suggFrameEl)this._suggFrameEl.className="suggInTabView"}}},prepareFullView:function(){if(this._fCenterHomepageWhenTabless){this._homeMainCntrEl.style.paddingTop="124px";if(this._logoEl){this._logoEl.style.top="77px";this._logoEl.style.left="330px";this._logoEl.className="sprite_logohp"}if(this._mainInputCntrEl){this._mainInputCntrEl.className="mainInputCntrHpView";this._suggCntrEl.className="shadow suggInHpView";if(this._suggFrameEl)this._suggFrameEl.className="suggInHpView"}}},nextPic:function(){var a=g_hpData.hp;if(a.album.selectedIndex<a.album.pic.length-1)a.album.selectedIndex++;else a.album.selectedIndex=0;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 f=b.album.pic,d="";if(b.album.selectedIndex>0)d="<a title='上一张' href='#' onmousedown='Lingo.HomePageCtrl.prevPic(); return false'>«</a>";var h="<a title='下一张' href='#' onmousedown='Lingo.HomePageCtrl.nextPic(); return false'>»</a>",i=this;a.onclick=function(){i.nextPic()};a.style.cursor="pointer";a.title="下一张";$Id("homeAlbumChooser").innerHTML="<span style='line-height:20px'>"+d+"&nbsp;"+"<span style='font-size:12px'>"+(b.album.selectedIndex+1)+"/"+f.length+"</span>"+"&nbsp;"+h+"</span>";var c=f[b.album.selectedIndex];$Id("homeAlbumInfoArea").innerHTML=Lingo.getInternalQueryHtml(c.lg1.$)+"&nbsp;"+Lingo.AudioCtrl.getHtml(c.lg1audioc.$,false,7)+"<br/>"+"<span style='color:gray'>"+c.lg2.$+"</span>";a.style.backgroundImage="url(img/load.gif)";var g=new Image,e=c.picUrl.$;g.onload=function(){a.style.backgroundImage="url("+e+")"};g.src=e},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||c.more.url.$.indexOf(".mspx")!=-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.word.$,e="<span style='padding-left:5px'>"+Lingo.getInternalQueryHtml(l)+"</span>";if(a.wd.audioc)e+=Lingo.AudioCtrl.getHtml(a.wd.audioc.$,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/clr.gif",_uiTabCombBreakBtnSrc:"img/break.gif",_uiOTabInnerHtml:"<i class='oTabImgTl sprite_v2otabtl'></i><i class='oTabImgTr sprite_v2otabtr'></i><span class='oTabContTxt'></span>",_uiHTabInnerHtml:"<i class='hTabImgTl sprite_v2mtabtl'></i><i class='hTabImgTr sprite_v2mtabtr'></i><span class='hTabContTxt'></span><img src='img/clr.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+2);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)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,d=this._tabCtrlRef.isSelectedTab(this);if(d){if(this.uiTabDivEl.className!=="htab sprite_v2mtabbg"){this.uiTabDivEl.className="htab sprite_v2mtabbg";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 sprite_v2otabbg";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).className=this.ExpandImgSrc};this.Collapse=function(){this.State="collapse";$Id(this.BtnId).className=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.rstrBtnCls,Lingo._strTable.maxBtnCls);this.AcdBtn2=new this.AcdBtn("AcdBtn2","normal",Lingo._strTable.rstrBtnCls,Lingo._strTable.maxBtnCls);this.AcdBtn3=new this.AcdBtn("AcdBtn3","normal",Lingo._strTable.rstrBtnCls,Lingo._strTable.maxBtnCls);this.PanelCount=3;var b=JAM.UI.getElStyle(c,"height",true),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 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-5);this.MaxContentHeight=d-this.PanelCount*c-5;for(var a=0;a<this.PanelArray.length;a++){var e=this.PanelArray[a];e.ReRender()}}}}