﻿//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};Function.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};Function.emptyFunction=Function.emptyMethod=function(){};Function._validateParams=function(e,c){var a;a=Function._validateParameterCount(e,c);if(a){a.popStackFrame();return a}for(var b=0;b<e.length;b++){var d=c[Math.min(b,c.length-1)],f=d.name;if(d.parameterArray)f+="["+(b-c.length+1)+"]";a=Function._validateParameter(e[b],d,f);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(e,a){var c=a.length,d=0;for(var b=0;b<a.length;b++)if(a[b].parameterArray)c=Number.MAX_VALUE;else if(!a[b].optional)d++;if(e.length<d||e.length>c){var f=Error.parameterCount();f.popStackFrame();return f}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d<c.length;d++){var n=c[d];b=Function._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b){b.popStackFrame();return b}}}return null};Function._validateParameterType=function(a,c,n,m,k,d){var b;if(typeof a==="undefined")if(k)return null;else{b=Error.argumentUndefined(d);b.popStackFrame();return b}if(a===null)if(k)return null;else{b=Error.argumentNull(d);b.popStackFrame();return b}if(c&&c.__enum){if(typeof a!=="number"){b=Error.argumentType(d,Object.getType(a),c);b.popStackFrame();return b}if(a%1===0){var e=c.prototype;if(!c.__flags||a===0){for(var i in e)if(e[i]===a)return null}else{var l=a;for(var i in e){var f=e[i];if(f===0)continue;if((f&a)===f)l-=f;if(l===0)return null}}}b=Error.argumentOutOfRange(d,a,String.format(Sys.Res.enumInvalidValue,a,c.getName()));b.popStackFrame();return b}if(m){var h;if(typeof a.nodeType!=="number"){var g=a.ownerDocument||a.document||a;if(g!=a){var j=g.defaultView||g.parentWindow;h=j!=a&&!(j.document&&a.document&&j.document===a.document)}else h=typeof g.body==="undefined"}else h=a.nodeType===3;if(h){b=Error.argument(d,Sys.Res.argumentDomElement);b.popStackFrame();return b}}if(c&&!c.isInstanceOfType(a)){b=Error.argumentType(d,Object.getType(a),c);b.popStackFrame();return b}if(c===Number&&n)if(a%1!==0){b=Error.argumentOutOfRange(d,a,Sys.Res.argumentInteger);b.popStackFrame();return b}return null};Error.__typeName="Error";Error.__class=true;Error.create=function(d,b){var a=new Error(d);a.message=d;if(b)for(var c in b)a[c]=b[c];a.popStackFrame();return a};Error.argument=function(a,c){var b="Sys.ArgumentException: "+(c?c:Sys.Res.argument);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStackFrame();return d};Error.argumentNull=function(a,c){var b="Sys.ArgumentNullException: "+(c?c:Sys.Res.argumentNull);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popStackFrame();return d};Error.argumentOutOfRange=function(c,a,d){var b="Sys.ArgumentOutOfRangeException: "+(d?d:Sys.Res.argumentOutOfRange);if(c)b+="\n"+String.format(Sys.Res.paramName,c);if(typeof a!=="undefined"&&a!==null)b+="\n"+String.format(Sys.Res.actualValue,a);var e=Error.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,actualValue:a});e.popStackFrame();return e};Error.argumentType=function(d,c,b,e){var a="Sys.ArgumentTypeException: ";if(e)a+=e;else if(c&&b)a+=String.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.getName());else a+=Sys.Res.argumentType;if(d)a+="\n"+String.format(Sys.Res.paramName,d);var f=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualType:c,expectedType:b});f.popStackFrame();return f};Error.argumentUndefined=function(a,c){var b="Sys.ArgumentUndefinedException: "+(c?c:Sys.Res.argumentUndefined);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d.popStackFrame();return d};Error.format=function(a){var c="Sys.FormatException: "+(a?a:Sys.Res.format),b=Error.create(c,{name:"Sys.FormatException"});b.popStackFrame();return b};Error.invalidOperation=function(a){var c="Sys.InvalidOperationException: "+(a?a:Sys.Res.invalidOperation),b=Error.create(c,{name:"Sys.InvalidOperationException"});b.popStackFrame();return b};Error.notImplemented=function(a){var c="Sys.NotImplementedException: "+(a?a:Sys.Res.notImplemented),b=Error.create(c,{name:"Sys.NotImplementedException"});b.popStackFrame();return b};Error.parameterCount=function(a){var c="Sys.ParameterCountException: "+(a?a:Sys.Res.parameterCount),b=Error.create(c,{name:"Sys.ParameterCountException"});b.popStackFrame();return b};Error.prototype.popStackFrame=function(){if(typeof this.stack==="undefined"||this.stack===null||typeof this.fileName==="undefined"||this.fileName===null||typeof this.lineNumber==="undefined"||this.lineNumber===null)return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(typeof c!=="undefined"&&c!==null&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(typeof d==="undefined"||d===null)return;var b=d.match(/@(.*):(\d+)$/);if(typeof b==="undefined"||b===null)return;this.fileName=b[1];this.lineNumber=parseInt(b[2]);a.shift();this.stack=a.join("\n")};Object.__typeName="Object";Object.__class=true;Object.getType=function(b){var a=b.constructor;if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;return a};Object.getTypeName=function(a){return Object.getType(a).getName()};String.__typeName="String";String.__class=true;String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};String.format=function(){return String._toFormattedString(false,arguments)};String.localeFormat=function(){return String._toFormattedString(true,arguments)};String._toFormattedString=function(l,j){var c="",e=j[0];for(var a=0;true;){var f=e.indexOf("{",a),d=e.indexOf("}",a);if(f<0&&d<0){c+=e.slice(a);break}if(d>0&&(d<f||f<0)){c+=e.slice(a,d+1);a=d+2;continue}c+=e.slice(a,f);a=f+1;if(e.charAt(a)==="{"){c+="{";a++;continue}if(d<0)break;var h=e.substring(a,d),g=h.indexOf(":"),k=parseInt(g<0?h:h.substring(0,g),10)+1,i=g<0?"":h.substring(g+1),b=j[k];if(typeof b==="undefined"||b===null)b="";if(b.toFormattedString)c+=b.toFormattedString(i);else if(l&&b.localeFormat)c+=b.localeFormat(i);else if(b.format)c+=b.format(i);else c+=b.toString();a=d+1}return c};Boolean.__typeName="Boolean";Boolean.__class=true;Boolean.parse=function(b){var a=b.trim().toLowerCase();if(a==="false")return false;if(a==="true")return true};Date.__typeName="Date";Date.__class=true;Date._appendPreOrPostMatch=function(e,b){var d=0,a=false;for(var c=0,g=e.length;c<g;c++){var f=e.charAt(c);switch(f){case "'":if(a)b.append("'");else d++;a=false;break;case "\\":if(a)b.append("\\");a=!a;break;default:b.append(f);a=false}}return d};Date._expandFormat=function(a,b){if(!b)b="F";if(b.length===1)switch(b){case "d":return a.ShortDatePattern;case "D":return a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return a.LongTimePattern;case "F":return a.FullDateTimePattern;case "M":case "m":return a.MonthDayPattern;case "s":return a.SortableDateTimePattern;case "Y":case "y":return a.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString)}return b};Date._expandYear=function(c,a){if(a<100){var b=(new Date).getFullYear();a+=b-b%100;if(a>c.Calendar.TwoDigitYearMax)return a-100}return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(g,c,h){var e=false;for(var a=1,i=h.length;a<i;a++){var f=h[a];if(f){e=true;var b=Date._parseExact(g,f,c);if(b)return b}}if(!e){var d=c._getDateTimeFormats();for(var a=0,i=d.length;a<i;a++){var b=Date._parseExact(g,d[a],c);if(b)return b}}return null};Date._parseExact=function(s,y,j){s=s.trim();var m=j.dateTimeFormat,v=Date._getParseRegExp(m,y),x=(new RegExp(v.regExp)).exec(s);if(x===null)return null;var w=v.groups,f=null,c=null,h=null,g=null,d=0,n=0,o=0,e=0,k=null,r=false;for(var p=0,z=w.length;p<z;p++){var a=x[p+1];if(a)switch(w[p]){case "dd":case "d":h=parseInt(a,10);if(h<1||h>31)return null;break;case "MMMM":c=j._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=j._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":var c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":f=Date._expandYear(m,parseInt(a,10));if(f<0||f>9999)return null;break;case "yyyy":f=parseInt(a,10);if(f<0||f>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":n=parseInt(a,10);if(n<0||n>59)return null;break;case "s":case "ss":o=parseInt(a,10);if(o<0||o>59)return null;break;case "tt":case "t":var u=a.toUpperCase();r=u===m.PMDesignator.toUpperCase();if(!r&&u!==m.AMDesignator.toUpperCase())return null;break;case "f":e=parseInt(a,10)*100;if(e<0||e>999)return null;break;case "ff":e=parseInt(a,10)*10;if(e<0||e>999)return null;break;case "fff":e=parseInt(a,10);if(e<0||e>999)return null;break;case "dddd":g=j._getDayIndex(a);if(g<0||g>6)return null;break;case "ddd":g=j._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case "zzz":var q=a.split(/:/);if(q.length!==2)return null;var i=parseInt(q[0],10);if(i<-12||i>13)return null;var l=parseInt(q[1],10);if(l<0||l>59)return null;k=i*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var i=parseInt(a,10);if(i<-12||i>13)return null;k=i*60}}var b=new Date;if(f===null)f=b.getFullYear();if(c===null)c=b.getMonth();if(h===null)h=b.getDate();b.setFullYear(f,c,h);if(b.getDate()!==h)return null;if(g!==null&&b.getDay()!==g)return null;if(r&&d<12)d+=12;b.setHours(d,n,o,e);if(k!==null){var t=b.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(t/60,10),t%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,h){if(!e||e.length===0||e==="i")if(h&&h.name.length>0)return this.toLocaleString();else return this.toString();var d=h.dateTimeFormat;e=Date._expandFormat(d,e);var a=new Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}var j=0,i=Date._getTokenRegExp();for(;true;){var l=i.lastIndex,f=i.exec(e),k=e.slice(l,f?f.index:e.length);j+=Date._appendPreOrPostMatch(k,a);if(!f)break;if(j%2===1){a.append(f[0]);continue}switch(f[0]){case "dddd":a.append(d.DayNames[this.getDay()]);break;case "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case "dd":a.append(c(this.getDate()));break;case "d":a.append(this.getDate());break;case "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":a.append(c(this.getMonth()+1));break;case "M":a.append(this.getMonth()+1);break;case "yyyy":a.append(this.getFullYear());break;case "yy":a.append(c(this.getFullYear()%100));break;case "y":a.append(this.getFullYear()%100);break;case "hh":b=this.getHours()%12;if(b===0)b=12;a.append(c(b));break;case "h":b=this.getHours()%12;if(b===0)b=12;a.append(b);break;case "HH":a.append(c(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(c(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(c(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;case "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0));break;case "f":a.append(g(this.getMilliseconds()).charAt(0));break;case "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(g(this.getMilliseconds()));break;case "z":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+Math.floor(Math.abs(b)));break;case "zz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b))));break;case "zzz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)))}}return a.toString()};Number.__typeName="Number";Number.__class=true;Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,o){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=o.numberFormat,g=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=g[0],e=g[1];if(h===""&&a.NumberNegativePattern!==1){g=Number._parseNumberNegativePattern(b,a,1);h=g[0];e=g[1]}if(h==="")h="+";var j,d,f=e.indexOf("e");if(f<0)f=e.indexOf("E");if(f<0){d=e;j=null}else{d=e.substr(0,f);j=e.substr(f+1)}var c,k,m=d.indexOf(a.NumberDecimalSeparator);if(m<0){c=d;k=null}else{c=d.substr(0,m);k=d.substr(m+a.NumberDecimalSeparator.length)}c=c.split(a.NumberGroupSeparator).join("");var n=a.NumberGroupSeparator.replace(/\u00A0/g," ");if(a.NumberGroupSeparator!==n)c=c.split(n).join("");var l=h+c;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(d,j){if(!d||d.length===0||d==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b<c;b++)a=d?"0"+a:a+"0";return a}function i(j,i,l,n,p){var h=l[0],k=1,o=Math.pow(10,i),m=Math.round(j*o)/o;if(!isFinite(m))m=j;j=m;var b=j.toString(),a="",c,e=b.split(/e/i);b=e[0];c=e.length>1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k<l.length){h=l[k];k++}}return b.slice(0,d+1)+n+f+a}var a=j.numberFormat,e=Math.abs(this);if(!d)d="D";var b=-1;if(d.length>1)b=parseInt(d.slice(1),10);var c;switch(d.charAt(0)){case "d":case "D":c="n";if(b!==-1)e=g(""+e,b,true);if(this<0)e=-e;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;e=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;e=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;e=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=e;break;case "$":f+=a.CurrencySymbol;break;case "-":f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};RegExp.__typeName="RegExp";RegExp.__class=true;Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];if(typeof c!=="undefined")e.call(d,c,a,b)}};Array.indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!=="undefined"&&d[b]===e)return b}return -1};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(value){if(!value)return [];return eval(value)};Array.remove=function(b,c){var a=Array.indexOf(b,c);if(a>=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=this.getBaseMethod(a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(d,c){var b=this.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Array.contains(a,e))a[a.length]=e}b=b.__baseType}return a};Type.prototype.getName=function(){return typeof this.__typeName==="undefined"?"":this.__typeName};Type.prototype.implementsInterface=function(d){this.resolveInheritance();var c=d.getName(),a=this.__interfaceCache;if(a){var e=a[c];if(typeof e!=="undefined")return e}else a=this.__interfaceCache={};var b=this;while(b){var f=b.__interfaces;if(f)if(Array.indexOf(f,d)!==-1)return a[c]=true;b=b.__baseType}return a[c]=false};Type.prototype.inheritsFrom=function(b){this.resolveInheritance();var a=this.__baseType;while(a){if(a===b)return true;a=a.__baseType}return false};Type.prototype.initializeBase=function(a,b){this.resolveInheritance();if(this.__baseType)if(!b)this.__baseType.apply(a);else this.__baseType.apply(a,b);return a};Type.prototype.isImplementedBy=function(a){if(typeof a==="undefined"||a===null)return false;var b=Object.getType(a);return !!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.isInstanceOfType=function(b){if(typeof b==="undefined"||b===null)return false;if(b instanceof this)return true;var a=Object.getType(b);return !!(a===this)||a.inheritsFrom&&a.inheritsFrom(this)||a.implementsInterface&&a.implementsInterface(this)};Type.prototype.registerClass=function(c,b,d){this.prototype.constructor=this;this.__typeName=c;this.__class=true;if(b){this.__baseType=b;this.__basePrototypePending=true}Sys.__upperCaseTypes[c.toUpperCase()]=this;if(d){this.__interfaces=[];for(var a=2,f=arguments.length;a<f;a++){var e=arguments[a];this.__interfaces.push(e)}}return this};Type.prototype.registerInterface=function(a){Sys.__upperCaseTypes[a.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=a;this.__interface=true;return this};Type.prototype.resolveInheritance=function(){if(this.__basePrototypePending){var b=this.__baseType;b.resolveInheritance();for(var a in b.prototype){var c=b.prototype[a];if(!this.prototype[a])this.prototype[a]=c}delete this.__basePrototypePending}};Type.getRootNamespaces=function(){return Array.clone(Sys.__rootNamespaces)};Type.isClass=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__class};Type.isInterface=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__interface};Type.isNamespace=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__namespace};Type.parse=function(typeName,ns){var fn;if(ns){fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+"."+typeName.toUpperCase()];return fn||null}if(!typeName)return null;if(!Type.__htClasses)Type.__htClasses={};fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);Type.__htClasses[typeName]=fn}return fn};Type.registerNamespace=function(f){var d=window,c=f.split(".");for(var b=0;b<c.length;b++){var e=c[b],a=d[e];if(!a){a=d[e]={__namespace:true,__typeName:c.slice(0,b+1).join(".")};if(b===0)Sys.__rootNamespaces[Sys.__rootNamespaces.length]=a;a.getName=function(){return this.__typeName}}d=a}};window.Sys={__namespace:true,__typeName:"Sys",getName:function(){return "Sys"},__upperCaseTypes:{}};Sys.__rootNamespaces=[Sys];Sys.IDisposable=function(){};Sys.IDisposable.prototype={};Sys.IDisposable.registerInterface("Sys.IDisposable");Sys.StringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};Sys.StringBuilder.prototype={append:function(a){this._parts[this._parts.length]=a},appendLine:function(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){if(this._parts.length===0)return true;return this.toString()===""},toString:function(a){a=a||"";var b=this._parts;if(this._len!==b.length){this._value={};this._len=b.length}var d=this._value;if(typeof d[a]==="undefined"){if(a!=="")for(var c=0;c<b.length;)if(typeof b[c]==="undefined"||b[c]===""||b[c]===null)b.splice(c,1);else c++;d[a]=this._parts.join(a)}return d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a<c;a++)try{return new ActiveXObject(b[a])}catch(d){}return null};Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);Sys.Browser.documentMode=0;if(navigator.userAgent.indexOf(" MSIE ")>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+="    ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e<j;e++)this._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in a){h=a[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=new Sys._Debug;Sys.Debug.isDebug=false;function Sys$Enum$parse(c,e){var a,b,i;if(e){a=this.__lowerCaseValues;if(!a){this.__lowerCaseValues=a={};var g=this.prototype;for(var f in g)a[f.toLowerCase()]=g[f]}}else a=this.prototype;if(!this.__flags){i=e?c.toLowerCase():c;b=a[i.trim()];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__typeName));return b}else{var h=(e?c.toLowerCase():c).split(","),j=0;for(var d=h.length-1;d>=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b<e;b++)a[b](c,d)}},_getEvent:function(a,b){if(!this._list[a]){if(!b)return null;this._list[a]=[]}return this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList");Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.INotifyDisposing=function(){};Sys.INotifyDisposing.prototype={};Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function(){if(Sys.Application)Sys.Application.registerDisposableObject(this)};Sys.Component.prototype={_id:null,_initialized:false,_updating:false,get_events:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_id:function(){return this._id},set_id:function(a){this._id=a},get_isInitialized:function(){return this._initialized},get_isUpdating:function(){return this._updating},add_disposing:function(a){this.get_events().addHandler("disposing",a)},remove_disposing:function(a){this.get_events().removeHandler("disposing",a)},add_propertyChanged:function(a){this.get_events().addHandler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_events().removeHandler("propertyChanged",a)},beginUpdate:function(){this._updating=true},dispose:function(){if(this._events){var a=this._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)}delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this)},endUpdate:function(){this._updating=false;if(!this._initialized)this.initialize();this.updated()},initialize:function(){this._initialized=true},raisePropertyChanged:function(b){if(!this._events)return;var a=this._events.getHandler("propertyChanged");if(a)a(this,new Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.registerClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var d,j=Object.getType(a),e=j===Object||j===Sys.UI.DomElement,h=Sys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginUpdate();for(var c in i){var b=i[c],f=e?null:a["get_"+c];if(e||typeof f!=="function"){var k=a[c];if(!b||typeof b!=="object"||e&&!k)a[c]=b;else Sys$Component$_setProperties(k,b)}else{var l=a["set_"+c];if(typeof l==="function")l.apply(a,[b]);else if(b instanceof Array){d=f.apply(a);for(var g=0,m=d.length,n=b.length;g<n;g++,m++)d[m]=b[g]}else if(typeof b==="object"&&Object.getType(b)===Object){d=f.apply(a);Sys$Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function Sys$Component$_setReferences(c,b){for(var a in b){var e=c["set_"+a],d=$find(b[a]);e.apply(c,[d])}}var $create=Sys.Component.create=function(h,f,d,c,g){var a=g?new h(g):new h,b=Sys.Application,i=b.get_isCreatingComponents();a.beginUpdate();if(f)Sys$Component$_setProperties(a,f);if(d)for(var e in d)a["add_"+e](d[e]);if(a.get_id())b.addComponent(a);if(i){b._createdComponents[b._createdComponents.length]=a;if(c)b._addComponentToSecondPass(a,c);else a.endUpdate()}else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}return a};Sys.UI.MouseButton=function(){throw Error.notImplemented()};Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function(){throw Error.notImplemented()};Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point=function(a,b){this.x=a;this.y=b};Sys.UI.Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=function(c,d,b,a){this.x=c;this.y=d;this.height=a;this.width=b};Sys.UI.Bounds.registerClass("Sys.UI.Bounds");Sys.UI.DomEvent=function(e){var a=e,b=this.type=a.type.toLowerCase();this.rawEvent=a;this.altKey=a.altKey;if(typeof a.button!=="undefined")this.button=typeof a.which!=="undefined"?a.button:a.button===4?Sys.UI.MouseButton.middleButton:a.button===2?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;if(b==="keypress")this.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)this.keyCode=127;else this.keyCode=a.keyCode;this.clientX=a.clientX;this.clientY=a.clientY;this.ctrlKey=a.ctrlKey;this.target=a.target?a.target:a.srcElement;if(!b.startsWith("key"))if(typeof a.offsetX!=="undefined"&&typeof a.offsetY!=="undefined"){this.offsetX=a.offsetX;this.offsetY=a.offsetY}else if(this.target&&this.target.nodeType!==3&&typeof a.clientX==="number"){var c=Sys.UI.DomElement.getLocation(this.target),d=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(d.pageXOffset||0)+a.clientX-c.x;this.offsetY=(d.pageYOffset||0)+a.clientY-c.y}this.screenX=a.screenX;this.screenY=a.screenY;this.shiftKey=a.shiftKey};Sys.UI.DomEvent.prototype={preventDefault:function(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();else if(window.event)this.rawEvent.returnValue=false},stopPropagation:function(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else if(window.event)this.rawEvent.cancelBubble=true}};Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent");var $addHandler=Sys.UI.DomEvent.addHandler=function(a,d,e){if(!a._events)a._events={};var c=a._events[d];if(!c)a._events[d]=c=[];var b;if(a.addEventListener){b=function(b){return e.call(a,new Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else if(a.attachEvent){b=function(){var b={};try{b=Sys.UI.DomElement._getWindow(a).event}catch(c){}return e.call(a,new Sys.UI.DomEvent(b))};a.attachEvent("on"+d,b)}c[c.length]={handler:e,browserHandler:b}},$addHandlers=Sys.UI.DomEvent.addHandlers=function(e,d,c){for(var b in d){var a=d[b];if(c)a=Function.createDelegate(c,a);$addHandler(e,b,a)}},$clearHandlers=Sys.UI.DomEvent.clearHandlers=function(a){if(a._events){var e=a._events;for(var b in e){var d=e[b];for(var c=d.length-1;c>=0;c--)$removeHandler(a,b,d[c].handler)}a._events=null}},$removeHandler=Sys.UI.DomEvent.removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b<g;b++)if(c[b].handler===f){d=c[b].browserHandler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.UI.DomElement=function(){};Sys.UI.DomElement.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=function(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className==="")a.className=b;else a.className+=" "+b};Sys.UI.DomElement.containsCssClass=function(b,a){return Array.contains(b.className.split(" "),a)};Sys.UI.DomElement.getBounds=function(a){var b=Sys.UI.DomElement.getLocation(a);return new Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var $get=Sys.UI.DomElement.getElementById=function(f,e){if(!e)return document.getElementById(f);if(e.getElementById)return e.getElementById(f);var c=[],d=e.childNodes;for(var b=0;b<d.length;b++){var a=d[b];if(a.nodeType==1)c[c.length]=a}while(c.length){a=c.shift();if(a.id==f)return a;d=a.childNodes;for(b=0;b<d.length;b++){a=d[b];if(a.nodeType==1)c[c.length]=a}}return null};switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=function(a){if(a.self||a.nodeType===9)return new Sys.UI.Point(0,0);var b=a.getBoundingClientRect();if(!b)return new Sys.UI.Point(0,0);var d=a.ownerDocument.documentElement,e=b.left-2+d.scrollLeft,f=b.top-2+d.scrollTop;try{var c=a.ownerDocument.parentWindow.frameElement||null;if(c){var g=c.frameBorder==="0"||c.frameBorder==="no"?2:0;e+=g;f+=g}}catch(h){}return new Sys.UI.Point(e,f)};break;case Sys.Browser.Safari:Sys.UI.DomElement.getLocation=function(c){if(c.window&&c.window===c||c.nodeType===9)return new Sys.UI.Point(0,0);var f=0,g=0,j=null,e=null,b;for(var a=c;a;j=a,(e=b,a=a.offsetParent)){b=Sys.UI.DomElement._getCurrentStyle(a);var d=a.tagName?a.tagName.toUpperCase():null;if((a.offsetLeft||a.offsetTop)&&(d!=="BODY"||(!e||e.position!=="absolute"))){f+=a.offsetLeft;g+=a.offsetTop}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(var a=c.parentNode;a;a=a.parentNode){d=a.tagName?a.tagName.toUpperCase():null;if(d!=="BODY"&&d!=="HTML"&&(a.scrollLeft||a.scrollTop)){f-=a.scrollLeft||0;g-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(f,g)};break;case Sys.Browser.Opera:Sys.UI.DomElement.getLocation=function(b){if(b.window&&b.window===b||b.nodeType===9)return new Sys.UI.Point(0,0);var d=0,e=0,i=null;for(var a=b;a;i=a,a=a.offsetParent){var f=a.tagName;d+=a.offsetLeft||0;e+=a.offsetTop||0}var g=b.style.position,c=g&&g!=="static";for(var a=b.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)&&(c&&(a.style.overflow==="scroll"||a.style.overflow==="auto"))){d-=a.scrollLeft||0;e-=a.scrollTop||0}var h=a&&a.style?a.style.position:null;c=c||h&&h!=="static"}return new Sys.UI.Point(d,e)};break;default:Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,i=null,g=null,b=null;for(var a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(var a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)}}Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._sessions=[];this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopSession();this._loading=false;if(this._events)delete this._events;this._sessions=null;this._currentSession=null;this._scriptLoadedDelegate=null},loadScripts:function(d,b,c,a){var e={allScriptsLoadedCallback:b,scriptLoadFailedCallback:c,scriptLoadTimeoutCallback:a,scriptsToLoad:this._scriptsToLoad,scriptTimeout:d};this._scriptsToLoad=null;this._sessions[this._sessions.length]=e;if(!this._loading)this._nextSession()},notifyScriptLoaded:function(){if(!this._loading)return;this._currentTask._notified++;if(Sys.Browser.agent===Sys.Browser.Safari)if(this._currentTask._notified===1)window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(c){var a=document.createElement("script");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){var b=this._currentSession;if(b.scriptsToLoad&&b.scriptsToLoad.length>0){var c=Array.dequeue(b.scriptsToLoad),a=this._createScriptElement(c);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof c.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(a);Sys._ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{this._stopSession();var d=b.allScriptsLoadedCallback;if(d)d(this);this._nextSession()}},_nextSession:function(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return}this._loading=true;var a=Array.dequeue(this._sessions);this._currentSession=a;if(a.scriptTimeout>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a.scriptTimeout*1000);this._loadScriptsInternal()},_raiseError:function(a){var c=this._currentSession.scriptLoadFailedCallback,b=this._currentTask.get_scriptElement();this._stopSession();if(c){c(this,b,a);this._nextSession()}else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)}},_scriptLoadedHandler:function(a,b){if(b&&this._currentTask._notified)if(this._currentTask._notified>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var a=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(a)a(this);this._nextSession()},_stopSession:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var b=Sys._ScriptLoader._referencedScripts=[],c=document.getElementsByTagName("script");for(i=c.length-1;i>=0;i--){var d=c[i],a=d.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};Sys._ScriptLoader._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=function(b,d){var a;if(d)a=Sys.Res.scriptLoadMultipleCallbacks;else a=Sys.Res.scriptLoadFailed;var e="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(e,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a;this._notified=0};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;var b=this;window.setTimeout(function(){b._completedCallback(a,true)},0)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys.HistoryEventArgs=function(a){Sys.HistoryEventArgs.initializeBase(this);this._state=a};Sys.HistoryEventArgs.prototype={get_state:function(){return this._state}};Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._appLoadHandler=null;this._beginRequestHandler=null;this._clientId=null;this._currentEntry="";this._endRequestHandler=null;this._history=null;this._enableHistory=false;this._historyFrame=null;this._historyInitialized=false;this._historyInitialLength=0;this._historyLength=0;this._historyPointIsNew=false;this._ignoreTimer=false;this._initialState=null;this._state={};this._timerCookie=0;this._timerHandler=null;this._uniqueId=null;this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate)};Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents},get_stateString:function(){var a=window.location.hash;if(this._isSafari2()){var b=this._getHistory();if(b)a=b[window.history.length-this._historyInitialLength]}if(a.length>0&&a.charAt(0)==="#")a=a.substring(1);if(Sys.Browser.agent===Sys.Browser.Firefox)a=this._serializeState(this._deserializeState(a,true));return a},get_enableHistory:function(){return this._enableHistory},set_enableHistory:function(a){this._enableHistory=a},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_navigate:function(a){this.get_events().addHandler("navigate",a)},remove_navigate:function(a){this.get_events().removeHandler("navigate",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},addHistoryPoint:function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,e=b.length;a<e;a++)b[a].dispose();Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}var d=Sys._ScriptLoader.getInstance();if(d)d.dispose();Sys._Application.callBaseMethod(this,"dispose")}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a<d;a++){var c=b[a].component;Sys$Component$_setReferences(c,b[a].references);c.endUpdate()}this._secondPassComponents=[];this._creatingComponents=false},findComponent:function(b,a){return a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Application._components[b]||null},getComponents:function(){var a=[],b=this._components;for(var c in b)a[a.length]=b[c];return a},initialize:function(){if(!this._initialized&&!this._initializing){this._initializing=true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0)}},notifyScriptLoaded:function(){var a=Sys._ScriptLoader.getInstance();if(a)a.notifyScriptLoaded()},registerDisposableObject:function(a){if(!this._disposing)this._disposableObjects[this._disposableObjects.length]=a},raiseLoad:function(){var b=this.get_events().getHandler("load"),a=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);this._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},setServerId:function(a,b){this._clientId=a;this._uniqueId=b},setServerState:function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)},unregisterDisposableObject:function(a){if(!this._disposing)Array.remove(this._disposableObjects,a)},_addComponentToSecondPass:function(b,a){this._secondPassComponents[this._secondPassComponents.length]={component:b,references:a}},_deserializeState:function(a,i){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2<a.length){e.__s=a.substr(b+2);a=a.substr(0,b)}var g=a.split("&");for(var f=0,k=g.length;f<k;f++){var d=g[f],c=d.indexOf("=");if(c!==-1&&c+1<d.length){var j=d.substr(0,c),h=d.substr(c+1);e[j]=i?h:decodeURIComponent(h)}}return e},_doInitialize:function(){Sys._Application.callBaseMethod(this,"initialize");var b=this.get_events().getHandler("init");if(b){this.beginCreateComponents();b(this,Sys.EventArgs.Empty);this.endCreateComponents()}if(Sys.WebForms){this._beginRequestHandler=Function.createDelegate(this,this._onPageRequestManagerBeginRequest);Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);this._endRequestHandler=Function.createDelegate(this,this._onPageRequestManagerEndRequest);Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler)}var a=this.get_stateString();if(a!==this._currentEntry)this._navigate(a);this.raiseLoad();this._initializing=false},_enableHistoryInScriptManager:function(){this._enableHistory=true},_ensureHistory:function(){if(!this._historyInitialized&&this._enableHistory){if(Sys.Browser.agent===Sys.Browser.InternetExplorer&&Sys.Browser.documentMode<8){this._historyFrame=document.getElementById("__historyFrame");this._ignoreIFrame=true}if(this._isSafari2()){var a=document.getElementById("__history");this._setHistory([window.location.hash]);this._historyInitialLength=window.history.length}this._timerHandler=Function.createDelegate(this,this._onIdle);this._timerCookie=window.setTimeout(this._timerHandler,100);try{this._initialState=this._deserializeState(this.get_stateString())}catch(b){}this._historyInitialized=true}},_getHistory:function(){var a=document.getElementById("__history");if(!a)return "";var b=a.value;return b?Sys.Serialization.JavaScriptSerializer.deserialize(b,true):""},_isSafari2:function(){return Sys.Browser.agent===Sys.Browser.Safari&&Sys.Browser.version<=419.3},_loadHandler:function(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}this.initialize()},_navigate:function(c){this._ensureHistory();var b=this._deserializeState(c);if(this._uniqueId){var d=this._state.__s||"",a=b.__s||"";if(a!==d){this._updateHiddenField(a);__doPostBack(this._uniqueId,a);this._state=b;return}}this._setState(c);this._state=b;this._raiseNavigate()},_onIdle:function(){delete this._timerCookie;var a=this.get_stateString();if(a!==this._currentEntry){if(!this._ignoreTimer){this._historyPointIsNew=false;this._navigate(a);this._historyLength=window.history.length}}else this._ignoreTimer=false;this._timerCookie=window.setTimeout(this._timerHandler,100)},_onIFrameLoad:function(a){this._ensureHistory();if(!this._ignoreIFrame){this._historyPointIsNew=false;this._navigate(a)}this._ignoreIFrame=false},_onPageRequestManagerBeginRequest:function(){this._ignoreTimer=true},_onPageRequestManagerEndRequest:function(e,d){var b=d.get_dataItems()[this._clientId],a=document.getElementById("__EVENTTARGET");if(a&&a.value===this._uniqueId)a.value="";if(typeof b!=="undefined"){this.setServerState(b);this._historyPointIsNew=true}else this._ignoreTimer=false;var c=this._serializeState(this._state);if(c!==this._currentEntry){this._ignoreTimer=true;this._setState(c);this._raiseNavigate()}},_raiseNavigate:function(){var c=this.get_events().getHandler("navigate"),b={};for(var a in this._state)if(a!=="__s")b[a]=this._state[a];var d=new Sys.HistoryEventArgs(b);if(c)c(this,d)},_serializeState:function(d){var b=[];for(var a in d){var e=d[a];if(a==="__s")var c=e;else b[b.length]=a+"="+encodeURIComponent(e)}return b.join("&")+(c?"&&"+c:"")},_setHistory:function(b){var a=document.getElementById("__history");if(a)a.value=Sys.Serialization.JavaScriptSerializer.serialize(b)},_setState:function(a,c){a=a||"";if(a!==this._currentEntry){if(window.theForm){var e=window.theForm.action,f=e.indexOf("#");window.theForm.action=(f!==-1?e.substring(0,f):e)+"#"+a}if(this._historyFrame&&this._historyPointIsNew){this._ignoreIFrame=true;this._historyPointIsNew=false;var d=this._historyFrame.contentWindow.document;d.open("javascript:'<html></html>'");d.write("<html><head><title>"+(c||document.title)+"</title><scri"+'pt type="text/javascript">parent.Sys.Application._onIFrameLoad(\''+a+"');</scri"+"pt></head><body></body></html>");d.close()}this._ignoreTimer=false;var h=this.get_stateString();this._currentEntry=a;if(a!==h){if(this._isSafari2()){var g=this._getHistory();g[window.history.length-this._historyInitialLength+1]=a;this._setHistory(g);this._historyLength=window.history.length+1;var b=document.createElement("form");b.method="get";b.action="#"+a;document.appendChild(b);b.submit();document.removeChild(b)}else window.location.hash=a;if(typeof c!=="undefined"&&c!==null)document.title=c}}},_unloadHandler:function(){this.dispose()},_updateHiddenField:function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b<f;b++)try{var a=new ActiveXObject(c[b]);a.async=false;a.loadXML(d);a.setProperty("SelectionLanguage","XPath");return a}catch(g){}}else try{var e=new window.DOMParser;return e.parseFromString(d,"text/xml")}catch(g){}return null};Sys.Net.XMLHttpExecutor=function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var a=this;this._xmlHttpRequest=null;this._webRequest=null;this._responseAvailable=false;this._timedOut=false;this._timer=null;this._aborted=false;this._started=false;this._onReadyStateChange=function(){if(a._xmlHttpRequest.readyState===4){try{if(typeof a._xmlHttpRequest.status==="undefined")return}catch(b){return}a._clearTimer();a._responseAvailable=true;try{a._webRequest.completed(Sys.EventArgs.Empty)}finally{if(a._xmlHttpRequest!=null){a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest=null}}}};this._clearTimer=function(){if(a._timer!=null){window.clearTimeout(a._timer);a._timer=null}};this._onTimeout=function(){if(!a._responseAvailable){a._clearTimer();a._timedOut=true;a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=null}}};Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function(){return this._timedOut},get_started:function(){return this._started},get_responseAvailable:function(){return this._responseAvailable},get_aborted:function(){return this._aborted},executeRequest:function(){this._webRequest=this.get_webRequest();var c=this._webRequest.get_body(),a=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var e=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._webRequest.getResolvedUrl(),true);if(a)for(var b in a){var f=a[b];if(typeof f!=="function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowerCase()==="post"){if(a===null||!a["Content-Type"])this._xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");if(!c)c=""}var d=this._webRequest.get_timeout();if(d>0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(d,b){if(!b)b=encodeURIComponent;var a=new Sys.StringBuilder,f=0;for(var c in d){var e=d[c];if(typeof e==="function")continue;var g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(f!==0)a.append("&");a.append(c);a.append("=");a.append(b(g));f++}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b){if(!b)return a;var d=Sys.Net.WebRequest._createQueryString(b);if(d.length>0){var c="?";if(a&&a.indexOf("?")!==-1)c="&";return a+c+d}else return a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed},set_defaultFailedCallback:function(a){this._failed=a},get_path:function(){return this._path},set_path:function(a){this._path=a},_invoke:function(d,e,g,f,c,b,a){if(c===null||typeof c==="undefined")c=this.get_defaultSucceededCallback();if(b===null||typeof b==="undefined")b=this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(k,a,j,d,i,c,f,h){var b=new Sys.Net.WebRequest;b.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!d)d={};var g=d;if(!j||!g)g={};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+encodeURIComponent(a),g));var e=null;if(!j){e=Sys.Serialization.JavaScriptSerializer.serialize(d);if(e==="{}")e=""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var g=d.get_statusCode(),b=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))b=d.get_object();else if(e.startsWith("text/xml"))b=d.get_xml();else b=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(b)b=new Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType)}else if(e.startsWith("application/json"))b=b.d;if(g<200||g>=300||h){if(c){if(!b||!h)b=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a),"","");b._statusCode=g;c(b,f,a)}}else if(i)i(b,f,a)}else{var j;if(d.get_timedOut())j=String.format(Sys.Res.webServiceTimedOut,a);else j=String.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new Sys.Net.WebServiceError(d.get_timedOut(),j,"",""),f,a)}}return b};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys.Net.WebServiceError=function(c,d,b,a){this._timedOut=c;this._message=d;this._stackTrace=b;this._exceptionType=a;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace},get_exceptionType:function(){return this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b<e.length;b++){var a=e[b];if(!d[a]){Array.add(c,a);d[a]=true}}return c},_flattenProperties:function(a,i,j){var b={},e,d,g=0;if(a&&a.length===0)return {value:b,count:0};for(var c in i){e=i[c];d=j?j+"."+c:c;if(Sys.Services.ProfileGroup.isInstanceOfType(e)){var k=this._flattenProperties(a,e,d),h=k.value;g+=k.count;for(var f in h){var l=h[f];b[f]=l}}else if(!a||Array.indexOf(a,d)!==-1){b[d]=e;g++}}return {value:b,count:g}},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._ProfileService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoadComplete:function(a,e,g){if(typeof a!=="object")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,g,"Object"));var c=this._unflattenProperties(a);for(var b in c)this.properties[b]=c[b];var d=e[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(d){var f=e[2]||this.get_defaultUserContext();d(a.length,f,"Sys.Services.ProfileService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.load")}},_onSaveComplete:function(a,b,f){var c=b[3];if(a!==null)if(a instanceof Array)c-=a.length;else if(typeof a==="number")c=a;else throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));var d=b[0]||this.get_defaultSaveCompletedCallback()||this.get_defaultSucceededCallback();if(d){var e=b[2]||this.get_defaultUserContext();d(c,e,"Sys.Services.ProfileService.save")}},_onSaveFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.save")}},_unflattenProperties:function(e){var c={},d,f,h=0;for(var a in e){h++;f=e[a];d=a.indexOf(".");if(d!==-1){var g=a.substr(0,d);a=a.substr(d+1);var b=c[g];if(!b||!Sys.Services.ProfileGroup.isInstanceOfType(b)){b=new Sys.Services.ProfileGroup;c[g]=b}b[a]=f}else c[a]=f}e.length=h;return c}};Sys.Services._ProfileService.registerClass("Sys.Services._ProfileService",Sys.Net.WebServiceProxy);Sys.Services.ProfileService=new Sys.Services._ProfileService;Sys.Services.ProfileGroup=function(a){if(a)for(var b in a)this[b]=a[b]};Sys.Services.ProfileGroup.registerClass("Sys.Services.ProfileGroup");Sys.Services._AuthenticationService=function(){Sys.Services._AuthenticationService.initializeBase(this)};Sys.Services._AuthenticationService.DefaultWebServicePath="";Sys.Services._AuthenticationService.prototype={_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:"",_timeout:0,_authenticated:false,get_defaultLoginCompletedCallback:function(){return this._defaultLoginCompletedCallback},set_defaultLoginCompletedCallback:function(a){this._defaultLoginCompletedCallback=a},get_defaultLogoutCompletedCallback:function(){return this._defaultLogoutCompletedCallback},set_defaultLogoutCompletedCallback:function(a){this._defaultLogoutCompletedCallback=a},get_isLoggedIn:function(){return this._authenticated},get_path:function(){return this._path||""},login:function(c,b,a,h,f,d,e,g){this._invoke(this._get_path(),"Login",false,{userName:c,password:b,createPersistentCookie:a},Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[c,b,a,h,f,d,e,g])},logout:function(c,a,b,d){this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[c,a,b,d])},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._AuthenticationService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoginComplete:function(e,c,f){if(typeof e!=="boolean")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Boolean"));var b=c[4],d=c[7]||this.get_defaultUserContext(),a=c[5]||this.get_defaultLoginCompletedCallback()||this.get_defaultSucceededCallback();if(e){this._authenticated=true;if(a)a(true,d,"Sys.Services.AuthenticationService.login");if(typeof b!=="undefined"&&b!==null)window.location.href=b}else if(a)a(false,d,"Sys.Services.AuthenticationService.login")},_onLoginFailed:function(d,b){var a=b[6]||this.get_defaultFailedCallback();if(a){var c=b[7]||this.get_defaultUserContext();a(d,c,"Sys.Services.AuthenticationService.login")}},_onLogoutComplete:function(f,a,e){if(f!==null)throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,e,"null"));var b=a[0],d=a[3]||this.get_defaultUserContext(),c=a[1]||this.get_defaultLogoutCompletedCallback()||this.get_defaultSucceededCallback();this._authenticated=false;if(c)c(null,d,"Sys.Services.AuthenticationService.logout");if(!b)window.location.reload();else window.location.href=b},_onLogoutFailed:function(c,b){var a=b[2]||this.get_defaultFailedCallback();if(a)a(c,b[3],"Sys.Services.AuthenticationService.logout")},_setAuthenticated:function(a){this._authenticated=a}};Sys.Services._AuthenticationService.registerClass("Sys.Services._AuthenticationService",Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService;Sys.Services._RoleService=function(){Sys.Services._RoleService.initializeBase(this);this._roles=[]};Sys.Services._RoleService.DefaultWebServicePath="";Sys.Services._RoleService.prototype={_defaultLoadCompletedCallback:null,_rolesIndex:null,_timeout:0,_path:"",get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_path:function(){return this._path||""},get_roles:function(){return Array.clone(this._roles)},isUserInRole:function(a){var b=this._get_rolesIndex()[a.trim().toLowerCase()];return !!b},load:function(a,b,c){Sys.Net.WebServiceProxy.invoke(this._get_path(),"GetRolesForCurrentUser",false,{},Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[a,b,c],this.get_timeout())},_get_path:function(){var a=this.get_path();if(!a||!a.length)a=Sys.Services._RoleService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_get_rolesIndex:function(){if(!this._rolesIndex){var b={};for(var a=0;a<this._roles.length;a++)b[this._roles[a].toLowerCase()]=true;this._rolesIndex=b}return this._rolesIndex},_onLoadComplete:function(a,c,f){if(a&&!(a instanceof Array))throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));this._roles=a;this._rolesIndex=null;var b=c[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(b){var e=c[2]||this.get_defaultUserContext(),d=Array.clone(a);b(d,e,"Sys.Services.RoleService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.RoleService.load")}}};Sys.Services._RoleService.registerClass("Sys.Services._RoleService",Sys.Net.WebServiceProxy);Sys.Services.RoleService=new Sys.Services._RoleService;Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs=[];Sys.Serialization.JavaScriptSerializer._charsToEscape=[];Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars={};Sys.Serialization.JavaScriptSerializer._escapeRegEx=new RegExp('["\\\\\\x00-\\x1F]',"i");Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal=new RegExp('["\\\\\\x00-\\x1F]',"g");Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp("[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]","g");Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"',"g");Sys.Serialization.JavaScriptSerializer._serverTypeFieldName="__type";Sys.Serialization.JavaScriptSerializer._init=function(){var c=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000b","\\f","\\r","\\u000e","\\u000f","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001a","\\u001b","\\u001c","\\u001d","\\u001e","\\u001f"];Sys.Serialization.JavaScriptSerializer._charsToEscape[0]="\\";Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs["\\"]=new RegExp("\\\\","g");Sys.Serialization.JavaScriptSerializer._escapeChars["\\"]="\\\\";Sys.Serialization.JavaScriptSerializer._charsToEscape[1]='"';Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"']=new RegExp('"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars['"']='\\"';for(var a=0;a<32;a++){var b=String.fromCharCode(a);Sys.Serialization.JavaScriptSerializer._charsToEscape[a+2]=b;Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b]=new RegExp(b,"g");Sys.Serialization.JavaScriptSerializer._escapeChars[b]=c[a]}};Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function(b,a){a.append(b.toString())};Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function(a,b){if(isFinite(a))b.append(String(a));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers)};Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function(a,c){c.append('"');if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(a)){if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0)Sys.Serialization.JavaScriptSerializer._init();if(a.length<128)a=a.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,function(a){return Sys.Serialization.JavaScriptSerializer._escapeChars[a]});else for(var d=0;d<34;d++){var b=Sys.Serialization.JavaScriptSerializer._charsToEscape[d];if(a.indexOf(b)!==-1)if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox)a=a.split(b).join(Sys.Serialization.JavaScriptSerializer._escapeChars[b]);else a=a.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b],Sys.Serialization.JavaScriptSerializer._escapeChars[b])}}c.append(a);c.append('"')};Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,i,g){var c;switch(typeof b){case "object":if(b)if(Number.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);else if(String.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);else if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c<b.length;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c<f;c++){var h=b[d[c]];if(typeof h!=="undefined"&&typeof h!=="function"){if(j)a.append(",");else j=true;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(d[c],a,i,g);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(h,a,i,g)}}a.append("}")}else a.append("null");break;case "number":Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);break;case "string":Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);break;case "boolean":Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);break;default:a.append("null")}};Sys.Serialization.JavaScriptSerializer.serialize=function(b){var a=new Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b,a,false);return a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=function(data,secure){if(data.length===0)throw Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var exp=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");if(secure&&Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx,"")))throw null;return eval("("+exp+")")}catch(a){throw Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);return Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);return Array.indexOf(this._upperAbbrMonths,this._toUpper(a))},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a<d;a++)b[a]=this._toUpper(c[a]);return b},_toUpper:function(a){return a.split("\u00a0").join(" ").toUpperCase()}};Sys.CultureInfo._parse=function(b){var a=Sys.Serialization.JavaScriptSerializer.deserialize(b);return new Sys.CultureInfo(a.name,a.numberFormat,a.dateTimeFormat)};Sys.CultureInfo.registerClass("Sys.CultureInfo");Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00a4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');if(typeof __cultureInfo==="undefined")var __cultureInfo='{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!=-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");if(this._element){var a=this.get_name();if(a)this._element[a]=null;Array.remove(this._element._behaviors,this);delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=a[b];return c};Sys.UI.VisibilityMode=function(){throw Error.notImplemented()};Sys.UI.VisibilityMode.prototype={hide:0,collapse:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function(a){Sys.UI.Control.initializeBase(this);this._element=a;a.control=this};Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){if(!this._element)return "";return this._element.id},set_id:function(){throw Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this._parent)return this._parent;if(!this._element)return null;var a=this._element.parentNode;while(a){if(a.control)return a.control;a=a.parentNode}return null},set_parent:function(a){this._parent=a},get_visibilityMode:function(){return Sys.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:function(a){Sys.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:function(){return Sys.UI.DomElement.getVisible(this._element)},set_visible:function(a){Sys.UI.DomElement.setVisible(this._element,a)},addCssClass:function(a){Sys.UI.DomElement.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.callBaseMethod(this,"dispose");if(this._element){this._element.control=undefined;delete this._element}if(this._parent)delete this._parent},onBubbleEvent:function(){return false},raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClass(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Component);
Type.registerNamespace('Sys');Sys.Res={"argumentInteger":"值必须为整数。","scriptLoadMultipleCallbacks":"脚本“{0}”包含对 Sys.Application.notifyScriptLoaded() 的多个调用。只允许一个调用。","invokeCalledTwice":"无法调用 invoke 多次。","webServiceFailed":"服务器方法“{0}”失败，并发生以下错误: {1}","webServiceInvalidJsonWrapper":"服务器方法“{0}”返回的数据无效。JSON 包装缺少“d”属性。","argumentType":"无法将对象转换为所需类型。","argumentNull":"值不能为 null。","controlCantSetId":"无法在控件上设置 ID 属性。","formatBadFormatSpecifier":"格式说明符无效。","webServiceFailedNoMsg":"服务器方法“{0}”失败。","argumentDomElement":"值必须为 DOM 元素。","invalidExecutorType":"无法从 {0} 中创建有效的 Sys.Net.WebRequestExecutor。","cannotCallBeforeResponse":"responseAvailable 为 false 时无法调用 {0}。","actualValue":"实际值是 {0}。","enumInvalidValue":"“{0}”对于枚举 {1} 不是有效的值。","scriptLoadFailed":"无法加载脚本“{0}”。","parameterCount":"参数计数不匹配。","cannotDeserializeEmptyString":"无法反序列化空字符串。","formatInvalidString":"输入字符串的格式不正确。","invalidTimeout":"值必须大于或等于零。","cannotAbortBeforeStart":"执行器尚未启动时无法中止。","argument":"值不在预期的范围内。","cannotDeserializeInvalidJson":"无法反序列化。数据未对应于有效的 JSON。","invalidHttpVerb":"httpVerb 不能设置为空字符串或 null 字符串。","nullWebRequest":"无法调用带有 null webRequest 的 executeRequest。","eventHandlerInvalid":"未通过 Sys.UI.DomEvent.addHandler 方法添加处理程序。","cannotSerializeNonFiniteNumbers":"无法序列化无限数。","argumentUndefined":"值不能是未定义的。","webServiceInvalidReturnType":"服务器方法“{0}”返回了无效类型。期望的类型: {1}","servicePathNotSet":"尚未设置 Web 服务的路径。","argumentTypeWithTypes":"类型“{0}”的对象无法转换为类型“{1}”。","cannotCallOnceStarted":"启动后将无法调用 {0}。","badBaseUrl1":"基 URL 不包含 ://。","badBaseUrl2":"基 URL 不包含另一个 /。","badBaseUrl3":"在基 URL 中找不到最后一个 /。","setExecutorAfterActive":"无法在执行器已激活之后对其进行设置。","paramName":"参数名: {0}","cannotCallOutsideHandler":"无法在完成的事件处理程序外部调用 {0}。","cannotSerializeObjectWithCycle":"无法序列化子属性中具有循环引用的对象。","format":"已标识项中有一项的格式无效。","assertFailedCaller":"断言失败: {0}\r\n位置为 {1}","argumentOutOfRange":"指定的参数已超出有效值的范围。","webServiceTimedOut":"服务器方法“{0}”已超时。","notImplemented":"方法或操作未实现。","assertFailed":"断言失败: {0}","invalidOperation":"对象的当前状态使该操作无效。","breakIntoDebugger":"{0}\r\n\r\n是否中断至调试器?"};
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebForms.js
Type.registerNamespace("Sys.WebForms");Sys.WebForms.BeginRequestEventArgs=function(b,a){Sys.WebForms.BeginRequestEventArgs.initializeBase(this);this._request=b;this._postBackElement=a};Sys.WebForms.BeginRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request}};Sys.WebForms.BeginRequestEventArgs.registerClass("Sys.WebForms.BeginRequestEventArgs",Sys.EventArgs);Sys.WebForms.EndRequestEventArgs=function(c,a,b){Sys.WebForms.EndRequestEventArgs.initializeBase(this);this._errorHandled=false;this._error=c;this._dataItems=a||{};this._response=b};Sys.WebForms.EndRequestEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_error:function(){return this._error},get_errorHandled:function(){return this._errorHandled},set_errorHandled:function(a){this._errorHandled=a},get_response:function(){return this._response}};Sys.WebForms.EndRequestEventArgs.registerClass("Sys.WebForms.EndRequestEventArgs",Sys.EventArgs);Sys.WebForms.InitializeRequestEventArgs=function(b,a){Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);this._request=b;this._postBackElement=a};Sys.WebForms.InitializeRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request}};Sys.WebForms.InitializeRequestEventArgs.registerClass("Sys.WebForms.InitializeRequestEventArgs",Sys.CancelEventArgs);Sys.WebForms.PageLoadedEventArgs=function(b,a,c){Sys.WebForms.PageLoadedEventArgs.initializeBase(this);this._panelsUpdated=b;this._panelsCreated=a;this._dataItems=c||{}};Sys.WebForms.PageLoadedEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsCreated:function(){return this._panelsCreated},get_panelsUpdated:function(){return this._panelsUpdated}};Sys.WebForms.PageLoadedEventArgs.registerClass("Sys.WebForms.PageLoadedEventArgs",Sys.EventArgs);Sys.WebForms.PageLoadingEventArgs=function(b,a,c){Sys.WebForms.PageLoadingEventArgs.initializeBase(this);this._panelsUpdating=b;this._panelsDeleting=a;this._dataItems=c||{}};Sys.WebForms.PageLoadingEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsDeleting:function(){return this._panelsDeleting},get_panelsUpdating:function(){return this._panelsUpdating}};Sys.WebForms.PageLoadingEventArgs.registerClass("Sys.WebForms.PageLoadingEventArgs",Sys.EventArgs);Sys.WebForms.PageRequestManager=function(){this._form=null;this._activeDefaultButton=null;this._activeDefaultButtonClicked=false;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._updatePanelHasChildrenAsTriggers=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._scriptManagerID=null;this._pageLoadedHandler=null;this._additionalInput=null;this._onsubmit=null;this._onSubmitStatements=[];this._originalDoPostBack=null;this._originalDoPostBackWithOptions=null;this._originalFireDefaultButton=null;this._originalDoCallback=null;this._isCrossPost=false;this._postBackSettings=null;this._request=null;this._onFormSubmitHandler=null;this._onFormElementClickHandler=null;this._onWindowUnloadHandler=null;this._asyncPostBackTimeout=null;this._controlIDToFocus=null;this._scrollPosition=null;this._processingRequest=false;this._scriptDisposes={};this._transientFields=["__VIEWSTATEENCRYPTED","__VIEWSTATEFIELDCOUNT"]};Sys.WebForms.PageRequestManager.prototype={_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_isInAsyncPostBack:function(){return this._request!==null},add_beginRequest:function(a){this._get_eventHandlerList().addHandler("beginRequest",a)},remove_beginRequest:function(a){this._get_eventHandlerList().removeHandler("beginRequest",a)},add_endRequest:function(a){this._get_eventHandlerList().addHandler("endRequest",a)},remove_endRequest:function(a){this._get_eventHandlerList().removeHandler("endRequest",a)},add_initializeRequest:function(a){this._get_eventHandlerList().addHandler("initializeRequest",a)},remove_initializeRequest:function(a){this._get_eventHandlerList().removeHandler("initializeRequest",a)},add_pageLoaded:function(a){this._get_eventHandlerList().addHandler("pageLoaded",a)},remove_pageLoaded:function(a){this._get_eventHandlerList().removeHandler("pageLoaded",a)},add_pageLoading:function(a){this._get_eventHandlerList().addHandler("pageLoading",a)},remove_pageLoading:function(a){this._get_eventHandlerList().removeHandler("pageLoading",a)},abortPostBack:function(){if(!this._processingRequest&&this._request){this._request.get_executor().abort();this._request=null}},_cancelPendingCallbacks:function(){for(var a=0,e=window.__pendingCallbacks.length;a<e;a++){var c=window.__pendingCallbacks[a];if(c){if(!c.async)window.__synchronousCallBackIndex=-1;window.__pendingCallbacks[a]=null;var d="__CALLBACKFRAME"+a,b=document.getElementById(d);if(b)b.parentNode.removeChild(b)}}},_commitControls:function(a,b){if(a){this._updatePanelIDs=a.updatePanelIDs;this._updatePanelClientIDs=a.updatePanelClientIDs;this._updatePanelHasChildrenAsTriggers=a.updatePanelHasChildrenAsTriggers;this._asyncPostBackControlIDs=a.asyncPostBackControlIDs;this._asyncPostBackControlClientIDs=a.asyncPostBackControlClientIDs;this._postBackControlIDs=a.postBackControlIDs;this._postBackControlClientIDs=a.postBackControlClientIDs}if(typeof b!=="undefined"&&b!==null)this._asyncPostBackTimeout=b*1000},_createHiddenField:function(c,d){var b,a=document.getElementById(c);if(a)if(!a._isContained)a.parentNode.removeChild(a);else b=a.parentNode;if(!b){b=document.createElement("span");b.style.cssText="display:none !important";this._form.appendChild(b)}b.innerHTML="<input type='hidden' />";a=b.childNodes[0];a._isContained=true;a.id=a.name=c;a.value=d},_createPageRequestManagerTimeoutError:function(){var b="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError,a=Error.create(b,{name:"Sys.WebForms.PageRequestManagerTimeoutException"});a.popStackFrame();return a},_createPageRequestManagerServerError:function(a,d){var c="Sys.WebForms.PageRequestManagerServerErrorException: "+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=Error.create(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:a});b.popStackFrame();return b},_createPageRequestManagerParserError:function(b){var c="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=Error.create(c,{name:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFrame();return a},_createPostBackSettings:function(c,b,a){return {async:c,panelID:b,sourceElement:a}},_convertToClientIDs:function(a,d,c){if(a)for(var b=0,e=a.length;b<e;b++){Array.add(d,a[b]);Array.add(c,this._uniqueIDToClientID(a[b]))}},_destroyTree:function(f){if(f.nodeType===1){var d=f.childNodes;for(var b=d.length-1;b>=0;b--){var a=d[b];if(a.nodeType===1){if(a.dispose&&typeof a.dispose==="function")a.dispose();else if(a.control&&typeof a.control.dispose==="function")a.control.dispose();var e=Sys.UI.Behavior.getBehaviors(a);for(var c=e.length-1;c>=0;c--)e[c].dispose();this._destroyTree(a)}}}},dispose:function(){if(this._form){Sys.UI.DomEvent.removeHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(window,"unload",this._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(window,"load",this._pageLoadedHandler)}if(this._originalDoPostBack){window.__doPostBack=this._originalDoPostBack;this._originalDoPostBack=null}if(this._originalDoPostBackWithOptions){window.WebForm_DoPostBackWithOptions=this._originalDoPostBackWithOptions;this._originalDoPostBackWithOptions=null}if(this._originalFireDefaultButton){window.WebForm_FireDefaultButton=this._originalFireDefaultButton;this._originalFireDefaultButton=null}if(this._originalDoCallback){window.WebForm_DoCallback=this._originalDoCallback;this._originalDoCallback=null}this._form=null;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._asyncPostBackTimeout=null;this._scrollPosition=null},_doCallback:function(d,b,c,f,a,e){if(!this.get_isInAsyncPostBack())this._originalDoCallback(d,b,c,f,a,e)},_doPostBack:function(a,e){this._additionalInput=null;var b=this._form;if(a===null||typeof a==="undefined"||this._isCrossPost){this._postBackSettings=this._createPostBackSettings(false,null,null);this._isCrossPost=false}else{var f=this._uniqueIDToClientID(a),d=document.getElementById(f);if(!d)if(Array.contains(this._asyncPostBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(true,this._scriptManagerID+"|"+a,null);else if(Array.contains(this._postBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(false,null,null);else{var c=this._findNearestElement(a);if(c)this._postBackSettings=this._getPostBackSettings(c,a);else this._postBackSettings=this._createPostBackSettings(false,null,null)}else this._postBackSettings=this._getPostBackSettings(d,a)}if(!this._postBackSettings.async){b.onsubmit=this._onsubmit;this._originalDoPostBack(a,e);b.onsubmit=null;return}b.__EVENTTARGET.value=a;b.__EVENTARGUMENT.value=e;this._onFormSubmit()},_doPostBackWithOptions:function(a){this._isCrossPost=a&&a.actionUrl;this._originalDoPostBackWithOptions(a)},_elementContains:function(b,a){while(a){if(a===b)return true;a=a.parentNode}return false},_endPostBack:function(a,d,f){if(this._request===d.get_webRequest()){this._processingRequest=false;this._additionalInput=null;this._request=null}var e=this._get_eventHandlerList().getHandler("endRequest"),b=false;if(e){var c=new Sys.WebForms.EndRequestEventArgs(a,f?f.dataItems:{},d);e(this,c);b=c.get_errorHandled()}if(a&&!b)throw a},_findNearestElement:function(a){while(a.length>0){var d=this._uniqueIDToClientID(a),c=document.getElementById(d);if(c)return c;var b=a.lastIndexOf("$");if(b===-1)return null;a=a.substring(0,b)}return null},_findText:function(b,a){var c=Math.max(0,a-20),d=Math.min(b.length,a+20);return b.substring(c,d)},_fireDefaultButton:function(a,d){if(a.keyCode===13){var c=a.srcElement||a.target;if(!c||c.tagName.toLowerCase()!=="textarea"){var b=document.getElementById(d);if(b&&typeof b.click!=="undefined"){this._activeDefaultButton=b;this._activeDefaultButtonClicked=false;try{b.click()}finally{this._activeDefaultButton=null}a.cancelBubble=true;if(typeof a.stopPropagation==="function")a.stopPropagation();return false}}}return true},_getPageLoadedEventArgs:function(j,e){var i=[],h=[],d=e?e.updatePanelData:null,c,g,b;if(!d){c=this._updatePanelIDs;g=null;b=null}else{c=d.updatePanelIDs;g=d.childUpdatePanelIDs;b=d.panelsToRefreshIDs}var a,f;if(b)for(a=0,f=b.length;a<f;a++)Array.add(i,document.getElementById(this._uniqueIDToClientID(b[a])));for(a=0,f=c.length;a<f;a++)if(j||Array.indexOf(g,c[a])!==-1)Array.add(h,document.getElementById(this._uniqueIDToClientID(c[a])));return new Sys.WebForms.PageLoadedEventArgs(i,h,e?e.dataItems:{})},_getPageLoadingEventArgs:function(h){var g=[],f=[],c=h.updatePanelData,b=c.oldUpdatePanelIDs,j=c.updatePanelIDs,i=c.childUpdatePanelIDs,e=c.panelsToRefreshIDs,a,d;for(a=0,d=e.length;a<d;a++)Array.add(g,document.getElementById(this._uniqueIDToClientID(e[a])));for(a=0,d=b.length;a<d;a++)if(Array.indexOf(e,b[a])===-1&&(Array.indexOf(j,b[a])===-1||Array.indexOf(i,b[a])>-1))Array.add(f,document.getElementById(this._uniqueIDToClientID(b[a])));return new Sys.WebForms.PageLoadingEventArgs(g,f,h.dataItems)},_getPostBackSettings:function(a,c){var d=a,b=null;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBackControlClientIDs,a.id))b=this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return this._createPostBackSettings(false,null,null);else{var e=Array.indexOf(this._updatePanelClientIDs,a.id);if(e!==-1)if(this._updatePanelHasChildrenAsTriggers[e])return this._createPostBackSettings(true,this._updatePanelIDs[e]+"|"+c,d);else return this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d)}if(!b&&this._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))return this._createPostBackSettings(false,null,null)}a=a.parentNode}if(!b)return this._createPostBackSettings(false,null,null);else return b},_getScrollPosition:function(){var a=document.documentElement;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else{a=document.body;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else if(this._validPosition(window.pageXOffset)||this._validPosition(window.pageYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else return {x:0,y:0}}},_initializeInternal:function(a,b){if(this._prmInitialized)throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);this._prmInitialized=true;this._scriptManagerID=a;this._form=b;this._onsubmit=this._form.onsubmit;this._form.onsubmit=null;this._onFormSubmitHandler=Function.createDelegate(this,this._onFormSubmit);this._onFormElementClickHandler=Function.createDelegate(this,this._onFormElementClick);this._onWindowUnloadHandler=Function.createDelegate(this,this._onWindowUnload);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnloadHandler);this._originalDoPostBack=window.__doPostBack;if(this._originalDoPostBack)window.__doPostBack=Function.createDelegate(this,this._doPostBack);this._originalDoPostBackWithOptions=window.WebForm_DoPostBackWithOptions;if(this._originalDoPostBackWithOptions)window.WebForm_DoPostBackWithOptions=Function.createDelegate(this,this._doPostBackWithOptions);this._originalFireDefaultButton=window.WebForm_FireDefaultButton;if(this._originalFireDefaultButton)window.WebForm_FireDefaultButton=Function.createDelegate(this,this._fireDefaultButton);this._originalDoCallback=window.WebForm_DoCallback;if(this._originalDoCallback)window.WebForm_DoCallback=Function.createDelegate(this,this._doCallback);this._pageLoadedHandler=Function.createDelegate(this,this._pageLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageLoadedHandler)},_matchesParentIDInList:function(c,b){for(var a=0,d=b.length;a<d;a++)if(c.startsWith(b[a]+"_"))return true;return false},_onFormElementActive:function(a,d,e){if(a.disabled)return;this._postBackSettings=this._getPostBackSettings(a,a.name);if(a.name){var b=a.tagName.toUpperCase();if(b==="INPUT"){var c=a.type;if(c==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value);else if(c==="image")this._additionalInput=encodeURIComponent(a.name)+".x="+d+"&"+encodeURIComponent(a.name)+".y="+e}else if(b==="BUTTON"&&a.name.length!==0&&a.type==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value)}},_onFormElementClick:function(a){this._activeDefaultButtonClicked=a.target===this._activeDefaultButton;this._onFormElementActive(a.target,a.offsetX,a.offsetY)},_onFormSubmit:function(h){var g=true,t=this._isCrossPost;this._isCrossPost=false;var e,s;if(this._onsubmit)g=this._onsubmit();if(g)for(e=0,s=this._onSubmitStatements.length;e<s;e++)if(!this._onSubmitStatements[e]()){g=false;break}if(!g){if(h)h.preventDefault();return}var n=this._form;if(t)return;if(this._activeDefaultButton&&!this._activeDefaultButtonClicked)this._onFormElementActive(this._activeDefaultButton,0,0);if(!this._postBackSettings.async)return;var a=new Sys.StringBuilder;a.append(encodeURIComponent(this._scriptManagerID)+"="+encodeURIComponent(this._postBackSettings.panelID)+"&");var v=n.elements.length;for(e=0;e<v;e++){var d=n.elements[e],f=d.name;if(typeof f==="undefined"||f===null||f.length===0||f===this._scriptManagerID)continue;var m=d.tagName.toUpperCase();if(m==="INPUT"){var k=d.type;if(k==="text"||k==="password"||k==="hidden"||(k==="checkbox"||k==="radio")&&d.checked){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(d.value));a.append("&")}}else if(m==="SELECT"){var u=d.options.length;for(var o=0;o<u;o++){var q=d.options[o];if(q.selected){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(q.value));a.append("&")}}}else if(m==="TEXTAREA"){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(d.value));a.append("&")}}a.append("__ASYNCPOST=true&");if(this._additionalInput){a.append(this._additionalInput);this._additionalInput=null}var c=new Sys.Net.WebRequest,b=n.action;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var p=b.indexOf("#");if(p!==-1)b=b.substr(0,p);var l=b.indexOf("?");if(l!==-1){var r=b.substr(0,l);if(r.indexOf("%")===-1)b=encodeURI(r)+b.substr(l)}else if(b.indexOf("%")===-1)b=encodeURI(b)}c.set_url(b);c.get_headers()["X-MicrosoftAjax"]="Delta=true";c.get_headers()["Cache-Control"]="no-cache";c.set_timeout(this._asyncPostBackTimeout);c.add_completed(Function.createDelegate(this,this._onFormSubmitCompleted));c.set_body(a.toString());var i,j=this._get_eventHandlerList().getHandler("initializeRequest");if(j){i=new Sys.WebForms.InitializeRequestEventArgs(c,this._postBackSettings.sourceElement);j(this,i);g=!i.get_cancel()}if(!g){if(h)h.preventDefault();return}this._scrollPosition=this._getScrollPosition();this.abortPostBack();j=this._get_eventHandlerList().getHandler("beginRequest");if(j){i=new Sys.WebForms.BeginRequestEventArgs(c,this._postBackSettings.sourceElement);j(this,i)}if(this._originalDoCallback)this._cancelPendingCallbacks();this._request=c;this._processingRequest=false;c.invoke();if(h)h.preventDefault()},_onFormSubmitCompleted:function(c){this._processingRequest=true;if(c.get_timedOut()){this._endPostBack(this._createPageRequestManagerTimeoutError(),c,null);return}if(c.get_aborted()){this._endPostBack(null,c,null);return}if(!this._request||c.get_webRequest()!==this._request)return;if(c.get_statusCode()!==200){this._endPostBack(this._createPageRequestManagerServerError(c.get_statusCode()),c,null);return}var a=this._parseDelta(c);if(!a)return;var b,e;if(a.asyncPostBackControlIDsNode&&a.postBackControlIDsNode&&a.updatePanelIDsNode&&a.panelsToRefreshNode&&a.childUpdatePanelIDsNode){var p=this._updatePanelIDs,h=a.childUpdatePanelIDsNode.content,n=h.length?h.split(","):[],l=this._splitNodeIntoArray(a.asyncPostBackControlIDsNode),m=this._splitNodeIntoArray(a.postBackControlIDsNode),o=this._splitNodeIntoArray(a.updatePanelIDsNode),g=this._splitNodeIntoArray(a.panelsToRefreshNode);for(b=0,e=g.length;b<e;b++){var i=this._uniqueIDToClientID(g[b]);if(!document.getElementById(i)){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,i)),c,a);return}}var f=this._processUpdatePanelArrays(o,l,m);f.oldUpdatePanelIDs=p;f.childUpdatePanelIDs=n;f.panelsToRefreshIDs=g;a.updatePanelData=f}a.dataItems={};var d;for(b=0,e=a.dataItemNodes.length;b<e;b++){d=a.dataItemNodes[b];a.dataItems[d.id]=d.content}for(b=0,e=a.dataItemJsonNodes.length;b<e;b++){d=a.dataItemJsonNodes[b];a.dataItems[d.id]=Sys.Serialization.JavaScriptSerializer.deserialize(d.content)}var k=this._get_eventHandlerList().getHandler("pageLoading");if(k)k(this,this._getPageLoadingEventArgs(a));Sys._ScriptLoader.readLoadedScripts();Sys.Application.beginCreateComponents();var j=Sys._ScriptLoader.getInstance();this._queueScripts(j,a.scriptBlockNodes,true,false);this._processingRequest=true;j.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadComplete,a)),Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadFailed,a)),null)},_onWindowUnload:function(){this.dispose()},_pageLoaded:function(a,c){var b=this._get_eventHandlerList().getHandler("pageLoaded");if(b)b(this,this._getPageLoadedEventArgs(a,c));if(!a)Sys.Application.raiseLoad()},_pageLoadedInitialLoad:function(){this._pageLoaded(true,null)},_parseDelta:function(g){var c=g.get_responseData(),d,h,D,E,C,b=0,e=null,i=[];while(b<c.length){d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}h=parseInt(c.substring(b,d),10);if(h%1!==0){e=this._findText(c,b);break}b=d+1;d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}D=c.substring(b,d);b=d+1;d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}E=c.substring(b,d);b=d+1;if(b+h>=c.length){e=this._findText(c,c.length);break}C=c.substr(b,h);b+=h;if(c.charAt(b)!=="|"){e=this._findText(c,b);break}b++;Array.add(i,{type:D,id:E,content:C})}if(e){this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,e)),g,null);return null}var w=[],u=[],o=[],v=[],r=[],B=[],z=[],y=[],t=[],q=[],k,n,s,l,m,p,x;for(var j=0,F=i.length;j<F;j++){var a=i[j];switch(a.type){case "updatePanel":Array.add(w,a);break;case "hiddenField":Array.add(u,a);break;case "arrayDeclaration":Array.add(o,a);break;case "scriptBlock":Array.add(v,a);break;case "scriptStartupBlock":Array.add(r,a);break;case "expando":Array.add(B,a);break;case "onSubmit":Array.add(z,a);break;case "asyncPostBackControlIDs":k=a;break;case "postBackControlIDs":n=a;break;case "updatePanelIDs":s=a;break;case "asyncPostBackTimeout":l=a;break;case "childUpdatePanelIDs":m=a;break;case "panelsToRefreshIDs":p=a;break;case "formAction":x=a;break;case "dataItem":Array.add(y,a);break;case "dataItemJson":Array.add(t,a);break;case "scriptDispose":Array.add(q,a);break;case "pageRedirect":if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var f=document.createElement("a");f.style.display="none";f.attachEvent("onclick",A);f.href=a.content;document.body.appendChild(f);f.click();f.detachEvent("onclick",A);document.body.removeChild(f);function A(a){a.cancelBubble=true}}else window.location.href=a.content;return;case "error":this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(a.id),a.content),g,null);return null;case "pageTitle":document.title=a.content;break;case "focus":this._controlIDToFocus=a.content;break;default:this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,a.type)),g,null);return null}}return {executor:g,updatePanelNodes:w,hiddenFieldNodes:u,arrayDeclarationNodes:o,scriptBlockNodes:v,scriptStartupNodes:r,expandoNodes:B,onSubmitNodes:z,dataItemNodes:y,dataItemJsonNodes:t,scriptDisposeNodes:q,asyncPostBackControlIDsNode:k,postBackControlIDsNode:n,updatePanelIDsNode:s,asyncPostBackTimeoutNode:l,childUpdatePanelIDsNode:m,panelsToRefreshNode:p,formActionNode:x}},_processUpdatePanelArrays:function(e,l,n){var d,c,b;if(e){var f=e.length;d=new Array(f);c=new Array(f);b=new Array(f);for(var a=0;a<f;a++){var k=e[a].substr(1),m=e[a].charAt(0)==="t";b[a]=m;d[a]=k;c[a]=this._uniqueIDToClientID(k)}}else{d=[];c=[];b=[]}var i=[],g=[];this._convertToClientIDs(l,i,g);var j=[],h=[];this._convertToClientIDs(n,j,h);return {updatePanelIDs:d,updatePanelClientIDs:c,updatePanelHasChildrenAsTriggers:b,asyncPostBackControlIDs:i,asyncPostBackControlClientIDs:g,postBackControlIDs:j,postBackControlClientIDs:h}},_queueScripts:function(scriptLoader,scriptBlockNodes,queueIncludes,queueBlocks){for(var i=0,l=scriptBlockNodes.length;i<l;i++){var scriptBlockType=scriptBlockNodes[i].id;switch(scriptBlockType){case "ScriptContentNoTags":if(!queueBlocks)continue;scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);break;case "ScriptContentWithTags":var scriptTagAttributes;eval("scriptTagAttributes = "+scriptBlockNodes[i].content);if(scriptTagAttributes.src){if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src))continue}else if(!queueBlocks)continue;scriptLoader.queueCustomScriptTag(scriptTagAttributes);break;case "ScriptPath":if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content))continue;scriptLoader.queueScriptReference(scriptBlockNodes[i].content)}}},_registerDisposeScript:function(a,b){if(!this._scriptDisposes[a])this._scriptDisposes[a]=[b];else Array.add(this._scriptDisposes[a],b)},_scriptIncludesLoadComplete:function(e,b){if(b.executor.get_webRequest()!==this._request)return;this._commitControls(b.updatePanelData,b.asyncPostBackTimeoutNode?b.asyncPostBackTimeoutNode.content:null);if(b.formActionNode)this._form.action=b.formActionNode.content;var a,d,c;for(a=0,d=b.updatePanelNodes.length;a<d;a++){c=b.updatePanelNodes[a];var j=document.getElementById(c.id);if(!j){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,c.id)),b.executor,b);return}this._updatePanel(j,c.content)}for(a=0,d=b.scriptDisposeNodes.length;a<d;a++){c=b.scriptDisposeNodes[a];this._registerDisposeScript(c.id,c.content)}for(a=0,d=this._transientFields.length;a<d;a++){var g=document.getElementById(this._transientFields[a]);if(g){var k=g._isContained?g.parentNode:g;k.parentNode.removeChild(k)}}for(a=0,d=b.hiddenFieldNodes.length;a<d;a++){c=b.hiddenFieldNodes[a];this._createHiddenField(c.id,c.content)}if(b.scriptsFailed)throw Sys._ScriptLoader._errorScriptLoadFailed(b.scriptsFailed.src,b.scriptsFailed.multipleCallbacks);this._queueScripts(e,b.scriptBlockNodes,false,true);var i="";for(a=0,d=b.arrayDeclarationNodes.length;a<d;a++){c=b.arrayDeclarationNodes[a];i+="Sys.WebForms.PageRequestManager._addArrayElement('"+c.id+"', "+c.content+");\r\n"}var h="";for(a=0,d=b.expandoNodes.length;a<d;a++){c=b.expandoNodes[a];h+=c.id+" = "+c.content+"\r\n"}if(i.length)e.queueScriptBlock(i);if(h.length)e.queueScriptBlock(h);this._queueScripts(e,b.scriptStartupNodes,true,true);var f="";for(a=0,d=b.onSubmitNodes.length;a<d;a++){if(a===0)f="Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n";f+=b.onSubmitNodes[a].content+"\r\n"}if(f.length){f+="\r\nreturn true;\r\n});\r\n";e.queueScriptBlock(f)}e.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptsLoadComplete,b)),null,null)},_scriptIncludesLoadFailed:function(d,c,b,a){a.scriptsFailed={src:c.src,multipleCallbacks:b};this._scriptIncludesLoadComplete(d,a)},_scriptsLoadComplete:function(f,c){var e=c.executor;if(window.__theFormPostData)window.__theFormPostData="";if(window.__theFormPostCollection)window.__theFormPostCollection=[];if(window.WebForm_InitCallback)window.WebForm_InitCallback();if(this._scrollPosition){if(window.scrollTo)window.scrollTo(this._scrollPosition.x,this._scrollPosition.y);this._scrollPosition=null}Sys.Application.endCreateComponents();this._pageLoaded(false,c);this._endPostBack(null,e,c);if(this._controlIDToFocus){var a,d;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var b=$get(this._controlIDToFocus);a=b;if(b&&!WebForm_CanFocus(b))a=WebForm_FindFirstFocusableChild(b);if(a&&typeof a.contentEditable!=="undefined"){d=a.contentEditable;a.contentEditable=false}else a=null}WebForm_AutoFocus(this._controlIDToFocus);if(a)a.contentEditable=d;this._controlIDToFocus=null}},_splitNodeIntoArray:function(b){var a=b.content,c=a.length?a.split(","):[];return c},_uniqueIDToClientID:function(a){return a.replace(/\$/g,"_")},_updateControls:function(d,a,c,b){this._commitControls(this._processUpdatePanelArrays(d,a,c),b)},_updatePanel:function(updatePanelElement,rendering){for(var updatePanelID in this._scriptDisposes)if(this._elementContains(updatePanelElement,document.getElementById(updatePanelID))){var disposeScripts=this._scriptDisposes[updatePanelID];for(var i=0,l=disposeScripts.length;i<l;i++)eval(disposeScripts[i]);delete this._scriptDisposes[updatePanelID]}this._destroyTree(updatePanelElement);updatePanelElement.innerHTML=rendering},_validPosition:function(a){return typeof a!=="undefined"&&a!==null&&a!==0}};Sys.WebForms.PageRequestManager.getInstance=function(){var a=Sys.WebForms.PageRequestManager._instance;if(!a)a=Sys.WebForms.PageRequestManager._instance=new Sys.WebForms.PageRequestManager;return a};Sys.WebForms.PageRequestManager._addArrayElement=function(a){if(!window[a])window[a]=[];for(var b=1,c=arguments.length;b<c;b++)Array.add(window[a],arguments[b])};Sys.WebForms.PageRequestManager._initialize=function(a,b){Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(a,b)};Sys.WebForms.PageRequestManager.registerClass("Sys.WebForms.PageRequestManager");Sys.UI._UpdateProgress=function(a){Sys.UI._UpdateProgress.initializeBase(this,[a]);this._displayAfter=500;this._dynamicLayout=true;this._associatedUpdatePanelId=null;this._beginRequestHandlerDelegate=null;this._startDelegate=null;this._endRequestHandlerDelegate=null;this._pageRequestManager=null;this._timerCookie=null};Sys.UI._UpdateProgress.prototype={get_displayAfter:function(){return this._displayAfter},set_displayAfter:function(a){this._displayAfter=a},get_dynamicLayout:function(){return this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=a},get_associatedUpdatePanelId:function(){return this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){this._associatedUpdatePanelId=a},_clearTimeout:function(){if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null}},_handleBeginRequest:function(d,c){var a=c.get_postBackElement(),b=!this._associatedUpdatePanelId;while(!b&&a){if(a.id&&this._associatedUpdatePanelId===a.id)b=true;a=a.parentNode}if(b)this._timerCookie=window.setTimeout(this._startDelegate,this._displayAfter)},_startRequest:function(){if(this._pageRequestManager.get_isInAsyncPostBack())if(this._dynamicLayout)this.get_element().style.display="block";else this.get_element().style.visibility="visible";this._timerCookie=null},_handleEndRequest:function(){if(this._dynamicLayout)this.get_element().style.display="none";else this.get_element().style.visibility="hidden";this._clearTimeout()},dispose:function(){if(this._beginRequestHandlerDelegate!==null){this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);this._beginRequestHandlerDelegate=null;this._endRequestHandlerDelegate=null}this._clearTimeout();Sys.UI._UpdateProgress.callBaseMethod(this,"dispose")},initialize:function(){Sys.UI._UpdateProgress.callBaseMethod(this,"initialize");this._beginRequestHandlerDelegate=Function.createDelegate(this,this._handleBeginRequest);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);this._startDelegate=Function.createDelegate(this,this._startRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager!==null){this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate)}}};Sys.UI._UpdateProgress.registerClass("Sys.UI._UpdateProgress",Sys.UI.Control);
Type.registerNamespace('Sys.WebForms');Sys.WebForms.Res={"PRM_UnknownToken":"未知标记:“{0}”。","PRM_MissingPanel":"找不到 ID 为“{0}”的 UpdatePanel。如果要动态更新该  UpdatePanel，则它必须位于另一个 UpdatePanel 内部。","PRM_ServerError":"在服务器上处理请求时出现未知错误。服务器返回的状态码为: {0}","PRM_ParserError":"无法分析从服务器收到的消息。之所以出现此错误，常见的原因是: 在通过调用 Response.Write() 修改响应时，将启用响应筛选器、HttpModule 或服务器跟踪。\r\n详细信息: {0}","PRM_TimeoutError":"服务器请求超时。","PRM_ParserErrorDetails":"分析附近的“{0}”时出错。","PRM_CannotRegisterTwice":"不能初始化 PageRequestManager 多次。"};
/* 放置站点配置 */
var ImgPath =
{
    //食物图像
    Food_Mid: '/images/iLinkeeImage_mid/',
    Food_Small: '/images/iLinkeeImage_small/',

    //运动图像
    Sport_Mid: '/images/sports_mid/',
    Sport_Small: '/images/sports_small/',

    //表情
    Facial: '/js/tiny_mce/plugins/emotions/img/v1/',
    //状态表情
    StateFacial: '/js/tiny_mce/plugins/emotions/img/v2/'
};
var Default =
{
    //默认用户头像
    UserPhoto_Mid: '/css/images/space/medium_head.gif',
    UserPhoto_Small: '/css/images/space/small_head.gif',

    Food_Mid: '/css/images/ihealth/food_48.png',
    Food_Small: '/css/images/ihealth/food_48.png',

    Sport_Mid: '/css/images/ihealth/sport_48.png',
    Sport_Small: '/css/images/ihealth/sport_48.png'
}

