var DNN_COL_DELIMITER=String.fromCharCode(16);var DNN_ROW_DELIMITER=String.fromCharCode(15);var __dnn_m_bPageLoaded=false;window.onload=__dnn_Page_OnLoad;function __dnn_ClientAPIEnabled()
{return typeof(dnn)!='undefined';}
function __dnn_Page_OnLoad()
{if(__dnn_ClientAPIEnabled())
{var sLoadHandlers=dnn.getVar('__dnn_pageload');if(sLoadHandlers!=null)
eval(sLoadHandlers);dnn.dom.attachEvent(window,'onscroll',__dnn_bodyscroll);}
__dnn_m_bPageLoaded=true;}
function __dnn_KeyDown(iKeyCode,sFunc,e)
{if(e==null)
e=window.event;if(e.keyCode==iKeyCode)
{eval(unescape(sFunc));return false;}}
function __dnn_bodyscroll()
{var oF=document.forms[0];if(__dnn_ClientAPIEnabled()&&__dnn_m_bPageLoaded)
oF.ScrollTop.value=document.documentElement.scrollTop?document.documentElement.scrollTop:dnn.dom.getByTagName("body")[0].scrollTop;}
function __dnn_setScrollTop(iTop)
{if(__dnn_ClientAPIEnabled())
{if(iTop==null)
iTop=document.forms[0].ScrollTop.value;var sID=dnn.getVar('ScrollToControl');if(sID!=null&&sID.length>0)
{var oCtl=dnn.dom.getById(sID);if(oCtl!=null)
{iTop=dnn.dom.positioning.elementTop(oCtl);dnn.setVar('ScrollToControl','');}}
window.scrollTo(0,iTop);}}
function __dnn_SetInitialFocus(sID)
{var oCtl=dnn.dom.getById(sID);if(oCtl!=null&&__dnn_CanReceiveFocus(oCtl))
oCtl.focus();}
function __dnn_CanReceiveFocus(e)
{if(e.style.display!='none'&&e.tabIndex>-1&&e.disabled==false&&e.style.visible!='hidden')
{var eParent=e.parentElement;while(eParent!=null&&eParent.tagName!='BODY')
{if(eParent.style.display=='none'||eParent.disabled||eParent.style.visible=='hidden')
return false;eParent=eParent.parentElement;}
return true;}
else
return false;}
function __dnn_ContainerMaxMin_OnClick(oLnk,sContentID)
{var oContent=dnn.dom.getById(sContentID);if(oContent!=null)
{var oBtn=oLnk.childNodes[0];var sContainerID=oLnk.getAttribute('containerid');var sCookieID=oLnk.getAttribute('cookieid');var sCurrentFile=oBtn.src.toLowerCase().substr(oBtn.src.lastIndexOf('/'));var sMaxFile;var sMaxIcon;var sMinIcon;if(dnn.getVar('min_icon_'+sContainerID))
sMinIcon=dnn.getVar('min_icon_'+sContainerID);else
sMinIcon=dnn.getVar('min_icon');if(dnn.getVar('max_icon_'+sContainerID))
sMaxIcon=dnn.getVar('max_icon_'+sContainerID);else
sMaxIcon=dnn.getVar('max_icon');sMaxFile=sMaxIcon.toLowerCase().substr(sMaxIcon.lastIndexOf('/'));var iNum=5;if(oLnk.getAttribute('animf')!=null)
iNum=new Number(oLnk.getAttribute('animf'));if(sCurrentFile==sMaxFile)
{oBtn.src=sMinIcon;dnn.dom.expandElement(oContent,iNum);oBtn.title=dnn.getVar('min_text');if(sCookieID!=null)
{if(dnn.getVar('__dnn_'+sContainerID+':defminimized')=='true')
dnn.dom.setCookie(sCookieID,'true',365);else
dnn.dom.deleteCookie(sCookieID);}
else
dnn.setVar('__dnn_'+sContainerID+'_Visible','true');}
else
{oBtn.src=sMaxIcon;dnn.dom.collapseElement(oContent,iNum);oBtn.title=dnn.getVar('max_text');if(sCookieID!=null)
{if(dnn.getVar('__dnn_'+sContainerID+':defminimized')=='true')
dnn.dom.deleteCookie(sCookieID);else
dnn.dom.setCookie(sCookieID,'false',365);}
else
dnn.setVar('__dnn_'+sContainerID+'_Visible','false');}
return true;}
return false;}
function __dnn_Help_OnClick(sHelpID)
{var oHelp=dnn.dom.getById(sHelpID);if(oHelp!=null)
{if(oHelp.style.display=='none')
oHelp.style.display='';else
oHelp.style.display='none';return true;}
return false;}
function __dnn_SectionMaxMin(oBtn,sContentID)
{var oContent=dnn.dom.getById(sContentID);if(oContent!=null)
{var sMaxIcon=oBtn.getAttribute('max_icon');var sMinIcon=oBtn.getAttribute('min_icon');var bCallback=oBtn.getAttribute('userctr')!=null;var sVal;if(oContent.style.display=='none')
{oBtn.src=sMinIcon;oContent.style.display='';if(bCallback)
sVal='True';else
dnn.setVar(oBtn.id+':exp',1);}
else
{oBtn.src=sMaxIcon;oContent.style.display='none';if(bCallback)
sVal='False';else
dnn.setVar(oBtn.id+':exp',0);}
if(bCallback)
dnncore.setUserProp(oBtn.getAttribute('userctr'),oBtn.getAttribute('userkey'),sVal,null);return true;}
return false;}
function __dnn_enableDragDrop()
{var aryConts=dnn.getVar('__dnn_dragDrop').split(";");var aryTitles;for(var i=0;i<aryConts.length;i++)
{aryTitles=aryConts[i].split(" ");if(aryTitles[0].length>0)
{var oCtr=dnn.dom.getById(aryTitles[0]);var oTitle=dnn.dom.getById(aryTitles[1]);if(oCtr!=null&&oTitle!=null)
{oCtr.setAttribute('moduleid',aryTitles[2]);dnn.dom.positioning.enableDragAndDrop(oCtr,oTitle,'__dnn_dragComplete()','__dnn_dragOver()');}}}}
var __dnn_oPrevSelPane;var __dnn_oPrevSelModule;var __dnn_dragEventCount=0;function __dnn_dragOver()
{__dnn_dragEventCount++;if(__dnn_dragEventCount%75!=0)
return;var oCont=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var oPane=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);if(__dnn_oPrevSelPane!=null)
__dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder;if(oPane!=null)
{__dnn_oPrevSelPane=oPane;oPane.pane.style.border='4px double '+DNN_HIGHLIGHT_COLOR;var iIndex=__dnn_getPaneControlIndex(oCont,oPane);var oPrevCtl;var oNextCtl;for(var i=0;i<oPane.controls.length;i++)
{if(iIndex>i&&oPane.controls[i].id!=oCont.id)
oPrevCtl=oPane.controls[i];if(iIndex<=i&&oPane.controls[i].id!=oCont.id)
{oNextCtl=oPane.controls[i];break;}}
if(__dnn_oPrevSelModule!=null)
dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder;if(oNextCtl!=null)
{__dnn_oPrevSelModule=oNextCtl;dnn.dom.getNonTextNode(oNextCtl.control).style.borderTop='5px groove '+DNN_HIGHLIGHT_COLOR;}
else if(oPrevCtl!=null)
{__dnn_oPrevSelModule=oPrevCtl;dnn.dom.getNonTextNode(oPrevCtl.control).style.borderBottom='5px groove '+DNN_HIGHLIGHT_COLOR;}}}
function __dnn_dragComplete()
{var oCtl=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var sModuleID=oCtl.getAttribute('moduleid');if(__dnn_oPrevSelPane!=null)
__dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder;if(__dnn_oPrevSelModule!=null)
dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder;var oPane=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);var iIndex;if(oPane==null)
{var oPanes=__dnn_Panes();for(var i=0;i<oPanes.length;i++)
{if(oPanes[i].id==oCtl.parentNode.id)
oPane=oPanes[i];}}
if(oPane!=null)
{iIndex=__dnn_getPaneControlIndex(oCtl,oPane);__dnn_MoveToPane(oPane,oCtl,iIndex);dnn.callPostBack('MoveToPane','moduleid='+sModuleID,'pane='+oPane.paneName,'order='+iIndex*2);}}
function __dnn_MoveToPane(oPane,oCtl,iIndex)
{if(oPane!=null)
{var aryCtls=new Array();for(var i=iIndex;i<oPane.controls.length;i++)
{if(oPane.controls[i].control.id!=oCtl.id)
aryCtls[aryCtls.length]=oPane.controls[i].control;dnn.dom.removeChild(oPane.controls[i].control);}
dnn.dom.appendChild(oPane.pane,oCtl);oCtl.style.top=0;oCtl.style.left=0;oCtl.style.position='relative';for(var i=0;i<aryCtls.length;i++)
{dnn.dom.appendChild(oPane.pane,aryCtls[i]);}
__dnn_RefreshPanes();}
else
{oCtl.style.top=0;oCtl.style.left=0;oCtl.style.position='relative';}}
function __dnn_RefreshPanes()
{var aryPanes=dnn.getVar('__dnn_Panes').split(';');var aryPaneNames=dnn.getVar('__dnn_PaneNames').split(';');__dnn_m_aryPanes=new Array();for(var i=0;i<aryPanes.length;i++)
{if(aryPanes[i].length>0)
__dnn_m_aryPanes[__dnn_m_aryPanes.length]=new __dnn_Pane(dnn.dom.getById(aryPanes[i]),aryPaneNames[i]);}}
var __dnn_m_aryPanes;var __dnn_m_aryModules;function __dnn_Panes()
{if(__dnn_m_aryPanes==null)
{__dnn_m_aryPanes=new Array();__dnn_RefreshPanes();}
return __dnn_m_aryPanes;}
function __dnn_Modules(sModuleID)
{if(__dnn_m_aryModules==null)
__dnn_RefreshPanes();return __dnn_m_aryModules[sModuleID];}
function __dnn_getMostSelectedPane(oContent)
{var oCDims=new dnn.dom.positioning.dims(oContent);var iTopScore=0;var iScore;var oTopPane;for(var i=0;i<__dnn_Panes().length;i++)
{var oPane=__dnn_Panes()[i];var oPDims=new dnn.dom.positioning.dims(oPane.pane);iScore=dnn.dom.positioning.elementOverlapScore(oPDims,oCDims);if(iScore>iTopScore)
{iTopScore=iScore;oTopPane=oPane;}}
return oTopPane;}
function __dnn_getPaneControlIndex(oContent,oPane)
{if(oPane==null)
return;var oCDims=new dnn.dom.positioning.dims(oContent);var oCtl;if(oPane.controls.length==0)
return 0;for(var i=0;i<oPane.controls.length;i++)
{oCtl=oPane.controls[i];var oIDims=new dnn.dom.positioning.dims(oCtl.control);if(oCDims.t<oIDims.t)
return oCtl.index;}
if(oCtl!=null)
return oCtl.index+1;else
return 0;}
function __dnn_Pane(ctl,sPaneName)
{this.pane=ctl;this.id=ctl.id;this.controls=new Array();this.origBorder=ctl.style.border;this.paneName=sPaneName;var iIndex=0;var strModuleOrder='';for(var i=0;i<ctl.childNodes.length;i++)
{var oNode=ctl.childNodes[i];if(dnn.dom.isNonTextNode(oNode))
{if(__dnn_m_aryModules==null)
__dnn_m_aryModules=new Array();var sModuleID=oNode.getAttribute('moduleid');if(sModuleID!=null&&sModuleID.length>0)
{strModuleOrder+=sModuleID+'~';this.controls[this.controls.length]=new __dnn_PaneControl(oNode,iIndex);__dnn_m_aryModules[sModuleID]=oNode.id;iIndex+=1;}}}
this.moduleOrder=strModuleOrder;}
function __dnn_PaneControl(ctl,iIndex)
{this.control=ctl;this.id=ctl.id;this.index=iIndex;this.origBorder=ctl.style.border;}
function __dnncore()
{this.GetUserVal=0;this.SetUserVal=1;}
__dnncore.prototype={getUserProp:function(sNameCtr,sKey,pFunc){this._doUserCallBack(dnncore.GetUserVal,sNameCtr,sKey,null,new dnncore.UserPropArgs(sNameCtr,sKey,pFunc));},setUserProp:function(sNameCtr,sKey,sVal,pFunc){this._doUserCallBack(dnncore.SetUserVal,sNameCtr,sKey,sVal,new dnncore.UserPropArgs(sNameCtr,sKey,pFunc));},_doUserCallBack:function(iType,sNameCtr,sKey,sVal,pFunc){if(dnn&&dnn.xmlhttp)
{var sPack=iType+COL_DELIMITER+sNameCtr+COL_DELIMITER+sKey+COL_DELIMITER+sVal;dnn.xmlhttp.doCallBack('__Page',sPack,dnncore._callBackSuccess,pFunc,dnncore._callBackFail,null,true,null,0);}
else
alert('Client Personalization not enabled');},_callBackSuccess:function(result,ctx,req){if(ctx.pFunc)
ctx.pFunc(ctx.namingCtr,ctx.key,result);},_callBackFail:function(result,ctx){window.status=result;}}
__dnncore.prototype.UserPropArgs=function(sNameCtr,sKey,pFunc)
{this.namingCtr=sNameCtr;this.key=sKey;this.pFunc=pFunc;}
var dnncore=new __dnncore();

var dnn;
var DNN_HIGHLIGHT_COLOR='#9999FF';var COL_DELIMITER=String.fromCharCode(18);var ROW_DELIMITER=String.fromCharCode(17);var QUOTE_REPLACEMENT=String.fromCharCode(19);var KEY_LEFT_ARROW=37;var KEY_UP_ARROW=38;var KEY_RIGHT_ARROW=39;var KEY_DOWN_ARROW=40;var KEY_RETURN=13;var KEY_ESCAPE=27;if(typeof(__dnn_m_aNamespaces)=='undefined')
var __dnn_m_aNamespaces=new Array();function __dnn()
{this.apiversion=.4;this.pns='';this.ns='dnn';this.diagnostics=null;this.vars=null;this.dependencies=new Array();this.isLoaded=false;this.delay=new Array();}
__dnn.prototype={getVars:function()
{if(this.vars==null)
{this.vars=new Array();var oCtl=dnn.dom.getById('__dnnVariable');if(oCtl!=null)
{if(oCtl.value.indexOf('__scdoff')!=-1)
{COL_DELIMITER='~|~';ROW_DELIMITER='~`~';QUOTE_REPLACEMENT='~!~';}
var aryItems=oCtl.value.split(ROW_DELIMITER);for(var i=0;i<aryItems.length;i++)
{var aryItem=aryItems[i].split(COL_DELIMITER);if(aryItem.length==2)
this.vars[aryItem[0]]=aryItem[1];}}}
return this.vars;},getVar:function(sKey)
{if(this.getVars()[sKey]!=null)
{var re=eval('/'+QUOTE_REPLACEMENT+'/g');return this.getVars()[sKey].replace(re,'"');}},setVar:function(sKey,sVal)
{if(this.vars==null)
this.getVars();this.vars[sKey]=sVal;var oCtl=dnn.dom.getById('__dnnVariable');if(oCtl==null)
{oCtl=dnn.dom.createElement('INPUT');oCtl.type='hidden';oCtl.id='__dnnVariable';dnn.dom.appendChild(dnn.dom.getByTagName("body")[0],oCtl);}
var sVals='';var s;var re=eval('/"/g');for(s in this.vars)
sVals+=ROW_DELIMITER+s+COL_DELIMITER+this.vars[s].toString().replace(re,QUOTE_REPLACEMENT);oCtl.value=sVals;return true;},callPostBack:function(sAction)
{var sPostBack=dnn.getVar('__dnn_postBack');var sData='';if(sPostBack.length>0)
{sData+=sAction;for(var i=1;i<arguments.length;i++)
{var aryParam=arguments[i].split('=');sData+=COL_DELIMITER+aryParam[0]+COL_DELIMITER+aryParam[1];}
eval(sPostBack.replace('[DATA]',sData));return true;}
return false;},createDelegate:function(oThis,pFunc)
{return function(){pFunc.apply(oThis,arguments);};},doDelay:function(sType,iTime,pFunc,oContext)
{if(this.delay[sType]==null)
{this.delay[sType]=new dnn.delayObject(pFunc,oContext,sType);this.delay[sType].num=window.setTimeout(dnn.createDelegate(this.delay[sType],this.delay[sType].complete),iTime);}},cancelDelay:function(sType)
{if(this.delay[sType]!=null)
{window.clearTimeout(this.delay[sType].num);this.delay[sType]=null;}},decodeHTML:function(s)
{return s.toString().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"');},encode:function(sArg)
{if(encodeURIComponent)
return encodeURIComponent(sArg);else
return escape(sArg);},encodeHTML:function(s)
{return s.toString().replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\"/g, "&quot;");},evalJSON:function(s)
{return eval("("+s+")");},escapeForEval:function(s)
{return s.replace(/\\/g,'\\\\').replace(/\'/g,"\\'").replace(/\r/g,'').replace(/\n/g,'\\n').replace(/\./,'\\.');},extend:function(dest,src)
{for(s in src)
dest[s]=src[s];return dest;},dependenciesLoaded:function()
{return true;},loadNamespace:function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{dnn=this;this.isLoaded=true;this.loadDependencies(this.pns,this.ns);}}},loadDependencies:function(sPNS,sNS)
{for(var i=0;i<__dnn_m_aNamespaces.length;i++)
{for(var iDep=0;iDep<__dnn_m_aNamespaces[i].dependencies.length;iDep++)
{if(__dnn_m_aNamespaces[i].dependencies[iDep]==sPNS+(sPNS.length>0?'.':'')+sNS)
__dnn_m_aNamespaces[i].loadNamespace();}}}}
__dnn.prototype.delayObject=function(pFunc,oContext,sType)
{this.num=null;this.pfunc=pFunc;this.context=oContext;this.type=sType;}
__dnn.prototype.delayObject.prototype={complete:function()
{dnn.delay[this.type]=null;this.pfunc(this.context);}}
__dnn.prototype.ScriptRequest=function(sSrc,sText,fCallBack)
{this.ctl=null;this.xmlhttp=null;this.src=null;this.text=null;if(sSrc!=null&&sSrc.length>0)
this.src=sSrc;if(sText!=null&&sText.length>0)
this.text=sText;this.callBack=fCallBack;this.status='init';this.timeOut=5000;}
__dnn.prototype.ScriptRequest.prototype={load:function()
{this.status='loading';this.ctl=document.createElement('script');this.ctl.type='text/javascript';if(this.src!=null)
{if(dnn.dom.browser.isType(dnn.dom.browser.Safari))
{this.xmlhttp=new XMLHttpRequest();this.xmlhttp.open('GET',this.src,true);this.xmlhttp.onreadystatechange=dnn.createDelegate(this,this.xmlhttpStatusChange);this.xmlhttp.send(null);return;}
else
{if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
this.ctl.onreadystatechange=dnn.createDelegate(this,this.statusChange);else if(dnn.dom.browser.isType(dnn.dom.browser.Opera)==false)
this.ctl.onload=dnn.createDelegate(this,this.complete);this.ctl.src=this.src;}}
else
{if(dnn.dom.browser.isType(dnn.dom.browser.Safari))
this.ctl.innerHTML=dnn.encodeHTML(this.text);else
this.ctl.text=this.text;}
var oHeads=dnn.dom.getByTagName('HEAD');if(oHeads)
{if(dnn.dom.browser.isType(dnn.dom.browser.Opera)==false||this.src!=null)
oHeads[0].appendChild(this.ctl);}
else
alert('Cannot load dynamic script, no HEAD tag present.');if(this.src==null||dnn.dom.browser.isType(dnn.dom.browser.Opera))
this.complete();else if(this.timeOut)
dnn.doDelay('loadScript_'+this.src,this.timeOut,dnn.createDelegate(this,this.reload),null);},xmlhttpStatusChange:function()
{if(this.xmlhttp.readyState!=4)
return;this.src=null;this.text=this.xmlhttp.responseText;this.load();},statusChange:function()
{if((this.ctl.readyState=='loaded'||this.ctl.readyState=='complete')&&this.status!='complete')
this.complete();},reload:function()
{if(dnn.dom.scriptStatus(this.src)=='complete')
{this.complete();}
else
{this.load();}},complete:function()
{dnn.cancelDelay('loadScript_'+this.src);this.status='complete';if(typeof(this.callBack)!='undefined')
this.callBack(this);this.dispose();},dispose:function()
{this.callBack=null;if(this.ctl)
{if(this.ctl.onreadystatechange)
this.ctl.onreadystatechange=new function(){};else if(this.ctl.onload)
this.ctl.onload=null;this.ctl=null;}
this.xmlhttp=null;}}
function dnn_dom()
{this.pns='dnn';this.ns='dom';this.dependencies='dnn'.split(',');this.isLoaded=false;this.browser=new this.browserObject();this.__leakEvts=new Array();this.scripts=[];this.scriptElements=[];}
dnn_dom.prototype={appendChild:function(oParent,oChild)
{if(oParent.appendChild)
return oParent.appendChild(oChild);else
return null;},attachEvent:function(oCtl,sType,fHandler)
{if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer)==false)
{var sName=sType.substring(2);oCtl.addEventListener(sName,function(evt){dnn.dom.event=new dnn.dom.eventObject(evt,evt.target);return fHandler();},false);}
else
oCtl.attachEvent(sType,function(){dnn.dom.event=new dnn.dom.eventObject(window.event,window.event.srcElement);return fHandler();});return true;},createElement:function(sTagName)
{if(document.createElement)
return document.createElement(sTagName.toLowerCase());else
return null;},cursorPos:function(oCtl)
{if(oCtl.value.length==0)
return 0;var iPos=-1;if(oCtl.selectionStart)
iPos=oCtl.selectionStart;else if(oCtl.createTextRange)
{var oSel=window.document.selection.createRange();var oRange=oCtl.createTextRange();if(oRange==null||oSel==null||((oSel.text!="")&&oRange.inRange(oSel)==false))
return-1;if(oSel.text=="")
{if(oRange.boundingLeft==oSel.boundingLeft)
iPos=0;else
{var sTagName=oCtl.tagName.toLowerCase();if(sTagName=="input")
{var sText=oRange.text;var i=1;while(i<sText.length)
{oRange.findText(sText.substring(i));if(oRange.boundingLeft==oSel.boundingLeft)
break;i++;}}
else if(sTagName=="textarea")
{var i=oCtl.value.length+1;var oCaret=document.selection.createRange().duplicate();while(oCaret.parentElement()==oCtl&&oCaret.move("character",1)==1)
--i;if(i==oCtl.value.length+1)
i=-1;}
iPos=i;}}
else
iPos=oRange.text.indexOf(oSel.text);}
return iPos;},cancelCollapseElement:function(oCtl)
{dnn.cancelDelay(oCtl.id+'col');oCtl.style.display='none';},collapseElement:function(oCtl,iNum,pCallBack)
{if(iNum==null)
iNum=10;oCtl.style.overflow='hidden';var oContext=new Object();oContext.num=iNum;oContext.ctl=oCtl;oContext.pfunc=pCallBack;oCtl.origHeight=oCtl.offsetHeight;dnn.dom.__collapseElement(oContext);},__collapseElement:function(oContext)
{var iNum=oContext.num;var oCtl=oContext.ctl;var iStep=oCtl.origHeight/iNum;if(oCtl.offsetHeight-(iStep*2)>0)
{oCtl.style.height=(oCtl.offsetHeight-iStep).toString()+'px';dnn.doDelay(oCtl.id+'col',10,dnn.dom.__collapseElement,oContext);}
else
{oCtl.style.display='none';if(oContext.pfunc!=null)
oContext.pfunc();}},cancelExpandElement:function(oCtl)
{dnn.cancelDelay(oCtl.id+'exp');oCtl.style.overflow='';oCtl.style.height='';},expandElement:function(oCtl,iNum,pCallBack)
{if(iNum==null)
iNum=10;if(oCtl.style.display=='none'&&oCtl.origHeight==null)
{oCtl.style.display='';oCtl.style.overflow='';oCtl.origHeight=oCtl.offsetHeight;oCtl.style.overflow='hidden';oCtl.style.height='1px';}
oCtl.style.display='';var oContext=new Object();oContext.num=iNum;oContext.ctl=oCtl;oContext.pfunc=pCallBack;dnn.dom.__expandElement(oContext);},__expandElement:function(oContext)
{var iNum=oContext.num;var oCtl=oContext.ctl;var iStep=oCtl.origHeight/iNum;if(oCtl.offsetHeight+iStep<oCtl.origHeight)
{oCtl.style.height=(oCtl.offsetHeight+iStep).toString()+'px';dnn.doDelay(oCtl.id+'exp',10,dnn.dom.__expandElement,oContext);}
else
{oCtl.style.overflow='';oCtl.style.height='';if(oContext.pfunc!=null)
oContext.pfunc();}},deleteCookie:function(sName,sPath,sDomain)
{if(this.getCookie(sName))
{this.setCookie(sName,'',-1,sPath,sDomain);return true;}
return false;},getAttr:function(oNode,sAttr,sDef)
{if(oNode.getAttribute==null)
return sDef;var sVal=oNode.getAttribute(sAttr);if(sVal==null||sVal=='')
return sDef;else
return sVal;},getById:function(sID,oCtl)
{if(oCtl==null)
oCtl=document;if(oCtl.getElementById)
return oCtl.getElementById(sID);else if(oCtl.all)
return oCtl.all(sID);else
return null;},getByTagName:function(sTag,oCtl)
{if(oCtl==null)
oCtl=document;if(oCtl.getElementsByTagName)
return oCtl.getElementsByTagName(sTag);else if(oCtl.all&&oCtl.all.tags)
return oCtl.all.tags(sTag);else
return null;},getParentByTagName:function(oCtl,sTag)
{var oP=oCtl.parentNode;sTag=sTag.toLowerCase();while(oP!=null)
{if(oP.tagName&&oP.tagName.toLowerCase()==sTag)
return oP;oP=oP.parentNode;}
return null;},getCookie:function(sName)
{var sCookie=" "+document.cookie;var sSearch=" "+sName+"=";var sStr=null;var iOffset=0;var iEnd=0;if(sCookie.length>0)
{iOffset=sCookie.indexOf(sSearch);if(iOffset!=-1)
{iOffset+=sSearch.length;iEnd=sCookie.indexOf(";",iOffset)
if(iEnd==-1)
iEnd=sCookie.length;sStr=unescape(sCookie.substring(iOffset,iEnd));}}
return(sStr);},getNonTextNode:function(oNode)
{if(this.isNonTextNode(oNode))
return oNode;while(oNode!=null&&this.isNonTextNode(oNode))
{oNode=this.getSibling(oNode,1);}
return oNode;},__leakEvt:function(sName,oCtl,oPtr)
{this.name=sName;this.ctl=oCtl;this.ptr=oPtr;},addSafeHandler:function(oDOM,sEvent,oObj,sMethod)
{oDOM[sEvent]=this.getObjMethRef(oObj,sMethod);if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
{if(this.__leakEvts.length==0)
dnn.dom.attachEvent(window,'onunload',dnn.dom.destroyHandlers);this.__leakEvts[this.__leakEvts.length]=new dnn.dom.__leakEvt(sEvent,oDOM,oDOM[sEvent]);}},destroyHandlers:function()
{var iCount=dnn.dom.__leakEvts.length-1;for(var i=iCount;i>=0;i--)
{var oEvt=dnn.dom.__leakEvts[i];oEvt.ctl.detachEvent(oEvt.name,oEvt.ptr);oEvt.ctl[oEvt.name]=null;dnn.dom.__leakEvts.length=dnn.dom.__leakEvts.length-1;}},getObjMethRef:function(obj,methodName)
{return(function(e){e=e||window.event;return obj[methodName](e,this);});},getScript:function(sSrc)
{if(this.scriptElements[sSrc])
return this.scriptElements[sSrc];var oScripts=dnn.dom.getByTagName('SCRIPT');for(var s=0;s<oScripts.length;s++)
{if(oScripts[s].src!=null&&oScripts[s].src.indexOf(sSrc)>-1)
{this.scriptElements[sSrc]=oScripts[s];return oScripts[s];}}},getScriptPath:function()
{var oThisScript=dnn.dom.getScript('dnn.js');if(oThisScript)
return oThisScript.src.replace('dnn.js','');return'';},getSibling:function(oCtl,iOffset)
{if(oCtl!=null&&oCtl.parentNode!=null)
{for(var i=0;i<oCtl.parentNode.childNodes.length;i++)
{if(oCtl.parentNode.childNodes[i].id==oCtl.id)
{if(oCtl.parentNode.childNodes[i+iOffset]!=null)
return oCtl.parentNode.childNodes[i+iOffset];}}}
return null;},isNonTextNode:function(oNode)
{return(oNode.nodeType!=3&&oNode.nodeType!=8);},scriptFile:function(sSrc)
{var ary=sSrc.split('/');return ary[ary.length-1];},loadScript:function(sSrc,sText,callBack)
{var sFile;if(sSrc!=null&&sSrc.length>0)
{sFile=this.scriptFile(sSrc);if(this.scripts[sFile]!=null)
return;}
var oSR=new dnn.ScriptRequest(sSrc,sText,callBack);if(sFile)
this.scripts[sFile]=oSR;oSR.load();return oSR;},loadScripts:function(aSrc,aText,callBack)
{if(dnn.scripts==null)
{var oRef=function(aSrc,aText,callBack)
{return(function(){dnn.dom.loadScripts(aSrc,aText,callBack);});};dnn.dom.loadScript(dnn.dom.getScriptPath()+'dnn.scripts.js',null,oRef(aSrc,aText,callBack));return;}
var oBatch=new dnn.scripts.ScriptBatchRequest(aSrc,aText,callBack);oBatch.load();},scriptStatus:function(sSrc)
{var sFile=this.scriptFile(sSrc);if(this.scripts[sFile])
return this.scripts[sFile].status;var oScript=this.getScript(sSrc);if(oScript!=null)
return'complete';else
return'';},setScriptLoaded:function(sSrc)
{var sFile=this.scriptFile(sSrc);if(this.scripts[sFile]&&dnn.dom.scripts[sFile].status!='complete')
dnn.dom.scripts[sFile].complete();},navigate:function(sURL,sTarget)
{if(sTarget!=null&&sTarget.length>0)
{if(sTarget=='_blank')
window.open(sURL);else
document.frames[sTarget].location.href=sURL;}
else
window.location.href=sURL;return false;},removeChild:function(oChild)
{if(oChild.parentNode.removeChild)
return oChild.parentNode.removeChild(oChild);else
return null;},setCookie:function(sName,sVal,iDays,sPath,sDomain,bSecure)
{var sExpires;if(iDays)
{sExpires=new Date();sExpires.setTime(sExpires.getTime()+(iDays*24*60*60*1000));}
document.cookie=sName+"="+escape(sVal)+((sExpires)?"; expires="+sExpires.toGMTString():"")+
((sPath)?"; path="+sPath:"")+((sDomain)?"; domain="+sDomain:"")+((bSecure)?"; secure":"");if(document.cookie.length>0)
return true;},getCurrentStyle:function(oNode,prop)
{if(document.defaultView)
{if(oNode.nodeType!=oNode.ELEMENT_NODE)return null;return document.defaultView.getComputedStyle(oNode,'').getPropertyValue(prop.split('-').join(''));}
if(oNode.currentStyle)
return oNode.currentStyle[prop.split('-').join('')];if(oNode.style)
return oNode.style.getAttribute(prop.split('-').join(''));return null;},dependenciesLoaded:function()
{return(typeof(dnn)!='undefined');},loadNamespace:function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{dnn.dom=this;this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);}}},getFormPostString:function(oCtl)
{var sRet='';if(oCtl!=null)
{if(oCtl.tagName&&oCtl.tagName.toLowerCase()=='form')
{for(var i=0;i<oCtl.elements.length;i++)
sRet+=this.getElementPostString(oCtl.elements[i]);}
else
{sRet=this.getElementPostString(oCtl);for(var i=0;i<oCtl.childNodes.length;i++)
sRet+=this.getFormPostString(oCtl.childNodes[i]);}}
return sRet;},getElementPostString:function(oCtl)
{var sTagName;if(oCtl.tagName)
sTagName=oCtl.tagName.toLowerCase();if(sTagName=='input')
{var sType=oCtl.type.toLowerCase();if(sType=='text'||sType=='password'||sType=='hidden'||((sType=='checkbox'||sType=='radio')&&oCtl.checked))
return oCtl.name+'='+dnn.encode(oCtl.value)+'&';}
else if(sTagName=='select')
{for(var i=0;i<oCtl.options.length;i++)
{if(oCtl.options[i].selected)
return oCtl.name+'='+dnn.encode(oCtl.options[i].value)+'&';}}
else if(sTagName=='textarea')
return oCtl.name+'='+dnn.encode(oCtl.value)+'&';return'';}}
dnn_dom.prototype.eventObject=function(e,srcElement)
{this.object=e;this.srcElement=srcElement;}
dnn_dom.prototype.browserObject=function()
{this.InternetExplorer='ie';this.Netscape='ns';this.Mozilla='mo';this.Opera='op';this.Safari='safari';this.Konqueror='kq';this.MacIE='macie';var sType;var agt=navigator.userAgent.toLowerCase();if(agt.indexOf('konqueror')!=-1)
sType=this.Konqueror;else if(agt.indexOf('opera')!=-1)
sType=this.Opera;else if(agt.indexOf('netscape')!=-1)
sType=this.Netscape;else if(agt.indexOf('msie')!=-1)
{if(agt.indexOf('mac')!=-1)
sType=this.MacIE;else
sType=this.InternetExplorer;}
else if(agt.indexOf('safari')!=-1)
sType='safari';if(sType==null)
sType=this.Mozilla;this.type=sType;this.version=parseFloat(navigator.appVersion);var sAgent=navigator.userAgent.toLowerCase();if(this.type==this.InternetExplorer)
{var temp=navigator.appVersion.split("MSIE");this.version=parseFloat(temp[1]);}
if(this.type==this.Netscape)
{var temp=sAgent.split("netscape");this.version=parseFloat(temp[1].split("/")[1]);}}
dnn_dom.prototype.browserObject.prototype={toString:function()
{return this.type+' '+this.version;},isType:function()
{for(var i=0;i<arguments.length;i++)
{if(dnn.dom.browser.type==arguments[i])
return true;}
return false;}}
function dnn_controls()
{this.pns='dnn';this.ns='controls';this.dependencies='dnn,dnn.dom'.split(',');this.isLoaded=false;this.controls=new Array();this.toolbars=[];this.orient=new Object();this.orient.horizontal=0;this.orient.vertical=1;this.action=new Object();this.action.postback=0;this.action.expand=1;this.action.none=2;this.action.nav=3;}
dnn_controls.prototype={dependenciesLoaded:function()
{return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');},loadNamespace:function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{if(typeof(dnn_control)!='undefined')
dnn.extend(dnn_controls.prototype,new dnn_control);dnn.controls=new dnn_controls();this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);}}}}
dnn_controls.prototype.DNNNode=function(oNode)
{if(oNode!=null)
{this.node=oNode;this.id=oNode.getAttribute('id','');this.key=oNode.getAttribute('key','');this.text=oNode.getAttribute('txt','');this.url=oNode.getAttribute('url','');this.js=oNode.getAttribute('js','');this.target=oNode.getAttribute('tar','');this.toolTip=oNode.getAttribute('tTip','');this.enabled=oNode.getAttribute('enabled','1')!='0';this.css=oNode.getAttribute('css','');this.cssSel=oNode.getAttribute('cssSel','');this.cssHover=oNode.getAttribute('cssHover','');this.cssIcon=oNode.getAttribute('cssIcon','');this.hasNodes=oNode.childNodeCount()>0;this.hasPendingNodes=(oNode.getAttribute('hasNodes','0')=='1'&&this.hasNodes==false);this.imageIndex=new Number(oNode.getAttribute('imgIdx','-1'));this.image=oNode.getAttribute('img','');this.level=this.getNodeLevel();}}
dnn_controls.prototype.DNNNode.prototype={childNodeCount:function()
{return this.node.childNodes.length;},getNodeLevel:function()
{var i=0;var oNode=this.node;while(oNode!=null)
{oNode=oNode.parentNode();if(oNode==null||oNode.nodeName()=='root')
break;i++;}
return i;},update:function(sProp)
{if(sProp!=null)
{var sType=typeof(this[sProp]);if(sType=='string'||sType=='number'||this[sProp]==null)
this.node.setAttribute(sProp,this[sProp]);else if(sType=='boolean')
this.node.setAttribute(sProp,new Number(this[sProp]));}
else
{for(sProp in this)
this.update(sProp);}}}
function dnn_util()
{this.pns='dnn';this.ns='utilities';this.dependencies='dnn,dnn.dom'.split(',');this.isLoaded=false;}
dnn_util.prototype.dependenciesLoaded=function()
{return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');}
dnn_util.prototype.loadNamespace=function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{if(typeof(dnn_utility)!='undefined')
dnn.extend(dnn_util.prototype,new dnn_utility);dnn.util=new dnn_util();this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);}}}
function $()
{var ary=new Array();for(var i=0;i<arguments.length;i++)
{var arg=arguments[i];var ctl;if(typeof arg=='string')
ctl=dnn.dom.getById(arg);else
ctl=arg;if(ctl!=null&&typeof(Element)!='undefined'&&typeof(Element.extend)!='undefined')
Element.extend(ctl);if(arguments.length==1)
return ctl;ary[ary.length]=ctl;}
return ary;}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_util();__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_controls();__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_dom();__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new __dnn();for(var i=__dnn_m_aNamespaces.length-1;i>=0;i--)
__dnn_m_aNamespaces[i].loadNamespace();

dnn_xml.prototype.JsDocument=function()
{this.root=new dnn.xml.JsXmlNode(this,'__root');this.childNodes=this.root.childNodes;this.currentHashCode=0;}
dnn_xml.prototype.JsDocument.prototype.hasChildNodes=function()
{return this.childNodes.length>0;}
dnn_xml.prototype.JsDocument.prototype.loadXml=function(sXml)
{var oParser=new dnn.xml.JsParser();oParser.parse(sXml,this.root);return true;}
dnn_xml.prototype.JsDocument.prototype.getXml=function()
{return this.root.getXml();}
dnn_xml.prototype.JsDocument.prototype.findNode=function(oParent,sNodeName,sAttr,sValue)
{for(var i=0;i<oParent.childNodes.length;i++)
{oNode=oParent.childNodes[i];if(oNode.nodeName==sNodeName)
{if(sAttr==null)
return oNode;else
{if(oNode.getAttribute(sAttr)==sValue)
return oNode;}}
if(oNode.childNodes.length>0)
{var o=this.findNode(oNode,sNodeName,sAttr,sValue);if(o!=null)
return o;}}}
dnn_xml.prototype.JsDocument.prototype.getNextHashCode=function()
{this.currentHashCode++;return this.currentHashCode;}
dnn_xml.prototype.JsXmlNode=function(ownerDocument,name)
{this.ownerDocument=ownerDocument;this.nodeName=name;this.text='';this.childNodes=new Array();this.attributes=new Array();this.parentNode=null;this.hashCode=this.ownerDocument.getNextHashCode();this.nodeType=0;}
dnn_xml.prototype.JsXmlNode.prototype.appendChild=function(oNode)
{this.childNodes[this.childNodes.length]=oNode;oNode.parentNode=this;}
dnn_xml.prototype.JsXmlNode.prototype.removeChild=function(oNode)
{var oParent=this;var iHash=oNode.hashCode;var bFound=false;for(var i=0;i<oParent.childNodes.length;i++)
{if(bFound==false)
{if(oParent.childNodes[i].hashCode==iHash)
bFound=true;}
if(bFound)
oParent.childNodes[i]=oParent.childNodes[i+1];}
if(bFound)
oParent.childNodes.length=oParent.childNodes.length-1;return oNode;}
dnn_xml.prototype.JsXmlNode.prototype.hasChildNodes=function()
{return this.childNodes.length>0;}
dnn_xml.prototype.JsXmlNode.prototype.getXml=function(oNode)
{if(oNode==null)
oNode=this;var sXml='';if(oNode.nodeName!='__root')
sXml='<'+oNode.nodeName+this.getAttributes(oNode)+'>';for(var i=0;i<oNode.childNodes.length;i++)
{sXml+=this.getXml(oNode.childNodes[i])+oNode.childNodes[i].text;}
if(oNode.nodeName!='__root')
sXml=sXml+'</'+oNode.nodeName+'>';return sXml;}
dnn_xml.prototype.JsXmlNode.prototype.getAttributes=function(oNode)
{var sRet='';for(var sAttr in oNode.attributes)
sRet+=' '+sAttr+'="'+dnn.encodeHTML(oNode.attributes[sAttr])+'"';return sRet;}
dnn_xml.prototype.JsXmlNode.prototype.getAttribute=function(sAttr)
{return this.attributes[sAttr];}
dnn_xml.prototype.JsXmlNode.prototype.setAttribute=function(sAttr,sVal)
{this.attributes[sAttr]=sVal;}
dnn_xml.prototype.JsXmlNode.prototype.removeAttribute=function(sAttr)
{delete this.attributes[sAttr];}
dnn_xml.prototype.JsParser=function()
{this.pos=null;this.xmlArray=null;this.root=null;}
dnn_xml.prototype.JsParser.prototype.parse=function(sXml,oRoot)
{this.pos=0;this.xmlArray=sXml.split('>');this.processXml(oRoot);}
dnn_xml.prototype.JsParser.prototype.getProcessString=function()
{var s=this.xmlArray[this.pos];if(s==null)
s='';return s.replace(/^\s*/,"").replace(/\s*$/,"");}
dnn_xml.prototype.JsParser.prototype.processXml=function(oParent)
{var oNewParent=oParent;var bClose=this.isCloseTag();var bOpen=this.isOpenTag();while((bClose==false||(bClose&&bOpen))&&this.getProcessString().length>0)
{if(bClose)
{this.processOpenTag(oParent);this.pos+=1;}
else
{oNewParent=this.processOpenTag(oParent);this.pos+=1;this.processXml(oNewParent);}
bClose=this.isCloseTag();bOpen=this.isOpenTag();}
var s=this.getProcessString();if(bClose&&s.substr(0,1)!='<')
oParent.text=s.substr(0,s.indexOf('<'));this.pos+=1;}
dnn_xml.prototype.JsParser.prototype.isCloseTag=function()
{var s=this.getProcessString();if(s.substr(0,1)=='/'||s.indexOf('</')>-1||s.substr(s.length-1)=='/')
return true;else
return false;}
dnn_xml.prototype.JsParser.prototype.isOpenTag=function()
{var s=this.getProcessString();if(s.substr(0,1)=='<'&&s.substr(0,2)!='</'&&s.substr(0,2)!='<?')
return true;else
return false;}
dnn_xml.prototype.JsParser.prototype.processOpenTag=function(oParent)
{if(this.isOpenTag(this.getProcessString()))
{var sArr=this.getProcessString().split(' ');var oNode=new dnn.xml.JsXmlNode(oParent.ownerDocument);oNode.nodeName=sArr[0].substr(1).replace('/','');oNode.parentNode=oParent;this.processAttributes(oNode);oParent.appendChild(oNode);oParent=oNode;}
return oParent}
dnn_xml.prototype.JsParser.prototype.processAttributes=function(oNode)
{var s=this.getProcessString();if(s.indexOf(' ')>-1)
s=s.substr(s.indexOf(' ')+1);if(s.indexOf('=')>-1)
{var bValue=false;var sName='';var sValue='';var sChar;for(var i=0;i<s.length;i++)
{sChar=s.substr(i,1);if(sChar=='"')
{if(bValue)
{oNode.attributes[sName]=dnn.decodeHTML(sValue);sName='';sValue='';i++;}
bValue=!bValue;}
else if(sChar!='='||bValue==true)
{if(bValue)
sValue+=sChar;else
sName+=sChar;}}}}

if(typeof(__dnn_m_aNamespaces)=='undefined')
var __dnn_m_aNamespaces=new Array();function __dnn_getParser()
{if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
return'MSXML';else if(dnn.dom.browser.isType(dnn.dom.browser.Netscape,dnn.dom.browser.Mozilla))
return'DOMParser';else
return'JS';}
function dnn_xml()
{this.pns='dnn';this.ns='xml';this.dependencies='dnn,dnn.dom'.split(',');this.isLoaded=false;this.parserName=null;}
dnn_xml.prototype.init=function()
{this.parserName=__dnn_getParser();if(this.parserName=='MSXML')
{dnn_xml.prototype.createDocument=function()
{var o=new ActiveXObject('MSXML.DOMDocument');o.async=false;return new dnn.xml.documentObject(o);}
dnn_xml.prototype.documentObject.prototype.getXml=function(sXml)
{return this._doc.xml;}
dnn_xml.prototype.documentObject.prototype.loadXml=function(sXml)
{return this._doc.loadXML(sXml);}}
else if(this.parserName=='DOMParser')
{dnn_xml.prototype.createDocument=function()
{return new dnn.xml.documentObject(document.implementation.createDocument("","",null));}
dnn_xml.prototype.documentObject.prototype.getXml=function(sXml)
{return this._doc.xml;}
dnn_xml.prototype.documentObject.prototype.loadXml=function(sXml)
{var oDoc=(new DOMParser()).parseFromString(sXml,"text/xml");while(this._doc.hasChildNodes())
this._doc.removeChild(this._doc.lastChild);for(var i=0;i<oDoc.childNodes.length;i++)
this._doc.appendChild(this._doc.importNode(oDoc.childNodes[i],true));}
function __dnn_getNodeXml()
{var oXmlSerializer=new XMLSerializer;var sXml=oXmlSerializer.serializeToString(this);return sXml;}
Node.prototype.__defineGetter__("xml",__dnn_getNodeXml);}
else
{dnn_xml.prototype.createDocument=function()
{return new dnn.xml.documentObject(new dnn.xml.JsDocument());}
dnn_xml.prototype.documentObject.prototype.getXml=function()
{return this._doc.getXml();}
dnn_xml.prototype.documentObject.prototype.loadXml=function(sXml)
{return this._doc.loadXml(sXml);}}}
dnn_xml.prototype.documentObject=function(oDoc)
{this._doc=oDoc;}
dnn_xml.prototype.documentObject.prototype.childNodes=function(iIndex)
{if(this._doc.childNodes[iIndex]!=null)
return new dnn.xml.XmlNode(this._doc.childNodes[iIndex]);}
dnn_xml.prototype.documentObject.prototype.findNode=function(sNodeName,sAttr,sValue)
{return this.childNodes(0).findNode(sNodeName,sAttr,sValue);}
dnn_xml.prototype.documentObject.prototype.childNodeCount=function()
{return this._doc.childNodes.length;}
dnn_xml.prototype.documentObject.prototype.rootNode=function()
{var oNode;for(var i=0;i<this.childNodeCount();i++)
{if(this.childNodes(i).nodeType!=7)
{oNode=this.childNodes(i);break;}}
return oNode;}
dnn_xml.prototype.XmlNode=function(oNode)
{this.node=oNode;this.ownerDocument=this.node.ownerDocument;this.nodeType=this.node.nodeType;}
dnn_xml.prototype.XmlNode.prototype.parentNode=function()
{if(this.node.parentNode!=null)
return new dnn.xml.XmlNode(this.node.parentNode);else
return null;}
dnn_xml.prototype.XmlNode.prototype.childNodes=function(iIndex)
{if(this.node.childNodes[iIndex]!=null)
return new dnn.xml.XmlNode(this.node.childNodes[iIndex]);}
dnn_xml.prototype.XmlNode.prototype.childNodeCount=function()
{return this.node.childNodes.length;}
dnn_xml.prototype.XmlNode.prototype.nodeName=function()
{return this.node.nodeName;}
dnn_xml.prototype.XmlNode.prototype.getAttribute=function(sAttr,sDef)
{var sRet=this.node.getAttribute(sAttr);if(sRet==null)
sRet=sDef;return sRet;}
dnn_xml.prototype.XmlNode.prototype.setAttribute=function(sAttr,sVal)
{if(sVal==null)
return this.node.removeAttribute(sAttr);else
return this.node.setAttribute(sAttr,sVal);}
dnn_xml.prototype.XmlNode.prototype.getXml=function()
{if(this.node.xml!=null)
return this.node.xml;else
return this.node.getXml();}
dnn_xml.prototype.XmlNode.prototype.getDocumentXml=function()
{if(this.node.ownerDocument.xml!=null)
return this.node.ownerDocument.xml;else
return this.node.ownerDocument.getXml();}
dnn_xml.prototype.XmlNode.prototype.appendXml=function(sXml)
{var oDoc=dnn.xml.createDocument();oDoc.loadXml('<___temp>'+sXml+'</___temp>');var aNodes=new Array();for(var i=0;i<oDoc.childNodes(0).childNodeCount();i++)
aNodes[aNodes.length]=oDoc.childNodes(0).childNodes(i).node;for(var i=0;i<aNodes.length;i++)
this.node.appendChild(aNodes[i]);return true;}
dnn_xml.prototype.XmlNode.prototype.getNodeIndex=function(sIDName)
{var oParent=this.parentNode();var sID=this.getAttribute(sIDName);for(var i=0;i<oParent.childNodeCount();i++)
{if(oParent.childNodes(i).getAttribute(sIDName)==sID)
return i;}
return-1;}
dnn_xml.prototype.XmlNode.prototype.findNode=function(sNodeName,sAttr,sValue)
{var sXPath="//"+sNodeName+"[@"+sAttr+"='"+sValue+"']";var oNode;if(typeof(this.node.selectSingleNode)!='undefined')
oNode=this.node.selectSingleNode(sXPath);else if(typeof(this.node.ownerDocument.evaluate)!='undefined')
{var oNodeList=(this.node.ownerDocument.evaluate(sXPath,this.node,null,0,null));if(oNodeList!=null)
oNode=oNodeList.iterateNext();}
else
oNode=this.node.ownerDocument.findNode(this.node,sNodeName,sAttr,sValue);if(oNode!=null)
return new dnn.xml.XmlNode(oNode);}
dnn_xml.prototype.XmlNode.prototype.removeChild=function(oNode)
{return this.node.removeChild(oNode.node);}
dnn_xml.prototype.dependenciesLoaded=function()
{return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');}
dnn_xml.prototype.loadNamespace=function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{dnn.xml=this;this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);dnn.xml.init();}}}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_xml();for(var i=__dnn_m_aNamespaces.length-1;i>=0;i--)
__dnn_m_aNamespaces[i].loadNamespace();

if(typeof(__dnn_m_aNamespaces)=='undefined')
var __dnn_m_aNamespaces=new Array();function dnn_dom_positioning()
{this.pns='dnn.dom';this.ns='positioning';this.dragCtr=null;this.dragCtrDims=null;this.dependencies='dnn,dnn.dom'.split(',');this.isLoaded=false;}
dnn_dom_positioning.prototype.bodyScrollLeft=function()
{if(window.pageYOffset)
return window.pageYOffset;var oBody=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;return oBody.scrollLeft;}
dnn_dom_positioning.prototype.bodyScrollTop=function()
{if(window.pageXOffset)
return window.pageXOffset;var oBody=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;return oBody.scrollTop;}
dnn_dom_positioning.prototype.viewPortHeight=function()
{if(window.innerHeight)
return window.innerHeight;var oBody=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;return oBody.clientHeight;}
dnn_dom_positioning.prototype.viewPortWidth=function()
{if(window.innerWidth)
return window.innerWidth;var oBody=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;return oBody.clientWidth;}
dnn_dom_positioning.prototype.dragContainer=function(oCtl)
{var iNewLeft=0;var iNewTop=0;var e=dnn.dom.event.object;var oCont=dnn.dom.getById(oCtl.contID);var oTitle=dnn.dom.positioning.dragCtr;var iScrollTop=this.bodyScrollTop();var iScrollLeft=this.bodyScrollLeft();if(oCtl.startLeft==null)
oCtl.startLeft=e.clientX-this.elementLeft(oCont)+iScrollLeft;if(oCtl.startTop==null)
oCtl.startTop=e.clientY-this.elementTop(oCont)+iScrollTop;if(oCont.style.position=='relative')
oCont.style.position='absolute';iNewLeft=e.clientX-oCtl.startLeft+iScrollLeft;iNewTop=e.clientY-oCtl.startTop+iScrollTop;if(iNewLeft>this.elementWidth(document.forms[0]))
iNewLeft=this.elementWidth(document.forms[0]);if(iNewTop>this.elementHeight(document.forms[0]))
iNewTop=this.elementHeight(document.forms[0]);oCont.style.left=iNewLeft+'px';oCont.style.top=iNewTop+'px';if(oTitle!=null&&oTitle.dragOver!=null)
eval(oCtl.dragOver);}
dnn_dom_positioning.prototype.elementHeight=function(eSrc)
{if(eSrc.offsetHeight==null||eSrc.offsetHeight==0)
{if(eSrc.offsetParent==null)
return 0;if(eSrc.offsetParent.offsetHeight==null||eSrc.offsetParent.offsetHeight==0)
{if(eSrc.offsetParent.offsetParent!=null)
return eSrc.offsetParent.offsetParent.offsetHeight;else
return 0;}
else
return eSrc.offsetParent.offsetHeight;}
else
return eSrc.offsetHeight;}
dnn_dom_positioning.prototype.elementLeft=function(eSrc)
{return this.elementPos(eSrc).l;}
dnn_dom_positioning.prototype.elementOverlapScore=function(oDims1,oDims2)
{var iLeftScore=0;var iTopScore=0;if(oDims1.l<=oDims2.l&&oDims2.l<=oDims1.r)
iLeftScore+=(oDims1.r<oDims2.r?oDims1.r:oDims2.r)-oDims2.l;if(oDims2.l<=oDims1.l&&oDims1.l<=oDims2.r)
iLeftScore+=(oDims2.r<oDims1.r?oDims2.r:oDims1.r)-oDims1.l;if(oDims1.t<=oDims2.t&&oDims2.t<=oDims1.b)
iTopScore+=(oDims1.b<oDims2.b?oDims1.b:oDims2.b)-oDims2.t;if(oDims2.t<=oDims1.t&&oDims1.t<=oDims2.b)
iTopScore+=(oDims2.b<oDims1.b?oDims2.b:oDims1.b)-oDims1.t;return iLeftScore*iTopScore;}
dnn_dom_positioning.prototype.elementTop=function(eSrc)
{return this.elementPos(eSrc).t;}
dnn_dom_positioning.prototype.elementPos=function(eSrc)
{var oPos=new Object();oPos.t=0;oPos.l=0;oPos.at=0;oPos.al=0;var eParent=eSrc;if(eSrc.style.position=='absolute')
{oPos.t=eParent.offsetTop;oPos.l=eParent.offsetLeft;}
while(eParent!=null)
{oPos.at+=eParent.offsetTop;oPos.al+=eParent.offsetLeft;if(eSrc.style.position!='absolute')
{if(eParent.id==eSrc.id||eParent.style.position!='relative')
{oPos.t+=eParent.offsetTop;oPos.l+=eParent.offsetLeft;}}
eParent=eParent.offsetParent;if(eParent==null||(eParent.tagName.toUpperCase()=="BODY"&&dnn.dom.browser.isType(dnn.dom.browser.Konqueror)))
break;}
return oPos;}
dnn_dom_positioning.prototype.elementWidth=function(eSrc)
{if(eSrc.offsetWidth==null||eSrc.offsetWidth==0)
{if(eSrc.offsetParent==null)
return 0;if(eSrc.offsetParent.offsetWidth==null||eSrc.offsetParent.offsetWidth==0)
{if(eSrc.offsetParent.offsetParent!=null)
return eSrc.offsetParent.offsetParent.offsetWidth;else
return 0;}
else
return eSrc.offsetParent.offsetWidth}
else
return eSrc.offsetWidth;}
dnn_dom_positioning.prototype.enableDragAndDrop=function(oContainer,oTitle,sDragCompleteEvent,sDragOverEvent)
{dnn.dom.attachEvent(document.body,'onmousemove',__dnn_bodyMouseMove);dnn.dom.attachEvent(document.body,'onmouseup',__dnn_bodyMouseUp);dnn.dom.attachEvent(oTitle,'onmousedown',__dnn_containerMouseDownDelay);if(dnn.dom.browser.type==dnn.dom.browser.InternetExplorer)
oTitle.style.cursor='hand';else
oTitle.style.cursor='pointer';if(oContainer.id.length==0)
oContainer.id=oTitle.id+'__dnnCtr';oTitle.contID=oContainer.id;if(sDragCompleteEvent!=null)
oTitle.dragComplete=sDragCompleteEvent;if(sDragOverEvent!=null)
oTitle.dragOver=sDragOverEvent;return true;}
dnn_dom_positioning.prototype.placeOnTop=function(oCont,bShow,sSrc)
{if(dnn.dom.browser.isType(dnn.dom.browser.Opera,dnn.dom.browser.Opera,dnn.dom.browser.Mozilla,dnn.dom.browser.Netscape))
return;var oIFR=dnn.dom.getById('ifr'+oCont.id);if(bShow)
{if(oIFR==null)
{var oIFR=document.createElement('iframe');oIFR.id='ifr'+oCont.id;if(sSrc!=null)
oIFR.src=sSrc;oIFR.style.top='0px';oIFR.style.left='0px';oIFR.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0)";oIFR.scrolling='no';oIFR.frameBorder='no';oIFR.style.display='none';oIFR.style.position='absolute';oCont.parentNode.appendChild(oIFR);}
var oDims=new dnn.dom.positioning.dims(oCont);oIFR.style.width=oDims.w;oIFR.style.height=oDims.h;oIFR.style.top=oDims.t+'px';oIFR.style.left=oDims.l+'px';var iIndex=dnn.dom.getCurrentStyle(oCont,'zIndex');if(iIndex==null||iIndex==0)
oCont.style.zIndex=1;oIFR.style.zIndex=iIndex-1;oIFR.style.display="block";}
else if(oIFR!=null)
oIFR.style.display='none';}
dnn_dom_positioning.prototype.dims=function(eSrc)
{var bHidden=(eSrc.style.display=='none');if(bHidden)
eSrc.style.display="";this.w=dnn.dom.positioning.elementWidth(eSrc);this.h=dnn.dom.positioning.elementHeight(eSrc);var oPos=dnn.dom.positioning.elementPos(eSrc);this.t=oPos.t;this.l=oPos.l;this.at=oPos.at;this.al=oPos.al;this.rot=this.at-this.t;this.rol=this.al-this.l;this.r=this.l+this.w;this.b=this.t+this.h;if(bHidden)
eSrc.style.display="none";}
dnn_dom_positioning.prototype.dependenciesLoaded=function()
{return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');}
dnn_dom_positioning.prototype.loadNamespace=function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{dnn.dom.positioning=this;this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);}}}
function __dnn_containerMouseDownDelay()
{var oTitle=dnn.dom.event.srcElement;dnn.doDelay('__dnn_dragdrop',500,__dnn_containerMouseDown,oTitle);}
function __dnn_containerMouseDown(oCtl)
{while(oCtl.contID==null)
{oCtl=oCtl.parentNode;if(oCtl.tagName.toUpperCase()=='BODY')
return;}
dnn.dom.positioning.dragCtr=oCtl;oCtl.startTop=null;oCtl.startLeft=null;var oCont=dnn.dom.getById(oCtl.contID);if(oCont.style.position==null||oCont.style.position.length==0)
oCont.style.position='relative';dnn.dom.positioning.dragCtrDims=new dnn.dom.positioning.dims(oCont);if(oCont.getAttribute('_b')==null)
{oCont.setAttribute('_b',oCont.style.backgroundColor);oCont.setAttribute('_z',oCont.style.zIndex);oCont.setAttribute('_w',oCont.style.width);oCont.setAttribute('_d',oCont.style.border);oCont.style.zIndex=9999;oCont.style.backgroundColor=DNN_HIGHLIGHT_COLOR;oCont.style.border='4px outset '+DNN_HIGHLIGHT_COLOR;oCont.style.width=dnn.dom.positioning.elementWidth(oCont);if(dnn.dom.browser.type==dnn.dom.browser.InternetExplorer)
oCont.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=80)';}}
function __dnn_bodyMouseUp()
{dnn.cancelDelay('__dnn_dragdrop');var oCtl=dnn.dom.positioning.dragCtr;if(oCtl!=null&&oCtl.dragComplete!=null)
{eval(oCtl.dragComplete);var oCont=dnn.dom.getById(oCtl.contID);oCont.style.backgroundColor=oCont.getAttribute('_b');oCont.style.zIndex=oCont.getAttribute('_z');oCont.style.width=oCont.getAttribute('_w');oCont.style.border=oCont.getAttribute('_d');oCont.setAttribute('_b',null);oCont.setAttribute('_z',null);if(dnn.dom.browser.type==dnn.dom.browser.InternetExplorer)
oCont.style.filter=null;}
dnn.dom.positioning.dragCtr=null;}
function __dnn_bodyMouseMove()
{if(dnn.dom.positioning.dragCtr!=null)
dnn.dom.positioning.dragContainer(dnn.dom.positioning.dragCtr);}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_dom_positioning();for(var i=__dnn_m_aNamespaces.length-1;i>=0;i--)
__dnn_m_aNamespaces[i].loadNamespace();

if(typeof(__dnn_m_aNamespaces)=='undefined')
var __dnn_m_aNamespaces=new Array();function __dnn_getParser()
{if(dnn_xmlhttp.JsXmlHttpRequest!=null)
return'JS';if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
return'ActiveX';else if(typeof(XMLHttpRequest)!="undefined")
return'Native';else
return'JS';}
function __dnn_cleanupxmlhttp()
{for(var i=0;i<dnn.xmlhttp.requests.length;i++)
{if(dnn.xmlhttp.requests[i]!=null)
{if(dnn.xmlhttp.requests[i].completed)
{dnn.xmlhttp.requests[i].dispose();if(dnn.xmlhttp.requests.length==1)
dnn.xmlhttp.requests=new Array();else
dnn.xmlhttp.requests.splice(i,i);}}}}
function dnn_xmlhttp()
{this.pns='dnn';this.ns='xmlhttp';this.dependencies='dnn,dnn.dom'.split(',');this.isLoaded=false;this.parserName=null;this.contextId=0;this.requests=new Array();this.cleanUpTimer=null;}
dnn_xmlhttp.prototype.init=function()
{this.parserName=__dnn_getParser();}
dnn_xmlhttp.prototype.doCallBack=function(sControlId,sArg,pSuccessFunc,sContext,pFailureFunc,pStatusFunc,bAsync,sPostChildrenId,iType)
{var oReq=dnn.xmlhttp.createRequestObject();var sURL=document.location.href;oReq.successFunc=pSuccessFunc;oReq.failureFunc=pFailureFunc;oReq.statusFunc=pStatusFunc;oReq.context=sContext;if(bAsync==null)
bAsync=true;if(sURL.indexOf('.aspx')==-1)
sURL+='default.aspx';if(sURL.indexOf('?')==-1)
sURL+='?';else
sURL+='&';oReq.open('POST',sURL,bAsync);sArg=dnn.encode(sArg);if(sPostChildrenId)
sArg+='&'+dnn.dom.getFormPostString($(sPostChildrenId));if(iType!=0)
sArg+='&__DNNCAPISCT='+iType;oReq.send('__DNNCAPISCI='+sControlId+'&__DNNCAPISCP='+sArg);return oReq;}
dnn_xmlhttp.prototype.createRequestObject=function()
{if(this.parserName=='ActiveX')
{var o=new ActiveXObject('Microsoft.XMLHTTP');dnn.xmlhttp.requests[dnn.xmlhttp.requests.length]=new dnn.xmlhttp.XmlHttpRequest(o);return dnn.xmlhttp.requests[dnn.xmlhttp.requests.length-1];}
else if(this.parserName=='Native')
{return new dnn.xmlhttp.XmlHttpRequest(new XMLHttpRequest());}
else
{var oReq=new dnn.xmlhttp.XmlHttpRequest(new dnn.xmlhttp.JsXmlHttpRequest());dnn.xmlhttp.requests[oReq._request.contextId]=oReq;return oReq;}}
dnn_xmlhttp.prototype.XmlHttpRequest=function(o)
{this._request=o;this.successFunc=null;this.failureFunc=null;this.statusFunc=null;this._request.onreadystatechange=dnn.dom.getObjMethRef(this,'onreadystatechange');this.context=null;this.completed=false;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.dispose=function()
{if(this._request!=null)
{this._request.onreadystatechange=new function(){};this._request.abort();this._request=null;this.successFunc=null;this.failureFunc=null;this.statusFunc=null;this.context=null;this.completed=null;this.postData=null;}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.open=function(sMethod,sURL,bAsync)
{this._request.open(sMethod,sURL,bAsync);if(typeof(this._request.setRequestHeader)!='undefined')
this._request.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");return true;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.send=function(postData)
{this.postData=postData;if(dnn.xmlhttp.parserName=='ActiveX')
this._request.send(postData);else
this._request.send(postData);return true;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.onreadystatechange=function()
{if(this.statusFunc!=null)
this.statusFunc(this._request.readyState,this.context,this);if(this._request.readyState=='4')
{this.complete(this._request.responseText);if(dnn.xmlhttp.parserName=='ActiveX')
window.setTimeout(__dnn_cleanupxmlhttp,1);}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.complete=function(sRes)
{var sStatusCode=this.getResponseHeader('__DNNCAPISCSI');this.completed=true;if(sStatusCode=='200')
this.successFunc(sRes,this.context,this);else
{var sStatusDesc=this.getResponseHeader('__DNNCAPISCSDI');if(this.failureFunc!=null)
this.failureFunc(sStatusCode+' - '+sStatusDesc,this.context,this);else
alert(sStatusCode+' - '+sStatusDesc);}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.getResponseHeader=function(sKey)
{return this._request.getResponseHeader(sKey);}
dnn_xmlhttp.prototype.dependenciesLoaded=function()
{return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');}
dnn_xmlhttp.prototype.loadNamespace=function()
{if(this.isLoaded==false)
{if(this.dependenciesLoaded())
{dnn.xmlhttp=this;this.isLoaded=true;dnn.loadDependencies(this.pns,this.ns);dnn.xmlhttp.init();}}}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_xmlhttp();for(var i=__dnn_m_aNamespaces.length-1;i>=0;i--)
__dnn_m_aNamespaces[i].loadNamespace();

if(typeof(dnn_control)=='undefined')
eval('function dnn_control() {}')
dnn_control.prototype.initMenu=function(oCtl)
{dnn.extend(dnn.controls.DNNMenuNode.prototype,new dnn.controls.DNNNode);if(oCtl)
{dnn.controls.controls[oCtl.id]=new dnn.controls.DNNMenu(oCtl);dnn.controls.controls[oCtl.id].generateMenuHTML();return dnn.controls.controls[oCtl.id];}}
dnn_control.prototype.DNNMenu=function(o)
{this.ns=o.id;this.container=o;this.DOM=new dnn.xml.createDocument();this.DOM.loadXml(dnn.getVar(o.id+'_xml'));this.mbcss=dnn.dom.getAttr(o,'mbcss','');this.mcss=dnn.dom.getAttr(o,'mcss','');this.css=dnn.dom.getAttr(o,'css','');this.cssChild=dnn.dom.getAttr(o,'csschild','');this.cssHover=dnn.dom.getAttr(o,'csshover','');this.cssSel=dnn.dom.getAttr(o,'csssel','');this.cssIcon=dnn.dom.getAttr(o,'cssicon','');this.sysImgPath=dnn.dom.getAttr(o,'sysimgpath','');this.imagePaths=dnn.dom.getAttr(o,'imagepaths','').split(',');this.imageList=dnn.dom.getAttr(o,'imagelist','').split(',');for(var i=0;i<this.imageList.length;i++)
{var iPos=this.imageList[i].indexOf(']');if(iPos>-1)
this.imageList[i]=this.imagePaths[this.imageList[i].substring(1,iPos)]+this.imageList[i].substring(iPos+1);}
this.urlList=dnn.dom.getAttr(o,'urllist','').split(',');this.workImg=dnn.dom.getAttr(o,'workimg','dnnanim.gif');this.rootArrow=dnn.dom.getAttr(o,'rarrowimg','');this.childArrow=dnn.dom.getAttr(o,'carrowimg','');this.target=dnn.dom.getAttr(o,'target','');this.defaultJS=dnn.dom.getAttr(o,'js','');this.postBack=dnn.dom.getAttr(o,'postback','');this.callBack=dnn.dom.getAttr(o,'callback','');this.callBackStatFunc=dnn.dom.getAttr(o,'callbacksf','');this.selMenuNode=null;this.rootNode=null;this.orient=new Number(dnn.dom.getAttr(o,'orient',dnn.controls.orient.horizontal));this.suborient=new Number(dnn.dom.getAttr(o,'suborient',dnn.controls.orient.vertical));this.openMenus=new Array();this.moutDelay=dnn.dom.getAttr(o,'moutdelay',500);this.minDelay=new Number(dnn.dom.getAttr(o,'mindelay',250));this.anim=dnn.dom.getAttr(o,'anim','');this.useTables=(dnn.dom.getAttr(o,'usetables','1')=='1');this.enablePostbackState=(dnn.dom.getAttr(o,'enablepbstate','0')=='1');this.enablePostbackState=true;this.podInProgress=false;this.keyboardAccess=(dnn.dom.getAttr(o,'kbaccess','1')=='1');this.childControls=null;this.hoverMenuNode=null;this.selMenuNode=null;this.rootNode=null;if(this.keyboardAccess)
{if(this.container.tabIndex<=0)
{this.container.tabIndex=0;dnn.dom.addSafeHandler(this.container,'onkeydown',this,'keyboardHandler');dnn.dom.addSafeHandler(this.container,'onfocus',this,'focusHandler');dnn.dom.addSafeHandler(this.container,'onblur',this,'blurHandler');}
else
{var oTxt=document.createElement('input');oTxt.type='text';oTxt.style.width=0;oTxt.style.height=0;oTxt.style.background='transparent';oTxt.style.border=0;oTxt.style.positioning='absolute';if(dnn.dom.browser.isType(dnn.dom.browser.Safari))
{oTxt.style.width=1;oTxt.style.height=1;dnn.dom.addSafeHandler(oTxt,'onkeydown',this,'keyboardHandler');dnn.dom.addSafeHandler(this.container.parentNode,'onkeypress',this,'safariKeyHandler');}
else
dnn.dom.addSafeHandler(oTxt,'onkeypress',this,'keyboardHandler');dnn.dom.addSafeHandler(oTxt,'onfocus',this,'focusHandler');dnn.dom.addSafeHandler(oTxt,'onblur',this,'blurHandler');this.container.parentNode.appendChild(oTxt);}}}
dnn_control.prototype.DNNMenu.prototype={getXml:function()
{return this.DOM.getXml();},generateMenuHTML:function()
{this.childControls=new Array();this.rootNode=this.DOM.rootNode();this.container.className=this.mbcss;for(var i=0;i<this.rootNode.childNodeCount();i++)
this.renderNode(this.rootNode.childNodes(i),this.container);this.update();},renderNode:function(oNode,oCtr)
{var oMNode=new dnn.controls.DNNMenuNode(oNode);if(oMNode.selected)
this.selMenuNode=oMNode;var oMBuilder;if(this.useTables&&oMNode.level>0&&this.isNodeVertical(oMNode))
oMBuilder=new dnn.controls.DNNMenuTableBuilder(this,oMNode,oCtr);else
oMBuilder=new dnn.controls.DNNMenuBuilder(this,oMNode,oCtr);if(this.isNodeVertical(oMNode))
oMBuilder.newRow();oMBuilder.newCont();if(oMNode.lhtml.length>0)
oMBuilder.appendChild(this.renderCustomHTML(oMNode.lhtml));var oIcn=this.renderIcon(oMNode);oMBuilder.appendChild(oIcn);if(this.useTables==false||oMNode.level==0)
oIcn.className=(oMNode.cssIcon.length>0?oMNode.cssIcon:this.cssIcon);else
oMBuilder.subcont.className=(oMNode.cssIcon.length>0?oMNode.cssIcon:this.cssIcon);if(oMNode.isBreak==false)
oMBuilder.appendChild(this.renderText(oMNode),true);oMBuilder.newCell();this.renderArrow(oMNode,oMBuilder.subcont);if(oMNode.rhtml.length>0)
oMBuilder.appendChild(this.renderCustomHTML(oMNode.rhtml));if(oMNode.toolTip.length>0)
oMBuilder.row.title=oMNode.toolTip;this.assignCss(oMNode);if(oMNode.enabled)
dnn.dom.addSafeHandler(oMBuilder.row,'onclick',this,'nodeTextClick');dnn.dom.addSafeHandler(oMBuilder.row,'onmouseover',this,'nodeMOver');dnn.dom.addSafeHandler(oMBuilder.row,'onmouseout',this,'nodeMOut');dnn.dom.addSafeHandler(oMBuilder.container,'onmouseover',this,'menuMOver');dnn.dom.addSafeHandler(oMBuilder.container,'onmouseout',this,'menuMOut');if(oMNode.hasNodes||oMNode.hasPendingNodes)
{var oSub=this.renderSubMenu(oMNode);this.container.appendChild(oSub);for(var i=0;i<oNode.childNodeCount();i++)
this.renderNode(oNode.childNodes(i),oSub);}},renderCustomHTML:function(sHTML)
{var oCtr=dnn.dom.createElement('span');oCtr.innerHTML=sHTML;return oCtr;},renderIcon:function(oMNode)
{var oCtr=dnn.dom.createElement('span');if(oMNode.imageIndex>-1||oMNode.image!='')
{var oImg=this.createChildControl('img',oMNode.id,'icn');oImg.src=(oMNode.image.length>0?oMNode.image:this.imageList[oMNode.imageIndex]);oCtr.appendChild(oImg);}
return oCtr;},renderArrow:function(oMNode,oCont)
{if(oMNode.hasNodes||oMNode.hasPendingNodes)
{var sImg=(oMNode.level==0?this.rootArrow:this.childArrow);if(sImg.length>0)
{if(this.useTables&&oMNode.level>0)
{var oImg=dnn.dom.createElement('img');oImg.src=sImg;oCont.appendChild(oImg);}
else
{oCont.style.backgroundImage='url('+sImg+')';oCont.style.backgroundRepeat='no-repeat';oCont.style.backgroundPosition='right';}}}},renderText:function(oMNode)
{var oCtr=this.createChildControl('span',oMNode.id,'t');oCtr.innerHTML=oMNode.text;oCtr.style.cursor='pointer';return oCtr;},renderSubMenu:function(oMNode)
{var oMBuilder;if(this.suborient==dnn.controls.orient.vertical)
oMBuilder=new dnn.controls.DNNMenuTableBuilder(this,oMNode);else
oMBuilder=new dnn.controls.DNNMenuBuilder(this,oMNode);var oSub=oMBuilder.createSubMenu();oSub.style.position='absolute';oSub.style.display='none';oSub.className=this.mcss;return oSub;},hoverNode:function(oMNode)
{if(this.hoverMenuNode!=null)
{this.hoverMenuNode.hover=false;this.assignCss(this.hoverMenuNode);}
if(oMNode!=null)
{oMNode.hover=true;this.assignCss(oMNode);}
this.hoverMenuNode=oMNode;},__expandNode:function(oContext)
{this.expandNode(oContext,true);},expandNode:function(oMNode,bForce)
{dnn.cancelDelay(this.ns+'min');if(oMNode.hasPendingNodes)
{if(this.podInProgress==false)
{this.podInProgress=true;this.showWorkImage(oMNode,true);oMNode.menu=this;if(this.callBack.indexOf('[NODEXML]')>-1)
eval(this.callBack.replace('[NODEXML]',dnn.escapeForEval(oMNode.node.getXml())));else
eval(this.callBack.replace('[NODEID]',oMNode.id));}}
else
{if(this.minDelay==0||bForce)
{this.hideMenus(new dnn.controls.DNNMenuNode(oMNode.node.parentNode()));var oSub=this.getChildControl(oMNode.id,'sub');if(oSub!=null)
{this.positionMenu(oMNode,oSub);this.showSubMenu(oSub,true);this.openMenus[this.openMenus.length]=oMNode;}}
else
dnn.doDelay(this.ns+'min',this.minDelay,dnn.createDelegate(this,this.__expandNode),oMNode);}
return true;},showSubMenu:function(oSub,bShow)
{oSub.style.display=(bShow?'':'none');dnn.dom.positioning.placeOnTop(oSub,bShow,this.sysImgPath+'spacer.gif');},showWorkImage:function(oMNode,bShow)
{if(this.workImg!=null)
{var oIcn=this.getChildControl(oMNode.id,'icn');if(oIcn!=null)
{if(bShow)
oIcn.src=this.sysImgPath+this.workImg;else
oIcn.src=(oMNode.image.length>0?oMNode.image:this.imageList[oMNode.imageIndex]);}}},isNodeVertical:function(oMNode)
{return((oMNode.level==0&&this.orient==dnn.controls.orient.vertical)||(oMNode.level>0&&this.suborient==dnn.controls.orient.vertical));},hideMenus:function(oMNode)
{for(var i=this.openMenus.length-1;i>=0;i--)
{if(oMNode!=null&&this.openMenus[i].id==oMNode.id)
break;this.collapseNode(this.openMenus[i]);this.openMenus.length=this.openMenus.length-1;}},collapseNode:function(oMNode)
{var oSub=this.getChildControl(oMNode.id,'sub');if(oSub!=null)
{this.showSubMenu(oSub,false);oMNode.expanded=null;oMNode.update();this.update();return true;}},positionMenu:function(oMNode,oMenu)
{var oPCtl=this.getChildControl(oMNode.id,'ctr');if(dnn.dom.browser.isType(dnn.dom.browser.Safari,dnn.dom.browser.Opera))
{if(oPCtl.tagName=='TR'&&oPCtl.childNodes.length>0)
oPCtl=oPCtl.childNodes[oPCtl.childNodes.length-1];}
var oPDims=new dnn.dom.positioning.dims(oPCtl);var oMDims=new dnn.dom.positioning.dims(oMenu);var iScrollLeft=dnn.dom.positioning.bodyScrollLeft();var iScrollTop=dnn.dom.positioning.bodyScrollTop()
var iMaxTop=dnn.dom.positioning.viewPortHeight()+iScrollTop-oPDims.rot;var iMaxLeft=dnn.dom.positioning.viewPortWidth()+iScrollLeft-oPDims.rol;var iNewTop=oPDims.t;var iNewLeft=oPDims.l;var iStartTop=oPDims.t;var iStartLeft=oPDims.l;if(this.isNodeVertical(oMNode))
{iNewLeft=oPDims.l+oPDims.w;iStartTop=iMaxTop;}
else
{iNewTop=oPDims.t+oPDims.h;iStartLeft=iMaxLeft;}
if(iNewTop+oMDims.h>=iMaxTop)
{if(oPDims.rot+iStartTop-oMDims.h>iScrollTop)
iNewTop=iStartTop-oMDims.h;}
if(iNewLeft+oMDims.w>iMaxLeft)
{if(oPDims.rol+iStartLeft-oMDims.w>iScrollLeft)
iNewLeft=iStartLeft-oMDims.w;}
if(this.suborient==dnn.controls.orient.horizontal&&this.isNodeVertical(oMNode)==false)
{var oRDims=new dnn.dom.positioning.dims(this.container);iNewLeft=oRDims.l;}
oMenu.style.top=iNewTop+'px';oMenu.style.left=iNewLeft+'px';},selectNode:function(oMNode)
{if(this.selMenuNode!=null)
{this.selMenuNode.selected=null;this.selMenuNode.update('selected');this.assignCss(this.selMenuNode);}
oMNode.selected=(oMNode.selected?null:true);oMNode.update('selected');this.assignCss(oMNode);this.selMenuNode=oMNode;this.update();if(oMNode.hasNodes||oMNode.hasPendingNodes)
this.expandNode(oMNode,true);if(oMNode.selected)
{var sJS=this.defaultJS;if(oMNode.js.length>0)
sJS=oMNode.js;this.enablePostbackState=true;this.update();if(sJS.length>0)
{if(eval(sJS)==false)
return;}
if(oMNode.clickAction==dnn.controls.action.postback)
eval(this.postBack.replace('[NODEID]',oMNode.id));else if(oMNode.clickAction==dnn.controls.action.nav)
dnn.dom.navigate(oMNode.getUrl(this),oMNode.target.length>0?oMNode.target:this.target);}
return true;},assignCss:function(oMNode)
{var oCtr=this.getChildControl(oMNode.id,'ctr');var sCss=this.css;if(oMNode.level>0&&this.cssChild.length>0)
sCss=this.cssChild;if(oMNode.css.length>0)
sCss=oMNode.css;if(oMNode.hover)
sCss+=' '+(oMNode.cssHover.length>0?oMNode.cssHover:this.cssHover);if(oMNode.selected)
sCss+=' '+(oMNode.cssSel.length>0?oMNode.cssSel:this.cssSel);oCtr.className=sCss;},update:function(bForce)
{if(this.enablePostbackState||bForce)
dnn.setVar(this.ns+'_xml',this.DOM.getXml());else
dnn.setVar(this.ns+'_xml','');return true;},focusHandler:function(e)
{var oMNode=this.hoverMenuNode;if(oMNode==null)
oMNode=this.selMenuNode;if(oMNode==null)
oMNode=new dnn.controls.DNNMenuNode(this.rootNode.childNodes(0));this.hoverNode(oMNode);this.container.onfocus=null;},blurHandler:function(e)
{if(this.hoverMenuNode!=null)
this.hoverNode(null);dnn.cancelDelay(this.ns+'min');if(this.moutDelay>0)
dnn.doDelay(this.ns+'mout',this.moutDelay,dnn.createDelegate(this,this.hideMenus));else
this.hideMenus();},safariKeyHandler:function(e)
{if(e.keyCode==KEY_RETURN)
{if(this.hoverMenuNode!=null&&this.hoverMenuNode.enabled)
this.selectNode(this.hoverMenuNode);return false;}},keyboardHandler:function(e)
{if(e.keyCode==KEY_RETURN)
{if(this.hoverMenuNode!=null&&this.hoverMenuNode.enabled)
this.selectNode(this.hoverMenuNode);return false;}
if(e.keyCode==KEY_ESCAPE)
{this.blurHandler();return false;}
if(e.keyCode>=KEY_LEFT_ARROW&&e.keyCode<=KEY_DOWN_ARROW)
{var iDir=(e.keyCode==KEY_UP_ARROW||e.keyCode==KEY_LEFT_ARROW)?-1:1;var sAxis=(e.keyCode==KEY_UP_ARROW||e.keyCode==KEY_DOWN_ARROW)?'y':'x';var oMNode=this.hoverMenuNode;var oNewMNode;if(oMNode==null)
oMNode=new dnn.controls.DNNMenuNode(this.rootNode.childNodes(0));var bHor=!this.isNodeVertical(oMNode);if((sAxis=='y'&&!bHor)||(bHor&&sAxis=='x'))
{this.hideMenus(new dnn.controls.DNNMenuNode(oMNode.node.parentNode()));oNewMNode=this.__getNextNode(oMNode,iDir);}
else
{if(iDir==-1)
{oNewMNode=new dnn.controls.DNNMenuNode(oMNode.node.parentNode());if(oNewMNode.level==0&&this.orient==dnn.controls.orient.horizontal)
oNewMNode=this.__getNextNode(new dnn.controls.DNNMenuNode(oMNode.node.parentNode()),iDir);this.hideMenus(oNewMNode);}
else if(iDir==1)
{if(oMNode.hasNodes||oMNode.hasPendingNodes)
{if(oMNode.expanded!=true)
{this.expandNode(oMNode);if(this.podInProgress==false)
oNewMNode=new dnn.controls.DNNMenuNode(oMNode.node.childNodes(0));}}
else
{var oNode=oMNode.node;while(oNode.parentNode().nodeName()!='root')
oNode=oNode.parentNode();oNewMNode=new dnn.controls.DNNMenuNode(oNode);oNewMNode=this.__getNextNode(oNewMNode,iDir);this.hideMenus(new dnn.controls.DNNMenuNode(oNewMNode.node.parentNode()));}}}
if(oNewMNode!=null&&oNewMNode.node.nodeName()!='root')
this.hoverNode(oNewMNode);return false;}},__getNextNode:function(oMNode,iDir)
{var oNode;var oParentNode=oMNode.node.parentNode();var iNodeIndex=oMNode.node.getNodeIndex('id');if(iNodeIndex+iDir<0)
oNode=oParentNode.childNodes(oParentNode.childNodeCount()-1);else if(iNodeIndex+iDir>oParentNode.childNodeCount()-1)
oNode=oParentNode.childNodes(0);else
oNode=oParentNode.childNodes(iNodeIndex+iDir);var oRetNode=new dnn.controls.DNNMenuNode(oNode);if(oRetNode.isBreak)
{iNodeIndex+=iDir;if(iNodeIndex+iDir<0)
oNode=oParentNode.childNodes(oParentNode.childNodeCount()-1);else if(iNodeIndex+iDir>oParentNode.childNodeCount()-1)
oNode=oParentNode.childNodes(0);else
oNode=oParentNode.childNodes(iNodeIndex+iDir);return new dnn.controls.DNNMenuNode(oNode);}
else
return oRetNode;},callBackStatus:function(result,ctx)
{var oMNode=ctx;var oMenu=oMNode.menu;if(oMenu.callBackStatFunc!=null&&oMenu.callBackStatFunc.length>0)
{var oPtr=eval(oMenu.callBackStatFunc);oPtr(result,ctx);}},callBackSuccess:function(result,ctx)
{var oMNode=ctx;var oNode=oMNode.node;var oMenu=oMNode.menu;oMenu.showWorkImage(oMNode,false);oNode.appendXml(result);var oSub=oMenu.getChildControl(oMNode.id,'sub');for(var i=0;i<oNode.childNodeCount();i++)
oMenu.renderNode(oNode.childNodes(i),oSub);oMNode.hasPendingNodes=false;oMNode.hasNodes=true;oMenu.update();oSub=oMenu.getChildControl(oMNode.id,'sub');oMenu.expandNode(new dnn.controls.DNNMenuNode(oNode));oMenu.callBackStatus(result,ctx);oMenu.podInProgress=false;},callBackFail:function(result,ctx)
{window.status=result;},nodeTextClick:function(evt,element)
{var oNode=this.DOM.findNode('n','id',element.nodeid);if(oNode!=null)
this.selectNode(new dnn.controls.DNNMenuNode(oNode));},menuMOver:function(evt,element)
{dnn.cancelDelay(this.ns+'mout');},menuMOut:function(evt,element)
{dnn.cancelDelay(this.ns+'min');if(this.moutDelay>0)
dnn.doDelay(this.ns+'mout',this.moutDelay,dnn.createDelegate(this,this.hideMenus));else
this.hideMenus();},nodeMOver:function(evt,element)
{var oNode=this.DOM.findNode('n','id',element.nodeid);if(oNode!=null)
{var oMNode=new dnn.controls.DNNMenuNode(oNode);oMNode.hover=true;this.assignCss(oMNode);this.expandNode(oMNode);}},nodeMOut:function(evt,element)
{var oNode=this.DOM.findNode('n','id',element.nodeid);if(oNode!=null)
{var oMNode=new dnn.controls.DNNMenuNode(oNode);this.assignCss(oMNode);}},createChildControl:function(sTag,sNodeID,sPrefix)
{var oCtl=dnn.dom.createElement(sTag);oCtl.ns=this.ns;oCtl.nodeid=sNodeID;oCtl.id=this.ns+sPrefix+sNodeID;this.childControls[oCtl.id]=oCtl;return oCtl;},getChildControl:function(sNodeID,sPrefix)
{var sId=this.ns+sPrefix+sNodeID;if(this.childControls[sId]!=null)
return this.childControls[sId];else
return $(sId);}}
dnn_control.prototype.DNNMenuBuilder=function(oMenu,oMNode,oCont)
{this.menu=oMenu;this.menuNode=oMNode;this.isVertical=oMenu.isNodeVertical(oMNode);this.container=oCont;this.row=null;this.subcont=null;}
dnn_control.prototype.DNNMenuBuilder.prototype={appendChild:function(oCtl,bNewCell)
{this.subcont.appendChild(oCtl);},newCell:function(){},newCont:function()
{if(this.isVertical)
this.row=this.menu.createChildControl('div',this.menuNode.id,'ctr');else
this.row=this.menu.createChildControl('span',this.menuNode.id,'ctr');this.subcont=this.row;this.container.appendChild(this.subcont);},newRow:function()
{},createSubMenu:function()
{return this.menu.createChildControl('DIV',this.menuNode.id,'sub');}}
dnn_control.prototype.DNNMenuTableBuilder=function(oMenu,oMNode,oCont)
{this.base=dnn.controls.DNNMenuBuilder;this.base(oMenu,oMNode,oCont);}
dnn_control.prototype.DNNMenuTableBuilder.prototype={appendChild:function(oCtl,bNewCell)
{if(bNewCell)
this.newCell();this.subcont.appendChild(oCtl);},newCont:function()
{this.subcont=this.newCell();},newCell:function()
{var oTD=dnn.dom.createElement('td');this.row.appendChild(oTD);this.subcont=oTD;return oTD;},newRow:function()
{this.row=this.menu.createChildControl('tr',this.menuNode.id,'ctr');var oTBs=dnn.dom.getByTagName('TBODY',this.container);oTBs[0].appendChild(this.row);},createSubMenu:function()
{var oSub=this.menu.createChildControl('table',this.menuNode.id,'sub');oSub.border=0;oSub.cellPadding=0;oSub.cellSpacing=0;oSub.appendChild(dnn.dom.createElement('tbody'));return oSub;}}
dnn_control.prototype.DNNMenuNode=function(oNode)
{this.base=dnn.controls.DNNNode;this.base(oNode);this.hover=false;this.expanded=oNode.getAttribute('expanded','0')=='1'?true:null;this.selected=oNode.getAttribute('selected','0')=='1'?true:null;this.clickAction=oNode.getAttribute('ca',dnn.controls.action.postback);this.imageIndex=new Number(oNode.getAttribute('iIdx','-1'));this.urlIndex=new Number(oNode.getAttribute('uIdx','-1'));this.isBreak=oNode.getAttribute('break','0')=='1'?true:false;this.lhtml=oNode.getAttribute('lhtml','');this.rhtml=oNode.getAttribute('rhtml','');}
dnn_control.prototype.DNNMenuNode.prototype={childNodes:function(iIndex)
{if(this.node.childNodes[iIndex]!=null)
return new dnn.controls.DNNMenuNode(this.node.childNodes[iIndex]);},getUrl:function(oMenu)
{if(this.urlIndex>-1)
return oMenu.urlList[this.urlIndex]+this.url;else
return this.url;}}
if(typeof(dnn_controls)!='undefined')
{dnn.extend(dnn_controls.prototype,dnn_control.prototype);dnn.controls=new dnn_controls();}


//DNNRichText is a dynamically loaded script used by the DNNLabelEdit control
dnn_control.prototype.DNNRichText = function (fInit)
{
	this.supportsCE = (document.body.contentEditable != null);
	this.text = '';
	this.supportsMultiLine = true;
	this.document = null;
	this.control = null;
	this.initialized = false;
	this.isRichText = true;
	this.loaded = false;

	if (this.supportsCE)
	{
		this.document = document;
		this.container = document.createElement('span');
		this.container.contentEditable = true;	//ie doesn't need no stinkin' iframe
		this.control = this.container;
		this.initialized = true;
	}
	else
	{
		this.container = document.createElement('iframe');
		this.container.src = '';
		this.container.style.border = '0';
		this.initFunc = fInit;	//pointer to function to call when iframe completely loads
		dnn.doDelay(this.container.id + 'initEdit', 10, dnn.dom.getObjMethRef(this, 'initDocument'));	//onreadystate and onload not completely reliable
	}
}

dnn_control.prototype.DNNRichText.prototype = 
{
focus: function()
{
	if (this.supportsCE)
	{
		this.control.focus();
		//this.execCommand('selectall');
	}
	else
		this.container.contentWindow.focus();
},

execCommand: function(cmd, bUserInterface, vValue)
{
	this.document.execCommand(cmd, bUserInterface, vValue);	
},

getText: function()
{
		return this.control.innerHTML;
},

setText: function (s)
{
	if (this.initialized)
		this.control.innerHTML = s;		
	else
		this.text = s;
},

//method continually called until iframe is completely loaded
initDocument: function ()
{
	if (this.container.contentDocument != null)
	{
		if (this.document == null)	//iframe loaded, now write some HTML, thus causing it to not be loaded again
		{
			this.container.contentDocument.designMode = 'on';
			this.document = this.container.contentWindow.document;
			this.document.open();
			dnn.dom.addSafeHandler(this.container, 'onload', this, 'initDocument');
			this.document.write('<HEAD>' + __dl_getCSS() + '</HEAD><BODY id="__dnn_body"></BODY>');
			this.document.close();
		}
		else if (this.control == null && this.document.getElementById('__dnn_body') != null)	//iframe loaded, now check if body is loaded
		{
			this.control = this.document.getElementById('__dnn_body');
			this.control.style.margin = 0;			
			this.control.tabIndex = 0;
			this.initialized = true;
			this.setText(this.text);
			this.initFunc();		
		}
	}
	if (this.initialized == false)	//iframe and body not loaded, call ourselves until it is
		dnn.doDelay(this.container.id + 'initEdit', 10, dnn.dom.getObjMethRef(this, 'initDocument'));
}
}
dnn.extend(dnn_controls.prototype, dnn_control.prototype);
//dnn.controls = new dnn_controls();
//webresource.axd
function WebForm_PostBackOptions(eventTarget,eventArgument,validation,validationGroup,actionUrl,trackFocus,clientSubmit){this.eventTarget=eventTarget;this.eventArgument=eventArgument;this.validation=validation;this.validationGroup=validationGroup;this.actionUrl=actionUrl;this.trackFocus=trackFocus;this.clientSubmit=clientSubmit;}
function WebForm_DoPostBackWithOptions(options){var validationResult=true;if(options.validation){if(typeof(Page_ClientValidate)=='function'){validationResult=Page_ClientValidate(options.validationGroup);}}
if(validationResult){if((typeof(options.actionUrl)!="undefined")&&(options.actionUrl!=null)&&(options.actionUrl.length>0)){theForm.action=options.actionUrl;}
if(options.trackFocus){var lastFocus=theForm.elements["__LASTFOCUS"];if((typeof(lastFocus)!="undefined")&&(lastFocus!=null)){if(typeof(document.activeElement)=="undefined"){lastFocus.value=options.eventTarget;}
else{var active=document.activeElement;if((typeof(active)!="undefined")&&(active!=null)){if((typeof(active.id)!="undefined")&&(active.id!=null)&&(active.id.length>0)){lastFocus.value=active.id;}
else if(typeof(active.name)!="undefined"){lastFocus.value=active.name;}}}}}}
if(options.clientSubmit){__doPostBack(options.eventTarget,options.eventArgument);}}
var __pendingCallbacks=new Array();var __synchronousCallBackIndex=-1;function WebForm_DoCallback(eventTarget,eventArgument,eventCallback,context,errorCallback,useAsync){var postData=__theFormPostData+"__CALLBACKID="+WebForm_EncodeCallback(eventTarget)+"&__CALLBACKPARAM="+WebForm_EncodeCallback(eventArgument);if(theForm["__EVENTVALIDATION"]){postData+="&__EVENTVALIDATION="+WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);}
var xmlRequest,e;try{xmlRequest=new XMLHttpRequest();}
catch(e){try{xmlRequest=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}}
var setRequestHeaderMethodExists=true;try{setRequestHeaderMethodExists=(xmlRequest&&xmlRequest.setRequestHeader);}
catch(e){}
var callback=new Object();callback.eventCallback=eventCallback;callback.context=context;callback.errorCallback=errorCallback;callback.async=useAsync;var callbackIndex=WebForm_FillFirstAvailableSlot(__pendingCallbacks,callback);if(!useAsync){if(__synchronousCallBackIndex!=-1){__pendingCallbacks[__synchronousCallBackIndex]=null;}
__synchronousCallBackIndex=callbackIndex;}
if(setRequestHeaderMethodExists){xmlRequest.onreadystatechange=WebForm_CallbackComplete;callback.xmlRequest=xmlRequest;xmlRequest.open("POST",theForm.action,true);xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");xmlRequest.send(postData);return;}
callback.xmlRequest=new Object();var callbackFrameID="__CALLBACKFRAME"+callbackIndex;var xmlRequestFrame=document.frames[callbackFrameID];if(!xmlRequestFrame){xmlRequestFrame=document.createElement("IFRAME");xmlRequestFrame.width="1";xmlRequestFrame.height="1";xmlRequestFrame.frameBorder="0";xmlRequestFrame.id=callbackFrameID;xmlRequestFrame.name=callbackFrameID;xmlRequestFrame.style.position="absolute";xmlRequestFrame.style.top="-100px"
xmlRequestFrame.style.left="-100px";try{if(callBackFrameUrl){xmlRequestFrame.src=callBackFrameUrl;}}
catch(e){}
document.body.appendChild(xmlRequestFrame);}
var interval=window.setInterval(function(){xmlRequestFrame=document.frames[callbackFrameID];if(xmlRequestFrame&&xmlRequestFrame.document){window.clearInterval(interval);xmlRequestFrame.document.write("");xmlRequestFrame.document.close();xmlRequestFrame.document.write('<html><body><form method="post"><input type="hidden" name="__CALLBACKLOADSCRIPT" value="t"></form></body></html>');xmlRequestFrame.document.close();xmlRequestFrame.document.forms[0].action=theForm.action;var count=__theFormPostCollection.length;var element;for(var i=0;i<count;i++){element=__theFormPostCollection[i];if(element){var fieldElement=xmlRequestFrame.document.createElement("INPUT");fieldElement.type="hidden";fieldElement.name=element.name;fieldElement.value=element.value;xmlRequestFrame.document.forms[0].appendChild(fieldElement);}}
var callbackIdFieldElement=xmlRequestFrame.document.createElement("INPUT");callbackIdFieldElement.type="hidden";callbackIdFieldElement.name="__CALLBACKID";callbackIdFieldElement.value=eventTarget;xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);var callbackParamFieldElement=xmlRequestFrame.document.createElement("INPUT");callbackParamFieldElement.type="hidden";callbackParamFieldElement.name="__CALLBACKPARAM";callbackParamFieldElement.value=eventArgument;xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);if(theForm["__EVENTVALIDATION"]){var callbackValidationFieldElement=xmlRequestFrame.document.createElement("INPUT");callbackValidationFieldElement.type="hidden";callbackValidationFieldElement.name="__EVENTVALIDATION";callbackValidationFieldElement.value=theForm["__EVENTVALIDATION"].value;xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);}
var callbackIndexFieldElement=xmlRequestFrame.document.createElement("INPUT");callbackIndexFieldElement.type="hidden";callbackIndexFieldElement.name="__CALLBACKINDEX";callbackIndexFieldElement.value=callbackIndex;xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);xmlRequestFrame.document.forms[0].submit();}},10);}
function WebForm_CallbackComplete(){for(var i=0;i<__pendingCallbacks.length;i++){callbackObject=__pendingCallbacks[i];if(callbackObject&&callbackObject.xmlRequest&&(callbackObject.xmlRequest.readyState==4)){WebForm_ExecuteCallback(callbackObject);if(!__pendingCallbacks[i].async){__synchronousCallBackIndex=-1;}
__pendingCallbacks[i]=null;var callbackFrameID="__CALLBACKFRAME"+i;var xmlRequestFrame=document.getElementById(callbackFrameID);if(xmlRequestFrame){xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);}}}}
function WebForm_ExecuteCallback(callbackObject){var response=callbackObject.xmlRequest.responseText;if(response.charAt(0)=="s"){if((typeof(callbackObject.eventCallback)!="undefined")&&(callbackObject.eventCallback!=null)){callbackObject.eventCallback(response.substring(1),callbackObject.context);}}
else if(response.charAt(0)=="e"){if((typeof(callbackObject.errorCallback)!="undefined")&&(callbackObject.errorCallback!=null)){callbackObject.errorCallback(response.substring(1),callbackObject.context);}}
else{var separatorIndex=response.indexOf("|");if(separatorIndex!=-1){var validationFieldLength=parseInt(response.substring(0,separatorIndex));if(!isNaN(validationFieldLength)){var validationField=response.substring(separatorIndex+1,separatorIndex+validationFieldLength+1);if(validationField!=""){var validationFieldElement=theForm["__EVENTVALIDATION"];if(!validationFieldElement){validationFieldElement=document.createElement("INPUT");validationFieldElement.type="hidden";validationFieldElement.name="__EVENTVALIDATION";theForm.appendChild(validationFieldElement);}
validationFieldElement.value=validationField;}
if((typeof(callbackObject.eventCallback)!="undefined")&&(callbackObject.eventCallback!=null)){callbackObject.eventCallback(response.substring(separatorIndex+validationFieldLength+1),callbackObject.context);}}}}}
function WebForm_FillFirstAvailableSlot(array,element){var i;for(i=0;i<array.length;i++){if(!array[i])break;}
array[i]=element;return i;}
var __nonMSDOMBrowser=(window.navigator.appName.toLowerCase().indexOf('explorer')==-1);var __theFormPostData="";var __theFormPostCollection=new Array();function WebForm_InitCallback(){var count=theForm.elements.length;var element;for(var i=0;i<count;i++){element=theForm.elements[i];var tagName=element.tagName.toLowerCase();if(tagName=="input"){var type=element.type;if((type=="text"||type=="hidden"||type=="password"||((type=="checkbox"||type=="radio")&&element.checked))&&(element.id!="__EVENTVALIDATION")){WebForm_InitCallbackAddField(element.name,element.value);}}
else if(tagName=="select"){var selectCount=element.options.length;for(var j=0;j<selectCount;j++){var selectChild=element.options[j];if(selectChild.selected==true){WebForm_InitCallbackAddField(element.name,element.value);}}}
else if(tagName=="textarea"){WebForm_InitCallbackAddField(element.name,element.value);}}}
function WebForm_InitCallbackAddField(name,value){var nameValue=new Object();nameValue.name=name;nameValue.value=value;__theFormPostCollection[__theFormPostCollection.length]=nameValue;__theFormPostData+=WebForm_EncodeCallback(name)+"="+WebForm_EncodeCallback(value)+"&";}
function WebForm_EncodeCallback(parameter){if(encodeURIComponent){return encodeURIComponent(parameter);}
else{return escape(parameter);}}
var __disabledControlArray=new Array();function WebForm_ReEnableControls(){if(typeof(__enabledControlArray)=='undefined'){return false;}
var disabledIndex=0;for(var i=0;i<__enabledControlArray.length;i++){var c;if(__nonMSDOMBrowser){c=document.getElementById(__enabledControlArray[i]);}
else{c=document.all[__enabledControlArray[i]];}
if((typeof(c)!="undefined")&&(c!=null)&&(c.disabled==true)){c.disabled=false;__disabledControlArray[disabledIndex++]=c;}}
setTimeout("WebForm_ReDisableControls()",0);return true;}
function WebForm_ReDisableControls(){for(var i=0;i<__disabledControlArray.length;i++){__disabledControlArray[i].disabled=true;}}
function WebForm_FireDefaultButton(event,target){if(event.keyCode==13){var src=event.srcElement||event.target;if(!src||(src.tagName.toLowerCase()!="textarea")){var defaultButton;if(__nonMSDOMBrowser){defaultButton=document.getElementById(target);}
else{defaultButton=document.all[target];}
if(defaultButton&&typeof(defaultButton.click)!="undefined"){defaultButton.click();event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;}}}
return true;}
function WebForm_GetScrollX(){if(__nonMSDOMBrowser){return window.pageXOffset;}
else{if(document.documentElement&&document.documentElement.scrollLeft){return document.documentElement.scrollLeft;}
else if(document.body){return document.body.scrollLeft;}}
return 0;}
function WebForm_GetScrollY(){if(__nonMSDOMBrowser){return window.pageYOffset;}
else{if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop;}
else if(document.body){return document.body.scrollTop;}}
return 0;}
function WebForm_SaveScrollPositionSubmit(){if(__nonMSDOMBrowser){theForm.elements['__SCROLLPOSITIONY'].value=window.pageYOffset;theForm.elements['__SCROLLPOSITIONX'].value=window.pageXOffset;}
else{theForm.__SCROLLPOSITIONX.value=WebForm_GetScrollX();theForm.__SCROLLPOSITIONY.value=WebForm_GetScrollY();}
if((typeof(this.oldSubmit)!="undefined")&&(this.oldSubmit!=null)){return this.oldSubmit();}
return true;}
function WebForm_SaveScrollPositionOnSubmit(){theForm.__SCROLLPOSITIONX.value=WebForm_GetScrollX();theForm.__SCROLLPOSITIONY.value=WebForm_GetScrollY();if((typeof(this.oldOnSubmit)!="undefined")&&(this.oldOnSubmit!=null)){return this.oldOnSubmit();}
return true;}
function WebForm_RestoreScrollPosition(){if(__nonMSDOMBrowser){window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value,theForm.elements['__SCROLLPOSITIONY'].value);}
else{window.scrollTo(theForm.__SCROLLPOSITIONX.value,theForm.__SCROLLPOSITIONY.value);}
if((typeof(theForm.oldOnLoad)!="undefined")&&(theForm.oldOnLoad!=null)){return theForm.oldOnLoad();}
return true;}
function WebForm_TextBoxKeyHandler(event){if(event.keyCode==13){var target;if(__nonMSDOMBrowser){target=event.target;}
else{target=event.srcElement;}
if((typeof(target)!="undefined")&&(target!=null)){if(typeof(target.onchange)!="undefined"){target.onchange();event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;}}}
return true;}
function WebForm_TrimString(value){return value.replace(/^\s+|\s+$/g,'')}
function WebForm_AppendToClassName(element,className){var currentClassName=' '+WebForm_TrimString(element.className)+' ';className=WebForm_TrimString(className);var index=currentClassName.indexOf(' '+className+' ');if(index===-1){element.className=(element.className==='')?className:element.className+' '+className;}}
function WebForm_RemoveClassName(element,className){var currentClassName=' '+WebForm_TrimString(element.className)+' ';className=WebForm_TrimString(className);var index=currentClassName.indexOf(' '+className+' ');if(index>=0){element.className=WebForm_TrimString(currentClassName.substring(0,index)+' '+
currentClassName.substring(index+className.length+1,currentClassName.length));}}
function WebForm_GetElementById(elementId){if(document.getElementById){return document.getElementById(elementId);}
else if(document.all){return document.all[elementId];}
else return null;}
function WebForm_GetElementByTagName(element,tagName){var elements=WebForm_GetElementsByTagName(element,tagName);if(elements&&elements.length>0){return elements[0];}
else return null;}
function WebForm_GetElementsByTagName(element,tagName){if(element&&tagName){if(element.getElementsByTagName){return element.getElementsByTagName(tagName);}
if(element.all&&element.all.tags){return element.all.tags(tagName);}}
return null;}
function WebForm_GetElementDir(element){if(element){if(element.dir){return element.dir;}
return WebForm_GetElementDir(element.parentNode);}
return"ltr";}
function WebForm_GetElementPosition(element){var result=new Object();result.x=0;result.y=0;result.width=0;result.height=0;if(element.offsetParent){result.x=element.offsetLeft;result.y=element.offsetTop;var parent=element.offsetParent;while(parent){result.x+=parent.offsetLeft;result.y+=parent.offsetTop;var parentTagName=parent.tagName.toLowerCase();if(parentTagName!="table"&&parentTagName!="body"&&parentTagName!="html"&&parentTagName!="div"&&parent.clientTop&&parent.clientLeft){result.x+=parent.clientLeft;result.y+=parent.clientTop;}
parent=parent.offsetParent;}}
else if(element.left&&element.top){result.x=element.left;result.y=element.top;}
else{if(element.x){result.x=element.x;}
if(element.y){result.y=element.y;}}
if(element.offsetWidth&&element.offsetHeight){result.width=element.offsetWidth;result.height=element.offsetHeight;}
else if(element.style&&element.style.pixelWidth&&element.style.pixelHeight){result.width=element.style.pixelWidth;result.height=element.style.pixelHeight;}
return result;}
function WebForm_GetParentByTagName(element,tagName){var parent=element.parentNode;var upperTagName=tagName.toUpperCase();while(parent&&(parent.tagName.toUpperCase()!=upperTagName)){parent=parent.parentNode?parent.parentNode:parent.parentElement;}
return parent;}
function WebForm_SetElementHeight(element,height){if(element&&element.style){element.style.height=height+"px";}}
function WebForm_SetElementWidth(element,width){if(element&&element.style){element.style.width=width+"px";}}
function WebForm_SetElementX(element,x){if(element&&element.style){element.style.left=x+"px";}}
function WebForm_SetElementY(element,y){if(element&&element.style){element.style.top=y+"px";}}
//scriptresource0.js
var Page_ValidationVer="125";var Page_IsValid=true;var Page_BlockSubmit=false;var Page_InvalidControlToBeFocused=null;function ValidatorUpdateDisplay(val){if(typeof(val.display)=="string"){if(val.display=="None"){return;}
if(val.display=="Dynamic"){val.style.display=val.isvalid?"none":"inline";return;}}
if((navigator.userAgent.indexOf("Mac")>-1)&&(navigator.userAgent.indexOf("MSIE")>-1)){val.style.display="inline";}
val.style.visibility=val.isvalid?"hidden":"visible";}
function ValidatorUpdateIsValid(){Page_IsValid=AllValidatorsValid(Page_Validators);}
function AllValidatorsValid(validators){if((typeof(validators)!="undefined")&&(validators!=null)){var i;for(i=0;i<validators.length;i++){if(!validators[i].isvalid){return false;}}}
return true;}
function ValidatorHookupControlID(controlID,val){if(typeof(controlID)!="string"){return;}
var ctrl=document.getElementById(controlID);if((typeof(ctrl)!="undefined")&&(ctrl!=null)){ValidatorHookupControl(ctrl,val);}
else{val.isvalid=true;val.enabled=false;}}
function ValidatorHookupControl(control,val){if(typeof(control.tagName)!="string"){return;}
if(control.tagName!="INPUT"&&control.tagName!="TEXTAREA"&&control.tagName!="SELECT"){var i;for(i=0;i<control.childNodes.length;i++){ValidatorHookupControl(control.childNodes[i],val);}
return;}
else{if(typeof(control.Validators)=="undefined"){control.Validators=new Array;var eventType;if(control.type=="radio"){eventType="onclick";}else{eventType="onchange";if(typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){ValidatorHookupEvent(control,"onblur","ValidatedControlOnBlur(event); ");}}
ValidatorHookupEvent(control,eventType,"ValidatorOnChange(event); ");if(control.type=="text"||control.type=="password"||control.type=="file"){ValidatorHookupEvent(control,"onkeypress","if (!ValidatedTextBoxOnKeyPress(event)) { event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } ");}}
control.Validators[control.Validators.length]=val;}}
function ValidatorHookupEvent(control,eventType,functionPrefix){var ev;eval("ev = control."+eventType+";");if(typeof(ev)=="function"){ev=ev.toString();ev=ev.substring(ev.indexOf("{")+1,ev.lastIndexOf("}"));}
else{ev="";}
var func;if(navigator.appName.toLowerCase().indexOf('explorer')>-1){func=new Function(functionPrefix+" "+ev);}
else{func=new Function("event",functionPrefix+" "+ev);}
eval("control."+eventType+" = func;");}
function ValidatorGetValue(id){var control;control=document.getElementById(id);if(typeof(control.value)=="string"){return control.value;}
return ValidatorGetValueRecursive(control);}
function ValidatorGetValueRecursive(control)
{if(typeof(control.value)=="string"&&(control.type!="radio"||control.checked==true)){return control.value;}
var i,val;for(i=0;i<control.childNodes.length;i++){val=ValidatorGetValueRecursive(control.childNodes[i]);if(val!="")return val;}
return"";}
function Page_ClientValidate(validationGroup){Page_InvalidControlToBeFocused=null;if(typeof(Page_Validators)=="undefined"){return true;}
var i;for(i=0;i<Page_Validators.length;i++){ValidatorValidate(Page_Validators[i],validationGroup,null);}
ValidatorUpdateIsValid();ValidationSummaryOnSubmit(validationGroup);Page_BlockSubmit=!Page_IsValid;return Page_IsValid;}
function ValidatorCommonOnSubmit(){Page_InvalidControlToBeFocused=null;var result=!Page_BlockSubmit;if((typeof(window.event)!="undefined")&&(window.event!=null)){window.event.returnValue=result;}
Page_BlockSubmit=false;return result;}
function ValidatorEnable(val,enable){val.enabled=(enable!=false);ValidatorValidate(val);ValidatorUpdateIsValid();}
function ValidatorOnChange(event){if(!event){event=window.event;}
Page_InvalidControlToBeFocused=null;var targetedControl;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){targetedControl=event.srcElement;}
else{targetedControl=event.target;}
var vals;if(typeof(targetedControl.Validators)!="undefined"){vals=targetedControl.Validators;}
else{if(targetedControl.tagName.toLowerCase()=="label"){targetedControl=document.getElementById(targetedControl.htmlFor);vals=targetedControl.Validators;}}
var i;for(i=0;i<vals.length;i++){ValidatorValidate(vals[i],null,event);}
ValidatorUpdateIsValid();}
function ValidatedTextBoxOnKeyPress(event){if(event.keyCode==13){ValidatorOnChange(event);var vals;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){vals=event.srcElement.Validators;}
else{vals=event.target.Validators;}
return AllValidatorsValid(vals);}
return true;}
function ValidatedControlOnBlur(event){var control;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){control=event.srcElement;}
else{control=event.target;}
if((typeof(control)!="undefined")&&(control!=null)&&(Page_InvalidControlToBeFocused==control)){control.focus();Page_InvalidControlToBeFocused=null;}}
function ValidatorValidate(val,validationGroup,event){val.isvalid=true;if((typeof(val.enabled)=="undefined"||val.enabled!=false)&&IsValidationGroupMatch(val,validationGroup)){if(typeof(val.evaluationfunction)=="function"){val.isvalid=val.evaluationfunction(val);if(!val.isvalid&&Page_InvalidControlToBeFocused==null&&typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){ValidatorSetFocus(val,event);}}}
ValidatorUpdateDisplay(val);}
function ValidatorSetFocus(val,event){var ctrl;if(typeof(val.controlhookup)=="string"){var eventCtrl;if((typeof(event)!="undefined")&&(event!=null)){if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){eventCtrl=event.srcElement;}
else{eventCtrl=event.target;}}
if((typeof(eventCtrl)!="undefined")&&(eventCtrl!=null)&&(typeof(eventCtrl.id)=="string")&&(eventCtrl.id==val.controlhookup)){ctrl=eventCtrl;}}
if((typeof(ctrl)=="undefined")||(ctrl==null)){ctrl=document.getElementById(val.controltovalidate);}
if((typeof(ctrl)!="undefined")&&(ctrl!=null)&&(ctrl.tagName.toLowerCase()!="table"||(typeof(event)=="undefined")||(event==null))&&((ctrl.tagName.toLowerCase()!="input")||(ctrl.type.toLowerCase()!="hidden"))&&(typeof(ctrl.disabled)=="undefined"||ctrl.disabled==null||ctrl.disabled==false)&&(typeof(ctrl.visible)=="undefined"||ctrl.visible==null||ctrl.visible!=false)&&(IsInVisibleContainer(ctrl))){if((ctrl.tagName.toLowerCase()=="table"&&(typeof(__nonMSDOMBrowser)=="undefined"||__nonMSDOMBrowser))||(ctrl.tagName.toLowerCase()=="span")){var inputElements=ctrl.getElementsByTagName("input");var lastInputElement=inputElements[inputElements.length-1];if(lastInputElement!=null){ctrl=lastInputElement;}}
if(typeof(ctrl.focus)!="undefined"&&ctrl.focus!=null){ctrl.focus();Page_InvalidControlToBeFocused=ctrl;}}}
function IsInVisibleContainer(ctrl){if(typeof(ctrl.style)!="undefined"&&((typeof(ctrl.style.display)!="undefined"&&ctrl.style.display=="none")||(typeof(ctrl.style.visibility)!="undefined"&&ctrl.style.visibility=="hidden"))){return false;}
else if(typeof(ctrl.parentNode)!="undefined"&&ctrl.parentNode!=null&&ctrl.parentNode!=ctrl){return IsInVisibleContainer(ctrl.parentNode);}
return true;}
function IsValidationGroupMatch(control,validationGroup){if((typeof(validationGroup)=="undefined")||(validationGroup==null)){return true;}
var controlGroup="";if(typeof(control.validationGroup)=="string"){controlGroup=control.validationGroup;}
return(controlGroup==validationGroup);}
function ValidatorOnLoad(){if(typeof(Page_Validators)=="undefined")
return;var i,val;for(i=0;i<Page_Validators.length;i++){val=Page_Validators[i];if(typeof(val.evaluationfunction)=="string"){eval("val.evaluationfunction = "+val.evaluationfunction+";");}
if(typeof(val.isvalid)=="string"){if(val.isvalid=="False"){val.isvalid=false;Page_IsValid=false;}
else{val.isvalid=true;}}else{val.isvalid=true;}
if(typeof(val.enabled)=="string"){val.enabled=(val.enabled!="False");}
if(typeof(val.controltovalidate)=="string"){ValidatorHookupControlID(val.controltovalidate,val);}
if(typeof(val.controlhookup)=="string"){ValidatorHookupControlID(val.controlhookup,val);}}
Page_ValidationActive=true;}
function ValidatorConvert(op,dataType,val){function GetFullYear(year){var twoDigitCutoffYear=val.cutoffyear%100;var cutoffYearCentury=val.cutoffyear-twoDigitCutoffYear;return((year>twoDigitCutoffYear)?(cutoffYearCentury-100+year):(cutoffYearCentury+year));}
var num,cleanInput,m,exp;if(dataType=="Integer"){exp=/^\s*[-\+]?\d+\s*$/;if(op.match(exp)==null)
return null;num=parseInt(op,10);return(isNaN(num)?null:num);}
else if(dataType=="Double"){exp=new RegExp("^\\s*([-\\+])?(\\d*)\\"+val.decimalchar+"?(\\d*)\\s*$");m=op.match(exp);if(m==null)
return null;if(m[2].length==0&&m[3].length==0)
return null;cleanInput=(m[1]!=null?m[1]:"")+(m[2].length>0?m[2]:"0")+(m[3].length>0?"."+m[3]:"");num=parseFloat(cleanInput);return(isNaN(num)?null:num);}
else if(dataType=="Currency"){var hasDigits=(val.digits>0);var beginGroupSize,subsequentGroupSize;var groupSizeNum=parseInt(val.groupsize,10);if(!isNaN(groupSizeNum)&&groupSizeNum>0){beginGroupSize="{1,"+groupSizeNum+"}";subsequentGroupSize="{"+groupSizeNum+"}";}
else{beginGroupSize=subsequentGroupSize="+";}
exp=new RegExp("^\\s*([-\\+])?((\\d"+beginGroupSize+"(\\"+val.groupchar+"\\d"+subsequentGroupSize+")+)|\\d*)"
+(hasDigits?"\\"+val.decimalchar+"?(\\d{0,"+val.digits+"})":"")
+"\\s*$");m=op.match(exp);if(m==null)
return null;if(m[2].length==0&&hasDigits&&m[5].length==0)
return null;cleanInput=(m[1]!=null?m[1]:"")+m[2].replace(new RegExp("(\\"+val.groupchar+")","g"),"")+((hasDigits&&m[5].length>0)?"."+m[5]:"");num=parseFloat(cleanInput);return(isNaN(num)?null:num);}
else if(dataType=="Date"){var yearFirstExp=new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\.?\\s*$");m=op.match(yearFirstExp);var day,month,year;if(m!=null&&(m[2].length==4||val.dateorder=="ymd")){day=m[6];month=m[5];year=(m[2].length==4)?m[2]:GetFullYear(parseInt(m[3],10))}
else{if(val.dateorder=="ymd"){return null;}
var yearLastExp=new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.)?\\s*$");m=op.match(yearLastExp);if(m==null){return null;}
if(val.dateorder=="mdy"){day=m[3];month=m[1];}
else{day=m[1];month=m[3];}
year=(m[5].length==4)?m[5]:GetFullYear(parseInt(m[6],10))}
month-=1;var date=new Date(year,month,day);if(year<100){date.setFullYear(year);}
return(typeof(date)=="object"&&year==date.getFullYear()&&month==date.getMonth()&&day==date.getDate())?date.valueOf():null;}
else{return op.toString();}}
function ValidatorCompare(operand1,operand2,operator,val){var dataType=val.type;var op1,op2;if((op1=ValidatorConvert(operand1,dataType,val))==null)
return false;if(operator=="DataTypeCheck")
return true;if((op2=ValidatorConvert(operand2,dataType,val))==null)
return true;switch(operator){case"NotEqual":return(op1!=op2);case"GreaterThan":return(op1>op2);case"GreaterThanEqual":return(op1>=op2);case"LessThan":return(op1<op2);case"LessThanEqual":return(op1<=op2);default:return(op1==op2);}}
function CompareValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;var compareTo="";if((typeof(val.controltocompare)!="string")||(typeof(document.getElementById(val.controltocompare))=="undefined")||(null==document.getElementById(val.controltocompare))){if(typeof(val.valuetocompare)=="string"){compareTo=val.valuetocompare;}}
else{compareTo=ValidatorGetValue(val.controltocompare);}
var operator="Equal";if(typeof(val.operator)=="string"){operator=val.operator;}
return ValidatorCompare(value,compareTo,operator,val);}
function CustomValidatorEvaluateIsValid(val){var value="";if(typeof(val.controltovalidate)=="string"){value=ValidatorGetValue(val.controltovalidate);if((ValidatorTrim(value).length==0)&&((typeof(val.validateemptytext)!="string")||(val.validateemptytext!="true"))){return true;}}
var args={Value:value,IsValid:true};if(typeof(val.clientvalidationfunction)=="string"){eval(val.clientvalidationfunction+"(val, args) ;");}
return args.IsValid;}
function RegularExpressionValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;var rx=new RegExp(val.validationexpression);var matches=rx.exec(value);return(matches!=null&&value==matches[0]);}
function ValidatorTrim(s){var m=s.match(/^\s*(\S+(\s+\S+)*)\s*$/);return(m==null)?"":m[1];}
function RequiredFieldValidatorEvaluateIsValid(val){return(ValidatorTrim(ValidatorGetValue(val.controltovalidate))!=ValidatorTrim(val.initialvalue))}
function RangeValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;return(ValidatorCompare(value,val.minimumvalue,"GreaterThanEqual",val)&&ValidatorCompare(value,val.maximumvalue,"LessThanEqual",val));}
function ValidationSummaryOnSubmit(validationGroup){if(typeof(Page_ValidationSummaries)=="undefined")
return;var summary,sums,s;for(sums=0;sums<Page_ValidationSummaries.length;sums++){summary=Page_ValidationSummaries[sums];summary.style.display="none";if(!Page_IsValid&&IsValidationGroupMatch(summary,validationGroup)){var i;if(summary.showsummary!="False"){summary.style.display="";if(typeof(summary.displaymode)!="string"){summary.displaymode="BulletList";}
switch(summary.displaymode){case"List":headerSep="<br>";first="";pre="";post="<br>";end="";break;case"BulletList":default:headerSep="";first="<ul>";pre="<li>";post="</li>";end="</ul>";break;case"SingleParagraph":headerSep=" ";first="";pre="";post=" ";end="<br>";break;}
s="";if(typeof(summary.headertext)=="string"){s+=summary.headertext+headerSep;}
s+=first;for(i=0;i<Page_Validators.length;i++){if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){s+=pre+Page_Validators[i].errormessage+post;}}
s+=end;summary.innerHTML=s;window.scrollTo(0,0);}
if(summary.showmessagebox=="True"){s="";if(typeof(summary.headertext)=="string"){s+=summary.headertext+"\r\n";}
var lastValIndex=Page_Validators.length-1;for(i=0;i<=lastValIndex;i++){if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){switch(summary.displaymode){case"List":s+=Page_Validators[i].errormessage;if(i<lastValIndex){s+="\r\n";}
break;case"BulletList":default:s+="- "+Page_Validators[i].errormessage;if(i<lastValIndex){s+="\r\n";}
break;case"SingleParagraph":s+=Page_Validators[i].errormessage+" ";break;}}}
alert(s);}}}}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
//scriptresource1.js
Function.__typeName='Function';Function.__class=true;Function.createCallback=function Function$createCallback(method,context){var e=Function._validateParams(arguments,[{name:"method",type:Function},{name:"context",mayBeNull:true}]);if(e)throw e;return function(){var l=arguments.length;if(l>0){var args=[];for(var i=0;i<l;i++){args[i]=arguments[i];}
args[l]=context;return method.apply(this,args);}
return method.call(this,context);}}
Function.createDelegate=function Function$createDelegate(instance,method){var e=Function._validateParams(arguments,[{name:"instance",mayBeNull:true},{name:"method",type:Function}]);if(e)throw e;return function(){return method.apply(instance,arguments);}}
Function.emptyFunction=Function.emptyMethod=function Function$emptyMethod(){if(arguments.length!==0)throw Error.parameterCount();}
Function._validateParams=function Function$_validateParams(params,expectedParams){var e;e=Function._validateParameterCount(params,expectedParams);if(e){e.popStackFrame();return e;}
for(var i=0;i<params.length;i++){var expectedParam=expectedParams[Math.min(i,expectedParams.length-1)];var paramName=expectedParam.name;if(expectedParam.parameterArray){paramName+="["+(i-expectedParams.length+1)+"]";}
e=Function._validateParameter(params[i],expectedParam,paramName);if(e){e.popStackFrame();return e;}}
return null;}
Function._validateParameterCount=function Function$_validateParameterCount(params,expectedParams){var maxParams=expectedParams.length;var minParams=0;for(var i=0;i<expectedParams.length;i++){if(expectedParams[i].parameterArray){maxParams=Number.MAX_VALUE;}
else if(!expectedParams[i].optional){minParams++;}}
if(params.length<minParams||params.length>maxParams){var e=Error.parameterCount();e.popStackFrame();return e;}
return null;}
Function._validateParameter=function Function$_validateParameter(param,expectedParam,paramName){var e;var expectedType=expectedParam.type;var expectedInteger=!!expectedParam.integer;var expectedDomElement=!!expectedParam.domElement;var mayBeNull=!!expectedParam.mayBeNull;e=Function._validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName);if(e){e.popStackFrame();return e;}
var expectedElementType=expectedParam.elementType;var elementMayBeNull=!!expectedParam.elementMayBeNull;if(expectedType===Array&&typeof(param)!=="undefined"&&param!==null&&(expectedElementType||!elementMayBeNull)){var expectedElementInteger=!!expectedParam.elementInteger;var expectedElementDomElement=!!expectedParam.elementDomElement;for(var i=0;i<param.length;i++){var elem=param[i];e=Function._validateParameterType(elem,expectedElementType,expectedElementInteger,expectedElementDomElement,elementMayBeNull,paramName+"["+i+"]");if(e){e.popStackFrame();return e;}}}
return null;}
Function._validateParameterType=function Function$_validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName){var e;if(typeof(param)==="undefined"){if(mayBeNull){return null;}
else{e=Error.argumentUndefined(paramName);e.popStackFrame();return e;}}
if(param===null){if(mayBeNull){return null;}
else{e=Error.argumentNull(paramName);e.popStackFrame();return e;}}
if(expectedType&&expectedType.__enum){if(typeof(param)!=='number'){e=Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;}
if((param%1)===0){var values=expectedType.prototype;if(!expectedType.__flags||(param===0)){for(var i in values){if(values[i]===param)return null;}}
else{var v=param;for(var i in values){var vali=values[i];if(vali===0)continue;if((vali&param)===vali){v-=vali;}
if(v===0)return null;}}}
e=Error.argumentOutOfRange(paramName,param,String.format(Sys.Res.enumInvalidValue,param,expectedType.getName()));e.popStackFrame();return e;}
if(expectedDomElement){var val;if(typeof(param.nodeType)!=='number'){var doc=param.ownerDocument||param.document||param;if(doc!=param){var w=doc.defaultView||doc.parentWindow;val=(w!=param)&&!(w.document&&param.document&&(w.document===param.document));}
else{val=(typeof(doc.body)==='undefined');}}
else{val=(param.nodeType===3);}
if(val){e=Error.argument(paramName,Sys.Res.argumentDomElement);e.popStackFrame();return e;}}
if(expectedType&&!expectedType.isInstanceOfType(param)){e=Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;}
if(expectedType===Number&&expectedInteger){if((param%1)!==0){e=Error.argumentOutOfRange(paramName,param,Sys.Res.argumentInteger);e.popStackFrame();return e;}}
return null;}
Error.__typeName='Error';Error.__class=true;Error.create=function Error$create(message,errorInfo){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true},{name:"errorInfo",mayBeNull:true,optional:true}]);if(e)throw e;var e=new Error(message);e.message=message;if(errorInfo){for(var v in errorInfo){e[v]=errorInfo[v];}}
e.popStackFrame();return e;}
Error.argument=function Error$argument(paramName,message){var e=Function._validateParams(arguments,[{name:"paramName",type:String,mayBeNull:true,optional:true},{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ArgumentException: "+(message?message:Sys.Res.argument);if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentException",paramName:paramName});e.popStackFrame();return e;}
Error.argumentNull=function Error$argumentNull(paramName,message){var e=Function._validateParams(arguments,[{name:"paramName",type:String,mayBeNull:true,optional:true},{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ArgumentNullException: "+(message?message:Sys.Res.argumentNull);if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentNullException",paramName:paramName});e.popStackFrame();return e;}
Error.argumentOutOfRange=function Error$argumentOutOfRange(paramName,actualValue,message){var e=Function._validateParams(arguments,[{name:"paramName",type:String,mayBeNull:true,optional:true},{name:"actualValue",mayBeNull:true,optional:true},{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ArgumentOutOfRangeException: "+(message?message:Sys.Res.argumentOutOfRange);if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);}
if(typeof(actualValue)!=="undefined"&&actualValue!==null){displayMessage+="\n"+String.format(Sys.Res.actualValue,actualValue);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentOutOfRangeException",paramName:paramName,actualValue:actualValue});e.popStackFrame();return e;}
Error.argumentType=function Error$argumentType(paramName,actualType,expectedType,message){var e=Function._validateParams(arguments,[{name:"paramName",type:String,mayBeNull:true,optional:true},{name:"actualType",type:Type,mayBeNull:true,optional:true},{name:"expectedType",type:Type,mayBeNull:true,optional:true},{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ArgumentTypeException: ";if(message){displayMessage+=message;}
else if(actualType&&expectedType){displayMessage+=String.format(Sys.Res.argumentTypeWithTypes,actualType.getName(),expectedType.getName());}
else{displayMessage+=Sys.Res.argumentType;}
if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentTypeException",paramName:paramName,actualType:actualType,expectedType:expectedType});e.popStackFrame();return e;}
Error.argumentUndefined=function Error$argumentUndefined(paramName,message){var e=Function._validateParams(arguments,[{name:"paramName",type:String,mayBeNull:true,optional:true},{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ArgumentUndefinedException: "+(message?message:Sys.Res.argumentUndefined);if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentUndefinedException",paramName:paramName});e.popStackFrame();return e;}
Error.format=function Error$format(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.FormatException: "+(message?message:Sys.Res.format);var e=Error.create(displayMessage,{name:'Sys.FormatException'});e.popStackFrame();return e;}
Error.invalidOperation=function Error$invalidOperation(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.InvalidOperationException: "+(message?message:Sys.Res.invalidOperation);var e=Error.create(displayMessage,{name:'Sys.InvalidOperationException'});e.popStackFrame();return e;}
Error.notImplemented=function Error$notImplemented(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.NotImplementedException: "+(message?message:Sys.Res.notImplemented);var e=Error.create(displayMessage,{name:'Sys.NotImplementedException'});e.popStackFrame();return e;}
Error.parameterCount=function Error$parameterCount(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.ParameterCountException: "+(message?message:Sys.Res.parameterCount);var e=Error.create(displayMessage,{name:'Sys.ParameterCountException'});e.popStackFrame();return e;}
Error.prototype.popStackFrame=function Error$popStackFrame(){if(arguments.length!==0)throw Error.parameterCount();if(typeof(this.stack)==="undefined"||this.stack===null||typeof(this.fileName)==="undefined"||this.fileName===null||typeof(this.lineNumber)==="undefined"||this.lineNumber===null){return;}
var stackFrames=this.stack.split("\n");var currentFrame=stackFrames[0];var pattern=this.fileName+":"+this.lineNumber;while(typeof(currentFrame)!=="undefined"&&currentFrame!==null&&currentFrame.indexOf(pattern)===-1){stackFrames.shift();currentFrame=stackFrames[0];}
var nextFrame=stackFrames[1];if(typeof(nextFrame)==="undefined"||nextFrame===null){return;}
var nextFrameParts=nextFrame.match(/@(.*):(\d+)$/);if(typeof(nextFrameParts)==="undefined"||nextFrameParts===null){return;}
this.fileName=nextFrameParts[1];this.lineNumber=parseInt(nextFrameParts[2]);stackFrames.shift();this.stack=stackFrames.join("\n");}
Object.__typeName='Object';Object.__class=true;Object.getType=function Object$getType(instance){var e=Function._validateParams(arguments,[{name:"instance"}]);if(e)throw e;var ctor=instance.constructor;if(!ctor||(typeof(ctor)!=="function")||!ctor.__typeName||(ctor.__typeName==='Object')){return Object;}
return ctor;}
Object.getTypeName=function Object$getTypeName(instance){var e=Function._validateParams(arguments,[{name:"instance"}]);if(e)throw e;return Object.getType(instance).getName();}
String.__typeName='String';String.__class=true;String.prototype.endsWith=function String$endsWith(suffix){var e=Function._validateParams(arguments,[{name:"suffix",type:String}]);if(e)throw e;return(this.substr(this.length-suffix.length)===suffix);}
String.prototype.startsWith=function String$startsWith(prefix){var e=Function._validateParams(arguments,[{name:"prefix",type:String}]);if(e)throw e;return(this.substr(0,prefix.length)===prefix);}
String.prototype.trim=function String$trim(){if(arguments.length!==0)throw Error.parameterCount();return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd=function String$trimEnd(){if(arguments.length!==0)throw Error.parameterCount();return this.replace(/\s+$/,'');}
String.prototype.trimStart=function String$trimStart(){if(arguments.length!==0)throw Error.parameterCount();return this.replace(/^\s+/,'');}
String.format=function String$format(format,args){var e=Function._validateParams(arguments,[{name:"format",type:String},{name:"args",mayBeNull:true,parameterArray:true}]);if(e)throw e;return String._toFormattedString(false,arguments);}
String.localeFormat=function String$localeFormat(format,args){var e=Function._validateParams(arguments,[{name:"format",type:String},{name:"args",mayBeNull:true,parameterArray:true}]);if(e)throw e;return String._toFormattedString(true,arguments);}
String._toFormattedString=function String$_toFormattedString(useLocale,args){var result='';var format=args[0];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);var colonIndex=brace.indexOf(':');var argNumber=parseInt((colonIndex<0)?brace:brace.substring(0,colonIndex),10)+1;if(isNaN(argNumber))throw Error.argument('format',Sys.Res.stringFormatInvalid);var argFormat=(colonIndex<0)?'':brace.substring(colonIndex+1);var arg=args[argNumber];if(typeof(arg)==="undefined"||arg===null){arg='';}
if(arg.toFormattedString){result+=arg.toFormattedString(argFormat);}
else if(useLocale&&arg.localeFormat){result+=arg.localeFormat(argFormat);}
else if(arg.format){result+=arg.format(argFormat);}
else
result+=arg.toString();i=close+1;}
return result;}
Boolean.__typeName='Boolean';Boolean.__class=true;Boolean.parse=function Boolean$parse(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;var v=value.trim().toLowerCase();if(v==='false')return false;if(v==='true')return true;throw Error.argumentOutOfRange('value',value,Sys.Res.boolTrueOrFalse);}
Date.__typeName='Date';Date.__class=true;Date._appendPreOrPostMatch=function Date$_appendPreOrPostMatch(preMatch,strBuilder){var quoteCount=0;var escaped=false;for(var i=0,il=preMatch.length;i<il;i++){var c=preMatch.charAt(i);switch(c){case'\'':if(escaped)strBuilder.append("'");else quoteCount++;escaped=false;break;case'\\':if(escaped)strBuilder.append("\\");escaped=!escaped;break;default:strBuilder.append(c);escaped=false;break;}}
return quoteCount;}
Date._expandFormat=function Date$_expandFormat(dtf,format){if(!format){format="F";}
if(format.length===1){switch(format){case"d":return dtf.ShortDatePattern;case"D":return dtf.LongDatePattern;case"t":return dtf.ShortTimePattern;case"T":return dtf.LongTimePattern;case"F":return dtf.FullDateTimePattern;case"M":case"m":return dtf.MonthDayPattern;case"s":return dtf.SortableDateTimePattern;case"Y":case"y":return dtf.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString);}}
return format;}
Date._expandYear=function Date$_expandYear(dtf,year){if(year<100){var curr=new Date().getFullYear();year+=curr-(curr%100);if(year>dtf.Calendar.TwoDigitYearMax){return year-100;}}
return year;}
Date._getParseRegExp=function Date$_getParseRegExp(dtf,format){if(!dtf._parseRegExp){dtf._parseRegExp={};}
else if(dtf._parseRegExp[format]){return dtf._parseRegExp[format];}
var expFormat=Date._expandFormat(dtf,format);expFormat=expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var regexp=new Sys.StringBuilder("^");var groups=[];var index=0;var quoteCount=0;var tokenRegExp=Date._getTokenRegExp();var match;while((match=tokenRegExp.exec(expFormat))!==null){var preMatch=expFormat.slice(index,match.index);index=tokenRegExp.lastIndex;quoteCount+=Date._appendPreOrPostMatch(preMatch,regexp);if((quoteCount%2)===1){regexp.append(match[0]);continue;}
switch(match[0]){case'dddd':case'ddd':case'MMMM':case'MMM':regexp.append("(\\D+)");break;case'tt':case't':regexp.append("(\\D*)");break;case'yyyy':regexp.append("(\\d{4})");break;case'fff':regexp.append("(\\d{3})");break;case'ff':regexp.append("(\\d{2})");break;case'f':regexp.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':regexp.append("(\\d\\d?)");break;case'zzz':regexp.append("([+-]?\\d\\d?:\\d{2})");break;case'zz':case'z':regexp.append("([+-]?\\d\\d?)");break;}
Array.add(groups,match[0]);}
Date._appendPreOrPostMatch(expFormat.slice(index),regexp);regexp.append("$");var regexpStr=regexp.toString().replace(/\s+/g,"\\s+");var parseRegExp={'regExp':regexpStr,'groups':groups};dtf._parseRegExp[format]=parseRegExp;return parseRegExp;}
Date._getTokenRegExp=function Date$_getTokenRegExp(){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 Date$parseLocale(value,formats){var e=Function._validateParams(arguments,[{name:"value",type:String},{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);if(e)throw e;return Date._parse(value,Sys.CultureInfo.CurrentCulture,arguments);}
Date.parseInvariant=function Date$parseInvariant(value,formats){var e=Function._validateParams(arguments,[{name:"value",type:String},{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);if(e)throw e;return Date._parse(value,Sys.CultureInfo.InvariantCulture,arguments);}
Date._parse=function Date$_parse(value,cultureInfo,args){var custom=false;for(var i=1,il=args.length;i<il;i++){var format=args[i];if(format){custom=true;var date=Date._parseExact(value,format,cultureInfo);if(date)return date;}}
if(!custom){var formats=cultureInfo._getDateTimeFormats();for(var i=0,il=formats.length;i<il;i++){var date=Date._parseExact(value,formats[i],cultureInfo);if(date)return date;}}
return null;}
Date._parseExact=function Date$_parseExact(value,format,cultureInfo){value=value.trim();var dtf=cultureInfo.dateTimeFormat;var parseInfo=Date._getParseRegExp(dtf,format);var match=new RegExp(parseInfo.regExp).exec(value);if(match===null)return null;var groups=parseInfo.groups;var year=null,month=null,date=null,weekDay=null;var hour=0,min=0,sec=0,msec=0,tzMinOffset=null;var pmHour=false;for(var j=0,jl=groups.length;j<jl;j++){var matchGroup=match[j+1];if(matchGroup){switch(groups[j]){case'dd':case'd':date=parseInt(matchGroup,10);if((date<1)||(date>31))return null;break;case'MMMM':month=cultureInfo._getMonthIndex(matchGroup);if((month<0)||(month>11))return null;break;case'MMM':month=cultureInfo._getAbbrMonthIndex(matchGroup);if((month<0)||(month>11))return null;break;case'M':case'MM':var month=parseInt(matchGroup,10)-1;if((month<0)||(month>11))return null;break;case'y':case'yy':year=Date._expandYear(dtf,parseInt(matchGroup,10));if((year<0)||(year>9999))return null;break;case'yyyy':year=parseInt(matchGroup,10);if((year<0)||(year>9999))return null;break;case'h':case'hh':hour=parseInt(matchGroup,10);if(hour===12)hour=0;if((hour<0)||(hour>11))return null;break;case'H':case'HH':hour=parseInt(matchGroup,10);if((hour<0)||(hour>23))return null;break;case'm':case'mm':min=parseInt(matchGroup,10);if((min<0)||(min>59))return null;break;case's':case'ss':sec=parseInt(matchGroup,10);if((sec<0)||(sec>59))return null;break;case'tt':case't':var upperToken=matchGroup.toUpperCase();pmHour=(upperToken===dtf.PMDesignator.toUpperCase());if(!pmHour&&(upperToken!==dtf.AMDesignator.toUpperCase()))return null;break;case'f':msec=parseInt(matchGroup,10)*100;if((msec<0)||(msec>999))return null;break;case'ff':msec=parseInt(matchGroup,10)*10;if((msec<0)||(msec>999))return null;break;case'fff':msec=parseInt(matchGroup,10);if((msec<0)||(msec>999))return null;break;case'dddd':weekDay=cultureInfo._getDayIndex(matchGroup);if((weekDay<0)||(weekDay>6))return null;break;case'ddd':weekDay=cultureInfo._getAbbrDayIndex(matchGroup);if((weekDay<0)||(weekDay>6))return null;break;case'zzz':var offsets=matchGroup.split(/:/);if(offsets.length!==2)return null;var hourOffset=parseInt(offsets[0],10);if((hourOffset<-12)||(hourOffset>13))return null;var minOffset=parseInt(offsets[1],10);if((minOffset<0)||(minOffset>59))return null;tzMinOffset=(hourOffset*60)+(matchGroup.startsWith('-')?-minOffset:minOffset);break;case'z':case'zz':var hourOffset=parseInt(matchGroup,10);if((hourOffset<-12)||(hourOffset>13))return null;tzMinOffset=hourOffset*60;break;}}}
var result=new Date();if(year===null){year=result.getFullYear();}
if(month===null){month=result.getMonth();}
if(date===null){date=result.getDate();}
result.setFullYear(year,month,date);if(result.getDate()!==date)return null;if((weekDay!==null)&&(result.getDay()!==weekDay)){return null;}
if(pmHour&&(hour<12)){hour+=12;}
result.setHours(hour,min,sec,msec);if(tzMinOffset!==null){var adjustedMin=result.getMinutes()-(tzMinOffset+result.getTimezoneOffset());result.setHours(result.getHours()+parseInt(adjustedMin/60,10),adjustedMin%60);}
return result;}
Date.prototype.format=function Date$format(format){var e=Function._validateParams(arguments,[{name:"format",type:String}]);if(e)throw e;return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Date.prototype.localeFormat=function Date$localeFormat(format){var e=Function._validateParams(arguments,[{name:"format",type:String}]);if(e)throw e;return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Date.prototype._toFormattedString=function Date$_toFormattedString(format,cultureInfo){if(!format||(format.length===0)||(format==='i')){if(cultureInfo&&(cultureInfo.name.length>0)){return this.toLocaleString();}
else{return this.toString();}}
var dtf=cultureInfo.dateTimeFormat;format=Date._expandFormat(dtf,format);var ret=new Sys.StringBuilder();var hour;function addLeadingZero(num){if(num<10){return'0'+num;}
return num.toString();}
function addLeadingZeros(num){if(num<10){return'00'+num;}
if(num<100){return'0'+num;}
return num.toString();}
var quoteCount=0;var tokenRegExp=Date._getTokenRegExp();for(;;){var index=tokenRegExp.lastIndex;var ar=tokenRegExp.exec(format);var preMatch=format.slice(index,ar?ar.index:format.length);quoteCount+=Date._appendPreOrPostMatch(preMatch,ret);if(!ar)break;if((quoteCount%2)===1){ret.append(ar[0]);continue;}
switch(ar[0]){case"dddd":ret.append(dtf.DayNames[this.getDay()]);break;case"ddd":ret.append(dtf.AbbreviatedDayNames[this.getDay()]);break;case"dd":ret.append(addLeadingZero(this.getDate()));break;case"d":ret.append(this.getDate());break;case"MMMM":ret.append(dtf.MonthNames[this.getMonth()]);break;case"MMM":ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);break;case"MM":ret.append(addLeadingZero(this.getMonth()+1));break;case"M":ret.append(this.getMonth()+1);break;case"yyyy":ret.append(this.getFullYear());break;case"yy":ret.append(addLeadingZero(this.getFullYear()%100));break;case"y":ret.append(this.getFullYear()%100);break;case"hh":hour=this.getHours()%12;if(hour===0)hour=12;ret.append(addLeadingZero(hour));break;case"h":hour=this.getHours()%12;if(hour===0)hour=12;ret.append(hour);break;case"HH":ret.append(addLeadingZero(this.getHours()));break;case"H":ret.append(this.getHours());break;case"mm":ret.append(addLeadingZero(this.getMinutes()));break;case"m":ret.append(this.getMinutes());break;case"ss":ret.append(addLeadingZero(this.getSeconds()));break;case"s":ret.append(this.getSeconds());break;case"tt":ret.append((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator);break;case"t":ret.append(((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator).charAt(0));break;case"f":ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));break;case"ff":ret.append(addLeadingZeros(this.getMilliseconds()).substr(0,2));break;case"fff":ret.append(addLeadingZeros(this.getMilliseconds()));break;case"z":hour=this.getTimezoneOffset()/60;ret.append(((hour<=0)?'+':'-')+Math.floor(Math.abs(hour)));break;case"zz":hour=this.getTimezoneOffset()/60;ret.append(((hour<=0)?'+':'-')+addLeadingZero(Math.floor(Math.abs(hour))));break;case"zzz":hour=this.getTimezoneOffset()/60;ret.append(((hour<=0)?'+':'-')+addLeadingZero(Math.floor(Math.abs(hour)))+
dtf.TimeSeparator+addLeadingZero(Math.abs(this.getTimezoneOffset()%60)));break;}}
return ret.toString();}
Number.__typeName='Number';Number.__class=true;Number.parseLocale=function Number$parseLocale(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;return Number._parse(value,Sys.CultureInfo.CurrentCulture);}
Number.parseInvariant=function Number$parseInvariant(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;return Number._parse(value,Sys.CultureInfo.InvariantCulture);}
Number._parse=function Number$_parse(value,cultureInfo){value=value.trim();if(value.match(/^[+-]?infinity$/i)){return parseFloat(value);}
if(value.match(/^0x[a-f0-9]+$/i)){return parseInt(value);}
var numFormat=cultureInfo.numberFormat;var signInfo=Number._parseNumberNegativePattern(value,numFormat,numFormat.NumberNegativePattern);var sign=signInfo[0];var num=signInfo[1];if((sign==='')&&(numFormat.NumberNegativePattern!==1)){signInfo=Number._parseNumberNegativePattern(value,numFormat,1);sign=signInfo[0];num=signInfo[1];}
if(sign==='')sign='+';var exponent;var intAndFraction;var exponentPos=num.indexOf('e');if(exponentPos<0)exponentPos=num.indexOf('E');if(exponentPos<0){intAndFraction=num;exponent=null;}
else{intAndFraction=num.substr(0,exponentPos);exponent=num.substr(exponentPos+1);}
var integer;var fraction;var decimalPos=intAndFraction.indexOf(numFormat.NumberDecimalSeparator);if(decimalPos<0){integer=intAndFraction;fraction=null;}
else{integer=intAndFraction.substr(0,decimalPos);fraction=intAndFraction.substr(decimalPos+numFormat.NumberDecimalSeparator.length);}
integer=integer.split(numFormat.NumberGroupSeparator).join('');var altNumGroupSeparator=numFormat.NumberGroupSeparator.replace(/\u00A0/g," ");if(numFormat.NumberGroupSeparator!==altNumGroupSeparator){integer=integer.split(altNumGroupSeparator).join('');}
var p=sign+integer;if(fraction!==null){p+='.'+fraction;}
if(exponent!==null){var expSignInfo=Number._parseNumberNegativePattern(exponent,numFormat,1);if(expSignInfo[0]===''){expSignInfo[0]='+';}
p+='e'+expSignInfo[0]+expSignInfo[1];}
if(p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)){return parseFloat(p);}
return Number.NaN;}
Number._parseNumberNegativePattern=function Number$_parseNumberNegativePattern(value,numFormat,numberNegativePattern){var neg=numFormat.NegativeSign;var pos=numFormat.PositiveSign;switch(numberNegativePattern){case 4:neg=' '+neg;pos=' '+pos;case 3:if(value.endsWith(neg)){return['-',value.substr(0,value.length-neg.length)];}
else if(value.endsWith(pos)){return['+',value.substr(0,value.length-pos.length)];}
break;case 2:neg+=' ';pos+=' ';case 1:if(value.startsWith(neg)){return['-',value.substr(neg.length)];}
else if(value.startsWith(pos)){return['+',value.substr(pos.length)];}
break;case 0:if(value.startsWith('(')&&value.endsWith(')')){return['-',value.substr(1,value.length-2)];}
break;}
return['',value];}
Number.prototype.format=function Number$format(format){var e=Function._validateParams(arguments,[{name:"format",type:String}]);if(e)throw e;return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Number.prototype.localeFormat=function Number$localeFormat(format){var e=Function._validateParams(arguments,[{name:"format",type:String}]);if(e)throw e;return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Number.prototype._toFormattedString=function Number$_toFormattedString(format,cultureInfo){if(!format||(format.length===0)||(format==='i')){if(cultureInfo&&(cultureInfo.name.length>0)){return this.toLocaleString();}
else{return this.toString();}}
var _percentPositivePattern=["n %","n%","%n"];var _percentNegativePattern=["-n %","-n%","-%n"];var _numberNegativePattern=["(n)","-n","- n","n-","n -"];var _currencyPositivePattern=["$n","n$","$ n","n $"];var _currencyNegativePattern=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function zeroPad(str,count,left){for(var l=str.length;l<count;l++){str=(left?('0'+str):(str+'0'));}
return str;}
function expandNumber(number,precision,groupSizes,sep,decimalChar){var curSize=groupSizes[0];var curGroupIndex=1;var factor=Math.pow(10,precision);var rounded=(Math.round(number*factor)/factor);if(!isFinite(rounded)){rounded=number;}
number=rounded;var numberString=number.toString();var right="";var exponent;var split=numberString.split(/e/i);numberString=split[0];exponent=(split.length>1?parseInt(split[1]):0);split=numberString.split('.');numberString=split[0];right=split.length>1?split[1]:"";var l;if(exponent>0){right=zeroPad(right,exponent,false);numberString+=right.slice(0,exponent);right=right.substr(exponent);}
else if(exponent<0){exponent=-exponent;numberString=zeroPad(numberString,exponent+1,true);right=numberString.slice(-exponent,numberString.length)+right;numberString=numberString.slice(0,-exponent);}
if(precision>0){if(right.length>precision){right=right.slice(0,precision);}
else{right=zeroPad(right,precision,false);}
right=decimalChar+right;}
else{right="";}
var stringIndex=numberString.length-1;var ret="";while(stringIndex>=0){if(curSize===0||curSize>stringIndex){if(ret.length>0)
return numberString.slice(0,stringIndex+1)+sep+ret+right;else
return numberString.slice(0,stringIndex+1)+right;}
if(ret.length>0)
ret=numberString.slice(stringIndex-curSize+1,stringIndex+1)+sep+ret;else
ret=numberString.slice(stringIndex-curSize+1,stringIndex+1);stringIndex-=curSize;if(curGroupIndex<groupSizes.length){curSize=groupSizes[curGroupIndex];curGroupIndex++;}}
return numberString.slice(0,stringIndex+1)+sep+ret+right;}
var nf=cultureInfo.numberFormat;var number=Math.abs(this);if(!format)
format="D";var precision=-1;if(format.length>1)precision=parseInt(format.slice(1),10);var pattern;switch(format.charAt(0)){case"d":case"D":pattern='n';if(precision!==-1){number=zeroPad(""+number,precision,true);}
if(this<0)number=-number;break;case"c":case"C":if(this<0)pattern=_currencyNegativePattern[nf.CurrencyNegativePattern];else pattern=_currencyPositivePattern[nf.CurrencyPositivePattern];if(precision===-1)precision=nf.CurrencyDecimalDigits;number=expandNumber(Math.abs(this),precision,nf.CurrencyGroupSizes,nf.CurrencyGroupSeparator,nf.CurrencyDecimalSeparator);break;case"n":case"N":if(this<0)pattern=_numberNegativePattern[nf.NumberNegativePattern];else pattern='n';if(precision===-1)precision=nf.NumberDecimalDigits;number=expandNumber(Math.abs(this),precision,nf.NumberGroupSizes,nf.NumberGroupSeparator,nf.NumberDecimalSeparator);break;case"p":case"P":if(this<0)pattern=_percentNegativePattern[nf.PercentNegativePattern];else pattern=_percentPositivePattern[nf.PercentPositivePattern];if(precision===-1)precision=nf.PercentDecimalDigits;number=expandNumber(Math.abs(this)*100,precision,nf.PercentGroupSizes,nf.PercentGroupSeparator,nf.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier);}
var regex=/n|\$|-|%/g;var ret="";for(;;){var index=regex.lastIndex;var ar=regex.exec(pattern);ret+=pattern.slice(index,ar?ar.index:pattern.length);if(!ar)
break;switch(ar[0]){case"n":ret+=number;break;case"$":ret+=nf.CurrencySymbol;break;case"-":ret+=nf.NegativeSign;break;case"%":ret+=nf.PercentSymbol;break;}}
return ret;}
RegExp.__typeName='RegExp';RegExp.__class=true;Array.__typeName='Array';Array.__class=true;Array.add=Array.enqueue=function Array$enqueue(array,item){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"item",mayBeNull:true}]);if(e)throw e;array[array.length]=item;}
Array.addRange=function Array$addRange(array,items){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"items",type:Array,elementMayBeNull:true}]);if(e)throw e;array.push.apply(array,items);}
Array.clear=function Array$clear(array){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true}]);if(e)throw e;array.length=0;}
Array.clone=function Array$clone(array){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true}]);if(e)throw e;if(array.length===1){return[array[0]];}
else{return Array.apply(null,array);}}
Array.contains=function Array$contains(array,item){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"item",mayBeNull:true}]);if(e)throw e;return(Array.indexOf(array,item)>=0);}
Array.dequeue=function Array$dequeue(array){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true}]);if(e)throw e;return array.shift();}
Array.forEach=function Array$forEach(array,method,instance){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"method",type:Function},{name:"instance",mayBeNull:true,optional:true}]);if(e)throw e;for(var i=0,l=array.length;i<l;i++){var elt=array[i];if(typeof(elt)!=='undefined')method.call(instance,elt,i,array);}}
Array.indexOf=function Array$indexOf(array,item,start){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"item",mayBeNull:true,optional:true},{name:"start",mayBeNull:true,optional:true}]);if(e)throw e;if(typeof(item)==="undefined")return-1;var length=array.length;if(length!==0){start=start-0;if(isNaN(start)){start=0;}
else{if(isFinite(start)){start=start-(start%1);}
if(start<0){start=Math.max(0,length+start);}}
for(var i=start;i<length;i++){if((typeof(array[i])!=="undefined")&&(array[i]===item)){return i;}}}
return-1;}
Array.insert=function Array$insert(array,index,item){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"index",mayBeNull:true},{name:"item",mayBeNull:true}]);if(e)throw e;array.splice(index,0,item);}
Array.parse=function Array$parse(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e)throw e;if(!value)return[];var v=eval(value);if(!Array.isInstanceOfType(v))throw Error.argument('value',Sys.Res.arrayParseBadFormat);return v;}
Array.remove=function Array$remove(array,item){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"item",mayBeNull:true}]);if(e)throw e;var index=Array.indexOf(array,item);if(index>=0){array.splice(index,1);}
return(index>=0);}
Array.removeAt=function Array$removeAt(array,index){var e=Function._validateParams(arguments,[{name:"array",type:Array,elementMayBeNull:true},{name:"index",mayBeNull:true}]);if(e)throw e;array.splice(index,1);}
if(!window)this.window=this;window.Type=Function;Type.__fullyQualifiedIdentifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$","i");Type.__identifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$","i");Type.prototype.callBaseMethod=function Type$callBaseMethod(instance,name,baseArguments){var e=Function._validateParams(arguments,[{name:"instance"},{name:"name",type:String},{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);if(e)throw e;var baseMethod=this.getBaseMethod(instance,name);if(!baseMethod)throw Error.invalidOperation(String.format(Sys.Res.methodNotFound,name));if(!baseArguments){return baseMethod.apply(instance);}
else{return baseMethod.apply(instance,baseArguments);}}
Type.prototype.getBaseMethod=function Type$getBaseMethod(instance,name){var e=Function._validateParams(arguments,[{name:"instance"},{name:"name",type:String}]);if(e)throw e;if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);var baseType=this.getBaseType();if(baseType){var baseMethod=baseType.prototype[name];return(baseMethod instanceof Function)?baseMethod:null;}
return null;}
Type.prototype.getBaseType=function Type$getBaseType(){if(arguments.length!==0)throw Error.parameterCount();return(typeof(this.__baseType)==="undefined")?null:this.__baseType;}
Type.prototype.getInterfaces=function Type$getInterfaces(){if(arguments.length!==0)throw Error.parameterCount();var result=[];var type=this;while(type){var interfaces=type.__interfaces;if(interfaces){for(var i=0,l=interfaces.length;i<l;i++){var interfaceType=interfaces[i];if(!Array.contains(result,interfaceType)){result[result.length]=interfaceType;}}}
type=type.__baseType;}
return result;}
Type.prototype.getName=function Type$getName(){if(arguments.length!==0)throw Error.parameterCount();return(typeof(this.__typeName)==="undefined")?"":this.__typeName;}
Type.prototype.implementsInterface=function Type$implementsInterface(interfaceType){var e=Function._validateParams(arguments,[{name:"interfaceType",type:Type}]);if(e)throw e;this.resolveInheritance();var interfaceName=interfaceType.getName();var cache=this.__interfaceCache;if(cache){var cacheEntry=cache[interfaceName];if(typeof(cacheEntry)!=='undefined')return cacheEntry;}
else{cache=this.__interfaceCache={};}
var baseType=this;while(baseType){var interfaces=baseType.__interfaces;if(interfaces){if(Array.indexOf(interfaces,interfaceType)!==-1){return cache[interfaceName]=true;}}
baseType=baseType.__baseType;}
return cache[interfaceName]=false;}
Type.prototype.inheritsFrom=function Type$inheritsFrom(parentType){var e=Function._validateParams(arguments,[{name:"parentType",type:Type}]);if(e)throw e;this.resolveInheritance();var baseType=this.__baseType;while(baseType){if(baseType===parentType){return true;}
baseType=baseType.__baseType;}
return false;}
Type.prototype.initializeBase=function Type$initializeBase(instance,baseArguments){var e=Function._validateParams(arguments,[{name:"instance"},{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);if(e)throw e;if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);this.resolveInheritance();if(this.__baseType){if(!baseArguments){this.__baseType.apply(instance);}
else{this.__baseType.apply(instance,baseArguments);}}
return instance;}
Type.prototype.isImplementedBy=function Type$isImplementedBy(instance){var e=Function._validateParams(arguments,[{name:"instance",mayBeNull:true}]);if(e)throw e;if(typeof(instance)==="undefined"||instance===null)return false;var instanceType=Object.getType(instance);return!!(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.isInstanceOfType=function Type$isInstanceOfType(instance){var e=Function._validateParams(arguments,[{name:"instance",mayBeNull:true}]);if(e)throw e;if(typeof(instance)==="undefined"||instance===null)return false;if(instance instanceof this)return true;var instanceType=Object.getType(instance);return!!(instanceType===this)||(instanceType.inheritsFrom&&instanceType.inheritsFrom(this))||(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.registerClass=function Type$registerClass(typeName,baseType,interfaceTypes){var e=Function._validateParams(arguments,[{name:"typeName",type:String},{name:"baseType",type:Type,mayBeNull:true,optional:true},{name:"interfaceTypes",type:Type,parameterArray:true}]);if(e)throw e;if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(typeName);}
catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);if(Sys.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));if((arguments.length>1)&&(typeof(baseType)==='undefined'))throw Error.argumentUndefined('baseType');if(baseType&&!baseType.__class)throw Error.argument('baseType',Sys.Res.baseNotAClass);this.prototype.constructor=this;this.__typeName=typeName;this.__class=true;if(baseType){this.__baseType=baseType;this.__basePrototypePending=true;}
Sys.__upperCaseTypes[typeName.toUpperCase()]=this;if(interfaceTypes){this.__interfaces=[];this.resolveInheritance();for(var i=2,l=arguments.length;i<l;i++){var interfaceType=arguments[i];if(!interfaceType.__interface)throw Error.argument('interfaceTypes['+(i-2)+']',Sys.Res.notAnInterface);for(var methodName in interfaceType.prototype){var method=interfaceType.prototype[methodName];if(!this.prototype[methodName]){this.prototype[methodName]=method;}}
this.__interfaces.push(interfaceType);}}
Sys.__registeredTypes[typeName]=true;return this;}
Type.prototype.registerInterface=function Type$registerInterface(typeName){var e=Function._validateParams(arguments,[{name:"typeName",type:String}]);if(e)throw e;if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(typeName);}
catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);if(Sys.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));Sys.__upperCaseTypes[typeName.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=typeName;this.__interface=true;Sys.__registeredTypes[typeName]=true;return this;}
Type.prototype.resolveInheritance=function Type$resolveInheritance(){if(arguments.length!==0)throw Error.parameterCount();if(this.__basePrototypePending){var baseType=this.__baseType;baseType.resolveInheritance();for(var memberName in baseType.prototype){var memberValue=baseType.prototype[memberName];if(!this.prototype[memberName]){this.prototype[memberName]=memberValue;}}
delete this.__basePrototypePending;}}
Type.getRootNamespaces=function Type$getRootNamespaces(){if(arguments.length!==0)throw Error.parameterCount();return Array.clone(Sys.__rootNamespaces);}
Type.isClass=function Type$isClass(type){var e=Function._validateParams(arguments,[{name:"type",mayBeNull:true}]);if(e)throw e;if((typeof(type)==='undefined')||(type===null))return false;return!!type.__class;}
Type.isInterface=function Type$isInterface(type){var e=Function._validateParams(arguments,[{name:"type",mayBeNull:true}]);if(e)throw e;if((typeof(type)==='undefined')||(type===null))return false;return!!type.__interface;}
Type.isNamespace=function Type$isNamespace(object){var e=Function._validateParams(arguments,[{name:"object",mayBeNull:true}]);if(e)throw e;if((typeof(object)==='undefined')||(object===null))return false;return!!object.__namespace;}
Type.parse=function Type$parse(typeName,ns){var e=Function._validateParams(arguments,[{name:"typeName",type:String,mayBeNull:true},{name:"ns",mayBeNull:true,optional:true}]);if(e)throw e;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);if(typeof(fn)!=='function')throw Error.argument('typeName',Sys.Res.notATypeName);Type.__htClasses[typeName]=fn;}
return fn;}
Type.registerNamespace=function Type$registerNamespace(namespacePath){var e=Function._validateParams(arguments,[{name:"namespacePath",type:String}]);if(e)throw e;if(!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath))throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);var rootObject=window;var namespaceParts=namespacePath.split('.');for(var i=0;i<namespaceParts.length;i++){var currentPart=namespaceParts[i];var ns=rootObject[currentPart];if(ns&&!ns.__namespace){throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject,namespaceParts.splice(0,i+1).join('.')));}
if(!ns){ns=rootObject[currentPart]={__namespace:true,__typeName:namespaceParts.slice(0,i+1).join('.')};if(i===0){Sys.__rootNamespaces[Sys.__rootNamespaces.length]=ns;}
var parsedName;try{parsedName=eval(ns.__typeName);}
catch(e){parsedName=null;}
if(parsedName!==ns){delete rootObject[currentPart];throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);}
ns.getName=function ns$getName(){return this.__typeName;}}
rootObject=ns;}}
window.Sys={__namespace:true,__typeName:"Sys",getName:function(){return"Sys";},__upperCaseTypes:{}};Sys.__rootNamespaces=[Sys];Sys.__registeredTypes={};Sys.IDisposable=function Sys$IDisposable(){throw Error.notImplemented();}
function Sys$IDisposable$dispose(){throw Error.notImplemented();}
Sys.IDisposable.prototype={dispose:Sys$IDisposable$dispose}
Sys.IDisposable.registerInterface('Sys.IDisposable');Sys.StringBuilder=function Sys$StringBuilder(initialText){var e=Function._validateParams(arguments,[{name:"initialText",mayBeNull:true,optional:true}]);if(e)throw e;this._parts=(typeof(initialText)!=='undefined'&&initialText!==null&&initialText!=='')?[initialText.toString()]:[];this._value={};this._len=0;}
function Sys$StringBuilder$append(text){var e=Function._validateParams(arguments,[{name:"text",mayBeNull:true}]);if(e)throw e;this._parts[this._parts.length]=text;}
function Sys$StringBuilder$appendLine(text){var e=Function._validateParams(arguments,[{name:"text",mayBeNull:true,optional:true}]);if(e)throw e;this._parts[this._parts.length]=((typeof(text)==='undefined')||(text===null)||(text===''))?'\r\n':text+'\r\n';}
function Sys$StringBuilder$clear(){if(arguments.length!==0)throw Error.parameterCount();this._parts=[];this._value={};this._len=0;}
function Sys$StringBuilder$isEmpty(){if(arguments.length!==0)throw Error.parameterCount();if(this._parts.length===0)return true;return this.toString()==='';}
function Sys$StringBuilder$toString(separator){var e=Function._validateParams(arguments,[{name:"separator",type:String,mayBeNull:true,optional:true}]);if(e)throw e;separator=separator||'';var parts=this._parts;if(this._len!==parts.length){this._value={};this._len=parts.length;}
var val=this._value;if(typeof(val[separator])==='undefined'){if(separator!==''){for(var i=0;i<parts.length;){if((typeof(parts[i])==='undefined')||(parts[i]==='')||(parts[i]===null)){parts.splice(i,1);}
else{i++;}}}
val[separator]=this._parts.join(separator);}
return val[separator];}
Sys.StringBuilder.prototype={append:Sys$StringBuilder$append,appendLine:Sys$StringBuilder$appendLine,clear:Sys$StringBuilder$clear,isEmpty:Sys$StringBuilder$isEmpty,toString:Sys$StringBuilder$toString}
Sys.StringBuilder.registerClass('Sys.StringBuilder');if(!window.XMLHttpRequest){window.XMLHttpRequest=function window$XMLHttpRequest(){var progIDs=['Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP'];for(var i=0,l=progIDs.length;i<l;i++){try{return new ActiveXObject(progIDs[i]);}
catch(ex){}}
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(){if(arguments.length!==0)throw Error.parameterCount();}
function Sys$_Debug$_appendConsole(text){if((typeof(Debug)!=='undefined')&&Debug.writeln){Debug.writeln(text);}
if(window.console&&window.console.log){window.console.log(text);}
if(window.opera){window.opera.postError(text);}
if(window.debugService){window.debugService.trace(text);}}
function Sys$_Debug$_appendTrace(text){var traceElement=document.getElementById('TraceConsole');if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){traceElement.value+=text+'\n';}}
function Sys$_Debug$assert(condition,message,displayCaller){var e=Function._validateParams(arguments,[{name:"condition",type:Boolean},{name:"message",type:String,mayBeNull:true,optional:true},{name:"displayCaller",type:Boolean,optional:true}]);if(e)throw e;if(!condition){message=(displayCaller&&this.assert.caller)?String.format(Sys.Res.assertFailedCaller,message,this.assert.caller):String.format(Sys.Res.assertFailed,message);if(confirm(String.format(Sys.Res.breakIntoDebugger,message))){this.fail(message);}}}
function Sys$_Debug$clearTrace(){if(arguments.length!==0)throw Error.parameterCount();var traceElement=document.getElementById('TraceConsole');if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){traceElement.value='';}}
function Sys$_Debug$fail(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true}]);if(e)throw e;this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement){eval('debugger');}}
function Sys$_Debug$trace(text){var e=Function._validateParams(arguments,[{name:"text"}]);if(e)throw e;this._appendConsole(text);this._appendTrace(text);}
function Sys$_Debug$traceDump(object,name){var e=Function._validateParams(arguments,[{name:"object",mayBeNull:true},{name:"name",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var text=this._traceDump(object,name,true);}
function Sys$_Debug$_traceDump(object,name,recursive,indentationPadding,loopArray){name=name?name:'traceDump';indentationPadding=indentationPadding?indentationPadding:'';if(object===null){this.trace(indentationPadding+name+': null');return;}
switch(typeof(object)){case'undefined':this.trace(indentationPadding+name+': Undefined');break;case'number':case'string':case'boolean':this.trace(indentationPadding+name+': '+object);break;default:if(Date.isInstanceOfType(object)||RegExp.isInstanceOfType(object)){this.trace(indentationPadding+name+': '+object.toString());break;}
if(!loopArray){loopArray=[];}
else if(Array.contains(loopArray,object)){this.trace(indentationPadding+name+': ...');return;}
Array.add(loopArray,object);if((object==window)||(object===document)||(window.HTMLElement&&(object instanceof HTMLElement))||(typeof(object.nodeName)==='string')){var tag=object.tagName?object.tagName:'DomElement';if(object.id){tag+=' - '+object.id;}
this.trace(indentationPadding+name+' {'+tag+'}');}
else{var typeName=Object.getTypeName(object);this.trace(indentationPadding+name+(typeof(typeName)==='string'?' {'+typeName+'}':''));if((indentationPadding==='')||recursive){indentationPadding+="    ";var i,length,properties,p,v;if(Array.isInstanceOfType(object)){length=object.length;for(i=0;i<length;i++){this._traceDump(object[i],'['+i+']',recursive,indentationPadding,loopArray);}}
else{for(p in object){v=object[p];if(!Function.isInstanceOfType(v)){this._traceDump(v,p,recursive,indentationPadding,loopArray);}}}}}
Array.remove(loopArray,object);}}
Sys._Debug.prototype={_appendConsole:Sys$_Debug$_appendConsole,_appendTrace:Sys$_Debug$_appendTrace,assert:Sys$_Debug$assert,clearTrace:Sys$_Debug$clearTrace,fail:Sys$_Debug$fail,trace:Sys$_Debug$trace,traceDump:Sys$_Debug$traceDump,_traceDump:Sys$_Debug$_traceDump}
Sys._Debug.registerClass('Sys._Debug');Sys.Debug=new Sys._Debug();Sys.Debug.isDebug=true;function Sys$Enum$parse(value,ignoreCase){var e=Function._validateParams(arguments,[{name:"value",type:String},{name:"ignoreCase",type:Boolean,optional:true}]);if(e)throw e;var values,parsed,val;if(ignoreCase){values=this.__lowerCaseValues;if(!values){this.__lowerCaseValues=values={};var prototype=this.prototype;for(var name in prototype){values[name.toLowerCase()]=prototype[name];}}}
else{values=this.prototype;}
if(!this.__flags){val=(ignoreCase?value.toLowerCase():value);parsed=values[val.trim()];if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));return parsed;}
else{var parts=(ignoreCase?value.toLowerCase():value).split(',');var v=0;for(var i=parts.length-1;i>=0;i--){var part=parts[i].trim();parsed=values[part];if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value.split(',')[i].trim(),this.__typeName));v|=parsed;}
return v;}}
function Sys$Enum$toString(value){var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true,optional:true}]);if(e)throw e;if((typeof(value)==='undefined')||(value===null))return this.__string;if((typeof(value)!='number')||((value%1)!==0))throw Error.argumentType('value',Object.getType(value),this);var values=this.prototype;var i;if(!this.__flags||(value===0)){for(i in values){if(values[i]===value){return i;}}}
else{var sorted=this.__sortedValues;if(!sorted){sorted=[];for(i in values){sorted[sorted.length]={key:i,value:values[i]};}
sorted.sort(function(a,b){return a.value-b.value;});this.__sortedValues=sorted;}
var parts=[];var v=value;for(i=sorted.length-1;i>=0;i--){var kvp=sorted[i];var vali=kvp.value;if(vali===0)continue;if((vali&value)===vali){parts[parts.length]=kvp.key;v-=vali;if(v===0)break;}}
if(parts.length&&v===0)return parts.reverse().join(', ');}
throw Error.argumentOutOfRange('value',value,String.format(Sys.Res.enumInvalidValue,value,this.__typeName));}
Type.prototype.registerEnum=function Type$registerEnum(name,flags){var e=Function._validateParams(arguments,[{name:"name",type:String},{name:"flags",type:Boolean,optional:true}]);if(e)throw e;if(!Type.__fullyQualifiedIdentifierRegExp.test(name))throw Error.argument('name',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(name);}
catch(e){throw Error.argument('name',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('name',Sys.Res.badTypeName);if(Sys.__registeredTypes[name])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,name));for(var i in this.prototype){var val=this.prototype[i];if(!Type.__identifierRegExp.test(i))throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName,i));if(typeof(val)!=='number'||(val%1)!==0)throw Error.invalidOperation(Sys.Res.enumValueNotInteger);if(typeof(this[i])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.enumReservedName,i));}
Sys.__upperCaseTypes[name.toUpperCase()]=this;for(var i in this.prototype){this[i]=this.prototype[i];}
this.__typeName=name;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=flags;this.__enum=true;Sys.__registeredTypes[name]=true;}
Type.isEnum=function Type$isEnum(type){var e=Function._validateParams(arguments,[{name:"type",mayBeNull:true}]);if(e)throw e;if((typeof(type)==='undefined')||(type===null))return false;return!!type.__enum;}
Type.isFlags=function Type$isFlags(type){var e=Function._validateParams(arguments,[{name:"type",mayBeNull:true}]);if(e)throw e;if((typeof(type)==='undefined')||(type===null))return false;return!!type.__flags;}
Sys.EventHandlerList=function Sys$EventHandlerList(){if(arguments.length!==0)throw Error.parameterCount();this._list={};}
function Sys$EventHandlerList$addHandler(id,handler){var e=Function._validateParams(arguments,[{name:"id",type:String},{name:"handler",type:Function}]);if(e)throw e;Array.add(this._getEvent(id,true),handler);}
function Sys$EventHandlerList$removeHandler(id,handler){var e=Function._validateParams(arguments,[{name:"id",type:String},{name:"handler",type:Function}]);if(e)throw e;var evt=this._getEvent(id);if(!evt)return;Array.remove(evt,handler);}
function Sys$EventHandlerList$getHandler(id){var e=Function._validateParams(arguments,[{name:"id",type:String}]);if(e)throw e;var evt=this._getEvent(id);if(!evt||(evt.length===0))return null;evt=Array.clone(evt);return function(source,args){for(var i=0,l=evt.length;i<l;i++){evt[i](source,args);}};}
function Sys$EventHandlerList$_getEvent(id,create){if(!this._list[id]){if(!create)return null;this._list[id]=[];}
return this._list[id];}
Sys.EventHandlerList.prototype={addHandler:Sys$EventHandlerList$addHandler,removeHandler:Sys$EventHandlerList$removeHandler,getHandler:Sys$EventHandlerList$getHandler,_getEvent:Sys$EventHandlerList$_getEvent}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');Sys.EventArgs=function Sys$EventArgs(){if(arguments.length!==0)throw Error.parameterCount();}
Sys.EventArgs.registerClass('Sys.EventArgs');Sys.EventArgs.Empty=new Sys.EventArgs();Sys.CancelEventArgs=function Sys$CancelEventArgs(){if(arguments.length!==0)throw Error.parameterCount();Sys.CancelEventArgs.initializeBase(this);this._cancel=false;}
function Sys$CancelEventArgs$get_cancel(){if(arguments.length!==0)throw Error.parameterCount();return this._cancel;}
function Sys$CancelEventArgs$set_cancel(value){var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);if(e)throw e;this._cancel=value;}
Sys.CancelEventArgs.prototype={get_cancel:Sys$CancelEventArgs$get_cancel,set_cancel:Sys$CancelEventArgs$set_cancel}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);Sys.INotifyPropertyChange=function Sys$INotifyPropertyChange(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyPropertyChange$add_propertyChanged(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;throw Error.notImplemented();}
function Sys$INotifyPropertyChange$remove_propertyChanged(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;throw Error.notImplemented();}
Sys.INotifyPropertyChange.prototype={add_propertyChanged:Sys$INotifyPropertyChange$add_propertyChanged,remove_propertyChanged:Sys$INotifyPropertyChange$remove_propertyChanged}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');Sys.PropertyChangedEventArgs=function Sys$PropertyChangedEventArgs(propertyName){var e=Function._validateParams(arguments,[{name:"propertyName",type:String}]);if(e)throw e;Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=propertyName;}
function Sys$PropertyChangedEventArgs$get_propertyName(){if(arguments.length!==0)throw Error.parameterCount();return this._propertyName;}
Sys.PropertyChangedEventArgs.prototype={get_propertyName:Sys$PropertyChangedEventArgs$get_propertyName}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);Sys.INotifyDisposing=function Sys$INotifyDisposing(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyDisposing$add_disposing(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;throw Error.notImplemented();}
function Sys$INotifyDisposing$remove_disposing(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;throw Error.notImplemented();}
Sys.INotifyDisposing.prototype={add_disposing:Sys$INotifyDisposing$add_disposing,remove_disposing:Sys$INotifyDisposing$remove_disposing}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function Sys$Component(){if(arguments.length!==0)throw Error.parameterCount();if(Sys.Application)Sys.Application.registerDisposableObject(this);}
function Sys$Component$get_events(){if(arguments.length!==0)throw Error.parameterCount();if(!this._events){this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Component$get_id(){if(arguments.length!==0)throw Error.parameterCount();return this._id;}
function Sys$Component$set_id(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;if(this._idSet)throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);this._idSet=true;var oldId=this.get_id();if(oldId&&Sys.Application.findComponent(oldId))throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);this._id=value;}
function Sys$Component$get_isInitialized(){if(arguments.length!==0)throw Error.parameterCount();return this._initialized;}
function Sys$Component$get_isUpdating(){if(arguments.length!==0)throw Error.parameterCount();return this._updating;}
function Sys$Component$add_disposing(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().addHandler("disposing",handler);}
function Sys$Component$remove_disposing(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("disposing",handler);}
function Sys$Component$add_propertyChanged(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().addHandler("propertyChanged",handler);}
function Sys$Component$remove_propertyChanged(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("propertyChanged",handler);}
function Sys$Component$beginUpdate(){this._updating=true;}
function Sys$Component$dispose(){if(this._events){var handler=this._events.getHandler("disposing");if(handler){handler(this,Sys.EventArgs.Empty);}}
delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this);}
function Sys$Component$endUpdate(){this._updating=false;if(!this._initialized)this.initialize();this.updated();}
function Sys$Component$initialize(){this._initialized=true;}
function Sys$Component$raisePropertyChanged(propertyName){var e=Function._validateParams(arguments,[{name:"propertyName",type:String}]);if(e)throw e;if(!this._events)return;var handler=this._events.getHandler("propertyChanged");if(handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}}
function Sys$Component$updated(){}
Sys.Component.prototype={_id:null,_idSet:false,_initialized:false,_updating:false,get_events:Sys$Component$get_events,get_id:Sys$Component$get_id,set_id:Sys$Component$set_id,get_isInitialized:Sys$Component$get_isInitialized,get_isUpdating:Sys$Component$get_isUpdating,add_disposing:Sys$Component$add_disposing,remove_disposing:Sys$Component$remove_disposing,add_propertyChanged:Sys$Component$add_propertyChanged,remove_propertyChanged:Sys$Component$remove_propertyChanged,beginUpdate:Sys$Component$beginUpdate,dispose:Sys$Component$dispose,endUpdate:Sys$Component$endUpdate,initialize:Sys$Component$initialize,raisePropertyChanged:Sys$Component$raisePropertyChanged,updated:Sys$Component$updated}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(target,properties){var e=Function._validateParams(arguments,[{name:"target"},{name:"properties"}]);if(e)throw e;var current;var targetType=Object.getType(target);var isObject=(targetType===Object)||(targetType===Sys.UI.DomElement);var isComponent=Sys.Component.isInstanceOfType(target)&&!target.get_isUpdating();if(isComponent)target.beginUpdate();for(var name in properties){var val=properties[name];var getter=isObject?null:target["get_"+name];if(isObject||typeof(getter)!=='function'){var targetVal=target[name];if(!isObject&&typeof(targetVal)==='undefined')throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));if(!val||(typeof(val)!=='object')||(isObject&&!targetVal)){target[name]=val;}
else{Sys$Component$_setProperties(targetVal,val);}}
else{var setter=target["set_"+name];if(typeof(setter)==='function'){setter.apply(target,[val]);}
else if(val instanceof Array){current=getter.apply(target);if(!(current instanceof Array))throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));for(var i=0,j=current.length,l=val.length;i<l;i++,j++){current[j]=val[i];}}
else if((typeof(val)==='object')&&(Object.getType(val)===Object)){current=getter.apply(target);if((typeof(current)==='undefined')||(current===null))throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));Sys$Component$_setProperties(current,val);}
else{throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}}}
if(isComponent)target.endUpdate();}
function Sys$Component$_setReferences(component,references){for(var name in references){var setter=component["set_"+name];var reference=$find(references[name]);if(typeof(setter)!=='function')throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));if(!reference)throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound,references[name]));setter.apply(component,[reference]);}}
var $create=Sys.Component.create=function Sys$Component$create(type,properties,events,references,element){var e=Function._validateParams(arguments,[{name:"type",type:Type},{name:"properties",mayBeNull:true,optional:true},{name:"events",mayBeNull:true,optional:true},{name:"references",mayBeNull:true,optional:true},{name:"element",mayBeNull:true,domElement:true,optional:true}]);if(e)throw e;if(!type.inheritsFrom(Sys.Component)){throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));}
if(type.inheritsFrom(Sys.UI.Behavior)||type.inheritsFrom(Sys.UI.Control)){if(!element)throw Error.argument('element',Sys.Res.createNoDom);}
else if(element)throw Error.argument('element',Sys.Res.createComponentOnDom);var component=(element?new type(element):new type());var app=Sys.Application;var creatingComponents=app.get_isCreatingComponents();component.beginUpdate();if(properties){Sys$Component$_setProperties(component,properties);}
if(events){for(var name in events){if(!(component["add_"+name]instanceof Function))throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));if(!(events[name]instanceof Function))throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);component["add_"+name](events[name]);}}
if(component.get_id()){app.addComponent(component);}
if(creatingComponents){app._createdComponents[app._createdComponents.length]=component;if(references){app._addComponentToSecondPass(component,references);}
else{component.endUpdate();}}
else{if(references){Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton=function Sys$UI$MouseButton(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function Sys$UI$Key(){if(arguments.length!==0)throw Error.parameterCount();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 Sys$UI$Point(x,y){var e=Function._validateParams(arguments,[{name:"x",type:Number,integer:true},{name:"y",type:Number,integer:true}]);if(e)throw e;this.x=x;this.y=y;}
Sys.UI.Point.registerClass('Sys.UI.Point');Sys.UI.Bounds=function Sys$UI$Bounds(x,y,width,height){var e=Function._validateParams(arguments,[{name:"x",type:Number,integer:true},{name:"y",type:Number,integer:true},{name:"height",type:Number,integer:true},{name:"width",type:Number,integer:true}]);if(e)throw e;this.x=x;this.y=y;this.height=height;this.width=width;}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');Sys.UI.DomEvent=function Sys$UI$DomEvent(eventObject){var e=Function._validateParams(arguments,[{name:"eventObject"}]);if(e)throw e;var e=eventObject;var etype=this.type=e.type.toLowerCase();this.rawEvent=e;this.altKey=e.altKey;if(typeof(e.button)!=='undefined'){this.button=(typeof(e.which)!=='undefined')?e.button:(e.button===4)?Sys.UI.MouseButton.middleButton:(e.button===2)?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;}
if(etype==='keypress'){this.charCode=e.charCode||e.keyCode;}
else if(e.keyCode&&(e.keyCode===46)){this.keyCode=127;}
else{this.keyCode=e.keyCode;}
this.clientX=e.clientX;this.clientY=e.clientY;this.ctrlKey=e.ctrlKey;this.target=e.target?e.target:e.srcElement;if(!etype.startsWith('key')){if((typeof(e.offsetX)!=='undefined')&&(typeof(e.offsetY)!=='undefined')){this.offsetX=e.offsetX;this.offsetY=e.offsetY;}
else if(this.target&&(this.target.nodeType!==3)&&(typeof(e.clientX)==='number')){var loc=Sys.UI.DomElement.getLocation(this.target);var w=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(w.pageXOffset||0)+e.clientX-loc.x;this.offsetY=(w.pageYOffset||0)+e.clientY-loc.y;}}
this.screenX=e.screenX;this.screenY=e.screenY;this.shiftKey=e.shiftKey;}
function Sys$UI$DomEvent$preventDefault(){if(arguments.length!==0)throw Error.parameterCount();if(this.rawEvent.preventDefault){this.rawEvent.preventDefault();}
else if(window.event){this.rawEvent.returnValue=false;}}
function Sys$UI$DomEvent$stopPropagation(){if(arguments.length!==0)throw Error.parameterCount();if(this.rawEvent.stopPropagation){this.rawEvent.stopPropagation();}
else if(window.event){this.rawEvent.cancelBubble=true;}}
Sys.UI.DomEvent.prototype={preventDefault:Sys$UI$DomEvent$preventDefault,stopPropagation:Sys$UI$DomEvent$stopPropagation}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');var $addHandler=Sys.UI.DomEvent.addHandler=function Sys$UI$DomEvent$addHandler(element,eventName,handler){var e=Function._validateParams(arguments,[{name:"element"},{name:"eventName",type:String},{name:"handler",type:Function}]);if(e)throw e;Sys.UI.DomEvent._ensureDomNode(element);if(eventName==="error")throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);if(!element._events){element._events={};}
var eventCache=element._events[eventName];if(!eventCache){element._events[eventName]=eventCache=[];}
var browserHandler;if(element.addEventListener){browserHandler=function(e){return handler.call(element,new Sys.UI.DomEvent(e));}
element.addEventListener(eventName,browserHandler,false);}
else if(element.attachEvent){browserHandler=function(){var e={};try{e=Sys.UI.DomElement._getWindow(element).event}catch(ex){}
return handler.call(element,new Sys.UI.DomEvent(e));}
element.attachEvent('on'+eventName,browserHandler);}
eventCache[eventCache.length]={handler:handler,browserHandler:browserHandler};}
var $addHandlers=Sys.UI.DomEvent.addHandlers=function Sys$UI$DomEvent$addHandlers(element,events,handlerOwner){var e=Function._validateParams(arguments,[{name:"element"},{name:"events",type:Object},{name:"handlerOwner",optional:true}]);if(e)throw e;Sys.UI.DomEvent._ensureDomNode(element);for(var name in events){var handler=events[name];if(typeof(handler)!=='function')throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);}
$addHandler(element,name,handler);}}
var $clearHandlers=Sys.UI.DomEvent.clearHandlers=function Sys$UI$DomEvent$clearHandlers(element){var e=Function._validateParams(arguments,[{name:"element"}]);if(e)throw e;Sys.UI.DomEvent._ensureDomNode(element);if(element._events){var cache=element._events;for(var name in cache){var handlers=cache[name];for(var i=handlers.length-1;i>=0;i--){$removeHandler(element,name,handlers[i].handler);}}
element._events=null;}}
var $removeHandler=Sys.UI.DomEvent.removeHandler=function Sys$UI$DomEvent$removeHandler(element,eventName,handler){var e=Function._validateParams(arguments,[{name:"element"},{name:"eventName",type:String},{name:"handler",type:Function}]);if(e)throw e;Sys.UI.DomEvent._ensureDomNode(element);var browserHandler=null;if((typeof(element._events)!=='object')||(element._events==null))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);var cache=element._events[eventName];if(!(cache instanceof Array))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);for(var i=0,l=cache.length;i<l;i++){if(cache[i].handler===handler){browserHandler=cache[i].browserHandler;break;}}
if(typeof(browserHandler)!=='function')throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);if(element.removeEventListener){element.removeEventListener(eventName,browserHandler,false);}
else if(element.detachEvent){element.detachEvent('on'+eventName,browserHandler);}
cache.splice(i,1);}
Sys.UI.DomEvent._ensureDomNode=function Sys$UI$DomEvent$_ensureDomNode(element){if(element.tagName&&(element.tagName.toUpperCase()==="SCRIPT"))return;var doc=element.ownerDocument||element.document||element;if((typeof(element.document)!=='object')&&(element!=doc)&&(typeof(element.nodeType)!=='number')){throw Error.argument("element",Sys.Res.argumentDomNode);}}
Sys.UI.DomElement=function Sys$UI$DomElement(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');Sys.UI.DomElement.addCssClass=function Sys$UI$DomElement$addCssClass(element,className){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"className",type:String}]);if(e)throw e;if(!Sys.UI.DomElement.containsCssClass(element,className)){if(element.className===''){element.className=className;}
else{element.className+=' '+className;}}}
Sys.UI.DomElement.containsCssClass=function Sys$UI$DomElement$containsCssClass(element,className){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"className",type:String}]);if(e)throw e;return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.getBounds=function Sys$UI$DomElement$getBounds(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;var offset=Sys.UI.DomElement.getLocation(element);return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth||0,element.offsetHeight||0);}
var $get=Sys.UI.DomElement.getElementById=function Sys$UI$DomElement$getElementById(id,element){var e=Function._validateParams(arguments,[{name:"id",type:String},{name:"element",mayBeNull:true,domElement:true,optional:true}]);if(e)throw e;if(!element)return document.getElementById(id);if(element.getElementById)return element.getElementById(id);var nodeQueue=[];var childNodes=element.childNodes;for(var i=0;i<childNodes.length;i++){var node=childNodes[i];if(node.nodeType==1){nodeQueue[nodeQueue.length]=node;}}
while(nodeQueue.length){node=nodeQueue.shift();if(node.id==id){return node;}
childNodes=node.childNodes;for(i=0;i<childNodes.length;i++){node=childNodes[i];if(node.nodeType==1){nodeQueue[nodeQueue.length]=node;}}}
return null;}
switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if(element.self||element.nodeType===9)return new Sys.UI.Point(0,0);var clientRect=element.getBoundingClientRect();if(!clientRect){return new Sys.UI.Point(0,0);}
var documentElement=element.ownerDocument.documentElement;var offsetX=clientRect.left-2+documentElement.scrollLeft,offsetY=clientRect.top-2+documentElement.scrollTop;try{var f=element.ownerDocument.parentWindow.frameElement||null;if(f){var offset=(f.frameBorder==="0"||f.frameBorder==="no")?2:0;offsetX+=offset;offsetY+=offset;}}
catch(ex){}
return new Sys.UI.Point(offsetX,offsetY);}
break;case Sys.Browser.Safari:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;var previousStyle=null;var currentStyle;for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);var tagName=parent.tagName?parent.tagName.toUpperCase():null;if((parent.offsetLeft||parent.offsetTop)&&((tagName!=="BODY")||(!previousStyle||previousStyle.position!=="absolute"))){offsetX+=parent.offsetLeft;offsetY+=parent.offsetTop;}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);var elementPosition=currentStyle?currentStyle.position:null;if(!elementPosition||(elementPosition!=="absolute")){for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName?parent.tagName.toUpperCase():null;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);}
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);var parentPosition=currentStyle?currentStyle.position:null;if(parentPosition&&(parentPosition==="absolute"))break;}}
return new Sys.UI.Point(offsetX,offsetY);}
break;case Sys.Browser.Opera:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;for(var parent=element;parent;previous=parent,parent=parent.offsetParent){var tagName=parent.tagName;offsetX+=parent.offsetLeft||0;offsetY+=parent.offsetTop||0;}
var elementPosition=element.style.position;var elementPositioned=elementPosition&&(elementPosition!=="static");for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName?parent.tagName.toUpperCase():null;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)&&((elementPositioned&&((parent.style.overflow==="scroll")||(parent.style.overflow==="auto"))))){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);}
var parentPosition=(parent&&parent.style)?parent.style.position:null;elementPositioned=elementPositioned||(parentPosition&&(parentPosition!=="static"));}
return new Sys.UI.Point(offsetX,offsetY);}
break;default:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;var previousStyle=null;var currentStyle=null;for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){var tagName=parent.tagName?parent.tagName.toUpperCase():null;currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);if((parent.offsetLeft||parent.offsetTop)&&!((tagName==="BODY")&&(!previousStyle||previousStyle.position!=="absolute"))){offsetX+=parent.offsetLeft;offsetY+=parent.offsetTop;}
if(previous!==null&&currentStyle){if((tagName!=="TABLE")&&(tagName!=="TD")&&(tagName!=="HTML")){offsetX+=parseInt(currentStyle.borderLeftWidth)||0;offsetY+=parseInt(currentStyle.borderTopWidth)||0;}
if(tagName==="TABLE"&&(currentStyle.position==="relative"||currentStyle.position==="absolute")){offsetX+=parseInt(currentStyle.marginLeft)||0;offsetY+=parseInt(currentStyle.marginTop)||0;}}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);var elementPosition=currentStyle?currentStyle.position:null;if(!elementPosition||(elementPosition!=="absolute")){for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName?parent.tagName.toUpperCase():null;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);if(currentStyle){offsetX+=parseInt(currentStyle.borderLeftWidth)||0;offsetY+=parseInt(currentStyle.borderTopWidth)||0;}}}}
return new Sys.UI.Point(offsetX,offsetY);}
break;}
Sys.UI.DomElement.removeCssClass=function Sys$UI$DomElement$removeCssClass(element,className){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"className",type:String}]);if(e)throw e;var currentClassName=' '+element.className+' ';var index=currentClassName.indexOf(' '+className+' ');if(index>=0){element.className=(currentClassName.substr(0,index)+' '+
currentClassName.substring(index+className.length+1,currentClassName.length)).trim();}}
Sys.UI.DomElement.setLocation=function Sys$UI$DomElement$setLocation(element,x,y){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"x",type:Number,integer:true},{name:"y",type:Number,integer:true}]);if(e)throw e;var style=element.style;style.position='absolute';style.left=x+"px";style.top=y+"px";}
Sys.UI.DomElement.toggleCssClass=function Sys$UI$DomElement$toggleCssClass(element,className){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"className",type:String}]);if(e)throw e;if(Sys.UI.DomElement.containsCssClass(element,className)){Sys.UI.DomElement.removeCssClass(element,className);}
else{Sys.UI.DomElement.addCssClass(element,className);}}
Sys.UI.DomElement.getVisibilityMode=function Sys$UI$DomElement$getVisibilityMode(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;return(element._visibilityMode===Sys.UI.VisibilityMode.hide)?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse;}
Sys.UI.DomElement.setVisibilityMode=function Sys$UI$DomElement$setVisibilityMode(element,value){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"value",type:Sys.UI.VisibilityMode}]);if(e)throw e;Sys.UI.DomElement._ensureOldDisplayMode(element);if(element._visibilityMode!==value){element._visibilityMode=value;if(Sys.UI.DomElement.getVisible(element)===false){if(element._visibilityMode===Sys.UI.VisibilityMode.hide){element.style.display=element._oldDisplayMode;}
else{element.style.display='none';}}
element._visibilityMode=value;}}
Sys.UI.DomElement.getVisible=function Sys$UI$DomElement$getVisible(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);if(!style)return true;return(style.visibility!=='hidden')&&(style.display!=='none');}
Sys.UI.DomElement.setVisible=function Sys$UI$DomElement$setVisible(element,value){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"value",type:Boolean}]);if(e)throw e;if(value!==Sys.UI.DomElement.getVisible(element)){Sys.UI.DomElement._ensureOldDisplayMode(element);element.style.visibility=value?'visible':'hidden';if(value||(element._visibilityMode===Sys.UI.VisibilityMode.hide)){element.style.display=element._oldDisplayMode;}
else{element.style.display='none';}}}
Sys.UI.DomElement._ensureOldDisplayMode=function Sys$UI$DomElement$_ensureOldDisplayMode(element){if(!element._oldDisplayMode){var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);element._oldDisplayMode=style?style.display:null;if(!element._oldDisplayMode||element._oldDisplayMode==='none'){switch(element.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':element._oldDisplayMode='block';break;case'LI':element._oldDisplayMode='list-item';break;default:element._oldDisplayMode='inline';}}}}
Sys.UI.DomElement._getWindow=function Sys$UI$DomElement$_getWindow(element){var doc=element.ownerDocument||element.document||element;return doc.defaultView||doc.parentWindow;}
Sys.UI.DomElement._getCurrentStyle=function Sys$UI$DomElement$_getCurrentStyle(element){if(element.nodeType===3)return null;var w=Sys.UI.DomElement._getWindow(element);if(element.documentElement)element=element.documentElement;var computedStyle=(w&&(element!==w)&&w.getComputedStyle)?w.getComputedStyle(element,null):element.currentStyle||element.style;if(!computedStyle&&(Sys.Browser.agent===Sys.Browser.Safari)&&element.style){var oldDisplay=element.style.display;var oldPosition=element.style.position;element.style.position='absolute';element.style.display='block';var style=w.getComputedStyle(element,null);element.style.display=oldDisplay;element.style.position=oldPosition;computedStyle={};for(var n in style){computedStyle[n]=style[n];}
computedStyle.display='none';}
return computedStyle;}
Sys.IContainer=function Sys$IContainer(){throw Error.notImplemented();}
function Sys$IContainer$addComponent(component){var e=Function._validateParams(arguments,[{name:"component",type:Sys.Component}]);if(e)throw e;throw Error.notImplemented();}
function Sys$IContainer$removeComponent(component){var e=Function._validateParams(arguments,[{name:"component",type:Sys.Component}]);if(e)throw e;throw Error.notImplemented();}
function Sys$IContainer$findComponent(id){var e=Function._validateParams(arguments,[{name:"id",type:String}]);if(e)throw e;throw Error.notImplemented();}
function Sys$IContainer$getComponents(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
Sys.IContainer.prototype={addComponent:Sys$IContainer$addComponent,removeComponent:Sys$IContainer$removeComponent,findComponent:Sys$IContainer$findComponent,getComponents:Sys$IContainer$getComponents}
Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function Sys$_ScriptLoader(){this._scriptsToLoad=null;this._sessions=[];this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler);}
function Sys$_ScriptLoader$dispose(){this._stopSession();this._loading=false;if(this._events){delete this._events;}
this._sessions=null;this._currentSession=null;this._scriptLoadedDelegate=null;}
function Sys$_ScriptLoader$loadScripts(scriptTimeout,allScriptsLoadedCallback,scriptLoadFailedCallback,scriptLoadTimeoutCallback){var e=Function._validateParams(arguments,[{name:"scriptTimeout",type:Number,integer:true},{name:"allScriptsLoadedCallback",type:Function,mayBeNull:true},{name:"scriptLoadFailedCallback",type:Function,mayBeNull:true},{name:"scriptLoadTimeoutCallback",type:Function,mayBeNull:true}]);if(e)throw e;var session={allScriptsLoadedCallback:allScriptsLoadedCallback,scriptLoadFailedCallback:scriptLoadFailedCallback,scriptLoadTimeoutCallback:scriptLoadTimeoutCallback,scriptsToLoad:this._scriptsToLoad,scriptTimeout:scriptTimeout};this._scriptsToLoad=null;this._sessions[this._sessions.length]=session;if(!this._loading){this._nextSession();}}
function Sys$_ScriptLoader$notifyScriptLoaded(){if(arguments.length!==0)throw Error.parameterCount();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);}}}
function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes){var e=Function._validateParams(arguments,[{name:"scriptAttributes"}]);if(e)throw e;if(!this._scriptsToLoad){this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,scriptAttributes);}
function Sys$_ScriptLoader$queueScriptBlock(scriptContent){var e=Function._validateParams(arguments,[{name:"scriptContent",type:String}]);if(e)throw e;if(!this._scriptsToLoad){this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{text:scriptContent});}
function Sys$_ScriptLoader$queueScriptReference(scriptUrl){var e=Function._validateParams(arguments,[{name:"scriptUrl",type:String}]);if(e)throw e;if(!this._scriptsToLoad){this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{src:scriptUrl});}
function Sys$_ScriptLoader$_createScriptElement(queuedScript){var scriptElement=document.createElement('script');scriptElement.type='text/javascript';for(var attr in queuedScript){scriptElement[attr]=queuedScript[attr];}
return scriptElement;}
function Sys$_ScriptLoader$_loadScriptsInternal(){var session=this._currentSession;if(session.scriptsToLoad&&session.scriptsToLoad.length>0){var nextScript=Array.dequeue(session.scriptsToLoad);var scriptElement=this._createScriptElement(nextScript);if(scriptElement.text&&Sys.Browser.agent===Sys.Browser.Safari){scriptElement.innerHTML=scriptElement.text;delete scriptElement.text;}
if(typeof(nextScript.src)==="string"){this._currentTask=new Sys._ScriptLoaderTask(scriptElement,this._scriptLoadedDelegate);this._currentTask.execute();}
else{var headElements=document.getElementsByTagName('head');if(headElements.length===0){throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);}
else{headElements[0].appendChild(scriptElement);}
Sys._ScriptLoader._clearScript(scriptElement);this._loadScriptsInternal();}}
else{this._stopSession();var callback=session.allScriptsLoadedCallback;if(callback){callback(this);}
this._nextSession();}}
function Sys$_ScriptLoader$_nextSession(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return;}
this._loading=true;var session=Array.dequeue(this._sessions);this._currentSession=session;this._loadScriptsInternal();}
function Sys$_ScriptLoader$_raiseError(multipleCallbacks){var callback=this._currentSession.scriptLoadFailedCallback;var scriptElement=this._currentTask.get_scriptElement();this._stopSession();if(callback){callback(this,scriptElement,multipleCallbacks);this._nextSession();}
else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src,multipleCallbacks);}}
function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement,loaded){if(loaded&&this._currentTask._notified){if(this._currentTask._notified>1){this._raiseError(true);}
else{Array.add(Sys._ScriptLoader._getLoadedScripts(),scriptElement.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal();}}
else{this._raiseError(false);}}
function Sys$_ScriptLoader$_scriptLoadTimeoutHandler(){var callback=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(callback){callback(this);}
this._nextSession();}
function Sys$_ScriptLoader$_stopSession(){if(this._currentTask){this._currentTask.dispose();this._currentTask=null;}}
Sys._ScriptLoader.prototype={dispose:Sys$_ScriptLoader$dispose,loadScripts:Sys$_ScriptLoader$loadScripts,notifyScriptLoaded:Sys$_ScriptLoader$notifyScriptLoaded,queueCustomScriptTag:Sys$_ScriptLoader$queueCustomScriptTag,queueScriptBlock:Sys$_ScriptLoader$queueScriptBlock,queueScriptReference:Sys$_ScriptLoader$queueScriptReference,_createScriptElement:Sys$_ScriptLoader$_createScriptElement,_loadScriptsInternal:Sys$_ScriptLoader$_loadScriptsInternal,_nextSession:Sys$_ScriptLoader$_nextSession,_raiseError:Sys$_ScriptLoader$_raiseError,_scriptLoadedHandler:Sys$_ScriptLoader$_scriptLoadedHandler,_scriptLoadTimeoutHandler:Sys$_ScriptLoader$_scriptLoadTimeoutHandler,_stopSession:Sys$_ScriptLoader$_stopSession}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader',null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function Sys$_ScriptLoader$getInstance(){var sl=Sys._ScriptLoader._activeInstance;if(!sl){sl=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader();}
return sl;}
Sys._ScriptLoader.isScriptLoaded=function Sys$_ScriptLoader$isScriptLoaded(scriptSrc){var dummyScript=document.createElement('script');dummyScript.src=scriptSrc;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),dummyScript.src);}
Sys._ScriptLoader.readLoadedScripts=function Sys$_ScriptLoader$readLoadedScripts(){if(!Sys._ScriptLoader._referencedScripts){var referencedScripts=Sys._ScriptLoader._referencedScripts=[];var existingScripts=document.getElementsByTagName('script');for(i=existingScripts.length-1;i>=0;i--){var scriptNode=existingScripts[i];var scriptSrc=scriptNode.src;if(scriptSrc.length){if(!Array.contains(referencedScripts,scriptSrc)){Array.add(referencedScripts,scriptSrc);}}}}}
Sys._ScriptLoader._clearScript=function Sys$_ScriptLoader$_clearScript(scriptElement){if(!Sys.Debug.isDebug){scriptElement.parentNode.removeChild(scriptElement);}}
Sys._ScriptLoader._errorScriptLoadFailed=function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl,multipleCallbacks){var errorMessage;if(multipleCallbacks){errorMessage=Sys.Res.scriptLoadMultipleCallbacks;}
else{errorMessage=Sys.Res.scriptLoadFailedDebug;}
var displayMessage="Sys.ScriptLoadFailedException: "+String.format(errorMessage,scriptUrl);var e=Error.create(displayMessage,{name:'Sys.ScriptLoadFailedException','scriptUrl':scriptUrl});e.popStackFrame();return e;}
Sys._ScriptLoader._getLoadedScripts=function Sys$_ScriptLoader$_getLoadedScripts(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts();}
return Sys._ScriptLoader._referencedScripts;}
Sys._ScriptLoaderTask=function Sys$_ScriptLoaderTask(scriptElement,completedCallback){var e=Function._validateParams(arguments,[{name:"scriptElement",domElement:true},{name:"completedCallback",type:Function}]);if(e)throw e;this._scriptElement=scriptElement;this._completedCallback=completedCallback;this._notified=0;}
function Sys$_ScriptLoaderTask$get_scriptElement(){if(arguments.length!==0)throw Error.parameterCount();return this._scriptElement;}
function Sys$_ScriptLoaderTask$dispose(){if(this._disposed){return;}
this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null;}
function Sys$_ScriptLoaderTask$execute(){if(arguments.length!==0)throw Error.parameterCount();this._addScriptElementHandlers();var headElements=document.getElementsByTagName('head');if(headElements.length===0){throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);}
else{headElements[0].appendChild(this._scriptElement);}}
function Sys$_ScriptLoaderTask$_addScriptElementHandlers(){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);}}
function Sys$_ScriptLoaderTask$_removeScriptElementHandlers(){if(this._scriptLoadDelegate){var scriptElement=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){$removeHandler(scriptElement,'load',this._scriptLoadDelegate);}
else{$removeHandler(scriptElement,'readystatechange',this._scriptLoadDelegate);}
if(this._scriptErrorDelegate){this._scriptElement.removeEventListener('error',this._scriptErrorDelegate,false);this._scriptErrorDelegate=null;}
this._scriptLoadDelegate=null;}}
function Sys$_ScriptLoaderTask$_scriptErrorHandler(){if(this._disposed){return;}
this._completedCallback(this.get_scriptElement(),false);}
function Sys$_ScriptLoaderTask$_scriptLoadHandler(){if(this._disposed){return;}
var scriptElement=this.get_scriptElement();if((scriptElement.readyState!=='loaded')&&(scriptElement.readyState!=='complete')){return;}
var _this=this;window.setTimeout(function(){_this._completedCallback(scriptElement,true);},0);}
Sys._ScriptLoaderTask.prototype={get_scriptElement:Sys$_ScriptLoaderTask$get_scriptElement,dispose:Sys$_ScriptLoaderTask$dispose,execute:Sys$_ScriptLoaderTask$execute,_addScriptElementHandlers:Sys$_ScriptLoaderTask$_addScriptElementHandlers,_removeScriptElementHandlers:Sys$_ScriptLoaderTask$_removeScriptElementHandlers,_scriptErrorHandler:Sys$_ScriptLoaderTask$_scriptErrorHandler,_scriptLoadHandler:Sys$_ScriptLoaderTask$_scriptLoadHandler}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function Sys$ApplicationLoadEventArgs(components,isPartialLoad){var e=Function._validateParams(arguments,[{name:"components",type:Array,elementType:Sys.Component},{name:"isPartialLoad",type:Boolean}]);if(e)throw e;Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=components;this._isPartialLoad=isPartialLoad;}
function Sys$ApplicationLoadEventArgs$get_components(){if(arguments.length!==0)throw Error.parameterCount();return this._components;}
function Sys$ApplicationLoadEventArgs$get_isPartialLoad(){if(arguments.length!==0)throw Error.parameterCount();return this._isPartialLoad;}
Sys.ApplicationLoadEventArgs.prototype={get_components:Sys$ApplicationLoadEventArgs$get_components,get_isPartialLoad:Sys$ApplicationLoadEventArgs$get_isPartialLoad}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);Sys.HistoryEventArgs=function Sys$HistoryEventArgs(state){var e=Function._validateParams(arguments,[{name:"state",type:Object}]);if(e)throw e;Sys.HistoryEventArgs.initializeBase(this);this._state=state;}
function Sys$HistoryEventArgs$get_state(){if(arguments.length!==0)throw Error.parameterCount();return this._state;}
Sys.HistoryEventArgs.prototype={get_state:Sys$HistoryEventArgs$get_state}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs',Sys.EventArgs);Sys._Application=function Sys$_Application(){if(arguments.length!==0)throw Error.parameterCount();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._historyEnabledInScriptManager=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);}
function Sys$_Application$get_isCreatingComponents(){if(arguments.length!==0)throw Error.parameterCount();return this._creatingComponents;}
function Sys$_Application$get_stateString(){if(arguments.length!==0)throw Error.parameterCount();var hash=window.location.hash;if(this._isSafari2()){var history=this._getHistory();if(history){hash=history[window.history.length-this._historyInitialLength];}}
if((hash.length>0)&&(hash.charAt(0)==='#')){hash=hash.substring(1);}
if(Sys.Browser.agent===Sys.Browser.Firefox){hash=this._serializeState(this._deserializeState(hash,true));}
return hash;}
function Sys$_Application$get_enableHistory(){if(arguments.length!==0)throw Error.parameterCount();return this._enableHistory;}
function Sys$_Application$set_enableHistory(value){var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);if(e)throw e;if(this._initialized&&!this._initializing){throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory);}
else if(this._historyEnabledInScriptManager&&!value){throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);}
this._enableHistory=value;}
function Sys$_Application$add_init(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;if(this._initialized){handler(this,Sys.EventArgs.Empty);}
else{this.get_events().addHandler("init",handler);}}
function Sys$_Application$remove_init(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("init",handler);}
function Sys$_Application$add_load(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().addHandler("load",handler);}
function Sys$_Application$remove_load(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("load",handler);}
function Sys$_Application$add_navigate(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().addHandler("navigate",handler);}
function Sys$_Application$remove_navigate(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("navigate",handler);}
function Sys$_Application$add_unload(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().addHandler("unload",handler);}
function Sys$_Application$remove_unload(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this.get_events().removeHandler("unload",handler);}
function Sys$_Application$addComponent(component){var e=Function._validateParams(arguments,[{name:"component",type:Sys.Component}]);if(e)throw e;var id=component.get_id();if(!id)throw Error.invalidOperation(Sys.Res.cantAddWithoutId);if(typeof(this._components[id])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));this._components[id]=component;}
function Sys$_Application$addHistoryPoint(state,title){var e=Function._validateParams(arguments,[{name:"state",type:Object},{name:"title",type:String,mayBeNull:true,optional:true}]);if(e)throw e;if(!this._enableHistory)throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled);for(var n in state){var v=state[n];var t=typeof(v);if((v!==null)&&((t==='object')||(t==='function')||(t==='undefined'))){throw Error.argument('state',Sys.Res.stateMustBeStringDictionary);}}
this._ensureHistory();var initialState=this._state;for(var key in state){var value=state[key];if(value===null){if(typeof(initialState[key])!=='undefined'){delete initialState[key];}}
else{initialState[key]=value;}}
var entry=this._serializeState(initialState);this._historyPointIsNew=true;this._setState(entry,title);this._raiseNavigate();}
function Sys$_Application$beginCreateComponents(){if(arguments.length!==0)throw Error.parameterCount();this._creatingComponents=true;}
function Sys$_Application$dispose(){if(arguments.length!==0)throw Error.parameterCount();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 unloadHandler=this.get_events().getHandler("unload");if(unloadHandler){unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects=Array.clone(this._disposableObjects);for(var i=0,l=disposableObjects.length;i<l;i++){disposableObjects[i].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 sl=Sys._ScriptLoader.getInstance();if(sl){sl.dispose();}
Sys._Application.callBaseMethod(this,'dispose');}}
function Sys$_Application$endCreateComponents(){if(arguments.length!==0)throw Error.parameterCount();var components=this._secondPassComponents;for(var i=0,l=components.length;i<l;i++){var component=components[i].component;Sys$Component$_setReferences(component,components[i].references);component.endUpdate();}
this._secondPassComponents=[];this._creatingComponents=false;}
function Sys$_Application$findComponent(id,parent){var e=Function._validateParams(arguments,[{name:"id",type:String},{name:"parent",mayBeNull:true,optional:true}]);if(e)throw e;return(parent?((Sys.IContainer.isInstanceOfType(parent))?parent.findComponent(id):parent[id]||null):Sys.Application._components[id]||null);}
function Sys$_Application$getComponents(){if(arguments.length!==0)throw Error.parameterCount();var res=[];var components=this._components;for(var name in components){res[res.length]=components[name];}
return res;}
function Sys$_Application$initialize(){if(arguments.length!==0)throw Error.parameterCount();if(!this._initialized&&!this._initializing){this._initializing=true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}}
function Sys$_Application$notifyScriptLoaded(){if(arguments.length!==0)throw Error.parameterCount();var sl=Sys._ScriptLoader.getInstance();if(sl){sl.notifyScriptLoaded();}}
function Sys$_Application$registerDisposableObject(object){var e=Function._validateParams(arguments,[{name:"object",type:Sys.IDisposable}]);if(e)throw e;if(!this._disposing){this._disposableObjects[this._disposableObjects.length]=object;}}
function Sys$_Application$raiseLoad(){if(arguments.length!==0)throw Error.parameterCount();var h=this.get_events().getHandler("load");var args=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);if(h){h(this,args);}
if(window.pageLoad){window.pageLoad(this,args);}
this._createdComponents=[];}
function Sys$_Application$removeComponent(component){var e=Function._validateParams(arguments,[{name:"component",type:Sys.Component}]);if(e)throw e;var id=component.get_id();if(id)delete this._components[id];}
function Sys$_Application$setServerId(clientId,uniqueId){var e=Function._validateParams(arguments,[{name:"clientId",type:String},{name:"uniqueId",type:String}]);if(e)throw e;this._clientId=clientId;this._uniqueId=uniqueId;}
function Sys$_Application$setServerState(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;this._ensureHistory();this._state.__s=value;this._updateHiddenField(value);}
function Sys$_Application$unregisterDisposableObject(object){var e=Function._validateParams(arguments,[{name:"object",type:Sys.IDisposable}]);if(e)throw e;if(!this._disposing){Array.remove(this._disposableObjects,object);}}
function Sys$_Application$_addComponentToSecondPass(component,references){this._secondPassComponents[this._secondPassComponents.length]={component:component,references:references};}
function Sys$_Application$_deserializeState(entry,skipDecodeUri){var result={};entry=entry||'';var serverSeparator=entry.indexOf('&&');if((serverSeparator!==-1)&&(serverSeparator+2<entry.length)){result.__s=entry.substr(serverSeparator+2);entry=entry.substr(0,serverSeparator);}
var tokens=entry.split('&');for(var i=0,l=tokens.length;i<l;i++){var token=tokens[i];var equal=token.indexOf('=');if((equal!==-1)&&(equal+1<token.length)){var name=token.substr(0,equal);var value=token.substr(equal+1);result[name]=skipDecodeUri?value:decodeURIComponent(value);}}
return result;}
function Sys$_Application$_doInitialize(){Sys._Application.callBaseMethod(this,'initialize');var handler=this.get_events().getHandler("init");if(handler){this.beginCreateComponents();handler(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 loadedEntry=this.get_stateString();if(loadedEntry!==this._currentEntry){this._navigate(loadedEntry);}
this.raiseLoad();this._initializing=false;}
function Sys$_Application$_enableHistoryInScriptManager(){this._enableHistory=true;this._historyEnabledInScriptManager=true;}
function Sys$_Application$_ensureHistory(){if(!this._historyInitialized&&this._enableHistory){if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.documentMode<8)){this._historyFrame=document.getElementById('__historyFrame');if(!this._historyFrame)throw Error.invalidOperation(Sys.Res.historyMissingFrame);this._ignoreIFrame=true;}
if(this._isSafari2()){var historyElement=document.getElementById('__history');if(!historyElement)throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput);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(e){}
this._historyInitialized=true;}}
function Sys$_Application$_getHistory(){var historyElement=document.getElementById('__history');if(!historyElement)return'';var v=historyElement.value;return v?Sys.Serialization.JavaScriptSerializer.deserialize(v,true):'';}
function Sys$_Application$_isSafari2(){return(Sys.Browser.agent===Sys.Browser.Safari)&&(Sys.Browser.version<=419.3);}
function Sys$_Application$_loadHandler(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null;}
this.initialize();}
function Sys$_Application$_navigate(entry){this._ensureHistory();var state=this._deserializeState(entry);if(this._uniqueId){var oldServerEntry=this._state.__s||'';var newServerEntry=state.__s||'';if(newServerEntry!==oldServerEntry){this._updateHiddenField(newServerEntry);__doPostBack(this._uniqueId,newServerEntry);this._state=state;return;}}
this._setState(entry);this._state=state;this._raiseNavigate();}
function Sys$_Application$_onIdle(){delete this._timerCookie;var entry=this.get_stateString();if(entry!==this._currentEntry){if(!this._ignoreTimer){this._historyPointIsNew=false;this._navigate(entry);this._historyLength=window.history.length;}}
else{this._ignoreTimer=false;}
this._timerCookie=window.setTimeout(this._timerHandler,100);}
function Sys$_Application$_onIFrameLoad(entry){this._ensureHistory();if(!this._ignoreIFrame){this._historyPointIsNew=false;this._navigate(entry);}
this._ignoreIFrame=false;}
function Sys$_Application$_onPageRequestManagerBeginRequest(sender,args){this._ignoreTimer=true;}
function Sys$_Application$_onPageRequestManagerEndRequest(sender,args){var dataItem=args.get_dataItems()[this._clientId];var eventTarget=document.getElementById("__EVENTTARGET");if(eventTarget&&eventTarget.value===this._uniqueId){eventTarget.value='';}
if(typeof(dataItem)!=='undefined'){this.setServerState(dataItem);this._historyPointIsNew=true;}
else{this._ignoreTimer=false;}
var entry=this._serializeState(this._state);if(entry!==this._currentEntry){this._ignoreTimer=true;this._setState(entry);this._raiseNavigate();}}
function Sys$_Application$_raiseNavigate(){var h=this.get_events().getHandler("navigate");var stateClone={};for(var key in this._state){if(key!=='__s'){stateClone[key]=this._state[key];}}
var args=new Sys.HistoryEventArgs(stateClone);if(h){h(this,args);}}
function Sys$_Application$_serializeState(state){var serialized=[];for(var key in state){var value=state[key];if(key==='__s'){var serverState=value;}
else{if(key.indexOf('=')!==-1)throw Error.argument('state',Sys.Res.stateFieldNameInvalid);serialized[serialized.length]=key+'='+encodeURIComponent(value);}}
return serialized.join('&')+(serverState?'&&'+serverState:'');}
function Sys$_Application$_setHistory(historyArray){var historyElement=document.getElementById('__history');if(historyElement){historyElement.value=Sys.Serialization.JavaScriptSerializer.serialize(historyArray);}}
function Sys$_Application$_setState(entry,title){entry=entry||'';if(entry!==this._currentEntry){if(window.theForm){var action=window.theForm.action;var hashIndex=action.indexOf('#');window.theForm.action=((hashIndex!==-1)?action.substring(0,hashIndex):action)+'#'+entry;}
if(this._historyFrame&&this._historyPointIsNew){this._ignoreIFrame=true;this._historyPointIsNew=false;var frameDoc=this._historyFrame.contentWindow.document;frameDoc.open("javascript:'<html></html>'");frameDoc.write("<html><head><title>"+(title||document.title)+"</title><scri"+"pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad('"+
entry+"');</scri"+"pt></head><body></body></html>");frameDoc.close();}
this._ignoreTimer=false;var currentHash=this.get_stateString();this._currentEntry=entry;if(entry!==currentHash){var loc=document.location;if(loc.href.length-loc.hash.length+entry.length>1024){throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);}
if(this._isSafari2()){var history=this._getHistory();history[window.history.length-this._historyInitialLength+1]=entry;this._setHistory(history);this._historyLength=window.history.length+1;var form=document.createElement('form');form.method='get';form.action='#'+entry;document.appendChild(form);form.submit();document.removeChild(form);}
else{window.location.hash=entry;}
if((typeof(title)!=='undefined')&&(title!==null)){document.title=title;}}}}
function Sys$_Application$_unloadHandler(event){this.dispose();}
function Sys$_Application$_updateHiddenField(value){if(this._clientId){var serverStateField=document.getElementById(this._clientId);if(serverStateField){serverStateField.value=value;}}}
Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:Sys$_Application$get_isCreatingComponents,get_stateString:Sys$_Application$get_stateString,get_enableHistory:Sys$_Application$get_enableHistory,set_enableHistory:Sys$_Application$set_enableHistory,add_init:Sys$_Application$add_init,remove_init:Sys$_Application$remove_init,add_load:Sys$_Application$add_load,remove_load:Sys$_Application$remove_load,add_navigate:Sys$_Application$add_navigate,remove_navigate:Sys$_Application$remove_navigate,add_unload:Sys$_Application$add_unload,remove_unload:Sys$_Application$remove_unload,addComponent:Sys$_Application$addComponent,addHistoryPoint:Sys$_Application$addHistoryPoint,beginCreateComponents:Sys$_Application$beginCreateComponents,dispose:Sys$_Application$dispose,endCreateComponents:Sys$_Application$endCreateComponents,findComponent:Sys$_Application$findComponent,getComponents:Sys$_Application$getComponents,initialize:Sys$_Application$initialize,notifyScriptLoaded:Sys$_Application$notifyScriptLoaded,registerDisposableObject:Sys$_Application$registerDisposableObject,raiseLoad:Sys$_Application$raiseLoad,removeComponent:Sys$_Application$removeComponent,setServerId:Sys$_Application$setServerId,setServerState:Sys$_Application$setServerState,unregisterDisposableObject:Sys$_Application$unregisterDisposableObject,_addComponentToSecondPass:Sys$_Application$_addComponentToSecondPass,_deserializeState:Sys$_Application$_deserializeState,_doInitialize:Sys$_Application$_doInitialize,_enableHistoryInScriptManager:Sys$_Application$_enableHistoryInScriptManager,_ensureHistory:Sys$_Application$_ensureHistory,_getHistory:Sys$_Application$_getHistory,_isSafari2:Sys$_Application$_isSafari2,_loadHandler:Sys$_Application$_loadHandler,_navigate:Sys$_Application$_navigate,_onIdle:Sys$_Application$_onIdle,_onIFrameLoad:Sys$_Application$_onIFrameLoad,_onPageRequestManagerBeginRequest:Sys$_Application$_onPageRequestManagerBeginRequest,_onPageRequestManagerEndRequest:Sys$_Application$_onPageRequestManagerEndRequest,_raiseNavigate:Sys$_Application$_raiseNavigate,_serializeState:Sys$_Application$_serializeState,_setHistory:Sys$_Application$_setHistory,_setState:Sys$_Application$_setState,_unloadHandler:Sys$_Application$_unloadHandler,_updateHiddenField:Sys$_Application$_updateHiddenField}
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 Sys$Net$WebRequestExecutor(){if(arguments.length!==0)throw Error.parameterCount();this._webRequest=null;this._resultObject=null;}
function Sys$Net$WebRequestExecutor$get_webRequest(){if(arguments.length!==0)throw Error.parameterCount();return this._webRequest;}
function Sys$Net$WebRequestExecutor$_set_webRequest(value){if(this.get_started()){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'set_webRequest'));}
this._webRequest=value;}
function Sys$Net$WebRequestExecutor$get_started(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseAvailable(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_timedOut(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_aborted(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseData(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusCode(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusText(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_xml(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_object(){if(arguments.length!==0)throw Error.parameterCount();if(!this._resultObject){this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());}
return this._resultObject;}
function Sys$Net$WebRequestExecutor$executeRequest(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$abort(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getResponseHeader(header){var e=Function._validateParams(arguments,[{name:"header",type:String}]);if(e)throw e;throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getAllResponseHeaders(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
Sys.Net.WebRequestExecutor.prototype={get_webRequest:Sys$Net$WebRequestExecutor$get_webRequest,_set_webRequest:Sys$Net$WebRequestExecutor$_set_webRequest,get_started:Sys$Net$WebRequestExecutor$get_started,get_responseAvailable:Sys$Net$WebRequestExecutor$get_responseAvailable,get_timedOut:Sys$Net$WebRequestExecutor$get_timedOut,get_aborted:Sys$Net$WebRequestExecutor$get_aborted,get_responseData:Sys$Net$WebRequestExecutor$get_responseData,get_statusCode:Sys$Net$WebRequestExecutor$get_statusCode,get_statusText:Sys$Net$WebRequestExecutor$get_statusText,get_xml:Sys$Net$WebRequestExecutor$get_xml,get_object:Sys$Net$WebRequestExecutor$get_object,executeRequest:Sys$Net$WebRequestExecutor$executeRequest,abort:Sys$Net$WebRequestExecutor$abort,getResponseHeader:Sys$Net$WebRequestExecutor$getResponseHeader,getAllResponseHeaders:Sys$Net$WebRequestExecutor$getAllResponseHeaders}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');Sys.Net.XMLDOM=function Sys$Net$XMLDOM(markup){var e=Function._validateParams(arguments,[{name:"markup",type:String}]);if(e)throw e;if(!window.DOMParser){var progIDs=['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];for(var i=0,l=progIDs.length;i<l;i++){try{var xmlDOM=new ActiveXObject(progIDs[i]);xmlDOM.async=false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;}
catch(ex){}}}
else{try{var domParser=new window.DOMParser();return domParser.parseFromString(markup,'text/xml');}
catch(ex){}}
return null;}
Sys.Net.XMLHttpExecutor=function Sys$Net$XMLHttpExecutor(){if(arguments.length!==0)throw Error.parameterCount();Sys.Net.XMLHttpExecutor.initializeBase(this);var _this=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(_this._xmlHttpRequest.readyState===4){try{if(typeof(_this._xmlHttpRequest.status)==="undefined"){return;}}
catch(ex){return;}
_this._clearTimer();_this._responseAvailable=true;try{_this._webRequest.completed(Sys.EventArgs.Empty);}
finally{if(_this._xmlHttpRequest!=null){_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;_this._xmlHttpRequest=null;}}}});this._clearTimer=(function(){if(_this._timer!=null){window.clearTimeout(_this._timer);_this._timer=null;}});this._onTimeout=(function(){if(!_this._responseAvailable){_this._clearTimer();_this._timedOut=true;_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;_this._xmlHttpRequest.abort();_this._webRequest.completed(Sys.EventArgs.Empty);_this._xmlHttpRequest=null;}});}
function Sys$Net$XMLHttpExecutor$get_timedOut(){if(arguments.length!==0)throw Error.parameterCount();return this._timedOut;}
function Sys$Net$XMLHttpExecutor$get_started(){if(arguments.length!==0)throw Error.parameterCount();return this._started;}
function Sys$Net$XMLHttpExecutor$get_responseAvailable(){if(arguments.length!==0)throw Error.parameterCount();return this._responseAvailable;}
function Sys$Net$XMLHttpExecutor$get_aborted(){if(arguments.length!==0)throw Error.parameterCount();return this._aborted;}
function Sys$Net$XMLHttpExecutor$executeRequest(){if(arguments.length!==0)throw Error.parameterCount();this._webRequest=this.get_webRequest();if(this._started){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'executeRequest'));}
if(this._webRequest===null){throw Error.invalidOperation(Sys.Res.nullWebRequest);}
var body=this._webRequest.get_body();var headers=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest();this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var verb=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),true);if(headers){for(var header in headers){var val=headers[header];if(typeof(val)!=="function")
this._xmlHttpRequest.setRequestHeader(header,val);}}
if(verb.toLowerCase()==="post"){if((headers===null)||!headers['Content-Type']){this._xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');}
if(!body){body="";}}
var timeout=this._webRequest.get_timeout();if(timeout>0){this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),timeout);}
this._xmlHttpRequest.send(body);this._started=true;}
function Sys$Net$XMLHttpExecutor$getResponseHeader(header){var e=Function._validateParams(arguments,[{name:"header",type:String}]);if(e)throw e;if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getResponseHeader'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getResponseHeader'));}
var result;try{result=this._xmlHttpRequest.getResponseHeader(header);}catch(e){}
if(!result)result="";return result;}
function Sys$Net$XMLHttpExecutor$getAllResponseHeaders(){if(arguments.length!==0)throw Error.parameterCount();if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getAllResponseHeaders'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getAllResponseHeaders'));}
return this._xmlHttpRequest.getAllResponseHeaders();}
function Sys$Net$XMLHttpExecutor$get_responseData(){if(arguments.length!==0)throw Error.parameterCount();if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_responseData'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_responseData'));}
return this._xmlHttpRequest.responseText;}
function Sys$Net$XMLHttpExecutor$get_statusCode(){if(arguments.length!==0)throw Error.parameterCount();if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusCode'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusCode'));}
var result=0;try{result=this._xmlHttpRequest.status;}
catch(ex){}
return result;}
function Sys$Net$XMLHttpExecutor$get_statusText(){if(arguments.length!==0)throw Error.parameterCount();if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusText'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusText'));}
return this._xmlHttpRequest.statusText;}
function Sys$Net$XMLHttpExecutor$get_xml(){if(arguments.length!==0)throw Error.parameterCount();if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_xml'));}
if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_xml'));}
var xml=this._xmlHttpRequest.responseXML;if(!xml||!xml.documentElement){xml=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!xml||!xml.documentElement)
return null;}
else if(navigator.userAgent.indexOf('MSIE')!==-1){xml.setProperty('SelectionLanguage','XPath');}
if(xml.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&xml.documentElement.tagName==="parsererror"){return null;}
if(xml.documentElement.firstChild&&xml.documentElement.firstChild.tagName==="parsererror"){return null;}
return xml;}
function Sys$Net$XMLHttpExecutor$abort(){if(arguments.length!==0)throw Error.parameterCount();if(!this._started){throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);}
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.prototype={get_timedOut:Sys$Net$XMLHttpExecutor$get_timedOut,get_started:Sys$Net$XMLHttpExecutor$get_started,get_responseAvailable:Sys$Net$XMLHttpExecutor$get_responseAvailable,get_aborted:Sys$Net$XMLHttpExecutor$get_aborted,executeRequest:Sys$Net$XMLHttpExecutor$executeRequest,getResponseHeader:Sys$Net$XMLHttpExecutor$getResponseHeader,getAllResponseHeaders:Sys$Net$XMLHttpExecutor$getAllResponseHeaders,get_responseData:Sys$Net$XMLHttpExecutor$get_responseData,get_statusCode:Sys$Net$XMLHttpExecutor$get_statusCode,get_statusText:Sys$Net$XMLHttpExecutor$get_statusText,get_xml:Sys$Net$XMLHttpExecutor$get_xml,abort:Sys$Net$XMLHttpExecutor$abort}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function Sys$Net$_WebRequestManager(){if(arguments.length!==0)throw Error.parameterCount();this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor";}
function Sys$Net$_WebRequestManager$add_invokingRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$remove_invokingRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$add_completedRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$remove_completedRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$_get_eventHandlerList(){if(!this._events){this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$_WebRequestManager$get_defaultTimeout(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultTimeout;}
function Sys$Net$_WebRequestManager$set_defaultTimeout(value){var e=Function._validateParams(arguments,[{name:"value",type:Number}]);if(e)throw e;if(value<0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._defaultTimeout=value;}
function Sys$Net$_WebRequestManager$get_defaultExecutorType(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultExecutorType;}
function Sys$Net$_WebRequestManager$set_defaultExecutorType(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;this._defaultExecutorType=value;}
function Sys$Net$_WebRequestManager$executeRequest(webRequest){var e=Function._validateParams(arguments,[{name:"webRequest",type:Sys.Net.WebRequest}]);if(e)throw e;var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType();}catch(e){failed=true;}
if(failed||!Sys.Net.WebRequestExecutor.isInstanceOfType(executor)||!executor){throw Error.argument("defaultExecutorType",String.format(Sys.Res.invalidExecutorType,this._defaultExecutorType));}
webRequest.set_executor(executor);}
if(executor.get_aborted()){return;}
var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest);var handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler){handler(this,evArgs);}
if(!evArgs.get_cancel()){executor.executeRequest();}}
Sys.Net._WebRequestManager.prototype={add_invokingRequest:Sys$Net$_WebRequestManager$add_invokingRequest,remove_invokingRequest:Sys$Net$_WebRequestManager$remove_invokingRequest,add_completedRequest:Sys$Net$_WebRequestManager$add_completedRequest,remove_completedRequest:Sys$Net$_WebRequestManager$remove_completedRequest,_get_eventHandlerList:Sys$Net$_WebRequestManager$_get_eventHandlerList,get_defaultTimeout:Sys$Net$_WebRequestManager$get_defaultTimeout,set_defaultTimeout:Sys$Net$_WebRequestManager$set_defaultTimeout,get_defaultExecutorType:Sys$Net$_WebRequestManager$get_defaultExecutorType,set_defaultExecutorType:Sys$Net$_WebRequestManager$set_defaultExecutorType,executeRequest:Sys$Net$_WebRequestManager$executeRequest}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager();Sys.Net.NetworkRequestEventArgs=function Sys$Net$NetworkRequestEventArgs(webRequest){var e=Function._validateParams(arguments,[{name:"webRequest",type:Sys.Net.WebRequest}]);if(e)throw e;Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=webRequest;}
function Sys$Net$NetworkRequestEventArgs$get_webRequest(){if(arguments.length!==0)throw Error.parameterCount();return this._webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:Sys$Net$NetworkRequestEventArgs$get_webRequest}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);Sys.Net.WebRequest=function Sys$Net$WebRequest(){if(arguments.length!==0)throw Error.parameterCount();this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0;}
function Sys$Net$WebRequest$add_completed(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("completed",handler);}
function Sys$Net$WebRequest$remove_completed(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("completed",handler);}
function Sys$Net$WebRequest$completed(eventArgs){var e=Function._validateParams(arguments,[{name:"eventArgs",type:Sys.EventArgs}]);if(e)throw e;var handler=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(handler){handler(this._executor,eventArgs);}
handler=this._get_eventHandlerList().getHandler("completed");if(handler){handler(this._executor,eventArgs);}}
function Sys$Net$WebRequest$_get_eventHandlerList(){if(!this._events){this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$WebRequest$get_url(){if(arguments.length!==0)throw Error.parameterCount();return this._url;}
function Sys$Net$WebRequest$set_url(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;this._url=value;}
function Sys$Net$WebRequest$get_headers(){if(arguments.length!==0)throw Error.parameterCount();return this._headers;}
function Sys$Net$WebRequest$get_httpVerb(){if(arguments.length!==0)throw Error.parameterCount();if(this._httpVerb===null){if(this._body===null){return"GET";}
return"POST";}
return this._httpVerb;}
function Sys$Net$WebRequest$set_httpVerb(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;if(value.length===0){throw Error.argument('value',Sys.Res.invalidHttpVerb);}
this._httpVerb=value;}
function Sys$Net$WebRequest$get_body(){if(arguments.length!==0)throw Error.parameterCount();return this._body;}
function Sys$Net$WebRequest$set_body(value){var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);if(e)throw e;this._body=value;}
function Sys$Net$WebRequest$get_userContext(){if(arguments.length!==0)throw Error.parameterCount();return this._userContext;}
function Sys$Net$WebRequest$set_userContext(value){var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);if(e)throw e;this._userContext=value;}
function Sys$Net$WebRequest$get_executor(){if(arguments.length!==0)throw Error.parameterCount();return this._executor;}
function Sys$Net$WebRequest$set_executor(value){var e=Function._validateParams(arguments,[{name:"value",type:Sys.Net.WebRequestExecutor}]);if(e)throw e;if(this._executor!==null&&this._executor.get_started()){throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);}
this._executor=value;this._executor._set_webRequest(this);}
function Sys$Net$WebRequest$get_timeout(){if(arguments.length!==0)throw Error.parameterCount();if(this._timeout===0){return Sys.Net.WebRequestManager.get_defaultTimeout();}
return this._timeout;}
function Sys$Net$WebRequest$set_timeout(value){var e=Function._validateParams(arguments,[{name:"value",type:Number}]);if(e)throw e;if(value<0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._timeout=value;}
function Sys$Net$WebRequest$getResolvedUrl(){if(arguments.length!==0)throw Error.parameterCount();return Sys.Net.WebRequest._resolveUrl(this._url);}
function Sys$Net$WebRequest$invoke(){if(arguments.length!==0)throw Error.parameterCount();if(this._invokeCalled){throw Error.invalidOperation(Sys.Res.invokeCalledTwice);}
Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true;}
Sys.Net.WebRequest.prototype={add_completed:Sys$Net$WebRequest$add_completed,remove_completed:Sys$Net$WebRequest$remove_completed,completed:Sys$Net$WebRequest$completed,_get_eventHandlerList:Sys$Net$WebRequest$_get_eventHandlerList,get_url:Sys$Net$WebRequest$get_url,set_url:Sys$Net$WebRequest$set_url,get_headers:Sys$Net$WebRequest$get_headers,get_httpVerb:Sys$Net$WebRequest$get_httpVerb,set_httpVerb:Sys$Net$WebRequest$set_httpVerb,get_body:Sys$Net$WebRequest$get_body,set_body:Sys$Net$WebRequest$set_body,get_userContext:Sys$Net$WebRequest$get_userContext,set_userContext:Sys$Net$WebRequest$set_userContext,get_executor:Sys$Net$WebRequest$get_executor,set_executor:Sys$Net$WebRequest$set_executor,get_timeout:Sys$Net$WebRequest$get_timeout,set_timeout:Sys$Net$WebRequest$set_timeout,getResolvedUrl:Sys$Net$WebRequest$getResolvedUrl,invoke:Sys$Net$WebRequest$invoke}
Sys.Net.WebRequest._resolveUrl=function Sys$Net$WebRequest$_resolveUrl(url,baseUrl){if(url&&url.indexOf('://')!==-1){return url;}
if(!baseUrl||baseUrl.length===0){var baseElement=document.getElementsByTagName('base')[0];if(baseElement&&baseElement.href&&baseElement.href.length>0){baseUrl=baseElement.href;}
else{baseUrl=document.URL;}}
var qsStart=baseUrl.indexOf('?');if(qsStart!==-1){baseUrl=baseUrl.substr(0,qsStart);}
qsStart=baseUrl.indexOf('#');if(qsStart!==-1){baseUrl=baseUrl.substr(0,qsStart);}
baseUrl=baseUrl.substr(0,baseUrl.lastIndexOf('/')+1);if(!url||url.length===0){return baseUrl;}
if(url.charAt(0)==='/'){var slashslash=baseUrl.indexOf('://');if(slashslash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl1);}
var nextSlash=baseUrl.indexOf('/',slashslash+3);if(nextSlash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl2);}
return baseUrl.substr(0,nextSlash)+url;}
else{var lastSlash=baseUrl.lastIndexOf('/');if(lastSlash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl3);}
return baseUrl.substr(0,lastSlash+1)+url;}}
Sys.Net.WebRequest._createQueryString=function Sys$Net$WebRequest$_createQueryString(queryString,encodeMethod){if(!encodeMethod)
encodeMethod=encodeURIComponent;var sb=new Sys.StringBuilder();var i=0;for(var arg in queryString){var obj=queryString[arg];if(typeof(obj)==="function")continue;var val=Sys.Serialization.JavaScriptSerializer.serialize(obj);if(i!==0){sb.append('&');}
sb.append(arg);sb.append('=');sb.append(encodeMethod(val));i++;}
return sb.toString();}
Sys.Net.WebRequest._createUrl=function Sys$Net$WebRequest$_createUrl(url,queryString){if(!queryString){return url;}
var qs=Sys.Net.WebRequest._createQueryString(queryString);if(qs.length>0){var sep='?';if(url&&url.indexOf('?')!==-1)
sep='&';return url+sep+qs;}else{return url;}}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');Sys.Net.WebServiceProxy=function Sys$Net$WebServiceProxy(){}
function Sys$Net$WebServiceProxy$get_timeout(){if(arguments.length!==0)throw Error.parameterCount();return this._timeout;}
function Sys$Net$WebServiceProxy$set_timeout(value){var e=Function._validateParams(arguments,[{name:"value",type:Number}]);if(e)throw e;if(value<0){throw Error.argumentOutOfRange('value',value,Sys.Res.invalidTimeout);}
this._timeout=value;}
function Sys$Net$WebServiceProxy$get_defaultUserContext(){if(arguments.length!==0)throw Error.parameterCount();return this._userContext;}
function Sys$Net$WebServiceProxy$set_defaultUserContext(value){var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);if(e)throw e;this._userContext=value;}
function Sys$Net$WebServiceProxy$get_defaultSucceededCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._succeeded;}
function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._succeeded=value;}
function Sys$Net$WebServiceProxy$get_defaultFailedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._failed;}
function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._failed=value;}
function Sys$Net$WebServiceProxy$get_path(){if(arguments.length!==0)throw Error.parameterCount();return this._path;}
function Sys$Net$WebServiceProxy$set_path(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;this._path=value;}
function Sys$Net$WebServiceProxy$_invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext){var e=Function._validateParams(arguments,[{name:"servicePath",type:String},{name:"methodName",type:String},{name:"useGet",type:Boolean},{name:"params"},{name:"onSuccess",type:Function,mayBeNull:true,optional:true},{name:"onFailure",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;if(onSuccess===null||typeof onSuccess==='undefined')onSuccess=this.get_defaultSucceededCallback();if(onFailure===null||typeof onFailure==='undefined')onFailure=this.get_defaultFailedCallback();if(userContext===null||typeof userContext==='undefined')userContext=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,this.get_timeout());}
Sys.Net.WebServiceProxy.prototype={get_timeout:Sys$Net$WebServiceProxy$get_timeout,set_timeout:Sys$Net$WebServiceProxy$set_timeout,get_defaultUserContext:Sys$Net$WebServiceProxy$get_defaultUserContext,set_defaultUserContext:Sys$Net$WebServiceProxy$set_defaultUserContext,get_defaultSucceededCallback:Sys$Net$WebServiceProxy$get_defaultSucceededCallback,set_defaultSucceededCallback:Sys$Net$WebServiceProxy$set_defaultSucceededCallback,get_defaultFailedCallback:Sys$Net$WebServiceProxy$get_defaultFailedCallback,set_defaultFailedCallback:Sys$Net$WebServiceProxy$set_defaultFailedCallback,get_path:Sys$Net$WebServiceProxy$get_path,set_path:Sys$Net$WebServiceProxy$set_path,_invoke:Sys$Net$WebServiceProxy$_invoke}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');Sys.Net.WebServiceProxy.invoke=function Sys$Net$WebServiceProxy$invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,timeout){var e=Function._validateParams(arguments,[{name:"servicePath",type:String},{name:"methodName",type:String},{name:"useGet",type:Boolean,optional:true},{name:"params",mayBeNull:true,optional:true},{name:"onSuccess",type:Function,mayBeNull:true,optional:true},{name:"onFailure",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true},{name:"timeout",type:Number,optional:true}]);if(e)throw e;var request=new Sys.Net.WebRequest();request.get_headers()['Content-Type']='application/json; charset=utf-8';if(!params)params={};var urlParams=params;if(!useGet||!urlParams)urlParams={};request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName),urlParams));var body=null;if(!useGet){body=Sys.Serialization.JavaScriptSerializer.serialize(params);if(body==="{}")body="";}
request.set_body(body);request.add_completed(onComplete);if(timeout&&timeout>0)request.set_timeout(timeout);request.invoke();function onComplete(response,eventArgs){if(response.get_responseAvailable()){var statusCode=response.get_statusCode();var result=null;try{var contentType=response.getResponseHeader("Content-Type");if(contentType.startsWith("application/json")){result=response.get_object();}
else if(contentType.startsWith("text/xml")){result=response.get_xml();}
else{result=response.get_responseData();}}catch(ex){}
var error=response.getResponseHeader("jsonerror");var errorObj=(error==="true");if(errorObj){if(result){result=new Sys.Net.WebServiceError(false,result.Message,result.StackTrace,result.ExceptionType);}}
else if(contentType.startsWith("application/json")){if(!result||typeof(result.d)==="undefined"){throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceInvalidJsonWrapper,methodName));}
result=result.d;}
if(((statusCode<200)||(statusCode>=300))||errorObj){if(onFailure){if(!result||!errorObj){result=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");}
result._statusCode=statusCode;onFailure(result,userContext,methodName);}
else{var error;if(result&&errorObj){error=result.get_exceptionType()+"-- "+result.get_message();}
else{error=response.get_responseData();}
throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceFailed,methodName,error));}}
else if(onSuccess){onSuccess(result,userContext,methodName);}}
else{var msg;if(response.get_timedOut()){msg=String.format(Sys.Res.webServiceTimedOut,methodName);}
else{msg=String.format(Sys.Res.webServiceFailedNoMsg,methodName)}
if(onFailure){onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg,"",""),userContext,methodName);}
else{throw Sys.Net.WebServiceProxy._createFailedError(methodName,msg);}}}
return request;}
Sys.Net.WebServiceProxy._createFailedError=function Sys$Net$WebServiceProxy$_createFailedError(methodName,errorMessage){var displayMessage="Sys.Net.WebServiceFailedException: "+errorMessage;var e=Error.create(displayMessage,{'name':'Sys.Net.WebServiceFailedException','methodName':methodName});e.popStackFrame();return e;}
Sys.Net.WebServiceProxy._defaultFailedCallback=function Sys$Net$WebServiceProxy$_defaultFailedCallback(err,methodName){var error=err.get_exceptionType()+"-- "+err.get_message();throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceFailed,methodName,error));}
Sys.Net.WebServiceProxy._generateTypedConstructor=function Sys$Net$WebServiceProxy$_generateTypedConstructor(type){return function(properties){if(properties){for(var name in properties){this[name]=properties[name];}}
this.__type=type;}}
Sys.Net.WebServiceError=function Sys$Net$WebServiceError(timedOut,message,stackTrace,exceptionType){var e=Function._validateParams(arguments,[{name:"timedOut",type:Boolean},{name:"message",type:String,mayBeNull:true},{name:"stackTrace",type:String,mayBeNull:true},{name:"exceptionType",type:String,mayBeNull:true}]);if(e)throw e;this._timedOut=timedOut;this._message=message;this._stackTrace=stackTrace;this._exceptionType=exceptionType;this._statusCode=-1;}
function Sys$Net$WebServiceError$get_timedOut(){if(arguments.length!==0)throw Error.parameterCount();return this._timedOut;}
function Sys$Net$WebServiceError$get_statusCode(){if(arguments.length!==0)throw Error.parameterCount();return this._statusCode;}
function Sys$Net$WebServiceError$get_message(){if(arguments.length!==0)throw Error.parameterCount();return this._message;}
function Sys$Net$WebServiceError$get_stackTrace(){if(arguments.length!==0)throw Error.parameterCount();return this._stackTrace;}
function Sys$Net$WebServiceError$get_exceptionType(){if(arguments.length!==0)throw Error.parameterCount();return this._exceptionType;}
Sys.Net.WebServiceError.prototype={get_timedOut:Sys$Net$WebServiceError$get_timedOut,get_statusCode:Sys$Net$WebServiceError$get_statusCode,get_message:Sys$Net$WebServiceError$get_message,get_stackTrace:Sys$Net$WebServiceError$get_stackTrace,get_exceptionType:Sys$Net$WebServiceError$get_exceptionType}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');Type.registerNamespace('Sys.Services');Sys.Services._ProfileService=function Sys$Services$_ProfileService(){if(arguments.length!==0)throw Error.parameterCount();Sys.Services._ProfileService.initializeBase(this);this.properties={};}
Sys.Services._ProfileService.DefaultWebServicePath='';function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultLoadCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._defaultLoadCompletedCallback=value;}
function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultSaveCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._defaultSaveCompletedCallback=value;}
function Sys$Services$_ProfileService$get_path(){if(arguments.length!==0)throw Error.parameterCount();return this._path||'';}
function Sys$Services$_ProfileService$load(propertyNames,loadCompletedCallback,failedCallback,userContext){var e=Function._validateParams(arguments,[{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},{name:"loadCompletedCallback",type:Function,mayBeNull:true,optional:true},{name:"failedCallback",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;var parameters;var methodName;if(!propertyNames){methodName="GetAllPropertiesForCurrentUser";parameters={authenticatedUserOnly:false};}
else{methodName="GetPropertiesForCurrentUser";parameters={properties:this._clonePropertyNames(propertyNames),authenticatedUserOnly:false};}
this._invoke(this._get_path(),methodName,false,parameters,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[loadCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$save(propertyNames,saveCompletedCallback,failedCallback,userContext){var e=Function._validateParams(arguments,[{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},{name:"saveCompletedCallback",type:Function,mayBeNull:true,optional:true},{name:"failedCallback",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;var flattenedProperties=this._flattenProperties(propertyNames,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:flattenedProperties.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[saveCompletedCallback,failedCallback,userContext,flattenedProperties.count]);}
function Sys$Services$_ProfileService$_clonePropertyNames(arr){var nodups=[];var seen={};for(var i=0;i<arr.length;i++){var prop=arr[i];if(!seen[prop]){Array.add(nodups,prop);seen[prop]=true;};}
return nodups;}
function Sys$Services$_ProfileService$_flattenProperties(propertyNames,properties,groupName){var flattenedProperties={};var val;var key;var count=0;if(propertyNames&&propertyNames.length===0){return{value:flattenedProperties,count:0};}
for(var property in properties){val=properties[property];key=groupName?groupName+"."+property:property;if(Sys.Services.ProfileGroup.isInstanceOfType(val)){var obj=this._flattenProperties(propertyNames,val,key);var groupProperties=obj.value;count+=obj.count;for(var subKey in groupProperties){var subVal=groupProperties[subKey];flattenedProperties[subKey]=subVal;}}
else{if(!propertyNames||Array.indexOf(propertyNames,key)!==-1){flattenedProperties[key]=val;count++;}}}
return{value:flattenedProperties,count:count};}
function Sys$Services$_ProfileService$_get_path(){var path=this.get_path();if(!path.length){path=Sys.Services._ProfileService.DefaultWebServicePath;}
if(!path||!path.length){throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_ProfileService$_onLoadComplete(result,context,methodName){if(typeof(result)!=="object"){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Object"));}
var unflattened=this._unflattenProperties(result);for(var name in unflattened){this.properties[name]=unflattened[name];}
var callback=context[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();callback(result.length,userContext,"Sys.Services.ProfileService.load");}}
function Sys$Services$_ProfileService$_onLoadFailed(err,context,methodName){var callback=context[1]||this.get_defaultFailedCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();callback(err,userContext,"Sys.Services.ProfileService.load");}
else{Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_ProfileService$_onSaveComplete(result,context,methodName){var count=context[3];if(result!==null){if(result instanceof Array){count-=result.length;}
else if(typeof(result)==='number'){count=result;}
else{throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Array"));}}
var callback=context[0]||this.get_defaultSaveCompletedCallback()||this.get_defaultSucceededCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();callback(count,userContext,"Sys.Services.ProfileService.save");}}
function Sys$Services$_ProfileService$_onSaveFailed(err,context,methodName){var callback=context[1]||this.get_defaultFailedCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();callback(err,userContext,"Sys.Services.ProfileService.save");}
else{Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_ProfileService$_unflattenProperties(properties){var unflattenedProperties={};var dotIndex;var val;var count=0;for(var key in properties){count++;val=properties[key];dotIndex=key.indexOf('.');if(dotIndex!==-1){var groupName=key.substr(0,dotIndex);key=key.substr(dotIndex+1);var group=unflattenedProperties[groupName];if(!group||!Sys.Services.ProfileGroup.isInstanceOfType(group)){group=new Sys.Services.ProfileGroup();unflattenedProperties[groupName]=group;}
group[key]=val;}
else{unflattenedProperties[key]=val;}}
properties.length=count;return unflattenedProperties;}
Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:'',_timeout:0,get_defaultLoadCompletedCallback:Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,set_defaultLoadCompletedCallback:Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,get_defaultSaveCompletedCallback:Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,set_defaultSaveCompletedCallback:Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,get_path:Sys$Services$_ProfileService$get_path,load:Sys$Services$_ProfileService$load,save:Sys$Services$_ProfileService$save,_clonePropertyNames:Sys$Services$_ProfileService$_clonePropertyNames,_flattenProperties:Sys$Services$_ProfileService$_flattenProperties,_get_path:Sys$Services$_ProfileService$_get_path,_onLoadComplete:Sys$Services$_ProfileService$_onLoadComplete,_onLoadFailed:Sys$Services$_ProfileService$_onLoadFailed,_onSaveComplete:Sys$Services$_ProfileService$_onSaveComplete,_onSaveFailed:Sys$Services$_ProfileService$_onSaveFailed,_unflattenProperties:Sys$Services$_ProfileService$_unflattenProperties}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService',Sys.Net.WebServiceProxy);Sys.Services.ProfileService=new Sys.Services._ProfileService();Sys.Services.ProfileGroup=function Sys$Services$ProfileGroup(properties){var e=Function._validateParams(arguments,[{name:"properties",mayBeNull:true,optional:true}]);if(e)throw e;if(properties){for(var property in properties){this[property]=properties[property];}}}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');Sys.Services._AuthenticationService=function Sys$Services$_AuthenticationService(){if(arguments.length!==0)throw Error.parameterCount();Sys.Services._AuthenticationService.initializeBase(this);}
Sys.Services._AuthenticationService.DefaultWebServicePath='';function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultLoginCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._defaultLoginCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultLogoutCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._defaultLogoutCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_isLoggedIn(){if(arguments.length!==0)throw Error.parameterCount();return this._authenticated;}
function Sys$Services$_AuthenticationService$get_path(){if(arguments.length!==0)throw Error.parameterCount();return this._path||'';}
function Sys$Services$_AuthenticationService$login(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){var e=Function._validateParams(arguments,[{name:"username",type:String},{name:"password",type:String,mayBeNull:true},{name:"isPersistent",type:Boolean,mayBeNull:true,optional:true},{name:"customInfo",type:String,mayBeNull:true,optional:true},{name:"redirectUrl",type:String,mayBeNull:true,optional:true},{name:"loginCompletedCallback",type:Function,mayBeNull:true,optional:true},{name:"failedCallback",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;this._invoke(this._get_path(),"Login",false,{userName:username,password:password,createPersistentCookie:isPersistent},Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$logout(redirectUrl,logoutCompletedCallback,failedCallback,userContext){var e=Function._validateParams(arguments,[{name:"redirectUrl",type:String,mayBeNull:true,optional:true},{name:"logoutCompletedCallback",type:Function,mayBeNull:true,optional:true},{name:"failedCallback",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[redirectUrl,logoutCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$_get_path(){var path=this.get_path();if(!path.length){path=Sys.Services._AuthenticationService.DefaultWebServicePath;}
if(!path||!path.length){throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_AuthenticationService$_onLoginComplete(result,context,methodName){if(typeof(result)!=="boolean"){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Boolean"));}
var redirectUrl=context[4];var userContext=context[7]||this.get_defaultUserContext();var callback=context[5]||this.get_defaultLoginCompletedCallback()||this.get_defaultSucceededCallback();if(result){this._authenticated=true;if(callback){callback(true,userContext,"Sys.Services.AuthenticationService.login");}
if(typeof(redirectUrl)!=="undefined"&&redirectUrl!==null){window.location.href=redirectUrl;}}
else if(callback){callback(false,userContext,"Sys.Services.AuthenticationService.login");}}
function Sys$Services$_AuthenticationService$_onLoginFailed(err,context,methodName){var callback=context[6]||this.get_defaultFailedCallback();if(callback){var userContext=context[7]||this.get_defaultUserContext();callback(err,userContext,"Sys.Services.AuthenticationService.login");}
else{Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_AuthenticationService$_onLogoutComplete(result,context,methodName){if(result!==null){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"null"));}
var redirectUrl=context[0];var userContext=context[3]||this.get_defaultUserContext();var callback=context[1]||this.get_defaultLogoutCompletedCallback()||this.get_defaultSucceededCallback();this._authenticated=false;if(callback){callback(null,userContext,"Sys.Services.AuthenticationService.logout");}
if(!redirectUrl){window.location.reload();}
else{window.location.href=redirectUrl;}}
function Sys$Services$_AuthenticationService$_onLogoutFailed(err,context,methodName){var callback=context[2]||this.get_defaultFailedCallback();if(callback){callback(err,context[3],"Sys.Services.AuthenticationService.logout");}
else{Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated){this._authenticated=authenticated;}
Sys.Services._AuthenticationService.prototype={_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:'',_timeout:0,_authenticated:false,get_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,set_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,get_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,set_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,get_isLoggedIn:Sys$Services$_AuthenticationService$get_isLoggedIn,get_path:Sys$Services$_AuthenticationService$get_path,login:Sys$Services$_AuthenticationService$login,logout:Sys$Services$_AuthenticationService$logout,_get_path:Sys$Services$_AuthenticationService$_get_path,_onLoginComplete:Sys$Services$_AuthenticationService$_onLoginComplete,_onLoginFailed:Sys$Services$_AuthenticationService$_onLoginFailed,_onLogoutComplete:Sys$Services$_AuthenticationService$_onLogoutComplete,_onLogoutFailed:Sys$Services$_AuthenticationService$_onLogoutFailed,_setAuthenticated:Sys$Services$_AuthenticationService$_setAuthenticated}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService',Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService();Sys.Services._RoleService=function Sys$Services$_RoleService(){if(arguments.length!==0)throw Error.parameterCount();Sys.Services._RoleService.initializeBase(this);this._roles=[];}
Sys.Services._RoleService.DefaultWebServicePath='';function Sys$Services$_RoleService$get_defaultLoadCompletedCallback(){if(arguments.length!==0)throw Error.parameterCount();return this._defaultLoadCompletedCallback;}
function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value){var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);if(e)throw e;this._defaultLoadCompletedCallback=value;}
function Sys$Services$_RoleService$get_path(){if(arguments.length!==0)throw Error.parameterCount();return this._path||'';}
function Sys$Services$_RoleService$get_roles(){if(arguments.length!==0)throw Error.parameterCount();return Array.clone(this._roles);}
function Sys$Services$_RoleService$isUserInRole(role){var e=Function._validateParams(arguments,[{name:"role",type:String}]);if(e)throw e;var v=this._get_rolesIndex()[role.trim().toLowerCase()];return!!v;}
function Sys$Services$_RoleService$load(loadCompletedCallback,failedCallback,userContext){var e=Function._validateParams(arguments,[{name:"loadCompletedCallback",type:Function,mayBeNull:true,optional:true},{name:"failedCallback",type:Function,mayBeNull:true,optional:true},{name:"userContext",mayBeNull:true,optional:true}]);if(e)throw e;Sys.Net.WebServiceProxy.invoke(this._get_path(),"GetRolesForCurrentUser",false,{},Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[loadCompletedCallback,failedCallback,userContext],this.get_timeout());}
function Sys$Services$_RoleService$_get_path(){var path=this.get_path();if(!path||!path.length){path=Sys.Services._RoleService.DefaultWebServicePath;}
if(!path||!path.length){throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_RoleService$_get_rolesIndex(){if(!this._rolesIndex){var index={};for(var i=0;i<this._roles.length;i++){index[this._roles[i].toLowerCase()]=true;}
this._rolesIndex=index;}
return this._rolesIndex;}
function Sys$Services$_RoleService$_onLoadComplete(result,context,methodName){if(result&&!(result instanceof Array)){throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Array"));}
this._roles=result;this._rolesIndex=null;var callback=context[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();var clonedResult=Array.clone(result);callback(clonedResult,userContext,"Sys.Services.RoleService.load");}}
function Sys$Services$_RoleService$_onLoadFailed(err,context,methodName){var callback=context[1]||this.get_defaultFailedCallback();if(callback){var userContext=context[2]||this.get_defaultUserContext();callback(err,userContext,"Sys.Services.RoleService.load");}
else{Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
Sys.Services._RoleService.prototype={_defaultLoadCompletedCallback:null,_rolesIndex:null,_timeout:0,_path:'',get_defaultLoadCompletedCallback:Sys$Services$_RoleService$get_defaultLoadCompletedCallback,set_defaultLoadCompletedCallback:Sys$Services$_RoleService$set_defaultLoadCompletedCallback,get_path:Sys$Services$_RoleService$get_path,get_roles:Sys$Services$_RoleService$get_roles,isUserInRole:Sys$Services$_RoleService$isUserInRole,load:Sys$Services$_RoleService$load,_get_path:Sys$Services$_RoleService$_get_path,_get_rolesIndex:Sys$Services$_RoleService$_get_rolesIndex,_onLoadComplete:Sys$Services$_RoleService$_onLoadComplete,_onLoadFailed:Sys$Services$_RoleService$_onLoadFailed}
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(){if(arguments.length!==0)throw Error.parameterCount();}
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 Sys$Serialization$JavaScriptSerializer$_init(){var replaceChars=['\\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 i=0;i<32;i++){var c=String.fromCharCode(i);Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2]=c;Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c]=new RegExp(c,'g');Sys.Serialization.JavaScriptSerializer._escapeChars[c]=replaceChars[i];}}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object,stringBuilder){stringBuilder.append(object.toString());}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object,stringBuilder){if(isFinite(object)){stringBuilder.append(String(object));}
else{throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string,stringBuilder){stringBuilder.append('"');if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)){if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0){Sys.Serialization.JavaScriptSerializer._init();}
if(string.length<128){string=string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,function(x){return Sys.Serialization.JavaScriptSerializer._escapeChars[x];});}
else{for(var i=0;i<34;i++){var c=Sys.Serialization.JavaScriptSerializer._charsToEscape[i];if(string.indexOf(c)!==-1){if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox){string=string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]);}
else{string=string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c],Sys.Serialization.JavaScriptSerializer._escapeChars[c]);}}}}}
stringBuilder.append(string);stringBuilder.append('"');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object,stringBuilder,sort,prevObjects){var i;switch(typeof object){case'object':if(object){if(prevObjects){for(var j=0;j<prevObjects.length;j++){if(prevObjects[j]===object){throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);}}}
else{prevObjects=new Array();}
try{Array.add(prevObjects,object);if(Number.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);}
else if(Boolean.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);}
else if(String.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);}
else if(Array.isInstanceOfType(object)){stringBuilder.append('[');for(i=0;i<object.length;++i){if(i>0){stringBuilder.append(',');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder,false,prevObjects);}
stringBuilder.append(']');}
else{if(Date.isInstanceOfType(object)){stringBuilder.append('"\\/Date(');stringBuilder.append(object.getTime());stringBuilder.append(')\\/"');break;}
var properties=[];var propertyCount=0;for(var name in object){if(name.startsWith('$')){continue;}
if(name===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&propertyCount!==0){properties[propertyCount++]=properties[0];properties[0]=name;}
else{properties[propertyCount++]=name;}}
if(sort)properties.sort();stringBuilder.append('{');var needComma=false;for(i=0;i<propertyCount;i++){var value=object[properties[i]];if(typeof value!=='undefined'&&typeof value!=='function'){if(needComma){stringBuilder.append(',');}
else{needComma=true;}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort,prevObjects);stringBuilder.append(':');Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort,prevObjects);}}
stringBuilder.append('}');}}
finally{Array.removeAt(prevObjects,prevObjects.length-1);}}
else{stringBuilder.append('null');}
break;case'number':Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);break;case'string':Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);break;case'boolean':Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);break;default:stringBuilder.append('null');break;}}
Sys.Serialization.JavaScriptSerializer.serialize=function Sys$Serialization$JavaScriptSerializer$serialize(object){var e=Function._validateParams(arguments,[{name:"object",mayBeNull:true}]);if(e)throw e;var stringBuilder=new Sys.StringBuilder();Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize=function Sys$Serialization$JavaScriptSerializer$deserialize(data,secure){var e=Function._validateParams(arguments,[{name:"data",type:String},{name:"secure",type:Boolean,optional:true}]);if(e)throw e;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(e){throw Error.argument('data',Sys.Res.cannotDeserializeInvalidJson);}}
Sys.CultureInfo=function Sys$CultureInfo(name,numberFormat,dateTimeFormat){var e=Function._validateParams(arguments,[{name:"name",type:String},{name:"numberFormat",type:Object},{name:"dateTimeFormat",type:Object}]);if(e)throw e;this.name=name;this.numberFormat=numberFormat;this.dateTimeFormat=dateTimeFormat;}
function Sys$CultureInfo$_getDateTimeFormats(){if(!this._dateTimeFormats){var dtf=this.dateTimeFormat;this._dateTimeFormats=[dtf.MonthDayPattern,dtf.YearMonthPattern,dtf.ShortDatePattern,dtf.ShortTimePattern,dtf.LongDatePattern,dtf.LongTimePattern,dtf.FullDateTimePattern,dtf.RFC1123Pattern,dtf.SortableDateTimePattern,dtf.UniversalSortableDateTimePattern];}
return this._dateTimeFormats;}
function Sys$CultureInfo$_getMonthIndex(value){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrMonthIndex(value){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperAbbrMonths,this._toUpper(value));}
function Sys$CultureInfo$_getDayIndex(value){if(!this._upperDays){this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);}
return Array.indexOf(this._upperDays,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrDayIndex(value){if(!this._upperAbbrDays){this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);}
return Array.indexOf(this._upperAbbrDays,this._toUpper(value));}
function Sys$CultureInfo$_toUpperArray(arr){var result=[];for(var i=0,il=arr.length;i<il;i++){result[i]=this._toUpper(arr[i]);}
return result;}
function Sys$CultureInfo$_toUpper(value){return value.split("\u00A0").join(' ').toUpperCase();}
Sys.CultureInfo.prototype={_getDateTimeFormats:Sys$CultureInfo$_getDateTimeFormats,_getMonthIndex:Sys$CultureInfo$_getMonthIndex,_getAbbrMonthIndex:Sys$CultureInfo$_getAbbrMonthIndex,_getDayIndex:Sys$CultureInfo$_getDayIndex,_getAbbrDayIndex:Sys$CultureInfo$_getAbbrDayIndex,_toUpperArray:Sys$CultureInfo$_toUpperArray,_toUpper:Sys$CultureInfo$_toUpper}
Sys.CultureInfo._parse=function Sys$CultureInfo$_parse(value){var cultureInfo=Sys.Serialization.JavaScriptSerializer.deserialize(value);return new Sys.CultureInfo(cultureInfo.name,cultureInfo.numberFormat,cultureInfo.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 Sys$UI$Behavior(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;Sys.UI.Behavior.initializeBase(this);this._element=element;var behaviors=element._behaviors;if(!behaviors){element._behaviors=[this];}
else{behaviors[behaviors.length]=this;}}
function Sys$UI$Behavior$get_element(){if(arguments.length!==0)throw Error.parameterCount();return this._element;}
function Sys$UI$Behavior$get_id(){if(arguments.length!==0)throw Error.parameterCount();var baseId=Sys.UI.Behavior.callBaseMethod(this,'get_id');if(baseId)return baseId;if(!this._element||!this._element.id)return'';return this._element.id+'$'+this.get_name();}
function Sys$UI$Behavior$get_name(){if(arguments.length!==0)throw Error.parameterCount();if(this._name)return this._name;var name=Object.getTypeName(this);var i=name.lastIndexOf('.');if(i!=-1)name=name.substr(i+1);if(!this.get_isInitialized())this._name=name;return name;}
function Sys$UI$Behavior$set_name(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;if((value==='')||(value.charAt(0)===' ')||(value.charAt(value.length-1)===' '))
throw Error.argument('value',Sys.Res.invalidId);if(typeof(this._element[value])!=='undefined')
throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));if(this.get_isInitialized())throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);this._name=value;}
function Sys$UI$Behavior$initialize(){Sys.UI.Behavior.callBaseMethod(this,'initialize');var name=this.get_name();if(name)this._element[name]=this;}
function Sys$UI$Behavior$dispose(){Sys.UI.Behavior.callBaseMethod(this,'dispose');if(this._element){var name=this.get_name();if(name){this._element[name]=null;}
Array.remove(this._element._behaviors,this);delete this._element;}}
Sys.UI.Behavior.prototype={_name:null,get_element:Sys$UI$Behavior$get_element,get_id:Sys$UI$Behavior$get_id,get_name:Sys$UI$Behavior$get_name,set_name:Sys$UI$Behavior$set_name,initialize:Sys$UI$Behavior$initialize,dispose:Sys$UI$Behavior$dispose}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);Sys.UI.Behavior.getBehaviorByName=function Sys$UI$Behavior$getBehaviorByName(element,name){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"name",type:String}]);if(e)throw e;var b=element[name];return(b&&Sys.UI.Behavior.isInstanceOfType(b))?b:null;}
Sys.UI.Behavior.getBehaviors=function Sys$UI$Behavior$getBehaviors(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if(!element._behaviors)return[];return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType=function Sys$UI$Behavior$getBehaviorsByType(element,type){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"type",type:Type}]);if(e)throw e;var behaviors=element._behaviors;var results=[];if(behaviors){for(var i=0,l=behaviors.length;i<l;i++){if(type.isInstanceOfType(behaviors[i])){results[results.length]=behaviors[i];}}}
return results;}
Sys.UI.VisibilityMode=function Sys$UI$VisibilityMode(){if(arguments.length!==0)throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype={hide:0,collapse:1}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function Sys$UI$Control(element){var e=Function._validateParams(arguments,[{name:"element",domElement:true}]);if(e)throw e;if(typeof(element.control)!='undefined')throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);Sys.UI.Control.initializeBase(this);this._element=element;element.control=this;}
function Sys$UI$Control$get_element(){if(arguments.length!==0)throw Error.parameterCount();return this._element;}
function Sys$UI$Control$get_id(){if(arguments.length!==0)throw Error.parameterCount();if(!this._element)return'';return this._element.id;}
function Sys$UI$Control$set_id(value){var e=Function._validateParams(arguments,[{name:"value",type:String}]);if(e)throw e;throw Error.invalidOperation(Sys.Res.cantSetId);}
function Sys$UI$Control$get_parent(){if(arguments.length!==0)throw Error.parameterCount();if(this._parent)return this._parent;if(!this._element)return null;var parentElement=this._element.parentNode;while(parentElement){if(parentElement.control){return parentElement.control;}
parentElement=parentElement.parentNode;}
return null;}
function Sys$UI$Control$set_parent(value){var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.Control}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);var parents=[this];var current=value;while(current){if(Array.contains(parents,current))throw Error.invalidOperation(Sys.Res.circularParentChain);parents[parents.length]=current;current=current.get_parent();}
this._parent=value;}
function Sys$UI$Control$get_visibilityMode(){if(arguments.length!==0)throw Error.parameterCount();if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);return Sys.UI.DomElement.getVisibilityMode(this._element);}
function Sys$UI$Control$set_visibilityMode(value){var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.VisibilityMode}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.setVisibilityMode(this._element,value);}
function Sys$UI$Control$get_visible(){if(arguments.length!==0)throw Error.parameterCount();if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);return Sys.UI.DomElement.getVisible(this._element);}
function Sys$UI$Control$set_visible(value){var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.setVisible(this._element,value)}
function Sys$UI$Control$addCssClass(className){var e=Function._validateParams(arguments,[{name:"className",type:String}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.addCssClass(this._element,className);}
function Sys$UI$Control$dispose(){Sys.UI.Control.callBaseMethod(this,'dispose');if(this._element){this._element.control=undefined;delete this._element;}
if(this._parent)delete this._parent;}
function Sys$UI$Control$onBubbleEvent(source,args){var e=Function._validateParams(arguments,[{name:"source"},{name:"args",type:Sys.EventArgs}]);if(e)throw e;return false;}
function Sys$UI$Control$raiseBubbleEvent(source,args){var e=Function._validateParams(arguments,[{name:"source"},{name:"args",type:Sys.EventArgs}]);if(e)throw e;var currentTarget=this.get_parent();while(currentTarget){if(currentTarget.onBubbleEvent(source,args)){return;}
currentTarget=currentTarget.get_parent();}}
function Sys$UI$Control$removeCssClass(className){var e=Function._validateParams(arguments,[{name:"className",type:String}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.removeCssClass(this._element,className);}
function Sys$UI$Control$toggleCssClass(className){var e=Function._validateParams(arguments,[{name:"className",type:String}]);if(e)throw e;if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.toggleCssClass(this._element,className);}
Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:Sys$UI$Control$get_element,get_id:Sys$UI$Control$get_id,set_id:Sys$UI$Control$set_id,get_parent:Sys$UI$Control$get_parent,set_parent:Sys$UI$Control$set_parent,get_visibilityMode:Sys$UI$Control$get_visibilityMode,set_visibilityMode:Sys$UI$Control$set_visibilityMode,get_visible:Sys$UI$Control$get_visible,set_visible:Sys$UI$Control$set_visible,addCssClass:Sys$UI$Control$addCssClass,dispose:Sys$UI$Control$dispose,onBubbleEvent:Sys$UI$Control$onBubbleEvent,raiseBubbleEvent:Sys$UI$Control$raiseBubbleEvent,removeCssClass:Sys$UI$Control$removeCssClass,toggleCssClass:Sys$UI$Control$toggleCssClass}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);Type.registerNamespace('Sys');Sys.Res={"urlMustBeLessThan1024chars":"The history state must be small enough to not make the url larger than 1024 characters.","argumentTypeName":"Value is not the name of an existing type.","methodRegisteredTwice":"Method {0} has already been registered.","cantSetIdAfterInit":"The id property can\u0027t be set on this object after initialization.","cantBeCalledAfterDispose":"Can\u0027t be called after dispose.","componentCantSetIdAfterAddedToApp":"The id property of a component can\u0027t be set after it\u0027s been added to the Application object.","behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already exists or it is the name of an existing property on the target element.","notATypeName":"Value is not a valid type name.","typeShouldBeTypeOrString":"Value is not a valid type or a valid type name.","historyInvalidHistorySettingCombination":"Cannot set enableHistory to false when ScriptManager.EnableHistory is true.","stateMustBeStringDictionary":"The state object can only have null and string fields.","boolTrueOrFalse":"Value must be \u0027true\u0027 or \u0027false\u0027.","scriptLoadFailedNoHead":"ScriptLoader requires pages to contain a \u003chead\u003e element.","stringFormatInvalid":"The format string is invalid.","referenceNotFound":"Component \u0027{0}\u0027 was not found.","enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t be used as an enum value name.","eventHandlerNotFound":"Handler not found.","circularParentChain":"The chain of control parents can\u0027t have circular references.","undefinedEvent":"\u0027{0}\u0027 is not an event.","notAMethod":"{0} is not a method.","propertyUndefined":"\u0027{0}\u0027 is not a property or an existing field.","historyCannotEnableHistory":"Cannot set enableHistory after initialization.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \u0027Display a notification about every script error\u0027 under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().","propertyNotWritable":"\u0027{0}\u0027 is not a writable property.","enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum value.","controlAlreadyDefined":"A control is already associated with the element.","addHandlerCantBeUsedForError":"Can\u0027t add a handler for the error event using this method. Please set the window.onerror property instead.","namespaceContainsObject":"Object {0} already exists and is not a namespace.","cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a function.","invalidNameSpace":"Value is not a valid namespace identifier.","notAnInterface":"Value is not a valid interface.","eventHandlerNotFunction":"Handler must be a function.","propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.","typeRegisteredTwice":"Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.","cantSetNameAfterInit":"The name property can\u0027t be set on this object after initialization.","historyMissingFrame":"For the history feature to work in IE, the page must have an iFrame element with id \u0027__historyFrame\u0027 pointed to a page that gets its title from the \u0027title\u0027 query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.","appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 can\u0027t be added to the application.","historyCannotAddHistoryPointWithHistoryDisabled":"A history point can only be added if enableHistory is set to true.","appComponentMustBeInitialized":"Components must be initialized before they are added to the Application object.","baseNotAClass":"Value is not a class.","methodNotFound":"No method found with name \u0027{0}\u0027.","arrayParseBadFormat":"Value must be a valid string representation for an array. It must start with a \u0027[\u0027 and end with a \u0027]\u0027.","stateFieldNameInvalid":"State field names must not contain any \u0027=\u0027 characters.","cantSetId":"The id property can\u0027t be set on this object.","historyMissingHiddenInput":"For the history feature to work in Safari 2, the page must have a hidden input element with id \u0027__history\u0027.","stringFormatBraceMismatch":"The format string contains an unmatched opening or closing brace.","enumValueNotInteger":"An enumeration definition can only contain integer values.","propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 because it returned a null value.","argumentDomNode":"Value must be a DOM element or a text node.","componentCantSetIdTwice":"The id property of a component can\u0027t be set more than once.","createComponentOnDom":"Value must be null for Components that are not Controls or Behaviors.","createNotComponent":"{0} does not derive from Sys.Component.","createNoDom":"Value must not be null for Controls and Behaviors.","cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an id.","badTypeName":"Value is not the name of the type being registered or the name is a reserved word.","argumentInteger":"Value must be an integer.","scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.","invokeCalledTwice":"Cannot call invoke more than once.","webServiceFailed":"The server method \u0027{0}\u0027 failed with the following error: {1}","webServiceInvalidJsonWrapper":"The server method \u0027{0}\u0027 returned invalid data. The \u0027d\u0027 property is missing from the JSON wrapper.","argumentType":"Object cannot be converted to the required type.","argumentNull":"Value cannot be null.","controlCantSetId":"The id property can\u0027t be set on a control.","formatBadFormatSpecifier":"Format specifier was invalid.","webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.","argumentDomElement":"Value must be a DOM element.","invalidExecutorType":"Could not create a valid Sys.Net.WebRequestExecutor from: {0}.","cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is false.","actualValue":"Actual value was {0}.","enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.","scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.","parameterCount":"Parameter count mismatch.","cannotDeserializeEmptyString":"Cannot deserialize empty string.","formatInvalidString":"Input string was not in a correct format.","invalidTimeout":"Value must be greater than or equal to zero.","cannotAbortBeforeStart":"Cannot abort when executor has not started.","argument":"Value does not fall within the expected range.","cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.","invalidHttpVerb":"httpVerb cannot be set to an empty or null string.","nullWebRequest":"Cannot call executeRequest with a null webRequest.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.","argumentUndefined":"Value cannot be undefined.","webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type: {1}","servicePathNotSet":"The path to the web service has not been set.","argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.","cannotCallOnceStarted":"Cannot call {0} once started.","badBaseUrl1":"Base URL does not contain ://.","badBaseUrl2":"Base URL does not contain another /.","badBaseUrl3":"Cannot find last / in base URL.","setExecutorAfterActive":"Cannot set executor after it has become active.","paramName":"Parameter name: {0}","cannotCallOutsideHandler":"Cannot call {0} outside of a completed event handler.","cannotSerializeObjectWithCycle":"Cannot serialize object with cyclic reference within child properties.","format":"One of the identified items was in an invalid format.","assertFailedCaller":"Assertion Failed: {0}\r\nat {1}","argumentOutOfRange":"Specified argument was out of the range of valid values.","webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.","notImplemented":"The method or operation is not implemented.","assertFailed":"Assertion Failed: {0}","invalidOperation":"Operation is not valid due to the current state of the object.","breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"};if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
//scriptresource2.js
Type.registerNamespace('Sys.WebForms');Sys.WebForms.BeginRequestEventArgs=function Sys$WebForms$BeginRequestEventArgs(request,postBackElement){var e=Function._validateParams(arguments,[{name:"request",type:Sys.Net.WebRequest},{name:"postBackElement",mayBeNull:true,domElement:true}]);if(e)throw e;Sys.WebForms.BeginRequestEventArgs.initializeBase(this);this._request=request;this._postBackElement=postBackElement;}
function Sys$WebForms$BeginRequestEventArgs$get_postBackElement(){if(arguments.length!==0)throw Error.parameterCount();return this._postBackElement;}
function Sys$WebForms$BeginRequestEventArgs$get_request(){if(arguments.length!==0)throw Error.parameterCount();return this._request;}
Sys.WebForms.BeginRequestEventArgs.prototype={get_postBackElement:Sys$WebForms$BeginRequestEventArgs$get_postBackElement,get_request:Sys$WebForms$BeginRequestEventArgs$get_request}
Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginRequestEventArgs',Sys.EventArgs);Sys.WebForms.EndRequestEventArgs=function Sys$WebForms$EndRequestEventArgs(error,dataItems,response){var e=Function._validateParams(arguments,[{name:"error",type:Error,mayBeNull:true},{name:"dataItems",type:Object,mayBeNull:true},{name:"response",type:Sys.Net.WebRequestExecutor}]);if(e)throw e;Sys.WebForms.EndRequestEventArgs.initializeBase(this);this._errorHandled=false;this._error=error;this._dataItems=dataItems||new Object();this._response=response;}
function Sys$WebForms$EndRequestEventArgs$get_dataItems(){if(arguments.length!==0)throw Error.parameterCount();return this._dataItems;}
function Sys$WebForms$EndRequestEventArgs$get_error(){if(arguments.length!==0)throw Error.parameterCount();return this._error;}
function Sys$WebForms$EndRequestEventArgs$get_errorHandled(){if(arguments.length!==0)throw Error.parameterCount();return this._errorHandled;}
function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value){var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);if(e)throw e;this._errorHandled=value;}
function Sys$WebForms$EndRequestEventArgs$get_response(){if(arguments.length!==0)throw Error.parameterCount();return this._response;}
Sys.WebForms.EndRequestEventArgs.prototype={get_dataItems:Sys$WebForms$EndRequestEventArgs$get_dataItems,get_error:Sys$WebForms$EndRequestEventArgs$get_error,get_errorHandled:Sys$WebForms$EndRequestEventArgs$get_errorHandled,set_errorHandled:Sys$WebForms$EndRequestEventArgs$set_errorHandled,get_response:Sys$WebForms$EndRequestEventArgs$get_response}
Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEventArgs',Sys.EventArgs);Sys.WebForms.InitializeRequestEventArgs=function Sys$WebForms$InitializeRequestEventArgs(request,postBackElement){var e=Function._validateParams(arguments,[{name:"request",type:Sys.Net.WebRequest},{name:"postBackElement",mayBeNull:true,domElement:true}]);if(e)throw e;Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);this._request=request;this._postBackElement=postBackElement;}
function Sys$WebForms$InitializeRequestEventArgs$get_postBackElement(){if(arguments.length!==0)throw Error.parameterCount();return this._postBackElement;}
function Sys$WebForms$InitializeRequestEventArgs$get_request(){if(arguments.length!==0)throw Error.parameterCount();return this._request;}
Sys.WebForms.InitializeRequestEventArgs.prototype={get_postBackElement:Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,get_request:Sys$WebForms$InitializeRequestEventArgs$get_request}
Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.InitializeRequestEventArgs',Sys.CancelEventArgs);Sys.WebForms.PageLoadedEventArgs=function Sys$WebForms$PageLoadedEventArgs(panelsUpdated,panelsCreated,dataItems){var e=Function._validateParams(arguments,[{name:"panelsUpdated",type:Array},{name:"panelsCreated",type:Array},{name:"dataItems",type:Object,mayBeNull:true}]);if(e)throw e;Sys.WebForms.PageLoadedEventArgs.initializeBase(this);this._panelsUpdated=panelsUpdated;this._panelsCreated=panelsCreated;this._dataItems=dataItems||new Object();}
function Sys$WebForms$PageLoadedEventArgs$get_dataItems(){if(arguments.length!==0)throw Error.parameterCount();return this._dataItems;}
function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated(){if(arguments.length!==0)throw Error.parameterCount();return this._panelsCreated;}
function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated(){if(arguments.length!==0)throw Error.parameterCount();return this._panelsUpdated;}
Sys.WebForms.PageLoadedEventArgs.prototype={get_dataItems:Sys$WebForms$PageLoadedEventArgs$get_dataItems,get_panelsCreated:Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,get_panelsUpdated:Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated}
Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEventArgs',Sys.EventArgs);Sys.WebForms.PageLoadingEventArgs=function Sys$WebForms$PageLoadingEventArgs(panelsUpdating,panelsDeleting,dataItems){var e=Function._validateParams(arguments,[{name:"panelsUpdating",type:Array},{name:"panelsDeleting",type:Array},{name:"dataItems",type:Object,mayBeNull:true}]);if(e)throw e;Sys.WebForms.PageLoadingEventArgs.initializeBase(this);this._panelsUpdating=panelsUpdating;this._panelsDeleting=panelsDeleting;this._dataItems=dataItems||new Object();}
function Sys$WebForms$PageLoadingEventArgs$get_dataItems(){if(arguments.length!==0)throw Error.parameterCount();return this._dataItems;}
function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting(){if(arguments.length!==0)throw Error.parameterCount();return this._panelsDeleting;}
function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating(){if(arguments.length!==0)throw Error.parameterCount();return this._panelsUpdating;}
Sys.WebForms.PageLoadingEventArgs.prototype={get_dataItems:Sys$WebForms$PageLoadingEventArgs$get_dataItems,get_panelsDeleting:Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,get_panelsUpdating:Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating}
Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoadingEventArgs',Sys.EventArgs);Sys.WebForms.PageRequestManager=function Sys$WebForms$PageRequestManager(){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"];}
function Sys$WebForms$PageRequestManager$_get_eventHandlerList(){if(!this._events){this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack(){if(arguments.length!==0)throw Error.parameterCount();return this._request!==null;}
function Sys$WebForms$PageRequestManager$add_beginRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("beginRequest",handler);}
function Sys$WebForms$PageRequestManager$remove_beginRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("beginRequest",handler);}
function Sys$WebForms$PageRequestManager$add_endRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("endRequest",handler);}
function Sys$WebForms$PageRequestManager$remove_endRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("endRequest",handler);}
function Sys$WebForms$PageRequestManager$add_initializeRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("initializeRequest",handler);}
function Sys$WebForms$PageRequestManager$remove_initializeRequest(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("initializeRequest",handler);}
function Sys$WebForms$PageRequestManager$add_pageLoaded(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("pageLoaded",handler);}
function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("pageLoaded",handler);}
function Sys$WebForms$PageRequestManager$add_pageLoading(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().addHandler("pageLoading",handler);}
function Sys$WebForms$PageRequestManager$remove_pageLoading(handler){var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);if(e)throw e;this._get_eventHandlerList().removeHandler("pageLoading",handler);}
function Sys$WebForms$PageRequestManager$abortPostBack(){if(!this._processingRequest&&this._request){this._request.get_executor().abort();this._request=null;}}
function Sys$WebForms$PageRequestManager$_cancelPendingCallbacks(){for(var i=0,l=window.__pendingCallbacks.length;i<l;i++){var callback=window.__pendingCallbacks[i];if(callback){if(!callback.async){window.__synchronousCallBackIndex=-1;}
window.__pendingCallbacks[i]=null;var callbackFrameID="__CALLBACKFRAME"+i;var xmlRequestFrame=document.getElementById(callbackFrameID);if(xmlRequestFrame){xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);}}}}
function Sys$WebForms$PageRequestManager$_commitControls(updatePanelData,asyncPostBackTimeout){if(updatePanelData){this._updatePanelIDs=updatePanelData.updatePanelIDs;this._updatePanelClientIDs=updatePanelData.updatePanelClientIDs;this._updatePanelHasChildrenAsTriggers=updatePanelData.updatePanelHasChildrenAsTriggers;this._asyncPostBackControlIDs=updatePanelData.asyncPostBackControlIDs;this._asyncPostBackControlClientIDs=updatePanelData.asyncPostBackControlClientIDs;this._postBackControlIDs=updatePanelData.postBackControlIDs;this._postBackControlClientIDs=updatePanelData.postBackControlClientIDs;}
if(typeof(asyncPostBackTimeout)!=='undefined'&&asyncPostBackTimeout!==null){this._asyncPostBackTimeout=asyncPostBackTimeout*1000;}}
function Sys$WebForms$PageRequestManager$_createHiddenField(id,value){var container,field=document.getElementById(id);if(field){if(!field._isContained){field.parentNode.removeChild(field);}
else{container=field.parentNode;}}
if(!container){container=document.createElement('span');container.style.cssText="display:none !important";this._form.appendChild(container);}
container.innerHTML="<input type='hidden' />";field=container.childNodes[0];field._isContained=true;field.id=field.name=id;field.value=value;}
function Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError(){var displayMessage="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError;var e=Error.create(displayMessage,{name:'Sys.WebForms.PageRequestManagerTimeoutException'});e.popStackFrame();return e;}
function Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(httpStatusCode,message){var displayMessage="Sys.WebForms.PageRequestManagerServerErrorException: "+
(message||String.format(Sys.WebForms.Res.PRM_ServerError,httpStatusCode));var e=Error.create(displayMessage,{name:'Sys.WebForms.PageRequestManagerServerErrorException',httpStatusCode:httpStatusCode});e.popStackFrame();return e;}
function Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(parserErrorMessage){var displayMessage="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,parserErrorMessage);var e=Error.create(displayMessage,{name:'Sys.WebForms.PageRequestManagerParserErrorException'});e.popStackFrame();return e;}
function Sys$WebForms$PageRequestManager$_createPostBackSettings(async,panelID,sourceElement){return{async:async,panelID:panelID,sourceElement:sourceElement};}
function Sys$WebForms$PageRequestManager$_convertToClientIDs(source,destinationIDs,destinationClientIDs){if(source){for(var i=0,l=source.length;i<l;i++){Array.add(destinationIDs,source[i]);Array.add(destinationClientIDs,this._uniqueIDToClientID(source[i]));}}}
function Sys$WebForms$PageRequestManager$_destroyTree(element){if(element.nodeType===1){var childNodes=element.childNodes;for(var i=childNodes.length-1;i>=0;i--){var node=childNodes[i];if(node.nodeType===1){if(node.dispose&&typeof(node.dispose)==="function"){node.dispose();}
else if(node.control&&typeof(node.control.dispose)==="function"){node.control.dispose();}
var behaviors=Sys.UI.Behavior.getBehaviors(node);for(var j=behaviors.length-1;j>=0;j--){behaviors[j].dispose();}
this._destroyTree(node);}}}}
function Sys$WebForms$PageRequestManager$dispose(){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;}
function Sys$WebForms$PageRequestManager$_doCallback(eventTarget,eventArgument,eventCallback,context,errorCallback,useAsync){if(!this.get_isInAsyncPostBack()){this._originalDoCallback(eventTarget,eventArgument,eventCallback,context,errorCallback,useAsync);}}
function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget,eventArgument){this._additionalInput=null;var form=this._form;if((eventTarget===null)||(typeof(eventTarget)==="undefined")||(this._isCrossPost)){this._postBackSettings=this._createPostBackSettings(false,null,null);this._isCrossPost=false;}
else{var clientID=this._uniqueIDToClientID(eventTarget);var postBackElement=document.getElementById(clientID);if(!postBackElement){if(Array.contains(this._asyncPostBackControlIDs,eventTarget)){this._postBackSettings=this._createPostBackSettings(true,this._scriptManagerID+'|'+eventTarget,null);}
else{if(Array.contains(this._postBackControlIDs,eventTarget)){this._postBackSettings=this._createPostBackSettings(false,null,null);}
else{var nearestUniqueIDMatch=this._findNearestElement(eventTarget);if(nearestUniqueIDMatch){this._postBackSettings=this._getPostBackSettings(nearestUniqueIDMatch,eventTarget);}
else{this._postBackSettings=this._createPostBackSettings(false,null,null);}}}}
else{this._postBackSettings=this._getPostBackSettings(postBackElement,eventTarget);}}
if(!this._postBackSettings.async){form.onsubmit=this._onsubmit;this._originalDoPostBack(eventTarget,eventArgument);form.onsubmit=null;return;}
form.__EVENTTARGET.value=eventTarget;form.__EVENTARGUMENT.value=eventArgument;this._onFormSubmit();}
function Sys$WebForms$PageRequestManager$_doPostBackWithOptions(options){this._isCrossPost=options&&options.actionUrl;this._originalDoPostBackWithOptions(options);}
function Sys$WebForms$PageRequestManager$_elementContains(container,element){while(element){if(element===container){return true;}
element=element.parentNode;}
return false;}
function Sys$WebForms$PageRequestManager$_endPostBack(error,executor,data){if(this._request===executor.get_webRequest()){this._processingRequest=false;this._additionalInput=null;this._request=null;}
var handler=this._get_eventHandlerList().getHandler("endRequest");var errorHandled=false;if(handler){var eventArgs=new Sys.WebForms.EndRequestEventArgs(error,data?data.dataItems:{},executor);handler(this,eventArgs);errorHandled=eventArgs.get_errorHandled();}
if(error&&!errorHandled){throw error;}}
function Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID){while(uniqueID.length>0){var clientID=this._uniqueIDToClientID(uniqueID);var element=document.getElementById(clientID);if(element){return element;}
var indexOfLastDollar=uniqueID.lastIndexOf('$');if(indexOfLastDollar===-1){return null;}
uniqueID=uniqueID.substring(0,indexOfLastDollar);}
return null;}
function Sys$WebForms$PageRequestManager$_findText(text,location){var startIndex=Math.max(0,location-20);var endIndex=Math.min(text.length,location+20);return text.substring(startIndex,endIndex);}
function Sys$WebForms$PageRequestManager$_fireDefaultButton(event,target){if(event.keyCode===13){var src=event.srcElement||event.target;if(!src||(src.tagName.toLowerCase()!=="textarea")){var defaultButton=document.getElementById(target);if(defaultButton&&(typeof(defaultButton.click)!=="undefined")){this._activeDefaultButton=defaultButton;this._activeDefaultButtonClicked=false;try{defaultButton.click();}
finally{this._activeDefaultButton=null;}
event.cancelBubble=true;if(typeof(event.stopPropagation)==="function"){event.stopPropagation();}
return false;}}}
return true;}
function Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad,data){var updated=[];var created=[];var upData=data?data.updatePanelData:null;var newIDs,childIDs,refreshedIDs;if(!upData){newIDs=this._updatePanelIDs;childIDs=null;refreshedIDs=null;}
else{newIDs=upData.updatePanelIDs;childIDs=upData.childUpdatePanelIDs;refreshedIDs=upData.panelsToRefreshIDs;}
var i,l;if(refreshedIDs){for(i=0,l=refreshedIDs.length;i<l;i++){Array.add(updated,document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));}}
for(i=0,l=newIDs.length;i<l;i++){if(initialLoad||Array.indexOf(childIDs,newIDs[i])!==-1){Array.add(created,document.getElementById(this._uniqueIDToClientID(newIDs[i])));}}
return new Sys.WebForms.PageLoadedEventArgs(updated,created,data?data.dataItems:{});}
function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs(data){var updated=[];var deleted=[];var upData=data.updatePanelData;var oldIDs=upData.oldUpdatePanelIDs;var newIDs=upData.updatePanelIDs;var childIDs=upData.childUpdatePanelIDs;var refreshedIDs=upData.panelsToRefreshIDs;var i,l;for(i=0,l=refreshedIDs.length;i<l;i++){Array.add(updated,document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));}
for(i=0,l=oldIDs.length;i<l;i++){if(Array.indexOf(refreshedIDs,oldIDs[i])===-1&&(Array.indexOf(newIDs,oldIDs[i])===-1||Array.indexOf(childIDs,oldIDs[i])>-1)){Array.add(deleted,document.getElementById(this._uniqueIDToClientID(oldIDs[i])));}}
return new Sys.WebForms.PageLoadingEventArgs(updated,deleted,data.dataItems);}
function Sys$WebForms$PageRequestManager$_getPostBackSettings(element,elementUniqueID){var originalElement=element;var proposedSettings=null;while(element){if(element.id){if(!proposedSettings&&Array.contains(this._asyncPostBackControlClientIDs,element.id)){proposedSettings=this._createPostBackSettings(true,this._scriptManagerID+'|'+elementUniqueID,originalElement);}
else{if(!proposedSettings&&Array.contains(this._postBackControlClientIDs,element.id)){return this._createPostBackSettings(false,null,null);}
else{var indexOfPanel=Array.indexOf(this._updatePanelClientIDs,element.id);if(indexOfPanel!==-1){if(this._updatePanelHasChildrenAsTriggers[indexOfPanel]){return this._createPostBackSettings(true,this._updatePanelIDs[indexOfPanel]+'|'+elementUniqueID,originalElement);}
else{return this._createPostBackSettings(true,this._scriptManagerID+'|'+elementUniqueID,originalElement);}}}}
if(!proposedSettings&&this._matchesParentIDInList(element.id,this._asyncPostBackControlClientIDs)){proposedSettings=this._createPostBackSettings(true,this._scriptManagerID+'|'+elementUniqueID,originalElement);}
else{if(!proposedSettings&&this._matchesParentIDInList(element.id,this._postBackControlClientIDs)){return this._createPostBackSettings(false,null,null);}}}
element=element.parentNode;}
if(!proposedSettings){return this._createPostBackSettings(false,null,null);}
else{return proposedSettings;}}
function Sys$WebForms$PageRequestManager$_getScrollPosition(){var d=document.documentElement;if(d&&(this._validPosition(d.scrollLeft)||this._validPosition(d.scrollTop))){return{x:d.scrollLeft,y:d.scrollTop};}
else{d=document.body;if(d&&(this._validPosition(d.scrollLeft)||this._validPosition(d.scrollTop))){return{x:d.scrollLeft,y:d.scrollTop};}
else{if(this._validPosition(window.pageXOffset)||this._validPosition(window.pageYOffset)){return{x:window.pageXOffset,y:window.pageYOffset};}
else{return{x:0,y:0};}}}}
function Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID,formElement){if(this._prmInitialized){throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);}
this._prmInitialized=true;this._scriptManagerID=scriptManagerID;this._form=formElement;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);}
function Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID,parentIDList){for(var i=0,l=parentIDList.length;i<l;i++){if(clientID.startsWith(parentIDList[i]+"_")){return true;}}
return false;}
function Sys$WebForms$PageRequestManager$_onFormElementActive(element,offsetX,offsetY){if(element.disabled){return;}
this._postBackSettings=this._getPostBackSettings(element,element.name);if(element.name){var tagName=element.tagName.toUpperCase();if(tagName==='INPUT'){var type=element.type;if(type==='submit'){this._additionalInput=encodeURIComponent(element.name)+'='+encodeURIComponent(element.value);}
else if(type==='image'){this._additionalInput=encodeURIComponent(element.name)+'.x='+offsetX+'&'+encodeURIComponent(element.name)+'.y='+offsetY;}}
else if((tagName==='BUTTON')&&(element.name.length!==0)&&(element.type==='submit')){this._additionalInput=encodeURIComponent(element.name)+'='+encodeURIComponent(element.value);}}}
function Sys$WebForms$PageRequestManager$_onFormElementClick(evt){this._activeDefaultButtonClicked=(evt.target===this._activeDefaultButton);this._onFormElementActive(evt.target,evt.offsetX,evt.offsetY);}
function Sys$WebForms$PageRequestManager$_onFormSubmit(evt){var continueSubmit=true;var isCrossPost=this._isCrossPost;this._isCrossPost=false;var i,l;if(this._onsubmit){continueSubmit=this._onsubmit();}
if(continueSubmit){for(i=0,l=this._onSubmitStatements.length;i<l;i++){if(!this._onSubmitStatements[i]()){continueSubmit=false;break;}}}
if(!continueSubmit){if(evt){evt.preventDefault();}
return;}
var form=this._form;if(isCrossPost){return;}
if(this._activeDefaultButton&&!this._activeDefaultButtonClicked){this._onFormElementActive(this._activeDefaultButton,0,0);}
if(!this._postBackSettings.async){return;}
var formBody=new Sys.StringBuilder();formBody.append(encodeURIComponent(this._scriptManagerID)+'='+encodeURIComponent(this._postBackSettings.panelID)+'&');var count=form.elements.length;for(i=0;i<count;i++){var element=form.elements[i];var name=element.name;if(typeof(name)==="undefined"||(name===null)||(name.length===0)||(name===this._scriptManagerID)){continue;}
var tagName=element.tagName.toUpperCase();if(tagName==='INPUT'){var type=element.type;if((type==='text')||(type==='password')||(type==='hidden')||(((type==='checkbox')||(type==='radio'))&&element.checked)){formBody.append(encodeURIComponent(name));formBody.append('=');formBody.append(encodeURIComponent(element.value));formBody.append('&');}}
else if(tagName==='SELECT'){var optionCount=element.options.length;for(var j=0;j<optionCount;j++){var option=element.options[j];if(option.selected){formBody.append(encodeURIComponent(name));formBody.append('=');formBody.append(encodeURIComponent(option.value));formBody.append('&');}}}
else if(tagName==='TEXTAREA'){formBody.append(encodeURIComponent(name));formBody.append('=');formBody.append(encodeURIComponent(element.value));formBody.append('&');}}
formBody.append("__ASYNCPOST=true&");if(this._additionalInput){formBody.append(this._additionalInput);this._additionalInput=null;}
var request=new Sys.Net.WebRequest();var action=form.action;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var fragmentIndex=action.indexOf('#');if(fragmentIndex!==-1){action=action.substr(0,fragmentIndex);}
var queryIndex=action.indexOf('?');if(queryIndex!==-1){var path=action.substr(0,queryIndex);if(path.indexOf("%")===-1){action=encodeURI(path)+action.substr(queryIndex);}}
else if(action.indexOf("%")===-1){action=encodeURI(action);}}
request.set_url(action);request.get_headers()['X-MicrosoftAjax']='Delta=true';request.get_headers()['Cache-Control']='no-cache';request.set_timeout(this._asyncPostBackTimeout);request.add_completed(Function.createDelegate(this,this._onFormSubmitCompleted));request.set_body(formBody.toString());var eventArgs,handler=this._get_eventHandlerList().getHandler("initializeRequest");if(handler){eventArgs=new Sys.WebForms.InitializeRequestEventArgs(request,this._postBackSettings.sourceElement);handler(this,eventArgs);continueSubmit=!eventArgs.get_cancel();}
if(!continueSubmit){if(evt){evt.preventDefault();}
return;}
this._scrollPosition=this._getScrollPosition();this.abortPostBack();handler=this._get_eventHandlerList().getHandler("beginRequest");if(handler){eventArgs=new Sys.WebForms.BeginRequestEventArgs(request,this._postBackSettings.sourceElement);handler(this,eventArgs);}
if(this._originalDoCallback){this._cancelPendingCallbacks();}
this._request=request;this._processingRequest=false;request.invoke();if(evt){evt.preventDefault();}}
function Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender,eventArgs){this._processingRequest=true;if(sender.get_timedOut()){this._endPostBack(this._createPageRequestManagerTimeoutError(),sender,null);return;}
if(sender.get_aborted()){this._endPostBack(null,sender,null);return;}
if(!this._request||(sender.get_webRequest()!==this._request)){return;}
if(sender.get_statusCode()!==200){this._endPostBack(this._createPageRequestManagerServerError(sender.get_statusCode()),sender,null);return;}
var data=this._parseDelta(sender);if(!data)return;var i,l;if(data.asyncPostBackControlIDsNode&&data.postBackControlIDsNode&&data.updatePanelIDsNode&&data.panelsToRefreshNode&&data.childUpdatePanelIDsNode){var oldUpdatePanelIDs=this._updatePanelIDs;var childUpdatePanelIDsString=data.childUpdatePanelIDsNode.content;var childUpdatePanelIDs=childUpdatePanelIDsString.length?childUpdatePanelIDsString.split(','):[];var asyncPostBackControlIDsArray=this._splitNodeIntoArray(data.asyncPostBackControlIDsNode);var postBackControlIDsArray=this._splitNodeIntoArray(data.postBackControlIDsNode);var updatePanelIDsArray=this._splitNodeIntoArray(data.updatePanelIDsNode);var panelsToRefreshIDs=this._splitNodeIntoArray(data.panelsToRefreshNode);for(i=0,l=panelsToRefreshIDs.length;i<l;i++){var panelClientID=this._uniqueIDToClientID(panelsToRefreshIDs[i]);if(!document.getElementById(panelClientID)){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,panelClientID)),sender,data);return;}}
var updatePanelData=this._processUpdatePanelArrays(updatePanelIDsArray,asyncPostBackControlIDsArray,postBackControlIDsArray);updatePanelData.oldUpdatePanelIDs=oldUpdatePanelIDs;updatePanelData.childUpdatePanelIDs=childUpdatePanelIDs;updatePanelData.panelsToRefreshIDs=panelsToRefreshIDs;data.updatePanelData=updatePanelData;}
data.dataItems={};var node;for(i=0,l=data.dataItemNodes.length;i<l;i++){node=data.dataItemNodes[i];data.dataItems[node.id]=node.content;}
for(i=0,l=data.dataItemJsonNodes.length;i<l;i++){node=data.dataItemJsonNodes[i];data.dataItems[node.id]=Sys.Serialization.JavaScriptSerializer.deserialize(node.content);}
var handler=this._get_eventHandlerList().getHandler("pageLoading");if(handler){handler(this,this._getPageLoadingEventArgs(data));}
Sys._ScriptLoader.readLoadedScripts();Sys.Application.beginCreateComponents();var scriptLoader=Sys._ScriptLoader.getInstance();this._queueScripts(scriptLoader,data.scriptBlockNodes,true,false);this._processingRequest=true;scriptLoader.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadComplete,data)),Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadFailed,data)),null);}
function Sys$WebForms$PageRequestManager$_onWindowUnload(evt){this.dispose();}
function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad,data){var handler=this._get_eventHandlerList().getHandler("pageLoaded");if(handler){handler(this,this._getPageLoadedEventArgs(initialLoad,data));}
if(!initialLoad){Sys.Application.raiseLoad();}}
function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt){this._pageLoaded(true,null);}
function Sys$WebForms$PageRequestManager$_parseDelta(executor){var reply=executor.get_responseData();var delimiterIndex,len,type,id,content;var replyIndex=0;var parserErrorDetails=null;var delta=[];while(replyIndex<reply.length){delimiterIndex=reply.indexOf('|',replyIndex);if(delimiterIndex===-1){parserErrorDetails=this._findText(reply,replyIndex);break;}
len=parseInt(reply.substring(replyIndex,delimiterIndex),10);if((len%1)!==0){parserErrorDetails=this._findText(reply,replyIndex);break;}
replyIndex=delimiterIndex+1;delimiterIndex=reply.indexOf('|',replyIndex);if(delimiterIndex===-1){parserErrorDetails=this._findText(reply,replyIndex);break;}
type=reply.substring(replyIndex,delimiterIndex);replyIndex=delimiterIndex+1;delimiterIndex=reply.indexOf('|',replyIndex);if(delimiterIndex===-1){parserErrorDetails=this._findText(reply,replyIndex);break;}
id=reply.substring(replyIndex,delimiterIndex);replyIndex=delimiterIndex+1;if((replyIndex+len)>=reply.length){parserErrorDetails=this._findText(reply,reply.length);break;}
content=reply.substr(replyIndex,len);replyIndex+=len;if(reply.charAt(replyIndex)!=='|'){parserErrorDetails=this._findText(reply,replyIndex);break;}
replyIndex++;Array.add(delta,{type:type,id:id,content:content});}
if(parserErrorDetails){this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,parserErrorDetails)),executor,null);return null;}
var updatePanelNodes=[];var hiddenFieldNodes=[];var arrayDeclarationNodes=[];var scriptBlockNodes=[];var scriptStartupNodes=[];var expandoNodes=[];var onSubmitNodes=[];var dataItemNodes=[];var dataItemJsonNodes=[];var scriptDisposeNodes=[];var asyncPostBackControlIDsNode,postBackControlIDsNode,updatePanelIDsNode,asyncPostBackTimeoutNode,childUpdatePanelIDsNode,panelsToRefreshNode,formActionNode;for(var i=0,l=delta.length;i<l;i++){var deltaNode=delta[i];switch(deltaNode.type){case"updatePanel":Array.add(updatePanelNodes,deltaNode);break;case"hiddenField":Array.add(hiddenFieldNodes,deltaNode);break;case"arrayDeclaration":Array.add(arrayDeclarationNodes,deltaNode);break;case"scriptBlock":Array.add(scriptBlockNodes,deltaNode);break;case"scriptStartupBlock":Array.add(scriptStartupNodes,deltaNode);break;case"expando":Array.add(expandoNodes,deltaNode);break;case"onSubmit":Array.add(onSubmitNodes,deltaNode);break;case"asyncPostBackControlIDs":asyncPostBackControlIDsNode=deltaNode;break;case"postBackControlIDs":postBackControlIDsNode=deltaNode;break;case"updatePanelIDs":updatePanelIDsNode=deltaNode;break;case"asyncPostBackTimeout":asyncPostBackTimeoutNode=deltaNode;break;case"childUpdatePanelIDs":childUpdatePanelIDsNode=deltaNode;break;case"panelsToRefreshIDs":panelsToRefreshNode=deltaNode;break;case"formAction":formActionNode=deltaNode;break;case"dataItem":Array.add(dataItemNodes,deltaNode);break;case"dataItemJson":Array.add(dataItemJsonNodes,deltaNode);break;case"scriptDispose":Array.add(scriptDisposeNodes,deltaNode);break;case"pageRedirect":if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var anchor=document.createElement("a");anchor.style.display='none';anchor.attachEvent("onclick",cancelBubble);anchor.href=deltaNode.content;document.body.appendChild(anchor);anchor.click();anchor.detachEvent("onclick",cancelBubble);document.body.removeChild(anchor);function cancelBubble(e){e.cancelBubble=true;}}
else{window.location.href=deltaNode.content;}
return;case"error":this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(deltaNode.id),deltaNode.content),executor,null);return null;case"pageTitle":document.title=deltaNode.content;break;case"focus":this._controlIDToFocus=deltaNode.content;break;default:this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,deltaNode.type)),executor,null);return null;}}
return{executor:executor,updatePanelNodes:updatePanelNodes,hiddenFieldNodes:hiddenFieldNodes,arrayDeclarationNodes:arrayDeclarationNodes,scriptBlockNodes:scriptBlockNodes,scriptStartupNodes:scriptStartupNodes,expandoNodes:expandoNodes,onSubmitNodes:onSubmitNodes,dataItemNodes:dataItemNodes,dataItemJsonNodes:dataItemJsonNodes,scriptDisposeNodes:scriptDisposeNodes,asyncPostBackControlIDsNode:asyncPostBackControlIDsNode,postBackControlIDsNode:postBackControlIDsNode,updatePanelIDsNode:updatePanelIDsNode,asyncPostBackTimeoutNode:asyncPostBackTimeoutNode,childUpdatePanelIDsNode:childUpdatePanelIDsNode,panelsToRefreshNode:panelsToRefreshNode,formActionNode:formActionNode};}
function Sys$WebForms$PageRequestManager$_processUpdatePanelArrays(updatePanelIDs,asyncPostBackControlIDs,postBackControlIDs){var newUpdatePanelIDs;var newUpdatePanelClientIDs;var newUpdatePanelHasChildrenAsTriggers;if(updatePanelIDs){var l=updatePanelIDs.length;newUpdatePanelIDs=new Array(l);newUpdatePanelClientIDs=new Array(l);newUpdatePanelHasChildrenAsTriggers=new Array(l);for(var i=0;i<l;i++){var realPanelID=updatePanelIDs[i].substr(1);var childrenAsTriggers=(updatePanelIDs[i].charAt(0)==='t');newUpdatePanelHasChildrenAsTriggers[i]=childrenAsTriggers;newUpdatePanelIDs[i]=realPanelID;newUpdatePanelClientIDs[i]=this._uniqueIDToClientID(realPanelID);}}
else{newUpdatePanelIDs=[];newUpdatePanelClientIDs=[];newUpdatePanelHasChildrenAsTriggers=[];}
var newAsyncPostBackControlIDs=[];var newAsyncPostBackControlClientIDs=[];this._convertToClientIDs(asyncPostBackControlIDs,newAsyncPostBackControlIDs,newAsyncPostBackControlClientIDs);var newPostBackControlIDs=[];var newPostBackControlClientIDs=[];this._convertToClientIDs(postBackControlIDs,newPostBackControlIDs,newPostBackControlClientIDs);return{updatePanelIDs:newUpdatePanelIDs,updatePanelClientIDs:newUpdatePanelClientIDs,updatePanelHasChildrenAsTriggers:newUpdatePanelHasChildrenAsTriggers,asyncPostBackControlIDs:newAsyncPostBackControlIDs,asyncPostBackControlClientIDs:newAsyncPostBackControlClientIDs,postBackControlIDs:newPostBackControlIDs,postBackControlClientIDs:newPostBackControlClientIDs};}
function Sys$WebForms$PageRequestManager$_queueScripts(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);break;}}}
function Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID,disposeScript){if(!this._scriptDisposes[panelID]){this._scriptDisposes[panelID]=[disposeScript];}
else{Array.add(this._scriptDisposes[panelID],disposeScript);}}
function Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete(scriptLoader,data){if(data.executor.get_webRequest()!==this._request){return;}
this._commitControls(data.updatePanelData,data.asyncPostBackTimeoutNode?data.asyncPostBackTimeoutNode.content:null);if(data.formActionNode){this._form.action=data.formActionNode.content;}
var i,l,node;for(i=0,l=data.updatePanelNodes.length;i<l;i++){node=data.updatePanelNodes[i];var updatePanelElement=document.getElementById(node.id);if(!updatePanelElement){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,node.id)),data.executor,data);return;}
this._updatePanel(updatePanelElement,node.content);}
for(i=0,l=data.scriptDisposeNodes.length;i<l;i++){node=data.scriptDisposeNodes[i];this._registerDisposeScript(node.id,node.content);}
for(i=0,l=this._transientFields.length;i<l;i++){var field=document.getElementById(this._transientFields[i]);if(field){var toRemove=field._isContained?field.parentNode:field;toRemove.parentNode.removeChild(toRemove);}}
for(i=0,l=data.hiddenFieldNodes.length;i<l;i++){node=data.hiddenFieldNodes[i];this._createHiddenField(node.id,node.content);}
if(data.scriptsFailed){throw Sys._ScriptLoader._errorScriptLoadFailed(data.scriptsFailed.src,data.scriptsFailed.multipleCallbacks);}
this._queueScripts(scriptLoader,data.scriptBlockNodes,false,true);var arrayScript='';for(i=0,l=data.arrayDeclarationNodes.length;i<l;i++){node=data.arrayDeclarationNodes[i];arrayScript+="Sys.WebForms.PageRequestManager._addArrayElement('"+node.id+"', "+node.content+");\r\n";}
var expandoScript='';for(i=0,l=data.expandoNodes.length;i<l;i++){node=data.expandoNodes[i];expandoScript+=node.id+" = "+node.content+"\r\n";}
if(arrayScript.length){scriptLoader.queueScriptBlock(arrayScript);}
if(expandoScript.length){scriptLoader.queueScriptBlock(expandoScript);}
this._queueScripts(scriptLoader,data.scriptStartupNodes,true,true);var onSubmitStatementScript='';for(i=0,l=data.onSubmitNodes.length;i<l;i++){if(i===0){onSubmitStatementScript='Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n';}
onSubmitStatementScript+=data.onSubmitNodes[i].content+"\r\n";}
if(onSubmitStatementScript.length){onSubmitStatementScript+="\r\nreturn true;\r\n});\r\n";scriptLoader.queueScriptBlock(onSubmitStatementScript);}
scriptLoader.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptsLoadComplete,data)),null,null);}
function Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed(scriptLoader,scriptElement,multipleCallbacks,data){data.scriptsFailed={src:scriptElement.src,multipleCallbacks:multipleCallbacks};this._scriptIncludesLoadComplete(scriptLoader,data);}
function Sys$WebForms$PageRequestManager$_scriptsLoadComplete(scriptLoader,data){var response=data.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,data);this._endPostBack(null,response,data);if(this._controlIDToFocus){var focusTarget;var oldContentEditableSetting;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var targetControl=$get(this._controlIDToFocus);focusTarget=targetControl;if(targetControl&&(!WebForm_CanFocus(targetControl))){focusTarget=WebForm_FindFirstFocusableChild(targetControl);}
if(focusTarget&&(typeof(focusTarget.contentEditable)!=="undefined")){oldContentEditableSetting=focusTarget.contentEditable;focusTarget.contentEditable=false;}
else{focusTarget=null;}}
WebForm_AutoFocus(this._controlIDToFocus);if(focusTarget){focusTarget.contentEditable=oldContentEditableSetting;}
this._controlIDToFocus=null;}}
function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node){var str=node.content;var arr=str.length?str.split(','):[];return arr;}
function Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID){return uniqueID.replace(/\$/g,'_');}
function Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs,asyncPostBackControlIDs,postBackControlIDs,asyncPostBackTimeout){this._commitControls(this._processUpdatePanelArrays(updatePanelIDs,asyncPostBackControlIDs,postBackControlIDs),asyncPostBackTimeout);}
function Sys$WebForms$PageRequestManager$_updatePanel(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;}
function Sys$WebForms$PageRequestManager$_validPosition(position){return(typeof(position)!=="undefined")&&(position!==null)&&(position!==0);}
Sys.WebForms.PageRequestManager.prototype={_get_eventHandlerList:Sys$WebForms$PageRequestManager$_get_eventHandlerList,get_isInAsyncPostBack:Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,add_beginRequest:Sys$WebForms$PageRequestManager$add_beginRequest,remove_beginRequest:Sys$WebForms$PageRequestManager$remove_beginRequest,add_endRequest:Sys$WebForms$PageRequestManager$add_endRequest,remove_endRequest:Sys$WebForms$PageRequestManager$remove_endRequest,add_initializeRequest:Sys$WebForms$PageRequestManager$add_initializeRequest,remove_initializeRequest:Sys$WebForms$PageRequestManager$remove_initializeRequest,add_pageLoaded:Sys$WebForms$PageRequestManager$add_pageLoaded,remove_pageLoaded:Sys$WebForms$PageRequestManager$remove_pageLoaded,add_pageLoading:Sys$WebForms$PageRequestManager$add_pageLoading,remove_pageLoading:Sys$WebForms$PageRequestManager$remove_pageLoading,abortPostBack:Sys$WebForms$PageRequestManager$abortPostBack,_cancelPendingCallbacks:Sys$WebForms$PageRequestManager$_cancelPendingCallbacks,_commitControls:Sys$WebForms$PageRequestManager$_commitControls,_createHiddenField:Sys$WebForms$PageRequestManager$_createHiddenField,_createPageRequestManagerTimeoutError:Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,_createPageRequestManagerServerError:Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,_createPageRequestManagerParserError:Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,_createPostBackSettings:Sys$WebForms$PageRequestManager$_createPostBackSettings,_convertToClientIDs:Sys$WebForms$PageRequestManager$_convertToClientIDs,_destroyTree:Sys$WebForms$PageRequestManager$_destroyTree,dispose:Sys$WebForms$PageRequestManager$dispose,_doCallback:Sys$WebForms$PageRequestManager$_doCallback,_doPostBack:Sys$WebForms$PageRequestManager$_doPostBack,_doPostBackWithOptions:Sys$WebForms$PageRequestManager$_doPostBackWithOptions,_elementContains:Sys$WebForms$PageRequestManager$_elementContains,_endPostBack:Sys$WebForms$PageRequestManager$_endPostBack,_findNearestElement:Sys$WebForms$PageRequestManager$_findNearestElement,_findText:Sys$WebForms$PageRequestManager$_findText,_fireDefaultButton:Sys$WebForms$PageRequestManager$_fireDefaultButton,_getPageLoadedEventArgs:Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,_getPageLoadingEventArgs:Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,_getPostBackSettings:Sys$WebForms$PageRequestManager$_getPostBackSettings,_getScrollPosition:Sys$WebForms$PageRequestManager$_getScrollPosition,_initializeInternal:Sys$WebForms$PageRequestManager$_initializeInternal,_matchesParentIDInList:Sys$WebForms$PageRequestManager$_matchesParentIDInList,_onFormElementActive:Sys$WebForms$PageRequestManager$_onFormElementActive,_onFormElementClick:Sys$WebForms$PageRequestManager$_onFormElementClick,_onFormSubmit:Sys$WebForms$PageRequestManager$_onFormSubmit,_onFormSubmitCompleted:Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,_onWindowUnload:Sys$WebForms$PageRequestManager$_onWindowUnload,_pageLoaded:Sys$WebForms$PageRequestManager$_pageLoaded,_pageLoadedInitialLoad:Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,_parseDelta:Sys$WebForms$PageRequestManager$_parseDelta,_processUpdatePanelArrays:Sys$WebForms$PageRequestManager$_processUpdatePanelArrays,_queueScripts:Sys$WebForms$PageRequestManager$_queueScripts,_registerDisposeScript:Sys$WebForms$PageRequestManager$_registerDisposeScript,_scriptIncludesLoadComplete:Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete,_scriptIncludesLoadFailed:Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed,_scriptsLoadComplete:Sys$WebForms$PageRequestManager$_scriptsLoadComplete,_splitNodeIntoArray:Sys$WebForms$PageRequestManager$_splitNodeIntoArray,_uniqueIDToClientID:Sys$WebForms$PageRequestManager$_uniqueIDToClientID,_updateControls:Sys$WebForms$PageRequestManager$_updateControls,_updatePanel:Sys$WebForms$PageRequestManager$_updatePanel,_validPosition:Sys$WebForms$PageRequestManager$_validPosition}
Sys.WebForms.PageRequestManager.getInstance=function Sys$WebForms$PageRequestManager$getInstance(){if(arguments.length!==0)throw Error.parameterCount();var prm=Sys.WebForms.PageRequestManager._instance;if(!prm){prm=Sys.WebForms.PageRequestManager._instance=new Sys.WebForms.PageRequestManager();}
return prm;}
Sys.WebForms.PageRequestManager._addArrayElement=function Sys$WebForms$PageRequestManager$_addArrayElement(arrayName){if(!window[arrayName]){window[arrayName]=new Array();}
for(var i=1,l=arguments.length;i<l;i++){Array.add(window[arrayName],arguments[i]);}}
Sys.WebForms.PageRequestManager._initialize=function Sys$WebForms$PageRequestManager$_initialize(scriptManagerID,formElement){Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptManagerID,formElement);}
Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestManager');Sys.UI._UpdateProgress=function Sys$UI$_UpdateProgress(element){Sys.UI._UpdateProgress.initializeBase(this,[element]);this._displayAfter=500;this._dynamicLayout=true;this._associatedUpdatePanelId=null;this._beginRequestHandlerDelegate=null;this._startDelegate=null;this._endRequestHandlerDelegate=null;this._pageRequestManager=null;this._timerCookie=null;}
function Sys$UI$_UpdateProgress$get_displayAfter(){if(arguments.length!==0)throw Error.parameterCount();return this._displayAfter;}
function Sys$UI$_UpdateProgress$set_displayAfter(value){var e=Function._validateParams(arguments,[{name:"value",type:Number}]);if(e)throw e;this._displayAfter=value;}
function Sys$UI$_UpdateProgress$get_dynamicLayout(){if(arguments.length!==0)throw Error.parameterCount();return this._dynamicLayout;}
function Sys$UI$_UpdateProgress$set_dynamicLayout(value){var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);if(e)throw e;this._dynamicLayout=value;}
function Sys$UI$_UpdateProgress$get_associatedUpdatePanelId(){if(arguments.length!==0)throw Error.parameterCount();return this._associatedUpdatePanelId;}
function Sys$UI$_UpdateProgress$set_associatedUpdatePanelId(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e)throw e;this._associatedUpdatePanelId=value;}
function Sys$UI$_UpdateProgress$_clearTimeout(){if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null;}}
function Sys$UI$_UpdateProgress$_handleBeginRequest(sender,arg){var curElem=arg.get_postBackElement();var showProgress=!this._associatedUpdatePanelId;while(!showProgress&&curElem){if(curElem.id&&this._associatedUpdatePanelId===curElem.id){showProgress=true;}
curElem=curElem.parentNode;}
if(showProgress){this._timerCookie=window.setTimeout(this._startDelegate,this._displayAfter);}}
function Sys$UI$_UpdateProgress$_startRequest(){if(this._pageRequestManager.get_isInAsyncPostBack()){if(this._dynamicLayout)this.get_element().style.display='block';else this.get_element().style.visibility='visible';}
this._timerCookie=null;}
function Sys$UI$_UpdateProgress$_handleEndRequest(sender,arg){if(this._dynamicLayout)this.get_element().style.display='none';else this.get_element().style.visibility='hidden';this._clearTimeout();}
function Sys$UI$_UpdateProgress$dispose(){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");}
function Sys$UI$_UpdateProgress$initialize(){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.prototype={get_displayAfter:Sys$UI$_UpdateProgress$get_displayAfter,set_displayAfter:Sys$UI$_UpdateProgress$set_displayAfter,get_dynamicLayout:Sys$UI$_UpdateProgress$get_dynamicLayout,set_dynamicLayout:Sys$UI$_UpdateProgress$set_dynamicLayout,get_associatedUpdatePanelId:Sys$UI$_UpdateProgress$get_associatedUpdatePanelId,set_associatedUpdatePanelId:Sys$UI$_UpdateProgress$set_associatedUpdatePanelId,_clearTimeout:Sys$UI$_UpdateProgress$_clearTimeout,_handleBeginRequest:Sys$UI$_UpdateProgress$_handleBeginRequest,_startRequest:Sys$UI$_UpdateProgress$_startRequest,_handleEndRequest:Sys$UI$_UpdateProgress$_handleEndRequest,dispose:Sys$UI$_UpdateProgress$dispose,initialize:Sys$UI$_UpdateProgress$initialize}
Sys.UI._UpdateProgress.registerClass('Sys.UI._UpdateProgress',Sys.UI.Control);Type.registerNamespace('Sys.WebForms');Sys.WebForms.Res={"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.","PRM_ServerError":"An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}","PRM_ParserError":"The message received from the server could not be parsed.","PRM_TimeoutError":"The server request timed out.","PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized more than once.","PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.","PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.","PRM_ServerError":"An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}","PRM_ParserError":"The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}","PRM_TimeoutError":"The server request timed out.","PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.","PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized more than once."};if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
//scriptresource3.js
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.BehaviorBase=function(element){AjaxControlToolkit.BehaviorBase.initializeBase(this,[element]);this._clientStateFieldID=null;this._pageRequestManager=null;this._partialUpdateBeginRequestHandler=null;this._partialUpdateEndRequestHandler=null;}
AjaxControlToolkit.BehaviorBase.prototype={initialize:function(){AjaxControlToolkit.BehaviorBase.callBaseMethod(this,'initialize');},dispose:function(){AjaxControlToolkit.BehaviorBase.callBaseMethod(this,'dispose');if(this._pageRequestManager){if(this._partialUpdateBeginRequestHandler){this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateBeginRequestHandler=null;}
if(this._partialUpdateEndRequestHandler){this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler);this._partialUpdateEndRequestHandler=null;}
this._pageRequestManager=null;}},get_ClientStateFieldID:function(){return this._clientStateFieldID;},set_ClientStateFieldID:function(value){if(this._clientStateFieldID!=value){this._clientStateFieldID=value;this.raisePropertyChanged('ClientStateFieldID');}},get_ClientState:function(){if(this._clientStateFieldID){var input=document.getElementById(this._clientStateFieldID);if(input){return input.value;}}
return null;},set_ClientState:function(value){if(this._clientStateFieldID){var input=document.getElementById(this._clientStateFieldID);if(input){input.value=value;}}},registerPartialUpdateEvents:function(){if(Sys&&Sys.WebForms&&Sys.WebForms.PageRequestManager){this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager){this._partialUpdateBeginRequestHandler=Function.createDelegate(this,this._partialUpdateBeginRequest);this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateEndRequestHandler=Function.createDelegate(this,this._partialUpdateEndRequest);this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);}}},_partialUpdateBeginRequest:function(sender,beginRequestEventArgs){},_partialUpdateEndRequest:function(sender,endRequestEventArgs){}}
AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.BehaviorBase',Sys.UI.Behavior);AjaxControlToolkit.DynamicPopulateBehaviorBase=function(element){AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this,[element]);this._DynamicControlID=null;this._DynamicContextKey=null;this._DynamicServicePath=null;this._DynamicServiceMethod=null;this._cacheDynamicResults=false;this._dynamicPopulateBehavior=null;this._populatingHandler=null;this._populatedHandler=null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype={initialize:function(){AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this,'initialize');this._populatingHandler=Function.createDelegate(this,this._onPopulating);this._populatedHandler=Function.createDelegate(this,this._onPopulated);},dispose:function(){if(this._populatedHandler){if(this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.remove_populated(this._populatedHandler);}
this._populatedHandler=null;}
if(this._populatingHandler){if(this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);}
this._populatingHandler=null;}
if(this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior=null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this,'dispose');},populate:function(contextKeyOverride){if(this._dynamicPopulateBehavior&&(this._dynamicPopulateBehavior.get_element()!=$get(this._DynamicControlID))){this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior=null;}
if(!this._dynamicPopulateBehavior&&this._DynamicControlID&&this._DynamicServiceMethod){this._dynamicPopulateBehavior=$create(AjaxControlToolkit.DynamicPopulateBehavior,{"id":this.get_id()+"_DynamicPopulateBehavior","ContextKey":this._DynamicContextKey,"ServicePath":this._DynamicServicePath,"ServiceMethod":this._DynamicServiceMethod,"cacheDynamicResults":this._cacheDynamicResults},null,null,$get(this._DynamicControlID));this._dynamicPopulateBehavior.add_populating(this._populatingHandler);this._dynamicPopulateBehavior.add_populated(this._populatedHandler);}
if(this._dynamicPopulateBehavior){this._dynamicPopulateBehavior.populate(contextKeyOverride?contextKeyOverride:this._DynamicContextKey);}},_onPopulating:function(sender,eventArgs){this.raisePopulating(eventArgs);},_onPopulated:function(sender,eventArgs){this.raisePopulated(eventArgs);},get_dynamicControlID:function(){return this._DynamicControlID;},get_DynamicControlID:this.get_dynamicControlID,set_dynamicControlID:function(value){if(this._DynamicControlID!=value){this._DynamicControlID=value;this.raisePropertyChanged('dynamicControlID');this.raisePropertyChanged('DynamicControlID');}},set_DynamicControlID:this.set_dynamicControlID,get_dynamicContextKey:function(){return this._DynamicContextKey;},get_DynamicContextKey:this.get_dynamicContextKey,set_dynamicContextKey:function(value){if(this._DynamicContextKey!=value){this._DynamicContextKey=value;this.raisePropertyChanged('dynamicContextKey');this.raisePropertyChanged('DynamicContextKey');}},set_DynamicContextKey:this.set_dynamicContextKey,get_dynamicServicePath:function(){return this._DynamicServicePath;},get_DynamicServicePath:this.get_dynamicServicePath,set_dynamicServicePath:function(value){if(this._DynamicServicePath!=value){this._DynamicServicePath=value;this.raisePropertyChanged('dynamicServicePath');this.raisePropertyChanged('DynamicServicePath');}},set_DynamicServicePath:this.set_dynamicServicePath,get_dynamicServiceMethod:function(){return this._DynamicServiceMethod;},get_DynamicServiceMethod:this.get_dynamicServiceMethod,set_dynamicServiceMethod:function(value){if(this._DynamicServiceMethod!=value){this._DynamicServiceMethod=value;this.raisePropertyChanged('dynamicServiceMethod');this.raisePropertyChanged('DynamicServiceMethod');}},set_DynamicServiceMethod:this.set_dynamicServiceMethod,get_cacheDynamicResults:function(){return this._cacheDynamicResults;},set_cacheDynamicResults:function(value){if(this._cacheDynamicResults!=value){this._cacheDynamicResults=value;this.raisePropertyChanged('cacheDynamicResults');}},add_populated:function(handler){this.get_events().addHandler("populated",handler);},remove_populated:function(handler){this.get_events().removeHandler("populated",handler);},raisePopulated:function(arg){var handler=this.get_events().getHandler("populated");if(handler)handler(this,arg);},add_populating:function(handler){this.get_events().addHandler('populating',handler);},remove_populating:function(handler){this.get_events().removeHandler('populating',handler);},raisePopulating:function(eventArgs){var handler=this.get_events().getHandler('populating');if(handler){handler(this,eventArgs);}}}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase',AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.ControlBase=function(element){AjaxControlToolkit.ControlBase.initializeBase(this,[element]);this._clientStateField=null;this._callbackTarget=null;this._onsubmit$delegate=Function.createDelegate(this,this._onsubmit);this._oncomplete$delegate=Function.createDelegate(this,this._oncomplete);this._onerror$delegate=Function.createDelegate(this,this._onerror);}
AjaxControlToolkit.ControlBase.prototype={initialize:function(){AjaxControlToolkit.ControlBase.callBaseMethod(this,"initialize");if(this._clientStateField){this.loadClientState(this._clientStateField.value);}
if(typeof(Sys.WebForms)!=="undefined"&&typeof(Sys.WebForms.PageRequestManager)!=="undefined"){Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements,this._onsubmit$delegate);}else{$addHandler(document.forms[0],"submit",this._onsubmit$delegate);}},dispose:function(){if(typeof(Sys.WebForms)!=="undefined"&&typeof(Sys.WebForms.PageRequestManager)!=="undefined"){Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements,this._onsubmit$delegate);}else{$removeHandler(document.forms[0],"submit",this._onsubmit$delegate);}
AjaxControlToolkit.ControlBase.callBaseMethod(this,"dispose");},findElement:function(id){return $get(this.get_id()+'_'+id.split(':').join('_'));},get_clientStateField:function(){return this._clientStateField;},set_clientStateField:function(value){if(this.get_isInitialized())throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField);if(this._clientStateField!=value){this._clientStateField=value;this.raisePropertyChanged('clientStateField');}},loadClientState:function(value){},saveClientState:function(){return null;},_invoke:function(name,args,cb){if(!this._callbackTarget){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);}
if(typeof(WebForm_DoCallback)==="undefined"){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);}
var ar=[];for(var i=0;i<args.length;i++)
ar[i]=args[i];var clientState=this.saveClientState();if(clientState!=null&&!String.isInstanceOfType(clientState)){throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);}
var payload=Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state:this.saveClientState()});WebForm_DoCallback(this._callbackTarget,payload,this._oncomplete$delegate,cb,this._onerror$delegate,true);},_oncomplete:function(result,context){result=Sys.Serialization.JavaScriptSerializer.deserialize(result);if(result.error){throw Error.create(result.error);}
this.loadClientState(result.state);context(result.result);},_onerror:function(message,context){throw Error.create(message);},_onsubmit:function(){if(this._clientStateField){this._clientStateField.value=this.saveClientState();}
return true;}}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase",Sys.UI.Control);Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.Resources={"PasswordStrength_InvalidWeightingRatios":"Strength Weighting ratios must have 4 elements","Animation_ChildrenNotAllowed":"AjaxControlToolkit.Animation.createAnimation cannot add child animations to type \"{0}\" that does not derive from AjaxControlToolkit.Animation.ParentAnimation","PasswordStrength_RemainingSymbols":"{0} symbol characters","ExtenderBase_CannotSetClientStateField":"clientStateField can only be set before initialization","RTE_PreviewHTML":"Preview HTML","RTE_JustifyCenter":"Justify Center","PasswordStrength_RemainingUpperCase":"{0} more upper case characters","Animation_TargetNotFound":"AjaxControlToolkit.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"","RTE_FontColor":"Font Color","RTE_LabelColor":"Label Color","Common_InvalidBorderWidthUnit":"A unit type of \"{0}\"\u0027 is invalid for parseBorderWidth","RTE_Heading":"Heading","Tabs_PropertySetBeforeInitialization":"{0} cannot be changed before initialization","RTE_OrderedList":"Ordered List","ReorderList_DropWatcherBehavior_NoChild":"Could not find child of list with id \"{0}\"","CascadingDropDown_MethodTimeout":"[Method timeout]","RTE_Columns":"Columns","RTE_InsertImage":"Insert Image","RTE_InsertTable":"Insert Table","RTE_Values":"Values","RTE_OK":"OK","ExtenderBase_PageNotRegisteredForCallbacks":"This Page has not been registered for callbacks","Animation_NoDynamicPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\" or \"{1}\"","Animation_InvalidBaseType":"AjaxControlToolkit.Animation.registerAnimation can only register types that inherit from AjaxControlToolkit.Animation.Animation","RTE_UnorderedList":"Unordered List","ResizableControlBehavior_InvalidHandler":"{0} handler not a function, function name, or function text","Animation_InvalidColor":"Color must be a 7-character hex representation (e.g. #246ACF), not \"{0}\"","RTE_CellColor":"Cell Color","PasswordStrength_RemainingMixedCase":"Mixed case characters","RTE_Italic":"Italic","CascadingDropDown_NoParentElement":"Failed to find parent element \"{0}\"","ValidatorCallout_DefaultErrorMessage":"This control is invalid","RTE_Indent":"Indent","ReorderList_DropWatcherBehavior_CallbackError":"Reorder failed, see details below.\\r\\n\\r\\n{0}","PopupControl_NoDefaultProperty":"No default property supported for control \"{0}\" of type \"{1}\"","RTE_Normal":"Normal","PopupExtender_NoParentElement":"Couldn\u0027t find parent element \"{0}\"","RTE_ViewValues":"View Values","RTE_Legend":"Legend","RTE_Labels":"Labels","RTE_CellSpacing":"Cell Spacing","PasswordStrength_RemainingNumbers":"{0} more numbers","RTE_Border":"Border","RTE_Create":"Create","RTE_BackgroundColor":"Background Color","RTE_Cancel":"Cancel","RTE_JustifyFull":"Justify Full","RTE_JustifyLeft":"Justify Left","RTE_Cut":"Cut","ResizableControlBehavior_CannotChangeProperty":"Changes to {0} not supported","RTE_ViewSource":"View Source","Common_InvalidPaddingUnit":"A unit type of \"{0}\" is invalid for parsePadding","RTE_Paste":"Paste","ExtenderBase_ControlNotRegisteredForCallbacks":"This Control has not been registered for callbacks","Calendar_Today":"Today: {0}","Common_DateTime_InvalidFormat":"Invalid format","ListSearch_DefaultPrompt":"Type to search","CollapsiblePanel_NoControlID":"Failed to find element \"{0}\"","RTE_ViewEditor":"View Editor","RTE_BarColor":"Bar Color","PasswordStrength_DefaultStrengthDescriptions":"NonExistent;Very Weak;Weak;Poor;Almost OK;Barely Acceptable;Average;Good;Strong;Excellent;Unbreakable!","RTE_Inserttexthere":"Insert text here","Animation_UknownAnimationName":"AjaxControlToolkit.Animation.createAnimation could not find an Animation corresponding to the name \"{0}\"","ExtenderBase_InvalidClientStateType":"saveClientState must return a value of type String","Rating_CallbackError":"An unhandled exception has occurred:\\r\\n{0}","Tabs_OwnerExpected":"owner must be set before initialize","DynamicPopulate_WebServiceTimeout":"Web service call timed out","PasswordStrength_RemainingLowerCase":"{0} more lower case characters","Animation_MissingAnimationName":"AjaxControlToolkit.Animation.createAnimation requires an object with an AnimationName property","RTE_JustifyRight":"Justify Right","Tabs_ActiveTabArgumentOutOfRange":"Argument is not a member of the tabs collection","RTE_CellPadding":"Cell Padding","RTE_ClearFormatting":"Clear Formatting","AlwaysVisible_ElementRequired":"AjaxControlToolkit.AlwaysVisibleControlBehavior must have an element","Slider_NoSizeProvided":"Please set valid values for the height and width attributes in the slider\u0027s CSS classes","DynamicPopulate_WebServiceError":"Web Service call failed: {0}","PasswordStrength_StrengthPrompt":"Strength: ","PasswordStrength_RemainingCharacters":"{0} more characters","PasswordStrength_Satisfied":"Nothing more required","RTE_Hyperlink":"Hyperlink","Animation_NoPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\"","PasswordStrength_InvalidStrengthDescriptionStyles":"Text Strength description style classes must match the number of text descriptions.","PasswordStrength_GetHelpRequirements":"Get help on password requirements","PasswordStrength_InvalidStrengthDescriptions":"Invalid number of text strength descriptions specified","RTE_Underline":"Underline","Tabs_PropertySetAfterInitialization":"{0} cannot be changed after initialization","RTE_Rows":"Rows","RTE_Redo":"Redo","RTE_Size":"Size","RTE_Undo":"Undo","RTE_Bold":"Bold","RTE_Copy":"Copy","RTE_Font":"Font","CascadingDropDown_MethodError":"[Method error {0}]","RTE_BorderColor":"Border Color","RTE_Paragraph":"Paragraph","RTE_InsertHorizontalRule":"Insert Horizontal Rule","Common_UnitHasNoDigits":"No digits","RTE_Outdent":"Outdent","Common_DateTime_InvalidTimeSpan":"\"{0}\" is not a valid TimeSpan format","Animation_CannotNestSequence":"AjaxControlToolkit.Animation.SequenceAnimation cannot be nested inside AjaxControlToolkit.Animation.ParallelAnimation","Shared_BrowserSecurityPreventsPaste":"Your browser security settings don\u0027t permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead."};if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
//scriptresource4.js
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.RatingBehavior=function(element){AjaxControlToolkit.RatingBehavior.initializeBase(this,[element]);this._starCssClass=null;this._filledStarCssClass=null;this._emptyStarCssClass=null;this._waitingStarCssClass=null;this._readOnly=false;this._ratingValue=0;this._currentRating=0;this._maxRatingValue=5;this._tag="";this._ratingDirection=0;this._stars=null;this._callbackID=null;this._mouseOutHandler=Function.createDelegate(this,this._onMouseOut);this._starClickHandler=Function.createDelegate(this,this._onStarClick);this._starMouseOverHandler=Function.createDelegate(this,this._onStarMouseOver);this._keyDownHandler=Function.createDelegate(this,this._onKeyDownBack);this._autoPostBack=false;}
AjaxControlToolkit.RatingBehavior.prototype={initialize:function(){AjaxControlToolkit.RatingBehavior.callBaseMethod(this,'initialize');var elt=this.get_element();this._stars=[];for(var i=1;i<=this._maxRatingValue;i++){starElement=$get(elt.id+'_Star_'+i);starElement.value=i;Array.add(this._stars,starElement);$addHandler(starElement,'click',this._starClickHandler);$addHandler(starElement,'mouseover',this._starMouseOverHandler);}
$addHandler(elt,'mouseout',this._mouseOutHandler);$addHandler(elt,"keydown",this._keyDownHandler);this._update();},dispose:function(){var elt=this.get_element();if(this._stars){for(var i=0;i<this._stars.length;i++){var starElement=this._stars[i];$removeHandler(starElement,'click',this._starClickHandler);$removeHandler(starElement,'mouseover',this._starMouseOverHandler);}
this._stars=null;}
$removeHandler(elt,'mouseout',this._mouseOutHandler);$removeHandler(elt,"keydown",this._keyDownHandler);AjaxControlToolkit.RatingBehavior.callBaseMethod(this,'dispose');},_onError:function(message,context){alert(String.format(AjaxControlToolkit.Resources.Rating_CallbackError,message));},_receiveServerData:function(arg,context){context._waitingMode(false);context.raiseEndClientCallback(arg);},_onMouseOut:function(e){if(this._readOnly){return;}
this._currentRating=this._ratingValue;this._update();this.raiseMouseOut(this._currentRating);},_onStarClick:function(e){if(this._readOnly){return;}
if(this._ratingValue!=this._currentRating){this.set_Rating(this._currentRating);}},_onStarMouseOver:function(e){if(this._readOnly){return;}
if(this._ratingDirection==0){this._currentRating=e.target.value;}else{this._currentRating=this._maxRatingValue+1-e.target.value;}
this._update();this.raiseMouseOver(this._currentRating);},_onKeyDownBack:function(ev){if(this._readOnly){return;}
var k=ev.keyCode?ev.keyCode:ev.rawEvent.keyCode;if((k==Sys.UI.Key.right)||(k==Sys.UI.Key.up)){this._currentRating=Math.min(this._currentRating+1,this._maxRatingValue);this.set_Rating(this._currentRating);ev.preventDefault();ev.stopPropagation();}else if((k==Sys.UI.Key.left)||(k==Sys.UI.Key.down)){this._currentRating=Math.max(this._currentRating-1,1);this.set_Rating(this._currentRating);ev.preventDefault();ev.stopPropagation();}},_waitingMode:function(activated){for(var i=0;i<this._maxRatingValue;i++){var starElement;if(this._ratingDirection==0){starElement=this._stars[i];}else{starElement=this._stars[this._maxRatingValue-i-1];}
if(this._currentRating>i){if(activated)
{Sys.UI.DomElement.removeCssClass(starElement,this._filledStarCssClass);Sys.UI.DomElement.addCssClass(starElement,this._waitingStarCssClass);}else{Sys.UI.DomElement.removeCssClass(starElement,this._waitingStarCssClass);Sys.UI.DomElement.addCssClass(starElement,this._filledStarCssClass);}}else{Sys.UI.DomElement.removeCssClass(starElement,this._waitingStarCssClass);Sys.UI.DomElement.removeCssClass(starElement,this._filledStarCssClass);Sys.UI.DomElement.addCssClass(starElement,this._emptyStarCssClass);}}},_update:function(){var elt=this.get_element();$get(elt.id+"_A").title=this._currentRating;for(var i=0;i<this._maxRatingValue;i++){var starElement;if(this._ratingDirection==0){starElement=this._stars[i];}else{starElement=this._stars[this._maxRatingValue-i-1];}
if(this._currentRating>i){Sys.UI.DomElement.removeCssClass(starElement,this._emptyStarCssClass);Sys.UI.DomElement.addCssClass(starElement,this._filledStarCssClass);}
else{Sys.UI.DomElement.removeCssClass(starElement,this._filledStarCssClass);Sys.UI.DomElement.addCssClass(starElement,this._emptyStarCssClass);}}},add_Rated:function(handler){this.get_events().addHandler("Rated",handler);},remove_Rated:function(handler){this.get_events().removeHandler("Rated",handler);},raiseRated:function(rating){var handler=this.get_events().getHandler("Rated");if(handler){handler(this,new AjaxControlToolkit.RatingEventArgs(rating));}},add_MouseOver:function(handler){this.get_events().addHandler("MouseOver",handler);},remove_MouseOver:function(handler){this.get_events().removeHandler("MouseOver",handler);},raiseMouseOver:function(rating_tmp){var handler=this.get_events().getHandler("MouseOver");if(handler){handler(this,new AjaxControlToolkit.RatingEventArgs(rating_tmp));}},add_MouseOut:function(handler){this.get_events().addHandler("MouseOut",handler);},remove_MouseOut:function(handler){this.get_events().removeHandler("MouseOut",handler);},raiseMouseOut:function(rating_old){var handler=this.get_events().getHandler("MouseOut");if(handler){handler(this,new AjaxControlToolkit.RatingEventArgs(rating_old));}},add_EndClientCallback:function(handler){this.get_events().addHandler("EndClientCallback",handler);},remove_EndClientCallback:function(handler){this.get_events().removeHandler("EndClientCallback",handler);},raiseEndClientCallback:function(result){var handler=this.get_events().getHandler("EndClientCallback");if(handler){handler(this,new AjaxControlToolkit.RatingCallbackResultEventArgs(result));}},get_AutoPostBack:function(){return this._autoPostBack;},set_AutoPostBack:function(value){this._autoPostBack=value;},get_Stars:function(){return this._stars;},get_Tag:function(){return this._tag;},set_Tag:function(value){if(this._tag!=value){this._tag=value;this.raisePropertyChanged('Tag');}},get_CallbackID:function(){return this._callbackID;},set_CallbackID:function(value){this._callbackID=value;},get_RatingDirection:function(){return this._ratingDirection;},set_RatingDirection:function(value){if(this._ratingDirection!=value){this._ratingDirection=value;if(this.get_isInitialized()){this._update();}
this.raisePropertyChanged('RatingDirection');}},get_EmptyStarCssClass:function(){return this._emptyStarCssClass;},set_EmptyStarCssClass:function(value){if(this._emptyStarCssClass!=value){this._emptyStarCssClass=value;this.raisePropertyChanged('EmptyStarCssClass');}},get_FilledStarCssClass:function(){return this._filledStarCssClass;},set_FilledStarCssClass:function(value){if(this._filledStarCssClass!=value){this._filledStarCssClass=value;this.raisePropertyChanged('FilledStarCssClass');}},get_WaitingStarCssClass:function(){return this._waitingStarCssClass;},set_WaitingStarCssClass:function(value){if(this._waitingStarCssClass!=value){this._waitingStarCssClass=value;this.raisePropertyChanged('WaitingStarCssClass');}},get_Rating:function(){this._ratingValue=AjaxControlToolkit.RatingBehavior.callBaseMethod(this,'get_ClientState');if(this._ratingValue=='')
this._ratingValue=null;return this._ratingValue;},set_Rating:function(value){if(this._ratingValue!=value){this._ratingValue=value;this._currentRating=value;if(this.get_isInitialized()){if((value<0)||(value>this._maxRatingValue)){return;}
this._update();AjaxControlToolkit.RatingBehavior.callBaseMethod(this,'set_ClientState',[this._ratingValue]);this.raisePropertyChanged('Rating');this.raiseRated(this._currentRating);this._waitingMode(true);var args=this._currentRating+";"+this._tag;var id=this._callbackID;if(this._autoPostBack){__doPostBack(id,args);}
else{WebForm_DoCallback(id,args,this._receiveServerData,this,this._onError,true)}}}},get_MaxRating:function(){return this._maxRatingValue;},set_MaxRating:function(value){if(this._maxRatingValue!=value){this._maxRatingValue=value;this.raisePropertyChanged('MaxRating');}},get_ReadOnly:function(){return this._readOnly;},set_ReadOnly:function(value){if(this._readOnly!=value){this._readOnly=value;this.raisePropertyChanged('ReadOnly');}},get_StarCssClass:function(){return this._starCssClass;},set_StarCssClass:function(value){if(this._starCssClass!=value){this._starCssClass=value;this.raisePropertyChanged('StarCssClass');}}}
AjaxControlToolkit.RatingBehavior.registerClass('AjaxControlToolkit.RatingBehavior',AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.RatingEventArgs=function(rating){AjaxControlToolkit.RatingEventArgs.initializeBase(this);this._rating=rating;}
AjaxControlToolkit.RatingEventArgs.prototype={get_Rating:function(){return this._rating;}}
AjaxControlToolkit.RatingEventArgs.registerClass('AjaxControlToolkit.RatingEventArgs',Sys.EventArgs);AjaxControlToolkit.RatingCallbackResultEventArgs=function(result){AjaxControlToolkit.RatingCallbackResultEventArgs.initializeBase(this);this._result=result;}
AjaxControlToolkit.RatingCallbackResultEventArgs.prototype={get_CallbackResult:function(){return this._result;}}
AjaxControlToolkit.RatingCallbackResultEventArgs.registerClass('AjaxControlToolkit.RatingCallbackResultEventArgs',Sys.EventArgs);if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();

//dnn.controls.dnnlabeledit.js
if(typeof(dnn_control)=='undefined')
eval('function dnn_control() {}')
dnn_control.prototype.initLabelEdit=function(oCtl)
{dnn.controls.controls[oCtl.id]=new dnn.controls.DNNLabelEdit(oCtl);return dnn.controls.controls[oCtl.id];}
dnn_control.prototype.DNNLabelEdit=function(o)
{this.ns=o.id;this.control=o;this.editWrapper=null;this.editContainer=null;this.editControl=null;this.prevText='';this.onblurSave=(dnn.dom.getAttr(o,'blursave','1')=='1');this.toolbarId=dnn.dom.getAttr(o,'tbId','');this.nsPrefix=dnn.dom.getAttr(o,'nsPrefix','');this.toolbarEventName=dnn.dom.getAttr(o,'tbEvent','onmousemove');this.toolbar=null;this.css=o.className;this.cssEdit=dnn.dom.getAttr(o,'cssEdit','');this.cssWork=dnn.dom.getAttr(o,'cssWork','');this.cssOver=dnn.dom.getAttr(o,'cssOver','');this.sysImgPath=dnn.dom.getAttr(o,'sysimgpath','');this.callBack=dnn.dom.getAttr(o,'callback','');this.callBackStatFunc=dnn.dom.getAttr(o,'callbackSF','');this.beforeSaveFunc=dnn.dom.getAttr(o,'beforeSaveF','');this.eventName=dnn.dom.getAttr(o,'eventName','onclick');this.editEnabled=dnn.dom.getAttr(o,'editEnabled','1')=='1';this.multiLineEnabled=dnn.dom.getAttr(o,'multiline','0')=='1';this.richTextEnabled=dnn.dom.getAttr(o,'richtext','0')=='1';this.supportsCE=(document.body.contentEditable!=null);if(dnn.dom.browser.isType(dnn.dom.browser.Safari)||dnn.dom.browser.isType(dnn.dom.browser.Opera))
this.supportsCE=false;this.supportsRichText=(this.supportsCE||(dnn.dom.browser.isType(dnn.dom.browser.Mozilla)&&navigator.productSub>='20050111'));if(this.eventName!='none')
dnn.dom.addSafeHandler(o,this.eventName,this,'performEdit');if(this.toolbarId.length>0)
dnn.dom.addSafeHandler(o,this.toolbarEventName,this,'showToolBar');dnn.dom.addSafeHandler(o,'onmousemove',this,'mouseMove');dnn.dom.addSafeHandler(o,'onmouseout',this,'mouseOut');}
dnn_control.prototype.DNNLabelEdit.prototype={isEditMode:function()
{return(this.control.style.display!='')},initToolbar:function()
{if(this.toolbar==null)
{var sStatus=dnn.dom.scriptStatus('dnn.controls.dnntoolbar.js');if(sStatus=='complete')
{this.toolbar=new dnn.controls.DNNToolBar(this.ns);this.toolbar.loadDefinition(this.toolbarId,this.nsPrefix,this.control,this.control.parentNode,this.control,dnn.createDelegate(this,this.toolbarAction));this.handleToolbarDisplay();}
else if(sStatus=='')
dnn.dom.loadScript(dnn.dom.getScriptPath()+'dnn.controls.dnntoolbar.js','',dnn.createDelegate(this,this.initToolbar));}},toolbarAction:function(btn,src)
{var sCA=btn.clickAction;if(sCA=='edit')
this.performEdit();else if(sCA=='save')
{this.persistEdit();this.toolbar.hide();}
else if(sCA=='cancel')
{this.cancelEdit();this.toolbar.hide();}
else if(this.isFormatButton(sCA))
{if(this.editWrapper)
{var s;if(sCA=='createlink'&&dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer)==false)
s=prompt(btn.tooltip);this.editWrapper.focus();this.editWrapper.execCommand(sCA,null,s);}}},performEdit:function()
{if(this.toolbar)
this.toolbar.hide();this.initEditWrapper();if(this.editContainer!=null)
{this.editContainer.style.height=dnn.dom.positioning.elementHeight(this.control)+4;this.editContainer.style.width=dnn.dom.positioning.elementWidth(this.control.parentNode)
this.editContainer.style.display='';this.editContainer.style.overflow='auto';this.editContainer.style.overflowX='hidden';this.prevText=this.control.innerHTML;if(dnn.dom.browser.isType(dnn.dom.browser.Safari)&&this.control.innerText)
this.prevText=this.control.innerText;this.editWrapper.setText(this.prevText);this.initEditControl();this.control.style.display='none';this.handleToolbarDisplay();}},showToolBar:function()
{this.initToolbar();if(this.toolbar)
this.toolbar.show(true);},mouseMove:function()
{if(this.toolbarId.length>0&&this.toolbarEventName=='onmousemove')
this.showToolBar();this.control.className=this.css+' '+this.cssOver;},mouseOut:function()
{if(this.toolbar)
this.toolbar.beginHide();this.control.className=this.css;},initEditWrapper:function()
{if(this.editWrapper==null)
{var bRichText=(this.richTextEnabled&&this.supportsRichText);var sScript=(bRichText?'dnn.controls.dnnrichtext.js':'dnn.controls.dnninputtext.js');var sStatus=dnn.dom.scriptStatus(sScript);if(sStatus=='complete')
{var oTxt;if(this.richTextEnabled&&this.supportsRichText)
{var func=dnn.dom.getObjMethRef(this,'initEditControl');oTxt=new dnn.controls.DNNRichText(func);}
else
oTxt=new dnn.controls.DNNInputText(this.multiLineEnabled);this.editWrapper=oTxt;this.editContainer=this.editWrapper.container;this.control.parentNode.insertBefore(this.editContainer,this.control);if(this.richTextEnabled&&this.supportsCE)
this.initEditControl();}
else if(sStatus=='')
dnn.dom.loadScript(dnn.dom.getScriptPath()+sScript,'',dnn.createDelegate(this,this.performEdit));}},initEditControl:function()
{if(this.editWrapper.initialized)
{this.editControl=this.editWrapper.control;this.editControl.className=this.control.className+' '+this.cssEdit;this.editWrapper.focus();if(this.editWrapper.loaded==false)
{if(this.editWrapper.supportsCE||this.editWrapper.isRichText==false)
{if(this.onblurSave)
dnn.dom.addSafeHandler(this.editContainer,'onblur',this,'persistEdit');dnn.dom.addSafeHandler(this.editControl,'onkeypress',this,'handleKeyPress');dnn.dom.addSafeHandler(this.editControl,'onmousemove',this,'mouseMove');dnn.dom.addSafeHandler(this.editControl,'onmouseout',this,'mouseOut');}
else
{if(this.onblurSave)
dnn.dom.attachEvent(this.editContainer.contentWindow.document,'onblur',dnn.dom.getObjMethRef(this,'persistEdit'));dnn.dom.attachEvent(this.editContainer.contentWindow.document,'onkeypress',dnn.dom.getObjMethRef(this,'handleKeyPress'));dnn.dom.attachEvent(this.editContainer.contentWindow.document,'onmousemove',dnn.dom.getObjMethRef(this,'mouseMove'));dnn.dom.attachEvent(this.editContainer.contentWindow.document,'onmouseout',dnn.dom.getObjMethRef(this,'mouseOut'));}
this.editWrapper.loaded=true;}}},persistEdit:function()
{if(this.editWrapper.getText()!=this.prevText)
{if(this.raiseEvent('beforeSaveFunc',null,this))
{this.editControl.className=this.control.className+' '+this.cssWork;eval(this.callBack.replace('[TEXT]',dnn.escapeForEval(this.editWrapper.getText())));}}
else
this.showLabel();},raiseEvent:function(sFunc,evt,element)
{if(this[sFunc].length>0)
{var oPtr=eval(this[sFunc]);return oPtr(evt,element)!=false;}
return true;},cancelEdit:function()
{this.editWrapper.setText(this.prevText);this.showLabel();},callBackStatus:function(result,ctx)
{var oLbl=ctx;if(oLbl.callBackStatFunc!=null&&oLbl.callBackStatFunc.length>0)
{var oPointerFunc=eval(oLbl.callBackStatFunc);oPointerFunc(result,ctx);}},callBackSuccess:function(result,ctx)
{ctx.callBackStatus(result,ctx);ctx.showLabel();},handleToolbarDisplay:function()
{if(this.toolbar)
{var bInEdit=this.isEditMode();var oBtn;for(var sKey in this.toolbar.buttons)
{oBtn=this.toolbar.buttons[sKey];if(typeof oBtn=='function')
continue;if(sKey=='edit')
oBtn.visible=!bInEdit;else if(this.isFormatButton(sKey))
oBtn.visible=(bInEdit&&this.editWrapper&&this.editWrapper.isRichText);else
oBtn.visible=bInEdit;}
this.toolbar.refresh();}},isFormatButton:function(sKey)
{return'~bold~italic~underline~justifyleft~justifycenter~justifyright~insertorderedlist~insertunorderedlist~outdent~indent~createlink~'.indexOf('~'+sKey+'~')>-1;},showLabel:function()
{this.control.innerHTML=this.editWrapper.getText();this.control.style.display='';this.control.className=this.css;this.editContainer.style.display='none';this.handleToolbarDisplay();},callBackFail:function(result,ctx)
{alert(result);ctx.cancelEdit();},handleKeyPress:function(e)
{if(e==null)
{if(dnn.dom.event!=null)
e=dnn.dom.event.object;else
e=this.editWrapper.container.contentWindow.event;}
if(e.keyCode==13&&this.editWrapper.supportsMultiLine==false)
{this.persistEdit();return false;}
else if(e.keyCode==27)
this.cancelEdit();}}
function __dl_getCSS()
{var arr=dnn.dom.getByTagName('link');var s='';for(var i=0;i<arr.length;i++)
{s+='<LINK href="'+arr[i].href+'" type=text/css rel=stylesheet>';}
return s;}
if(typeof(dnn_controls)!='undefined')
{dnn.extend(dnn_controls.prototype,dnn_control.prototype);dnn.controls=new dnn_controls();}

//dnn.controls.dnntoolbar.js
dnn_control.prototype.DNNToolBar=function(ns)
{this.ns=ns;this.css=null;this.cssButton=null;this.cssButtonHover=null;this.moutDelay=null;this.buttons=[];this.relatedCtl=null;this.ctr=document.createElement('span');this.ctr.style.position='relative';this.ctl=document.createElement('span');this.ctr.appendChild(this.ctl);this.ctl.style.display='none';this.moutDelay=1000;}
dnn_control.prototype.DNNToolBar.prototype={loadDefinition:function(sToolBarId,sNsPrefix,oRelatedCtl,oParent,oInsertBefore,fActionHandler)
{var oDef=dnn.controls.toolbars[sNsPrefix+':'+sToolBarId];if(oDef==null)
oDef=dnn.controls.toolbars[sToolBarId];if(oDef)
{this.relatedCtl=oRelatedCtl;this.css=oDef.css;this.cssButton=oDef.cssb;this.cssButtonHover=oDef.cssbh;for(var i=0;i<oDef.btns.length;i++)
{var oBtn=oDef.btns[i];this.addButton(oBtn.key,oBtn.ca,oBtn.css,oBtn.cssh,oBtn.img,oBtn.txt,oBtn.alt,oBtn.js,oBtn.url,fActionHandler,true);}
if(oDef.mod)
this.moutDelay=oDef.mod;if(oInsertBefore)
oParent.insertBefore(this.ctr,oInsertBefore);else
oParent.appendChild(this.ctr);}},addButton:function(sKey,sClickAct,sCss,sCssHover,sImg,sText,sToolTip,sJs,sUrl,fAction,bVisible)
{if(sKey==null)
sKey=this.buttons.length;if(this.cssButton)
sCss=this.cssButton+' '+sCss;if(this.cssButtonHover)
sCssHover=this.cssButtonHover+' '+sCssHover;this.buttons[sKey]=new dnn.controls.DNNToolBarButton(sKey,sClickAct,sCss,sCssHover,sImg,sText,sToolTip,sJs,sUrl,fAction,bVisible,this);},refresh:function()
{this.ctl.className=this.css;for(var sKey in this.buttons)
{var oBtn=this.buttons[sKey];if(typeof oBtn=='function')
continue;if(oBtn.ctl==null)
{oBtn.render();this.ctl.appendChild(oBtn.ctl);}
oBtn.ctl.style.display=(oBtn.visible?'':'none');}},show:function(bBeginHide)
{dnn.cancelDelay(this.ns+'mout');if(this.ctl.style.display!='')
{this.refresh();this.ctl.style.display='';}
if(bBeginHide)
this.beginHide();},beginHide:function()
{if(this.moutDelay>0)
dnn.doDelay(this.ns+'mout',this.moutDelay,dnn.createDelegate(this,this.hide));},hide:function()
{this.ctl.style.display='none';}}
dnn_control.prototype.DNNToolBarButton=function(sKey,sClickAct,sCss,sCssHover,sImg,sText,sToolTip,sJs,sUrl,fAction,bVisible,oToolbar)
{this.ctl=null;this.key=sKey;this.clickAction=sClickAct;this.tb=oToolbar;this.css=sCss;this.cssHover=sCssHover;this.img=sImg;this.tooltip=sToolTip;this.txt=sText;this.js=sJs;this.url=sUrl;this.action=fAction;this.visible=bVisible;}
dnn_control.prototype.DNNToolBarButton.prototype={render:function()
{if(!this.ctl)
{this.ctl=document.createElement('span');this.ctl.className=this.css;if(this.tooltip)
this.ctl.title=this.tooltip;this.ctl.key=this.key;if(this.img)
{var oImg=document.createElement('img');oImg.src=this.img;this.ctl.appendChild(oImg);}
if(this.txt)
{var oSpan=document.createElement('span');oSpan.innerHTML=this.txt;this.ctl.appendChild(oSpan);}
dnn.dom.addSafeHandler(this.ctl,'onmouseover',this,'mouseOver');dnn.dom.addSafeHandler(this.ctl,'onmouseout',this,'mouseOut');if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
dnn.dom.addSafeHandler(this.ctl,'onmousedown',this,'click');else
dnn.dom.addSafeHandler(this.ctl,'onclick',this,'click');}},click:function()
{if(this.clickAction=='js')
eval(this.js);else if(this.clickAction=='navigate')
dnn.dom.navigate(this.url);else
this.action(this,this.tb.relatedCtl);},mouseOver:function()
{this.tb.show(false);if(this.cssHover)
this.ctl.className=this.css+' '+this.cssHover;},mouseOut:function()
{this.tb.beginHide();if(this.cssHover)
this.ctl.className=this.css;},getVal:function(sVal,sDef)
{return(sVal?sVal:sDef);}}
dnn.extend(dnn_controls.prototype,dnn_control.prototype);
//dnn.controls.dnninputtext.js
//DNNInputText is a dynamically loaded script used by the DNNLabelEdit control
dnn_control.prototype.DNNInputText = function (bMultiLine)
{
	if (bMultiLine)
		this.control = document.createElement('textarea');	
	else
	{
		this.control = document.createElement('input');
		this.control.type = 'text';
	}
	this.container = this.control;
	this.initialized = true;
	this.supportsMultiLine = bMultiLine;
	this.isRichText = false;
	this.loaded = false;
}

dnn_control.prototype.DNNInputText.prototype = 
{
focus: function ()
{
	this.control.focus();
	var iChars = this.getText().length;
	if (this.control.createTextRange)
	{
		var oRange = this.control.createTextRange();
		oRange.moveStart('character', iChars);
		oRange.moveEnd('character', iChars);
		oRange.collapse();
		oRange.select();
	}
	else
	{
		this.control.selectionStart = iChars;
		this.control.selectionEnd = iChars;
	}
	//this.control.select();
},

ltrim: function (s) 
{ 
	return s.replace(/^\s*/, "");
},

rtrim: function (s) 
{ 
	return s.replace(/\s*$/, "");
},

getText: function ()
{
	return this.control.value;
},

setText: function (s)
{
	this.control.value = this.rtrim(this.ltrim(s));
}
}
dnn.extend(dnn_controls.prototype, dnn_control.prototype);
//dnn.controls = new dnn_controls();

