registerNamespace("Msn.XP.GenLinks.Link");Msn.XP.GenLinks.Link=function(p_el,p_args,p_namespace){Msn.XP.GenLinks.Link.initializeBase(this,arguments);var me=this;var keyw=me._element.innerText.trim();var menu=null;var hide_pMS=1500;var src=null;var toElement=null;var type=null;var timeoutID=null;this.initialize=function(p_owner){Msn.XP.GenLinks.Link.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,p_owner);me.registerFor("Msn.XP.GenLinks.Menu",menuCallback,document.documentElement);};this.dispose=function(p_blnUnload){me._element.detachEvent("onmousover",activate);me._element.detachEvent("onfocus",activate);me._element.detachEvent("onmouseout",deactivate);me._element.detachEvent("onkeydown",keyCapture);me=timeoutID=menu=pauseFlag=keyw=hide_pMS=src=toElement=type=p_el=p_args=p_namespace=null;Msn.XP.GenLinks.Link.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,p_blnUnload);};function menuCallback(p_objBinding,p_blnState){if(p_blnState){menu=p_objBinding;me._element.attachEvent("onmouseover",activate);me._element.attachEvent("onfocus",activate);me._element.attachEvent("onmouseout",deactivate);me._element.attachEvent("onkeydown",keyCapture);};};function activate(){type=window.event.type;if(type!="focus"){me._element.blur();me._element.focus();return;};src=window.event.srcElement;menu.display(me,src,keyw,true);};function deactivate(){src=window.event.srcElement;type=window.event.type;toElement=window.event.toElement||window.event.relatedTarget;if(typeof toElement=="undefined"||type=="blur"||type=="keydown"||(type=="mouseout"&&!menu._element.contains(toElement))){menu.hideThread=timeoutID=window.setTimeout(hideMenu,hide_pMS);};function hideMenu(){menu.cancelHide();if(menu.menuShown){menu.display(me,src,keyw,false);};};};function keyCapture(){if(menu.menuShown&&window.event.keyCode==27){deactivate();};};};Msn.XP.GenLinks.Link.registerClass("Msn.XP.GenLinks.Link","Web.Bindings.Base");registerNamespace("Msn.XP.GenLinks.Menu");Msn.XP.GenLinks.Menu=function(p_el,p_args,p_namespace){Msn.XP.GenLinks.Menu.initializeBase(this,arguments);var me=this;me.reUpper=!Object.isNull(p_args.reupp)?p_args.reupp:"A-Z";me.reLower=!Object.isNull(p_args.relow)?p_args.relow:"a-z";me.hideThread=null;var linksrc=null;var listItems=null;var menuLinks=null;var menuTitle=null;var menuBeak=null;me.menuShown=false;var currentKeyw=null;this.initialize=function(p_owner){Msn.XP.GenLinks.Menu.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,p_owner);me._element.attachEvent("onmouseout",hide);me._element.attachEvent("onkeydown",keyCapture);me._element.attachEvent("onmouseover",me.cancelHide);me._element.attachEvent("onfocus",me.cancelHide);menuTitle=Web.Dom.getElementsByCssSelector("div.child h2",me._element)[0];menuBeak=Web.Dom.getElementsByCssSelector("div.beak",me._element)[0];listItems=Web.Dom.getElementsByCssSelector("div.child ul li a",me._element);menuLinks=new Array(listItems.length);for(var i=0;i<listItems.length;i++){menuLinks[i]=listItems[i].href;};if(listItems.length>0){listItems[listItems.length-1].attachEvent("onblur",hide);};};this.dispose=function(p_blnUnload){me._element.detachEvent("onmouseout",hide);me._element.detachEvent("onkeydown",keyCapture);me._element.detachEvent("onmouseover",me.cancelHide);me._element.detachEvent("onfocus",me.cancelHide);if(listItems.length>0){listItems[listItems.length-1].detachEvent("onblur",hide);};me=me.reUpper=me.reLower=linksrc=listItems=menuLinks=menuTitle=menuBeak=me.menuShown=currentKeyw=p_el=p_args=p_namespace=null;Msn.XP.GenLinks.Menu.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,p_blnUnload);};me.display=function(boundlink,src,keywText,bshow){linksrc=boundlink;var pos=me.position(src,me._element,menuBeak,Web.Dom.getElementsByCssSelector("div.child",me._element)[0]);if(!me.menuShown&&bshow){me.menuShown=true;currentKeyw=keywText;setKeyword(keywText,false);if(pos.isIE6){me._element.style.width="0px";};pos.render();me._element.style.visibility="visible";}else if((me.menuShown&&bshow)||!bshow){if(pos.isIE6){me._element.style.width="0px";};me._element.style.visibility="hidden";menuBeak.style.top=me._element.style.top=menuBeak.style.left=me._element.style.left="";menuBeak.className=menuBeak.className.replace(pos.reCls,"beak");setKeyword((currentKeyw!=keywText)?currentKeyw:keywText,true);currentKeyw=null;me.menuShown=false;if(bshow){me.cancelHide();me.display(boundlink,src,keywText,bshow);};};pos.dispose();p=null;};me.position=function(src,el,bk,fChild){var p=this;p.isIE6=(Web.Browser._isIE&&/MSIE 6/.test(navigator.userAgent));p.reCls=/beak[TRBL]?/;var adj=null;var link=null;var shadW=3;p.dispose=function(){p.reCls=p.isIE6=adj=link=shadW=null;};p.render=function(){link=getLinkDim(src);setRight(true);var c=1;while(!checkFit()&&c<5){if(!checkTop()){setBelow();}else if(!checkBottom()){setAbove();}else if(!checkRight()){setLeft();}else if(!checkLeft()){setRight(true);};c++;};if(c==5){bk.style.top=el.style.top=bk.style.left=el.style.left="";if(p.isIE6){el.style.width="0px";};setRight(false);};c=null;};function getLinkDim(e){return{t:(e.offsetTop),r:(e.offsetLeft+e.offsetWidth),b:(e.offsetTop+e.offsetHeight),l:(e.offsetLeft),x:(e.offsetLeft+(e.offsetWidth*.5)),y:(e.offsetTop+(e.offsetHeight*.5)),w:e.offsetWidth,h:e.offsetHeight};};function checkFit(){return checkTop()&&checkRight()&&checkBottom()&&checkLeft();};function checkTop(){return el.offsetTop>document.documentElement.scrollTop;};function checkRight(){return(el.offsetLeft+el.offsetWidth)<(document.documentElement.scrollLeft+document.documentElement.clientWidth);};function checkBottom(){return(el.offsetTop+el.offsetHeight)<(document.documentElement.scrollTop+document.documentElement.clientHeight);};function checkLeft(){return el.offsetLeft>document.documentElement.scrollLeft;};function setClass(s){bk.className=bk.className.replace(p.reCls,"beak"+s);};function setShadow(){if(bk.className.endsWith("beakL")){fChild.style.top=fChild.style.left=(shadW*-1)+"px";}else if(bk.className.endsWith("beakR")){fChild.style.bottom=fChild.style.left=(shadW*1)+"px";}else if(bk.className.endsWith("beakT")){fChild.style.bottom=fChild.style.right=(shadW*-1)+"px";}else if(bk.className.endsWith("beakB")){fChild.style.top=fChild.style.right=(shadW*1)+"px";};};function setAbove(){setClass("B");adj=(Web.Browser.isIE())?5:5;el.style.left=(link.x-(el.offsetWidth*.5))+"px";bk.style.left=((el.offsetWidth*.5-bk.offsetWidth*.5)-5)+"px";el.style.top=(link.y-(el.offsetHeight+bk.offsetHeight))+"px";bk.style.top=(el.offsetHeight-adj)+"px";adjustX();setShadow(1);};function setRight(bAdjust){setClass("L");adj=(p.isIE6)?4:Web.Browser.isMozilla()?-1:0;el.style.left=(link.r+adj+(bk.offsetWidth*.5))+"px";bk.style.left=(bk.offsetLeft-bk.offsetWidth-2)-adj+"px";el.style.top=(link.y-(el.offsetHeight*.5))+"px";bk.style.top=((el.offsetHeight*.5)-((link.h*.5)+(bk.offsetHeight*.5))+3)+"px";if(bAdjust){adjustY();};setShadow(-1);};function setBelow(){setClass("T");adj=(p.isIE6)?4:3;el.style.left=(link.x-(el.offsetWidth*.5))+"px";bk.style.left=((el.offsetWidth*.5-bk.offsetWidth*.5)-5)+"px";el.style.top=(link.y+bk.offsetHeight+1)+"px";bk.style.top=(0-bk.offsetHeight+adj)+"px";adjustX();setShadow(1);};function setLeft(){setClass("R");adj=(Web.Browser.isIE())?((p.isIE6)?9:5):5;el.style.left=(link.x-el.offsetWidth-bk.offsetWidth-adj)+"px";bk.style.left=(el.offsetWidth-adj)+"px";el.style.top=(link.y-(el.offsetHeight*.5))+"px";bk.style.top=((el.offsetHeight*.5)-((link.h*.5)+(bk.offsetHeight*.5)))+"px";adjustY();setShadow(-1);};function adjustY(){if(!checkBottom()){el.style.top=(link.t-(el.offsetHeight*.75))+"px";bk.style.top=((el.offsetHeight*.75)-8)+"px";}else if(!checkTop()){el.style.top=(link.y-(el.offsetHeight*.20))+"px";bk.style.top=((el.offsetHeight*.20)-(bk.offsetHeight*.5)+3)+"px";};};function adjustX(){if(!checkRight()){el.style.left=((link.l+link.w)-el.offsetWidth)+"px";bk.style.left=(el.offsetWidth*.75)+"px";}else if(!checkLeft()){el.style.left=link.l+"px";bk.style.left=(link.x-(bk.offsetWidth*.5)-8)+"px";};};return p;};function setKeyword(text,breset){var re=null;if(!text){return;}else{re=new RegExp("([^"+me.reUpper+me.reLower+"0-9_ ])","g");text=text.replace(re,"\$1")};if(breset){if(typeof menuTitle!="undefined"){menuTitle.innerText="[REPLACE]";};for(var i=0;i<listItems.length;i++){listItems[i].href=menuLinks[i];};}else{re=new RegExp("(\\$|\\^|\\{|\\[|\\(|\\)|\\*|\\+|\\?)","g");var reText=new RegExp();reText.compile("\\[REPLACE\\]|"+encodeURI("[REPLACE]"),"g");var reUrl=new RegExp();reUrl.compile("\\[REPLACE\\]|"+encodeURI("[REPLACE]"),"g");if(typeof menuTitle!="undefined"){menuTitle.innerText=menuTitle.innerText.replace(reText,text);};for(var i=0;i<listItems.length;i++){listItems[i].href=listItems[i].href.replace(reUrl,encode(text));listItems[i].innerText=listItems[i].innerText.replace(reText,text);listItems[i].target="_blank";};};menutitle=re=reText=reUrl=null;};me.cancelHide=function(){if(me.hideThread){window.clearTimeout(me.hideThread);me.hideThread=null;}};function hide(){var evt=window.event;var toElement=evt.toElement||evt.relatedTarget;if(typeof toElement=="undefined"||evt.type=="blur"||evt.type=="keydown"||(evt.type=="mouseout"&&!me._element.contains(toElement))){me.display(null,window.event,currentKeyw,false);currentKeyw=null;};evt=toElement=null;};function keyCapture(){if(me.menuShown&&window.event.keyCode==27){hide();};};};Msn.XP.GenLinks.Menu.registerClass("Msn.XP.GenLinks.Menu","Web.Bindings.Base");Msn.XP.GenLinks.Menu.Params=Web.Enum.create("relow","reupp");function encode(text){text=text.replace("&amp;","&").encodeURI();if(text.indexOf("&")!=-1){var arSearch=["#192|Agrave","#193|Aacute","#194|Acirc","#195|Atilde","#196|Auml","#197|Aring","#198|AElig","#199|Ccedil","#200|Egrave","#201|Eacute","\xCA|#202|Ecirc","\xCB|#203|Euml","#204|Igrave","#205|Iacute","#206|Icirc","#207|Iuml","#208|ETH","#209|Ntilde","#210|Ograve","#211|Oacute","#212|Ocirc","#213|Otilde","#214|Ouml","#216|Oslash","#217|Ugrave","\xDA|#218|Uacute","\xDB|#219|Ucirc","#220|Uuml","#221|Yacute","#222|THORN","#223|szlig","#224|agrave","#225|aacute","#226|acirc","#227|atilde","#228|auml","#229|aring","#230|aelig","#231|ccedil","#232|egrave","#233|eacute","\xEA|#234|ecirc","\xEB|#235|euml","#236|igrave","#237|iacute","#238|icirc","#239|iuml","#240|eth","#241|ntilde","#242|ograve","#243|oacute","#244|ocirc","#245|otilde","#246|ouml","#248|oslash","#249|ugrave","\xFA|#250|uacute","\xFB|#251|ucirc","#252|uuml","#253|yacute","#254|thorn","#255|yuml"];var arReplace=["%C3%80","%C3%81","%C3%82","%C3%83","%C3%84","%C3%85","%C3%86","%C3%87","%C3%88","%C3%89","%C3%8A","%C3%8B","%C3%8C","%C3%8D","%C3%8E","%C3%8F","%C3%90","%C3%91","%C3%92","%C3%93","%C3%94","%C3%95","%C3%96","%C3%98","%C3%99","%C3%9A","%C3%9B","%C3%9C","%C3%9D","%C3%9E","%C3%9F","%C3%A0","%C3%A1","%C3%A2","%C3%A3","%C3%A4","%C3%A5","%C3%A6","%C3%A7","%C3%A8","%C3%A9","%C3%AA","%C3%AB","%C3%AC","%C3%AD","%C3%AE","%C3%AF","%C3%B0","%C3%B1","%C3%B2","%C3%B3","%C3%B4","%C3%B5","%C3%B6","%C3%B8","%C3%B9","%C3%BA","%C3%BB","%C3%BC","%C3%BD","%C3%BE","%C3%BF"];var expression,searchChars;for(var i=0;i<arSearch.length;i++){searchChars=arSearch[i].split("|");for(var c=0;c<searchChars.length;c++){expression=new RegExp("&"+searchChars[c]+";","g");if(expression.test(text)){text=text.replace(searchChars[c],arReplace[i]);};};};arSearch=arReplace=expression=searchChars=null;};return text;};