Type.registerNamespace("iLinkee");
iLinkee.Facial = { '叽叽歪歪': 'yy.gif',
    '寒': 'cold.gif',
    '困惑': 'q.gif',
    '哭': 'cry.gif',
    '渴望': 'hungry.gif',
    '开心': 'happy.gif',
    '嘿嘿': 'roll.gif',
    '亲一个': 'kiss.gif',
    '大笑': 'laugh.gif',
    '鄙视': 'x.gif',
    '闭嘴': 'nij.gif',
    '睡觉了': 'tr.gif',
    '微笑': 'smile.gif',
    '吸烟': 'smoke.gif',
    '吃惊': 'oh.gif',
    '汗': 'han.gif',
    '大哭': 'en.gif',
    '哈哈大笑': 'hei.gif',
    '冷峻': 'sr.gif',
    '流鼻血': 'sxy.gif',
    '抛砖': 'knock.gif',
    '强': 'strong.gif',
    '烧香': 'hunf.gif',
    '痛苦': 'pain.gif',
    '嘘': 'ft.gif',
    '罪恶': 'evil.gif'
};
iLinkee.StateFacial = { '大笑': '24.gif',
    '微笑': '33.gif',
    '哭': '28.gif',
    '惊讶': '26.gif',
    '生气': '31.gif',
    '难过': '30.gif',
    '害羞': '25.gif',
    '困': '29.gif',
    '书呆子': '32.gif',
    '调皮': '4.gif',
    '谄笑': '2.gif',
    '生病': '14.gif',
    '尴尬': '5.gif',
    '汗': '6.gif',
    '惊恐': '7.gif',
    '囧-窘迫': '8.gif',
    '呕吐': '19.gif',
    '酷': '10.gif',
    '流口水': '11.gif',
    '猫猫笑': '12.gif',
    '晕': '21.gif',
    '色迷迷': '13.gif',
    '可爱': '9.gif',
    '吃饭': '3.gif',
    '防流感': '27.gif',
    '淘气': '16.gif',
    '吻': '20.gif',
    '住嘴': '23.gif',
    '花儿': '15.gif',
    '小蜜蜂': 'bee.gif',
    '下雨': 'rain.gif',
    '赞': 'good.gif',
    '否': 'nogood.gif',
    '烈日': 'hot.gif',
    '风扇': 'fan.gif',
    '冰激凌': 'sm.gif',
    '糯米': 'nuomi2.gif'
};
iLinkee.Template =
{
    getUserSpaceUrl: function(domain) {
        return "/hi/" + domain;
    },
    getUserPhoto: function(photo) {
        return photo ? "/userphoto/" + photo : Default.UserPhoto_Small;
    },
    getUserSmallPhoto: function(photo) {
        return photo ? "/userphoto/small_Photo/small_" + photo : Default.UserPhoto_Small;
    },
    getUserPhotoHtml: function(domain, name, photo) {
        return String.format("<a href='{0}' target='_blank' title=点击查看" + name + "的空间><img src='{1}' /></a>", this.getUserSpaceUrl(domain), this.getUserSmallPhoto(photo));
    },
    getFoodImgUrl: function(img) {
        return (img && img != '') ? (ImgPath.Food_Small + img) : Default.Food_Small;
    },
    getSportImgUrl: function(img) {
        return (img && img != '') ? (ImgPath.Sport_Small + img) : Default.Sport_Small;
    }
}
/// <reference name="MicrosoftAjax.js"/>
/// <reference path="/JS/SiteConfig.js" file="/JS/SiteConfig.js" />
/* 浏览器兼容 */
var Element = function() { };
Element._extendMethods = [];
Element._extendMethodsVersion = 1;
with (Element) {
    switch (Sys.Browser.agent) {
        case Sys.Browser.Firefox:
            HTMLElement.prototype.__defineGetter__("innerText", function() {
                var anyString = "";
                var childS = this.childNodes;
                for (var i = 0; i < childS.length; i++) {
                    if (childS[i].nodeType == 1)
                        anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText;
                    else if (childS[i].nodeType == 3)
                        anyString += childS[i].nodeValue;
                }
                return anyString;
            }
            );
            HTMLElement.prototype.__defineSetter__("innerText", function(sText) {
                this.textContent = sText;
            }
            );
            HTMLElement.prototype.__defineSetter__("outerHTML", function(sHTML) {
                var r = this.ownerDocument.createRange();
                r.setStartBefore(this);
                var df = r.createContextualFragment(sHTML);
                this.parentNode.replaceChild(df, this);
                return sHTML;
            });

            HTMLElement.prototype.__defineGetter__("outerHTML", function() {
                var attr;
                var attrs = this.attributes;
                var str = "<" + this.tagName.toLowerCase();
                for (var i = 0; i < attrs.length; i++) {
                    attr = attrs[i];
                    if (attr.specified)
                        str += " " + attr.name + '="' + attr.value + '"';
                }
                if (!this.canHaveChildren)
                    return str + ">";
                return str + ">" + this.innerHTML + "</" + this.tagName.toLowerCase() + ">";
            });

            HTMLElement.prototype.__defineGetter__("canHaveChildren", function() {
                switch (this.tagName.toLowerCase()) {
                    case "area":
                    case "base":
                    case "basefont":
                    case "col":
                    case "frame":
                    case "hr":
                    case "img":
                    case "br":
                    case "input":
                    case "isindex":
                    case "link":
                    case "meta":
                    case "param":
                        return false;
                }
                return true;

            });
        case Sys.Browser.Safari:
        case Sys.Browser.Opera:
            _extendMethods['getNext'] = function() {
                return $E(this.nextElementSibling);
            };
            _extendMethods['getPrev'] = function() {
                return $E(this.previousElementSibling);
            };
            _extendMethods['getFirstChild'] = function() {
                return $E(this.firstElementChild);
            };
            _extendMethods['getLastChild'] = function() {
                return $E(this.lastElementChild);
            };
            _extendMethods['getAttr'] = function(name) {
                if (name in this) return this[name];
                else return this.getAttribute(name);
            };
            _extendMethods['setAttr'] = function(name, value) {
                this.setAttribute(name, value);
            };
            _extendMethods['click'] = function() {
                if (this.onclick) {
                    var ret = this.onclick();
                    if (ret == false) return false;
                }
                else if (this.href && this.href.startsWith("javascript")) {
                    eval(this.href);
                    return;
                }
                if (document.createEvent) {
                    var evObj = document.createEvent('MouseEvents')
                    evObj.initEvent('click', true, true)
                    this.dispatchEvent(evObj)
                }
                else if (document.createEventObject) {
                    this.fireEvent('onclick')
                }
            }
            break;
        default:
            _extendMethods['getNext'] = function() {
                var elem = this.nextSibling;
                while (elem && elem.nodeType != 1) elem = elem.nextSibling;
                return $E(elem);
            };
            _extendMethods['getPrev'] = function() {
                var elem = this.previousSibling;
                while (elem && elem.nodeType != 1) elem = elem.previousSibling;
                return $E(elem);
            };
            _extendMethods['getFirstChild'] = function() {
                return $E(this.firstChild);
            };
            _extendMethods['getLastChild'] = function() {
                return $E(this.lastChild);
            };
            _extendMethods['getAttr'] = function(name) {
                return this[name];
            };
            _extendMethods['setAttr'] = function(name, value) {
                this[name] = value;
            };
            break;
    }
}

