function $(A){return document.getElementById(A)}if(!Array.prototype.push){Array.prototype.push=function(A){this[this.length]=A}}Array.prototype.clear=function(){this.length=0};Array.prototype.indexOf=function(B){for(var A=0;A<this.length;A++){if(this[A]==B){return A}}return -1};Array.prototype.remove=function(A){return this.splice(this.indexOf(A),1)};Array.prototype.dispose=function(){for(var A=0;A<this.length;A++){this[A].dispose()}};Array.prototype.next=function(B){var A=this.indexOf(B)+1;if(A==0){return null}return this[A]};Array.prototype.previous=function(B){var A=this.indexOf(B)-1;if(A<0){return null}return this[A]};String.prototype.trimRight=function(){var A=this.length;while(A>0&&this.charCodeAt(A-1)==32){A--}if(A==this.length){return this}return this.substr(0,A)};String.prototype.trimLeft=function(){var A=0;while(A<this.length&&this.charCodeAt(A)==32){A++}if(A==0){return this}return this.substr(A)};String.prototype.trim=function(){return this.trimRight().trimLeft()};String.prototype.compareTo=function(A){if(this<A){return -1}if(this>A){return 1}return 0};String.compare=function(B,A,C){if(C){B=B.toLowerCase();A=A.toLowerCase()}return B.compareTo(A)};function createFrame(B,A){frame=document.createElement("DIV");frame.className=A;B.appendChild(frame);return frame}function createRow(C,B,A){var D=document.createElement("DIV");D.className=B;if(typeof (A)!=="undefined"){D.className+=" "+B+(A&1)}if(Browser.type===BrowserType.Gecko){D.style.display="-moz-box";D.style.width="auto";D.style.minWidth="100%"}else{if(Browser.type===BrowserType.WebKit){D.style.display="table";D.style.width="100%"}}C.appendChild(D);return D}function createCell(D,C,E){var A=document.createElement("DIV");var B=document.createElement("DIV");if(C){A.className=C}if(E){A.innerHTML=E}if(document.documentMode){B.className="inline"}else{if(Browser.type===BrowserType.IE){B.className="inline-ie"}else{B.className="inline"}}B.appendChild(A);D.appendChild(B);return A}function createAnchor(E,D,C,B){var A=document.createElement("A");A.href="javascript:void(0)";A.className=D;A.innerHTML=E;Event.addListener(A,"click",C,B);return A}Function.empty=function(){};Function.falseFunction=function(){return false};Function.prototype.getListener=function(B){var A=this;return function(C){return A.call(B,Event.normalize(C))}};Function.prototype.getCallback=function(B){var A=this;return function(){return A.apply(B,arguments)}};Function.prototype.bind=Function.prototype.getCallback;Function.inherit=function(C,B){for(var A in B){if(!C.hasOwnProperty(A)){C[A]=B[A]}}};var BrowserType={Other:0,IE:1,Mozilla:2,Safari:3,WebKit:3,Opera:4,Gecko:5};Browser=new function(){this.type=BrowserType.Other;this.version=0;var B=navigator.userAgent.toLowerCase();var A;if((A=B.indexOf("opera/"))!=-1||(A=B.indexOf("opera "))!=-1){this.type=BrowserType.Opera;this.version=parseFloat(B.substr(A+6))}else{if((A=B.indexOf("msie "))!=-1&&document.all){this.type=BrowserType.IE;this.version=parseFloat(B.substr(A+5))}else{if((A=B.indexOf("applewebkit/"))!=-1){this.type=BrowserType.Safari;this.version=parseFloat(B.substr(A+12))}else{if((A=B.indexOf("gecko/"))!=-1){this.type=BrowserType.Gecko;this.version=parseFloat(B.substr(B.indexOf("rv:")+3))}else{if((A=B.indexOf("mozilla/"))!=-1){this.type=BrowserType.Mozilla;this.version=parseFloat(B.substr(A+8))}}}}}};Browser.getStyle=function(A){switch(this.type){case BrowserType.Mozilla:case BrowserType.Gecko:return A+"-moz";case BrowserType.Safari:return A+"-khtml"}return""};Browser.isBrowser=function(B,A){if(this.type!=B){return false}return(this.version>=A)};Browser.isMozilla=function(A){return this.isBrowser(BrowserType.Mozilla,A)};Browser.isIE=function(A){return this.isBrowser(BrowserType.IE,A)};Browser.isSafari=function(A){return this.isBrowser(BrowserType.Safari,A)};function Rectangle(B,D,C,A){this.left=B;this.top=D;this.right=B+C;this.bottom=D+A}Rectangle.prototype.inflate=function(B,A){this.left-=B;this.right+=B;this.top-=A;this.bottom+=A};Rectangle.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom)};Rectangle.prototype.containsPoint=function(A,B){return(A>=this.left&&A<=this.right&&B>=this.top&&B<=this.bottom)};Rectangle.prototype.toString=function(){return this.left+","+this.top+","+this.right+","+this.bottom};Element={};Element.getOffset=function(B,C){var A=0;var D=0;while(B&&B!=C){A+=B.offsetLeft-B.scrollLeft;D+=B.offsetTop-B.scrollTop;B=B.offsetParent}return{x:A,y:D}};Element.getPosition=function(B){var A=0;var D=0;while(B){var C=Element.getStyle(B,"position");if(C=="absolute"||C=="relative"){break}A+=B.offsetLeft;D+=B.offsetTop;B=B.offsetParent}return{x:A,y:D}};Element.moveTo=function(B,A,C){B.style.left=A+"px";B.style.top=C+"px"};Element.resize=function(B,C,A){B.style.width=C+"px";B.style.height=A+"px"};Element.show=function(B,A){if(typeof (A)=="undefined"){A=true}B.style.display=A?"":"none"};Element.hide=function(B,A){if(typeof (A)=="undefined"){A=true}B.style.display=A?"none":""};Element.setOffsetLeft=function(B,A){B.style.left=A+"px"};Element.getOffsetRight=function(A){return A.offsetLeft+A.offsetWidth};Element.insertBefore=function(A,B){B.parentNode.insertBefore(A,B)};Element.insertAfter=function(A,B){if(B.nextSibling){B.parentNode.insertBefore(A,B.nextSibling)}else{B.parentNode.appendChild(A)}};Element.remove=function(A){if(A.parentNode){A.parentNode.removeChild(A)}};Element.setOffsetWidth=function(A,B){B-=A.offsetWidth-A.clientWidth;A.style.width=B<0?0:B+"px"};Element.setOffsetHeight=function(B,A){A-=B.offsetHeight-B.clientHeight;B.style.height=A<0?0:A+"px"};Element.setHeight=function(B,A){if(A<0){A=0}B.style.height=A+"px"};Element.setWidth=function(A,B){if(B<0){B=0}A.style.width=B+"px"};Element.heightTaken=function(B){var A=B;var D=0;var C=A.previousSibling;while(C&&C.parentNode.tagName!="FORM"&&C.parentNode.tagName!="BODY"){if(C.offsetHeight){D+=C.offsetHeight}C=C.previousSibling}while(A.parentNode.tagName!="FORM"&&A.parentNode.tagName!="BODY"){A=A.parentNode}D+=A.offsetTop;return D};Element.setFillHeight=function(B,A){Element.setHeight(B,document.body.clientHeight-(Element.heightTaken(B)+A))};Element.scrollIntoView=function(B,A){if(B.offsetLeft<A.scrollLeft){A.scrollLeft=B.offsetLeft}else{if(B.offsetLeft+B.offsetWidth>A.scrollLeft+A.clientWidth){A.scrollLeft=B.offsetLeft+B.offsetWidth-A.clientWidth}}if(B.offsetTop<A.scrollTop){A.scrollTop=B.offsetTop}else{if(B.offsetTop+B.offsetHeight>A.scrollTop+A.clientHeight){A.scrollTop=B.offsetTop+B.offsetHeight-A.clientHeight}}};Element.setOpacity=function(A,B){if(B>=1){A.style.filter="";A.style.opacity=""}else{A.style.filter="alpha(opacity="+(B*100)+")";A.style.opacity=B}};Element.setText=function(B,D){if(!D){D="\u00A0"}var A=B.firstChild;var C=document.createTextNode(D);if(A){B.replaceChild(C,A)}else{B.appendChild(C)}};Element.setInnerText=function(A,B){if(B.length==0){B="\u00A0"}if(A.innerText){A.innerText=B}else{if(A.textContent){A.textContent=B}else{A.innerHTML="";A.appendChild(document.createTextNode(B))}}};Element.createDiv=function(B){var A=document.createElement("DIV");if(B){A.className=B}return A};Element.createTable=function(B){var A=document.createElement("TABLE");A.cellPadding=0;A.cellSpacing=0;if(B){A.className=B}return A};Element.createImage=function(E,D,A,C){var B=document.createElement("IMG");B.src=E;B.width=D;B.height=A;if(C){B.className=C}return B};Element.getStyle=function(A,B){if(A.currentStyle){return A.currentStyle[B]}if(document.defaultView&&document.defaultView.getComputedStyle){return document.defaultView.getComputedStyle(A,null).getPropertyValue(B)}return null};Element.getCurrentStyle=function(A){if(A.currentStyle){return A.currentStyle}if(document.defaultView&&document.defaultView.getComputedStyle){return document.defaultView.getComputedStyle(A,null)}return null};Element.getBounds=function(A,C){var B=new Rectangle(A.offsetLeft,A.offsetTop,A.offsetWidth,A.offsetHeight);if(!C){return B}while(A&&A.offsetParent!=C){B.left+=A.offsetParent.offsetLeft;B.top+=A.offsetParent.offsetTop;B.right+=A.offsetParent.offsetLeft;B.bottom+=A.offsetParent.offsetTop;A=A.offsetParent}return B};Element.containsClass=function(C,D){if(!C.className||C.className==""){return false}var B=C.className.split(" ");for(var A in B){if(B[A]==D){return true}}return false};Element.getElementsByClassName=function(D,E,C){var F=D.getElementsByTagName(C||"*");var A=[];for(var B=0;B<F.length;B++){if(Element.containsClass(F[B],E)){A.push(F[B])}}return A};Element.clone=function(B,F){var E=B.cloneNode(true);if(E.id){E.id+=F;E._id=F}var D=E.getElementsByTagName("*");for(var A=0;A<D.length;A++){var C=D[A];if(C.id){C.id+=F;C._id=F}if(C.name){C.name+=F}if(C.htmlFor){C.htmlFor+=F}}return E};Element.appendClass=function(A,B){if(!A.className){A.className=B;return }if(Element.containsClass(A,B)){return }A.className+=" "+B};Element.removeClass=function(C,D){if(!C.className){return }var B=C.className.split(" ");for(var A=0;A<B.length;A++){if(B[A]==D){B[A]=""}}C.className=B.join(" ")};Element.findParent=function(B,A){var C=B.parentNode;while(C&&C.tagName!=A){C=C.parentNode}return C};SelectElement={};SelectElement.selectByValue=function(C,D){var A=C.options;for(var B=0;B<A.length;B++){if(A[B].value==D){C.selectedIndex=B;break}}};SelectElement.add=function(A,D,C){var B=document.createElement("OPTION");B.text=D;B.value=C;if(A.options.add){A.options.add(B,-1)}else{A.appendChild(B)}return B};Date.MONTH_NAMES=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.DAY_NAMES=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.getNow=function(){return new Date()};Date.getToday=function(){var A=Date.getNow();return new Date(A.getFullYear(),A.getMonth(),A.getDate())};Date.prototype.addDays=function(A){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+A)};Date.prototype.toMonthDateString=function(){return[this.getMonth()+1,this.getDate()].join("/")};Date.prototype.toShortDateString=function(){return[this.getMonth()+1,this.getDate(),this.getFullYear()].join("/")};Date.prototype.toXmlDateString=function(){return[this.getFullYear(),(this.getMonth()+1).format(2),this.getDate().format(2)].join("-")};Date.parseXml=function(B){var A=B.split("-");return new Date(A[0],A[1]-1,A[2])};Date.prototype.getDayString=function(B){var A=Date.DAY_NAMES[this.getDay()];return B?A.substr(0,B):A};Date.prototype.getMonthString=function(){return Date.MONTH_NAMES[this.getMonth()]};Date.prototype.isToday=function(){var A=new Date();return((A.getDate()==this.getDate())&&(A.getMonth()==this.getMonth())&&(A.getFullYear()==this.getFullYear()))};Date.prototype.elapsed=function(){return(new Date()).getTime()-this.getTime()};Number.prototype.format=function(A,C){var B=this.toString(C?C:10);if(A){while(B.length<A){B="0"+B}}return B};Number.prototype.toHex=function(A){return this.format(A,16)};Form={};Form.getLabelFor=function(C){var B=document.getElementsByTagName("LABEL");for(var A=0;A<B.length;A++){if(B[A].htmlFor==C){return B[A]}}return null};Form._buttonTypes=["submit","button","reset"];Form.isButton=function(A){return(Form._buttonTypes.indexOf(A.type)>=0)};Form.disableButtons=function(C){var A=(C||document).getElementsByTagName("INPUT");for(var B=0;B<A.length;B++){if(Form.isButton(A[B])){A[B].disabled=true}}};Form.disableFields=function(C){var A=C.getElementsByTagName("INPUT");for(var B=0;B<A.length;B++){if(!Form.isButton(A[B])){if(A[B].type=="text"){A[B].readOnly=true}else{A[B].disabled=true}}}var A=C.getElementsByTagName("SELECT");for(var B=0;B<A.length;B++){A[B].disabled=true}};function Uri(A){var B=A.split("?",2);this.path=B[0];this.query=B[1];this.root="/"+this.path.split("/")[3];this._url=A}Uri.getCurrent=function(){return new Uri(document.location.href)};Uri.prototype.toString=function(){var A=this.path;if(this.query){A+="?"+this.query}return A};Uri.prototype.getQuery=function(){var B=this._url.indexOf("?");if(B<0){return""}var A=this._url.indexOf("#");if(A<0){return this._url.substr(B+1)}return this._url.substring(B+1,A)};Uri.prototype.getFragment=function(){var A=this._url.indexOf("#");if(A<0){return""}return this._url.substr(A+1)};Cookie={};Cookie.setValue=function(B,D,A){var C=B+"="+D+"; path=/";if(A){C+="; expires="+A.toGMTString()}document.cookie=C};Cookie.getValue=function(B){var E=B+"=";var A=document.cookie.split(";");for(var D=0;D<A.length;D++){var C=A[D];while(C.charAt(0)==" "){C=C.substring(1,C.length)}if(C.indexOf(E)==0){return C.substring(E.length,C.length)}}return null};Cookie.clear=function(A){Cookie.setValue(A,"",Date.getNow().addDays(-1))};HttpUtility={};HttpUtility.htmlEncode=function(A){A=A.replace(new RegExp("&","g"),"&amp;");A=A.replace(new RegExp('"',"g"),"&quot;");A=A.replace(new RegExp("<","g"),"&lt;");A=A.replace(new RegExp(">","g"),"&gt;");return A};KeyCode={Backspace:8,Tab:9,Enter:13,Escape:27,Space:32,PageUp:33,PageDown:34,Left:37,Up:38,Right:39,Down:40};QueryString={};QueryString.parse=function(C){var D=C.split("&");var A={};for(var B=0;B<D.length;B++){var E=D[B].split("=");A[decodeURIComponent(E[0])]=decodeURIComponent(E[1])}return A};QueryString.fromObject=function(C){var A=[];for(var B in C){if(A.length){A.push("&")}A.push(encodeURIComponent(B));A.push("=");A.push(encodeURIComponent(C[B]))}return A.join("")};