var SHOW_POPUP_LABELS=false;function _(A){return(typeof (translations[A])!="undefined")?translations[A]:A}function _f(A,B){for(key in B){A=A.replace("{"+key+"}",B[key])}return A}var Obj={toQueryString:function(D){assert(D,"Obj.toQueryString: Argument is undefined.");var C=[];for(var B in D){var A=D[B];if(!A){if((typeof A=="undefined")||(A===null)){continue}if(A===false){A="false"}}C.push(B+"="+encodeURIComponent(A))}return C.join("&")}};function toQueryObject(B){var A={};$A(B.replace(/(^.*\?)|(#.*$)/g,"").split("&")).each(function(C){C=C.split("=");A[decodeURIComponent(C[0])]=decodeURIComponent(C[1])});return A}function truncate(B,A){if(B.length>A){B=B.split("");B.push(" ");loop=true;in_tag=tag_open=false;rep=0;trunc="";while(true){if(rep>=A&&!in_tag&&[" ","-","_","?","=","/","."].contains(B[rep])){break}if(B[rep]=="<"){in_tag=true}if(B[rep]==">"&&!tag_open){tag_open=true}else{if(B[rep]==">"&&tag_open){tag_open=in_tag=false}}trunc+=B[rep];rep++}trunc+="...";return trunc}else{return B}}var HistoryManager=(function(){var A=new Class({initialize:function(){this._currentLocation=this._getHash();if(window.ie){this.addState=this._addStateIE;this._iframe=new Element("iframe",{src:"javascript:'<html></html>'",styles:{"position":"absolute","top":"-1000px"}}).inject(document.body).contentWindow;$justForIE=function(E){this._getHash=function(){return E};this._monitorDefault.call(this);location.hash=E}.bind(this);var C=function D(){if(this._iframe&&this._iframe.document&&this._iframe.document.body){if(!this._iframe.document.body.innerHTML){this.addState(this._currentLocation,true)}$clear(C)}}.periodical(50,this)}else{if(window.webkit419){this._form=new Element("form",{method:"get"}).inject(document.body);this._historyCounter=history.length;this._stateHistory=[];this._stateHistory[history.length]=this._getHash();this.addState=this._addStateSafari;this._monitorSafari.periodical(250,this)}else{if(window.opera&&navigator.appVersion.toFloat()<9.5){this.addState=this._addStateDefault;$justForOpera=this._monitorDefault.bind(this);new Element("img",{src:"javascript:location.href='javascript:$justForOpera();';",style:"position: absolute; top: -1000px;"}).inject(document.body)}else{this.addState=this._addStateDefault;this._monitorDefault.periodical(250,this)}}}},getCurrentLocation:function(){return this._currentLocation},_getHash:function(){return location.href.split("#")[1]||""},_addStateIE:function(D,C){if(this._currentLocation==D&&!C){return }this._currentLocation=D;this._iframe.document.write("<html><body onload=\"top.$justForIE('",D.replace("'","\\'"),"');\">Loaded</body></html>");this._iframe.document.close()},_addStateSafari:function(C){if(this._currentLocation==C){return }this._form.setProperty("action","#"+C).submit();this._currentLocation=C;this._stateHistory[history.length]=this._getHash();this._historyCounter=history.length},_monitorSafari:function(){if(history.length!=this._historyCounter){this._historyCounter=history.length;this._currentLocation=this._stateHistory[history.length];this.fireEvent("onHistoryChange",[this._currentLocation])}},_addStateDefault:function(C){if(this._currentLocation==C){return }location.hash="#"+C;this._currentLocation=C},_monitorDefault:function(){var C=this._getHash();if(C!=this._currentLocation){this._currentLocation=C;this.fireEvent("onHistoryChange",[C])}}});A.implement(new Events);var B;return function(){return B?B:B=new A()}})();var BrowserHistory=new HistoryManager();var KeyCodes={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45};var Cookie={get:function(B,E){var G=document.cookie;if(G){var F=G.split(";");for(var C=0,A=F.length;C<A;C++){var D=F[C].trim().split("=");if(D[0]==B){return D[1]}}}return E||null},set:function(C,D,E){var A="";if(E){var B=new Date();B.setTime(B.getTime()+(E*24*60*60*1000));A="; expires="+B.toGMTString()}document.cookie=C+"="+D+A},clear:function(A){document.cookie=A+"= ; expires=Mon, 01-Jan-1999 00:00:00 GMT"}};var Params={get:function(B,C,F){if(!B){B=location.search}if(B){B=B.substring(1);var G=B.split("&");for(var D=0,A=G.length;D<A;D++){var E=G[D].trim().split("=");if(E[0]==C){return E[1]||F}}}return F||null}};function decodeHTMLEntities(C){var A=new Element("span",{"html":C});var B=A.get("text");delete A;return B}var Layout={width:0,height:0,_scratch:[0,0],getSize:function(A){if(!A){A=[]}if(typeof (window.innerWidth)=="number"){A[0]=window.innerWidth;A[1]=window.innerHeight}else{if(document.documentElement&&document.documentElement.clientWidth){A[0]=document.documentElement.clientWidth;A[1]=document.documentElement.clientHeight}else{if(document.body&&document.body.clientWidth){A[0]=document.body.clientWidth;A[1]=document.body.clientHeight}else{assert(false,"Don't know how to get window w x h")}}}return A},checkSize:function(){Layout.getSize(Layout._scratch);if((Layout.width==Layout._scratch[0])&&(Layout.height==Layout._scratch[1])){return }Layout.width=Layout._scratch[0];Layout.height=Layout._scratch[1];if(typeof Layout.resized=="function"){Layout.resized()}},init:function(){$(window).addEvent("resize",this.checkSize);this.checkSize();var B=$$("div.right")[0];if(B&&B.getSize().y>0){var A=$("tbl_3").getSize().y;B.setStyle("min-height",A)}}};if(typeof HTMLElement!="undefined"){if(HTMLElement.prototype.__defineGetter__){HTMLElement.prototype.__defineGetter__("innerText",function(){return(this.textContent)});HTMLElement.prototype.__defineSetter__("innerText",function(A){this.textContent=A})}}function assert(A,B){if(typeof (gDebug)=="undefined"){return }if(!A){alert("Assertion Failed: "+B)}}function isDebug(){return typeof (gDebug)!="undefined"}function isIE(){return !!(window.attachEvent&&!window.opera)}function isIE6(){return navigator.userAgent.indexOf("MSIE 6")>-1}function isIE7(){return navigator.userAgent.indexOf("MSIE 7")>-1}function isIE8(){return navigator.userAgent.indexOf("MSIE 8")>-1}function isGecko(){return navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")==-1}function isFlock(){return !!navigator.userAgent.match(/Flock/)}function isChrome(){return !!navigator.userAgent.match(/Chrome/)}function isWebKit(){return navigator.userAgent.indexOf("AppleWebKit/")>-1}function isSafari(){return !!navigator.userAgent.match(/Safari/)}function isSafari4(){return !!navigator.userAgent.match(/Version\/4.*Safari/)}function isMobileSafari(){return !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)}function isKonqueror(){return !!navigator.userAgent.match(/Konqueror/)}function isOpera(){return !!navigator.userAgent.match(/Opera/)}String.prototype.trim=function(){var A=this;A=A.replace(/^\s*(.*)/,"$1");A=A.replace(/(.*?)\s*$/,"$1");return A};String.prototype.htmlEncode=function(){var B=this;var A=B.length;var D="";for(var C=0;C<A;C++){var E=B.charAt(C);if(E=="&"){D+="&amp;"}else{if(E=="<"){D+="&lt;"}else{if(E==">"){D+="&gt;"}else{D+=E}}}}return D};function createMeaning(A){A.toElement=function(){var B=new Element("li");assert(this.display,"Meaning has no display property: "+this.query);B.innerHTML=this.display.htmlEncode();B.query=this.query;return B};return A}var gAjaxReq=null;function send(C){if(gAjaxReq){return }var B=C.q.trim();var A=Obj.toQueryString(C);location.href=(cpedia?"/wiki?":"/search?")+A}function doNav(A){var C=$(A).getElement(".url");gPopup.cancelSubmit=true;var B={u:C.innerText};track(logstr("nav",B));location.href="http://"+C.innerText}function track(G,A,F){if(!isDebug()){server="http://www.cuil.com"}else{server=""}if(document.images){var E=parseInt((new Date()).valueOf()/1000);var C=new Image();var B=server+"/static/images/log.gif?"+G+"&time="+E;C.src=B;if(typeof (A)!="undefined"){followLink=function(){$clear(H);window.location=A};if(!F){var H=followLink.delay(500);C.onload=followLink}else{var D=window.open();D.opener=null;D.document.location=A}}}}function logstr(B,C){assert(typeof B=="string","Parameter 'type' should be a string.");assert(typeof C=="object","Parameter 'info' should be an object.");var D={};for(var A in C){D[A]=C[A]}D.ty=B;return Obj.toQueryString(D)}function linkDownHandler(A){if(this.dest){var B=(this.get("target")||A.meta);track(this.track,this.dest,B);A.stop()}else{track(this.track)}}function attachLinkTracking(E,B,H){var C=$$(B);for(var D=0,A=C.length;D<A;D++){var F=C[D];if(typeof H!="function"){var G={q:true,t:F,a:F.get("text")}}else{var G=H(F)}if(G.q){G.q=gQuery}if(G.s){G.s=A}if(G.mn==true){G.mn=Params.get(null,"m");if(G.mn){G.mn=decodeURIComponent(G.mn)}}if(G.prov==true){G.prov=Params.get(null,"prov");if(G.prov){G.prov=decodeURIComponent(G.prov)}}if(G.t){G.t=G.t.href.replace(/#.*/,"")}oo={};for(prop in G){if(G[prop]){oo[prop]=G[prop]}}F.track=logstr(E,oo);(G.t)?F.dest=G.t:F.dest=false;$(F).addEvent("click",linkDownHandler)}}function Controller(K,Q,C){var E=$("bdy");var H=$("tab_no_js");if(H){H.setStyle("display","none")}this.doQuery=function(U,T){$("fld_q").value=U;if(T){var V={q:U,prov:T}}else{var V={q:U}}track(logstr("suggest",V));send(V)};function A(){attachLinkTracking("drill",".explore_link",function(T){return{q:true,t:T,mn:true,d:T.get("text")}})}function D(){attachLinkTracking("res",".web_result a[class!=facebook_share]",function(U){if($(U.parentNode).hasClass("web_result")){var V=U.parentNode.id.split("_")[1]}else{var V=U.parentNode.parentNode.id.split("_")[1]}var T=Params.get(null,"d");if(T){T=decodeURIComponent(T);T=gQuery.slice(T.length+1)}return{q:true,t:U,p:V,klass:U.className,mn:true,prov:true,d:T}})}function I(){attachLinkTracking("bc","a.breadcrumb_link",function(T){return{q:true,t:T,d:T.get("text"),s:true}})}function N(){attachLinkTracking("prov_tab",".media_bar a",function(T){return{q:true,t:T,mn:true,prov:T.get("text")}})}function B(){attachLinkTracking("spelling","#spell a",function(U){var T=U.get("text");return{q:true,t:U,suggestion:T}})}function P(){attachLinkTracking("tab",".tab a",function(U){var T=Params.get(U.search,"m");if(T){T=decodeURIComponent(T)}return{q:true,mn:T,prov:true}})}function M(U,X){U.innerHTML="";var Y=$("sel_more");if(Y){var b=$("no_js");if(b){b.setStyle("display","none")}var T=Y.options;var e=T.length;for(var d=0;d<e;d++){var W=T[d];if(W.value===""){continue}var a=createMeaning({display:W.text,query:W.value});U.appendChild(a.toElement())}addEndcap(U);$(X).setStyle("display","")}$(X).addEvent("click",function(){var h=$(X).getPosition();var g=U.offsetWidth;U.style.left=(h.x+X.offsetWidth-g-1)+"px";U.style.top=(h.y+X.offsetHeight)+"px";U.activate();return false});var Z=function(g){U.deactivate();g.stop()};var V=function(h){var g=h.target;if((g==X)||$(X).hasChild(g)||(g==U)||$(U).hasChild(g)){return }U.deactivate();h.stop()};var c=null;var f=function(h){var g=h.target;if($(g).get("tag")=="ul"){return }while($(g).get("tag")!="li"){g=g.parentNode}if($(g).hasClass("cap")){return }$(g).addClass("focused");if(c){$(c).removeClass("focused")}c=g};U.activate=function(){this.style.visibility="visible";$(document).addEvent("keydown",Z);$(document).addEvent("click",V);$(this).addEvent("mouseover",f)};U.deactivate=function(){c=null;this.style.visibility="hidden";$(document).removeEvent("keydown",Z);$(document).removeEvent("click",V);$(this).removeEvent("mouseover",f);for(var j=0,h=this.childNodes.length;j<h;j++){var g=this.childNodes[j];if($(g).get("tag")!="li"){continue}$(g).removeClass("focused")}};$(U).addEvent("click",function(h){h=h||window.event;var g=h.target;if($(g).get("tag")!="li"||!g.query){this.deactivate();return false}var i={q:gQuery,m:g.query,prov:true};track(logstr("tab",i));send(i);this.deactivate();return false})}function G(){var W=!isMobileSafari();var Y=!isMobileSafari();var V=!isMobileSafari();var T=16;function X(f){var d=f.target;if($(d).get("tag")=="input"||$(d).get("tag")=="textarea"){return }var c=f.code;var a=$("bdy");switch(c){case KeyCodes.KEY_UP:if(W){a.scrollTop-=T;f.stop()}return ;case KeyCodes.KEY_DOWN:if(W){a.scrollTop+=T;f.stop()}return ;case KeyCodes.KEY_LEFT:if(Y){var b=$("a_prev");if(!$(b).hasClass("off")){location.href=b.href}}return ;case KeyCodes.KEY_RIGHT:if(Y){var Z=$("a_next");if(!$(Z).hasClass("off")){location.href=Z.href}}return ;case 32:if(V){a.scrollTop+=6*T;f.stop()}return }}var U="keypress";if(isSafari()||isIE()){U="keydown"}document.addEvent(U,X)}function S(){var g=$("search_options");var Z=$$("#sel_lang option");if(Z.length==0){return }var W=[];var f=10;var j,h,X;Z.each(function(p,s){if(p.selected){X=p.value;window.current_lang=X;var o="lang_link selected";j=new Element("a",{"html":p.get("text").trim(),"id":"lang_main","href":"#","events":{"click":l}});var r=new Element("span",{"html":"▾","class":"combo"});j.grab(r)}else{var o="lang_link"}if(s>f-1&&!p.selected){return }var q=new Element("a",{"html":p.get("text").trim().replace(/\s/g,"&nbsp;"),"class":o,"href":"#","events":{"click":a}});q.store("value",p.value);W.push(q)});if(Z.length>f){var V=new Element("a",{"html":"See&nbsp;more...","class":"lang_link lang_more","href":"/prefs","events":{"click":k}});W.push(V)}var i=new Element("span",{"html":"|","class":"sep"});i.inject(g);j.inject(g);if(j.getSize().x<70){j.setStyle("width",50)}var T=new Element("div",{"id":"lang_popup"});var e=new Element("div",{"class":"inner"});var c=new Element("div",{"id":"shadow1"});var b=new Element("div",{"id":"shadow2"});T.adopt(b,c,e);T.visible=function(){if(T.getStyle("height").toInt()>0&&T.getStyle("visibility")=="visible"){return true}else{return false}};var Y=new Fx.Tween(T,{"transition":Fx.Transitions.Quad.easeOut,"property":"height","duration":250});T.inject(document.body);e.adopt(W);$(document.body).addEvent("click",(function(o){if(this.visible()){this.hide()}}).bind(T));function l(o){o.stop();if(T.visible()){d()}else{n(o)}}function n(q){h=q.target;if($(h).get("tag")=="span"){h=h.getParent()}var p=h.getPosition();var s=T.getSize();var r=h.getSize();t=h;var o=r.x+h.getFirst("span").getSize().x-7;b.setStyles({"width":o-2,"left":1});h.addClass("hover_active");T.setStyles({"left":p.x+3,"top":p.y+r.y,"width":o});Y.set(0);T.setStyle("visibility","visible");Y.start(0,s.y);return false}function d(){Y.start(0).chain(function(){T.setStyles({"visibility":"hidden","height":""})});h.removeClass.delay(500,h,"hover_active");return true}T.hide=d;function a(o){var q=this.retrieve("value");var p=window.location.href.split("#")[0];U(this);T.hide.delay(200);if(X!=q){Cookie.set("lang",q,"180");(function(){window.location.href=p}).delay(250)}return false}function U(p){var q={background:"#558CDC url(http://www.cuilimg.com/static/images/new/bg-popup-sel.png) repeat-x left bottom",color:"#fff",texecoration:"none"};var o={background:"#fff",color:"#484D4F"};p.setStyles(o);p.setStyles.delay(40,p,q);p.setStyles.delay(80,p,o);p.setStyles.delay(120,p,q);(function(){p.set("style","")}).delay(160);return true}function k(o){o.stop();m.bind(this)("/prefs")}function m(o){U(this);T.hide.delay(200);(function(){window.location.href=o}).delay(250)}}S();function R(){var W=new ExploreTips($$(".explore_link"),{interactable:true});var W=new CategoryTips($$(".category_explore_link, .category_more_hover"),{interactable:true});var T=new Tips($$(".category-query, .facebook_help_tip"),{offsets:{x:0,y:10}});var V=new FBRelatedTips($$(".fb-person, .fb-name"),{interactable:true,onShow:function(Y){if(Y.element.retrieve("tip:title")=="No description"){Y.tip.addClass("disabled")}else{Y.tip.removeClass("disabled")}Y.tip.setStyle("visibility","visible")},onHide:function(Y){old_fb_person_highlight=[];Y.tip.setStyle("visibility","hidden");$$(".fb-person-active").tween("border-color","#fff").removeClass("fb-person-active");$$(".fb-person-name-active").setStyle("text-decoration","none").removeClass("fb-person-name-active")}});var X=new FBTermTips($$(".fb_status .t"),{interactable:true});var U=new CpediaSourcePreview($$("a.source_link, span.sentence"))}var O=false;var J=$("ul_more");var L=$("tab_more");document.body.style.overflow="hidden";E.style.overflowY="auto";if(isIE()){E.style.height="10px"}Layout.resized=function(){if(isMobileSafari()){return }var W=this.height;var V=$("hdr").offsetHeight;var U=$("ftr").offsetHeight;var T=(W-U-V);E.style.height=T+"px";if(!O){return }J.style.visibility="hidden"};Layout.recalcLayout=Layout.resized;Layout.init();if(L){M(J,L)}var F=new ExploreController();F.init();initField($("fld_q"));D();A();I();N();B();R();$$(".cat_terms .more_link").addEvent("click",function(T){els=$(T.target).getParent().getParent().getElements("ul li.hidden");if(this.get("opened")=="true"){els.setStyle("display","none");this.set("text",_("More Items"));this.set("opened",false)}else{els.setStyle("display","block");this.set("text",_("Fewer Items"));this.set("opened",true)}});$$(".category-open").addEvent("click",function(){$$("ul.tiles.hidden").removeClass("hidden")});$("form_q").addEvent("submit",function(){if(gPopup){gPopup.hide();if(gPopup.cancelSubmit){gPopup.cancelSubmit=false;return false}}var T={q:$("fld_q").value};track(logstr("sub",T));return true});mobilelink=$("mobile")||false;if(mobilelink){$(mobilelink).addEvent("click",function(){Cookie.set("mobile_override","0","30")})}P();showPlugin();G();O=true}var Paging={currentPage:"",init:function(){BrowserHistory.addEvent("onHistoryChange",Paging.historyFlip);$$("#pages a.pagelink").addEvent("click",function(A){A.stop();BrowserHistory.addState("page="+this.get("text"));Paging.gotoPage(this.get("text"));return false});$("a_next").addEvent("click",function(A){if(!$("a_next").hasClass("off")){A.stop();nextpage=parseInt($$("#pages .sel").get("text"))+1;BrowserHistory.addState("page="+nextpage);Paging.gotoPage(nextpage)}return false});$("a_prev").addEvent("click",function(A){if(!$("a_prev").hasClass("off")){A.stop();nextpage=parseInt($$("#pages .sel").get("text"))-1;BrowserHistory.addState("page="+nextpage);Paging.gotoPage(nextpage)}return false});landedPage=BrowserHistory.getCurrentLocation().split("page=")[1]||false;if(landedPage&&Paging.currentPage!=landedPage){Paging.currentPage=landedPage;Paging.gotoPage(landedPage)}},historyFlip:function(A){Paging.gotoPage(A.split("page=")[1]||1)},gotoPage:function(A){if(has_visible_realtime){realtime_destroy()}Paging.currentPage=A;params=toQueryObject($("a_p"+(A-1)).get("href"));params["formatted"]=1;var B=new Request({method:"post",url:"/search",data:params,postBody:params,onComplete:function(C){data=JSON.decode(C);$("bdy").scrollTo(0);$$(".result_columns").destroy();$("tbl_3").grab(new Element("text",{"html":data.results}),"top");$("pages").destroy();$("ftr").grab(new Element("text",{"html":data.pagination}));$$(".right .advertising").destroy();if(data.advertising.length>0){$$(".right").grab(new Element("text",{"html":data.advertising[0]}),"top")}Paging.init();if(has_visible_realtime&&A==1){realtime_init();if(navigator.userAgent.indexOf("MSIE 6")>=0){hideRTSlider()}}}}).send()}};function initField(A){if(!isSafari()){return }$(A).addEvent("focus",function(B){$(A).addClass("fld_focused")});$(A).addEvent("blur",function(B){$(A).removeClass("fld_focused")})}function showPlugin(){var D=$("span_add_ext");var E=$("add_ext");var A=$("add_cpedia_ext");if(!D){return }var B=false;var F=false;if(isIE7()||isIE8()){name="Internet Explorer";if(isDebug()){B=true}else{try{if(E){B=window.external&&(window.external.IsSearchProviderInstalled("http://www.cuil.com")==0)}else{if(A){B=window.external&&(window.external.IsSearchProviderInstalled("http://www.cpedia.com")==0)}}}catch(C){B=true}}if(false){$("ie-accelerator").setStyle("display","inline");$("add_acc").addEvent("click",function(){window.external.AddService("http://www.cuil.com/static/accelerator.xml")})}}else{if(isGecko()){name="Firefox";if(E){B=window.external&&window.external.IsSearchProviderInstalled&&(window.external.IsSearchProviderInstalled("http://www.cuil.com")==0)}else{if(A){B=window.external&&window.external.IsSearchProviderInstalled&&(window.external.IsSearchProviderInstalled("http://www.cpedia.com")==0)}}}else{if(isChrome()){B=true;F=true;name="Chrome";(E||A).set("href","http://www.cuil.com/info/faqs/guides/chrome.php")}else{if(isSafari()){B=true;F=true;name="Safari";(E||A).set("href","http://www.cuil.com/info/faqs/guides/safari.php")}else{if(isOpera()){B=true;F=true;name="Opera";(E||A).set("href","http://www.cuil.com/info/faqs/guides/opera9.php")}else{if(isFlock()){name="Flock";if(E){B=window.external&&window.external.IsSearchProviderInstalled&&(window.external.IsSearchProviderInstalled("http://www.cuil.com")==0)}else{if(A){B=window.external&&window.external.IsSearchProviderInstalled&&(window.external.IsSearchProviderInstalled("http://www.cpedia.com")==0)}}}}}}}}if(B){if(!F){if(E){E.addEvent("click",function(){window.external.AddSearchProvider("http://www.cuil.com/static/plugin.xml");return false})}else{if(A){A.addEvent("click",function(){window.external.AddSearchProvider("http://www.cpedia.com/static/cpedia_plugin.xml");return false})}}}(E||A).getFirst("span").innerHTML=name;(D).setStyle("display","")}}var gAutoReq=null;function Popup(C){var K=new Element("ul",{"class":"popup","id":"menu_auto"});$(K).setStyle("display","none");$$("body")[0].grab(K);$(K).addEvent("mouseover",function(N){popup=$("advanced-description");if($(N.target).hasClass("help-tip")){popup.setStyle("left",$(N.target).getCoordinates().right+9);popup.setStyle("top",$(N.target).getCoordinates("").top-50);popup.setStyle("display","block")}});var M=this;var B=C.value;var G=null;function E(O){var N=O.code;switch(N){case KeyCodes.KEY_ESC:M.hide();O.stop();return ;case KeyCodes.KEY_UP:if(M.up()){O.stop()}return ;case KeyCodes.KEY_DOWN:if(M.down()){O.stop()}return ;case KeyCodes.KEY_RIGHT:if(G&&G.className.indexOf("nav")==-1){if(G.className.indexOf("cat")!=-1){C.value=getCategory(G)}else{C.value=G.innerHTML}O.stop()}return }}function F(O){var N=O.code;if(N==KeyCodes.KEY_RETURN){if(M.pick()){O.stop()}}else{if((N==KeyCodes.KEY_UP)||(N==KeyCodes.KEY_DOWN)){if(!O.charCode&&isGecko()){O.stop()}}}}function D(Q){var N=Q.code;if(N==KeyCodes.KEY_RETURN){return }if(this.value!=B){B=this.value;if(B.length<2){M.hide();return }if(gAutoReq){return }var R=Obj.toQueryString({q:this.value,lang:window.current_lang||"en",cpedia:cpedia});var O=gPrefix?"http://"+gPrefix+"."+document.domain:"";var P=gUseProxy?"/suggestproxy":"/suggest";gAutoReq=new Request({url:O+P,method:"get",data:R,postBody:R,onComplete:function(S){if(S&&S.trim()!=""){data=JSON.decode(S);categories=data.categories||false;M.set(data.suggests,data.navs,categories)}gAutoReq=null}}).send()}}function I(O){var N=O.target;if($(N).get("tag")=="ul"){return N}while($(N).get("tag")!="li"){N=N.parentNode}assert($(N).get("tag")=="li","elem is not LI: "+$(N).get("tag"));return N}function J(N){return($(N).get("tag")=="li")&&!$(N).hasClass("heading")&&!$(N).hasClass("cap")}function H(N){return $(N).hasClass("heading")}this.itemType=function(N){if($(N).hasClass("nav")){return"nav"}else{if($(N).hasClass("category")){return"cat"}else{return"suggest"}}};function A(){var O=K.childNodes;if(!O.length){return null}var N=O[0];if(H(N)){N=N.nextSibling}assert(N,"GetFirst: li is null.");return N}$(K).addEvent("click",function(O){O=O||window.event;var N=I(O);if(!J(N)){return false}L=true;M.pick(N);return false});$(K).addEvent("mouseover",function(O){O=O||window.event;var N=I(O);if(!J(N)){return false}M.select(N);return false});$(K).addEvent("mouseout",function(N){if(G){$(G).removeClass("focused");G=null}return true});this.show=function(){if(this.visible()){return }var N=$("fld_q");var O=$(N).getPosition();K.style.left=(O.x+11)+"px";K.style.top=(O.y+N.offsetHeight-7)+"px";K.style.display="";$(N).addEvent("keydown",E);$(N).addEvent("keypress",F)};this.hide=function(){if(!this.visible()){return }var N=$("advanced-description");if(N){N.setStyle("display","none")}K.style.display="none";G=null;$(C).removeEvent("keydown",E);$(C).removeEvent("keypress",F)};this.visible=function(){return"none"!=K.style.display};this.set=function(a,R,W){var Z=null;if(G){Z=G.innerText}G=null;var V="";var b=false;var Y=false;var U=false;if(R.length&&!cpedia){Y=true;V="";if(SHOW_POPUP_LABELS){V+='<li class="heading">'+_("Go directly to")+"...</li>"}for(var S=0,c=R.length;S<c;S++){var O=R[S];var P=O[0];var N="http://"+P+"/favicon.ico";V+='<li class="nav">';V+='<img src="'+N+'" />';V+="<div>"+O[1].htmlEncode()+"</div>";V+='<div class="url">'+P+"</div>";V+="</li>"}}MAX_ITEMS=(W.length)?4:9;if(a.length){b=true;var X=-1;if(SHOW_POPUP_LABELS){V+='<li class="heading">'+_("Common queries")+"...</li>"}num_results=(a.length<=MAX_ITEMS)?a.length:MAX_ITEMS;for(var T=0,Q=num_results;T<Q;T++){var d=a[T];if(Z==d){X=T}V+="<li>"+d+"</li>"}}if(W.length){U=true;V+='<li class="heading">'+_("Advanced Search")+'<small class="help-tip">'+_("Help")+"</small></li>";if(SHOW_POPUP_LABELS){V+='<li class="heading">'+_("Browse by category...")+"</li>"}num_results=(W.length<=4)?W.length:4;for(var T=0;T<num_results;T++){V+='<li class="category"><span class="hint">'+_("Category:")+" </span>"+W[T]+"</li>"}}K.innerHTML=V;this.show();addEndcap(K);if(!b&&!Y&&!U){K.innerHTML="";this.hide()}};var L=false;this.select=function(N,O){if(N==G){return }assert(!H(N),"Can't select a heading.");$(N).addClass("focused");if(G){$(G).removeClass("focused")}G=N;if(O){L=true}};this.up=function(){assert(this.visible(),"Shouldn't be getting an up request when menu is hidden.");var N=G;if(!N){return true}var O=N.previousSibling;if(!O){return true}else{if(H(O)){O=O.previousSibling;if(!O){return true}}}assert(O,"Previous item is null.");this.select(O,true);return true};this.down=function(){assert(this.visible(),"Shouldn't be getting a down request when menu is hidden.");var N=G;if(!N){N=A();if(!N){return false}this.select(N,true);return true}var O=N.nextSibling;if(!O){return true}else{if(H(O)){O=O.nextSibling}else{if($(O).hasClass("cap")){return true}}}assert(O,"Next item is null.");this.select(O,true);return true};this.pick=function(N){assert(this.visible(),"Picked shouldn't be called when menu is hidden.");if(!L){return false}L=false;N=N||G;if(!N){return }assert(J(N),"Trying to pick something that's not item.");if(typeof this.itemPicked=="function"){this.itemPicked(N)}this.hide();return true};$(C).addEvent("keyup",D);$(C).addEvent("blur",function(N){setTimeout(function(){M.hide()},300);N.stop()});$(C).addEvent("keydown",function(){M.cancelSubmit=false})}function addEndcap(D){var G=new Element("li",{"class":"cap"});var C=new Element("canvas");if(!C.getContext){D.setStyle("border-bottom","1px solid #D4D4D4");return }var E=D.offsetWidth;if(!(E>0)){return }var A=7;C.setAttribute("width",E);C.setAttribute("height",2*A);if(C.getContext){var B=C.getContext("2d");B.beginPath();B.arc(A,-2,A,Math.PI,Math.PI/2,true);var F=E-A;B.lineTo(F,5);B.arc(F,-2,A,Math.PI/2,0,true);B.closePath();B.fillStyle="#f5f5f5";B.fill();B.strokeStyle="#a8a8a8";B.stroke()}G.appendChild(C);D.appendChild(G)}function ExploreController(){this.toggle_state=0;var C=this;this.init=function D(){var F=$("show_more");if(F){F.addEvent("click",C.toggle_tiles.bind(C))}C.tiles=$$(".tile");C.hidden_tiles=$$(".tile.hidden");var E=$$(".show_more_meanings");E.each(function(G){G.store("toggled",0);G.addEvent("click",C.toggle_meanings)})};this.toggle_tiles=function A(){var E=$("show_more");if(this.toggle_state==1){this.hidden_tiles.each(function(F){F.setStyle("display","none")});this.toggle_state=0;if(E){E.innerHTML=_("More Categories")}}else{this.hidden_tiles.each(function(F){F.setStyle("display","block")});this.toggle_state=1;if(E){E.innerHTML=_("Fewer Categories")}}};this.toggle_meanings=function B(){if(this.retrieve("toggled")){var E=$(this.parentNode).getElement(".hidden");E.setStyle("display","none");this.store("toggled",0);this.innerHTML=_("See more")+"&nbsp;&raquo;"}else{var E=$(this.parentNode).getElement(".hidden");E.setStyle("display","inline");this.store("toggled",1);this.innerHTML="&laquo;&nbsp;"+_("See fewer")}}}var Tips=new Class({Implements:[Events,Options],options:{onShow:function(A){if(A.element.retrieve("tip:title")=="No description"){A.tip.addClass("disabled")}else{A.tip.removeClass("disabled")}A.tip.setStyle("visibility","visible")},onHide:function(A){A.tip.setStyle("visibility","hidden")},showDelay:250,hideDelay:300,className:"tip_wrapper",offsets:{x:0,y:1},fixed:true,interactable:false,direction:"down"},initialize:function(){var A=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(A.options||null);if(!A.elements||A.elements.length==0){return }this.tip=new Element("div").setStyle("display","none").inject(document.body);if(this.options.className){this.tip.addClass(this.options.className)}this.container=new Element("div",{"class":"tip"}).inject(this.tip);this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden",display:""});if(A.elements){this.attach(A.elements)}},attach:function(A){$$(A).each(function(E){var H=E.retrieve("tip:title",(E.get("title"))?E.get("title"):"No description");var G=E.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,E));var D=E.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,E));E.addEvents({mouseenter:G,mouseleave:D});if(this.options.interactable){var C=this.tipEnter.bindWithEvent(this,E);var F=this.tipLeave.bindWithEvent(this,E);this.tip.addEvents({mouseenter:C,mouseleave:F})}if(!this.options.fixed){var B=E.retrieve("tip:move",this.elementMove.bindWithEvent(this,E));E.addEvent("mousemove",B)}E.store("tip:native",E.get("title"));E.erase("title")},this);return this},detach:function(A){$$(A).each(function(C){C.removeEvent("mouseenter",C.retrieve("tip:enter")||$empty);C.removeEvent("mouseleave",C.retrieve("tip:leave")||$empty);C.removeEvent("mousemove",C.retrieve("tip:move")||$empty);C.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");var B=C.retrieve("tip:native");if(B){C.set("title",B)}});return this},elementEnter:function(B,A){this.event=B;$clear(this.timer);if(A==this.element){return }this.timer=this.show.delay(this.options.showDelay,this,A)},elementLeave:function(B,A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this,A)},tipEnter:function(B,A){$clear(this.timer)},tipLeave:function(B,A){this.elementLeave(B,A)},elementMove:function(A){this.position(A)},position:function(D){var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F])>B[F]||(F=="y"&&this.options.direction=="up")){G=D.page[F]-E[F]-this.options.offsets[F]}this.tip.setStyle(C[F],G)}},fill:function(A,B){(typeof B=="string")?A.set("html",B):A.adopt(B)},setContent:function(A){this.fill(this.container,A)},show:function(A){this.element=A;$A(this.container.childNodes).each(Element.dispose);var B=A.retrieve("tip:title");if(B){this.setContent(B)}this.position(this.event);this.fireEvent("show",{"tip":this.tip,"element":A})},hide:function(A){this.element=null;this.fireEvent("hide",{"tip":this.tip,"element":A})}});var ExploreTips=new Class({Extends:Tips,initialize:function(){this.options.ajaxDelay=0;this.options.img_box=50;this.parent.apply(this,arguments)},setContent:function(E){var F=(E.desc!="No description");this.more_link="/search?q="+encodeURIComponent(E.query)+"&d="+encodeURIComponent(gQuery);var C=new Element("a",{href:this.more_link,html:E.title});var H=new Element("h3",{"class":"title"});attachLinkTracking("drill",C,function(I){return{q:true,t:I,mn:true,d:I.get("text"),klass:"tooltip"}});H.grab(C);H.inject(this.container);if(E.img&&F){if(E.img){var D=E.img.x;var A=E.img.y;if(E.img.x>this.options.img_box||E.img.y>this.options.img_box){var G=this.options.img_box/Math.max(E.img.x,E.img.y);D=Math.floor(E.img.x*G);A=Math.floor(E.img.y*G)}}var B=new Element("img",{"src":E.img.url,"width":D,"height":A});B.inject(this.container)}if(F){this.container.appendText(E.desc)}this.loading=new Element("div",{"class":"loading"});this.loading.inject(this.container);this.fetchHits(E.query)},show:function(A){this.element=A;$A(this.container.childNodes).each(Element.dispose);this.setContent(category_attributes[this.element.id]);this.position(this.event);this.fireEvent("show",{"tip":this.tip,"element":A})},fetchHits:function(A,B){if($type(this.ajax_timer)=="number"){$clear(this.ajax_timer)}if(this.request){this.request.cancel()}if(!B){var B="drilldown"}this.request=new Request.JSON({url:"/api?num_results=3&type=min&"+B+"=1&q="+A,method:"get",onSuccess:this.appendHits.bind(this)});this.ajax_timer=this.request.send.delay(this.options.ajaxDelay,this.request)},appendHits:function(B){if(!this.element){return }var A=B;var D=this;this.loading.dispose();if(A.results.length==0){return }this.hit_container=new Element("div",{"class":"hits","html":"<h4>"+_("Top Results")+"</h4>"});this.hit_container.inject(this.container);A.results.each(function(J){var H=J.url.replace(/http:\/\//i,"");if(H.length>=45){H=H.substr(0,44)+"..."}var K=new Element("div",{"class":"hit"});var F=new Element("a",{"class":"title","href":J.url,"html":J.plain_title});var G=new Element("br");var I=new Element("p",{"class":"snippet","html":truncate(J.plain_snippet,80)});var E=new Element("a",{"class":"url","href":J.url,"html":H});F.store("drill",D.element.get("text"));E.store("drill",D.element.get("text"));attachLinkTracking("res",[F,E],function(L){return{q:true,t:L,klass:"tooltip",mn:true,prov:true,d:L.retrieve("drill")}});K.adopt([F,G,I,E]);D.hit_container.grab(K)});var C=new Element("a",{href:this.more_link,html:_("More results"),"class":"more_link"});attachLinkTracking("drill",C,function(E){return{q:true,t:E,mn:true,d:E.get("text"),klass:"tooltip"}});C.inject(this.hit_container);this.fix_positioning()},fix_positioning:function(){var A=this.tip.getCoordinates();var B=window.getSize();if(A.bottom>=B.y-10){this.tip.setStyle("top",B.y-A.height-10)}if(A.right>=B.x-10){this.tip.setStyle("left",B.x-A.width-10)}}});var CategoryTips=new Class({Extends:ExploreTips,show:function(A){this.element=A;$A(this.container.childNodes).each(Element.dispose);this.setContent(inside_category_attributes[$(A).getParent("li").getElement("h3 a").id]);this.position(this.event);this.fireEvent("show",{"tip":this.tip,"element":A})}});var FBRelatedTips=new Class({Extends:ExploreTips,setContent:function(D){this.more_link=D.profile_url;var B=new Element("a",{href:this.more_link,html:D.name});var E=new Element("h3",{"class":"title"});E.grab(B);E.inject(this.container);var C="their";if(D.gender.toLowerCase()=="m"){C="his"}if(D.gender.toLowerCase()=="f"){C="her"}if(D.pic_small==""){D.pic_small="/static/v2/images/facebook/default_pic_50.gif"}if(D.profile_url){var A='<div class="fb_tip_content"><a href="'+D.profile_url+'"><img src="'+D.pic_small+'" /></a><p>'+D.name+" mentioned <strong>"+D.query+"</strong> on "+C+" Facebook profile in the "+D.context+' section.</p><p class="tips_bottom_links"><a target="_blank" href="http://www.facebook.com/inbox/?compose&id='+D.id+'">Send message</a> | <a target="_blank" href="'+D.profile_url+'">View profile</a></p><div class="bottom_spacer"></div><div class="clear"></div></div>'}else{var A='<div class="fb_tip_content"><img src="'+D.pic_small+'" /><p>'+D.name+" mentioned <strong>"+D.query+"</strong> on "+C+" Facebook profile in the "+D.context+' section.</p><p class="tips_bottom_links"><a target="_blank" href="http://www.facebook.com/inbox/?compose&id='+D.id+'">Send message</a></p><div class="bottom_spacer"></div><div class="clear"></div></div>'}details=new Element("div",{html:A});details.inject(this.container)},show:function(A){this.element=A;$A(this.container.childNodes).each(Element.dispose);this.setContent(fb_related[this.element.id.split("_")[1]]);this.position(this.event);this.fireEvent("show",{"tip":this.tip,"element":A})},position:function(D){old_fb_highlighted_img.each(function(H){H.tween("border-color","#fff").removeClass("fb-person-active")});old_fb_highlighted_name.each(function(H){H.setStyle("text-decoration","none").removeClass("fb-person-name-active")});old_fb_person_highlight=[];var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F])>B[F]||(F=="y"&&this.options.direction=="up")){G=D.page[F]-E[F]-this.options.offsets[F]}this.tip.setStyle(C[F],G)}}});var FBTermTips=new Class({Extends:ExploreTips,setContent:function(B){this.more_link="/search?q="+encodeURIComponent(B);var A=new Element("a",{href:this.more_link,html:'Results for "'+B+'"'});var C=new Element("h3",{"class":"title"});C.grab(A);C.inject(this.container);this.loading=new Element("div",{"class":"loading"});this.loading.inject(this.container);this.fetchHits(B)},show:function(A){this.element=A;$A(this.container.childNodes).each(Element.dispose);this.setContent(this.element.get("text"));this.position(this.event);this.fireEvent("show",{"tip":this.tip,"element":A})}});var CpediaSourcePreview=new Class({Implements:[Options],options:{ajaxDelay:400},Binds:["setContent","scrollSidebar"],initialize:function(B,A){this.setOptions(A);var C=this;if(!B||B.length==0){return }this.triggers=B;this.last_trigger=null;this.first_run=true;this.mobile_safari=isMobileSafari();this.static_right_col=$("static_right_col");this.static_right_col.set("tween",{duration:150,onComplete:function(D){if(D.getStyle("opacity")==0){D.setStyle("display","none")}}});this.triggers.each(function(D){D.addEvents({mouseover:function(E){C.ajax_timer=C.setContent.delay(C.options.ajaxDelay,C,this)},mouseout:function(E){if($type(C.ajax_timer)=="number"){$clear(C.ajax_timer)}if(C.request){C.request.cancel();C.last_trigger=null}if(C.loading&&!C.visible){C.element.slide("out");C.loading.dispose();C.loading=null;C.last_trigger=null;C.static_right_col.fade("in");C.first_run=true}}})});this.element=$("source_preview");this.content_wrapper=$("source_preview_wrapper");this.element.set("slide",{duration:500,transition:Fx.Transitions.Quint.easeOut});this.element.get("slide").wrapper.setStyle("width",this.element.getSize().x);this.element.slide("hide");this.visible=false;this.right_col_content=$("right_col_content");this.tweening=false;this.right_col_content.set("tween",{property:"margin-top",duration:300,transition:Fx.Transitions.Quad.easeInOut,onStart:function(){this.tweening=true}.bind(this),onComplete:function(){this.tweening=false}.bind(this)});if(this.mobile_safari){this.bdy=document.body}else{this.bdy=$("bdy")}this.last_scroll=null;this.scroll_height=this.bdy.getScrollSize().y},scrollSidebar:function(A){this.last_scroll=this.bdy.getScroll().y;(function(){var B=this.bdy.getScroll().y;var C=this.scroll_height-this.right_col_content.getSize().y-60;if(B==this.last_scroll&&!this.tweening&&(B==0||B>40)){if(B==0){var D=B}else{var D=(this.mobile_safari?B-120:B-40)}this.right_col_content.get("tween").start(Math.min(D,C)).chain(function(){if($type(A)=="function"){A()}})}}).delay(500,this)},show:function(){this.element.slide("in");this.visible=true},hide:function(){this.element.get("slide").slideOut().chain(function(){this.content.dispose()}.bind(this));this.visible=false;this.loading=null;this.last_trigger=null;this.static_right_col.setStyle("display","block");this.static_right_col.fade("in");this.right_col_content.get("tween").start(0);this.first_run=true},setContent:function(B){var C=B.id.split("_");var D=C[1];var A=C[2];if(B.get("tag")=="span"){this.trigger=$("sourcelink_"+D+"_"+A)}else{this.trigger=B}if(this.trigger==this.last_trigger){return }this.last_trigger=this.trigger;if(!this.loading&&!this.visible){this.loading=new Element("div",{"class":"loading"});this.loading.inject(this.element,"top");if(this.first_run){this.first_run=false;this.element.get("slide").slideIn();this.static_right_col.fade("out")}else{this.element.slide("show")}}this.fetchSource(D,A);this.scrollSidebar()},fetchSource:function(C,A){if($type(this.ajax_timer)=="number"){$clear(this.ajax_timer)}if(this.request){this.request.cancel()}var B=$H({q:gQuery,disambig:gMeaning,source:C,sentence:A,method:"preview"});this.request=new Request.JSON({url:"/api/wiki?"+B.toQueryString(),method:"GET",onSuccess:this.appendContent.bind(this),onFailure:function(){if(!this.visible){this.hide()}}.bind(this)});this.request.send()},appendContent:function(B){if(this.loading){this.loading.dispose();this.loading=null}this.request=null;if(B.status>0){var C="<p><i>"+B.title+"</i></p>"}else{var F=B.source_preview;var C='<div class="infobox_wrapper"><div class="infobox_outer"><div class="infobox_inner"><a href="#" id="source_preview_hide">Hide</a><h3 class="title">Top Source for '+this.trigger.get("text")+'</h3><p><strong><a href="http://'+F.url+'">'+F.title+"</a></strong></p><p>"+F.paragraph+'</p><p class="url-wrap rs" style="margin-bottom:16px;"><a class="url" href="http://'+F.url+'">'+truncate(F.link,30)+'</a></p><p class="source_preview_more_link"><a href="'+this.trigger.href+'">More sources</a></p></div></div></div>'}var A=new Element("div",{html:C});A.setStyle("opacity",0);var E=(function(){A.inject(this.content_wrapper);$("source_preview_hide").addEvent("click",function(G){G.stop();this.hide()}.bind(this));A.set("tween",{property:"opacity",duration:150});A.get("tween").start(1).chain(function(){this.scrollSidebar()}.bind(this));this.content=A;this.show()}).bind(this);if(this.content){var D=new Fx.Tween(this.content,{property:"opacity",duration:150});D.start(0).chain(function(){this.content.dispose();E()}.bind(this))}else{E()}}});function getCategory(A){return A.innerHTML.replace(new RegExp('<span class=("){0,1}hint("){0,1}>'+_("Category:")+" </span>","i"),"category:").replace(/\s/gi,"-")}function initCollapsedProviders(){var B=$$(".collapsed_title a");B.each(function(C){var D=A(C);if(D){D.setStyle("opacity",0);C.store("folded-block",D);C.store("init-action",C.onclick);C.onclick=null;C.addEvent("click",function(H){var J=this.getParent("h2");var I=this.retrieve("folded-block");var F=this.retrieve("init-action");var G=I.getFirst(".collapsed_inner").getSize().y;J.setStyle("overflow","hidden");J.morph({"height":0,"padding-bottom":0,"margin-bottom":0,"opacity":0});I.set("morph",{onComplete:E.bind(this)});I.morph({"height":G,"opacity":1});function E(){I.setStyle("overflow","visible");if($type(F)=="function"){F()}}if(this==B.getLast()){$("provider_wrapper").morph({"border-bottom":0,"padding-bottom":0,"margin-bottom":0})}})}});function A(C){var E=C.id.split("--")[1];var D=$("collapsed--"+E);if(D){return D}else{return false}}}window.addEvent("load",initCollapsedProviders);function pluralize(C,B,A){if(C==1){var D=B}else{if(A){var D=A}else{var D=B+"s"}}return C+" "+D}String.prototype.singularize=function singularize(){var A=this.toLowerCase();if(A.slice(A.length-1,A.length)=="s"){return this.slice(0,A.length-1)}else{return this}};var old_fb_highlighted_img=[];var old_fb_highlighted_name=[];Facebook=new Class({Binds:["comment","comment_send","login"],initialize:function(){this.process_status=$("fb-home-status")||$(document.body).getElement(".fb_banner_text")||false;this.granted_perms=null;this.dismiss=$("fb_dismiss");if(typeof (gQuery)!="undefined"){this.is_home=false;this.spinner='<img src="/static/images/spinner_fb.gif" />';this.banner=$("fb_banner")}else{this.is_home=true;this.spinner='<img src="/static/v2/images/facebook/homepage_load.gif" />';this.banner=$("facebook-home-login")}if(this.banner){if(this.dismiss){if(this.is_home){var A="facebook-home-inner-wrapper"}else{var A="fb_banner"}this.dismiss.addEvent("click",function(B){B.stop();new Fx.Slide(A,{duration:300,transition:Fx.Transitions.Cubic.easeOut,mode:"vertical",onComplete:(function(){if(this.is_home){$("fld_q").focus()}}).bind(this)}).slideOut();Cookie.set("fbdismiss","1",720)})}}$$(".fb-person").each(function(B){var D=B.id.split("_")[1];var C=$("fbname_"+D);B.store("fbname",C);C.store("fbimg",B);B.set("tween",{duration:250});C.addEvent("mouseover",function(E){old_fb_highlighted_img=$$(".fb-person-active");old_fb_highlighted_name=$$(".fb-person-name-active");this.retrieve("fbimg").tween("border-color","#3F82FF");this.retrieve("fbimg").addClass("fb-person-active");this.setStyle("text-decoration","underline");this.addClass("fb-person-name-active")});B.addEvent("mouseover",function(E){old_fb_highlighted_img=$$(".fb-person-active");old_fb_highlighted_name=$$(".fb-person-name-active");this.retrieve("fbname").setStyle("text-decoration","underline");this.retrieve("fbname").addClass("fb-person-name-active");this.tween("border-color","#3F82FF");this.addClass("fb-person-active")})});$$(".fb_like_status").addEvent("click",function(B){B.stop();this.like(B.target.getParent(".fb_status"))}.bind(this));$$(".fb_comment_status").addEvent("click",function(B){B.stop();this.comment(B.target.getParent(".fb_status"))}.bind(this));$$(".facebook_comment_submit").addEvent("click",function(B){B.stop();this.comment_send(B.target.getParent(".fb_status"))}.bind(this))},load:function(){if(!window["FB"]){var A=new Element("script",{src:"http://connect.facebook.net/en_US/all.js",type:"text/javascript",async:true});$$("head").grab(A)}else{this.login()}},init_fb:function(){FB.init({appId:CUIL_FACEBOOK_API_KEY,status:true,cookie:true,xfbml:true});var A=FB.getSession();if(A){var B=FB.Data.query("select offline_access, read_stream, publish_stream from permissions where uid='"+A.uid+"'");B.wait((function(C){this.add_perms(C[0])}).bind(this))}FB.Event.subscribe("auth.sessionChange",function(C){if(C.perms){this.add_perms(C.perms)}});if($("facebook-details")){$("facebook-logout").addEvent("click",(function(C){C.stop();FB.logout();Cookie.set("fbuid","",-3600);window.location.reload(true)}).bind(this))}if(Cookie.get("fbuid")){this.perform(function(){if(this.is_home){this.initProfileBox()}else{FB.api("/me",{fields:"link"},function(C){$("fb-loggedin-profile-link").set("html",'<a href="'+C.link+'">Your Profile</a> &#183; ')})}}.bind(this),function(){Cookie.set("fbuid","",-3600)})}},abort:function(B){this.banner.setStyle("display","block");B["method"]="abort";var C=Obj.toQueryString(B);var A=new Request.JSON({method:"post",url:"/facebook",data:C}).send()},add_perms:function(A){if(!this.granted_perms){this.granted_perms=new Hash()}if($type(A)=="string"){A.split(",").each(function(B){this.granted_perms[B]=true},this)}else{if($type(A)=="object"){$H(A).each(function(C,B){this.granted_perms[B]=C},this)}}},has_perms:function(C){if(!this.granted_perms){return false}var B=C.split(",");for(var A=0;A<B.length;A++){if(!this.granted_perms[B[A]]){return false}}return true},perform:function(B,A){FB.getLoginStatus((function(C){if(C.session){B(C)}else{this.perform_with_perms("",B,A)}}).bind(this))},perform_with_perms:function(B,C,A){if(this.has_perms(B)){C();return }FB.login((function(D){if(D.session){if(D.perms){this.add_perms(D.perms);C(D)}else{if(A){A(D)}}}else{if(A){A(D)}}}).bind(this),{perms:B})},share:function(A,B){this.perform(function(){FB.api("/me/feed","post",{link:B.href,name:B.name,description:B.description,message:"What do you think of this site?"},function(D){A.setStyle("display","none");var C=new Element("span",{"class":"facebook_shared",text:"Shared on Facebook"});C.inject(A,"before")})})},comment:function(A){this.perform_with_perms("publish_stream",function(B){this.comment_open(A)}.bind(this),function(B){this.abort({"step":"publish_stream","action":"comment"})}.bind(this))},comment_open:function(B){B.getElement(".fb_query_loading").setStyle("display","block");var A=B.getElement(".facebook_id").get("value");var E=B.getElement(".facebook_message").get("value");var C="SELECT post_id FROM stream WHERE source_id = "+A+' AND message = "'+decodeHTMLEntities(E).replace('"','\\"')+'"';var D=FB.Data.query(C);D.wait(function(F){if(!F||typeof (F[0])=="undefined"){B.getElement(".fb_query_loading").setStyle("display","none");this.statuserror(B)}else{B.getElement(".fb_query_loading").setStyle("display","none");B.getElement(".fb_comment_status_form").setStyle("display","block")}}.bind(this),(function(){B.getElement(".fb_query_loading").setStyle("display","none");this.statuserror(B)}).bind(this))},comment_send:function(C){C.getElement(".facebook_comment_submit").addClass("fb_button_disabled");var B=C.getElement(".facebook_comment_input").get("value");var A=C.getElement(".facebook_id").get("value");var F=C.getElement(".facebook_message").get("value");var D="SELECT post_id FROM stream WHERE source_id = "+A+' AND message = "'+decodeHTMLEntities(F).replace('"','\\"')+'"';var E=FB.Data.query(D);E.wait(function(G){if(!G||typeof (G[0])=="undefined"){alert("There was an error communicating with Facebook, please try again later.");return }FB.api("/"+G[0].post_id+"/comments",{method:"post",message:B},function(H){if(H!=null){C.getElement(".facebook_comment_input").set("value","");C.getElement(".fb_comment_status_form").setStyle("display","none")}else{alert("There was an error communicating with Facebook, please try again later.")}C.getElement(".facebook_comment_submit").removeClass("fb_button_disabled")})},function(){alert("There was an error communicating with Facebook, please try again later.")})},like:function(A){this.perform_with_perms("publish_stream",function(B){this.like_send(A)}.bind(this),function(B){this.abort({"step":"publish_stream","action":"like"})}.bind(this))},like_send:function(B){var A=B.getElement(".facebook_id").get("value");var E=B.getElement(".facebook_message").get("value");B.getElement(".fb_query_loading").setStyle("display","block");var C="SELECT post_id FROM stream WHERE source_id = "+A+' AND message = "'+decodeHTMLEntities(E).replace('"','\\"')+'"';var D=FB.Data.query(C);D.wait((function(F){if(!F||typeof (F[0])=="undefined"){B.getElement(".fb_query_loading").setStyle("display","none");this.statuserror(B);return }FB.api("/"+F[0].post_id+"/likes",{method:"post"},function(G){B.getElement(".fb_query_loading").setStyle("display","none");if(G==true){B.getElement(".fb_like_status").addClass("fb_like_status_submitted")}else{alert("There was an error communicating with Facebook, please try again later.")}B.getElement(".fb_query_loading").setStyle("display","none")})}).bind(this),function(){alert("There was an error communicating with Facebook, please try again later.")})},statuserror:function(A){var B=A.getElement(".fb_query_error");B.setStyle("display","block");B.set("morph",{"duration":2000});B.morph({"color":"#000"});A.getElement(".fb_status_setters").setStyle("display","none")},checkuser:function(){var C=FB.getSession();var B={"method":"check_user","uid":C.uid,"session_key":C.session_key};Cookie.set("tmp_fbuid",C.uid,false);var A=new Request.JSON({method:"post",url:"/facebook",data:B,onComplete:function(D){if(D.new_user){this.process_status.set("html",this.spinner+"Indexing your friend data, please wait...");this.adduser()}else{Cookie.set("fbuid",C.uid+"%"+D.mac,false);if(this.is_home){this.showHomeSamples()}else{this.process_status.set("html",this.spinner+"Welcome back! Refreshing your results...");Cookie.clear("tmp_fbuid");window.location.reload(true)}}}.bind(this)}).send()},adduser:function(){var C=FB.getSession();var B={"method":"add_user","uid":C.uid,"session_key":C.session_key};var A=new Request.JSON({method:"post",url:"/facebook",data:B,onComplete:function(D){if(D.status){Cookie.set("fbuid",C.uid+"%"+D.mac,false);if(this.is_home){this.showHomeSamples()}else{this.process_status.set("html",this.spinner+"Success! Refreshing your results...");Cookie.clear("tmp_fbuid");href=window.location.pathname+window.location.search;window.location=href+"&fbdone=1"}}else{this.process_status.set("html",'Sorry, an error has occured. Please <a href="/info/contact_us/feedback/feedback?subject=Facebook%20Error">report this problem to us</a>, or try again.');this.abort({"step":"cuil.add_user","fbuid":C.uid})}}.bind(this)}).send()},login:function(){FB.getLoginStatus((function(A){if(!A.session){this.process_status.set("html",this.spinner+"Requesting profile access...");if(!this.popupsOK()){this.process_status.set("html","Oops! The Facebook login window was blocked. Please disable your popup blocker and try again.");this.abort({"step":"popups_blocked"});return }this.perform_with_perms("offline_access,read_stream",function(B){this.process_status.set("html",this.spinner+"Access granted! Checking your details...");this.checkuser()}.bind(this),function(B){this.process_status.set("html","Sorry, we need profile access to index your data!");this.abort({"step":"offline_access,read_stream"})}.bind(this))}}).bind(this))},popupsOK:function(){var A=window.open("","","width=1,height=1,left=0,top=0,scrollbars=no");if(A){A.close();return true}else{return false}},showHomeSamples:function(){var A=$("facebook-home-inner-wrapper");A.set("slide",{duration:"150",transition:Fx.Transitions.Cubic.easeOut,mode:"vertical"});this.initProfileBox.delay(2000,this,function(){return A.get("slide").slideOut()})},initProfileBox:function(B){var A=$("fb-home-profile");A.set("slide",{duration:"300",transition:Fx.Transitions.Cubic.easeOut,mode:"vertical"});FB.api("/me",{fields:"name,picture,link"},function(D){var C=new Element("img",{src:D.picture,width:50,height:50,alt:"Profile Picture"});$("fb-profile-pic").grab(C);$("fb-user-name").set("text",D.name);$("fb-loggedin-profile-link").set("html",'<a href="'+D.link+'">Your Profile</a> &#183; ');$("facebook-logout").addEvent("click",function(E){E.stop();Cookie.clear("fbuid");FB.logout();window.location.reload(true)});A.get("slide").hide();A.setStyle("display","inline");if($type(B)){B().chain(function(){A.slide.delay(300,A,"in")})}else{A.slide("in")}Cookie.clear("tmp_fbuid");$("fld_q").focus()})}});cuil_facebook=new Facebook();window.fbAsyncInit=function(){cuil_facebook.init_fb();function A(){if(FB.login){cuil_facebook.login()}else{A.delay(100)}}A.delay(100)};window.addEvent("domready",function(){if(Cookie.get("fbuid")){cuil_facebook.load()}try{pending_disclosures.each(function(C){new Disclosure(C.a,C.c,{inline:C.i,parent_tag:C.t})})}catch(A){}var B=$("hide_cpedia_notice");if(B){B.addEvent("click",function(D){D.stop();var C=this.getParent("div");new Fx.Slide(C,{duration:300,transition:Fx.Transitions.Cubic.easeOut,mode:"vertical"}).slideOut()})}});var Disclosure=new Class({Implements:[Options],options:{inline:false,parent_tag:null},Binds:["clickedActuator"],initialize:function(C,B,A){this.setOptions(A);this.actuator=$(C);this.actuator_parent=this.actuator.getParent(this.options.parent_tag);this.content=$(B);if(this.options.inline){if(!Browser.Engine.trident){this.content.setStyle("opacity",0)}}else{this.content.setStyle("opacity",0);this.inner_block=this.content.getFirst(".hidden_inner");this.end_height=this.inner_block.getSize().y}this.actuator.addEvent("click",this.clickedActuator)},clickedActuator:function(A){if(this.options.inline){this.actuator_parent.setStyle("display","none");this.content.setStyle("display","inline");if(!Browser.Engine.trident){this.content.morph({"opacity":1})}}else{this.actuator_parent.morph({"height":0,"padding-bottom":0,"margin-bottom":0,"opacity":0});this.content.set("morph",{onComplete:function(){this.content.setStyle("height","auto")}.bind(this)});this.content.morph({"height":this.end_height,"opacity":1})}}})