var $E = function(elemOrID) {
    if (typeof (elemOrID) == 'string') {
        elemOrID = $get(elemOrID);
    }
    if (!elemOrID) return null;
    if (Element._extendMethodsVersion > 0 && elemOrID['_extendMethodsVersion'] != Element._extendMethodsVersion) {
        for (var name in Element._extendMethods) {
            elemOrID[name] = Element._extendMethods[name];
        }
        elemOrID['_extendMethodsVersion'] = Element._extendMethodsVersion;
    }
    return elemOrID;
}
var $Extend = function(name, delegate) {
    ///<summary>为DomElement扩展方法</summary>
    iLinkee.Element._extendMethods[name] = delegate;
    iLinkee.Element._extendMethodsVersion++;
}

var TopLayer =
{
    _layer: null,
    get_layer: function() {
        if (this._layer == null) {
            var layer = document.createElement("div");
            layer.style.position = "absolute";
            layer.style.width = document.documentElement.clientWidth;
            layer.style.height = "100%";
            layer.style.top = "0px";
            layer.style.left = "0px";
            layer.style.zIndex = 1000;
            layer.style.backgroundColor = "Transparent";
            document.body.appendChild(layer);
            this._layer = layer;
        }
        return this._layer;
    }
};


function HTMLEncode(html) {
    var temp = document.createElement("div");
    (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
    var output = temp.innerHTML;
    temp = null;
    return output;
}

function HTMLDecode(text) {
    var temp = document.createElement("div");
    temp.innerHTML = text;
    var output = temp.innerText || temp.textContent;
    temp = null;
    return output;
}
/* */
function $getLocation(elem) {
    ///<summary>获取元素的绝对位置</summary>
    return Sys.UI.DomElement.getLocation(elem);
}
function getPNGBackStyle(url, otherfilter) {
    return ((Sys.Browser.agent != Sys.Browser.InternetExplorer || Sys.Browser.version > 7) ? "background:url(" + url + ");filter:" : "filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url + "', sizingMethod='image') ") + otherfilter;
}
//调整宽度
function adjustBodyWidth() {
    if (document.body.offsetWidth > 960) {
        document.forms[0].style.width = "960px";
    }
}
function SetOpacity(elem, opac) {
    elem.style.opacity = opac;
    if (elem.filters) {
        elem.filters.Alpha.Opacity = opac * 100;
    }
}

Sys.QueryString = Sys$QueryString = {
    _query: "",
    _queryArray: {},
    get_query: function(additonArgs) {
        if (!additonArgs) return this._query;
        var qa = [];
        for (var name in this._queryArray) {
            if (name in additonArgs) {
                qa.push(name + "=" + encodeURI(additonArgs[name]));
                additonArgs[name] = null;
            }
            else {
                qa.push(this._queryArray[name]);
            }
        }
        for (var name in additonArgs) {
            if (additonArgs[name] != null) {
                qa.push(name + "=" + encodeURI(additonArgs[name]));
            }
        }
        return "?" + qa.join("&");
    },
    add_query: function(name, value) {
        this._queryArray[name] = name + "=" + encodeURI(value);
    },
    add_querys: function(args) {
        for (var name in args) { this._queryArray[name] = name + "=" + encodeURI(args[name]); ; }
    },
    init: function(query) {
        query = query != null ? query : location.search;
        this._queryArray = {};
        this._query = query;
        if (query.charAt(0) == "?") query = query.substr(1);
        if (query.length == 0) return;
        var oqs = query.split("&");
        var i = 0;
        while (i < oqs.length) {
            var ei = oqs[i].indexOf("=");
            if (ei >= 0) {
                this._queryArray[oqs[i].substr(0, ei)] = oqs[i];
            }
            else {
                this._queryArray[oqs[i]] = oqs[i];
            }
            i++;
        }
    }
}
Sys.QueryString.init();

function FormatQueryString(args, combine) {
    //args必须是对象
    //combine是否与当前的查询字符串合并
    var qs = [];
    if (combine == true) {
        return Sys.QueryString.get_query(args);
    }
    for (var name in args) {
        qs.push(name + "=" + encodeURI(args[name]));
    }
    return qs.join("&");
}

String.formatEx = function(format, obj) {
    var result = '';
    for (var i = 0; ; ) {
        var open = format.indexOf('{', i);
        var close = format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result += format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !== '}') {
                throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
            }
            result += format.slice(i, close + 1);
            i = close + 2;
            continue;
        }
        result += format.slice(i, open);
        i = open + 1;
        if (format.charAt(i) === '{') {
            result += '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
        var brace = format.substring(i, close);
        //if (!(brace in obj)) throw Error.argument('format', Sys.Res.stringFormatInvalid);
        var arg = obj[brace];
        if (arg == null) arg = "";
        result += arg.toString();
        i = close + 1;
    }
    return result;
}



/* 更改id的显示状态 */
function showhide(id) {
    var elem = null;
    if (typeof (id) == 'object') elem = id;
    else elem = $get(id);
    var ishide = elem.style.display == 'none';
    elem.style.display = ishide ? '' : 'none';
}

/* 标签选择 */
function TabSelect(args, newIndex) {
    var content = $get(args.tabContent);
    var tab = $get(args.tab);
    var lastI = tab['lastI'];
    if (!lastI) lastI = 0;
    if (newIndex == lastI) return;
    content.children[lastI].style.display = 'none';
    content.children[newIndex].style.display = '';
    tab.children[lastI].className = '';
    tab.children[newIndex].className = args.activeClass;
    tab['lastI'] = newIndex;
}
/* 根据当前Url和Alt来选择Tab */
function ActiveTabByPage(containerID, key) {
    var container = $E(containerID);
    if (!container) return;
    if (!key) key = window.location.href;
    key = key.toLowerCase();
    var childs = container.children;
    var aed = container.getAttr('activedtab');
    if (aed || aed == 0) Sys.UI.DomElement.removeCssClass(childs[aed], 'active');
    for (var i = 0; i < childs.length; i++) {
        var ckey = $E(childs[i]).getAttr('key');
        if (ckey) ckey = ckey.toLowerCase();
        if (key.indexOf(ckey) >= 0) {
            Sys.UI.DomElement.addCssClass(childs[i], 'active');
            container['activedtab'] = i;
            return;
        }
    }
    var defaultTab = container.getAttr("defaulttab");
    if (defaultTab) {
        Sys.UI.DomElement.addCssClass(childs[defaultTab], 'active');
        container['activedtab'] = defaultTab;
    }
}
function ActiveMe(elem) {
    elem['oldcss'] = elem.className;
    elem.className = 'active';
}
function UnActiveMe(elem) {
    elem.className = elem['oldcss'];
}


function parseHTML(html) {
    var div = document.createElement("div");
    div.style.display = "none";
    document.body.appendChild(div);
    div.innerHTML = html;
    document.body.removeChild(div);
    return div.childNodes;
}

Type.registerNamespace("iLinkee");
iLinkee.Pager = function(txtBox, linkBtn, behavior) {
    this._txtBox = txtBox;
    this._linkBtn = $E(linkBtn); //To Support click
    this.behavior = behavior;
}
iLinkee.Pager.prototype.PageNav = function(i) {
    this._txtBox.value = i;
    this._linkBtn.click();
    return false;
}
iLinkee.Pager.GenPager_item = function(pager, current, display, value) {
    //生成一个分页元素
    //参数说明：pager表示一个iLinkee.Pager实例，current当前页，value要跳转的页，display显示的值，urlpager是否使用URL分页【即不回传】
    var elem = document.createElement("a");
    elem.appendChild(document.createTextNode(display));
    if (display == "上页" || display == "下页")
        $(elem).attr("class", "nextorlast");
    if (pager.behavior != 'PostBack') {
        elem.href = FormatQueryString({ "p": value }, true);
    }
    if (pager.behavior != 'Url') {
        elem.onclick = function() { return pager.PageNav(value); };
    }
    if (current == value) {
        elem.className = 'current';
    }
    return elem;
}
iLinkee.Pager.GenPager = function(args) {//生成一个Pager. like 1 ... 5 6 7 ... 12
    //index和max从1开始
    //style:0数字，1上页 i/t 下页，2both
    var behavior = args.behavior; //分页行为
    var pager = $get(args.placeholderID);
    pager.innerHTML = ""; //清空
    var index = args.pageindex;
    var max = args.pagecount;

    if (index > max) return;
    var txtctl = args.pageinputID ? $get(args.pageinputID) : null;
    var triggerctl = args.linkID ? $get(args.linkID) : null;
    var pagerIns = new iLinkee.Pager(txtctl, triggerctl, behavior);

    if (args.style == 1) {
        //即上页 下页
        if (index > 1) {
            pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, "上一页", index - 1));
        }
        else {
            pager.appendChild(parseHTML("<span>上一页</span>")[0]);
        }
        pager.appendChild(document.createTextNode(index + "/" + max));
        if (index < max) {
            pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, "下一页", index + 1));
        }
        else {
            pager.appendChild(parseHTML("<span>下一页</span>")[0]);
        }
        return;
    }

    if (args.style == 2) {
        if (index > 1) {
            pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, "上页", index - 1));
        }
        else {
            pager.appendChild(parseHTML("<span>上页</span>")[0]);
        }
    }

    //first page:
    pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, 1, 1));

    var st = index - 1;
    var en = index + 1;
    if (en > max - 1) {
        st = max - 3;
        en = max - 1;
    }
    if (st < 2) {
        st = 2;
        en = 4;
    }
    if (en > max) en = max;

    //first ...:
    if (st > 2) {
        var elemdot0 = document.createElement("a");
        pager.appendChild(elemdot0);
        elemdot0.appendChild(document.createTextNode("..."));
    }
    //middle page

    for (var i = st; i <= en; i++) {
        pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, i, i));
    }
    //last ...:
    if (en < max - 1) {
        var elemdot1 = document.createElement("a");
        pager.appendChild(elemdot1);
        elemdot1.appendChild(document.createTextNode("..."));
    }
    //last page:
    if (max > en) {
        pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, max, max));
    }

    if (args.style == 2) {

        if (index < max) {
            pager.appendChild(iLinkee.Pager.GenPager_item(pagerIns, index, "下页", index + 1));
        }
        else {
            pager.appendChild(parseHTML("<span>下页</span>")[0]);
        }
    }
}

