
registerNamespace("Msn.PI.Exception");Msn.PI.Exception=function(p_el,p_args)
{var m_this=this;m_this.Element=p_el;m_this.Error=p_args;this.RenderUserMessage=function()
{m_this.Element.innerHTML=me.Error.message;if(m_this.Error!=null)
{m_this.Element.lastChild.innerHTML+=Msn.PI.Exception.ErrorMessage(m_this.Error,"html");}}};Msn.PI.Exception.ErrorMessage=function(error,type)
{return(type=="xml")?"<error><number>{0}</number><name>{1}</name><message>{2}</message><description>{3}</description></error>".format((error.number&0xFFFF),error.name.toString(),error.message,error.description):"<p><div style='font-weight:bold'>Error:</div><div>Number: {0}</div><div>Name: {1}</div><div>Message: {2}</div><div>Description: {3}</div></p>".format((error.number&0xFFFF),error.name.toString(),error.message,error.description);};Msn.PI.Exception.ErrorObject=function(errNumber)
{var errObject;switch(parseInt(errNumber))
{case 100:errObject={number:100,name:"HTTP_Continue",message:"Continue",description:"Continue"};break;case 101:errObject={number:101,name:"HTTP_Switching_Protocols",message:"Switching Protocols",description:"Switching Protocols"};break;case 200:errObject={number:200,name:"HTTP_OK",message:"OK",description:"OK"};break;case 201:errObject={number:201,name:"HTTP_Created",message:"Created",description:"Created"};break;case 202:errObject={number:202,name:"HTTP_Accepted",message:"Accepted",description:"Accepted"};break;case 203:errObject={number:203,name:"HTTP_NonAuthoritative_Information",message:"NonAuthoritative Information",description:"NonAuthoritative Information"};break;case 204:errObject={number:204,name:"HTTP_No_Content",message:"No Content",description:"No Content"};break;case 205:errObject={number:205,name:"HTTP_Reset_Content",message:"Reset Content",description:"Reset Content"};break;case 206:errObject={number:206,name:"HTTP_Partial_Content",message:"Partial Content",description:"Partial Content"};break;case 300:errObject={number:300,name:"HTTP_Multiple_Choices",message:"Multiple Choices",description:"Multiple Choices"};break;case 301:errObject={number:301,name:"HTTP_Moved_Permanently",message:"Moved Permanently",description:"Moved Permanently"};break;case 302:errObject={number:302,name:"HTTP_Moved_Temporarily",message:"Moved Temporarily",description:"Moved Temporarily"};break;case 303:errObject={number:303,name:"HTTP_See_Other",message:"See Other",description:"See Other"};break;case 304:errObject={number:304,name:"HTTP_Not_Modified",message:"Not Modified",description:"Not Modified"};break;case 305:errObject={number:305,name:"HTTP_Use_Proxy",message:"Use Proxy",description:"Use Proxy"};break;case 400:errObject={number:400,name:"HTTP_Bad_Request",message:"Bad Request",description:"Bad Request"};break;case 401:errObject={number:401,name:"HTTP_Unauthorized",message:"Unauthorized",description:"Unauthorized"};break;case 402:errObject={number:402,name:"HTTP_Payment_Required",message:"Payment Required",description:"Payment Required"};break;case 403:errObject={number:403,name:"HTTP_Forbidden",message:"Forbidden",description:"Forbidden"};break;case 404:errObject={number:404,name:"HTTP_Not_Found",message:"Not Found",description:"Not Found"};break;case 405:errObject={number:405,name:"HTTP_Method_Not_Allowed",message:"Method Not Allowed",description:"Method Not Allowed"};break;case 406:errObject={number:406,name:"HTTP_Not_Acceptable",message:"Not Acceptable",description:"Not Acceptable"};break;case 407:errObject={number:407,name:"HTTP_Proxy_Authentication_Required",message:"Proxy Authentication Required",description:"Proxy Authentication Required"};break;case 408:errObject={number:408,name:"HTTP_Request_TimeOut",message:"Request TimeOut",description:"Request TimeOut"};break;case 409:errObject={number:409,name:"HTTP_Conflict",message:"Conflict",description:"Conflict"};break;case 410:errObject={number:410,name:"HTTP_Gone",message:"Gone",description:"Gone"};break;case 411:errObject={number:411,name:"HTTP_Length_Required",message:"Length Required",description:"Length Required"};break;case 412:errObject={number:412,name:"HTTP_Precondition_Failed",message:"Precondition Failed",description:"Precondition Failed"};break;case 413:errObject={number:413,name:"HTTP_Request_Entity_Too_Large",message:"Request Entity Too Large",description:"Request Entity Too Large"};break;case 414:errObject={number:414,name:"HTTP_RequestURL_Too_Large",message:"RequestURL Too Large",description:"RequestURL Too Large"};break;case 415:errObject={number:415,name:"HTTP_Unsupported_Media_Type",message:"Unsupported Media Type",description:"Unsupported Media Type"};break;case 500:errObject={number:500,name:"HTTP_Server_Error",message:"Server Error",description:"Server Error"};break;case 501:errObject={number:501,name:"HTTP_Not_Implemented",message:"Not Implemented",description:"Not Implemented"};break;case 502:errObject={number:502,name:"HTTP_Bad_Gateway",message:"Bad Gateway",description:"Bad Gateway"};break;case 503:errObject={number:503,name:"HTTP_Out_Of_Resources",message:"Out Of Resources",description:"Out Of Resources"};break;case 504:errObject={number:504,name:"HTTP_Gateway_TimeOut",message:"Gateway TimeOut",description:"Gateway TimeOut"};break;case 505:errObject={number:505,name:"HTTP_Version_Not_supported",message:"Version Not supported",description:"Version Not supported"};break;case 12007:errObject={number:12007,name:"HTTP_Unknown",message:"Unknown",description:"Unknown"};break;default:errObject={number:0,name:"PI_Unkown",message:"Unknown",description:"Unknown"};break;}
return errObject;};Msn.PI.Exception.registerClass("Msn.PI.Exception");registerNamespace("Msn.PI.Gadget.Base");Msn.PI.Gadget.Base=function(p_el,p_args,p_namespace)
{Msn.PI.Gadget.Base.initializeBase(this,arguments);var m_this=this;m_this.parent=null;m_this.DOMElement=p_el;p_args=this.getParameters();m_this.boundEvents=new Array();this.initialize=function(p_owner)
{Msn.PI.Gadget.Base.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=m_this.parent=m_this.DOMElement=m_this.boundEvents=p_el=p_args=null;Msn.PI.Gadget.Base.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,p_blnUnload);};this.setParentBinding=function(parent)
{m_this.parent=parent;};this.bindEvent=function(object,eventname,fnhandle)
{object.attachEvent(eventname,fnhandle);m_this.boundEvents.push({obj:object,evt:eventname,fn:fnhandle});};this.unbindEvents=function()
{for(var i=m_this.boundEvents.length-1;i>=0;i--)
{m_this.boundEvents[i].obj.detachEvent(m_this.boundEvents[i].evt,m_this.boundEvents[i].fn);m_this.boundEvents[i].obj=null;m_this.boundEvents[i]=null;}};Msn.PI.Gadget.Base.registerBaseMethod(this,"bindEvent");Msn.PI.Gadget.Base.registerBaseMethod(this,"unbindEvents");Msn.PI.Gadget.Base.registerBaseMethod(this,"initialize");Msn.PI.Gadget.Base.registerBaseMethod(this,"dispose");};Msn.PI.Gadget.Base.registerClass("Msn.PI.Gadget.Base","Web.Bindings.Base");Msn.PI.Gadget.Base.Events=Web.Enum.create("onbase");registerNamespace("Msn.PI.Gadget.Icon");Msn.PI.Gadget.Icon=function(p_el,p_args,p_namespace)
{Msn.PI.Gadget.Icon.initializeBase(this,arguments);var m_this=this;m_this.iconName="";this.initialize=function(p_owner)
{Msn.PI.Gadget.Icon.getBaseMethod(this,"initialize","Msn.PI.Gadget.Base").call(this,p_owner);m_this.DOMElement.attachEvent("onmousedown",gadgetDown);m_this.DOMElement.attachEvent("onkeydown",gadgetDown);m_this.render();};this.dispose=function(p_blnUnload)
{m_this.DOMElement.detachEvent("onmousedown",gadgetDown);m_this.DOMElement.detachEvent("onkeydown",gadgetDown);m_this=m_this.iconName=p_el=p_args=p_namespace=null;Msn.PI.Gadget.Icon.getBaseMethod(this,"dispose","Msn.PI.Gadget.Base").call(this,p_blnUnload);};this.render=function()
{m_this.DOMElement.src="{0}{1}{2}.gif".format(p_args.imgpath,m_this._objDeclaration.objScope.getBinding().parentArgs.resourceprefix,m_this.iconName);m_this.DOMElement.width=m_this.DOMElement.height="15";m_this.DOMElement.tabIndex=0;};function gadgetDown()
{m_this.fire("ongadgetdown",m_this);};Msn.PI.Gadget.Icon.registerBaseMethod(this,"initialize");Msn.PI.Gadget.Icon.registerBaseMethod(this,"dispose");Msn.PI.Gadget.Icon.registerBaseMethod(this,"render");};Msn.PI.Gadget.Icon.registerClass("Msn.PI.Gadget.Icon","Msn.PI.Gadget.Base");Msn.PI.Gadget.Icon.Events=Web.Enum.create("ongadgetdown");registerNamespace("Msn.PI.Module.Base");Msn.PI.Module.Base=function(p_el,p_args,p_namespace)
{Msn.PI.Module.Base.initializeBase(this,arguments);var m_this=this;m_this.DOMElement=p_el;m_this.container=null;m_this.mainbody=null;m_this.header=null;m_this.footer=null;m_this.boundGadgets=new Array();m_this.newGadgets=new Array();m_this.boundEvents=new Array();m_this.stateFlag=Web.Flags.create("Removed",0,"Open",1,"Closed",2);p_args=m_this.getParameters();m_this.isPersisted=Msn.PI.Util.ToBoolean(p_args.persist);m_this.moduleState={s:1};m_this.isOpen=true;m_this.isExpandable=(Msn.PI.Util.GetEscapedValue(p_args.isexpandable)!="")?Msn.PI.Util.ToBoolean(p_args.isexpandable):false;this.initialize=function(p_owner)
{Msn.PI.Module.Base.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,p_owner);if(Msn.PI.Util.GetEscapedValue(m_this.getIdentity())==""&&Msn.PI.Util.GetEscapedValue(m_this.DOMElement.getAttribute("id"))!="")
{m_this.DOMElement.setAttribute("{0}:id".format(p_namespace),m_this.DOMElement.getAttribute("id"));}
if(m_this.isPersisted)
{if(m_this.getIdentity()=="")
{m_this.DOMElement.setAttribute(p_namespace+":id",setIdentity(m_this.DOMElement,""));}
m_this.moduleState=m_this.getState();m_this.isOpen=(m_this.moduleState.s==Web.Conversion.coerceInt(m_this.stateFlag["Open"]))?true:false}
if(!Msn.PI.Util.ClassContains(m_this.DOMElement,"Msn.PI.Module.Header")&&(!m_this.isPersisted||(m_this.isPersisted&&m_this.moduleState.s!=Web.Conversion.coerceInt(m_this.stateFlag["Removed"]))))
{m_this.registerFor("Msn.PI.Module.Header",headerInit,m_this.DOMElement);}};function setIdentity(el,id)
{var elParent=el.parentElement;var counter=1;var sib=el.previousSibling;while(sib)
{counter++;sib=sib.previousSibling;}
id="{0}{1}{2}".format(id,el.tagName.substring(0,1),counter);if(elParent.getAttribute(p_namespace+":id")==null)
{return setIdentity(elParent,id);}
else
{return"{0}{1}".format(elParent.getAttribute(p_namespace+":id"),id);}};this.dispose=function(p_blnUnload)
{m_this.persistState();m_this.unbindEvents();for(var i=0;i<m_this.boundGadgets.length;i++)
{m_this.boundGadgets.pop(m_this.boundGadgets[i]);}
for(var i=0;i<m_this.newGadgets.length;i++)
{m_this.newGadgets.pop(m_this.newGadgets[i]);}
m_this=m_this.DOMElement=m_this.boundGadgets=m_this.newGadgets=m_this.header=m_this.moduleState=m_this.stateFlag=m_this.onPage=p_el=p_args=p_namespace=null;Msn.PI.Module.Base.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,p_blnUnload);};this.bindEvent=function(object,eventname,fnhandle)
{object.attachEvent(eventname,fnhandle);m_this.boundEvents.push({obj:object,evt:eventname,fn:fnhandle});};this.unbindEvents=function()
{for(var i=m_this.boundEvents.length-1;i>=0;i--)
{m_this.boundEvents[i].obj.detachEvent(m_this.boundEvents[i].evt,m_this.boundEvents[i].fn);m_this.boundEvents[i].obj=null;m_this.boundEvents[i]=null;}};this.registerGadgets=function(parentDOMElement)
{var gadgets=p_args.bindgadgets.split("|");for(var i=0;i<gadgets.length;i++)
{eval("var gadget = {0};".format(gadgets[i]));m_this.registerFor(gadget.type,gadget.callback,m_this.DOMElement);};};this.createGadgets=function(parentDOMElement)
{var gadgets=p_args.addgadgets.split("|");for(var i=0;i<gadgets.length;i++)
{eval("var gadget = {0};".format(gadgets[i]));var selector=Web.Dom.Css.createRules(gadget.selector)[0];var domElement=Msn.PI.Util.GetNamedElement(selector.strTagName,parentDOMElement,selector.strClassName);domElement.setAttribute("{0}:id".format(p_namespace),"gadget{0}".format(i));var args=p_args;args.isopen=m_this.parent.isOpen;m_this.newGadgets.push(Web.Bindings.attachElementBinding(domElement,gadget.type,m_this,args,p_namespace,gadget.callback,null,null,null));m_this.newGadgets[m_this.newGadgets.length-1].setParentBinding(m_this);};};this.getState=function()
{var cookieValue=Msn.PI.Util.ReadCookie(m_this.getIdentity());return(Msn.PI.Util.GetEscapedValue(cookieValue)!="")?eval("new Object({{0}});".format(cookieValue)):m_this.moduleState;};this.setState=function(obj)
{m_this.moduleState=obj;};this.persistState=function()
{if(m_this.isPersisted)
{var cookieValue="";for(var prop in m_this.moduleState)
{if(typeof m_this.moduleState[prop]=="string")
{cookieValue+="{0}:'{1}',".format(prop,m_this.moduleState[prop]);}
else
{cookieValue+="{0}:{1},".format(prop,m_this.moduleState[prop]);}}
cookieValue=cookieValue.substring(0,cookieValue.length-1);Msn.PI.Util.WriteCookie(m_this.getIdentity(),cookieValue,null,"/");cookieValue=null;}};function headerInit(p_objBinding,p_blnState)
{var ancestor=(!p_objBinding.DOMElement)?null:compareIdentity(p_objBinding.DOMElement.parentElement,m_this.DOMElement);function compareIdentity(elementA,elementB)
{if(elementA.getAttribute("{0}:id".format(p_namespace))==elementB.getAttribute("{0}:id".format(p_namespace)))
{return elementA;}
else if(elementA.parentElement.getAttribute("{0}:id".format(p_namespace))==elementB.getAttribute("{0}:id".format(p_namespace)))
{return elementA.parentElement;}
else
{return null;}};if(!ancestor||(ancestor&&p_blnState&&ancestor.getAttribute("{0}:id".format(p_namespace))!=m_this.DOMElement.getAttribute("{0}:id".format(p_namespace))))
{return;}
if(p_blnState&&!Web.Type.compare(p_objBinding,m_this)&&m_this.isPersisted)
{m_this.header=p_objBinding;p_objBinding.render(m_this);if(p_objBinding.DOMElement.nextSibling&&m_this.moduleState.s==Web.Conversion.coerceInt(m_this.stateFlag["Closed"]))
{var sibling=p_objBinding.DOMElement.nextSibling;while(sibling)
{if(sibling.nodeType==1)
{Msn.PI.Util.AddClass(sibling,"none");}
else if(Msn.PI.Util.IsTextNode(sibling)&&sibling.length<=1&&(sibling.nodeValue==" "||""))
{sibling.parentNode.removeChild(sibling);}
sibling=sibling.nextSibling;}
p_objBinding.DOMElement.style.borderBottomWidth="0px";}}};Msn.PI.Module.Base.registerBaseMethod(this,"initialize");Msn.PI.Module.Base.registerBaseMethod(this,"dispose");Msn.PI.Module.Base.registerBaseMethod(this,"persistState");};Msn.PI.Module.Base.registerClass("Msn.PI.Module.Base","Web.Bindings.Base");Msn.PI.Module.Base.Events=Web.Enum.create("onbase");registerNamespace("Msn.PI.Module.Header");Msn.PI.Module.Header=function(p_el,p_args,p_namespace)
{Msn.PI.Module.Header.initializeBase(this,arguments);var m_this=this;m_this.parent=null;m_this.parentArgs=null;m_this.iconContainer=null;this.initialize=function(p_owner)
{Msn.PI.Module.Header.getBaseMethod(this,"initialize","Msn.PI.Module.Base").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=m_this.parent=m_this.parentArgs=m_this.iconContainer=p_el=p_args=p_namespace=null;Msn.PI.Module.Header.getBaseMethod(this,"dispose","Msn.PI.Module.Base").call(this,p_blnUnload);};this.render=function(parent)
{m_this.parent=parent;m_this.parentArgs=m_this.parent.getParameters();if(Msn.PI.Util.ToBoolean(m_this.parentArgs.isexpandable)||Msn.PI.Util.ToBoolean(m_this.parentArgs.hascontext))
{m_this.iconContainer=Msn.PI.Util.GetNamedElement("span",m_this.DOMElement,"mticons",(Msn.PI.Util.IsTextNode(m_this.DOMElement.firstChild)?"afterbegin":"beforeend"));m_this.createGadgets(m_this.iconContainer);}};Msn.PI.Module.Header.registerBaseMethod(this,"initialize");Msn.PI.Module.Header.registerBaseMethod(this,"dispose");Msn.PI.Module.Header.registerBaseMethod(this,"render");};Msn.PI.Module.Header.registerClass("Msn.PI.Module.Header","Msn.PI.Module.Base");Msn.PI.Module.Header.Params=Web.Enum.create("addgadgets","persist","imgpath");Msn.PI.Util=new function(){;};Msn.PI.Util.GetBaseUrl=function()
{if(window.location.protocol.toLowerCase().startsWith("http"))
{return"{0}/{1}{2}/".format(window.location.protocol,"/",window.location.hostname);}
return"";};Msn.PI.Util.GetEscapedValue=function(val)
{return(val&&val!=""&&typeof val!="undefined")?val:"";};Msn.PI.Util.SetCssFloat=function(element,direction)
{if(Web.Browser.isMozilla())
{element.style.cssFloat=direction;}
else
{element.style.styleFloat=direction;}};Msn.PI.Util.GetHandCursor=function()
{return(Web.Browser.isMozilla())?"pointer":"hand";};Msn.PI.Util.ReadCookie=function(name)
{var cookieName=name+"=";var ca=document.cookie.split(';');if(ca!=null)
{for(var i=0;i<ca.length;i++)
{var c=ca[i];while(c.charAt(0)==' ')
{c=c.substring(1,c.length);}
if(c.indexOf(cookieName)==0)
{return c.substring(cookieName.length,c.length);}}}
return null;};Msn.PI.Util.WriteCookie=function(cookieName,cookieValue,expiryDate,path)
{var newExpiry;if(expiryDate!=null||expiryDate!="")
{newExpiry=new Date();newExpiry.setYear(newExpiry.getFullYear()+5);}
else
{newExpiry=expiryDate;}
if(typeof document!='undefined')
{return document.cookie="{0}={1};expires={2};path={3};".format(cookieName,cookieValue,newExpiry.toGMTString(),path);}
return false;};Msn.PI.Util.ExpireCookie=function(cookieName,path)
{var yesterday=new Date();yesterday.setDate(yesterday.getDate()-1);Msn.PI.Util.WriteCookie(cookieName,'',yesterday,path);};Msn.PI.Util.SelectNodeHelper=function(node,xpath)
{var tmp=node.selectSingleNode(xpath);if(tmp!=null)
{return(xpath.indexOf("@")>-1)?tmp.value:tmp.text;}
else
{return"";}};Msn.PI.Util.NodePosition=function(pos)
{return(!Web.Browser.isIE())?pos+1:pos;};Msn.PI.Util.Date=function(date)
{var regEx=/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})T([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}).([0-9]{7})(\+|\-)([0-9]{1,2}):([0-9]{1,2})/;var matches=regEx.exec(date);if(matches!=null)
{var year=Math.round(matches[1]);var month=Math.round(matches[2])-1;var day=Math.round(matches[3]);var tzdiff=matches[8];var tzhour=Math.round(matches[9]);var tzmin=Math.round(matches[10]);var hour=(tzdiff=="-")?(Math.round(matches[4])-1)-tzhour:(Math.round(matches[4])-1)+tzhour;var min=(tzdiff=="-")?(Math.round(matches[5])-1)-tzmin:(Math.round(matches[5])-1)+tzmin;var sec=Math.round(matches[6])-1;var msec=Math.round(matches[7])-1;return new Date(year,month,day,hour,min,sec,msec);}
var dt=new Date(date);return new Date(dt.getUTCFullYear(),dt.getUTCMonth(),dt.getUTCDate(),dt.getUTCHours(),dt.getUTCMinutes(),dt.getUTCSeconds(),dt.getUTCMilliseconds());};Msn.PI.Util.ToBoolean=function(val)
{if(Web.Type.isBoolean(val))
{return val;}
else if(Msn.PI.Util.GetEscapedValue(val).toLowerCase()=="true")
{return true;}
return false;};Msn.PI.Util.GetNamedElement=function(tagName,parent,className,sWhere)
{var element;if(Msn.PI.Util.GetEscapedValue(tagName)=="")
{element=document.createTextNode(" ");parent.appendChild(element);}
else
{element=document.createElement(tagName);if(className!=""){element.className=className;}
parent.insertAdjacentElement((Msn.PI.Util.GetEscapedValue(sWhere)=="")?"beforeend":sWhere,element);}
return element;};Msn.PI.Util.GetEventElement=function(name,evt)
{if(name=="src")
{return(Web.Browser.isMozilla())?evt.target:evt.srcElement;}
else if(name=="to")
{return(Web.Browser.isMozilla())?evt.relatedTarget:evt.toElement;}
return null;};Msn.PI.Util.AddClass=function(element)
{var classes=element.className.split(" ");var len=arguments.length;for(var i=1;i<len;i++)
{var op=arguments[i].slice(0,1);var cls=(arguments[i].substring(0,1)==" ")?arguments[i].slice(1):arguments[i];var idx=classes.indexOf(cls);if(op=="-")
{if(idx!=-1)
{classes.splice(idx,1);}}
else
{if(idx==-1)
{classes.push(cls);}}}
var newClass=classes.join(" ");if(element.className!=newClass)
{element.className=newClass;}};Msn.PI.Util.RemoveClass=function(element,className)
{element.className=element.className.replace((element.className.indexOf(" ")>-1)?" {0}".format(className):className,"");};Msn.PI.Util.ToggleClass=function(element,className)
{if(element.className.indexOf(className)>-1)
{Msn.PI.Util.RemoveClass(element,className);}
else
{Msn.PI.Util.AddClass(element,className);}};Msn.PI.Util.ClassContains=function(element,className)
{return(new RegExp(" ?{0} ?".format(className),"ig")).test(element.className);}
Msn.PI.Util.ParseHTML=function(fullString)
{if(typeof fullString=="undefined")
{return{text:"",link:null};}
fullString=fullString.replace(/\n|\r/g,"");fullString=fullString.replace(/"/g,"");fullString=fullString.replace(/'/g,"");var regEx,expressionMatch,expressionMatch,linkTag;regEx=/<\s*script(?:.*?)\/script\s*>/i;while(regEx.exec(fullString)!=null)
{fullString=RegExp.leftContext+RegExp.rightContext;}
regEx=/(<(?:!--|\/)?([a-zA-Z0-9]+)(?:\s*?.*?)(?:--|\/)?>)/i;while(regEx.exec(fullString)!=null)
{if(RegExp.$2.toLowerCase()=="a"&&typeof linkTag=="undefined")
{linkTag=RegExp.$1;}
fullString=RegExp.leftContext+RegExp.rightContext;}
regEx=null;if(typeof linkTag!="undefined")
{linkTag=linkTag.match(/href=.*( |>)/i)[0].trim().replace(/href=|>/g,"");}
return{text:fullString,link:linkTag};};Msn.PI.Util.CropText=new Object();Msn.PI.Util.CropText.CalcLineHeight=function(element)
{var ruler=rulerunit=this.height=null;ruler=Msn.PI.Util.GetNamedElement("div",document.getElementsByTagName("body")[0],"");ruler.style.width="0em";ruler.innerText="&nbsp;";rulerunit=element.currentStyle.lineHeight.substring(element.currentStyle.lineHeight.length-2,element.currentStyle.lineHeight.length);ruler.style.lineHeight="{0}{1}".format(Web.Conversion.coerceInt(element.currentStyle.lineHeight.replace(rulerunit))+2,rulerunit);this.height=ruler.offsetHeight;document.getElementsByTagName("body")[0].removeChild(ruler);ruler=rulerunit=null;return Web.Conversion.coerceInt(this.height);}
Msn.PI.Util.CropText.ToCharLength=function(text,targetLength)
{return(text.length>targetLength)?"{0}...".format(text.substring(0,Msn.PI.Util.CropText.GetLastWordStart(text,targetLength))):text;};Msn.PI.Util.CropText.ByContainerDimension=function(element,size,dim)
{var textNode=(element.childNodes.length>0)?element.firstChild:element;var text=(typeof textNode.innerHTML!="undefined")?textNode.innerHTML:textNode.nodeValue;var origlength=text.length;while(!Msn.PI.Util.CropText.CheckFit(dim==0?element.offsetWidth:element.offsetHeight,size))
{text=text.substring(0,text.length-1).replace(/ ?(\.\.\.|\\u2026)$/,"");if(typeof textNode.innerHTML!="undefined")
{textNode.innerHTML=text;}
else
{textNode.nodeValue=text;}}
if(origlength!=text.length)
{Msn.PI.Util.CropText.AppendEllipsis(textNode,text);}};Msn.PI.Util.CropText.CheckFit=function(dim1,dim2)
{return!(Web.Conversion.coerceInt(dim1)>Web.Conversion.coerceInt(dim2));}
Msn.PI.Util.CropText.AppendEllipsis=function(textNode,text)
{text="{0}{1}".format(text.substring(0,Msn.PI.Util.CropText.GetLastWordStart(text,text.length)),!text.endsWith(".")?"\u2026":"");if(typeof textNode.innerHTML!="undefined")
{textNode.innerHTML=text;}
else
{textNode.nodeValue=text;}};Msn.PI.Util.CropText.ByContainerWidth=function(element,width)
{Msn.PI.Util.CropText.ByContainerDimension(element,width,0);};Msn.PI.Util.CropText.ByContainerHeight=function(element,lines)
{var maxHeight=((typeof lines!="undefined"&&lines)?Web.Conversion.coerceInt(lines):1)*Msn.PI.Util.CropText.CalcLineHeight(element);Msn.PI.Util.CropText.ByContainerDimension(element,maxHeight,1);};Msn.PI.Util.CropText.ByContainerWidthAndLines=function(element,width,lines)
{var maxHeight=((typeof lines!="undefined"&&lines)?Web.Conversion.coerceInt(lines):1)*Msn.PI.Util.CropText.CalcLineHeight(element);if(!Msn.PI.Util.CropText.CheckFit(element.offsetHeight,maxHeight))
{Msn.PI.Util.CropText.ByContainerDimension(element,maxHeight,1);Msn.PI.Util.CropText.ByContainerDimension(element,width,0);}};Msn.PI.Util.CropText.GetLastWordStart=function(text,len)
{if(text.indexOf(" ")==-1)
{return text.length;}
else
{var arr=(/([^a-zA-Z]| )? (\w+\b)([^a-zA-Z]| )?$/).exec(text);return(arr&&typeof arr!="undefined"&&typeof arr.index!="undefined"&&arr.index)?arr.index:(typeof len!="undefined"&&len)?len:text.length;}};Msn.PI.Util.IsTextNode=function(node)
{return(node.nodeType==3);}
function XMLDOMDocument()
{var xmlDoc=null;if(window.DOMParser&&window.XMLSerializer&&window.Node&&Node.prototype&&Node.prototype.__defineGetter__&&typeof Document.prototype.loadXML=="undefined"){Document.prototype.loadXML=function(xmlstring)
{var doc=(new DOMParser()).parseFromString(xmlstring,"text/xml");while(this.hasChildNodes())
{this.removeChild(this.lastChild);}
for(var i=0;i<doc.childNodes.length;i++)
{this.appendChild(this.importNode(doc.childNodes[i],true));}
this.readyState=4;};}
try
{if(document.implementation&&document.implementation.createDocument){xmlDoc=document.implementation.createDocument("","",null);if(xmlDoc.readyState==null)
{xmlDoc.readyState=1;xmlDoc.addEventListener("load",function()
{xmlDoc.readyState=4;if(typeof xmlDoc.onreadystatechange=="function"){xmlDoc.onreadystatechange();}},false);}}
else if(window.ActiveXObject)
{try{xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");}catch(ex){}
try{xmlDoc=new ActiveXObject("Msxml2.DOMDocument.3.0");}catch(ex){}
try{xmlDoc=new ActiveXObject("MSXML4.DOMDocument");}catch(ex){}
try{xmlDoc=new ActiveXObject("MSXML3.DOMDocument");}catch(ex){}
try{xmlDoc=new ActiveXObject("MSXML2.DOMDocument");}catch(ex){}
try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");}catch(ex){}}
return xmlDoc;}
catch(ex)
{throw new Error("Your browser does not support XmlDocument objects");}};function XSLTransform(filepath,handler)
{var me=this;Web.Network.createRequest(Web.Network.Type.XML,filepath,me,function(response,me){_LoadXslCallback(response);}).Execute();function _LoadXslCallback(response)
{var xslDoc=XMLDOMDocument();var xmlText=(!Web.Browser.isMozilla())?response.responseText:response.responseText.removeExtraSpaces()
xslDoc.loadXML(xmlText);handler(xslDoc);}};registerNamespace("Msn.PI.NC.Gadget.NewsStack");Msn.PI.NC.Gadget.NewsStack=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Gadget.NewsStack.initializeBase(this,arguments);var m_this=this;this.initialize=function(p_owner)
{Msn.PI.NC.Gadget.NewsStack.getBaseMethod(this,"initialize","Msn.PI.Gadget.RssStack").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=p_el=p_args=p_namespace=null;Msn.PI.NC.Gadget.NewsStack.getBaseMethod(this,"dispose","Msn.PI.Gadget.RssStack").call(this,p_blnUnload);};};Msn.PI.NC.Gadget.NewsStack.registerClass("Msn.PI.NC.Gadget.NewsStack","Msn.PI.Gadget.RssStack");Msn.PI.NC.Gadget.NewsStack.Events=Web.Enum.create("onresponsecomplete");Msn.PI.NC.Gadget.NewsStack.Params=Web.Enum.create("feedurl","localpath","layout");registerNamespace("Msn.PI.NC.Gadget.Expander");Msn.PI.NC.Gadget.Expander=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Gadget.Expander.initializeBase(this,arguments);var m_this=this;m_this.isOpen=p_args.isopen;this.initialize=function(p_owner)
{m_this.iconName=(m_this.isOpen)?"Open":"Closed";Msn.PI.NC.Gadget.Expander.getBaseMethod(this,"initialize","Msn.PI.Gadget.Icon").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=m_this.isOpen=p_el=p_args=p_namespace=null;Msn.PI.NC.Gadget.Expander.getBaseMethod(this,"dispose","Msn.PI.Gadget.Icon").call(this,p_blnUnload);};this.render=function()
{m_this.iconName=(m_this.isOpen)?"Closed":"Open";Msn.PI.NC.Gadget.Expander.getBaseMethod(this,"render","Msn.PI.Gadget.Icon").call(this);m_this.isOpen=!m_this.isOpen;};};Msn.PI.NC.Gadget.Expander.registerClass("Msn.PI.NC.Gadget.Expander","Msn.PI.Gadget.Icon");Msn.PI.NC.Gadget.Expander.Events=Web.Enum.create("ongadgetdown");registerNamespace("Msn.PI.NC.Gadget.Remover");Msn.PI.NC.Gadget.Remover=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Gadget.Remover.initializeBase(this,arguments);var m_this=this;this.initialize=function(p_owner)
{m_this.iconName="Kill";Msn.PI.NC.Gadget.Remover.getBaseMethod(this,"initialize","Msn.PI.Gadget.Icon").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=p_el=p_args=p_namespace=null;Msn.PI.NC.Gadget.Remover.getBaseMethod(this,"dispose","Msn.PI.Gadget.Icon").call(this,p_blnUnload);};};Msn.PI.NC.Gadget.Remover.registerClass("Msn.PI.NC.Gadget.Remover","Msn.PI.Gadget.Icon");Msn.PI.NC.Gadget.Remover.Events=Web.Enum.create("ongadgetdown");registerNamespace("Msn.PI.NC.Gadget.SlideControl");Msn.PI.NC.Gadget.SlideControl=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Gadget.SlideControl.initializeBase(this,arguments);var m_this=this;m_this.parent=null;m_this.DOMElement=p_el;m_this.headerTitle=m_this.previous=m_this.next=null;m_this.loopInitValue=m_this.showLoop=null;this.initialize=function(p_owner)
{Msn.PI.NC.Gadget.SlideControl.getBaseMethod(this,"initialize","Msn.PI.Gadget.Base").call(this,p_owner);m_this.headerTitle=m_this.DOMElement.parentElement.firstChild;m_this.parent=p_owner.getBinding();var maxHeight=m_this.parent.slides[0].element.offsetHeight;for(var s=0;s<m_this.parent.slides.length;s++)
{m_this.parent.slides[s].element.style.height="0em";if(m_this.parent.slides[s].element.offsetHeight>maxHeight)
{maxHeight=m_this.parent.slides[s].element.offsetHeight;}
Msn.PI.Util.AddClass(m_this.parent.slides[s].element,"none");}
var slide=null;for(var s=0;s<m_this.parent.slides.length;s++)
{slide=m_this.parent.slides[s];slide.element.style.height="{0}px".format(maxHeight);slide.element.attachEvent("onmouseover",mouseOverSlide);slide.element.attachEvent("onmouseout",mouseOutSlide);}
slide=maxHeight=null;Msn.PI.Util.RemoveClass(m_this.parent.slides[0].element,"none");m_this.headerTitle.removeChild(m_this.headerTitle.firstChild);m_this.headerTitle.appendChild(m_this.parent.slides[0].title);m_this.previous=Msn.PI.Util.GetNamedElement("a",m_this.parent.footer,"left");m_this.previous.setAttribute("id","prv");m_this.previous.setAttribute("target","");m_this.previous.tabIndex=0;m_this.previous.innerText="< {0}".format(m_this.parent.prevtext);m_this.next=Msn.PI.Util.GetNamedElement("a",m_this.parent.footer,"right");m_this.next.setAttribute("id","prv");m_this.next.setAttribute("target","");m_this.next.tabIndex=0;m_this.next.innerText="{0} >".format(m_this.parent.nexttext);m_this.bindEvent(m_this.previous,"onclick",clickPrevious);m_this.bindEvent(m_this.previous,"onkeydown",clickPrevious);m_this.bindEvent(m_this.next,"onclick",clickNext);m_this.bindEvent(m_this.next,"onkeydown",clickNext);start();m_this.loopInitValue=m_this.showLoop;function clickPrevious()
{window.event.cancelBubble=true;if((window.event.keyCode==13||window.event.keyCode==32)||(window.event.keyCode==0&&!window.event.shiftKey&&window.event.button!=2))
{m_this.go(-1);window.event.returnValue=false;}};function clickNext()
{window.event.cancelBubble=true;if((window.event.keyCode==13||window.event.keyCode==32)||(window.event.keyCode==0&&!window.event.shiftKey&&window.event.button!=2))
{m_this.go(1);window.event.returnValue=false;}};};function start()
{m_this.showLoop=window.setTimeout(function(){m_this.go(1);},15000);};this.dispose=function(p_blnUnload)
{for(var s=0;s<m_this.parent.slides.length;s++)
{m_this.parent.slides[s].element.detachEvent("onmouseover",mouseOverSlide);m_this.parent.slides[s].element.detachEvent("onmouseout",mouseOutSlide);}
m_this=m_this.parent=m_this.parent.slides=m_this.showLoop=m_this.loopInitValue=m_this.previous=m_this.next=m_this.DOMElement=m_this.headerTitle=p_el=p_args=p_namespace=null;Msn.PI.NC.Gadget.SlideControl.getBaseMethod(this,"dispose","Msn.PI.Gadget.Base").call(this,p_blnUnload);};this.go=function(iPos)
{if(m_this.showLoop)
{window.clearTimeout(m_this.showLoop);}
if(!m_this.parent.slides)
{return;}
var oldPos=getShownPosition();var newPos=oldPos+iPos;if(oldPos+iPos<0)
{newPos=m_this.parent.slides.length-1;}
if(oldPos+iPos>m_this.parent.slides.length-1)
{newPos=0;}
if(!Web.Browser.isMozilla())
{m_this.parent.slides[newPos].element.filters[0].apply();}
Msn.PI.Util.AddClass(m_this.parent.slides[oldPos].element,"none");Msn.PI.Util.RemoveClass(m_this.parent.slides[newPos].element,"none");if(Web.Browser.isMozilla())
{fadeIn(2000);}
else
{m_this.parent.slides[newPos].element.filters[0].play();}
m_this.headerTitle.removeChild(m_this.headerTitle.firstChild);m_this.headerTitle.appendChild(m_this.parent.slides[newPos].title);start();};function mouseOverSlide()
{if(m_this.showLoop!=m_this.loopInitValue)
{m_this.parent.slides[getShownPosition()].element.filters[0].stop();window.clearTimeout(m_this.showLoop);}};function mouseOutSlide()
{if(m_this.showLoop!=m_this.loopInitValue)
{m_this.showLoop=window.setTimeout(function(){m_this.go(1);},15000);}};function getShownPosition()
{var s;for(s=0;s<m_this.parent.slides.length;s++)
{if(m_this.parent.slides[s].element.className.indexOf("none")==-1)
{break;}}
return s;};var loop=null;function fadeIn(ms)
{var counter=0;for(var i=0;i<=100;i++)
{loop=window.setTimeout("setOpacity()",(counter*Math.round(ms/100)));counter++;}};function setOpacity(op)
{window.clearTimeout(loop);m_this.parent.slides[newPos].element.style.opacity=(op/100);m_this.parent.slides[newPos].element.style.MozOpacity=(op/100);m_this.parent.slides[newPos].element.style.filter="alpha(opacity="+op+")";};};Msn.PI.NC.Gadget.SlideControl.registerClass("Msn.PI.NC.Gadget.SlideControl","Msn.PI.Gadget.Base");registerNamespace("Msn.PI.NC.Module.Header");Msn.PI.NC.Module.Header=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Module.Header.initializeBase(this,arguments);var m_this=this;m_this.parent=null;m_this.parentArgs=null;m_this.iconContainer=null;this.initialize=function(p_owner)
{Msn.PI.NC.Module.Header.getBaseMethod(this,"initialize","Msn.PI.Module.Header").call(this,p_owner);};this.dispose=function(p_blnUnload)
{m_this=m_this.parent=m_this.parentArgs=m_this.iconContainer=p_el=p_args=p_namespace=null;Msn.PI.NC.Module.Header.getBaseMethod(this,"dispose","Msn.PI.Module.Header").call(this,p_blnUnload);};this.render=function(p_owner)
{Msn.PI.NC.Module.Header.getBaseMethod(this,"render","Msn.PI.Module.Header").call(this,p_owner);};this.expanderCallback=function(p_objBinding,args)
{p_objBinding.setParentBinding(p_objBinding._objDeclaration.objScope.getBinding());if(Msn.PI.Util.ToBoolean(m_this.parentArgs.isexpandable))
{m_this.bindEvent(p_objBinding,"ongadgetdown",function(){doHeaderClick(p_objBinding);});m_this.bindEvent(m_this.DOMElement,"onmousedown",function(){doHeaderClick(p_objBinding);});}
function doHeaderClick(p_objBinding)
{window.event.cancelBubble=true;var evtElement=Msn.PI.Util.GetEventElement("src",window.event);if(!Msn.PI.Util.ClassContains(evtElement,"Msn_PI_NC_Gadget_Expander")&&!Msn.PI.Util.ClassContains(evtElement,"Msn_PI_NC_Module_Header"))
{return;}
if((window.event.keyCode==13||window.event.keyCode==32)||(window.event.keyCode==0&&!window.event.shiftKey&&window.event.button!=2))
{p_objBinding.render();if(m_this.DOMElement.nextSibling||(!m_this.DOMElement.nextSibling&&m_this.DOMElement.parentElement.nextSibling))
{var contextElement=(m_this.DOMElement.nextSibling)?m_this.DOMElement:m_this.DOMElement.parentElement;var sibling=contextElement.nextSibling;while(sibling)
{if(sibling.nodeType==1)
{Msn.PI.Util.ToggleClass(sibling,"none");}
else if(Msn.PI.Util.IsTextNode(sibling)&&sibling.length<=1&&(sibling.nodeValue==" "||""))
{sibling.parentNode.removeChild(sibling);}
sibling=sibling.nextSibling;}
if(m_this.parent.isPersisted)
{m_this.parent.isOpen=!m_this.parent.isOpen;if(contextElement.nextSibling.className.indexOf("none")==-1)
{contextElement.style.borderBottomWidth="";for(var g=0;g<m_this.parent.boundGadgets.length;g++)
{m_this.registerFor(m_this.parent.boundGadgets[g].getType(),callback,m_this.parent.DOMElement);}}
else
{contextElement.style.borderBottomWidth="0px";}
var stateValue="";for(var prop in m_this.parent.moduleState)
{if(prop=="s")
{stateValue+="s:{0},".format(m_this.stateFlag[m_this.parent.isOpen?"Open":"Closed"]);}
else
{if(typeof m_this.parent.moduleState[prop]=="string")
{stateValue+="{0}:'{1}',".format(prop,m_this.parent.moduleState[prop].replace(/'/g,"\\'"));}
else
{stateValue+="{0}:{1},".format(prop,m_this.parent.moduleState[prop]);}}}
stateValue=stateValue.substring(0,stateValue.length-1);m_this.parent.setState(eval("new Object({{0}})".format(stateValue)));}
if(typeof m_this.parent.render=="function")
{m_this.parent.render();}
if(typeof m_this.parent.headerClickExtra=="function")
{m_this.parent.headerClickExtra(m_this);}}}};function callback(p_objBinding,p_blnState)
{if(p_blnState)
{if(m_this.parent.isOpen&&p_objBinding.DOMElement.innerHTML==""&&typeof p_objBinding.render=="function")
{p_objBinding.render();}}};};this.removeCallback=function(p_objBinding)
{if(Msn.PI.Util.ToBoolean(m_this.parentArgs.isremoveable))
{m_this.bindEvent(p_objBinding,"ongadgetdown",function(){doRemoveClick(p_objBinding);});}
function doRemoveClick(p_objBinding)
{if((window.event.keyCode==13||window.event.keyCode==32)||(window.event.keyCode==0&&!window.event.shiftKey&&window.event.button!=2))
{m_this.parent.setState({s:m_this.stateFlag["Removed"]});m_this.parent.DOMElement.parentElement.removeChild(m_this.parent.DOMElement);window.event.cancelBubble=true;}
if(typeof m_this.parent.removeClickExtra=="function")
{m_this.parent.removeClickExtra(m_this);}};};};Msn.PI.NC.Module.Header.registerClass("Msn.PI.NC.Module.Header","Msn.PI.Module.Header");Msn.PI.NC.Module.Header.Params=Web.Enum.create("addgadgets","persist","imgpath");registerNamespace("Msn.PI.NC.Module.SlideShow");Msn.PI.NC.Module.SlideShow=function(p_el,p_args,p_namespace)
{Msn.PI.NC.Module.SlideShow.initializeBase(this,arguments);var m_this=this;p_args=m_this.getParameters();m_this.slides=new Array();m_this.headerElement=m_this.footer=null;m_this.prevtext=m_this.nexttext=null;this.initialize=function(p_owner)
{Msn.PI.NC.Module.SlideShow.getBaseMethod(this,"initialize","Msn.PI.Module.Base").call(this,p_owner);m_this.headerElement=m_this.DOMElement.firstChild;if(Msn.PI.Util.IsTextNode(m_this.headerElement.firstChild))
{Msn.PI.Util.GetNamedElement("span",m_this.headerElement,"","afterbegin").appendChild(m_this.headerElement.removeChild(m_this.headerElement.childNodes[1]));}
var slides=Web.Dom.getElementsByCssSelector("div.parent",m_this.DOMElement);var children=headline=abstr=imgparent=null;for(var i=0;i<slides.length;i++)
{Msn.PI.Util.AddClass(slides[i],"slide");var slideElement=slides[i].removeChild(Web.Dom.getElementsByCssSelector("H3",slides[i])[0]);var children=Web.Dom.getElementsByCssSelector("div",slides[i]);var imgparent=headline=abstr=null
var imgwidth=imgheight=0;if(children.length>0&&((children[0].innerHTML.length+children[1].innerHTML.length)>0))
{slides[i].style.filter="progid:DXImageTransform.Microsoft.Fade(Duration=2,overlap=1.0)";m_this.slides.push({title:slideElement,element:slides[i]});imgparent=Web.Dom.getElementsByCssSelector("div.linkedimg",slides[i]);if(imgparent.length!=0)
{imgwidth=Web.Conversion.coerceInt(imgparent[0].offsetWidth);imgheight=Web.Conversion.coerceInt(imgparent[0].offsetHeight);}
headline=Web.Dom.getElementsByCssSelector("div.linkabs1 span",slides[i])[0];headline=(headline.childNodes.length>0)?headline.firstChild:headline;Msn.PI.Util.CropText.ByContainerWidthAndLines(headline,Web.Conversion.coerceInt(slides[i].offsetWidth)-imgwidth,2);abstr=Web.Dom.getElementsByCssSelector("div.linkabs1 p",slides[i])[0];Msn.PI.Util.CropText.ByContainerDimension(abstr,(imgheight>=Web.Conversion.coerceInt(headline.offsetHeight))?imgheight-Web.Conversion.coerceInt(headline.offsetHeight):75-Web.Conversion.coerceInt(headline.offsetHeight),1);}
else
{slides[i].parentElement.removeChild(slides[i]);}}
slideElement=slideTitle=slideUrl=children=headline=abstr=imgparent=imgwidth=imgheight=null;m_this.prevtext=p_args.prev;m_this.nexttext=p_args.next;render();};this.dispose=function(p_blnUnload)
{m_this=m_this.headerElement=m_this.footer=p_el=p_args=p_namespace=null;Msn.PI.NC.Module.SlideShow.getBaseMethod(this,"dispose","Msn.PI.Module.Base").call(this,p_blnUnload);};function render()
{if(m_this.slides.length>1)
{m_this.footer=Msn.PI.Util.GetNamedElement("h2",m_this.DOMElement,"slider");m_this.footer.setAttribute("id","catslideftr");m_this.footer.setAttribute("{0}:id".format(p_namespace),m_this.footer.id);m_this.footer.setAttribute("{0}:persist".format(p_namespace),"false");Web.Bindings.attachElementBinding(m_this.footer,"Msn.PI.NC.Gadget.SlideControl",m_this,null,p_namespace,null,null,null,null);}
else if(m_this.slides.length==1)
{m_this.headerElement.removeChild(m_this.headerElement.firstChild);m_this.headerElement.appendChild(m_this.slides[0].title);}};};Msn.PI.NC.Module.SlideShow.registerClass("Msn.PI.NC.Module.SlideShow","Msn.PI.Module.Base");Msn.PI.NC.Module.SlideShow.Params=Web.Enum.create("prev","next");Web.Runtime.init();