// Copyright (c) Microsoft Corporation.  All rights reserved.
registerNamespace("Web.UI");Web.UI.Version="0.0600615.0";Web.UI.getLayoutRoot=function(){return document.compatMode=="CSS1Compat"?document.documentElement:document.body;};Web.UI.wireEvents=function(b,c,e,g){for(var i=0;i<c.length;i++){if(g)b.attachEvent(c[i],e);else b.detachEvent(c[i],e);}};Web.UI.registerEvents=function(h){h.prototype.attachEvent=Web.Bindings.Base.prototype.attachEvent;h.prototype.detachEvent=Web.Bindings.Base.prototype.detachEvent;h.prototype.fire=Web.Bindings.Base.prototype.fire;var args=[];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}h.Events=Web.Enum.create.apply(h,args);};Web.UI.registerAllBaseMethods=function(j,k){for(var prop in k){if("function"==typeof k[prop])j.registerBaseMethod(k,prop);}};Web.UI.getLocation=function(l,n){if(!l)return Web.UI.Rect.Empty;var c=new Web.UI.Rect();c.source=l;var s=l.currentStyle;var marg=new Array("Top","Left","Right","Bottom");for(var i=0;i<marg.length;i++){var m=marg[i];c["margin"+m]=Web.Conversion.coerceInt(s["margin"+m]);c["border"+m]=Web.Conversion.coerceInt(s["border"+m+"Width"]);c["padding"+m]=Web.Conversion.coerceInt(s["padding"+m]);}c.height=l.offsetHeight;c.width=l.offsetWidth;c.left=l.offsetLeft;c.top=l.offsetTop;l=l.offsetParent;var m_root=Web.UI.getLayoutRoot();while(l&&(!n||l!=n)){c.left+=l.offsetLeft-(m_root!=l?Web.Conversion.coerceInt(l.scrollLeft):0);c.top+=l.offsetTop-(m_root!=l?Web.Conversion.coerceInt(l.scrollTop):0);l=l.offsetParent;}if(document.compatMode=="CSS1Compat"){c.contentWidth=c.source.offsetWidth-c.borderLeft-c.borderRight-c.paddingLeft-c.paddingRight-c.marginLeft-c.marginRight;c.contentHeight=c.source.offsetHeight-c.borderTop-c.borderBottom-c.paddingTop-c.paddingBottom-c.marginTop-c.marginBottom;}else{c.contentWidth=c.source.offsetWidth;c.contentHeight=c.source.offsetHeight;}c.x=c.left;c.y=c.top;c.bottom=c.top+c.height-c.marginBottom;c.right=c.left+c.width-c.marginRight;return c;};Web.UI.getMouseLocation=function(o,p){var objScope=Web.UI.getLocation(p||Web.UI.getLayoutRoot());return new Web.UI.Point(o.clientX+Web.UI.getLayoutRoot().scrollLeft-objScope.left,o.clientY+Web.UI.getLayoutRoot().scrollTop-objScope.top);};Web.UI.getMouseOffset=function(q){if(q.srcElement.currentStyle.position=="relative")return new Web.UI.Point(q.x,q.y);else return new Web.UI.Point(q.offsetX,q.offsetY);};Web.UI.isFocusable=function(r){var focusList="INPUT|BUTTON|TEXTAREA|FIELDSET|IFRAME|SELECT|";return r.tagName&&!r.disabled&&(focusList.indexOf(r.tagName+"|")>-1||r.tagName=="A"&&r.href);};Web.UI.cancelBubble=function(){event.cancelBubble=true;};Web.UI.findFocusableElement=function(s,t,u){function v(w){if(!w)return null;var elNext=u?w.nextSibling:w.previousSibling;while(elNext&&elNext.nodeType!=1){elNext=u?elNext.nextSibling:elNext.previousSibling;}if(!elNext)return v(w.parentNode);else return elNext;}function x(s,t){var elCurrent=t;if(elCurrent&&s.contains(elCurrent))while(elCurrent!=null){if(!Web.UI.isFocusable(elCurrent)){if(u&&elCurrent.firstChild)elCurrent=elCurrent.firstChild;else{if(!u&&elCurrent.lastChild)elCurrent=elCurrent.lastChild;else elCurrent=v(elCurrent);}}else return elCurrent;}return null;}if(t)t=v(t);else t=s;var elMatch=x(s,t);if(!elMatch&&t&&t!=s)return x(s,s);else return elMatch;};Web.UI.Point=function(x,y){return {"left":x,"x":x,"top":y,"y":y,"offset":function(x,y){this.top+=y;this.y=this.top;this.left+=x;this.x=this.left;return this;},"add":function(x,y){return this.offset(x,y);},"subtract":function(x,y){return this.offset(-x,-y);}};};Web.UI.Size=function(w,h){return {"width":w,"height":h,"toString":function(){return "(width={0},height={1})".format(this.width,this.height);}};};Web.UI.Rect=function(x,y,w,h){return {"left":x,"x":x,"top":y,"y":y,"width":w,"height":h,"right":x+w,"bottom":y+h,"toString":function(){return "{x:{0},y:{1},width:{2},height:{3}}".format(this.x,this.y,this.width,this.height);},"equals":function(r){return this.x==r.x&&this.y==r.y&&this.width==r.width&&this.height==r.height;},"inflate":function(z,A){this.width+=z;this.height+=A;this.right=this.x+this.width;this.bottom=this.y+this.height;},"offset":function(x,y){this.x+=x;this.left=this.x;this.y+=y;this.top=this.y;this.right+=x;this.bottom+=y;},"isEmpty":function(){return this.width<=0||this.height<=0;},"contains":function(p){return p.x>=this.left&&p.x<=this.width+this.left&&p.y>=this.top&&p.y<=this.height+this.top;}};};Web.UI.Rect.Empty=new Web.UI.Rect(0,0,0,0);Web.UI.Region=function(){var m_regions=[];for(var i=0;i<arguments.length;i++){m_regions.push(arguments[i]);}this.add=function(B){m_regions.push(B);};this.remove=function(C){m_regions.remove(C);};this.contains=function(p){for(var i=0;i<m_regions.length;i++){if(m_regions[i].contains(p))return m_regions[i];}return null;};this.clear=function(){var m_regions=[];};this.toString=function(){var s="[";for(var i=0;i<m_regions.length;i++){s+=m_regions.toString()+",";}return s+"]";};};Web.UI.Control=function(D){var m_this=this;var m_hlpr=null;var m_state=null;Web.Runtime.onunload.attach(F);E();m_this.initialize=E;function E(){if(null!=m_hlpr)return;m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};m_state.contents=D;m_state.opacity=100;}this.dispose=function(){if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};function F(){m_this.dispose();}this.setBounds=function(G){m_this.setPosition(G);m_this.setSize(G);};this.getBounds=function(){return T();};this.setContents=function(H){m_hlpr.detachEventGroup("c");m_state.contents=H;Q("oncontentschanged");return m_state.contents;};this.getContents=function(){return m_state.contents;};this.setOpacity=function(I){if(!m_state.contents)return;m_state.opacity=I;if(I!=null){if(Web.Browser.isMozilla())I-=0.001;m_state.contents.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+Math.round(I)+")";}else m_state.contents.style.filter="";Q("onopacitychanged");};this.getOpacity=function(){return m_state.opacity;};this.setPosition=function(J){if(!m_state.contents)return;var bounds=m_this.getBounds();if(bounds.x==J.x&&bounds.y==J.y)return;var recalc=!m_state.offset||!m_state.bounds||!m_state.bounds.equals(bounds);if(recalc){m_state.contents.style.pixelTop=0;m_state.contents.style.pixelLeft=0;m_state.offset=m_this.getBounds();}m_state.contents.style.pixelTop=J.y-m_state.offset.y+(m_state.offset.marginTop||0);m_state.contents.style.pixelLeft=J.x-m_state.offset.x+(m_state.offset.marginLeft||0);m_state.bounds=m_this.getBounds();Q("onmove");};this.getPosition=function(){return T();};this.setSize=function(K){if(!m_state.contents)return;if(!isNaN(Number.parse(K.width)))m_state.contents.style.pixelWidth=K.width;else m_state.contents.style.width=K.width;if(!isNaN(Number.parse(K.height)))m_state.contents.style.pixelHeight=K.height;else m_state.contents.style.height=K.height;Q("onresize");};this.getSize=function(){return T();};this.setClip=function(x,y,L,M){if(!m_state.contents)return;var clip="rect("+y+"px "+L+"px "+M+"px "+x+"px)";if(null==x)clip="rect(auto auto auto auto)";try{m_state.contents.style.clip=clip;}catch(e){}Q("onclip");};this.getClip=function(){return m_state.contents.style.clip;};this.contains=function(N){var b=T().contains(N);return b;};this.hide=function(){if(!m_state.contents)return;m_state.contents.style.display="none";Q("onhide");};this.show=function(){if(!m_state.contents)return;m_state.contents.style.display="block";Q("onshow");};this.invalidate=function(){Q("oninvalidate");};this.toString=function(){return m_this.getBounds().toString();};function O(){Q("onresize");}function P(){Q("onresize");}function Q(R,S){if(m_state.moving)return;if(m_this.constructor!=Web.UI.Control&&(!m_this.constructor.Events||!m_this.constructor.Events[R]))m_this.constructor.applyClass(true);m_this.fire(R);if(R!="oninvalidate")Q("oninvalidate");}function T(){if(!m_state.contents)return Web.UI.Rect.Empty;var pos=Web.UI.getLocation(m_state.contents);if(!pos||pos.isEmpty()){var restore={"visibility":m_state.contents.currentStyle.visibility||m_state.contents.style.visibility||"visible","display":m_state.contents.currentStyle.display||m_state.contents.style.display||"auto"};m_state.contents.style.visibility="hidden";m_state.contents.style.display="block";pos=Web.UI.getLocation(m_state.contents);m_state.contents.style.display=restore.display;m_state.contents.style.visibility=restore.visibility;}return pos;}Web.UI.registerAllBaseMethods(Web.UI.Control,this);};Web.UI.Control.registerClass("Web.UI.Control");Web.UI.registerEvents(Web.UI.Control,"onshow","onhide","onmove","onresize","onclip","onopacitychanged","oncontentschanged","oninvalidate");Web.UI.getContainer=function(){if(Web.UI._container==null){Web.UI._container=document.createElement("span");document.body.insertAdjacentElement("afterBegin",Web.UI._container);}return Web.UI._container;};Web.UI.FramePopup=function(U){Web.UI.FramePopup.initializeBase(this);var m_this=this;var m_hlpr=null;var m_state=null;V();m_this.initialize=V;function V(){if(null!=m_hlpr)return;m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};if(Web.Browser.isMozilla()||m_state.initialized)return;m_state.initialized=true;var zIndex=Web.UI.getContainer().currentStyle.zIndex;if(!isNaN(Number(U))){zIndex=Number(U);m_state.parent=Web.UI.getContainer();m_state.owner=new Web.UI.Control(Web.UI.getContainer());m_hlpr.initializeProperty(m_state.owner);}else{if(U.style&&U.getElementsByTagName){m_state.owner=new Web.UI.Control(U);m_state.parent=U.parentNode;m_hlpr.initializeProperty(m_state.owner);}else{if(Web.UI.Control.isInstanceOfType(U)){m_state.owner=U;m_state.parent=U.getContents().parentNode;}}}m_state.container=document.createElement("div");m_state.container=m_hlpr.createNode("div",{},{"position":"absolute"},m_state.parent);var attribs={"tabIndex":-1};if(location.protocol=="https:"&&Web.UI.FramePopupURL==null)attribs.src=Web.Runtime.baseUrl+"empty.htm";else{if(Web.UI.FramePopupURL)attribs.src=Web.UI.FramePopupURL;}m_state.frame=m_hlpr.createNode("iframe",attribs,{"position":"absolute","display":"block","width":"100%","height":"100%"},m_state.container);m_this.setContents(m_state.container);m_this.setOpacity(0);if(null!=m_state.owner){m_hlpr.attachEvent(null,m_state.owner,"oninvalidate",X);var el=m_state.owner.getContents();zIndex=el.currentStyle.zIndex;if(zIndex=="auto")zIndex=0;}m_state.container.style.zIndex=zIndex-1;X();}this.dispose=function(W){Web.UI.FramePopup.getBaseMethod(m_this,"dispose","Web.UI.Control").call(this,W);if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};function X(){if(null==m_state.owner)return;var el=m_state.owner.getContents();if(!el||el.style.display=="none"){m_state.container.style.display="none";return;}var zIndex=el.currentStyle.zIndex;if(zIndex=="auto")zIndex=0;m_state.container.style.zIndex=zIndex-1;m_state.container.style.clip=el.style.clip;var b=m_state.owner.getBounds();m_state.container.style.display=el.currentStyle.display;m_this.setBounds(b);}this.positionAt=function(Y,Z){if(!m_state.initialized)m_this.initialize();m_this.setBounds(Y);if(m_state&&m_state.container)m_state.container.style.zIndex=Z;};};Web.UI.FramePopup.registerClass("Web.UI.FramePopup","Web.UI.Control");Web.UI.ShadowPopup=function(ab){Web.UI.ShadowPopup.initializeBase(this);var m_this=this;var m_hlpr=null;var m_state=null;bb();m_this.initialize=bb;function bb(){if(null!=m_hlpr)return;var props={"className":Web.UI.ShadowPopup.applyClass(true)};var styles={"backgroundColor":"#000000","position":"absolute","padding":0,"margin":0};Web.UI.ShadowPopup.getBaseMethod(m_this,"initialize","Web.UI.Control").call(this);m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};m_state.offset=3;m_state.opacity=25;m_state.useBlur=false;m_state.owner=ab;ab=null;if(!m_state.useBlur)styles.margin=m_state.offset+"px";else{styles.margin=-m_state.offset+"px";styles.marginRight=m_state.offset*2+"px";styles.marginBottom=m_state.offset*2+"px";}m_state.shadow=m_hlpr.createNode("div",props,styles,m_state.owner.getContents().parentNode);m_this.setContents(m_state.shadow);eb();m_hlpr.attachEvent(null,m_state.owner,"oninvalidate",eb);}this.dispose=function(cb){Web.UI.ShadowPopup.getBaseMethod(m_this,"dispose","Web.UI.Control").call(this,cb);if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};function eb(){if(null==m_state.owner)return;var el=m_state.owner.getContents();if(!el||el.currentStyle.display=="none"||m_state.owner.getOpacity()==0){m_state.shadow.style.display="none";return;}m_state.shadow.style.display=el.style.display;m_state.shadow.style.clip=el.style.clip;var zIndex=el.currentStyle.zIndex;if(zIndex=="auto")zIndex=0;m_state.shadow.style.zIndex=zIndex-1;m_this.setOpacity(m_state.owner.getOpacity());m_this.setBounds(m_state.owner.getBounds());}this.setOpacity=function(gb){if(null==gb)gb=100;gb=m_state.opacity*gb*gb/10000;if(!m_state.useBlur)Web.UI.ShadowPopup.getBaseMethod(m_this,"setOpacity","Web.UI.Control").call(m_this,gb);else m_state.shadow.style.filter="progid:DXImageTransform.Microsoft.Blur(pixelradius="+Math.round(m_state.offset*1.5)+",MakeShadow=True,shadowOpacity="+gb/100+")";};};Web.UI.ShadowPopup.registerClass("Web.UI.ShadowPopup","Web.UI.Control");Web.UI.Popup=function(){Web.UI.Popup.initializeBase(this);var m_this=this;var m_hlpr=null;var m_state=null;hb();m_this.initialize=hb;function hb(){if(null!=m_hlpr)return;Web.UI.Popup.getBaseMethod(m_this,"initialize","Web.UI.Control").call(this);m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};m_state.hdock=Web.UI.Popup.HDock.Screen;m_state.vdock=Web.UI.Popup.VDock.Screen;m_state.hanchor=Web.UI.Popup.HAnchor.Center;m_state.vanchor=Web.UI.Popup.VAnchor.Middle;m_state.padding=new Web.UI.Point(0,0);}this.dispose=function(jb){Web.UI.Popup.getBaseMethod(m_this,"dispose","Web.UI.Control").call(this,jb);if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};this.setPadding=function(kb,lb){m_state.padding.x=lb||m_state.padding.x;m_state.padding.y=kb||m_state.padding.y;m_this.recalc();};this.setDock=function(mb,nb){m_state.vdock=mb||m_state.vdock;m_state.hdock=nb||m_state.hdock;m_this.recalc();};this.setAnchor=function(ob,pb){m_state.vanchor=ob||m_state.vanchor;m_state.hanchor=pb||m_state.hanchor;m_this.recalc();};this.dockTo=function(qb,rb,sb){if(qb.getElementsByTagName){m_state.ctrlOwner=new Web.UI.Control(qb);m_hlpr.initializeProperty(m_state.ctrlOwner);}else{if(Web.UI.Control.isInstanceOfType(qb))m_ctrlOwner=qb;}m_state.elOffset=rb;m_state.blnRelocate=sb;m_this.recalc();};this.getDockElement=function(){return m_state.ctrlOwner.getContents();};this.getDockPosition=function(){if(!m_state.ctrlOwner&&m_state.hdock!=Web.UI.Popup.HDock.Screen&&m_state.vdock!=Web.UI.Popup.VDock.Screen)return Web.UI.Rect.Empty;var pos;var el=m_this.getContents();var size=m_this.getSize();var e=window.event||window.e;if(m_state.hdock!=Web.UI.Popup.HDock.Screen||m_state.vdock!=Web.UI.Popup.VDock.Screen)pos=m_state.ctrlOwner.getBounds();var dock=new Web.UI.Point();var anchor=new Web.UI.Point();switch(m_state.hdock){case Web.UI.Popup.HDock.Left:dock.x=pos.left;break;case Web.UI.Popup.HDock.Center:dock.x=(pos.left+pos.right)/2;break;case Web.UI.Popup.HDock.Right:dock.x=pos.right;break;case Web.UI.Popup.HDock.Screen:dock.x=Web.UI.getLayoutRoot().scrollLeft+Web.UI.getLayoutRoot().clientWidth/2;break;case Web.UI.Popup.HDock.Cursor:dock.x=Web.UI.getLayoutRoot().scrollLeft+e.clientX;break;}switch(m_state.vdock){case Web.UI.Popup.VDock.Top:dock.y=pos.top;break;case Web.UI.Popup.VDock.Middle:dock.y=(pos.top+pos.bottom)/2;break;case Web.UI.Popup.VDock.Bottom:dock.y=pos.bottom;break;case Web.UI.Popup.VDock.Screen:dock.y=Web.UI.getLayoutRoot().scrollTop+Web.UI.getLayoutRoot().clientHeight/2;break;case Web.UI.Popup.VDock.Cursor:dock.y=Web.UI.getLayoutRoot().scrollTop+e.clientY;break;}switch(m_state.hanchor){case Web.UI.Popup.HAnchor.Left:anchor.x=dock.x;break;case Web.UI.Popup.HAnchor.Center:anchor.x=dock.x-size.width/2;break;case Web.UI.Popup.HAnchor.Right:anchor.x=dock.x-size.width;break;}switch(m_state.vanchor){case Web.UI.Popup.VAnchor.Top:anchor.y=dock.y;break;case Web.UI.Popup.VAnchor.Middle:anchor.y=dock.y-size.height/2;break;case Web.UI.Popup.VAnchor.Bottom:anchor.y=dock.y-size.height;break;}anchor.y+=m_state.padding.y;anchor.x+=m_state.padding.x;if(m_state.blnRelocate){var root=Web.UI.getLayoutRoot();if(anchor.x+size.width>root.scrollLeft+root.clientWidth)anchor.x=root.scrollLeft+root.clientWidth-size.width;if(anchor.y+size.height>root.scrollTop+root.clientHeight)anchor.y=root.scrollTop+root.clientHeight-size.height;if(anchor.x<root.scrollLeft)anchor.x=root.scrollLeft;if(anchor.y<root.scrollTop)anchor.y=root.scrollTop;}if(m_state.elOffset){var offset=Web.UI.getLocation(m_state.elOffset);anchor.x-=offset.x;anchor.y-=offset.y;}anchor.left=anchor.x;anchor.top=anchor.y;return anchor;};this.setContents=function(tb,ub){m_hlpr.removeNodeGroup(null);if(typeof tb=="string"){m_state.contents=document.createElement("div");if(ub)m_state.contents.innerText=tb;else m_state.contents.innerHTML=tb;}else m_state.contents=tb;if(null==m_state.contents.parentNode||null==m_state.contents.parentNode.tagName){if(Web.Browser.isMozilla()&&document.domain!=location.host)document.body.appendChild(m_state.contents);else Web.UI.getContainer().appendChild(m_state.contents);m_hlpr.registerNode(m_state.contents);}m_state.contents.className+=" Msn_UI_Popup Web_UI_Popup";m_state.contents.style.position="absolute";m_state.contents.style.display="none";m_state.contents.style.zIndex++;m_state.contents=Web.UI.Popup.getBaseMethod(m_this,"setContents","Web.UI.Control").call(m_this,m_state.contents);m_state.frame=new Web.UI.FramePopup(m_this);m_hlpr.initializeProperty(m_state.frame);yb("int");return m_state.contents;};this.display=function(vb,wb,xb){m_this.initialize();m_this.dockTo(vb,xb,wb);yb("ext");m_this.show();return m_state.contents;};function yb(zb){if(zb=="int")m_hlpr.attachEvent("int",m_this,"onresize",Cb);else{m_hlpr.attachEvent("ext",window,"onresize",Db);if(m_state.vdock==Web.UI.Popup.VDock.Screen||m_state.hdock==Web.UI.Popup.HDock.Screen)m_hlpr.attachEvent("ext",window,"onscroll",Db);}}function Ab(Bb){m_hlpr.detachEventGroup(Bb);m_this.recalc();yb(Bb);}function Cb(){Ab("int");}function Db(){Ab("ext");}this.recalc=function(){if(!m_state.ctrlOwner&&m_state.hdock!=Web.UI.Popup.HDock.Screen&&m_state.vdock!=Web.UI.Popup.VDock.Screen)return;m_this.setPosition(m_this.getDockPosition());};Web.UI.registerAllBaseMethods(Web.UI.Popup,this);};Web.UI.Popup.registerClass("Web.UI.Popup","Web.UI.Control");Web.UI.Popup.VAnchor=Web.Enum.create("Top","Middle","Bottom","None");Web.UI.Popup.HAnchor=Web.Enum.create("Left","Center","Right","None");Web.UI.Popup.VDock=Web.Enum.create("Top","Middle","Bottom","Cursor","Screen");Web.UI.Popup.HDock=Web.Enum.create("Left","Center","Right","Cursor","Screen");Web.UI.Dialog=function(){Web.UI.Dialog.initializeBase(this,arguments);var m_this=this;var m_hlpr=null;var m_state=null;var m_modal=false;Eb();m_this.initialize=Eb;function Eb(){if(null!=m_hlpr)return;Web.UI.Dialog.getBaseMethod(m_this,"initialize","Web.UI.Popup").call(this);m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};m_state.aKillList=["onclick","onmousedown","onkeydown","onkeypress","ondblclick"];}this.dispose=function(Fb){Web.UI.Dialog.getBaseMethod(m_this,"dispose","Web.UI.Popup").call(this,Fb);if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};this.setModal=function(Gb){m_modal=Gb;};this.setContents=function(Hb){m_state.elDisplay=Web.UI.Dialog.getBaseMethod(m_this,"setContents","Web.UI.Popup").call(this,Hb);m_state.elStatusBefore=document.createElement("a");m_state.elStatusBefore.className="__before__";m_state.elStatusAfter=m_state.elStatusBefore.cloneNode(true);m_state.elStatusAfter.className="__elStatusAfter__";m_state.elStatusAfter.href=m_state.elStatusBefore.href="#";m_state.elStatusAfter.innerText="";m_state.elStatusBefore.innerText="";m_state.elDisplay.insertAdjacentElement("afterBegin",m_state.elStatusBefore);m_state.elDisplay.insertAdjacentElement("beforeEnd",m_state.elStatusAfter);m_state.elStatusBefore.style.position=m_state.elStatusAfter.style.position="absolute";m_state.elStatusBefore.style.pixelLeft=m_state.elStatusAfter.style.pixelLeft=m_state.elDisplay.offsetLeft;m_state.elStatusBefore.style.pixelTop=m_state.elDisplay.offsetTop;m_state.elStatusAfter.style.pixelTop=m_state.elDisplay.offsetTop+m_state.elDisplay.offsetHeight;m_hlpr.registerNode(m_state.elStatusBefore);m_hlpr.registerNode(m_state.elStatusAfter);return m_state.elDisplay;};this.setFocus=function(){Jb();};this.show=function(){m_this.initialize();Web.UI.Dialog.getBaseMethod(m_this,"show","Web.UI.Popup").call(this);m_this.setFocus();m_state.shown=true;setTimeout(Ib,0);};this.hide=function(){m_hlpr.detachEventGroup("show");Web.UI.Dialog.getBaseMethod(m_this,"hide","Web.UI.Popup").call(m_this);if(m_state)m_state.shown=false;};var checkAndHide=function(){if(m_modal&&event.returnValue==false)return;else m_this.hide();};function Ib(){if(!m_state.shown)return;if(!m_modal)m_hlpr.attachEvent("show",document,"onclick",checkAndHide);if(m_state.elStatusAfter){m_hlpr.attachEvent("show",m_state.elDisplay,"onclick",Function.CancelBubble);m_hlpr.attachEvent("show",m_state.elStatusBefore,"onclick",Function.KillEvent);m_hlpr.attachEvent("show",m_state.elStatusAfter,"onclick",Function.KillEvent);if(m_modal){m_hlpr.attachEvent("show",m_state.elStatusBefore,"onfocus",Jb);m_hlpr.attachEvent("show",m_state.elStatusAfter,"onfocus",Jb);}}}function Jb(){var elNext;if(null!=window["event"]&&event.srcElement==m_state.elStatusBefore)elNext=Web.UI.findFocusableElement(m_state.elDisplay,m_state.elStatusAfter,false);else elNext=Web.UI.findFocusableElement(m_state.elDisplay,m_state.elStatusBefore,true);if(elNext)setTimeout(function(){try{elNext.focus();}catch(ex){}},0);}function Kb(){event.returnValue=m_state.strPrevent;}Web.UI.registerAllBaseMethods(Web.UI.Dialog,this);};Web.UI.Dialog.registerClass("Web.UI.Dialog","Web.UI.Popup");Web.UI.Dialog.Modal=function(){Web.UI.Dialog.Modal.initializeBase(this,arguments);var m_elRegion;var m_elStatusBefore;var m_elStatusAfter;var m_strPrevent="";var m_this=this;var m_aKillList=["onclick","onmousedown","onkeydown","onkeypress","ondblclick"];Web.UI.Dialog.Modal.getBaseMethod(m_this,"setModal","Web.UI.Dialog").call(m_this,true);this.dispose=function(){Web.UI.Dialog.Modal.getBaseMethod(m_this,"dispose","Web.UI.Dialog").call(m_this);Pb();m_elRegion=m_elStatusBefore=m_elStatusAfter=null;};this.show=function(Lb){var m_elDialog=Web.UI.Dialog.Modal.getBaseMethod(m_this,"show","Web.UI.Dialog").call(this);m_elRegion=document.createElement("div");m_elRegion.className=m_elRegion.id="Web_UI_Popup_Modal_Background";m_elRegion.style.position="absolute";Web.UI.getContainer().appendChild(m_elRegion);Qb();Nb(Lb);};this.hide=function(Mb){var m_elDialog=Web.UI.Dialog.Modal.getBaseMethod(m_this,"hide","Web.UI.Dialog").call(this);Pb();};function Nb(Ob){m_elRegion.attachEvent("onfocus",m_this.setFocus);window.attachEvent("onresize",Qb);window.attachEvent("onfocus",Function.KillEvent);Web.UI.wireEvents(m_elRegion,m_aKillList,Function.KillEvent,true);if(Ob){window.attachEvent("onbeforeunload",Rb);m_strPrevent=Ob;}}function Pb(){window.detachEvent("onresize",Qb);window.detachEvent("onfocus",Function.KillEvent);window.detachEvent("onbeforeunload",Rb);if(m_elRegion){Web.UI.wireEvents(m_elRegion,m_aKillList,Function.KillEvent,false);m_elRegion.detachEvent("onfocus",m_this.setFocus);m_elRegion.removeNode(true);m_elRegion=null;}}function Qb(){m_elRegion.style.pixelTop=0;m_elRegion.style.pixelLeft=0;m_elRegion.style.pixelWidth=Math.max(Web.UI.getLayoutRoot().scrollWidth,Web.UI.getLayoutRoot().clientWidth);m_elRegion.style.pixelHeight=Math.max(Web.UI.getLayoutRoot().scrollHeight,Web.UI.getLayoutRoot().clientHeight);}function Rb(){event.returnValue=m_strPrevent;}return this;};Web.UI.Dialog.Modal.registerClass("Web.UI.Dialog.Modal","Web.UI.Dialog");Web.UI.registerEvents(Web.UI.Dialog.Modal,"onshow","onhide","onmove","onresize","onclip","onopacitychanged","oncontentschanged","oninvalidate");Web.UI.Menu=function(){Web.UI.Menu.initializeBase(this,arguments);var m_this=this;var m_hlpr=null;var m_state=null;Sb();m_this.initialize=Sb;function Sb(){if(null!=m_hlpr)return;Web.UI.Dialog.getBaseMethod(m_this,"initialize","Web.UI.Dialog").call(this);m_hlpr=new Web.UI.Utilities.CleanupHelper();m_state={};m_state.list=m_hlpr.createNode("ul",{"className":m_this.constructor.applyClass(true)},{},Web.UI.getContainer());m_hlpr.attachEvent(null,m_state.list,"onkeydown",Xb);m_hlpr.attachEvent(null,m_state.list,"onmouseenter",Yb);m_hlpr.attachEvent(null,m_state.list,"onmouseleave",Zb);m_hlpr.attachEvent(null,m_state.list,"onkeypress",lc);m_this.setContents(m_state.list);m_state.items=[];}this.dispose=function(Tb){Web.UI.Dialog.getBaseMethod(m_this,"dispose","Web.UI.Dialog").call(this,Tb);if(m_hlpr){m_hlpr.dispose();m_state=null;m_hlpr=null;}};this.addItems=function(Ub){for(var i=0;i<Ub.length;i++){m_hlpr.initializeProperty(Ub[i],"items");m_state.items.push(Ub[i]);var elChild=m_hlpr.createNode("li",{},{"position":"relative"},m_state.list,"items");var elItem=m_state.items[i].render(m_this);m_hlpr.registerNode(elItem,"items");elChild.appendChild(elItem);m_hlpr.attachEvent("items",m_state.items[i],"onmouseleave",bc);m_hlpr.attachEvent("items",m_state.items[i],"onmouseenter",ec);m_hlpr.attachEvent("items",m_state.items[i],"onclick",jc);}};this.clearItems=function(){m_hlpr.disposeGroup("items");m_state.items=[];m_this.render();};this.hide=function(){if(m_hlpr){m_this.fire("onclose",m_this);if(m_hlpr){m_hlpr.disposeGroup("show");if(m_state.last)m_state.last.hideSubMenu();clearTimeout(m_state.timeoutHide);clearTimeout(m_state.timeoutShow);Web.UI.Menu.getBaseMethod(m_this,"hide","Web.UI.Dialog").call(m_this);}}};this.show=function(){Web.UI.Menu.getBaseMethod(m_this,"show","Web.UI.Dialog").call(m_this);setTimeout(Wb,0);};this.render=function(Vb){};function Wb(){if(m_hlpr)m_hlpr.attachEvent("show",document.body,"oncontextmenu",m_this.hide);}function Xb(){switch(event.keyCode){case 37:if(m_this.parentMenu)m_this.hide();}}function Yb(){m_this.fire("onmouseenter",m_this);}function Zb(){clearTimeout(m_state.timeoutHide);clearTimeout(m_state.timeoutShow);m_this.fire("onmouseleave",m_this);}function ac(){hc();if(m_state.current&&m_state.current.isParentMenu()){m_state.current.showSubMenu();m_state.last=m_state.current;}}function bc(cc){if(cc.Package&&cc.Package.isParentMenu()&&cc.Package!=m_state.last){if(m_state.last==cc.Package)clearTimeout(m_state.timeoutHide);}}function ec(gc){m_state.timeoutHide=setTimeout(hc,500);if(gc.Package&&gc.Package.isParentMenu()){m_state.current=gc.Package;m_state.timeoutShow=setTimeout(ac,500);}else clearTimeout(m_state.timeoutShow);}function hc(){if(m_state&&m_state.last)m_state.last.hideSubMenu();}function jc(kc){if(m_state.last&&m_state.last==kc.Package){clearTimeout(m_state.timeoutHide);clearTimeout(m_state.timeoutShow);}else hc();m_state.current=kc.Package;}function lc(){if(event.keyCode==27)m_this.hide();}Web.UI.registerAllBaseMethods(Web.UI.Menu,this);};Web.UI.Menu.registerClass("Web.UI.Menu","Web.UI.Dialog");Web.UI.registerEvents(Web.UI.Menu,"onmouseenter","onmouseleave","onclose");Web.UI.Menu.TextItem=function(mc,nc){var objChildMenu=null;var m_elRoot;var m_timeout;var m_ltimeout;var m_this=this;var m_owner=null;this.getContext=function(){return nc;};function oc(){if(objChildMenu){m_elRoot.focus();objChildMenu.setPadding(m_elRoot.offsetTop,null);objChildMenu.display(m_owner.getOwner());m_this.fire("onexpand",m_this);}else m_this.fire("onclick",m_this);try{if(window.event&&window.event.type)window.event.returnValue=false;}catch(ex){}return false;}function pc(){if(objChildMenu)objChildMenu.hide();}function qc(){m_this.fire("onmouseenter",m_this);m_elRoot.className+=" hover";try{m_elRoot.focus();}catch(ex){}}function rc(){var str=m_elRoot.className;m_elRoot.className=m_elRoot.className.removeSpaceDelimitedString("hover");m_this.fire("onmouseleave",m_this);}function sc(){oc();event.cancelBubble=true;return false;}this.render=function(tc){m_owner=tc;if(!m_elRoot){m_elRoot=document.createElement("A");m_elRoot.className=Web.UI.Menu.TextItem.applyClass(false);var elMargin=document.createElement("span");elMargin.className="ctxtMargin";elMargin.innerHTML="&nbsp;";m_elRoot.appendChild(elMargin);var elContents=document.createElement("span");elContents.className="ctxtContext";m_elRoot.href="#";elContents.innerText=mc;m_elRoot.appendChild(elContents);m_elRoot.attachEvent("onmouseenter",qc);m_elRoot.attachEvent("onmouseleave",rc);if(objChildMenu){var elRight=document.createElement("span");elRight.innerHTML="&gt;";elRight.className="ctxtMore";m_elRoot.appendChild(elRight);m_elRoot.attachEvent("oncontextmenu",sc);m_elRoot.attachEvent("onkeydown",uc);}m_elRoot.attachEvent("onclick",oc);}return m_elRoot;};function uc(){switch(event.keyCode){case 39:m_elRoot.click();break;}}this.isParentMenu=function(){return !!objChildMenu;};this.hideSubMenu=function(){if(this.isParentMenu())objChildMenu.hide();};this.showSubMenu=function(){oc();};this.addMenu=function(vc){objChildMenu=vc;objChildMenu.setDock(Web.UI.Popup.VDock.Top,Web.UI.Popup.HDock.Right);vc.parentMenu=this;};this.dispose=function(){if(objChildMenu)objChildMenu.dispose();if(m_elRoot){m_elRoot.detachEvent("onclick",oc);m_elRoot.detachEvent("onkeydown",uc);m_elRoot.detachEvent("onmouseenter",qc);m_elRoot.detachEvent("onmouseleave",rc);m_elRoot.detachEvent("oncontextmenu",sc);}clearTimeout(m_timeout);clearTimeout(m_ltimeout);m_owner=m_elRoot=objChildMenu=null;};};Web.UI.registerEvents(Web.UI.Menu.TextItem,"onmouseenter","onmouseleave","onexpand","onhover","onclick");Web.UI.Menu.TextItem.registerClass("Web.UI.Menu.TextItem");Web.UI.Menu.Rule=function(){var objChildMenu=null;var m_elRoot;var m_timeout;var m_ltimeout;var m_this=this;var m_owner=null;this.render=function(wc){m_owner=wc;if(!m_elRoot){m_elRoot=document.createElement("hr");m_elRoot.size="1";m_elRoot.className=Web.UI.Menu.Rule.applyClass(false);m_elRoot.attachEvent("onclick",xc);}return m_elRoot;};function xc(){m_this.fire("onclick",m_this);}this.isParentMenu=function(){return false;};this.hideSubMenu=function(){};this.showSubMenu=function(){};this.addMenu=function(yc){};this.dispose=function(){if(m_elRoot)m_elRoot.detachEvent("onclick",xc);m_owner=m_elRoot=objChildMenu=null;};};Web.UI.registerEvents(Web.UI.Menu.Rule,"onmouseenter","onmouseleave","onexpand","onhover","onclick");Web.UI.Menu.Rule.registerClass("Web.UI.Menu.Rule");registerNamespace("Web.UI.Binding");Web.UI.Popup.Tooltip=function(zc,Ac,Bc){Web.UI.Popup.Tooltip.initializeBase(this);var m_objTimer=null;var m_this=this;var m_elTip=null;function Cc(){m_this.display(zc,true);}this.hide=function(){Web.UI.Popup.Tooltip.getBaseMethod(m_this,"hide","Web.UI.Popup").call(this);clearTimeout(m_objTimer);};function Dc(){m_this.hide();}function Ec(){clearTimeout(m_objTimer);m_objTimer=setTimeout(Cc,Ac);}this.display=function(Fc){m_elTip=Web.UI.Popup.Tooltip.getBaseMethod(m_this,"display","Web.UI.Popup").call(this,zc,Fc);m_elTip.className+=" Web_UI_Popup_Tooltip";};this.setDock(Web.UI.Popup.VDock.Bottom,Web.UI.Popup.HDock.Left);this.setAnchor(Web.UI.Popup.VAnchor.Top,Web.UI.Popup.HAnchor.Left);if(Bc)this.setContents(Bc);if(!Ac)Ac=500;zc.attachEvent("onmousemove",Ec);zc.attachEvent("onmouseout",Dc);zc.attachEvent("onmousedown",Dc);this.initialize();this.dispose=function(){Web.UI.Popup.Tooltip.getBaseMethod(m_this,"dispose","Web.UI.Popup").call(this);zc.detachEvent("onmousemove",Ec);zc.detachEvent("onmouseout",Dc);m_elTip=null;clearTimeout(m_objTimer);};};Web.UI.Popup.Tooltip.registerClass(null,"Web.UI.Popup");registerNamespace("Web.UI.Binding");Web.UI.Binding.Tooltip=function(Gc,Hc){Web.UI.Binding.Tooltip.initializeBase(this,arguments);Hc=this.getParameters(Hc);var m_tooltip;this.initialize=function(Ic){Web.UI.Binding.Tooltip.getBaseMethod(m_this,"initialize","Web.Bindings.Base").call(this,Ic);m_tooltip=new Web.UI.Popup.Tooltip(Gc,Hc.timeout);var blnText=Hc.mode=="text";m_tooltip.setContents(Hc.tip.toString(),blnText);};this.dispose=function(Jc){Web.UI.Binding.Tooltip.getBaseMethod(m_this,"dispose","Web.Bindings.Base").call(this,p_blnDispoase);m_tooltip.dispose();};};Web.UI.Binding.Tooltip.registerClass("Web.UI.Binding.Tooltip","Web.Bindings.Base");Web.UI.Binding.Tooltip.Params=Web.Enum.create("tip","mode","timeout");registerNamespace("Web.Accessibility");Web.Accessibility._Wrap=new function(){function BaseAccessibility(){if(event.srcElement.tagName=="SELECT")return false;}function CleanUp(){document.detachEvent("onclick",BaseAccessibility);}document.attachEvent("onclick",BaseAccessibility);Web.Runtime.onunload.attach(CleanUp);}();registerNamespace("Web.UI.Utilities");Web.UI.Utilities.CleanupHelper=function(){var m_h=[];var m_d=[];var m_n=[];var m_this=this;this.initialize=function(Kc){};this.dispose=function(Lc){je();ke(Lc);if(!Lc)le();m_h=[];m_d=[];m_n=[];};this.disposeGroup=function(Mc){m_this.removeNodeGroup(Mc);m_this.detachEventGroup(Mc);m_this.disposePropertyGroup(Mc);};this.attachEvent=function(Nc,Oc,Pc,Qc){var h={"group":Nc,"obj":Oc,"evt":Pc,"cb":Qc,"detach":function(){this.obj.detachEvent(Pc,Qc);},"equals":function(o,e,c){return this.obj==o&&this.evt==e&&this.cb==c;}};Oc.attachEvent(Pc,Qc);m_h.push(h);};this.initializeProperty=function(Rc,Sc){if(Rc.initialize)Rc.initialize();m_d.push({"obj":Rc,"group":Sc});};this.registerNode=function(Tc,Uc){m_n.push({"node":Tc,"group":Uc});};this.createNode=function(Vc,Wc,Xc,Yc,Zc){var el=document.createElement(Vc);for(var p in Wc){el[p]=Wc[p];}for(var p in Xc){el.style[p]=Xc[p];}if(Yc)Yc.appendChild(el);m_this.registerNode(el,Zc);return el;};this.removeNodeGroup=function(ae){for(var i=m_n.length-1;i>=0;i--){if(m_n[i].group==ae){m_n[i].node.removeNode(true);m_n.remove(m_n[i]);}}};this.detachEvent=function(be,ce,ee){for(var i=m_h.length-1;i>=0;i--){if(m_h[i].equals(be,ce,ee)){m_h[i].detach();m_h.remove(m_h[i]);}}};this.detachEventGroup=function(ge){for(var i=m_h.length-1;i>=0;i--){if(m_h[i].group==ge){m_h[i].detach();m_h.remove(m_h[i]);}}};this.disposePropertyGroup=function(he){if(null==m_d)return;for(var i=m_d.length-1;i>=0;i--){if(m_d[i].group==he){if(m_d[i].obj.dispose)m_d[i].obj.dispose();m_d.remove(m_d[i]);}}};function je(){if(null==m_h)return;for(var i=m_h.length-1;i>=0;i--){m_h[i].detach();m_h[i]=null;}m_h=[];}function ke(){if(null==m_d)return;for(var i=m_d.length-1;i>=0;i--){if(m_d[i].obj.dispose)m_d[i].obj.dispose();m_d[i]=null;}m_d=[];}function le(){if(null==m_n)return;for(var i=m_n.length-1;i>=0;i--){m_n[i].node.removeNode(true);m_n[i]=null;}m_n=[];}};Web.Animation={"Initialize":function(){Web.Animation.Timer=new Web.Animation.Timer();Web.Animation.Easing.Initialize();Web.Runtime.onunload.attach(Web.Animation.Dispose);},"Dispose":function(){Web.Animation.Timer.stop();},"Timer":function(){var m_ivls=[null,null];var m_ivld=[30,11];var m_this=this;var m_callbacks=[];this.add=this.attach=function(me){m_callbacks.push(me);if(1==m_callbacks.length)m_this.start();};this.remove=this.detach=function(ne){m_callbacks.remove(ne);if(m_callbacks.length==0)m_this.stop();};this.getTicks=function(){return new Date().valueOf();};this.start=function(){m_ivls.forEach(pe,this);};this.stop=function(){m_callbacks=[];m_ivls.forEach(qe,this);};function oe(){var t=m_this.getTicks();for(var i=0;i<m_callbacks.length;i++){m_callbacks[i](t);}}function pe(v,i,a){if(!a[i])a[i]=window.setInterval(oe,m_ivld[i]);}function qe(v,i,a){window.clearInterval(v);a[i]=null;}},"Animator":function(re,se,te){var m_this=this;var m_start=null;var m_reverse=false;var m_running=false;this.reverse=function(){m_this.stop();m_reverse=true;m_this.start();};this.start=function(){m_running=true;m_start=Web.Animation.Timer.getTicks();Web.Animation.Timer.attach(ue);};this.stop=function(){Web.Animation.Timer.detach(ue);m_running=false;m_reverse=false;};this.isRunning=function(){return m_running;};function ue(t){var current=m_this.getCurrent(t);if(m_reverse&&current==0||current==re)m_this.stop();te(se(current/re));}function ve(we){if(we<=0)return 0;if(we>=re)return re;return we;}this.getCurrent=function(t){return ve(m_reverse?re-t-m_start:t-m_start);};},"Easing":{"_this":this,"Initialize":function(){var exp=10;this.Linear=this.Poly(1);this.QuadraticInOut=this.InOut(this.Poly(2),0.5);this.CircularInOut=this.InOut(this.Circle(),0.5);this.ExponentialInOut=this.InOut(this.Exponent(2,exp),4/exp);},"Dispose":function(){},"Reverse":function(xe){return function(t){return 1-xe(1-t);};},"InOut":function(ye,ze){ze=ze||0.5;var rev=this.Reverse(ye);return function(t){if(t<ze)return (1-ze)*ye(t/ze);return 1-ze+ze*rev((t-ze)/(1-ze));};},"Poly":function(Ae){return function(t){return Math.pow(t,Ae);};},"Sine":function(Be){Be=Be||2;return function(t){return 1-Math.cos(t*Math.PI/2);};},"Circle":function(){return function(t){return -(Math.sqrt(1-t*t)-1);};},"Exponent":function(Ce,De){Ce=Ce||2;De=De||10;var zero=Math.pow(Ce,-De);var one=1-zero;return function(t){return (Math.pow(Ce,De*(t-1))-zero)/one;};},"Back":function(s,Ee){s=s||2;Ee=Ee||this.ExponentialInOut;return function(t){return Ee(t)*((s+1)*t-s);};}}};Web.Animation.Initialize();registerNamespace("Web.UI");var Web_UI_DragDropManager=Web.UI.DragDropManager=function(Fe){var _ui=Web.UI;var m_root=_ui.getLayoutRoot();var m_elScope=Fe||m_root;var m_this=this;var m_blnDestroy=false;var m_elDrag;var arrRects;var arrElements;var arrTestRegions;var arrEnter;var _gl=_ui.getLocation;var _bX=Web_UI_DragDropManager.bucketX;var _bY=Web_UI_DragDropManager.bucketY;var _mf=Math.floor;this.resetTargets=function(){arrRects=[];arrElements=[];arrTestRegions=[];arrEnter=[];};this.resetTargets();this.addTargetElement=function(Ge,He,Ie){if(m_elScope.contains(Ge))arrElements.push({"element":Ge,"context":He,"testFunction":Ie});else throw new Error("The provided element is not in the specified drag-drop scope.");};function Je(Ke,Le,Me,Ne,Oe){Le.context=Me;Le.element=Ne;Le.over=false;Le.testFunction=Oe;var _top=_mf(Le.top/_bY);var _left=_mf(Le.left/_bX);var _right=_mf(Le.right/_bX);var _bottom=_mf(Le.bottom/_bY);for(var y=_top;y<=_bottom;y++){if(!Ke[y])Ke[y]=[];var arrY=Ke[y];for(var x=_left;x<=_right;x++){if(!arrY[x])arrY[x]=[];arrY[x].push(Le);}}}this.addTargetRegion=function(Pe,Qe,Re){var newRect=new _ui.Rect(Pe.x,Pe.y,Pe.width,Pe.height);Je(arrRects,newRect,Qe,null,Re);};function Se(Te,Ue){var currPos=_gl(m_elScope);var evObject={"srcElement":Te,"definition":Ue};var ev=event;var mouseLeft=ev.clientX+m_elScope.scrollLeft-currPos.left+(m_elScope==m_root?0:m_root.scrollLeft);var mouseTop=ev.clientY+m_elScope.scrollTop-currPos.top+(m_elScope==m_root?0:m_root.scrollTop);var rect;for(var i=arrEnter.length-1;i>=0;i--){rect=arrEnter[i];if(!(mouseLeft>rect.left&&mouseLeft<rect.right&&mouseTop>rect.top&&mouseTop<rect.bottom)){if(!rect.testFunction||!rect.testFunction(mouseLeft,mouseTop)){evObject.target=rect;rect.over=false;m_this.fire("ontargetleave",evObject);arrEnter.removeAt(i);}}}var modLeft=_mf(mouseLeft/_bX);var modTop=_mf(mouseTop/_bY);var arrTop=arrTestRegions[modTop];if(arrTop){var arrLeft=arrTop[modLeft];if(arrLeft){var iCount=arrLeft.length;for(var i=0;i<iCount;i++){rect=arrLeft[i];if(mouseLeft>rect.left&&mouseLeft<rect.right&&mouseTop>rect.top&&mouseTop<rect.bottom){if(!rect.testFunction||rect.testFunction(mouseLeft,mouseTop)){evObject.target=rect;if(!rect.over){rect.over=true;arrEnter.push(rect);m_this.fire("ontargetenter",evObject);}m_this.fire("ontargetover",evObject);}}}}}return evObject.definition;}var _dd=_ui.DragDrop;function Ve(We,Xe){switch(Xe){case _dd.State.Moving:We=Se(We.dragElement,We);m_this.fire("ondrag",{"srcElement":We.dragElement,"definition":We});break;case _dd.State.Complete:m_this.fire("ondragend",{"targets":arrEnter,"srcElement":We.dragElement,"definition":We});arrTestRegions=[];var iCount=arrEnter.length;for(var i=0;i<iCount;i++){arrEnter[i].over=false;}arrEnter=[];if(m_blnDestroy)m_this.dispose();break;}}this.recalc=function(){arrTestRegions=arrRects.clone();var iCount=arrElements.length;var prevOffset=null;var objPos;for(var iPos=0;iPos<iCount;iPos++){var objItem=arrElements[iPos];var elItem=objItem.element;var elParent=elItem.offsetParent;if(prevOffset!=elParent&&elParent!=Fe){objPos=_gl(elParent,Fe);prevOffset=elParent;Je(arrTestRegions,new _ui.Rect(objPos.left+elItem.offsetLeft,objPos.top+elItem.offsetTop,elItem.offsetWidth,elItem.offsetHeight),objItem.context,objItem.element,objItem.testFunction);}else{objPos=_gl(elItem,Fe);Je(arrTestRegions,new _ui.Rect(objPos.left,objPos.top,objPos.width,objPos.height),objItem.context,objItem.element,objItem.testFunction);}}};this.dispose=function(){window.detachEvent("onunload",m_this.dispose);var objItem=arrElements.pop();while(objItem){objItem.context=objItem.element=objItem.testFunction=null;objItem=arrElements.pop();}objItem=arrRects.pop();while(objItem){objItem.context=objItem.element=objItem.testFunction=null;objItem=arrRects.pop();}for(var strEventName in this._htEvents){this._htEvents[strEventName].clear();}arrTestRegions=m_elDrag=m_elScope=null;};this.start=function(Ye,Ze,ag){m_blnDestroy=ag;m_elDrag=_dd(Ye,m_elScope,Ve,Ze,true,true);m_this.fire("ondraginit",{"srcElement":m_elDrag});m_this.recalc();m_this.fire("ondragstart");return m_elDrag;};window.attachEvent("onunload",m_this.dispose);};Web_UI_DragDropManager.TargetType=__Web_Enum.create("Element","Region");Web_UI_DragDropManager.prototype.attachEvent=__Web_Bindings.Base.prototype.attachEvent;Web_UI_DragDropManager.prototype.detachEvent=__Web_Bindings.Base.prototype.detachEvent;Web_UI_DragDropManager.prototype.fire=__Web_Bindings.Base.prototype.fire;Web_UI_DragDropManager.Events=__Web_Enum.create("ondrag","ondraginit","ondragstart","ondragend","ontargetenter","ontargetover","ontargetleave");Web_UI_DragDropManager.bucketX=125;Web_UI_DragDropManager.bucketY=50;var Web_UI_DragDrop=Web.UI.DragDrop=function(bg,cg,eg,gg,hg,jg){var m_intCacheHeight;var m_intCacheWidth;var m_blnDragging=true;var m_elDrag=null;var m_elFrame=null;var _ui=Web.UI;var m_elRoot=_ui.getLayoutRoot();var m_elScope=cg||m_elRoot;var m_intWidth=bg.offsetWidth;var m_intHeight=bg.offsetHeight;var m_State=_ui.DragDrop.State.Initialize;var m_pntOffset;var _gl=_ui.getLocation;if(event.button==Web.Browser.Button.LEFT||jg){document.attachEvent("onmousemove",kg);m_intCacheHeight=m_elScope.scrollHeight;m_intCacheWidth=m_elScope.scrollWidth;kg();event.returnValue=false;}else event.returnValue=true;function kg(){document.selection.empty();var ev=event;if(m_State==_ui.DragDrop.State.Initialize){if(gg){if(!_ui.DragDrop.pool)m_elDrag=_ce("div");else{m_elDrag=_ui.DragDrop.pool;m_elDrag.style.display="";}m_elDrag.className="Web_UI_DragDrop";var elCopy=bg.cloneNode(true);bg.className=bg.className.removeSpaceDelimitedString("Web_UI_DragDrop_Source")+" Web_UI_DragDrop_Source";m_elDrag.style.pixelWidth=m_intWidth;m_elDrag.style.pixelHeight=m_intHeight;m_elDrag.appendChild(elCopy);m_elDrag.style.zIndex=1000;m_elDrag.style.position="absolute";elCopy.style.position="static";}else{m_elDrag=bg;m_elDrag.className=m_elDrag.className.removeSpaceDelimitedString("Web_UI_DragDrop")+" Web_UI_DragDrop";}m_elDrag.style.position="absolute";if(gg&&m_elDrag.parentElement!=m_elScope){if(m_elScope==document.documentElement)document.body.appendChild(m_elDrag);else m_elScope.appendChild(m_elDrag);}m_elDrag.attachEvent("onmouseup",lg);m_elDrag.attachEvent("onlosecapture",mg);m_elDrag.setCapture();var objSrcLoc=_gl(bg,m_elRoot);m_pntOffset=_ui.getMouseLocation(ev,m_elRoot).subtract(objSrcLoc.left,objSrcLoc.top);if(eg)eg({"dragElement":m_elDrag,"srcElement":bg},m_State);m_State=_ui.DragDrop.State.Moving;if(hg)m_elFrame=new _ui.FramePopup(m_elDrag);}else{var currPos=_gl(m_elScope);var pntMouseClient=new _ui.Point(ev.clientX+m_elRoot.scrollLeft,ev.clientY+m_elRoot.scrollTop);var intNextPosLeft=pntMouseClient.x-currPos.left-m_pntOffset.x+(m_elScope!=m_elRoot?m_elScope.scrollLeft:0);var intNextPosTop=pntMouseClient.y-currPos.top-m_pntOffset.y+(m_elScope!=m_elRoot?m_elScope.scrollTop:0);intNextPosLeft=intNextPosLeft>-m_pntOffset.x?intNextPosLeft+m_pntOffset.x<m_intCacheWidth?intNextPosLeft:m_intCacheWidth-m_pntOffset.x:-m_pntOffset.x;intNextPosTop=intNextPosTop>-m_pntOffset.y?intNextPosTop+m_pntOffset.y<m_intCacheHeight?intNextPosTop:m_intCacheHeight-m_pntOffset.y:-m_pntOffset.y;if(intNextPosLeft<m_intCacheWidth+m_elDrag.offsetWidth)m_elDrag.style.pixelLeft=intNextPosLeft;if(intNextPosTop<m_elScope.scrollHeight+m_elDrag.offsetHeight)m_elDrag.style.pixelTop=intNextPosTop>-m_pntOffset.y?intNextPosTop:-m_pntOffset.y;var vertOnPageBy=pntMouseClient.y-m_elDrag.offsetTop;var horizOnByPageBy=pntMouseClient.x-m_elDrag.offsetLeft;if(m_elDrag.offsetTop<=m_elScope.scrollTop&&vertOnPageBy>=0)m_elScope.scrollTop-=(vertOnPageBy+5);else{if(m_elDrag.offsetTop+vertOnPageBy>m_elScope.scrollTop+m_elScope.clientHeight&&m_elDrag.offsetTop+vertOnPageBy<m_intCacheHeight)m_elScope.scrollTop+=vertOnPageBy+5;}if(m_elDrag.offsetLeft<=m_elScope.scrollLeft)m_elScope.scrollLeft-=horizOnByPageBy;else{if(m_elDrag.offsetLeft+horizOnByPageBy>m_elScope.scrollLeft+m_elScope.clientWidth&&m_elDrag.offsetLeft+horizOnByPageBy<m_intCacheWidth)m_elScope.scrollLeft+=horizOnByPageBy;}if(m_elFrame)m_elFrame.positionAt(new _ui.Rect(m_elDrag.offsetLeft,m_elDrag.offsetTop,m_elDrag.offsetWidth,m_elDrag.offsetHeight),m_elDrag.currentStyle.zIndex-1);var evParams={"scrollHeight":m_intCacheHeight,"scrollWidth":m_intCacheWidth,"dragElement":m_elDrag,"srcElement":bg,"ev":ev};if(eg)eg(evParams,m_State);m_intCacheHeight=evParams.scrollHeight;m_intCacheWidth=evParams.scrollWidth;}ev.returnValue=false;return false;}function lg(){if(m_blnDragging){m_blnDragging=false;m_State=_ui.DragDrop.State.Complete;m_elDrag.releaseCapture();document.detachEvent("onmousemove",kg);m_elDrag.detachEvent("onmouseup",lg);m_elDrag.detachEvent("onlosecapture",mg);if(eg)eg({"dragElement":m_elDrag,"srcElement":bg,"ev":window.event},m_State);if(gg){bg.className=bg.className.removeSpaceDelimitedString("Web_UI_DragDrop_Source");if(gg&&m_elDrag.filters&&m_elDrag.filters.length>0){m_elDrag.innerHTML="";if(!_ui.DragDrop.pool)_ui.DragDrop.pool=m_elDrag;m_elDrag.style.display="none";}else m_elDrag.removeNode(true);}else m_elDrag.className=m_elDrag.className.removeSpaceDelimitedString("Web_UI_DragDrop");if(m_elFrame){m_elFrame.dispose();m_elFrame=null;}bg=m_elScope=null;document.selection.empty();}}function mg(){if(m_blnDragging)lg();}return m_elDrag;};Web_UI_DragDrop.State=__Web_Enum.create("Initialize","Moving","Complete");Web_UI_DragDrop.pool=null;FireAnt.AutoCompleteInput=function(ng,og,pg){FireAnt.AutoCompleteInput.initializeBase(this,arguments);og=this.getParameters();var m_obj=this;var m_autoCompleteList=null;var rg_onkeyup_ExcludedKeyCodes=null;var m_rgEmailAddressDelimiters=null;var m_textBeforeItem=null;var m_textAfterItem=null;var m_isDropdownExpanded=false;var m_previousText="";var m_lastFilter="";var m_lastMatch="";var m_lastAttemptedNonMatch="";var m_keypressDelay;var m_delay=null;this.initialize=function(qg){FireAnt.AutoCompleteInput.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,qg);m_obj.registerFor(FireAnt.AutoCompleteList,sg);ng.attachEvent("onkeydown",Ag);ng.attachEvent("onkeyup",Cg);ng.attachEvent("onblur",Fg);var sExcludedKeyCodes=og.onkeydown_selectionkeycodes.toString()+",16,17,18,27,33,34,35,36,37,38,39,40";rg_onkeyup_ExcludedKeyCodes=sExcludedKeyCodes.split(",");m_rgEmailAddressDelimiters=og.matchingitemdelimeters.toString().split(" ");m_keypressDelay=isNaN(og.keypressdelay)?300:og.keypressdelay;m_delay=new DelayEngine(m_keypressDelay);};FireAnt.AutoCompleteInput.registerBaseMethod(this,"initialize");this.dispose=function(rg){FireAnt.AutoCompleteInput.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,rg);ng.detachEvent("onkeydown",Ag);ng.detachEvent("onkeyup",Cg);ng.detachEvent("onblur",Fg);m_autoCompleteList.detachEvent("onclick",wg);m_autoCompleteList.detachEvent("oncollapse",yg);m_autoCompleteList.detachEvent("onblur",Fg);if(m_delay)m_delay.dispose();m_obj=m_autoCompleteList=rg_onkeyup_ExcludedKeyCodes=m_rgEmailAddressDelimiters=m_textBeforeItem=m_textAfterItem=m_previousText=m_lastMatch=m_lastFilter=m_lastAttemptedNonMatch=m_keypressDelay=m_delay=null;};FireAnt.AutoCompleteInput.registerBaseMethod(this,"dispose");function sg(tg,ug){if(ug){if(Web.Type.compare(tg,FireAnt.AutoCompleteList)){if(tg.GetId()==og.autocompletelistid.toString()){m_autoCompleteList=tg;m_autoCompleteList.attachEvent("onclick",wg);m_autoCompleteList.attachEvent("oncollapse",yg);m_autoCompleteList.attachEvent("onblur",Fg);}}}}this.RepositionList=function(){if(m_autoCompleteList.IsExpanded()&&m_isDropdownExpanded)m_autoCompleteList.Expand(m_obj.GetBoundElemDimensions(),og.ps.toString());};this.ReplaceItemBeingEdited=function(vg){if(m_textBeforeItem.trim()!="")m_textBeforeItem+=" ";if(m_textAfterItem.trim()=="")m_textAfterItem=m_rgEmailAddressDelimiters[0]+" ";m_previousText=ng.value=m_textBeforeItem+vg+m_textAfterItem;};this.HandleSelection=Function.abstractMethod;this.AdjustHeight=Function.abstractMethod;this.PostOnKeyUp=Function.abstractMethod;this.GetBoundElemDimensions=Function.abstractMethod;function wg(xg){if(m_isDropdownExpanded)m_obj.HandleSelection(m_autoCompleteList.PickSelectedItem(xg.Package.clicked_element,true));}function yg(zg){m_isDropdownExpanded=false;}function Ag(Bg){if(inArray(event.keyCode,og.onkeydown_selectionkeycodes.toString().split(","))!=-1&&!event.shiftKey&&!event.ctrlKey&&!event.altKey)m_obj.HandleSelection(m_autoCompleteList.PickSelectedItem(null,true));else{if(inList(event.keyCode,40)&&!m_autoCompleteList.IsExpanded()&&toBool(og.downarrowdisplayslist.toString()))Jg(true,"");else{if(m_autoCompleteList.HasItems()&&m_autoCompleteList.IsExpanded()){switch(event.keyCode){case 16:case 17:case 18:break;case 27:Jg(false);break;case 33:m_autoCompleteList.PageUp();break;case 34:m_autoCompleteList.PageDown();break;case 35:m_autoCompleteList.ActivateLastItem();break;case 36:m_autoCompleteList.ActivateFirstItem();break;case 38:m_autoCompleteList.ActivatePreviousItem();break;case 40:m_autoCompleteList.ActivateNextItem();break;default:return;}window.event.returnValue=false;window.event.cancelBubble=true;}}}}function Cg(Dg){if(inArray(event.keyCode,rg_onkeyup_ExcludedKeyCodes)==-1)m_delay.fire(false,Eg,"AutoCompleteInput");}function Eg(){var itemBeingEdited=Mg();g_profileObj=FireAnt.Debug.StartProfile("AutoCompleteList.DisplayFilteredItems("+itemBeingEdited+")");Jg(true,itemBeingEdited);g_profileObj.EndProfile();m_obj.PostOnKeyUp();}function Fg(Gg){if(m_isDropdownExpanded){if(Web.Browser.isIE()){if(!m_autoCompleteList.BoundElementEquals(document.activeElement))Jg(false);}else{var oElem=window.event.explicitOriginalTarget;while(oElem!=null&&oElem.nodeType!=1){oElem=oElem.parentNode;}if(!isClassPresent(oElem,"autoCompleteItem"))Jg(false);}}}function Hg(Ig){var sNewFilter=new String(Ig);var filterStartsWithLastNonMatch=m_lastAttemptedNonMatch.length>0&&sNewFilter.startsWith(m_lastAttemptedNonMatch);return sNewFilter.length==0||filterStartsWithLastNonMatch;}function Jg(Kg,Lg){if(!Kg){m_lastMatch=m_lastFilter="";m_autoCompleteList.Collapse();m_isDropdownExpanded=false;return;}if(!Hg(Lg)){var numberOfMatches=m_autoCompleteList.DisplayFilteredItems(m_obj.GetBoundElemDimensions(),Lg,og.ps.toString());m_isDropdownExpanded=true;if(numberOfMatches>0){m_lastMatch=Lg;m_lastAttemptedNonMatch="";}else m_lastAttemptedNonMatch=Lg;}else{m_autoCompleteList.Collapse();m_isDropdownExpanded=false;}m_lastFilter=Lg;}function Mg(){var sCurrentText=ng.value;var iPos=0;var lastDelimiterAt=-1;var nextDelimiterAt=sCurrentText.length;var iCurrentTextLen=sCurrentText.length;var iPreviousTextLen=m_previousText.length;while(iPos<iCurrentTextLen&&iPos<iPreviousTextLen){if(m_previousText.charAt(iPos)!=sCurrentText.charAt(iPos)){var i=iPos;while(i<sCurrentText.length){if(inArray(sCurrentText.charAt(i),m_rgEmailAddressDelimiters)!=-1){nextDelimiterAt=i;break;}i++;}break;}else{if(inArray(sCurrentText.charAt(iPos),m_rgEmailAddressDelimiters)!=-1)lastDelimiterAt=iPos;}iPos++;}iPos-=(iCurrentTextLen<iPreviousTextLen?1:0);var sItemText=sCurrentText.slice(lastDelimiterAt+1,nextDelimiterAt);m_textBeforeItem=sCurrentText.slice(0,lastDelimiterAt+1);m_textAfterItem=sCurrentText.slice(nextDelimiterAt);m_previousText=ng.value;return sItemText.trim();}};FireAnt.AutoCompleteInput.registerClass("FireAnt.AutoCompleteInput","Web.Bindings.Base");FireAnt.AutoCompleteInput.Params=Web.Enum.create("autocompletelistid","ps","onkeydown_selectionkeycodes","downarrowdisplayslist","matchingitemdelimeters","keypressdelay");FireAnt.AutoCompleteList=function(Ng,Og){FireAnt.AutoCompleteList.initializeBase(this,arguments);Og=this.getParameters();var m_obj=this;var m_selectedIdx=-1;var m_matchingItems=0;var m_iframe=null;var m_itemHeight=0;var m_contacts=[];var m_filtered=[];var m_lastFilter="";var m_childNodes=null;this.MaxPickerItems=7;var m_selectFirstItemByDefault=true;var m_openQuote="\"";var m_openEmailDelimiter="<";var m_matchingMarkupBegin="<span UNSELECTABLE='on' class='autoCompleteItemMatchMarkup'>";var m_matchingMarkupEnd="</span>";this.initialize=function(Pg){FireAnt.AutoCompleteList.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,Pg);Ng.attachEvent("onclick",gh);Ng.attachEvent("onkeydown",kh);Ng.attachEvent("onblur",ch);m_iframe=getElem("GenericHoverFrame");if(!isNaN(Og.size))this.MaxPickerItems=parseInt(Og.size);m_selectFirstItemByDefault=Og.selectfirstitem=="undefined"?m_selectFirstItemByDefault:toBool(Og.selectfirstitem);m_childNodes=Ng.childNodes;};this.dispose=function(Qg){FireAnt.AutoCompleteList.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,Qg);Ng.detachEvent("onclick",gh);Ng.detachEvent("onkeydown",kh);Ng.detachEvent("onblur",ch);Og=Ng=m_obj=m_iframe=this.MaxPickerItems=m_contacts=m_filtered=m_childNodes=null;};this.BoundElementEquals=function(Rg){return Ng==Rg;};this.GetId=function(){return Og.id.toString();};this.Clear=function(){Ng.innerHTML="";m_contacts.clear();};this.PickSelectedItem=function(Sg,Tg){if(!m_obj.HasItems()||!m_obj.IsExpanded())return null;if(m_selectedIdx==-1){if(Tg)m_obj.Collapse();if(Sg==null)return null;}mh(false);if(Sg==null)Sg=m_childNodes[m_selectedIdx];mh(true);if(Tg)m_obj.Collapse();return Sg;};this.DisplayFilteredItems=function(Ug,Vg,Wg){if(!m_obj.HasItems())return 0;var numberOfMatches=qh(Vg);m_obj.ActivateFirstItem();m_obj.Expand(Ug,Wg);return numberOfMatches;};this.SetFocus=function(){Ng.focus();};this.Collapse=function(){Ng.style.display=m_iframe.style.display="none";m_obj.fire("oncollapse");};this.Expand=function(Xg,Yg){var boundElemStyle=Ng.style;if(boundElemStyle.display!="block"&&m_matchingItems>0)g_layout.LoadOtherClearGif(Yg);boundElemStyle.display=m_matchingItems==0?"none":"block";var iLeft=Xg.left;var iTop=Xg.top+Xg.height;var iItemsShowing=Math.min(m_matchingItems,this.MaxPickerItems);var iHeight=iItemsShowing*bh()+2;var iWidth=Xg.width;boundElemStyle.left=iLeft+"px";boundElemStyle.top=iTop+"px";boundElemStyle.width=iWidth+"px";if(m_matchingItems<=this.MaxPickerItems)boundElemStyle.height="auto";else boundElemStyle.height=iHeight+"px";overflowY=m_matchingItems>this.MaxPickerItems?"scroll":"hidden";boundElemStyle.zIndex=100;var iframeStyle=m_iframe.style;iframeStyle.left=iLeft+"px";iframeStyle.top=iTop+"px";iframeStyle.width=iWidth+"px";iframeStyle.height=Ng.offsetHeight+"px";iframeStyle.zIndex=boundElemStyle.zIndex-1;iframeStyle.display=m_matchingItems==0?"none":"block";};this.IsExpanded=function(){return Ng.style.display=="block";};this.ActivateFirstItem=function(){mh(false);m_selectedIdx=-1;if(m_selectFirstItemByDefault){m_selectedIdx=0;mh(true);}};this.ActivateLastItem=function(){mh(false);m_selectedIdx=Ng.childNodes.length-1;mh(true);};this.PageDown=function(){mh(false);m_selectedIdx=Math.min(m_selectedIdx+this.MaxPickerItems,m_matchingItems-1);mh(true);};this.PageUp=function(){mh(false);m_selectedIdx=Math.max(m_selectedIdx-this.MaxPickerItems,0);mh(true);};this.ActivatePreviousItem=function(){if(m_selectedIdx>0){mh(false);m_selectedIdx--;mh(true);}};this.ActivateNextItem=function(){if(m_selectedIdx<Ng.childNodes.length-1){mh(false);m_selectedIdx++;mh(true);}};this.HasItems=function(){return m_contacts.length>0;};this.AddClassToBoundElem=function(Zg){addClass(Ng,Zg);};this.SetContacts=function(ah){m_contacts=ah;};function bh(){if(m_itemHeight==0){if(Ng&&Ng.childNodes[m_selectedIdx==-1?0:m_selectedIdx]){var oItem=Ng.childNodes[m_selectedIdx==-1?0:m_selectedIdx];var itemDisplay=oItem.style.display;oItem.style.display="block";m_itemHeight=oItem.offsetHeight;oItem.style.display=itemDisplay;}}return m_itemHeight;}function ch(eh){m_obj.fire("onblur");}function gh(hh){var hh=hh?hh:window.event;var oItemElem=getNearestParentWithClass(hh.srcElement,"autoCompleteItem");if(oItemElem)m_obj.fire("onclick",{"clicked_element":oItemElem});}function jh(){if(m_selectedIdx>-1)m_obj.fire("onclick",{"clicked_element":Ng.childNodes[m_selectedIdx]});}function kh(lh){switch(event.keyCode){case 13:jh();break;case 27:m_obj.Collapse();break;case 33:m_obj.PageUp();break;case 34:m_obj.PageDown();break;case 35:m_obj.ActivateLastItem();break;case 36:m_obj.ActivateFirstItem();break;case 38:m_obj.ActivatePreviousItem();break;case 40:m_obj.ActivateNextItem();break;}window.event.returnValue=false;window.event.cancelBubble=true;}function mh(nh){var childNodes=Ng.childNodes;var item;if(m_selectedIdx>=0&&childNodes.length>0&&m_selectedIdx<childNodes.length)item=childNodes[m_selectedIdx];else return;addClass(item,(nh?"+":"-")+"autoCompleteItemSelected");if(nh){if(Ng.scrollTop>item.offsetTop)Ng.scrollTop=item.offsetTop;else{if(Ng.scrollTop+Ng.offsetHeight-item.offsetHeight<item.offsetTop)Ng.scrollTop=item.offsetTop-childNodes[m_obj.MaxPickerItems-1].offsetTop;}}}function oh(ph){ph=ph.replace(/</ig,"&lt;");ph=ph.replace(/>/ig,"&gt;");return ph;}function qh(rh){var escapedFilter=rh;if(rh==undefined){m_lastFilter=escapedFilter=rh="";m_filtered.clear();}var reEscape=new RegExp("[$()*+.?/^{}|\\\\[\\]]","g");escapedFilter=escapedFilter.replace(reEscape,"\\$&");var reStripWhite=new RegExp("(^\\s+)","g");escapedFilter=escapedFilter.replace(reStripWhite,"");var reMatch=new RegExp();reMatch.compile("(^"+m_openQuote+"*|\\s|"+m_openEmailDelimiter+"|[(])"+escapedFilter,"img");var reMarkup=new RegExp();reMarkup.compile("(^"+m_openQuote+"*|\\s|"+oh(m_openEmailDelimiter)+"|[(])"+escapedFilter,"ig");m_matchingItems=0;var contacts=m_lastFilter.length>0&&rh.startsWith(m_lastFilter)?m_filtered:m_contacts;var contactCount=contacts.length;var buffer=[];var newFiltered=[];for(var i=0;i<contactCount;i++){var contact=contacts[i];var innerText=contact.item;var name=contact.name;var guid=contact.guid;if(reMatch.test(innerText)){m_matchingItems++;innerText=oh(innerText);innerText=innerText.replace(reMarkup,m_matchingMarkupBegin+"$&"+m_matchingMarkupEnd);innerText=innerText.replace(m_matchingMarkupBegin+"(","("+m_matchingMarkupBegin);buffer.push("<div unselectable='on' style='display: block;' class='autoCompleteItem' name='"+name+"' guid='"+guid+"'>"+innerText+"</div>");reMatch.test("\t");newFiltered.push(contact);}}Ng.innerHTML=buffer.join("");m_lastFilter=rh;m_filtered=newFiltered;return m_matchingItems;}};FireAnt.AutoCompleteList.registerClass("FireAnt.AutoCompleteList","Web.Bindings.Base");FireAnt.AutoCompleteList.Params=Web.Enum.create("id","size","selectfirstitem");FireAnt.AutoCompleteList.Events=Web.Enum.create("onclick","onkeydown","oncollapse","ondeactivate","onblur");FireAnt.ContactPicker=function(sh,th,uh){FireAnt.ContactPicker.initializeBase(this,arguments);th=this.getParameters();var m_obj=this;var m_autoCompleteList=null;var m_oHeaderElem=null;var m_isDropdownExpanded=false;var m_iMaxPickerNumber=null;var m_sTextAreaDestinationName=null;var m_sPsValue=null;var m_oCommandSrcElement=null;this.initialize=function(vh){FireAnt.ContactPicker.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,vh);m_oHeaderElem=sh;m_obj.registerFor(FireAnt.AutoCompleteList,Ah);m_obj.registerFor(FireAnt.Command,Ah);};this.dispose=function(wh){FireAnt.ContactPicker.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,wh);m_autoCompleteList.detachEvent("onclick",Jh);m_autoCompleteList.detachEvent("oncollapse",Fh);m_autoCompleteList.detachEvent("onblur",Dh);sh=th=m_obj=m_iMaxPickerNumber=m_sPsValue=null;};this.DisplayPicker=function(xh,yh,zh){m_sTextAreaDestinationName=yh;m_sPsValue=zh;m_oCommandSrcElement=xh;m_iMaxPickerNumber=m_autoCompleteList.MaxPickerItems;m_autoCompleteList.MaxPickerItems=10;addClass(m_oHeaderElem,"+DisplayBlock");m_autoCompleteList.AddClassToBoundElem("+ContactPickerActive");var oDimensions=Lh();m_autoCompleteList.DisplayFilteredItems(oDimensions,"",m_sPsValue);m_autoCompleteList.SetFocus();m_isDropdownExpanded=true;};function Ah(Bh,Ch){if(Ch){if(Web.Type.compare(Bh,FireAnt.AutoCompleteList)){if(Bh.GetId()==th.autocompletelistid.toString()){m_autoCompleteList=Bh;m_autoCompleteList.attachEvent("onclick",Jh);m_autoCompleteList.attachEvent("oncollapse",Fh);m_autoCompleteList.attachEvent("onblur",Dh);}}else{if(Web.Type.compare(Bh,FireAnt.Command)){if(Bh.GetCommandName()=="CloseContactPicker")Bh.attachEvent("oncommand",Hh);}}}}function Dh(Eh){if(m_isDropdownExpanded){if(Web.Browser.isIE()){if(document.activeElement!=sh)m_autoCompleteList.Collapse();else m_autoCompleteList.SetFocus();}else{var rgValidTargetElems=new Array();rgValidTargetElems.addRangeFromHtmlCollection(m_autoCompleteList._element.getElementsByTagName("*"));rgValidTargetElems.addRangeFromHtmlCollection(sh.getElementsByTagName("*"));var oElem=window.event.explicitOriginalTarget;while(oElem!=null&&oElem.nodeType!=1){oElem=oElem.parentNode;}if(rgValidTargetElems.contains(oElem))window.setTimeout(function(){m_autoCompleteList.SetFocus();},1);else m_autoCompleteList.Collapse();}}}function Fh(Gh){if(m_isDropdownExpanded){addClass(m_oHeaderElem,"-DisplayBlock");m_autoCompleteList.AddClassToBoundElem("-ContactPickerActive");m_autoCompleteList.MaxPickerItems=m_iMaxPickerNumber;m_isDropdownExpanded=false;m_obj.fire("onpickerhide");}}function Hh(Ih){m_autoCompleteList.Collapse();}function Jh(Kh){if(m_isDropdownExpanded){m_obj.fire("onselectioncomplete",{"Selection":m_autoCompleteList.PickSelectedItem(Kh?Kh.Package.clicked_element:null,false).innerText,"TextAreaName":m_sTextAreaDestinationName});m_autoCompleteList.Expand(Lh(),m_sPsValue);}}function Lh(){var oBoundElemPosition=getXY(m_oCommandSrcElement,false);var oRowElem=getNearestParentWithClass(m_oCommandSrcElement,"cRow");var oRowElemPosition=getXY(m_oCommandSrcElement,false);var oDimensions={"left":oBoundElemPosition.left,"top":oRowElemPosition.top+oRowElem.offsetHeight+m_oHeaderElem.clientHeight,"width":330,"height":0};m_oHeaderElem.style.width=oDimensions.width+"px";m_oHeaderElem.style.top=oDimensions.top-m_oHeaderElem.clientHeight+"px";m_oHeaderElem.style.left=oDimensions.left+"px";return oDimensions;}};FireAnt.ContactPicker.registerClass("FireAnt.ContactPicker","FireAnt.Command");FireAnt.ContactPicker.Events=Web.Enum.create("onselectioncomplete","onpickerhide");FireAnt.ContactPicker.Params=Web.Enum.create("autocompletelistid");FireAnt.SelectList=function(Mh,Nh,Oh){FireAnt.SelectList.initializeBase(this,arguments);Nh=this.getParameters();var m_obj=this;var m_iDefaultIndex=0;var m_sSelectName="";this.initialize=function(Ph){FireAnt.SelectList.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,Ph);m_sSelectName=Nh.selectname.toString();};this.dispose=function(Qh){FireAnt.SelectList.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,Qh);m_obj=m_iDefaultIndex=m_sSelectName=null;};this.RemoveOption=function(Rh){var idx=Zh(Rh);Mh.options.remove(idx);};this.ChangeOptionText=function(Sh,Th){var idx=Zh(Sh);Mh.options[idx].text=Th;};this.SetSelectedOption=function(Uh){var idx=Zh(Uh);Mh.selectedIndex=idx;};this.AddOption=function(Vh,Wh,Xh,Yh){var oOption=document.createElement("OPTION");Mh.options.add(oOption);oOption.text=Vh;oOption.value=Wh;if(Xh)oOption.selected=Xh;if(Yh)m_iDefaultIndex=Mh.childNodes.length-1;oOption=null;};this.Reset=function(){Mh.selectedIndex=m_iDefaultIndex;};this.GetSelectName=function(){return m_sSelectName;};this.Clear=function(){Mh.innerHTML="";};function Zh(aj){var optionsLen=Mh.options.length;for(var i=0;i<optionsLen;i++){if(Mh.options[i].value==aj)return i;}}};FireAnt.SelectList.registerClass("FireAnt.SelectList","Web.Bindings.Base");FireAnt.SelectList.Params=Web.Enum.create("selectname");FireAnt.LiveMenu=function(bj,cj,ej){FireAnt.LiveMenu.initializeBase(this,arguments);cj=this.getParameters();var m_obj=this;var m_direction=-1;var m_jewel=null;var m_jewelBottom=null;var m_menuHeight=null;var m_menuWidth=null;var m_downAnimator=null;var m_upAnimator=null;var m_mouseOver=false;this.initialize=function(gj){FireAnt.LiveMenu.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,gj);m_jewel=getElem(cj.jewelid.valueOf());var jewelLoc=Web.UI.getLocation(getElem(cj.jewelimg.valueOf()),document);m_jewelBottom=jewelLoc.y+parseInt(getElem(cj.jewelimg.valueOf()).offsetHeight);var menuLoc=Web.UI.getLocation(bj,document);m_menuHeight=menuLoc.height;m_menuWidth=menuLoc.width;oj(0);bj.style.pixelLeft+=jewelLoc.x;m_downAnimator=new Web.Animation.Animator(250,Web.Animation.Easing.ExponentialInOut,m_obj.step);m_upAnimator=new Web.Animation.Animator(250,Web.Animation.Easing.Linear,m_obj.step);m_jewel.attachEvent("onmouseover",jj);bj.attachEvent("onmouseover",jj);m_jewel.attachEvent("onmouseout",kj);bj.attachEvent("onmouseout",kj);Web.Bindings.attachElementBindingSync(bj,"FireAnt.Hover",null,null,"FireAnt");};this.dispose=function(hj){FireAnt.LiveMenu.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,hj);m_jewel.detachEvent("onmouseover",jj);bj.detachEvent("onmouseover",jj);m_jewel.detachEvent("onmouseout",kj);bj.detachEvent("onmouseout",kj);m_obj=m_jewelBottom=m_menuHeight=m_menuWidth=m_mouseOver=m_jewel=m_downAnimator=m_upAnimator=null;};function jj(){m_mouseOver=true;setTimeout(lj,500);}function kj(){m_mouseOver=false;setTimeout(mj,500);}function lj(){if(m_mouseOver&&m_direction!=1){m_direction=1;m_downAnimator.start();}}function mj(){if(!m_mouseOver&&m_direction!=-1){m_direction=-1;m_upAnimator.start();}}this.step=function(nj){oj(m_menuHeight*(m_direction==1?nj:1-nj));};function oj(pj){if(pj){bj.style.pixelTop=m_jewelBottom-(m_menuHeight-pj);bj.style.clip="rect("+(m_menuHeight-pj)+"px "+m_menuWidth+"px "+m_menuHeight+"px 0px)";}else bj.style.clip="rect(0px, 0px, 0px, 0px)";}};FireAnt.LiveMenu.registerClass("FireAnt.LiveMenu","Web.Bindings.Base");FireAnt.LiveMenu.Params=Web.Enum.create("jewelid","jewelimg");FireAnt.BalloonTip=function(qj,rj,sj){FireAnt.BalloonTip.initializeBase(this,arguments);rj=this.getParameters();var m_this=this;var m_text;var m_closeText;var m_width;var m_horizontalAlignment;var m_verticalAlignment;var m_timeToAppear;var m_balloonElement;var m_group;var m_qa;var m_qaclose;var m_verticalGap;var m_okToShow=false;this.initialize=function(tj){m_text=rj.balloontext?decodeURIComponent(rj.balloontext):"";m_closeText=rj.balloonclosetext?decodeURIComponent(rj.balloonclosetext):"";m_width=rj.balloonwidth?rj.balloonwidth:"100px";m_horizontalAlignment=rj.balloonhalignment?rj.balloonhalignment:"left";m_verticalAlignment=rj.balloonvalignment?rj.balloonvalignment:"up";m_timeToAppear=rj.balloontimetoappear?parseInt(rj.balloontimetoappear):1000;m_group=rj.balloongroup?rj.balloongroup:"";m_qa=rj.qa?rj.qa:"";m_qaclose=rj.qaclose?rj.qaclose:"";m_verticalGap=rj.balloonverticalgap?parseInt(rj.balloonverticalgap):15;FireAnt.BalloonTip.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,tj);};FireAnt.BalloonTip.registerBaseMethod(this,"initialize");this.dispose=function(uj){m_balloonElement=m_text=m_closeText=m_this=m_closeLinkHandler=null;FireAnt.BalloonTip.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,uj);};this.hide=function(){if(m_balloonElement){window.detachEvent("onresize",wj);m_okToShow=false;m_balloonElement.style.display="none";}};this.getGroup=function(){return m_group;};this.show=function(){m_okToShow=true;setTimeout(vj,m_timeToAppear);window.attachEvent("onresize",wj);};function vj(){if(!m_okToShow||qj==null)return;if(m_balloonElement){m_balloonElement.style.display="";wj();return;}var anchorElement=qj;var pixelWidth=m_width+"px";var d=window.document;if(m_text&&m_text.trim()=="")return null;var container=d.createElement("div");container.className="BalloonTip";container.style.width=pixelWidth;if(m_qa!="")container.setAttribute("qatagid",m_qa);m_balloonElement=container;yj(container,"Basic NW");yj(container,"Basic N").style.width=pixelWidth;yj(container,"Basic NE");var west=yj(container,"Basic W");var east=yj(container,"Basic E");yj(container,"Basic SW");yj(container,"Basic S").style.width=pixelWidth;yj(container,"Basic SE");var beak=yj(container,"Basic Beak");var info=yj(container,"Info","img");info.height=16;info.width=16;info.src=GetImgUrl("i_info.gif");var contents=yj(container,"Contents");contents.innerText=m_text;var close=yj(container,"Close");var closeLink=yj(close,"","a");closeLink.href="#";closeLink.onclick=Cj;closeLink.innerText=m_closeText;if(m_qaclose!="")closeLink.setAttribute("qatagid",m_qaclose);d.body.appendChild(container);var balloonLoc=Web.UI.getLocation(container,d);container.style.height=west.style.height=east.style.height=balloonLoc.height+"px";m_balloonElement.style.display="";wj(beak);}function wj(xj){if(m_balloonElement&&qj&&qj.currentStyle){var anchorLoc=Web.UI.getLocation(qj,window.document);var left=0;var top=0;m_balloonElement.style.left=anchorLoc.x+"px";var balloonLoc=Web.UI.getLocation(m_balloonElement,window.document);var above=balloonLoc.height+m_verticalGap<=anchorLoc.y;if(above&&m_verticalAlignment=="down")above=false;if(above){top=anchorLoc.y-(balloonLoc.height+m_verticalGap);if(xj)xj.className+=" BeakDown";}else{top=anchorLoc.y+anchorLoc.height+m_verticalGap;if(xj)xj.className+=" BeakUp";}switch(m_horizontalAlignment){case "left":if(xj&&xj.style){xj.style.left="32px";xj.style.right="";}left=parseInt(anchorLoc.x)+parseInt(anchorLoc.width/2)-46;break;case "middle":if(xj&&xj.style){xj.style.left=parseInt(balloonLoc.width/2)-8+"px";xj.style.right="";}left=parseInt(anchorLoc.x)-parseInt(balloonLoc.width/2-anchorLoc.width/2)-5;break;case "right":if(xj&&xj.style){xj.style.right="3px";xj.style.left="";}left=parseInt(anchorLoc.x)-(balloonLoc.width-22)+parseInt(anchorLoc.width/2);break;}m_balloonElement.style.top=top+"px";m_balloonElement.style.left=left+"px";}}function yj(zj,Aj,Bj){if(!Bj)Bj="div";var el=window.document.createElement(Bj);el.className=Aj;zj.appendChild(el);return el;}function Cj(){m_this.fire("onclose",m_this);}};FireAnt.BalloonTip.registerClass("FireAnt.BalloonTip","Web.Bindings.Base");FireAnt.BalloonTip.Params=Web.Enum.create("balloontext","balloonclosetext","balloonwidth","balloontimetoappear","balloonhalignment","balloonvalignment","balloongroup","qa","qaclose","balloonverticalgap");FireAnt.BalloonTip.Events=Web.Enum.create("onclose");BalloonTipController=function(){var Flags={"None":0,"All":255,"Today":1,"Inbox":2,"Compose":4,"ReadMessageView":8,"SentMailConfirmation":16,"Contacts":32};var m_this=this;var m_balloons={};var m_currentGroup="";var m_cookieLoaded=false;var m_hotmail=null;var m_rgCmdHandlers;var m_enabled=false;var m_userPreference;var m_layoutBindings;BalloonTipController.initializeBase(this,arguments);this.initialize=function(Dj){m_rgCmdHandlers={"TurnOffTips":Rj,"ReActivateTips":Tj};BalloonTipController.getBaseMethod(this,"initialize","Web.Bindings.Base").call(this,Dj);var bootstrapConfiguration=g_controller.GetBootstrap().Configuration;m_enabled=bootstrapConfiguration.BalloonTipsEnabled;m_userPreference=bootstrapConfiguration.BalloonTipUserPreference;m_hotmail=g_controller.GetHotmail();this.registerFor("FireAnt.BalloonTip",Hj);this.registerFor("FireAnt.Command",Hj);m_layoutBindings={"today":[["FireAnt.BalloonTip","CustomizeLink",g_balloons.todayCustomizeLink]],"inbox":[["FireAnt.BalloonTip","SearchEmail",g_balloons.inboxSearch],["FireAnt.BalloonTip","NewToolBarCmdExp",g_balloons.inboxSplitButton],["FireAnt.BalloonTip","CustomizeLink",g_balloons.inboxCustomizeLink]],"compose":[["FireAnt.BalloonTip","EditMessageSpellingOptionsMenuCmdExp",g_balloons.composeSpellchecker],["FireAnt.BalloonTip","cEditPane_cToContactPicker",g_balloons.composeContactsPicker]],"contacts":[["FireAnt.BalloonTip","SearchContacts",g_balloons.contactsSearch],["FireAnt.BalloonTip","CustomizeLink",g_balloons.contactsCustomizeLink]],"messageview":[["FireAnt.BalloonTip","FullMessageViewToggler",g_balloons.msgviewFullMessageViewToggler]]};if(m_enabled){g_layout.AddListener(Kj);addClass(getElem("TurnOffTips"),"-DisplayNone");addClass(getElem("ReactivateTips"),"-DisplayNone");Xj();}};this.dispose=function(Ej){Lj();m_this=m_balloons=m_hotmail=m_rgCmdHandlers=m_layoutBindings=null;BalloonTipController.getBaseMethod(this,"dispose","Web.Bindings.Base").call(this,Ej);};this.toggleGroup=function(Fj,Gj){if(m_balloons[Fj]){var balloons=m_balloons[Fj];for(var i=0;i<balloons.length;i++){if(Gj){if(balloons[i])balloons[i].show();}else{if(balloons[i])balloons[i].hide();}}}};this.hideAll=function(){for(var group in m_balloons){if(m_balloons[group] instanceof Array)for(var i=0;i<m_balloons[group].length;i++){m_balloons[group][i].hide();if(m_balloons[group][i]._element&&m_balloons[group][i]._element.parentElement==null){var id=m_layoutBindings[group][i][1];Web.Bindings.removeBindings(m_balloons[group][i]._element);}}}};function Hj(Ij,Jj){var sType=Ij.constructor._typeName;switch(sType){case "FireAnt.BalloonTip":if(Jj){var group=Ij.getGroup();if(!m_balloons[group])m_balloons[group]=[];m_balloons[group].push(Ij);Ij.attachEvent("onclose",Nj);}else{var group=Ij.getGroup();if(m_balloons[group]){for(var i=0;i<m_balloons[group].length;i++){if(m_balloons[group][i]==Ij){m_balloons[group][i]=null;break;}}m_balloons[group]=m_balloons[group].sort();for(i=m_balloons[group].length-1;i>=0;i--){if(m_balloons[group][i]!=null)break;m_balloons[group].pop();}}Ij.detachEvent("onclose",Nj);}break;case "FireAnt.Command":var sCommandName=Ij.GetCommandName();var pHandler=null;if(sCommandName!=null){pHandler=m_rgCmdHandlers[sCommandName];if(pHandler)Ij.attachEvent("oncommand",pHandler);}break;}}function Kj(){m_this.hideAll();var layout=g_layout.GetCurrent().id;m_currentGroup="";switch(layout){case "TodayDefault":m_currentGroup="today";break;case "EditMessage":m_currentGroup="compose";break;case "PaneRight":case "PaneBottom":case "ReadingPaneOff":case "PaneRightMultiselect":case "PaneBottomMultiselect":m_currentGroup="inbox";break;case "ReadDefault":m_currentGroup="messageview";break;case "ContactsDefault":m_currentGroup="contacts";break;case "SendMailConfirm":m_currentGroup="smc";break;default:break;}if(m_currentGroup!=""){var flag=Pj(m_currentGroup);var show=(m_userPreference&flag)>0;if(!show)return;if(m_currentGroup=="smc"){Mj();m_this.toggleGroup(m_currentGroup,true);}else{if(m_currentGroup=="messageview")setTimeout(function(){initializeBindings(m_layoutBindings[m_currentGroup]);m_this.toggleGroup(m_currentGroup,true);},1000);else{if(m_layoutBindings[m_currentGroup]){initializeBindings(m_layoutBindings[m_currentGroup]);m_layoutBindings[m_currentGroup]=null;}m_this.toggleGroup(m_currentGroup,true);}}}}function Lj(){if(m_balloons.smc&&m_balloons.smc.length!=0){Web.Bindings.removeBindings(m_balloons.smc[0]._element);m_balloons.smc[0]=null;m_balloons.smc.pop();}}function Mj(){Lj();var list=getElem("SentMailContactList");var listChildrenCount=list.childNodes.length;for(var i=0;i<listChildrenCount;i++){var addContactLink=getElem("smcAddContact"+i);if(addContactLink){if(addContactLink.currentStyle.display!="none"){initializeBindings([["FireAnt.BalloonTip",addContactLink.id,g_balloons.smcAddContact]]);break;}}}}function Nj(Oj){m_this.toggleGroup(Oj.srcBinding.getGroup(),false);var flag=Pj(Oj.srcBinding.getGroup());m_userPreference&=~flag;m_hotmail.UpdateBalloonPreference(m_userPreference,cbNull,{"DisableInfoPane":true});}function Pj(Qj){var flag=0;switch(Qj){case "today":flag=Flags.Today;break;case "inbox":flag=Flags.Inbox;break;case "contacts":flag=Flags.Contacts;break;case "compose":flag=Flags.Compose;break;case "messageview":flag=Flags.ReadMessageView;break;case "smc":flag=Flags.SentMailConfirmation;break;default:break;}return flag;}function Rj(Sj){Vj(false);}function Tj(Uj){Vj(true);}function Vj(Wj){if(Wj)m_userPreference=Flags.All;else m_userPreference=Flags.None;m_hotmail.UpdateBalloonPreference(m_userPreference,cbNull,{"DisableInfoPane":true});Kj();}function Xj(){setTimeout(Kj,1000);}};BalloonTipController.registerClass("BalloonTipController","Web.Bindings.Base");