function LoadControlInFrame(ctlName, title, args, poselem) {
    ///<Summary>读取控件到Frame中</Summary>
    //args用来构造QueryString
    var src = "/Service/LoadControl?ctl=" + ctlName;
    if (window.ShowUserName) {
        src = "/hi/" + window.ShowUserDomain + src;
    }
    if (args) {
        if (typeof (args) == 'object') {
            src = src + "&" + FormatQueryString(args); //可使用{a:1,b:2}来构造a=1&b=2的参数
        }
        else {
            src = src + "&" + args;
        }

    }
    src = src + "&t=" + new Date().getTime();
    //var frame = "<iframe class='ControlFrame' src='" + src + "'></iframe>";
    if (!title) title = ctlName;
    if (title == "记录健康档案")
        ShowFrameDialog2(title, src, poselem); //健康档案单独用一个弹出面板
    else
        ShowFrameDialog(title, src, poselem);

    return false;
}
function ShowFrameDialog2(title, url, poselem) {
    ShowDialog({ title: title, content: "<div class='frameDiv'><div class='dialog_loading'><span>载入中..</span></div><iframe id='iframe1018'  frameborder='0' src='" + url + "' scrolling='no'></iframe></div>", noborder: false, noButton: true, modalMode: true, frameMode: true, poselem: poselem,sort:"archive" });
    adjustFrameDialogPos(300, 60);
}
function ShowFrameDialog(title, url, poselem) {
    ShowDialog({ title: title, content: "<div class='frameDiv'><div class='dialog_loading'><span>载入中..</span></div><iframe id='iframe1018'  frameborder='0' src='" + url + "' scrolling='no'></iframe></div>", noborder: false, noButton: true, modalMode: true, frameMode: true, poselem: poselem,sort:"" });
    adjustFrameDialogPos(300, 60);
}
function CloseFrameDialog(sec) {
    //sec:几秒后关闭
    if (sec) {
        var seconds = parseInt(sec);
        if (!isNaN(seconds)) {
            setTimeout("CloseFrameDialog();", seconds * 1000);
            return;
        }
    }
    window['Dialog'].Close();
}
function adjustFrameDialogPos(width, height) {
    //width,height是iframe的宽高

    var frameDialog = $E("Dialog");
    if (!frameDialog) return;

    var headerSpan = $get("Dialog_HeaderSpan");
    var innerSpan = $get("Dialog_InnerSpan");
    var frame = $get("iframe1018");

    ///在此调整最大高度
    ///1.获取文档的高度
    var documentHeight = document.documentElement.clientHeight;
    ///2.获取Dialog内部元素的高度
    var headerHeight = headerSpan.offsetHeight;
    ///3.计算最大高度，除去headerSpan还有20px的透明边框
    var maxHeight = documentHeight - headerHeight - 20;
    ///4.计算InnerSpan的高度
    /*if (height > maxHeight) {
    height = maxHeight;
    width += 30; //变大xx px以便放下滚动条
    innerSpan.style.width = width + 'px';
    innerSpan.style.overflow = "auto";
    }
    else {
    innerSpan.style.overflow = "hidden";
    }*/
    innerSpan.style.height = height + 'px';


    ///调整Dialog大小
    width += 20; //两边有透明框
    height += headerHeight + 20;
    frameDialog.style.width = width + "px";
    frameDialog.style.height = height + "px";


    ///调整弹出框的位置
    var w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth;
    var left = (w - width) / 2;
    if (left < 0) left = 1;
    frameDialog.style.left = left + 'px';
    if (!height) return;
    var h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;
    var top = (h - height) / 2;
    if (top < 1) top = 1;
    top = top + document.documentElement.scrollTop;
    frameDialog.style.top = top + 'px';
}
function ShowModal(show) {
    ///<summary>显示一个模态层，其zIndex为60009</summary>
    var modalDiv = $get("modalDiv");
    if (!modalDiv) {
        modalDiv = document.createElement("modalDiv");
        document.body.appendChild(modalDiv);
        modalDiv.outerHTML = '<DIV style="BACKGROUND-IMAGE: none; Z-INDEX: 60009; POSITION: absolute; FILTER: alpha(opacity=30); padding: 0px; BACKGROUND-COLOR: #333333; PADDING-RIGHT: 0px; VISIBILITY: visible; TOP: 0px; LEFT: 0px; opacity: .1; margins: 0px" id="modalDiv"></DIV>';
        modalDiv = $get("modalDiv");
        modalDiv.style.width = (document.body.scrollWidth) + 'px';
        modalDiv.style.height = (document.body.scrollHeight) + 'px';
    }
    modalDiv.style.display = show ? "block" : "none";
}

function RegisterCSS(id, url) {
    ///<summary>引入一个CSS文件</summary>
    var elem = $get(id);
    if (elem) return;
    elem = document.createElement("link");
    elem.id = id;
    elem['href'] = url;
    elem['rel'] = "stylesheet";
    elem['type'] = "text/css";
    document.getElementsByTagName("head")[0].appendChild(elem);
}

function NavFrame(frameID, url) {
    ///<Summary>用框架页来导航</Summary>
    var frame = $E(frameID);
    /*if (!frame) {
    frame = document.createElement("iframe");
    frame['src'] = url;
    frame['frameborder'] = '0';
    container.appendChild(frame);
    container['frame'] = frame;
    }
    else {*/
    if (url.indexOf('?') >= 0) url = url + '&'; else url = url + '?';
    url = url + new Date().getTime();

    frame.location = frame['src'] = url;
    frame.style.display = "block";
    if (frame.getAttr('hideprevious') == 'true') {
        frame.getPrev().style.display = 'none';
    }
}
function HideNavFrame(frameID) {
    var frame = $E(frameID);
    frame.style.display = "none";
    frame.getPrev().style.display = 'block';
}

function InFrame_HideMe() {
    parent.HideNavFrame(frameElement.id);
}

function getMaxValue(numarray) {
    var max = 0;
    for (var i = 0; i < numarray.length; i++) {
        if (max < numarray[i]) max = numarray[i];
    }
    return max;
}

function InFrame_adjustFrameSize(width, height) {
    ///<summary>弹出框中控件用于调整所在框大小</summary>
    frameElement.style.display = "block";
    if (frameElement.previousSibling && frameElement.previousSibling.style) {
        frameElement.previousSibling.style.display = "none";
    }
    var docElem = document.documentElement;
    var docBody = document.body;

    if (!height) {
        var minheight = frameElement.parentNode.clientHeight;
        height = 0;

        var hs = new Array();
        hs.push(height);
        //if (docElem.clientHeight) hs.push(parseInt(docElem.clientHeight));
        //if (docElem.scrollHeight) hs.push(parseInt(docElem.scrollHeight));
        if (docBody.clientHeight) hs.push(parseInt(docBody.clientHeight));
        //if (docBody.scrollHeight) hs.push(parseInt(docBody.scrollHeight));
        height = getMaxValue(hs) + (window.adjusted ? 0 : 20);
        //if (parseInt(height) < parseInt(minheight)) height = minheight;
    }
    if (!width) {
        var minwidth = frameElement.parentNode.clientWidth;
        width = 0;
        var ws = new Array();
        ws.push(height);
        //if (docElem.clientWidth) ws.push(parseInt(docElem.clientWidth));
        //if (docElem.scrollWidth) ws.push(parseInt(docElem.scrollWidth));
        if (docBody.clientWidth) ws.push(parseInt(docBody.clientWidth));
        //if (docBody.scrollWidth) ws.push(parseInt(docBody.scrollWidth));
        width = getMaxValue(hs) + (window.adjusted ? 0 : 20);
    }

    frameElement.style.width = width + 'px';

    frameElement.style.height = height + 'px';

    window.adjusted = true;
    parent.adjustFrameDialogPos(width, height);
}

/* RequestLogin */
//需要登录的地方使用本函数
function RequestLogin(elem, url) {
    var uid = User.get_id();
    if (!isNaN(uid) && uid > 0) return true;

    if (!url) url = elem ? elem.href ? elem.href : window.location.href : window.location.href;
    window.location.href = "/Reg/Login?ReturnUrl=" + encodeURIComponent(url);
    return false;

    //RequestLogin.elem = elem;
    //return LoadControlInFrame('fastlogin', '请先登录', {}, elem);
}
RequestLogin.elem = null;
function RequestLogin_OK(uid) {
    User.set_id(uid);
    if (RequestLogin.elem) {
        $E(RequestLogin.elem).click();
    }
}

/* ShowTip */
function getTip() {
    var tip = $get("_/tipdiv");
    if (tip == null) {
        tip = document.createElement("div");
        tip.id = "_/tipdiv";
        tip.style.display = 'none';
        tip.style.position = 'absolute';
        TopLayer.get_layer().appendChild(tip);
        tip.innerHTML = '<div id="corner" style="border:solid 1px black;background-color:#fafafa;padding:5px;"></div>';

    }
    return tip;
}
function showTip(html, elem) {
    ///<summary>显示tip</summary>
    var tip = getTip();
    tip.firstChild.innerHTML = html;
    var pos = $getLocation(elem);
    tip.style.left = (pos.x) + 'px';
    tip.style.top = (pos.y + elem.offsetHeight) + 'px';
    tip.style.minWidth = "200px";
    tip.style.display = "block";
}
function hideTip() {
    var tip = getTip();
    tip.style.display = "none";
}

/* roundimg */
function roundimg(img) {
    var rdiv = null;
    if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) {
        //使用滤镜
        rdiv = document.createElement("div");
        rdiv.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/css/Space/picCover.png', sizingMethod='image')";
        rdiv.style.bottom = "0px";
    }
    else {
        rdiv = document.createElement("img");
        rdiv.src = "/css/Space/picCover.png";
        rdiv.style.bottom = "3px";
    }
    rdiv.style.position = "absolute";
    rdiv.style.left = "0px";
    rdiv.style.width = img.width + "px";
    rdiv.style.height = img.height + "px";
    var father = img.parentNode;
    father.insertBefore(rdiv, img);
    father.style.position = "relative";
    father.style.display = "inline-block";
}


//临时更改
Sys.Application.add_init(function() {
    if (!window.Validators) return;
    Validators.Validator.prototype.set_backgroundImg2 = Validators.Validator.prototype.set_backgroundImg;
    Validators.Validator.prototype.set_backgroundImg = function(type) {
        if (type == "Right") this._element.innerHTML = "&nbsp;";
        if (type == "Init" && this.get_msinit() == null) { this.set_msinit(this._element.innerHTML); }
        if (type == "Focus") this._element.style.backgroundColor = ""; //获得焦点时取消背景色
        this.set_backgroundImg2(type);
        if (this._element.style.display != 'none') {
            this._element.style.display = "inline-block";
            this._element.style.lineHeight = "20px";
            this._element.style.minWidth = "100px";
            if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) this._element.style.width = "100px";
        }
    }
    Validators.Validator.prototype.focus = function() { }
    Validators.Validator.prototype.validate2 = Validators.Validator.prototype.validate;
    Validators.Validator.prototype.validate = function() {
        var elem = this.vaelem;
        if (elem.value == "") {
            this.set_backgroundImg("Init");
            this.get_element().innerHTML = this.get_msinit();
            return { isvalid: true };
        }
        return this.validate2();
    }

    PControl.BaseValidator.validateform = function(form, group) {
        if (this._enable === false) return true; //禁用检验时的情况，恒等于
        var isvalid = true;
        if (!group) group = "";

        var vafun = function(elem) {
            var vs = elem.validators ? elem.validators[group] : false;
            if (vs) {
                var elem_isvalid = true;
                for (var j = 0; j < vs.length; j++) {
                    var tmp = vs[j].validate(elem);
                    if (!tmp.isvalid) {
                        elem_isvalid = isvalid = false;
                        vs[j].get_element().style.backgroundColor = "#ffcfcf"; //要求在提交时未通过变色
                    }
                }
            }
        }

        for (var i = 0; i < form.length; i++) {
            var elem = form[i];
            vafun(elem);
        }

        if (form['vaelems']) {
            for (var id in form['vaelems']) {
                vafun(form['vaelems'][id]);
            }
        }

        return isvalid;
    }

    PControl.CustomValidator.prototype.validate = function(elem, vargs) {
        var value = elem.value;

        //检查是否已经验证过...
        if (value == this['lastvalue']) { vargs.isvalid = this['lastresult']; return; }

        var len = value.length;
        if (this._vafun && this._vafun.length > 0 && !eval(this._vafun + '(value)')) {
            vargs.isvalid = false;
            return;
        }

        if (this.service && this.method) {
            var script = this.service + "." + this.method + "(value,PControl$CustomValidator$validate_h,null,{va:this,value:value});";
            eval(script);
            vargs.isvalid = false;
            vargs.msg = "请稍候，正在检查对错...";
            vargs.icon = "Loading";
            return;
        }

        vargs.isvalid = true;
    }
});

/*Cookie*/
function getCookie(name)//取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]); return null;

}

//闪动指定的元素，time为偶数。如为奇数则效果是边框在有无之间变化。
function blink(elem, time) {
    if (time == 0) return;
    elem['blink'] = elem['blink'] ? false : true;
    elem.style.border = elem['blink'] ? "solid 1px black" : "none 1px black";
    setTimeout(function() { blink(elem, time - 1); }, 500);
}
//复制到剪贴板
function copy(copyText) {
    if (window.clipboardData) {
        window.clipboardData.setData("Text", copyText)
    }
    else {
        var flashcopier = $get('flashcopier');
        if (!document.getElementById(flashcopier)) {
            flashcopier = document.createElement('div');
            flashcopier.id = 'flashcopier';
            document.body.appendChild(flashcopier);
        }
        flashcopier.innerHTML = '';
        var divinfo = '<embed src="/js/_clipboard.swf" FlashVars="clipboard=' + encodeURIComponent(copyText) + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
        flashcopier.innerHTML = divinfo;
    }
    alert('复制成功！');
}

///<summary>添加到收藏夹</summary>
function addToFavorite() {
    
    var url = "http://www.ilinkee.com";
    var title = "领客康健网 - 中国第一健康管理社区";
    try {
        window.external.addFavorite(url, title);
    } catch (e) {
        try {
            window.sidebar.addPanel(title, url, "");
        } catch (e) {
            alert("加入收藏失败，请手动添加。");
        }
    }
}
function setHome(t) {
    try {
        t.style.behavior = "url(#default#homepage)";
        t.setHomePage("http://www.ilinkee.com");
    }
    catch (e) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert("抱歉！您的浏览器不支持直接设为首页。请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为“true”，点击“加入收藏”后忽略安全提示，即可设置成功。");
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage', url);
        }
        else
        { alert("抱歉！您的浏览器不支持直接设为首页。");}
    }
}

function checkLogout() {
    return checkAgain("确定要退出本系统吗？");
}
function checkDelete() {
    return checkAgain("确定要删除吗？");
}

function checkAgain(message) {
    if (message == null)
    { message = "你确认执行此操作吗？"; }
    if (confirm(message))
    { return true; }
    return false;
}
/// <reference name="MicrosoftAjax.js"/>
/// <reference file="/JS/jquery-vsdoc.js"/>
/// <reference path="/JS/SiteConfig.js" file="/JS/SiteConfig.js" />

/* 当前用户 */
var User =
{
    //用户id
    get_id: function() {
        var uid = parseInt(getCookie("UserID"));
        if (isNaN(uid)) uid = 0;
        return uid;
    },
    set_id: function(id) {
        //未启用
    },
    //用户域名
    get_domain: function() {
        var domain = getCookie("userdomain");
        return domain == null ? "" : domain;
    },
    //用户名
    get_name: function() {
        return getCookie("UserName");
    },
    //新消息数
    get_newmsgcount: function() {
        var msg = parseInt(getCookie("MSG"));
        if (isNaN(msg)) msg = 0;
        return msg;
    },
    //好友申请数
    get_friendapplycount: function() {
        var fc = parseInt(getCookie("friendapplycount"));
        if (isNaN(fc)) fc = 0;
        return fc;
    },
    //编辑模式
    get_editmode: function() {
        return window.ShowUserName ? this.get_name() == ShowUserName ? true : false : false;
    },
    //是否已登录
    get_islogin: function() {
        return this.get_id() > 0;
    },
    //是否在空间
    get_inspace: function() {
        var url = window.location.href.toLowerCase();
        if (url.indexOf("center") > -1 || url.indexOf("message") > -1 || url.indexOf("hi/") > -1)
        { return true; }
        else
        { return false; }
    },
    get_opensite: function() {
        //var apikey = getCookie("10142537c03b48d082e1f9dd77501cb9");
        //if (apikey != null) { return "renren" }        
        var opensite = getCookie("opensite");
        return opensite;
    },
    get_icon: function() {
        if (this.get_opensite() == "renren")
        { return "background:url(/css/images/renren.png) no-repeat;padding-left:20px;" }
        else if (this.get_opensite() == "sina")
        { return "background:url(/css/images/article/fav_weibo.gif) no-repeat;padding-left:20px;" }
        else
        { return ""; }
    },
    get_siteinfo: function() {
        if (this.get_opensite() == "renren")
        { return "你正在使用人人连接登录领客康健网" }
        else if (this.get_opensite() == "sina")
        { return "你正在使用新浪微博登录领客康健网" }
        else
        { return ""; }
    },
    get_inviteurl: function() {
        if (this.get_opensite() == "renren")
        { return "/invite/renren"; }
        else if (this.get_opensite() == "sina")
        { return "/invite/sendlink"; }
        else
        { return "/invite/sendlink"; }
    },
    get_setting: function() {
        if (this.get_opensite() == "renren")
        { return "<a class='orange' href='/hi/" + User.get_domain() + "/profile/renren'>人人设置</a>&nbsp;|&nbsp;"; }
        else if (this.get_opensite() == "sina") {
            return "<a class='orange' href='/hi/" + User.get_domain() + "/profile/sina'>微博设置</a>&nbsp;|&nbsp;"; 
        }
        else
        { return ""; }
    }
}
var mysidebar_guest = "<div class='left1'>用户名：<input id='username' type='text' class='text' /> 密码：<input id='password' type='password' class='text' /></div>";
mysidebar_guest += "<div class='left2'><input type='submit' value='' class='topbar_login' onclick='Login();return false;' /></div>";
mysidebar_guest += "<div class='left4'><a href='/reg/register' target='_blank'>注册帐号</a></div>";
mysidebar_guest += "<div class='left3'><a id='RES_ID_xn_login' class='xnconnect_login_button' onclick='renren_login();return false;' title='直接使用人人网帐号登录'><img alt='Connect' src='/css/images/renren.jpg' id='xn_login_image'></a>";
mysidebar_guest += "<a href='/reg/sina' title='直接使用新浪微博帐号登录'><img src='/css/images/weibo.jpg'></a></div>";

var mysidebar_tpl =
[
//'<a class="orange friendapply" href="/center/friendapply" style="display:{show}; position:relative;right:15px;">{friendapplycount}<span class="count_span">个好友申请</span></a> ',
'欢迎您，<a class="orange" href="{domain}" title="{siteinfo}" style="{icon}padding-bottom:2px;" {target}>{UserName}</a><span>|</span>',
'<a class="orange notice" href="/center/" {target}>个人中心</a><span>|</span>',
'<a href="{msgurl}" class="orange {msgcss}" {target}>站内信[{msgcount}]</a><span>|</span>',
'<a class="orange" href="{inviteurl}" target="_blank">邀请好友</a><span>|</span>',
'{setting}',
//'<a onmouseover="GoTo(1)" style="display:{showgoto};">我要去</a><span style="display:{showgoto};">&nbsp;|&nbsp;</span>',
'<a onclick="LogOut(this)">退出</a>'
];

function mysidebar() {
    if (User.get_id() == 0) { //未登录则返回       
        $("#topsidebar").html(mysidebar_guest);
        return;
    }
    var msgcount = User.get_newmsgcount();
    var args = {
        icon: User.get_icon(),
        //siteinfo: User.get_siteinfo(),
        inviteurl: User.get_inviteurl(),
        setting: User.get_setting(),
        UserName: User.get_name(),
        msgcount: msgcount,
        friendapplycount: User.get_friendapplycount(),
        msgcss: msgcount == 0 ? "" : "msgbox",
        msgurl: '/message/',
        domain: User.get_domain() == '' ? "/space/new" : "/hi/" + User.get_domain(),
        show: User.get_friendapplycount() == 0 ? "none" : "",
        target: User.get_inspace() ? "" : "target='_blank'"
    };
    var tpl = mysidebar_tpl.join("");
    var html = String.formatEx(tpl, args);
    $("#topsidebar").html(html);
}
function Login() {
    iLinkee.Web.Service.Provider.Login($('#username').val(), $('#password').val(), Login_OK);
    //$("#topsidebar").html("<div class='topbar_loading'>加载中…</div>");
}
function LogOut(elem) {
    if (User.get_opensite()=="renren") {
        XN.Connect.logout(function() {
            elem.innerHTML = "正在退出...";
            iLinkee.Web.Service.Provider.LogOut(LogOut_OK);
        });
    }
    else {
        elem.innerHTML = "正在退出...";
        iLinkee.Web.Service.Provider.LogOut(LogOut_OK);
    }
}
function LogOut_OK() {
    window.location.href = "/";
}

function Login_OK(result) {
    if (parseInt(result) > 0) {
        window.location.href = "/reg/login?failInt=" + result;
    }
    else {
        //window.open("/center");
        //mysidebar();
        window.location.href = "/center/";
    }
}

function getsetbar() {
    var url = window.location.href.toLowerCase();
    if (User.get_islogin() && url.indexOf(User.get_domain()) == -1 && url.indexOf("center") == -1 && url.indexOf("message") == -1) {
        $("#header").append("<div id='setbar' class='setbar returnbar'><ul><li class='back'><a href='/hi/" + User.get_domain() + "'>« 返回我的空间</a></li></ul></div>");
    }     
}

//资讯评论登录
function NewsLogin() {
    iLinkee.Web.Service.Provider.Login($('#username2').val(), $('#password2').val(), NewsLogin_OK);
}
function NewsLogin_OK(result) {
    if (parseInt(result) > 0) {
        alert("用户名或密码错误!");
    }
    else {
        mysidebar();
        newsloginstatus();
    }
}
function newsloginstatus() {
    if (User.get_id() == 0) return;
    var html = User.get_name() + " | " + "<a onclick=\"LogOut(this)\">退出</a>";
    $("#newslogin").html(html);
}

function showRenren() {
    if (User.get_opensite() == "renren") {
        $("#renrensetting").show();
    }
}
var api_key = "10142537c03b48d082e1f9dd77501cb9";
var xd_path = "/xd_receiver.html";
function renren_setup() {
    if (User.get_islogin() || window.location.href.toLowerCase().indexOf('/reg/renren') != -1) {
        if (User.get_opensite() == "renren") {
            XN_RequireFeatures(["Connect", "EXNML"], function() {
                XN.Main.init(api_key, xd_path);
            });
        }
    }
    else {
        XN_RequireFeatures(["Connect", "EXNML"], function() {
            XN.Main.init(api_key, xd_path, { "ifUserConnected": "/reg/renren" });
        });
    }
}
function renren_login() {
    XN.Connect.requireSession(function() {
        XN.Connect.get_status().waitUntilReady(function(login_state) {
            if (login_state == XN.ConnectState.connected)
            { window.location = "/reg/renren"; }
        });
    });
}
/* SpryAccordion.js - Revision: Spry Preview Release 1.4 */

// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

var Spry;
if (!Spry) Spry = {};
if (!Spry.Widget) Spry.Widget = {};

Spry.Widget.Accordion = function(element, opts)
{
	this.element = this.getElement(element);
	this.defaultPanel = 0;
	this.hoverClass = "AccordionPanelTabHover";
	this.openClass = "AccordionPanelOpen";
	this.closedClass = "AccordionPanelClosed";
	this.focusedClass = "AccordionFocused";
	this.enableAnimation = true;
	this.enableKeyboardNavigation = true;
	this.currentPanel = null;
	this.animator = null;
	this.hasFocus = null;
	this.duration = 500;

	this.previousPanelKeyCode = Spry.Widget.Accordion.KEY_UP;
	this.nextPanelKeyCode = Spry.Widget.Accordion.KEY_DOWN;

	this.useFixedPanelHeights = true;
	this.fixedPanelHeight = 0;

	Spry.Widget.Accordion.setOptions(this, opts, true);

	// Unfortunately in some browsers like Safari, the Stylesheets our
	// page depends on may not have been loaded at the time we are called.
	// This means we have to defer attaching our behaviors until after the
	// onload event fires, since some of our behaviors rely on dimensions
	// specified in the CSS.

	if (Spry.Widget.Accordion.onloadDidFire)
		this.attachBehaviors();
	else
		Spry.Widget.Accordion.loadQueue.push(this);
};

Spry.Widget.Accordion.onloadDidFire = false;
Spry.Widget.Accordion.loadQueue = [];

Spry.Widget.Accordion.addLoadListener = function(handler)
{
	if (typeof window.addEventListener != 'undefined')
		window.addEventListener('load', handler, false);
	else if (typeof document.addEventListener != 'undefined')
		document.addEventListener('load', handler, false);
	else if (typeof window.attachEvent != 'undefined')
		window.attachEvent('onload', handler);
};

Spry.Widget.Accordion.processLoadQueue = function(handler)
{
	Spry.Widget.Accordion.onloadDidFire = true;
	var q = Spry.Widget.Accordion.loadQueue;
	var qlen = q.length;
	for (var i = 0; i < qlen; i++)
		q[i].attachBehaviors();
};

Spry.Widget.Accordion.addLoadListener(Spry.Widget.Accordion.processLoadQueue);

Spry.Widget.Accordion.prototype.getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};

Spry.Widget.Accordion.prototype.addClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

Spry.Widget.Accordion.prototype.removeClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};

Spry.Widget.Accordion.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
{
	if (!optionsObj)
		return;
	for (var optionName in optionsObj)
	{
		if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
			continue;
		obj[optionName] = optionsObj[optionName];
	}
};

Spry.Widget.Accordion.prototype.onPanelTabMouseOver = function(panel)
{
	if (panel)
		this.addClassName(this.getPanelTab(panel), this.hoverClass);
};

Spry.Widget.Accordion.prototype.onPanelTabMouseOut = function(panel)
{
	if (panel)
		this.removeClassName(this.getPanelTab(panel), this.hoverClass);
};

Spry.Widget.Accordion.prototype.openPanel = function(panel)
{
	var panelA = this.currentPanel;
	var panelB = panel;
	
	if (!panelB || panelA == panelB)	
		return;

	var contentA; 
	if( panelA )
		contentA = this.getPanelContent(panelA);
	var contentB = this.getPanelContent(panelB);

	if (! contentB)
		return;

	if (this.useFixedPanelHeights && !this.fixedPanelHeight)
	{
		this.fixedPanelHeight = (contentA.offsetHeight) ? contentA.offsetHeight : contentA.scrollHeight;
	}

	if (this.enableAnimation)
	{
		if (this.animator)
			this.animator.stop();
		this.animator = new Spry.Widget.Accordion.PanelAnimator(this, panelB, { duration: this.duration });
		this.animator.start();
	}
	else
	{
		if(contentA)
			contentA.style.height = "0px";
		contentB.style.height = (this.useFixedPanelHeights ? this.fixedPanelHeight : contentB.scrollHeight) + "px";
	}

	if(panelA)
	{
		this.removeClassName(panelA, this.openClass);
		this.addClassName(panelA, this.closedClass);
	}

	this.removeClassName(panelB, this.closedClass);
	this.addClassName(panelB, this.openClass);

	this.currentPanel = panelB;
};

Spry.Widget.Accordion.prototype.openNextPanel = function()
{
	var panels = this.getPanels();
	var curPanelIndex = this.getCurrentPanelIndex();
	
	if( panels && curPanelIndex >= 0 && (curPanelIndex+1) < panels.length )
		this.openPanel(panels[curPanelIndex+1]);
};

Spry.Widget.Accordion.prototype.openPreviousPanel = function()
{
	var panels = this.getPanels();
	var curPanelIndex = this.getCurrentPanelIndex();
	
	if( panels && curPanelIndex > 0 && curPanelIndex < panels.length )
		this.openPanel(panels[curPanelIndex-1]);
};

Spry.Widget.Accordion.prototype.openFirstPanel = function()
{
	var panels = this.getPanels();
	if( panels )
		this.openPanel(panels[0]);
};

Spry.Widget.Accordion.prototype.openLastPanel = function()
{
	var panels = this.getPanels();
	if( panels )
		this.openPanel(panels[panels.length-1]);
};

Spry.Widget.Accordion.prototype.onPanelClick = function(panel)
{
	// if (this.enableKeyboardNavigation)
	// 	this.element.focus();
	if (panel != this.currentPanel)
		this.openPanel(panel);
	this.focus();
};

Spry.Widget.Accordion.prototype.onFocus = function(e)
{
	// this.element.focus();
	this.hasFocus = true;
	this.addClassName(this.element, this.focusedClass);
};

Spry.Widget.Accordion.prototype.onBlur = function(e)
{
	// this.element.blur();
	this.hasFocus = false;
	this.removeClassName(this.element, this.focusedClass);
};

Spry.Widget.Accordion.KEY_UP = 38;
Spry.Widget.Accordion.KEY_DOWN = 40;

Spry.Widget.Accordion.prototype.onKeyDown = function(e)
{
	var key = e.keyCode;
	if (!this.hasFocus || (key != this.previousPanelKeyCode && key != this.nextPanelKeyCode))
		return true;
	
	var panels = this.getPanels();
	if (!panels || panels.length < 1)
		return false;
	var currentPanel = this.currentPanel ? this.currentPanel : panels[0];
	var nextPanel = (key == this.nextPanelKeyCode) ? currentPanel.nextSibling : currentPanel.previousSibling;
	
	while (nextPanel)
	{
		if (nextPanel.nodeType == 1 /* Node.ELEMENT_NODE */)
			break;
		nextPanel = (key == this.nextPanelKeyCode) ? nextPanel.nextSibling : nextPanel.previousSibling;
	}
	
	if (nextPanel && currentPanel != nextPanel)
		this.openPanel(nextPanel);

	if (e.stopPropagation)
		e.stopPropagation();
	if (e.preventDefault)
		e.preventDefault();

	return false;
};

Spry.Widget.Accordion.prototype.attachPanelHandlers = function(panel)
{
	if (!panel)
		return;

	var tab = this.getPanelTab(panel);

	if (tab)
	{
		var self = this;
		Spry.Widget.Accordion.addEventListener(tab, "click", function(e) { return self.onPanelClick(panel); }, false);
		Spry.Widget.Accordion.addEventListener(tab, "mouseover", function(e) { return self.onPanelTabMouseOver(panel); }, false);
		Spry.Widget.Accordion.addEventListener(tab, "mouseout", function(e) { return self.onPanelTabMouseOut(panel); }, false);
	}
};

Spry.Widget.Accordion.addEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
			element.addEventListener(eventType, handler, capture);
		else if (element.attachEvent)
			element.attachEvent("on" + eventType, handler);
	}
	catch (e) {}
};

Spry.Widget.Accordion.prototype.initPanel = function(panel, isDefault)
{
	var content = this.getPanelContent(panel);
	if (isDefault)
	{
		this.currentPanel = panel;
		this.removeClassName(panel, this.closedClass);
		this.addClassName(panel, this.openClass);
	}
	else
	{
		this.removeClassName(panel, this.openClass);
		this.addClassName(panel, this.closedClass);
		content.style.height = "0px";
	}
	
	this.attachPanelHandlers(panel);
};

Spry.Widget.Accordion.prototype.attachBehaviors = function()
{
	var panels = this.getPanels();
	for (var i = 0; i < panels.length; i++)
	{
		this.initPanel(panels[i], i == this.defaultPanel);
	}

	if (this.enableKeyboardNavigation)
	{
		// XXX: IE doesn't allow the setting of tabindex dynamically. This means we can't
		// rely on adding the tabindex attribute if it is missing to enable keyboard navigation
		// by default.

		var tabIndexAttr = this.element.attributes.getNamedItem("tabindex");
		// if (!tabIndexAttr) this.element.tabindex = 0;
		if (tabIndexAttr)
		{
			var self = this;
			Spry.Widget.Accordion.addEventListener(this.element, "focus", function(e) { return self.onFocus(e); }, false);
			Spry.Widget.Accordion.addEventListener(this.element, "blur", function(e) { return self.onBlur(e); }, false);
			Spry.Widget.Accordion.addEventListener(this.element, "keydown", function(e) { return self.onKeyDown(e); }, false);
		}
	}
};

Spry.Widget.Accordion.prototype.getPanels = function()
{
	return this.getElementChildren(this.element);
};

Spry.Widget.Accordion.prototype.getCurrentPanel = function()
{
	return this.currentPanel;
};

Spry.Widget.Accordion.prototype.getCurrentPanelIndex = function()
{
	var panels = this.getPanels();
	for( var i = 0 ; i < panels.length; i++ )
	{
		if( this.currentPanel == panels[i] )
			return i;
	}
	return 0;
};

Spry.Widget.Accordion.prototype.getPanelTab = function(panel)
{
	if (!panel)
		return null;
	return this.getElementChildren(panel)[0];
};

Spry.Widget.Accordion.prototype.getPanelContent = function(panel)
{
	if (!panel)
		return null;
	return this.getElementChildren(panel)[1];
};

Spry.Widget.Accordion.prototype.getElementChildren = function(element)
{
	var children = [];
	var child = element.firstChild;
	while (child)
	{
		if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
			children.push(child);
		child = child.nextSibling;
	}
	return children;
};

Spry.Widget.Accordion.prototype.focus = function()
{
	if (this.element && this.element.focus)
		this.element.focus();
};

/////////////////////////////////////////////////////

Spry.Widget.Accordion.PanelAnimator = function(accordion, panel, opts)
{
	this.timer = null;
	this.interval = 0;
	this.stepCount = 0;

	this.fps = 0;
	this.steps = 10;
	this.duration = 500;
	this.onComplete = null;

	this.panel = panel;
	this.panelToOpen = accordion.getElement(panel);
	this.panelData = [];

	Spry.Widget.Accordion.setOptions(this, opts, true);


	// If caller specified speed in terms of frames per second,
	// convert them into steps.

	if (this.fps > 0)
	{
		this.interval = Math.floor(1000 / this.fps);
		this.steps = parseInt((this.duration + (this.interval - 1)) / this.interval);
	}
	else if (this.steps > 0)
		this.interval = this.duration / this.steps;

	// Set up the array of panels we want to animate.

	var panels = accordion.getPanels();
	for (var i = 0; i < panels.length; i++)
	{
		var p = panels[i];
		var c = accordion.getPanelContent(p);
		if (c)
		{
			var h = c.offsetHeight;
			if (h == undefined)
				h = 0;
			if (p == panel || h > 0)
			{
				var obj = new Object;
				obj.panel = p;
				obj.content = c;
				obj.fromHeight = h;
				obj.toHeight = (p == panel) ? (accordion.useFixedPanelHeights ? accordion.fixedPanelHeight : c.scrollHeight) : 0;
				obj.increment = (obj.toHeight - obj.fromHeight) / this.steps;
				obj.overflow = c.style.overflow;
				this.panelData.push(obj);

				c.style.overflow = "hidden";
				c.style.height = h + "px";
			}
		}
	}
};

Spry.Widget.Accordion.PanelAnimator.prototype.start = function()
{
	var self = this;
	this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
};

Spry.Widget.Accordion.PanelAnimator.prototype.stop = function()
{
	if (this.timer)
	{
		clearTimeout(this.timer);

		// If we're killing the timer, restore the overflow
		// properties on the panels we were animating!

		if (this.stepCount < this.steps)
		{
			for (i = 0; i < this.panelData.length; i++)
			{
				obj = this.panelData[i];
				obj.content.style.overflow = obj.overflow;
			}
		}
	}

	this.timer = null;
};

Spry.Widget.Accordion.PanelAnimator.prototype.stepAnimation = function()
{
	++this.stepCount;

	this.animate();

	if (this.stepCount < this.steps)
		this.start();
	else if (this.onComplete)
		this.onComplete();
};

Spry.Widget.Accordion.PanelAnimator.prototype.animate = function()
{
	var i, obj;

	if (this.stepCount >= this.steps)
	{
		for (i = 0; i < this.panelData.length; i++)
		{
			obj = this.panelData[i];
			if (obj.panel != this.panel)
				obj.content.style.height = "0px";
			obj.content.style.overflow = obj.overflow;
			obj.content.style.height = obj.toHeight + "px";
		}
	}
	else
	{
		for (i = 0; i < this.panelData.length; i++)
		{
			obj = this.panelData[i];
			obj.fromHeight += obj.increment;
			obj.content.style.height = obj.fromHeight + "px";
		}
	}
};


/* SpryMenuBar.js - Revision: Spry Preview Release 1.4 */

// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

/*******************************************************************************

 SpryMenuBar.js
 This file handles the JavaScript for Spry Menu Bar.  You should have no need
 to edit this file.  Some highlights of the MenuBar object is that timers are
 used to keep submenus from showing up until the user has hovered over the parent
 menu item for some time, as well as a timer for when they leave a submenu to keep
 showing that submenu until the timer fires.

 *******************************************************************************/

var Spry;
if(!Spry)
{
	Spry = {};
}
if(!Spry.Widget)
{
	Spry.Widget = {};
}

// Constructor for Menu Bar
// element should be an ID of an unordered list (<ul> tag)
// preloadImage1 and preloadImage2 are images for the rollover state of a menu
Spry.Widget.MenuBar = function(element, opts)
{
	this.init(element, opts);
};

Spry.Widget.MenuBar.prototype.init = function(element, opts)
{
	this.element = this.getElement(element);

	// represents the current (sub)menu we are operating on
	this.currMenu = null;

	var isie = (typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE');
	if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (isie && typeof document.uniqueID == 'undefined'))
	{
		// bail on older unsupported browsers
		return;
	}

	// load hover images now
	if(opts)
	{
		for(var k in opts)
		{
			var rollover = new Image;
			rollover.src = opts[k];
		}
	}

	if(this.element)
	{
		this.currMenu = this.element;
		var items = this.element.getElementsByTagName('li');
		for(var i=0; i<items.length; i++)
		{
			this.initialize(items[i], element, isie);
			if(isie)
			{
				this.addClassName(items[i], "MenuBarItemIE");
				items[i].style.position = "static";
			}
		}
		if(isie)
		{
			if(this.hasClassName(this.element, "MenuBarVertical"))
			{
				this.element.style.position = "relative";
			}
			var linkitems = this.element.getElementsByTagName('a');
			for(var i=0; i<linkitems.length; i++)
			{
				linkitems[i].style.position = "relative";
			}
		}
	}
};

Spry.Widget.MenuBar.prototype.getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};

Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
{
	if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
	{
		return false;
	}
	return true;
};

Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
{
	if (!ele || !className || this.hasClassName(ele, className))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
{
	if (!ele || !className || !this.hasClassName(ele, className))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};

// addEventListener for Menu Bar
// attach an event to a tag without creating obtrusive HTML code
Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
		{
			element.addEventListener(eventType, handler, capture);
		}
		else if (element.attachEvent)
		{
			element.attachEvent('on' + eventType, handler);
		}
	}
	catch (e) {}
};

// createIframeLayer for Menu Bar
// creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
{
	var layer = document.createElement('iframe');
	layer.tabIndex = '-1';
	layer.src = 'javascript:false;';
	menu.parentNode.appendChild(layer);
	
	layer.style.left = menu.offsetLeft + 'px';
	layer.style.top = menu.offsetTop + 'px';
	layer.style.width = menu.offsetWidth + 'px';
	layer.style.height = menu.offsetHeight + 'px';
};

// removeIframeLayer for Menu Bar
// removes an IFRAME underneath a menu to reveal any form controls and ActiveX
Spry.Widget.MenuBar.prototype.removeIframeLayer =  function(menu)
{
	var layers = menu.parentNode.getElementsByTagName('iframe');
	while(layers.length > 0)
	{
		layers[0].parentNode.removeChild(layers[0]);
	}
};

// clearMenus for Menu Bar
// root is the top level unordered list (<ul> tag)
Spry.Widget.MenuBar.prototype.clearMenus = function(root)
{
	var menus = root.getElementsByTagName('ul');
	for(var i=0; i<menus.length; i++)
	{
		this.hideSubmenu(menus[i]);
	}
	this.removeClassName(this.element, "MenuBarActive");
};

// bubbledTextEvent for Menu Bar
// identify bubbled up text events in Safari so we can ignore them
Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
{
	return (navigator.vendor == 'Apple Computer, Inc.' && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget)));
};

// showSubmenu for Menu Bar
// set the proper CSS class on this menu to show it
Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
{
	if(this.currMenu)
	{
		this.clearMenus(this.currMenu);
		this.currMenu = null;
	}
	
	if(menu)
	{
		this.addClassName(menu, "MenuBarSubmenuVisible");
		if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
		{
			if(!this.hasClassName(this.element, "MenuBarHorizontal") || menu.parentNode.parentNode != this.element)
			{
				menu.style.top = menu.parentNode.offsetTop + 'px';
			}
		}
		if(typeof document.uniqueID != "undefined")
		{
			this.createIframeLayer(menu);
		}
	}
	this.addClassName(this.element, "MenuBarActive");
};

// hideSubmenu for Menu Bar
// remove the proper CSS class on this menu to hide it
Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
{
	if(menu)
	{
		this.removeClassName(menu, "MenuBarSubmenuVisible");
		if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
		{
			menu.style.top = '';
			menu.style.left = '';
		}
		this.removeIframeLayer(menu);
	}
};

// initialize for Menu Bar
// create event listeners for the Menu Bar widget so we can properly
// show and hide submenus
Spry.Widget.MenuBar.prototype.initialize = function(listitem, element, isie)
{
	var opentime, closetime;
	var link = listitem.getElementsByTagName('a')[0];
	var submenus = listitem.getElementsByTagName('ul');
	var menu = (submenus.length > 0 ? submenus[0] : null);

	var hasSubMenu = false;
	if(menu)
	{
		this.addClassName(link, "MenuBarItemSubmenu");
		hasSubMenu = true;
	}

	if(!isie)
	{
		// define a simple function that comes standard in IE to determine
		// if a node is within another node
		listitem.contains = function(testNode)
		{
			// this refers to the list item
			if(testNode == null)
			{
				return false;
			}
			if(testNode == this)
			{
				return true;
			}
			else
			{
				return this.contains(testNode.parentNode);
			}
		};
	}
	
	// need to save this for scope further down
	var self = this;

	this.addEventListener(listitem, 'mouseover', function(e)
	{
		if(self.bubbledTextEvent())
		{
			// ignore bubbled text events
			return;
		}
		clearTimeout(closetime);
		if(self.currMenu == listitem)
		{
			self.currMenu = null;
		}
		// show menu highlighting
		self.addClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
		if(menu && !self.hasClassName(menu, "MenuBarSubmenuVisible"))
		{
			opentime = window.setTimeout(function(){self.showSubmenu(menu);}, 250);
		}
	}, false);

	this.addEventListener(listitem, 'mouseout', function(e)
	{
		if(self.bubbledTextEvent())
		{
			// ignore bubbled text events
			return;
		}

		var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
		if(!listitem.contains(related))
		{
			clearTimeout(opentime);
			self.currMenu = listitem;

			// remove menu highlighting
			self.removeClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
			if(menu)
			{
				closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, 600);
			}
		}
	}, false);
};

function art_AddtoForm(id) { var _2 = $get(id); if (document.forms[0]) { _2.parentNode.removeChild(_2); document.forms[0].insertBefore(_2, document.forms[0].firstChild); } else { setTimeout("art_AddtoForm(\"" + id + "\");", 250); } } function art_CloseModal(Id) { $get(Id + "_ModalMask").style.visibility = "hidden"; $get(Id + "_ModalTable").style.visibility = "hidden"; $get(Id + "_ModalMask").style.display = "none"; $get(Id + "_ModalTable").style.display = "none"; var _4 = true; for (i = 0; i < Dialogs.length; i++) { if (eval(Dialogs[i] + ".Modal") && eval(Dialogs[i] + ".IsShowing") && Dialogs[i] != Id) { _4 = false; break; } } if (_4) { if (cart_browser_ie) { document.body.scroll = "yes"; if (document.documentElement) { document.documentElement.style.overflow = ""; } } else { document.body.style.overflow = "auto"; } document.body.style.marginRight = "0px"; var i = 0; for (var j = 0; j < TabableElements.length; j++) { var _7 = document.getElementsByTagName(TabableElements[j]); for (var k = 0; k < _7.length; k++) { _7[k].tabIndex = TabElements[i]; _7[k].tabEnabled = true; i++; } } if (art_oldResize) { window.onresize = art_oldResize; art_oldResize = null; } else { window.onresize = null; } } } function art_clientheight() { if (window.innerHeight != window.undefined) { return window.innerHeight; } if (document.compatMode == "CSS1Compat") { return document.documentElement.clientHeight; } if (document.body) { return document.body.clientHeight; } return window.undefined; } function art_clientwidth() { if (window.innerWidth != window.undefined) { return window.innerWidth; } if (document.compatMode == "CSS1Compat") { return document.documentElement.clientWidth; } if (document.body) { return document.body.clientWidth; } return window.undefined; } function art_sizeToClient(_9, _a) { var _b = art_clientheight(); var _c = art_clientwidth(); var _d = 0; var _e = 0; var _f = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body; var _10 = document.all ? _f.scrollLeft : pageXOffset; var _11 = document.all ? _f.scrollTop : pageYOffset; _d = _b; _e = _c; if (_a) { _d += _a; _e += _a; } _9.style.width = _e + "px"; _9.style.height = _d + "px"; _9.style.top = _11; _9.style.left = _10; } function art_ShowModal(Id, _13) { var _14 = document.getElementsByTagName("BODY")[0]; var _15 = $get(Id + "_ModalMask"); var _16 = $get(Id + "_ModalTable"); if (!_15) { _15 = document.createElement("div"); _15.id = Id + "_ModalMask"; _15.style.display = "block"; _15.className = _13; _15.style.position = "absolute"; _15.style.padding = "0px"; _15.style.margins = "0px"; _15.style.opacity = ".4"; _15.style.filter = "alpha(opacity=40)"; _15.style.backgroundColor = "transparent"; _15.style.backgroundColor = "#333333"; _15.style.backgroundImage = "url(" + eval(Id + ".ModalMaskImage") + ")"; if (cart_browser_ie && eval(Id + ".RenderOverWindowedObjects")) { _15.innerHTML = "<iframe src='javascript:false' style='width:100%;height:100%;display:block;z-index:-1;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);'></iframe>"; } _14.appendChild(_15); _15 = $get(Id + "_ModalMask"); _16 = document.createElement("table"); _16.style.position = "absolute"; _16.style.top = "0px"; _16.style.left = "0px"; _16.style.padding = "0px"; _16.style.margins = "0px"; _16.style.visibility = "visible"; maskTableBody = document.createElement("tbody"); maskRow = document.createElement("tr"); maskCell = document.createElement("td"); maskCell.style.width = "100%"; maskCell.style.height = "100%"; maskRow.appendChild(maskCell); maskTableBody.appendChild(maskRow); _16.appendChild(maskTableBody); _16.id = Id + "_ModalTable"; _14.appendChild(_16); _16 = $get(Id + "_ModalTable"); } var i = 0; for (var j = 0; j < TabableElements.length; j++) { var _19 = document.getElementsByTagName(TabableElements[j]); for (var k = 0; k < _19.length; k++) { TabElements[i] = _19[k].tabIndex; if (!ComponentArt_Dialog_IsChildOf(_19[k], $get(Id))) { _19[k].tabIndex = "-1"; } i++; } } var _1b = 0; if (eval(Id + ".ModalScrollbarOffset") > 0) { _1b = eval(Id + ".ModalScrollbarOffset"); } if (cart_browser_ie) { document.body.scroll = "no"; if (document.documentElement) { document.documentElement.style.overflow = "hidden"; } if (document.body.scrollHeight > art_clientheight()) { document.body.style.marginRight = (17 + _1b) + "px"; } else { document.body.style.marginRight = (16 + _1b) + "px"; } } else { document.body.style.overflow = "hidden"; window.scrollTo(0, 0); if (document.body.scrollHeight > art_clientheight()) { document.body.style.marginRight = (20 + _1b) + "px"; } } if (window.onresize && !art_oldResize) { art_oldResize = window.onresize; } window.onresize = function() { for (i = 0; i < Dialogs.length; i++) { if (eval(Dialogs[i] + ".Modal") && eval(Dialogs[i] + ".IsShowing")) { var _1c = $get(Dialogs[i] + "_ModalMask"); var _1d = $get(Dialogs[i] + "_ModalTable"); art_sizeToClient(_1c); art_sizeToClient(_1d); } } }; zTop++; _15.style.zIndex = zTop; _15.style.visibility = "visible"; _15.style.display = ""; art_sizeToClient(_15); zTop++; _16.style.zIndex = zTop; _16.style.display = ""; _16.style.visibility = "visible"; art_sizeToClient(_16); zTop++; $get(Id).style.zIndex = zTop; } function ComponentArt_Dialog_IsChildOf(_1e, _1f) { var _20 = _1e; while (_20 && _20.nodeName != "BODY") { if (_20 == _1f) { return true; } _20 = _20.parentNode; } return false; } function art_PositionDialog(_21, _22, X, Y, _25, _26, _27) { var _28 = $get(_21); var _29 = _28.offsetWidth; var _2a = _28.offsetHeight; var _2b = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body; var _2c = parseInt(cart_browser_ie ? _2b.scrollLeft : pageXOffset); var _2d = parseInt(cart_browser_ie ? _2b.scrollTop : pageYOffset); var _2e = art_clientwidth(); var _2f = art_clientheight(); var _30 = 0; var _31 = 0; switch (_22) { case "TopLeft": _30 = _2c; _31 = _2d; break; case "TopCentre": _30 = Math.floor((_2e - _29) / 2) + _2c; _31 = _2d; break; case "TopRight": _30 = _2e + _2c - _29; _31 = _2d; break; case "BottomLeft": _30 = _2c; _31 = _2f + _2d - _2a; break; case "BottomCentre": _30 = Math.floor((_2e - _29) / 2) + _2c; _31 = _2f + _2d - _2a; break; case "BottomRight": _30 = _2e + _2c - _29; _31 = _2f + _2d - _2a; break; case "MiddleLeft": _30 = _2c; _31 = Math.floor(_2f / 2) + _2d - Math.floor(_2a / 2); break; case "MiddleCentre": _30 = Math.floor((_2e - _29) / 2) + _2c; _31 = Math.floor(_2f / 2) + _2d - Math.floor(_2a / 2); break; case "MiddleRight": _30 = _2e + _2c - _29; _31 = Math.floor(_2f / 2) + _2d - Math.floor(_2a / 2); break; default: _30 = _2c; _31 = _2d; break; } _30 += _25; _31 += _26; if (_27) { var _32 = $get(_27); _30 = _z86(_32) + _25; _31 = _z87(_32) + _26; } if (X) { _30 = X; } if (Y) { _31 = Y; } _28.style.left = _30 + "px"; _28.style.top = _31 + "px"; } var ComponentArt_DialogMinimizeObject = null; var dialog_speed_x = 0; var dialog_speed_y = 0; var dialog_ratio = 0.2; function art_MinimizeAnimate(_33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c, _3d, _3e, _3f) { if (!ComponentArt_DialogMinimizeObject) { ComponentArt_DialogMinimizeObject = document.createElement("div"); if (_34) { ComponentArt_DialogMinimizeObject.className = _34; } else { ComponentArt_DialogMinimizeObject.style.border = "1px solid black"; } ComponentArt_DialogMinimizeObject.style.position = "absolute"; ComponentArt_DialogMinimizeObject.style.top = _38 + "px"; ComponentArt_DialogMinimizeObject.style.left = _37 + "px"; ComponentArt_DialogMinimizeObject.style.visibility = "visible"; ComponentArt_DialogMinimizeObject.style.zIndex = 90210; var _40 = 0; if (!_33) { _40 = _36 - _3f; } ComponentArt_DialogMinimizeObject.MinimizeStartTime = (new Date()).getTime() - _40; document.body.insertBefore(ComponentArt_DialogMinimizeObject, document.body.firstChild); } var _41 = (new Date()).getTime() - ComponentArt_DialogMinimizeObject.MinimizeStartTime; var _42 = ComponentArt_SlidePortionCompleted(_41, _36, _35); if (ComponentArt_AnimationPath == "Direct") { var _43 = _37 + (_3b - _37) * _42; var _44 = _38 + (_3c - _38) * _42; } var _45 = _39 + (_3d - _39) * _42; var _46 = _3a + (_3e - _3a) * _42; if (ComponentArt_AnimationPath == "Boomerang") { var _43 = _z86(ComponentArt_DialogMinimizeObject); var _44 = _z87(ComponentArt_DialogMinimizeObject); dialog_speed_x = dialog_speed_x * _42 + (_3b - _43) * dialog_ratio; dialog_speed_y = dialog_speed_y * _42 + (_3c - _44) * dialog_ratio; _43 = _43 + dialog_speed_x; _44 = _44 + dialog_speed_y; } ComponentArt_DialogMinimizeObject.style.left = _43 + "px"; ComponentArt_DialogMinimizeObject.style.top = _44 + "px"; if (ComponentArt_AnimationType == "Live") { var _47 = parseInt(_42 * 100); if (_33) { if (_47 > 0 && _47 < 100) { ComponentArt_DialogMinimizeObject.style.zoom = (100 - _47) + "%"; } } else { if (_47 > 0) { ComponentArt_DialogMinimizeObject.style.zoom = (_47 + 1) + "%"; } if (((_42 * 100) + 1) > 100) { ComponentArt_DialogMinimizeObject.style.zoom = "100%"; } } } else { ComponentArt_DialogMinimizeObject.style.width = _45 + "px"; ComponentArt_DialogMinimizeObject.style.height = _46 + "px"; } if (_33 && _41 >= _3f) { _42 = 1; } if (_42 == 1) { if (_33) { ComponentArt_DialogToMinimize.DomElement.style.visibility = "hidden"; if (ComponentArt_AnimationType == "Outline") { _zF3(ComponentArt_DialogMinimizeObject); } ComponentArt_DialogToMinimize.IsShowing = false; if (ComponentArt_DialogToMinimize.Modal) { art_CloseModal(ComponentArt_DialogToMinimize.Id); } var _48 = ComponentArt_DialogToMinimize.get_events().getHandler("onClose"); if (_48) { _48(ComponentArt_DialogToMinimize, Sys.EventArgs.Empty); } } else { if (ComponentArt_AnimationType == "Outline") { _zF3(ComponentArt_DialogMinimizeObject); ComponentArt_DialogToMinimize.DomElement.style.visibility = "visible"; } ComponentArt_DialogToMinimize.IsShowing = true; var _48 = ComponentArt_DialogToMinimize.get_events().getHandler("onShow"); if (_48) { _48(ComponentArt_DialogToMinimize, Sys.EventArgs.Empty); } } ComponentArt_DialogMinimizeObject = null; ComponentArt_DialogToMinimize = null; } else { setTimeout("art_MinimizeAnimate(" + _33 + ",'" + _34 + "'," + _35 + "," + _36 + "," + _37 + "," + _38 + "," + _39 + "," + _3a + "," + _3b + "," + _3c + "," + _3d + "," + _3e + "," + _3f + ")", 20); } }

if (!window.ComponentArt_Utils_Loaded) { if (void (0) === window.cart_overlay_src) { window.cart_overlay_src = "javascript:false"; } if (!window.ComponentArt_Atlas && !window.ComponentArt) { window.ComponentArt = new Object(); } if (window.ComponentArt_Atlas) { Type.registerNamespace("ComponentArt.Web.UI"); } else { if (!window.ComponentArt.Web || !window.ComponentArt.Web.UI) { if (!window.ComponentArt.Web) { window.ComponentArt.Web = new Object(); } if (!window.ComponentArt.Web.UI) { window.ComponentArt.Web.UI = new Object(); } window.SysA = { "EventArgs": { "Empty": {}} }; window.SysA.CancelEventArgs = function() { var _1 = false; this.get_cancel = function() { return this._cancel; }; this.set_cancel = function(_2) { this._cancel = _2; }; }; SysA.EventHandlerList = function() { var _3 = []; this.addHandler = function(_4, _5) { _3[_3.length] = [_4, _5]; }; this.removeHandler = function(_6, _7) { _newHandlers = []; for (var i = 0; i < _3.length; i++) { if (_3[i][0] != _6) { _newHandlers[_newHandlers.length] = _3[i]; } } _3 = _newHandlers; }; this.getHandler = function(_9) { for (var i = 0; i < _3.length; i++) { if (_3[i][0] == _9) { return _3[i][1]; } } return null; }; }; } } ComponentArt.Web.UI.WebServiceCompleteEventArgs = function(_b) { if (window.ComponentArt_Atlas) { ComponentArt.Web.UI.WebServiceCompleteEventArgs.initializeBase(this); } var _c = _b; this.get_customData = function() { return _c; }; }; if (window.ComponentArt_Atlas) { ComponentArt.Web.UI.WebServiceCompleteEventArgs.registerClass("ComponentArt.Web.UI.WebServiceCompleteEventArgs", SysA.EventArgs); } _zF3 = function(_d) { if (_d) { if (document.all) { _d.removeNode(true); } else { if (_d.parentNode) { _d.parentNode.removeChild(_d); } } } }; ComponentArt_Dispose = function(_e) { if (ComponentArt_ClientStateControls) { var _f = []; for (var i = 0; i < ComponentArt_ClientStateControls.length; i++) { if (ComponentArt_ClientStateControls[i] != _e) { _f[_f.length] = ComponentArt_ClientStateControls[i]; } } ComponentArt_ClientStateControls = _f; } if (_e.GlobalAlias) { window[_e.GlobalAlias] = null; } if (window._z137 == _e) { window._z137 = null; } }; ComponentArt_WaitOnCondition = function(_11, _12) { if (_11 && !eval(_11)) { setTimeout("ComponentArt_WaitOnCondition(\"" + _11.replace(/'/g, "\\'") + "\",\"" + _12.replace(/'/g, "\\'") + "\")", 100); } else { eval(_12); } }; _z132 = function(_13) { if (_13.ClientEvents) { var _14 = _13.PublicEvents; if (_14 && _14.length > 0) { for (var i = 0; i < _14.length; i++) { var _16 = _14[i][0]; if (_13.ClientEvents[_16]) { var _17 = ComponentArt_LowerCase(_16); _13.get_events().addHandler(_17, _13.ClientEvents[_16]); } } } } }; _zEF = function(_18, _19, _1a, _1b, _1c) { var _1d; switch (_19) { case null: _1d = ""; break; case "this": _1d = "if(this.get_isUpdating && !this.get_isUpdating()){this.Render();}"; break; default: _1d = "if(" + _19 + " && " + _19 + ".get_isUpdating && !" + _19 + ".get_isUpdating()){" + _19 + ".Render();}"; break; } if (!_1a) { _1a = _18.prototype.PublicProperties; } if (_1a && _1a.length > 0) { var _1e = []; if (_1a[0].join) { for (var i = 0; i < _1a.length; i++) { var _20 = _1a[i][0]; var _21 = ComponentArt_LowerCase(_20); var _22 = !_1a[i][2]; var _23 = !_1a[i][3]; var _24 = !_1a[i][4]; if (_23) { var _25 = function() { return this.GetProperty(arguments.callee.propertyName); }; _25.propertyName = _20; _18.prototype["get_" + _21] = _25; } if (_22) { var _25 = function(_26) { this.SetProperty(arguments.callee.propertyName, _26); if (arguments.callee.requiresUpdate) { eval(arguments.callee.updateCommand); } }; _25.propertyName = _20; _25.requiresUpdate = _24; _25.updateCommand = _1d; _18.prototype["set_" + _21] = _25; } _1e[_1e.length] = _21; } } else { for (var i = 0; i < _1a.length; i++) { var _20 = _1a[i]; var _21 = ComponentArt_LowerCase(_20); var _25 = function() { return this.GetProperty(arguments.callee.propertyName); }; _25.propertyName = _20; _18.prototype["get_" + _21] = _25; var _25 = function(_27) { this.SetProperty(arguments.callee.propertyName, _27); eval(arguments.callee.updateCommand); }; _25.propertyName = _20; _25.updateCommand = _1d; _18.prototype["set_" + _21] = _25; _1e[_1e.length] = _21; } } _18.prototype.PublicPropertyNames = _1e; _18.prototype.getPropertyNames = function() { return this.PublicPropertyNames; }; } if (!_1b) { _1b = _18.prototype.PublicMethods; } if (_1b && _1b.length > 0) { var _28 = []; for (var i = 0; i < _1b.length; i++) { var _29 = _1b[i][0]; var _2a = _1b[i][1]; var _25 = function() { var _2b = this[arguments.callee.methodName].apply(this, arguments); if (arguments.callee.needsUpdate) { eval(arguments.callee.updateCommand); } return _2b; }; _25.methodName = _29; _25.needsUpdate = _2a; _25.updateCommand = _1d; _18.prototype[ComponentArt_LowerCase(_29)] = _25; _28[_28.length] = ComponentArt_LowerCase(_29); } _18.prototype.PublicMethodNames = _28; _18.prototype.getMethodNames = function() { return this.PublicMethodNames; }; } if (!_1c) { _1c = _18.prototype.PublicEvents; } if (_1c && _1c.length > 0) { var _2c = []; for (var i = 0; i < _1c.length; i++) { var _2d = _1c[i][0]; var _2e = ComponentArt_LowerCase(_2d); if (!window.ComponentArt_Atlas) { _18.prototype.get_events = function() { if (!this._eventHandlerList) { this._eventHandlerList = new SysA.EventHandlerList(); } return this._eventHandlerList; }; } var _25 = function(_2f) { this.get_events().addHandler(arguments.callee.newEventName, _2f); }; _25.newEventName = _2e; _18.prototype["add_" + _2e] = _25; var _25 = function(_30) { this.get_events().removeHandler(arguments.callee.newEventName, _30); }; _25.newEventName = _2e; _18.prototype["remove_" + _2e] = _25; _2c[_2c.length] = _2e; } _18.prototype.PublicEventNames = _2c; _18.prototype.getEventNames = function() { return this.PublicEventNames; }; } }; _zF0 = function(_31, _32, _33, _34) { if (!_32) { _32 = _31.prototype.PublicProperties; } if (!_33) { _33 = _31.prototype.PublicMethods; } if (!_34) { _34 = _31.prototype.PublicEvents; } var _35 = _31.callBaseMethod ? _31.callBaseMethod(this, "getDescriptor") : null; if (!_35) { _35 = new SysA.TypeDescriptor(); } if (_32) { for (var i = 0; i < _32.length; i++) { var _37 = _32[i]; _35.addProperty(ComponentArt_LowerCase(_37[0]), _37[1], _37[2]); } } if (_33) { for (var i = 0; i < _33.length; i++) { var _38 = _33[i]; var _39; if (_38[3]) { _39 = []; for (var j = 0; j < _38[3].length; j++) { _39[j] = SysA.TypeDescriptor.createParameter(_38[3][j][0], _38[3][j][1]); } } _35.addMethod(ComponentArt_LowerCase(_38[0]), _39); } } if (_34) { for (var i = 0; i < _34.length; i++) { var _3b = ComponentArt_LowerCase(_34[0].replace(/ClientSideOn/, "")); _35.addEvent(_3b, true); } } return _35; }; window.cart_browser_agt = (navigator == null || navigator.userAgent == null) ? "" : navigator.userAgent.toLowerCase(); window.cart_browser_app = (navigator == null || navigator.appVersion == null) ? "" : navigator.appVersion; window.cart_browser_major = parseInt(cart_browser_app); window.cart_browser_opera = cart_browser_agt.indexOf("opera") != -1; window.cart_browser_chrome = cart_browser_agt.indexOf("chrome") != -1; window.cart_browser_mac = cart_browser_agt.indexOf("mac") != -1; window.cart_browser_ie = !cart_browser_opera && (cart_browser_agt.indexOf("msie") != -1); window.cart_browser_iemac = cart_browser_ie && cart_browser_mac; window.cart_browser_safari = cart_browser_agt.indexOf("safari") != -1; window.cart_browser_safari1point3plus = cart_browser_safari && (cart_browser_agt.indexOf("safari/125.") == -1) && (cart_browser_agt.indexOf("safari/85.") == -1); window.cart_browser_safari3 = cart_browser_safari && (cart_browser_agt.indexOf("version/3") != -1); window.cart_browser_safariPre3 = cart_browser_safari && !cart_browser_safari3 && !cart_browser_chrome; window.cart_browser_konqueror = cart_browser_agt.indexOf("konqueror") != -1; window.cart_browser_mozilla = !cart_browser_ie && !cart_browser_opera && ((cart_browser_agt.indexOf("netscape") != -1) || (cart_browser_agt.indexOf("mozilla") != -1)) && (cart_browser_major >= 5); window.cart_browser_ie3 = cart_browser_ie && (cart_browser_major < 4); window.cart_browser_ie4 = cart_browser_ie && (cart_browser_major == 4) && (cart_browser_agt.indexOf("msie 4") != -1); window.cart_browser_ie5point5 = cart_browser_ie && (cart_browser_major == 4) && (cart_browser_agt.indexOf("msie 5.5") != -1); window.cart_browser_ie5 = cart_browser_ie && (cart_browser_major == 4) && (cart_browser_agt.indexOf("msie 5") != -1) && !cart_browser_ie5point5; window.cart_browser_ie5point5plus = cart_browser_ie && !cart_browser_ie3 && !cart_browser_ie4 && !cart_browser_ie5; window.cart_browser_transitions = cart_browser_ie5point5plus && (cart_browser_agt.indexOf("nt 4") == -1); window.cart_browser_ie6plus = cart_browser_ie && !cart_browser_ie3 && !cart_browser_ie4 && !cart_browser_ie5 && !cart_browser_ie5point5; window.cart_browser_ie7plus = cart_browser_ie6plus && (cart_browser_agt.indexOf("msie 6") == -1); window.cart_browser_ie8 = cart_browser_ie7plus && (cart_browser_agt.indexOf("msie 8") != -1); window.cart_browser_ff = cart_browser_mozilla && (cart_browser_agt.indexOf("irefox") != -1); window.cart_browser_ff3 = cart_browser_ff && (cart_browser_agt.indexOf("irefox/3") != -1); window.cart_browser_shadows = cart_browser_ie6plus; window.cart_browser_n6 = (cart_browser_agt.indexOf("netscape6") != -1); window.cart_browser_slides = !cart_browser_konqueror && !cart_browser_n6; window.cart_browser_overlays = cart_browser_ie5point5plus; window.cart_browser_hideselects = cart_browser_ie && !cart_browser_iemac && !cart_browser_ie7plus; window.cart_browser_addeventhandlers = !cart_browser_iemac; window.cart_browser_contextmenus = cart_browser_addeventhandlers; window.cart_browser_noncustomcontextmenus = cart_browser_contextmenus && !cart_browser_opera && !cart_browser_safariPre3; window.cart_browser_expandonclick = cart_browser_addeventhandlers; window.cart_browser_recyclegroups = !cart_browser_n6 && !cart_browser_iemac; window.cart_activexenabled = null; window.cart_browser_backcompatie = cart_browser_ie && (!cart_browser_ie6plus || document.compatMode == "BackCompat"); window.cart_browser_backcompatopera = cart_browser_opera && document.compatMode == "QuirksMode"; window.cart_browser_backcompat = cart_browser_backcompatie || cart_browser_backcompatopera; window.cart_slideframeduration = 30; window.ComponentArt_CheckActiveX = function() { try { document.body.filters; return true; } catch (dummy) { return false; } }; window._z86 = function(o, rel, abs) { var x = cart_browser_ie ? _z7C(o) : _z82(o); if (rel) { var _40 = cart_getoffset_x(o, "relative"); x -= _40; } if (abs) { var _41 = cart_getoffset_x(o, "absolute"); x -= _41; } if (rel || abs) { x = x < 0 ? 0 : x; } return x; }; window._z87 = function(o, rel, abs) { var y = cart_browser_ie ? _z7D(o) : _z83(o); if (rel) { var _46 = cart_getoffset_y(o, "relative"); y -= _46; } if (abs) { var _47 = cart_getoffset_y(o, "absolute"); y -= _47; } if (rel || abs) { y = y < 0 ? 0 : y; } return y; }; window.cart_getoffset_x = function(o, _49) { while (o.parentNode && o.parentNode != document.body) { if (cart_browser_ie && o.currentStyle) { if (o.currentStyle.position == _49) { return _49 == "absolute" ? parseInt(o.currentStyle.left) : _z86(o); } } else { if (document.defaultView && document.defaultView.getComputedStyle) { var _4a = document.defaultView.getComputedStyle(o, ""); if (_4a.position == _49) { return _49 == "absolute" ? parseInt(_4a.getPropertyValue("left")) : _z86(o); } } } o = o.parentNode; } return 0; }; window.cart_getoffset_y = function(o, _4c) { while (o.parentNode && o.parentNode != document.body) { if (cart_browser_ie && o.currentStyle) { if (o.currentStyle.position == _4c) { return _4c == "absolute" ? parseInt(o.currentStyle.top) : _z87(o); } } else { if (document.defaultView && document.defaultView.getComputedStyle) { var _4d = document.defaultView.getComputedStyle(o, ""); if (_4d.position == _4c) { return _4c == "absolute" ? parseInt(_4d.getPropertyValue("top")) : _z87(o); } } } o = o.parentNode; } return 0; }; window._z7C = function(o) { return (cart_browser_iemac ? _z77(o) : cart_browser_ie4 ? _z73(o) : _z75(o)); }; window._z7D = function(o) { return (cart_browser_iemac ? _z78(o) : cart_browser_ie4 ? _z74(o) : _z76(o)); }; window._z75 = function(o) { var x = 0; while (o.offsetParent != null) { x += o.offsetLeft; if (o.offsetParent.tagName != "TABLE" && o.offsetParent.tagName != "TD" && o.offsetParent.tagName != "TR" && o.offsetParent.currentStyle != null) { var _52 = parseInt(o.offsetParent.currentStyle.borderLeftWidth); if (!isNaN(_52)) { x += _52; } } if (o.offsetParent.tagName == "TABLE" && o.offsetParent.border > 0) { x += 1; } o = o.offsetParent; } if (!cart_browser_ie8 && document.compatMode == "CSS1Compat" && o == document.body) { var _53 = parseInt(o.currentStyle.marginLeft); if (!isNaN(_53)) { x += _53; } } return x; }; window._z76 = function(o) { var y = 0; while (o.offsetParent != null) { y += o.offsetTop; if (o.offsetParent.tagName != "TABLE" && o.offsetParent.tagName != "TD" && o.offsetParent.tagName != "TR" && o.offsetParent.currentStyle != null) { var _56 = parseInt(o.offsetParent.currentStyle.borderTopWidth); if (!isNaN(_56)) { y += _56; } } if (o.offsetParent.tagName == "TABLE" && o.offsetParent.border > 0) { y += 1; } o = o.offsetParent; } if (!cart_browser_ie8 && document.compatMode == "CSS1Compat" && o == document.body) { var _57 = parseInt(o.currentStyle.marginTop); if (!isNaN(_57)) { y += _57; } } return y; }; window._z73 = function(o) { var x = 0; while (o != document.body) { x += o.offsetLeft; o = o.offsetParent; } return x; }; window._z74 = function(o) { var y = 0; while (o != document.body) { y += o.offsetTop; o = o.offsetParent; } return y; }; window._z77 = function(o) { var x = 0; while (o.offsetParent != document.body) { x += o.offsetLeft; o = o.offsetParent; } x += (o.offsetLeft + _z7A()); return x; }; window._z78 = function(o) { var y = 0; while (o.offsetParent != document.body) { y += o.offsetTop; o = o.offsetParent; } y += (o.offsetTop + _z7B()); return y; }; window._z7A = function() { if (_z84 == null) { if (!document.all["cart_pgmrgmsr"]) { _z79(); } _z84 = -document.all["cart_pgmrgmsr"].offsetLeft; } return _z84; }; window._z7B = function() { if (_z85 == null) { if (!document.all["cart_pgmrgmsr"]) { _z79(); } _z85 = -document.all["cart_pgmrgmsr"].offsetTop; } return _z85; }; window._z79 = function() { document.body.insertAdjacentHTML("beforeEnd", "<div id=\"cart_pgmrgmsr\" style=\"position:absolute;left:0;top:0;z-index:-1000;visibility:hidden\">*</div>"); }; window._z82 = function(_60) { var x = 0; do { if (_60.style.position == "absolute") { return x + _60.offsetLeft; } else { x += _60.offsetLeft; if (_60.offsetParent) { if (_60.offsetParent.tagName == "TABLE" && !cart_browser_safari && !cart_browser_konqueror) { if (parseInt(_60.offsetParent.border) > 0) { x += 1; } } } } } while ((_60 = _60.offsetParent)); return (cart_browser_konqueror ? x + _z7E() : x); }; window._z83 = function(_62) { var y = 0; do { if (_62.style.position == "absolute") { return y + _62.offsetTop; } else { y += _62.offsetTop; if (_62.offsetParent) { if (_62.offsetParent.tagName == "TABLE" && !cart_browser_safari && !cart_browser_konqueror) { if (parseInt(_62.offsetParent.border) > 0) { y += 1; } } } } } while ((_62 = _62.offsetParent)); return (cart_browser_konqueror ? y + _z80() : y); }; window._z7E = function() { if (_z84 == null) { _z84 = _z7F(); } return _z84; }; window._z80 = function() { if (_z85 == null) { _z85 = _z81(); } return _z85; }; window._z7F = function() { if (!isNaN(parseInt(document.body.style.marginLeft))) { return parseInt(document.body.style.marginLeft); } if (!isNaN(parseInt(document.body.style.margin))) { return parseInt(document.body.style.margin); } if (!isNaN(parseInt(document.body.leftMargin))) { return parseInt(document.body.leftMargin); } return 10; }; window._z81 = function() { if (!isNaN(parseInt(document.body.style.marginTop))) { return parseInt(document.body.style.marginTop); } if (!isNaN(parseInt(document.body.style.margin))) { return parseInt(document.body.style.margin); } if (!isNaN(parseInt(document.body.topMargin))) { return parseInt(document.body.topMargin); } return 10; }; window._z84 = null; window._z85 = null; window.cart_slidetype_none = 0; window.cart_slidetype_exponentialaccelerate = 1; window.cart_slidetype_exponentialdecelerate = 2; window._z8B = 3; window.cart_slidetype_quadraticaccelerate = 4; window.cart_slidetype_quadraticdecelerate = 5; window.ComponentArt_SlidePortionCompleted = function(_64, _65, _66) { if (_66 == cart_slidetype_none || _64 >= _65) { return 1; } var _67 = (_66 == cart_slidetype_exponentialaccelerate) || (_66 == cart_slidetype_quadraticaccelerate); if (_67) { _64 = _65 - _64; } var _68 = _64 / _65; var _69; switch (_66) { case _z8B: _69 = _68; break; case cart_slidetype_exponentialdecelerate: case cart_slidetype_exponentialaccelerate: _69 = 1 - Math.pow(1 / 300, _68); break; case cart_slidetype_quadraticdecelerate: case cart_slidetype_quadraticaccelerate: _69 = Math.pow(_68, 2); break; } if (_67) { _69 = 1 - _69; } return Math.min(Math.max(0, _69), 1); }; window._zD5 = 0; window._zC6 = 1; window._zC7 = 2; window._zC8 = 3; window._zC9 = 4; window._zCA = 5; window._zCB = 6; window._zCC = 7; window._zCD = 8; window._zCE = 9; window._zCF = 10; window._zD0 = 11; window._zD1 = 12; window._zD2 = 13; window._zD3 = 14; window._zD4 = 15; window._zD6 = 16; window._zD7 = 17; window._zD8 = 18; window._zD9 = 19; window._zDA = 20; window._zDB = 21; window._zDC = 22; window.ComponentArt_EffectiveTransitionString = function(_6a, _6b) { switch (_6a - 0) { case _zD5: return null; case _zC6: return _6b; case _zC7: return "progid:DXImageTransform.Microsoft.RandomDissolve()"; case _zC8: return "progid:DXImageTransform.Microsoft.Fade()"; case _zC9: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=CIRCLE)"; case _zCA: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=CIRCLE,motion=in)"; case _zCB: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=CROSS)"; case _zCC: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=CROSS,motion=in)"; case _zCD: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=DIAMOND)"; case _zCE: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=DIAMOND,motion=in)"; case _zCF: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=PLUS)"; case _zD0: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=PLUS,motion=in)"; case _zD1: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=SQUARE)"; case _zD2: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=SQUARE,motion=in)"; case _zD3: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=STAR)"; case _zD4: return "progid:DXImageTransform.Microsoft.Iris(irisStyle=STAR,motion=in)"; case _zD6: return "progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=20)"; case _zD7: return "progid:DXImageTransform.Microsoft.Wheel(spokes=2)"; case _zD8: return "progid:DXImageTransform.Microsoft.Wheel(spokes=8)"; case _zD9: return "progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=1)"; case _zDA: return "progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0,motion=reverse)"; case _zDB: return "progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0)"; case _zDC: return "progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=1,motion=reverse)"; } return null; }; window._z10C = function(_6c, _6d) { var _6e; var _6f = _6c.Target; if (!_6f) { _6f = _6d.DefaultTarget; } var _70 = _6c.PostBackID; if (!_70 && _6c.ID) { _70 = "p_" + _6c.ID; } if (_70 && (_6c.AutoPostBackOnSelect || (_6c.GetProperty && _6c.GetProperty("AutoPostBackOnSelect")))) { var _71 = "__doPostBack('" + _6d.ControlId + "','" + _70 + "')"; if (_6c.ClientSideCommand) { _6d.ExecutingClientSideCommand = _6c.ClientSideCommand; _6e = "if(eval(" + _6d.ClientControlId + ".ExecutingClientSideCommand)) {" + _71 + ";}"; } else { _6e = _71 + ";"; } } else { if (_6c.ClientSideCommand) { _6e = _6c.ClientSideCommand; } else { if (_6c.NavigateUrl) { if (!_6f) { _6e = "document.location.href = '" + ComponentArt_ConvertUrl(_6d.BaseUrl, _6c.NavigateUrl, _6d.ApplicationPath) + "'"; } else { _6e = "window.open('" + ComponentArt_ConvertUrl(_6d.BaseUrl, _6c.NavigateUrl, _6d.ApplicationPath) + "', '" + _6f + "')"; } } else { _6e = ""; } } } if (_6d.MultiPageId) { var _72; if (_6c.PageViewId) { _72 = _6c.PageViewId; } else { if (_6c.GetProperty) { _72 = _6c.GetProperty("PageViewId"); } } if (_72) { _6e = _6d.MultiPageId + ".SetPageId('" + _72 + "');" + _6e; } else { var _73 = false; if (_6d.ItemIndex) { for (var i = 0; i < _6d.ItemIndex.length; i++) { if (_6d.ItemIndex[i].GetProperty("PageViewId")) { _73 = true; break; } } } else { } if (!_73) { _6e = _6d.MultiPageId + ".SetPageIndex(" + _6c.StorageIndex + ");" + _6e; } } } return _6e; }; window.ComponentArt_CommandNavigatesAway = function(_75) { return (_75.indexOf("__doPostBack") != -1) || (_75.indexOf("document.location.href") != -1); }; window.ComponentArt_AddEventHandler = function(_76, _77, _78) { if (!window.cart_browser_addeventhandlers) { return false; } if (_76.attachEvent) { return _76.attachEvent("on" + _77, _78); } else { if (_76.addEventListener) { _76.addEventListener(_77, _78, false); return true; } } return false; }; window.ComponentArt_RemoveEventHandler = function(_79, _7a, _7b) { if (!window.cart_browser_addeventhandlers) { return false; } if (_79.detachEvent) { return _79.detachEvent("on" + _7a, _7b); } else { if (_79.removeEventListener) { _79.removeEventListener(_7a, _7b, false); return true; } } return false; }; window.ComponentArt_GetAdjustedHeight = function(_7c, _7d) { if (!_7c) { return (_7d ? _7d : 0); } if (!_7d && _7d != 0) { _7d = _7c.offsetHeight; } if (cart_browser_ie && _7c.currentStyle) { var _7e = _7c.currentStyle; if (_7e) { var _7f = 0; _7f += isNaN(parseInt(_7e.borderTopWidth)) ? 0 : parseInt(_7e.borderTopWidth); _7f += isNaN(parseInt(_7e.borderBottomWidth)) ? 0 : parseInt(_7e.borderBottomWidth); _7f += isNaN(parseInt(_7e.paddingTop)) ? 0 : parseInt(_7e.paddingTop); _7f += isNaN(parseInt(_7e.paddingBottom)) ? 0 : parseInt(_7e.paddingBottom); _7d -= _7f; } } else { if (document.defaultView && document.defaultView.getComputedStyle) { var _7e = document.defaultView.getComputedStyle(_7c, ""); if (_7e) { var _7f = 0; _7f += _7e.getPropertyValue("border-top-width") ? parseInt(_7e.getPropertyValue("border-top-width")) : 0; _7f += _7e.getPropertyValue("border-bottom-width") ? parseInt(_7e.getPropertyValue("border-bottom-width")) : 0; _7f += _7e.getPropertyValue("padding-top") ? parseInt(_7e.getPropertyValue("padding-top")) : 0; _7f += _7e.getPropertyValue("padding-bottom") ? parseInt(_7e.getPropertyValue("padding-bottom")) : 0; _7d -= _7f; } } } return _7d; }; window.ComponentArt_GetAdjustedWidth = function(_80, _81) { if (!_80) { return (_81 ? _81 : 0); } if (!_81 && _81 != 0) { _81 = _80.offsetWidth; } if (cart_browser_ie && _80.currentStyle) { var _82 = _80.currentStyle; if (_82) { var _83 = 0; _83 += isNaN(parseInt(_82.borderLeftWidth)) ? 0 : parseInt(_82.borderLeftWidth); _83 += isNaN(parseInt(_82.borderRightWidth)) ? 0 : parseInt(_82.borderRightWidth); _83 += isNaN(parseInt(_82.paddingLeft)) ? 0 : parseInt(_82.paddingLeft); _83 += isNaN(parseInt(_82.paddingRight)) ? 0 : parseInt(_82.paddingRight); _81 -= _83; } } else { if (document.defaultView && document.defaultView.getComputedStyle) { var _82 = document.defaultView.getComputedStyle(_80, ""); if (_82) { var _83 = 0; _83 += _82.getPropertyValue("border-left-width") ? parseInt(_82.getPropertyValue("border-left-width")) : 0; _83 += _82.getPropertyValue("border-right-width") ? parseInt(_82.getPropertyValue("border-right-width")) : 0; _83 += _82.getPropertyValue("padding-left") ? parseInt(_82.getPropertyValue("padding-left")) : 0; _83 += _82.getPropertyValue("padding-right") ? parseInt(_82.getPropertyValue("padding-right")) : 0; _81 -= _83; } } } return _81; }; window.ComponentArt_IsVisible = function(_84, _85) { for (var o = _84; o && o.parentNode && o != document.body; o = o.parentNode) { if (cart_browser_ie && o.currentStyle) { var _87 = o.currentStyle; if (_87) { if ((!_85 && _87.visibility == "hidden") || _87.display == "none") { return false; } } } else { if (document.defaultView && document.defaultView.getComputedStyle) { var _87 = document.defaultView.getComputedStyle(o, ""); if (_87) { if ((!_85 && _87.getPropertyValue("visibility") == "hidden") || _87.getPropertyValue("display") == "none") { return false; } } } } } return true; }; window.ComponentArt_CancelEvent = function(e) { if (document.all) { if (!e) { e = event; } e.cancelBubble = true; e.returnValue = false; } else { if (e) { e.preventDefault(); e.stopPropagation(); } } return false; }; window.ComponentArt_IsMouseOnObject = function(obj, x, y) { var _8c = _z86(obj); var _8d = _z87(obj); var _8e = _8c + obj.offsetWidth - 1; var _8f = _8d + obj.offsetHeight - 1; return ((x > _8c) && (x < _8e) && (y > _8d) && (y < _8f)); }; window.ComponentArt_RemoveValueFromArray = function(_90, _91) { for (var i = 0; i < _90.length; i++) { if (_90[i] == _91) { ComponentArt_RemovePositionFromArray(_90, i); } } }; window.ComponentArt_RemovePositionFromArray = function(_93, _94) { if (_93.length > 0) { for (var i = _94; i < _93.length - 1; i++) { _93[i] = _93[i + 1]; } _93.length--; } }; window.ComponentArt_AddElementToArray = function(_96, _97, _98) { if (_98 == null) { _98 = _96.length; } _96.length++; for (var i = _96.length - 2; i >= _98; i--) { _96[i + 1] = _96[i]; } _96[_98] = _97; }; window.ComponentArt_FindInArray = function(_9a, _9b) { for (var i = 0; i < _9a.length; i++) { if (_9a[i] == _9b) { return i; } } return null; }; window.FindPropertyValueInStorageArray = function(_9d, _9e) { for (var i = 0; i < _9d.length; i += 2) { if (_9d[i] == _9e) { return i + 1; } } return null; }; window.FindPropertyIndexInStorageArray = function(_a0, _a1) { for (var i = 0; 2 * i < _a0.length; i++) { if (_a0[2 * i] == _a1) { return i; } } return null; }; window.ComponentArt_ArrayToXml = function(_a3, _a4) { var _a5 = Array.prototype.toString; Array.prototype.toString = function() { return "<r><c>" + this.join("</c><c>") + "</c></r>"; }; var _a6 = _a3.toString(); if (_a4) { _a6 = window.encodeURIComponent ? encodeURIComponent(_a6) : escape(_a6); } Array.prototype.toString = _a5; return _a6; }; window.ComponentArt_Quote = function(str) { if (str == null) { return "null"; } else { return "'" + str + "'"; } }; window.ComponentArt_Contains = function(_a8, _a9, _aa) { if (_a9 == null || _a8 == null) { return false; } if (_a8.contains) { return _a8.contains(_a9); } if (_a9 == _a8) { return true; } try { while (_a9.parentNode) { _a9 = _a9.parentNode; if (_a9 == _a8) { return true; } } return false; } catch (e) { return _aa; } }; window.ComponentArt_ToElement = function(_ab) { if (_ab == null) { return null; } if (_ab.toElement != null) { return _ab.toElement; } if (_ab.type == "mouseover") { return _ab.target; } if (_ab.type == "mouseout") { return _ab.relatedTarget; } return null; }; window.ComponentArt_FromElement = function(_ac) { if (_ac == null) { return null; } if (_ac.fromElement != null) { return _ac.fromElement; } if (_ac.type == "mouseover") { return _ac.relatedTarget; } if (_ac.type == "mouseout") { return _ac.target; } return null; }; window.ComponentArt_IsStray = function(_ad) { while (_ad != null && _ad != document.documentElement) { _ad = _ad.parentNode; } return _ad != document.documentElement; }; window.ComponentArt_IsUrlAbsolute = function(_ae) { if (_ae == null) { return false; } for (var i = 0; i < ComponentArt_IsUrlAbsolute.AbsolutePrefixes.length; i++) { if (_ae.substring(0, ComponentArt_IsUrlAbsolute.AbsolutePrefixes[i].length) == ComponentArt_IsUrlAbsolute.AbsolutePrefixes[i]) { return true; } } return false; }; ComponentArt_IsUrlAbsolute.AbsolutePrefixes = ["/", "about:", "file:///", "ftp://", "gopher://", "http://", "https://", "javascript:", "mailto:", "news:", "res://", "telnet://", "view-source:"]; window.ComponentArt_ConvertUrl = function(_b0, _b1, _b2) { if (_b2 && _b1.indexOf && _b1.indexOf("~") == 0) { if (_b2.charAt(_b2.length - 1) == "/") { _b2 = _b2.substring(0, _b2.length - 1); } _b1 = _b1.replace(/\~/, _b2); } if (!_b0) { return _b1; } else { if (ComponentArt_IsUrlAbsolute(_b1)) { return _b1; } else { return _b0 + _b1; } } }; window.ComponentArt_LowerCase = function(str) { return str.substring(0, 1).toLowerCase() + str.substring(1); }; window.ComponentArt_UpperCase = function(str) { return str.substring(0, 1).toUpperCase() + str.substring(1); }; window.ComponentArt_InstantiateClientTemplate = function(_b5, _b6, _b7) { var _b8 = _b5.split("##"); this.Parent = _b6; this.DataItem = _b7; for (var i = 1; i < _b8.length; i += 2) { _b8[i] = eval(_b8[i]); } return _b8.join(""); }; window._z135 = function(_ba, _bb) { var _bc = new _ba(); for (var i = 0; i < _bc.PermanentProperties.length; i += 2) { _bc[_bc.PermanentProperties[i]] = null; } for (var i = 0; i < _bc.TransitoryProperties.length; i += 2) { _bc[_bc.TransitoryProperties[i]] = null; } for (var i = 0; i < _bb.length; i += 2) { var _be = 2 * _bb[i]; var _bf = _bb[i + 1]; var _c0 = _bc.PermanentProperties[_be]; var _c1 = _bc.PermanentProperties[_be + 1]; _bc[_c0] = _c1 ? _z135(_c1, _bf) : _bf; } var _c2 = arguments.length - 2; for (var i = 0; i < _c2 && i < _bc.TransitoryProperties.length; i++) { var _c0 = _bc.TransitoryProperties[i]; _bc[_c0] = arguments[2 + i]; } return _bc; }; window.ComponentArt_SetProperties = function(o, _c4) { while (!_c4[_c4.length - 1]) { _c4.length--; } for (var i = 0; i < _c4.length; i++) { o[_c4[i][0]] = _c4[i][1]; } }; window.ComponentArt_CalculateProperties = function(_c6, _c7, _c8) { if (_c8 == null) { _c8 = _c6; } for (var _c9 in _c7) { _c8[_c9] = _c6.GetProperty(_c9); } }; window.ComponentArt_ElementContainer = function(_ca, _cb, _cc) { this.ParentElement = _ca != null ? _ca : ComponentArt_ElementContainer.CreateParentContainerElement(); this.Slots = new Array(); this.CapacityIncrement = (_cc != null && _cc > 0) ? _cc : ComponentArt_ElementContainer.DefaultCapacityIncrement; this.Capacity = this.ParentElement.childNodes.length; _cb = (_cb != null && _cb > 0) ? _cb : ComponentArt_ElementContainer.DefaultInitialCapacity; this.IncreaseCapacity(_cb); this.NextAvailableSlot = 0; }; window.ComponentArt_ElementContainer.DefaultInitialCapacity = 12; window.ComponentArt_ElementContainer.DefaultCapacityIncrement = 4; window.ComponentArt_ElementContainer.CreateParentContainerElement = function() { var _cd = (document.forms != null && document.forms[0] != null && document.forms[0].parentNode != null && document.forms[0].parentNode.tagName == "BODY") ? document.forms[0] : document.getElementsByTagName("BODY")[0]; var _ce; if (window.cart_browser_iemac) { _ce = _cd.appendChild(document.createElement("span")); } else { _ce = _cd.insertBefore(document.createElement("span"), _cd.firstChild); } if (window.cart_browser_opera) { _ce.style.position = "absolute"; _ce.style.left = "0px"; _ce.style.top = "0px"; } return _ce; }; window.ComponentArt_ElementContainer.prototype.IncreaseCapacity = function(_cf) { if (_cf == null || _cf <= 0) { _cf = this.CapacityIncrement; } var _d0 = this.Capacity; var _d1 = this.Slots.length = this.Capacity += _cf; for (var i = _d0; i < _d1; i++) { var _d3 = document.createElement("div"); _d3.ContainerIndex = i; _d3.style.position = "absolute"; _d3.style.zIndex = -999; _d3.style.left = "0px"; _d3.style.top = "0px"; this.Slots[i] = this.ParentElement.appendChild(_d3); } }; window.ComponentArt_ElementContainer.prototype.Add = function(_d4) { if (this.NextAvailableSlot >= this.Capacity) { this.IncreaseCapacity(); } this.Slots[this.NextAvailableSlot].style.visibility = "hidden"; this.Slots[this.NextAvailableSlot].innerHTML = _d4; this.Slots[this.NextAvailableSlot]["taken"] = true; var _d5 = this.Slots[this.NextAvailableSlot].firstChild; _d5.ContainerIndex = this.NextAvailableSlot; for (var i = this.NextAvailableSlot + 1; i < this.Capacity; i++) { if (!this.Slots[i]["taken"]) { this.NextAvailableSlot = i; break; } } if (this.NextAvailableSlot < this.Capacity && this.Slots[this.NextAvailableSlot]["taken"]) { this.NextAvailableSlot = this.Capacity; } return _d5; }; window.ComponentArt_ElementContainer.prototype.Remove = function(_d7) { if (_d7 < 0 || this.Capacity <= _d7) { return; } this.Slots[_d7].innerHTML = ""; this.Slots[_d7]["taken"] = false; if (_d7 < this.NextAvailableSlot) { this.NextAvailableSlot = _d7; } }; window.ComponentArt_ElementContainer.prototype.Clear = function() { var _d8 = this.ParentElement.childNodes; for (var i = 0; i < _d8.length; i++) { _d8[i].innerHTML = ""; _d8[i].ContainerIndex = i; _d8[i].style.position = "absolute"; _d8[i].style.zIndex = -999; _d8[i].style.left = "0px"; _d8[i].style.top = "0px"; _d8[i]["taken"] = false; } this.NextAvailableSlot = 0; }; window.ComponentArt_Hashtable = function() { }; ComponentArt_Hashtable.prototype.Count = function() { var i = 0; for (key in this) { i++; } return i - 1; }; window.ComponentArt_GenerateID = function() { return (Math.random() * 100000000000).toString(); }; window.ComponentArt_ClientStateControls = []; window.ComponentArt_FormSubmitPrepare = function() { for (var i = 0; i < ComponentArt_ClientStateControls.length; i++) { if (ComponentArt_ClientStateControls[i].SaveData) { ComponentArt_ClientStateControls[i].SaveData(); } } }; window.ComponentArt_FormSubmitHandler = function(e, _dd) { var ret = true; if (!window.ComponentArt_HandlingFormSubmit) { window.ComponentArt_HandlingFormSubmit = true; ComponentArt_FormSubmitPrepare(); if (!_dd && window.ComponentArt_OldSubmitHandler) { ret = ComponentArt_OldSubmitHandler(e); } window.ComponentArt_HandlingFormSubmit = false; } return ret; }; window.ComponentArt_DoPostBack = function(_df, _e0) { ComponentArt_FormSubmitPrepare(); ComponentArt_OldDoPostBack(_df, _e0); }; window._z133 = 0; window.ComponentArt_HookFormSubmit = function() { if (_z133 > 100) { return; } _z133++; if (window.ComponentArt_Atlas) { if (!window.SysA || (window.SysA && window.SysA.WebForms && !(SysA.WebForms.PageRequestManager && SysA.WebForms.PageRequestManager.getInstance())) || (window.ComponentArt_Fw35 && !SysA.Application._initialized)) { setTimeout("ComponentArt_HookFormSubmit()", 250); return; } } else { if (!window.__doPostBack) { setTimeout("ComponentArt_HookFormSubmit()", 100); return; } } if (document.forms[0] && !(window.ComponentArt_Atlas && document.forms[0].addEventListener) && document.forms[0].onsubmit != window.ComponentArt_FormSubmitHandler) { window.ComponentArt_OldSubmitHandler = document.forms[0].onsubmit; document.forms[0].onsubmit = window.ComponentArt_FormSubmitHandler; } if (window.__doPostBack && window.__doPostBack != window.ComponentArt_DoPostBack) { window.ComponentArt_OldDoPostBack = window.__doPostBack; window.__doPostBack = window.ComponentArt_DoPostBack; } }; setTimeout("ComponentArt_HookFormSubmit()", 100); window.ComponentArt_Utils_Loaded = true; }

function ComponentArt_Dialog(id, _2, _3, _4) { Dialogs.push(id); this.DomElementId = id; if (!document.getElementById(this.DomElementId)) { if (!_2) { _2 = 100; } if (!_3) { _3 = 200; } var _5 = document.createElement("div"); _5.setAttribute("id", this.DomElementId); _5.style.position = "absolute"; _5.style.visibility = "hidden"; _5.style.height = _2 + "px"; _5.style.width = _3 + "px"; var _6 = ""; if (this.FocusOnClick) { _6 = "onclick='" + id + ".Focus();' "; } if (cart_browser_ie && _4.RenderOverWindowedObjects) { _5.innerHTML = "<iframe src='javascript:false' id='" + this.DomElementId + "_OverlayIFrame' style='position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:-1;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);'></iframe><div id='" + id + "_HeaderSpan'></div><div " + _6 + "id='" + id + "_InnerSpan'></div><div id='" + id + "_FooterSpan'></div>"; } else { _5.innerHTML = "<div id='" + id + "_HeaderSpan'></div><div " + _6 + "id='" + id + "_InnerSpan'></div><div id='" + id + "_FooterSpan'></div>"; } var _7 = document.createElement("div"); _7.setAttribute("id", this.DomElementId + "_PlaceHolder"); document.forms[0].insertBefore(_7, document.forms[0].firstChild); document.forms[0].insertBefore(_5, document.forms[0].firstChild); var _8 = new Array(); if (_4) { for (i in _4.PublicProperties) { if (_4.PublicProperties[i][0] != "Id" && _4.PublicProperties[i][0] != "IsShowing") { var _9 = _4.PublicProperties[i][0]; var _a = _4[_9]; var _b = [_9, _a]; _8.push(_b); } } } else { _8 = [["Alignment", "MiddleCentre"], ["OffsetX", 0], ["OffsetY", 0], ["X", null], ["Y", null]]; } this.ControlId = id; ComponentArt_SetProperties(this, _8); _z132(this); this.DomElement = document.getElementById(id); var _c = function(e) { arguments.callee.Dialog.getMouseXY(e); }; _c.Dialog = this; this.DomElement.onmousemove = _c; var _c = function(e) { arguments.callee.Dialog.HandleMouseDown(e); }; _c.Dialog = this; this.DomElement.onmousedown = _c; var _c = function(e) { arguments.callee.Dialog.HandleMouseOut(e); }; _c.Dialog = this; this.DomElement.onmouseout = _c; var _c = function(e) { arguments.callee.Dialog.HandleMouseUp(e); }; _c.Dialog = this; this.DomElement.onmouseup = _c; } this.DomElement = document.getElementById(this.DomElementId); this.element = document.getElementById(this.DomElementId + "_PlaceHolder"); if (document.forms[0]) { this.DomElement.parentNode.removeChild(this.DomElement); document.forms[0].insertBefore(this.DomElement, document.forms[0].firstChild); } else { setTimeout("art_AddtoForm(\"" + this.DomElementId + "\")", 250); } zTop++; this.DomElement.style.zIndex = zTop; if (window.ComponentArt_Atlas) { ComponentArt.Web.UI.Dialog.initializeBase(this, [this.element]); this.beginUpdate = function() { this._updating = true; }; this.endUpdate = function() { this._updating = false; this.Render(); }; this.get_isUpdating = function() { return this._updating; }; this.getDescriptor = function() { return _zF0(this.constructor); }; } else { this.beginUpdate = function() { this._updating = true; }; this.endUpdate = function() { this._updating = false; this.Render(); }; this.get_isUpdating = function() { return this._updating; }; } this.ClientControlId = this.Id = id; } ComponentArt_Dialog.prototype.Dispose = function() { for (i = 0; i < Dialogs.length; i++) { if (this.Id == Dialogs[i]) { Dialogs.splice(i, 1); break; } } if (window.ComponentArt_Atlas) { this.element.control = null; } ComponentArt_Dispose(this); var _11 = document.getElementById(this.Id + "_HeaderSpan"); var _12 = document.getElementById(this.Id + "_InnerSpan"); var _13 = document.getElementById(this.Id + "_FooterSpan"); var div = document.getElementById(this.Id); _zF3(div); _zF3(_11); _zF3(_12); _zF3(_13); if (art_oldResize) { window.onresize = art_oldResize; art_oldResize = null; } else { window.onresize = null; } if (document.getElementById(this.Id + "_ModalMask")) { _zF3(document.getElementById(this.Id + "_ModalMask")); } if (document.getElementById(this.Id + "_ModalTable")) { _zF3(document.getElementById(this.Id + "_ModalTable")); } if (document.getElementById(this.Id + "_OverlayIFrame")) { _zF3(document.getElementById(this.Id + "_OverlayIFrame")); } if (document.getElementById(this.Id + "_IFrame")) { _zF3(document.getElementById(this.Id + "_IFrame")); } }; ComponentArt_Dialog.prototype.Initialize = function() { _z132(this); var _15 = function(e) { arguments.callee.Dialog.getMouseXY(e); }; _15.Dialog = this; this.DomElement.onmousemove = _15; var _15 = function(e) { arguments.callee.Dialog.HandleMouseDown(e); }; _15.Dialog = this; this.DomElement.onmousedown = _15; var _15 = function(e) { arguments.callee.Dialog.HandleMouseOut(e); }; _15.Dialog = this; this.DomElement.onmouseout = _15; var _15 = function(e) { arguments.callee.Dialog.HandleMouseUp(e); }; _15.Dialog = this; this.DomElement.onmouseup = _15; this.Render(); }; ComponentArt_Dialog.prototype.PublicProperties = [["Enabled", Boolean], ["IsShowing", Boolean, 1], ["Modal", Boolean], ["ModalMaskImage", String], ["ResizeArea", Boolean], ["FocusOnClick", Boolean, 1], ["Id", String, 1], ["Alignment", String], ["MinimumHeight", Number], ["MinimumWidth", Number], ["Height", String], ["Width", String], ["OffsetX", Number], ["OffsetY", Number], ["X", Number], ["Y", Number], ["Content", String], ["ContentUrl", String], ["PreloadContentUrl", Boolean], ["Title", String], ["Icon", String], ["Value", String], ["Result", Object], ["CloseTransition", Number], ["ShowTransition", Number], ["AlignmentElement", String], ["AnimationType", String], ["AnimationPath", String], ["AnimationDirectionElement", String], ["AnimationDuration", Number], ["TransitionDuration", Number], ["AnimationSlide", Number], ["ClientTemplates", Array], ["ClientEvents", Array], ["AllowDrag", Boolean], ["AllowResize", Boolean], ["RenderOverWindowedObjects", Boolean], ["HeaderClientTemplateId", String], ["ContentClientTemplateId", String], ["FooterClientTemplateId", String], ["ModalMaskCssClass", String], ["ModalScrollbarOffset", Number], ["HeaderCssClass", String], ["FooterCssClass", String], ["ContentCssClass", String], ["IFrameCssClass", String], ["OutlineCssClass", String], ["CssClass", String]]; window.ComponentArt.Web.UI.Dialog = window.ComponentArt_Dialog; ComponentArt_Dialog.prototype.PublicMethods = [["Dispose"], ["StartDrag"], ["Focus"], ["Show"], ["Close"]]; ComponentArt_Dialog.prototype.PublicEvents = [["OnShow"], ["OnClose"], ["OnFocus"], ["OnDrag"], ["OnDrop"]]; _zEF(ComponentArt_Dialog, "this"); window.ComponentArt.Web.UI.Dialog = window.ComponentArt_Dialog; if (window.ComponentArt_Atlas) { ComponentArt.Web.UI.Dialog.registerClass("ComponentArt.Web.UI.Dialog", Sys.UI.Control); if (Sys.TypeDescriptor) { Sys.TypeDescriptor.addType("componentArtWebUI", "dialog", ComponentArt.Web.UI.Dialog); } } ComponentArt_Dialog.prototype.GetProperty = function(_1a) { return this[_1a]; }; ComponentArt_Dialog.prototype.SetProperty = function(_1b, _1c) { this[_1b] = _1c; }; ComponentArt_Dialog.prototype.Focus = function() { if (Dialogs.length > 1) { var i = 0; for (j = 0; j < Dialogs.length; j++) { if (eval(Dialogs[j] + ".Modal") && eval(Dialogs[j] + ".IsShowing")) { i++; } if (i > 1) { return; } } zTop++; this.DomElement.style.zIndex = zTop; } var _1e = this.get_events().getHandler("onFocus"); if (_1e) { _1e(this, Sys.EventArgs.Empty); } }; ComponentArt_Dialog.prototype.Show = function(_1f, _20, _21, x, y) { if (!this.IsShowing) { if (this.ContentUrl && document.getElementById(this.Id + "_IFrame") && !this.PreloadContentUrl && document.getElementById(this.Id + "_IFrame").src != ComponentArt_ConvertUrl(null, this.ContentUrl, this.ApplicationPath)) { document.getElementById(this.Id + "_IFrame").src = ComponentArt_ConvertUrl(null, this.ContentUrl, this.ApplicationPath); } if (this.AnimationType == "Live" && cart_browser_ie) { this.DomElement.style.zoom = "1%"; } this.Result = null; if (_1f) { this.Content = _1f; } if (_20) { this.Title = _20; } if (_21) { this.Icon = _21; } if (x) { this.X = x; } if (y) { this.Y = y; } if (this.Modal) { art_ShowModal(this.Id, this.ModalMaskCssClass); } this.DomElement.style.visibility = "visible"; this.Render(); if (Dialogs.length > 1) { for (i = 0; i < Dialogs.length; i++) { var _24 = document.getElementById(Dialogs[i]); var _25 = document.getElementById(this.Id); if (Math.abs(parseInt(_24.style.top) - parseInt(_25.style.top)) < 10 && Math.abs(parseInt(_24.style.left) - parseInt(_25.style.left)) < 10 && Dialogs[i] != this.Id && _24.style.visibility == "visible") { this.set_offsetX(this.OffsetX + 15); this.set_offsetY(this.OffsetY + 15); } } } var _26 = false; if (this.AnimationType != "None") { this.ShowAnimate(0, document.getElementById(this.AnimationDirectionElement), this.DomElement); _26 = true; } if ((this.ShowTransition > 0) && cart_browser_transitions) { this.DomElement.style.visibility = "hidden"; var _27 = this.DomElement; _27.filters.clear(); _27.runtimeStyle.filter = null; var _28 = ComponentArt_EffectiveTransitionString(this.ShowTransition - 0); _27.ExpandTransitionFilterIndex = _27.filters.length; _27.ExpandTransitionFilterDefined = true; _27.runtimeStyle.filter = _27.currentStyle.filter + " " + _28; _27.filters[_27.ExpandTransitionFilterIndex].apply(); _27.style.visibility = "visible"; _27.filters[_27.ExpandTransitionFilterIndex].play(this.TransitionDuration / 1000); } this.Focus(); if (!_26) { this.IsShowing = true; var _29 = this.get_events().getHandler("onShow"); if (_29) { _29(this, Sys.EventArgs.Empty); } } } }; ComponentArt_Dialog.prototype.Close = function(_2a) { if (this.IsShowing) { if (!(_2a === void 0)) { this.SetProperty("Result", _2a); } if (this.AnimationType != "None") { this.CloseAnimate(); var _2b = true; } if ((this.CloseTransition > 0) && cart_browser_transitions) { var _2c = this.DomElement; _2c.filters.clear(); _2c.runtimeStyle.filter = null; var _2d = ComponentArt_EffectiveTransitionString(this.CloseTransition - 0); _2c.CollapseTransitionFilterIndex = _2c.filters.length; _2c.CollapseTransitionFilterDefined = true; _2c.runtimeStyle.filter = _2c.currentStyle.filter + " " + _2d; _2c.filters[_2c.CollapseTransitionFilterIndex].apply(); this.DomElement.style.visibility = "hidden"; _2c.filters[_2c.CollapseTransitionFilterIndex].play(this.TransitionDuration / 1000); } else { if (!_2b) { this.DomElement.style.visibility = "hidden"; } } if (!_2b) { if (this.Modal) { art_CloseModal(this.Id); } this.IsShowing = false; var _2e = this.get_events().getHandler("onClose"); if (_2e) { _2e(this, Sys.EventArgs.Empty); } } } }; ComponentArt_Dialog.prototype.Render = function() { if (this.AnimationType != "Live") { this.DomElement.style.zoom = "100%"; } if (this.Height) { this.DomElement.style.height = this.Height; } if (this.Width) { this.DomElement.style.width = this.Width; } art_PositionDialog(this.Id, this.Alignment, this.X, this.Y, this.OffsetX, this.OffsetY, this.AlignmentElement); if (this.ContentUrl && document.getElementById(this.Id + "_IFrame") && this.PreloadContentUrl && document.getElementById(this.Id + "_IFrame").src != ComponentArt_ConvertUrl(null, this.ContentUrl, this.ApplicationPath) || this.ContentUrl && document.getElementById(this.Id + "_IFrame") && this.IsShowing && document.getElementById(this.Id + "_IFrame").src != ComponentArt_ConvertUrl(null, this.ContentUrl, this.ApplicationPath)) { document.getElementById(this.Id + "_IFrame").src = ComponentArt_ConvertUrl(null, this.ContentUrl, this.ApplicationPath); } if (this.HeaderClientTemplateId) { var _2f = this.GetClientTemplate(this.HeaderClientTemplateId); document.getElementById(this.Id + "_HeaderSpan").innerHTML = ComponentArt_InstantiateClientTemplate(_2f, this); } if (this.ContentClientTemplateId) { var _2f = this.GetClientTemplate(this.ContentClientTemplateId); document.getElementById(this.Id + "_InnerSpan").innerHTML = ComponentArt_InstantiateClientTemplate(_2f, this); } else { if (this.Content) { document.getElementById(this.Id + "_InnerSpan").innerHTML = this.Content; } } if (this.FooterClientTemplateId) { var _2f = this.GetClientTemplate(this.FooterClientTemplateId); document.getElementById(this.Id + "_FooterSpan").innerHTML = ComponentArt_InstantiateClientTemplate(_2f, this); } if (this.CssClass) { this.DomElement.className = this.CssClass; } if (this.HeaderCssClass) { document.getElementById(this.Id + "_HeaderSpan").className = this.HeaderCssClass; } if (this.ContentCssClass) { document.getElementById(this.Id + "_InnerSpan").className = this.ContentCssClass; } if (this.FooterCssClass) { document.getElementById(this.Id + "_FooterSpan").className = this.FooterCssClass; } if (this.RenderOverWindowedObjects && cart_browser_ie) { var _30 = document.getElementById(this.Id + "_OverlayIFrame"); _30.style.width = this.DomElement.offsetWidth + "px"; _30.style.height = this.DomElement.offsetHeight + "px"; } }; var _z2F; var _z31; var art_oldResize; var art_dialogDragging; var art_dialogResizing; var art_mouseX; var art_mouseY; var art_offsetX; var art_offsetY; art_returnFalse = function(e) { return false; }; art_returnTrue = function(e) { return true; }; art_resizeUpdate = function() { var _33 = document.getElementById(art_dialogResizing.Id + "_InnerSpan"); var _34 = document.getElementById(art_dialogResizing.Id + "_HeaderSpan"); var _35 = document.getElementById(art_dialogResizing.Id + "_FooterSpan"); var _36 = 0; if (_34) { _36 = _34.offsetHeight; } if (_35) { _36 += _35.offsetHeight; } var x = _z86(art_dialogResizing.DomElement); var y = _z87(art_dialogResizing.DomElement); if (art_mouseX - x > 0) { _33.style.width = ((art_mouseX - x) + 1) + "px"; art_dialogResizing.DomElement.style.width = ((art_mouseX - x) + 1) + "px"; art_dialogResizing.SetProperty("Width", art_mouseX - x + 1); if (art_mouseX - x < art_dialogResizing.MinimumWidth) { _33.style.width = (art_dialogResizing.MinimumWidth) + "px"; art_dialogResizing.SetProperty("Width", art_dialogResizing.MinimumWidth); art_dialogResizing.DomElement.style.width = (art_dialogResizing.MinimumWidth) + "px"; } } if (art_mouseY - y - _36 > 0) { _33.style.height = ((art_mouseY - y) - _36 + 1) + "px"; art_dialogResizing.DomElement.style.height = (art_mouseY - y + 1) + "px"; art_dialogResizing.SetProperty("Height", art_mouseY - y + 1); if (art_mouseY - y < art_dialogResizing.MinimumHeight) { _33.style.height = (art_dialogResizing.MinimumHeight - _36) + "px"; art_dialogResizing.DomElement.style.height = (art_dialogResizing.MinimumHeight) + "px"; art_dialogResizing.SetProperty("Height", art_dialogResizing.MinimumHeight); } } }; art_GetMouseXY = function(e) { if (!e) { e = window.event; } art_mouseX = cart_browser_ie ? e.clientX + (document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) : e.pageX; art_mouseY = cart_browser_ie ? e.clientY + (document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) : e.pageY; if (art_dialogResizing) { art_resizeUpdate(); ComponentArt_CancelEvent(e); } }; ComponentArt_Dialog.prototype.HandleMouseUp = function(e) { art_dialogDragging = false; art_dialogResizing = null; _zF3(document.getElementById(this.Id + "_DragTable")); if (_z31) { document.onmouseup = _z31; } document.onmousemove = null; document.onselectstart = null; if (!this.ResizeArea && this.DomElement && this.DomElement.style) { this.DomElement.style.cursor = ""; } }; ComponentArt_Dialog.prototype.HandleMouseDown = function(e) { if (this.ResizeArea && this.AllowResize) { art_GetMouseXY(e); art_dialogResizing = this; document.onmousemove = art_GetMouseXY; } return true; }; ComponentArt_Dialog.prototype.getMouseXY = function(e) { if (!e) { e = window.event; } art_mouseX = cart_browser_ie ? e.clientX + (document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) : e.pageX; art_mouseY = cart_browser_ie ? e.clientY + (document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) : e.pageY; if (this.AllowResize) { if (art_dialogResizing) { art_resizeUpdate(); } if (Math.abs(art_mouseX - (parseInt(this.DomElement.style.left) + this.DomElement.offsetWidth)) < 10 && Math.abs(art_mouseY - (parseInt(this.DomElement.style.top) + this.DomElement.offsetHeight)) < 10) { this.ResizeArea = true; this.DomElement.style.cursor = "se-resize"; } else { this.ResizeArea = false; this.DomElement.style.cursor = ""; } } }; ComponentArt_Dialog.prototype.HandleMouseOut = function(e) { if (!art_dialogResizing) { this.ResizeArea = false; if (this.DomElement && this.DomElement.style) { this.DomElement.style.cursor = ""; } } }; ComponentArt_Dialog.prototype.StartDrag = function(e) { this.Focus(); if (this.AllowDrag) { var _3f = document.createElement("TABLE"); _3f.setAttribute("id", this.Id + "_DragTable"); _3f.onmousemove = art_GetMouseXY; _3f.onmouseup = this.HandleMouseUp; _3f.style.position = "absolute"; _3f.style.top = (parseInt(this.DomElement.style.top) - 100) + "px"; _3f.style.left = (parseInt(this.DomElement.style.left) - 100) + "px"; _3f.style.height = this.DomElement.offsetHeight + 200; _3f.style.width = this.DomElement.offsetWidth + 200; _3f.style.zIndex = this.DomElement.style.zIndex - 1; var _40 = document.createElement("TBODY"); var tr = document.createElement("TR"); var td = document.createElement("TD"); td.style.paddingLeft = (this.DomElement.offsetWidth + 200) + "px"; td.style.paddingBottom = (this.DomElement.offsetHeight + 200) + "px"; tr.appendChild(td); _40.appendChild(tr); _3f.appendChild(_40); document.body.insertBefore(_3f, document.body.firstChild); art_GetMouseXY(e); art_dialogDragging = true; document.onselectstart = art_returnFalse; _z2F = document.onmousemove; _z31 = document.onmouseup; if (this.Modal) { maskTable = document.getElementById(this.Id + "_ModalTable"); maskTable.onmousemove = art_GetMouseXY; this.DomElement.onmousemove = art_GetMouseXY; } else { document.onmousemove = art_GetMouseXY; } art_offsetX = art_mouseX - _z86(this.DomElement); art_offsetY = art_mouseY - _z87(this.DomElement); art_DialogDragStep(this.Id); var _43 = this.get_events().getHandler("onDrag"); if (_43) { _43(this, Sys.EventArgs.Empty); } ComponentArt_CancelEvent(e); } }; art_DialogDragStep = function(id) { if (art_dialogDragging) { document.getElementById(id).style.left = (art_mouseX - art_offsetX) + "px"; document.getElementById(id).style.top = (art_mouseY - art_offsetY) + "px"; var _45 = document.getElementById(id + "_DragTable"); var top = (parseInt(document.getElementById(id).style.top) - 100); var _47 = (parseInt(document.getElementById(id).style.left) - 100); if (top + _45.offsetHeight > art_clientheight()) { top = art_clientheight() - _45.offsetHeight; } else { if (top < 0) { top = 0; } } if (_47 + _45.offsetWidth > art_clientwidth()) { _47 = art_clientwidth() - _45.offsetWidth; } else { if (_47 < 0) { _47 = 0; } } _45.style.top = top + "px"; _45.style.left = _47 + "px"; setTimeout("art_DialogDragStep(\"" + id + "\")", 50); } else { eval(id).SetProperty("X", _z86(document.getElementById(id))); eval(id).SetProperty("Y", _z87(document.getElementById(id))); var _48 = eval(id).get_events().getHandler("onDrop"); if (_48) { _48(eval(id), Sys.EventArgs.Empty); } } }; ComponentArt_Dialog.prototype.GetClientTemplate = function(sID) { if (this.ClientTemplates) { for (var i = 0; i < this.ClientTemplates.length; i++) { if (this.ClientTemplates[i][0] == sID) { return this.ClientTemplates[i][1]; } } } return null; }; var ComponentArt_DialogToMinimize = null; var ComponentArt_AnimationType = null; var ComponentArt_AnimationPath = null; ComponentArt_Dialog.prototype.ShowAnimate = function(_4b, _4c, _4d) { var _4e = _z86(_4c); var _4f = _z87(_4c); var _50 = _4c.offsetWidth; var _51 = _4c.offsetHeight; var _52 = _z86(_4d); var _53 = _z87(_4d); var _54 = _4d.offsetWidth; var _55 = _4d.offsetHeight; if (!_4b) { _4d.style.visibility = "hidden"; } dialog_speed_x = 0; dialog_speed_y = 0; ComponentArt_DialogToMinimize = this; ComponentArt_AnimationPath = this.AnimationPath; if (this.AnimationType == "Live" && cart_browser_ie) { ComponentArt_DialogMinimizeObject = this.DomElement; var _56 = 0; if (!_4b) { _56 = this.AnimationDuration - this.TransitionDuration; } ComponentArt_DialogMinimizeObject.MinimizeStartTime = (new Date()).getTime() - _56; ComponentArt_DialogMinimizeObject.style.top = _4f + "px"; ComponentArt_DialogMinimizeObject.style.left = _4e + "px"; ComponentArt_AnimationType = "Live"; } else { ComponentArt_AnimationType = "Outline"; } art_MinimizeAnimate(_4b, this.OutlineCssClass, this.AnimationSlide, this.AnimationDuration, _4e, _4f, _50, _51, _52, _53, _54, _55, this.TransitionDuration); }; ComponentArt_Dialog.prototype.CloseAnimate = function() { if (this.AnimationDirectionElement) { var _57 = document.getElementById(this.AnimationDirectionElement); if (_57) { this.ShowAnimate(1, this.DomElement, _57); } } else { this.DomElement.style.visibility = "hidden"; } }; if (!Dialogs) { var Dialogs = new Array(); } var TabElements = new Array(); var TabableElements = new Array("A", "BUTTON", "TEXTAREA", "INPUT", "IFRAME", "SELECT"); var ComponentArt_Dialog_Kernel_Loaded = true;


//确认CArt的Dialog
function DialogSure(sender, btn, txt) {
    var option = sender['option'];
    var execFun = option['onOK'];
    var value = null;
    if (option['PromptMode'] == true) {
        if (!txt) txt = $E(btn.parentNode).getPrev().getFirstChild();
        value = txt.value;
    }
    if (typeof (execFun) == 'function') execFun(value);
    else if (option['caller']) {
        $E(option['caller']).click();
    }
    sender.Close();
    //elem.Dispose();
}

function DialogCancel(elem) {
    if (elem['caller']) delete elem['caller'];
    elem.Close();
}

function Dialog_KeyPress(dialog, txtbox, event) {
    var iekey = event.keyCode;
    var realkey = String.fromCharCode(event.keyCode);

    if (event.keyCode != 13) { return; }

    DialogSure(dialog, null, txtbox);
    return false;
}

/*显示一个Dialog
/ 参数：title（标题）, content（内容）, icon（图标）, cancelButton（取消按钮）, promptMode（返回一个值）,modalMode（模态对话框）
/       elem（type:HtmlElement  若指定该参数，点击确定时将click该elem，若此对话框是该elem触发的，将return true）
/       onOK（type:function     若正确指定该参数，点击确定时将执行该function，不会点击elem）
/       promptMode（type:bool   若参数为true，将显示一个文本框。并在执行onOK时带上文本框的值
/       modalMode（是否为模态）
*/
function ShowDialog(args) {
    InitDialog(args.sort); //args.sort表示是不是健康档案那儿的弹出面板，如果是args.sort="archive"
    if (window['Dialog'] == null) return alert("没有找到Dialog");

    var newDialog = Dialog;
    newDialog.Close();
    var option = {
        modalMode: true
    };

    if (args.elem) {
        if (newDialog['option']['caller'] == args.elem) {
            return true;
        }
        else {
            option['caller'] = args.elem;
        }
    } //不重复触发

    if (args.poselem) {
        //位置依赖
        var posdir = 1; //0↑1→2↓3←
        if (args.posdir) posdir = args.posdir;
        var pos = $getLocation($E(args.poselem));
        newDialog.set_x(pos.x);
        newDialog.set_y(pos.y);
    }

    option['DialogType'] = args.cancelButton == true ? 'OkCancel' : args.noButton == true ? 'None' : 'OkOnly'; //设置类别
    option['PromptMode'] = args.promptMode == true ? true : false; //设置输入模式
    option['FrameMode'] = args.frameMode == true ? true : false; //设置是否为iframe

    $get("Dialog_InnerSpan").style.padding = args.frameMode == true ? "0px" : "0px 10px"; //修正padding值
    $get("Dialog_InnerSpan").style.height = "120px"; //修正高度
        $get("Dialog_HeaderSpan").style.padding = args.frameMode == true ? "5px" : "0px 10px";
    $get("Dialog_CloseBtn").style.top = args.frameMode == true ? "4px" : "4px";

    if (args.onOK && typeof (args.onOK) == 'function') option['onOK'] = args.onOK;

    //css
    var dialogElem = $get("Dialog");
    dialogElem.className = args.noborder == false ? "" : "noborder";
    if (args.noborder != false) {
        dialogElem.style.border = "solid 1px #CCC";
    }
    else {
        dialogElem.style.borderWidth = "0px";
    }

    var title = args.title ? args.title : "untitled";
    var content = args.content ? args.content : "nothing";
    var icon = args.icon ? args.icon : "Pencil";
    var modal = args.modalMode ? args.modalMode == true : false;
    newDialog['option'] = option;
    //newDialog.set_modal(modal);
    dialogElem.style.display = "block";
    newDialog.Show(content, title, icon);
    if (args.promptMode == true) $get("Dialog_TextBox").focus();

    if (modal) ShowModal(true);

    if (args.frameMode == true) { }
    else {
        dialogElem.style.width = "auto";
        dialogElem.style.height = "auto";
    }
    return false; //使submit不继续
}
function InitDialog(sort) {
    var elem = $get("Dialog");
    if (elem) return;
    var placeholder = document.createElement("div");

    elem = document.createElement("div");
    elem.id = "Dialog";
    //elem.style.padding = "10px";
    elem.style.position = "absolute";
    elem.style.visibility = "hidden";
    TopLayer.get_layer().appendChild(elem);
    if (sort == "archive") {
        elem.innerHTML = "<table cellpadding=\"0\" cellspacing=\"0\">" +
"<tr class=\"dh\"><td class=\"tl\"><\/td><td class=\"top_b\"><\/td><td class=\"tr\"><\/td><\/tr>" +
"<tr><td class=\"left_b\"><\/td><td style='position:relative;'>" +
"<div id=\"Dialog_HeaderSpan\" onmousedown=\"Dialog.StartDrag(event)\" style=\"background:url(/css/themes/default/images/dialogHeader.png) repeat-x 0px 2px; padding:3px 5px; font-family: 宋体; font-size: 14px;font-weight: bold; color: #000; cursor: pointer;height:20px;line-height:20px;\">" +
"<\/div><a id=\"Dialog_CloseBtn\" style=\"position:absolute;display:block;right:12px;top:-1px;cursor:pointer;width:21px;height:22px;opacity:0.7;background:url(/css/themes/default/images/closeBtn." +
((Sys.Browser.agent != Sys.Browser.InternetExplorer || Sys.Browser.version > 7) ? "png" : "gif") +
");filter:alpha(opacity=70);\" onmouseover=\"SetOpacity(this,1);\" onmouseout=\"SetOpacity(this,0.7);\" title=\"关闭\" onclick=\"CloseFrameDialog()\"></a>" +
"<div id=\"Dialog_InnerSpan\" style=\"font-family: verdana; font-size: 12px;" +
" color: black; background-color: #FFFFFF;\">" +
"<\/div>" +
"<div id=\"Dialog_FooterSpan\" style=\"font-family: verdana; font-size: 12px;" +
" color: black; background-color: #EEEEEE;display:none;\">" +
"<\/div>" +
"<\/td>" +
"<td class=\"right_b\">" +
"<\/td>" +
" <\/tr>" +
"<tr class=\"dh\"><td class=\"bl\"><\/td><td class=\"bottom_b\" ><\/td><td class=\"br\" ><\/td><\/tr><\/table>";
    }
    else {
        elem.innerHTML = "<table cellpadding=\"0\" cellspacing=\"0\">" +
"<tr class=\"dh\"><td class=\"tl\"><\/td><td class=\"b\"><\/td><td class=\"tr\"><\/td><\/tr>" +
"<tr><td class=\"b\"><\/td><td style='position:relative;'>" +
"<div id=\"Dialog_HeaderSpan\" onmousedown=\"Dialog.StartDrag(event)\" style=\"background-color: #FFF;border-bottom:solid 1px #ddd; padding:5px 5px; font-family: 宋体; font-size: 14px;font-weight: bold; color: #$444; cursor: pointer;height:25px;line-height:25px;" +
" cursor: hand;\">" +
"<\/div><a id=\"Dialog_CloseBtn\" style=\"position:absolute;display:block;right:12px;top:0px;cursor:pointer;width:13px;height:13px;opacity:0.7;background:url(/css/closeBtn." +
((Sys.Browser.agent != Sys.Browser.InternetExplorer || Sys.Browser.version > 7) ? "png" : "gif") +
");filter:alpha(opacity=70);\" onmouseover=\"SetOpacity(this,1);\" onmouseout=\"SetOpacity(this,0.7);\" title=\"关闭\" onclick=\"CloseFrameDialog()\"></a>" +
"<div id=\"Dialog_InnerSpan\" style=\"font-family: verdana; font-size: 12px;" +
" color: black; background-color: #FFFFFF;\">" +
"<\/div>" +
"<div id=\"Dialog_FooterSpan\" style=\"font-family: verdana; font-size: 12px;" +
" color: black; background-color: #EEEEEE;display:none;\">" +
"<\/div>" +
"<\/td>" +
"<td class=\"b\">" +
"<\/td>" +
" <\/tr>" +
"<tr class=\"dh\"><td class=\"bl\"><\/td><td class=\"b\" ><\/td><td class=\"br\" ><\/td><\/tr><\/table>";
    }
    ComponentArt_Init_Dialog();
    window.Dialog.closeit = window.Dialog.Close;
    window.Dialog.Close = function() {
        elem.style.display = "none";
        ShowModal(false);
        this.closeit();
    }
}


/* CArt_Dialog */
function ComponentArt_Init_Dialog() {
    if (!window.ComponentArt_Dialog_Kernel_Loaded)
    { setTimeout('ComponentArt_Init_Dialog()', 100); return; }

    window.Dialog = new ComponentArt_Dialog('Dialog');
    if (!window['Dialog']) { window['Dialog'] = window.Dialog; Dialog.GlobalAlias = 'Dialog'; }
    Dialog.ControlId = 'ctl00$Dialog';
    var properties = [
['ApplicationPath', '/'], ['Alignment', 'MiddleCentre'], ['OffsetX', 0], ['OffsetY', 0], ['MinimumHeight', 100], ['MinimumWidth', 100], ['Height', ''], ['Width', ''], ['X', 0], ['Y', 0], ['Modal', false], ['FocusOnClick', 'false'], ['ModalMaskImage', ''], ['PreloadContentUrl', true], ['AllowDrag', true], ['AllowResize', false], ['RenderOverWindowedObjects', false], ['HeaderClientTemplateId', 'HeaderClientTemplate'], ['ContentClientTemplateId', 'ContentClientTemplate'], ['FooterClientTemplateId', 'FooterClientTemplate'], ['Content', null], ['ShowTransition', 0], ['CloseTransition', 0], ['AlignmentElement', ''], ['AnimationDirectionElement', 'Dialog'], ['AnimationSlide', 3], ['TransitionDuration', 500], ['AnimationDuration', 0], ['AnimationType', 'None'], ['AnimationPath', 'Direct'], ['Title', ''], ['Icon', ''], ['Value', ''], ['ClientTemplates', [['HeaderClientTemplate', '                ## if (!Parent[\'option\']) Parent[\'option\']=[] ## ## Parent.Title ##            '], ['ContentClientTemplate', '<div style=\'margin:## Parent[\'option\'][\'FrameMode\']==true?\'0\':\'0\' ##px 0;color:#616161;font-size:10pt;\'>## Parent.Content ##</div> <div style=\'text-align:left;margin:10px 0; display: ## Parent[\'option\'][\'PromptMode\']==true?\'\':\'none\' ##;\'> <input type="text" id="Dialog_TextBox" onkeypress="return Dialog_KeyPress(## Parent.Id ##,this,event)" /></div>                <center style=\'padding-bottom:## Parent[\'option\'][\'FrameMode\']==true?\'10\':\'10\' ##px;display: ## Parent[\'option\'][\'DialogType\']!=\'None\'?\'\':\'none\' ##;\'> <a onclick=\'DialogSure(## Parent.Id ##,this);\' style="background:url(/css/images/btn_gray.gif);font-weight:bold;color:#616161;line-height:24px;font-size:10pt;width:64px;height:22px;display: ## Parent[\'option\'][\'DialogType\']!=\'None\'?\'inline-block\':\'none\' ##" >确定</a>                    <a onclick=\'DialogCancel(## Parent.Id ##,this);\' style="background:url(/css/images/btn_gray.gif);color:#616161;line-height:24px;font-size:10pt;width:64px;height:22px;display: ## Parent[\'option\'][\'DialogType\']==\'OkCancel\'?\'inline-block\':\'none\' ##" >取消</a>                </center>            '], ['FooterClientTemplate', '            ']]], ['ModalMaskCssClass', ''], ['ModalScrollbarOffset', 0], ['FooterCssClass', ''], ['HeaderCssClass', ''], ['ContentCssClass', ''], ['IFrameCssClass', ''], ['OutlineCssClass', ''], ['ContentUrl', ''], ['ClientEvents', null]];
    ComponentArt_SetProperties(Dialog, properties);
    Dialog.Initialize();
}
if (!zTop || zTop > 70000) var zTop = 70000;

/// <reference name="MicrosoftAjax.js"/>


Type.registerNamespace("Doo");

Doo.ClientDataSource = function(element) {
    Doo.ClientDataSource.initializeBase(this, [element]);
}

Doo.Parameter = function() {
    Doo.Parameter.initializeBase(this);
}
Doo.Parameter.prototype =
{
    name: '',
    defaultValue: '',
    get_value: function() { return this.defaultValue; }
}

Doo.Parameter.registerClass('Doo.Parameter', Sys.Component);

Doo.ParameterQueryString = function() { }
Doo.ParameterQueryString.prototype =
{
    queryName: '',
    get_value: function() {
        return window.location.search;
    }
}
Doo.ParameterQueryString.registerClass('Doo.ParameterQueryString', Doo.Parameter);

Doo.ParameterCookie = function() { }
Doo.ParameterCookie.prototype =
{
    cookieName: '',
    get_value: function() { }
}
Doo.ParameterCookie.registerClass('Doo.ParameterCookie', Doo.Parameter);

Doo.ParameterControl = function() { }
Doo.ParameterControl.prototype =
{
    controlid: '',
    propname: 'value',
    get_value: function() {
        var elem = $get(this.controlid);
        if (elem.control) {
            //寻找属性
            var getmethod = 'get_' + this.propname;
            if (typeof (elem.control[getmethod]) == 'function') {
                return elem.control[getmethod]();
            }
            if (this.propname in elem.control) {
                return elem.control[this.propname];
            }
        };
        if (this.propname in elem) return elem[this.propname];
        throw new "不存在的属性或字段";
    }
}
Doo.ParameterControl.registerClass('Doo.ParameterControl', Doo.Parameter);

Doo.ClientDataSource.prototype = {
    initialize: function () {
        Doo.ClientDataSource.callBaseMethod(this, 'initialize');
        // Add custom initialization here
    },
    dispose: function () {
        //Add custom dispose actions here
        Doo.ClientDataSource.callBaseMethod(this, 'dispose');
    },
    alias: false,
    set_alias: function (value) { this.alias = value; window[this.alias] = this; },
    get_alias: function () { return this.alias; },
    webservice: false,
    set_webservice: function (value) { this.webservice = value; },
    get_webservice: function () { return this.webservice; },
    selectmethod: false, //获取数据的方法
    set_selectmethod: function (value) { this.selectmethod = value; },
    get_selectmethod: function () { return this.selectmethod; },
    selectargs: new Array(),
    set_selectargs: function (value) { this.selectargs = value; },
    get_selectargs: function () { return this.selectargs; },
    versionmethod: false, //检查版本的方法，该方法返回一个参数用于附加在selectmethod的参数上。
    set_versionmethod: function (value) { this.versionmethod = value; },
    get_versionmethod: function () { return this.versionmethod; },
    currentversion: null, //当前版本
    lastcheckversiontime: null, //上次检查版本时间

    /* 参数初始化 */
    set_initselectargs: function (args) {
        //传入数组
        this.selectargs = new Array();
        for (var i = 0; i < args.length; i++) {
            var arg = args[i];
            var item = null;
            switch (arg.type) {
                case "c": //cookie
                    item = new Doo.ParameterCookie();
                    item.cookieName = arg.cookieName;
                    break;
                case "q": //query
                    item = new Doo.ParameterQueryString();
                    item.queryName = arg.queryName;
                    break;
                case "e": //element
                    item = new Doo.ParameterControl();
                    item.controlid = arg.controlid;
                    item.propname = arg.propertyName;
                case "p": //parameter
                default:
                    item = new Doo.Parameter();
                    break;
            }
            item.name = arg.name;
            item.defaultValue = arg.defaultValue;
            this.selectargs.push(item);
        }
    },
    get_initselectargs: function () { return null; }, //永远返回null

    /* 中途修改参数 */
    set_selectarg: function (name, value) {
        var args = this.get_selectargs();
        for (var i = 0; i < args.length; i++) {
            if (args[i].name == name) {
                args[i].defaultValue = value;
                return;
            }
        };
        throw new "不存在的参数";
    },

    /* 缓存相关 */
    enablecache: false,
    cachemanagerid: '',
    get_cachemanager: function () {
        return $get(this.cachemanagerid).control;
    },
    cachekey: '',
    get_cacheversion: function () {
        return this.get_cachemanager().get_cacheversion(this.cachekey);
    },

    /* select方法 */
    select: function (args, option) {
        ///<summary>从web服务读取</summary>
        if (args == null) args = {};
        for (var i = 0; i < this.selectargs.length; i++) {
            var arg = this.selectargs[i];
            if (arg.name in args) continue;
            args[arg.name] = arg.get_value();
        }
        if (option == null) option = null;
        //if (!this.CheckVersion(args, option)) return; //检查版本中...

        var selectmethod = eval(this.webservice + "." + this.selectmethod);
        if (!args) args = {};
        if (this.enablecache) { args.cacheversion = this.get_cacheversion(); };
        selectmethod(args, this.selectsucc, null, { option: option, cds: this });
    },
    selectsucc: function (result, cc) {
        var option = cc.option;
        if (!option) return; //读取了也没用...
        if (option.onsucc) option.onsucc(result, option);
    },

    /* insert,update */
    insertmethod: '',

    insert: function (obj, option) {
        //插入

    },

    updatemethod: '',
    update: function (obj, option) {

    },

    empty: null

}
Doo.ClientDataSource.registerClass('Doo.ClientDataSource', Sys.UI.Control);

Doo.ClientDataSource.prototype.Select = Doo.ClientDataSource.prototype.select;
/*
Doo.ClientDataSource.prototype.CheckVersion = function(args, option) {
    ///<summary>检查版本</summary>
    if (this.versionmethod && !this.lastcheckversiontime) {
        var versionmethod = eval(this.webservice + "." + this.versionmethod);
        if (!args) versionmethod(this.onsucc, this.onfail, { args: args, option: option, cds: this });
        else versionmethod(args, this.onsucc, this.onfail, { args: args, option: option, cds: this });
        return false;
    }
    return true;
}

Doo.ClientDataSource.prototype.onsucc = function(result, ac) {
    var cds = ac.cds;
    cds.currentversion = result;
    cds.lastcheckversiontime = new Date();
    cds.Select(ac.args, ac.option);
}
Doo.ClientDataSource.prototype.onfail = function(result, ac) {
    alert("哦豁，失败了的嘛");
}
*/
Type.registerNamespace('Doo');Doo.Resource={};
/// <reference name="MicrosoftAjax.js"/>

Type.registerNamespace("Doo");

Doo.Pager = function (element) {
    Doo.Pager.initializeBase(this, [element]);
}

Doo.Pager.Items = new Array();

Doo.Pager.prototype = {
    initialize: function () {
        Doo.Pager.callBaseMethod(this, 'initialize');
        this._itemindex = Doo.Pager.Items.length;
        Doo.Pager.Items.push(this);
        // Add custom initialization here

        var pager = this;
        if (this.triggerchangeoninit) {
            Sys.Application.add_load(function () {
                pager.set_pageindex(pager.pageindex);
            });
        }
        this.render();
    },
    dispose: function () {
        //Add custom dispose actions here
        Doo.Pager.callBaseMethod(this, 'dispose');
    },

    _itemindex: 0,

    pageindex: 0,
    set_pageindex: function (value) {
        ///<param name="value" description="0 base" />
        this.pageindex = value;
        var phandler = this.get_events().getHandler("pageindexchange");
        if (phandler != null) {
            phandler(this, Sys.EventArgs.Empty);
        }
    },
    get_pageindex: function () { return this.pageindex; },
    pagesize: 99999,
    set_pagesize: function (value) { this.pagesize = value; },
    get_pagesize: function () { return this.pagesize; },
    style: 0,
    set_style: function (value) { this.style = value; },
    get_style: function () { return this.style; },
    recordcount: 0,
    set_recordcount: function (value) { this.recordcount = value; },
    get_recordcount: function () { return this.recordcount; },

    get_pagecount: function () { return this.recordcount == 0 ? 0 : parseInt((this.recordcount - 1) / this.pagesize) + 1; },

    behavior: 0,
    set_behavior: function (value) { this.behavior = value; },
    get_behavior: function () { return this.behavior; },

    alias: null,
    set_alias: function (value) { this.alias = value; },
    get_alias: function () { return this.alias; },

    get_rowstart: function () { return this.pageindex * this.pagesize; },
    get_rowcount: function () { return this.pagesize; },
    get_events: function () {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    },

    add_pageindexchange: function (handler) { this.get_events().addHandler("pageindexchange", handler); },
    remove_pageindexchange: function (handler) { this.get_events().removeHandler("pageindexchange", handler); },

    triggerchangeoninit: false,
    set_triggerchangeoninit: function (value) { this.triggerchangeoninit = value; },
    get_triggerchangeoninit: function () { return this.triggerchangeoninit; },

    render_item: function (index, current, txt) {
        return String.format("<a href='javascript:void(0)' onclick='Doo.Pager.Items[{0}].set_pageindex({1})' class='{3}'>{2}</a>", this._itemindex, index - 1, txt ? txt : index, index == current ? "current" : "");
    },

    render: function () {
        //Render HTML
        var sb = new Sys.StringBuilder();
        while (this.get_pagecount() > 0) {
            var index = this.pageindex + 1;
            var max = this.get_pagecount();

            //Render Prev
            if (this.style == 2 || this.style == 1) {//PrevNext And Both
                if (index > 1) sb.append(this.render_item(index - 1, index, '上一页'));
            };

            //1.Render 1
            sb.append(this.render_item(1, index));

            //2.Render ...
            if (max < 2) break;
            var st = index - 1;
            var en = index + 1;
            if (en > max - 1) {
                st = max - 3;
                en = max - 1;
            }
            if (st < 2) {
                st = 2;
                en = 4;
            }
            if (en > max) en = max;

            if (st > 2) sb.append("...");

            //3.Render Middle
            for (var i = st; i <= en; i++) {
                sb.append(this.render_item(i, index));
            }

            //4.Render ...
            if (en == max) break;
            if (en < max - 1) sb.append("...");

            //5.Render Last
            sb.append(this.render_item(max, index));

            break;
        };
        //Render Next
        if (this.pageindex < this.get_pagecount()) {
            if (this.style == 2 || this.style == 1) {//PrevNext And Both
                if (index < max) sb.append(this.render_item(index + 1, index, '下一页'));
            };
        }
        
        this._element.innerHTML = sb.toString();
    }
}

Doo.Pager.registerClass('Doo.Pager', Sys.UI.Control);

Type.registerNamespace('Doo');Doo.Resource={};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();