var JsFramework={Net:{sendForm:function(C,F,G,A){var B=[];for(var D=0;D<G.elements.length;D++){switch(G.elements[D].type){case"checkbox":case"radio":if(G.elements[D].checked){B.push([G.elements[D].name,G.elements[D].value])}break;case"select":B.push([G.elements[D].name,G.elements[D].options[G.elements[D].selectedIndex].value]);break;default:B.push([G.elements[D].name,G.elements[D].value]);break}}if(typeof A=="function"){JsFramework.Ajax.sendCommand(C,F,B,A)}else{var E=JsFramework.Ajax.sendCommand(C,F,B,A);return E}}},Analytics:{trackClick:function(B,A){if(pageTracker){pageTracker._trackEvent("ClickEvents",B,sUrl,0)}}},Ajax:{doRequest:function(B,A){var C=new JsFramework.Ajax.AjaxConnector();if(A&&typeof A=="function"){C.loadUrl(B,null,A)}else{C.loadUrl(B,null);return C}},sendCommand:function(C,D,B,A){var E=new JsFramework.Ajax.AjaxConnector();if(A&&typeof A=="function"){E.loadUrl(C,B,A)}else{E.loadUrl(C,B);return E}},loadAjaxForm:function(B,C){var A=this.sendCommand(B,null,null).getHttpResponse();$(C).innerHTML=A;if(pageTracker){pageTracker._trackEvent("AjaxEvents","loadAjaxForm",B,0)}},XmlHttpRequest:function(){var A=null;if(window.XMLHttpRequest){A=new XMLHttpRequest()}else{if(window.ActiveXObject){try{A=new ActiveXObject("MsXml2.XmlHttp")}catch(B){try{A=ActiveXObject("Microsoft.XMLHTTP")}catch(B){window.error("Ajax is not enabled for this browser");if(pageTracker){pageTracker._trackEvent("Error","AjaxNotSupported",null,0)}}}}else{window.error("Ajax is not enabled for this browser.");if(pageTracker){pageTracker._trackEvent("Error","AjaxNotSupported",null,0)}}}return A},AjaxConnector:function(){this._responseText="";this.loadUrl=function(sUrlToCall,aParams,oAsyncFunctionPointer){var bAsync=(typeof oAsyncFunctionPointer=="function");var oXmlHttp=this.getHttpRequest();var sParams="";var oConnector=this;var sMethod="GET";try{if(aParams!==null&&aParams.constructor==Array){sMethod="POST";for(var i=0;i<aParams.length;i++){if(aParams[i][0]!==undefined){if(i>0){sParams+="&"}sParams+=(aParams[i][0]+"="+escape(aParams[i][1]))}}}else{sParams=aParams}oXmlHttp.open(sMethod,sUrlToCall,bAsync);oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");if(bAsync){oXmlHttp.onreadystatechange=function(){if(oXmlHttp.readyState==4){if(oXmlHttp.status==200||oXmlHttp.status==304){oConnector._responseText=oXmlHttp.responseText;oAsyncFunctionPointer(oConnector)}else{}}}}oXmlHttp.send(sParams);if(!bAsync){if(oXmlHttp.status==200||oXmlHttp.status==304){this._responseText=oXmlHttp.responseText}else{}}}catch(e){window.error("There was an error with the RPC. "+e.message);if(pageTracker){pageTracker._trackEvent("Error","AjaxConnector",e.message,0)}}};this.getHttpRequest=function(){return JsFramework.Ajax.XmlHttpRequest()};this.getHttpResponse=function(){return this._responseText};this.getResponse=function(){var oResponse={};try{oResponse=eval("("+this._responseText.replace(/[\t\n\r\f\v]+/g,"")+")")}catch(e){}return oResponse}}}};function defaultCallBackHandler(A){setAjaxReturnHtml("modal",A.getHttpResponse())}function setAjaxReturnHtml(div,content){document.getElementById(div).innerHTML=content;var search=content;var script;var is_singleq=0;var singleq="'";var is_doubleq=0;var doubleq='"';var is_escaped=0;var escap="\\";var layer=0;while(script=search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/)){search=search.substr(search.indexOf(RegExp.$1)+RegExp.$1.length);if(!(endscript=search.match(/((-->)?\s*<\/script>)/))){break}block=search.substr(0,search.indexOf(RegExp.$1));search=search.substring(block.length+RegExp.$1.length);while(func=block.match(/(function(.+?)\((.*?)\)\s*\{)/)){eval(block.substr(0,block.indexOf(RegExp.$1)));block=block.substr(block.indexOf(RegExp.$1)+RegExp.$1.length);name=RegExp.$2;param=RegExp.$3;is_singleq=0;is_doubleq=0;is_escaped=0;layer=0;for(i=0;i<block.length;i++){c=block.substr(i,1);if((is_singleq||is_doubleq)&&is_escaped){is_escaped=0}else{if(!is_doubleq&&(c==singleq)){is_singleq=!is_singleq}else{if(!is_singleq&&(c==doubleq)){is_doubleq=!is_doubleq}else{if((is_singleq||is_doubleq)&&(c==escap)){is_escaped=1}else{if(c=="{"){layer++}else{if(c=="}"){if(layer==0){break}layer--}}}}}}}code=block.substr(0,i-1);block=block.substr(i+1);code=code.replace(/\n/g,"\\n");code=code.replace(/\r/g,"\\r");code=code.replace(/'/g,"\\'");eval(name+" = new Function('"+param+"','"+code+"');")}eval(block)}}function doCustomAJAXRequest(B,A,E){try{if(E==null){E="defaultResponseHandler"}var D=JsFramework.Ajax.XmlHttpRequest();if(D==null){throw"Request was null after instantiating XMLHttpRequest()"}else{if(typeof B=="undefined"){throw"Url was undefined"}D.onreadystatechange=getReadyStateHandler(D,A,E);D.open("GET",B,true);D.send(null)}}catch(C){handleAJAXError(A,C)}}function defaultResponseHandler(B,A){$(A).innerHTML=B}function getReadyStateHandler(B,A,C){return function(){if(B.readyState==4){if(B.status==200){handleAJAXResponse(B.responseText,A,C)}else{handleAJAXError(A)}}}}function handleAJAXResponse(responseText,elementId,customHandleFunction){eval(customHandleFunction+"(responseText, elementId);")}function defaultAJAXResponse(B,A){document.getElementById(A).innerHTML=B}function handleAJAXError(A,B){handleError(B);document.getElementById(A).innerHTML='<span class="messageError">An AJAX error has occurred.  Please contact us.</span>'}var m_currentError=null;var m_currentStackTrace=null;window.onerror=windowOnError;function getStackTrace(C){try{if(!C){return""}var D="\t"+getFunctionName(C);var B="(";for(var A in C.arguments){if(B&&B.length&&B.length>1){B+=","}B+=C.arguments.toString()}D+=B+")\n";return D+getStackTrace(C.caller)}catch(E){return""}}function getFunctionName(B){try{var A=/\W*function\s+([\w\$]+)\(/.exec(B);if(!A){return"No name"}return A[1]}catch(C){return""}}function handleError(A){if(m_currentError!=null){throw A}m_currentError=A;m_currentStackTrace=getStackTrace(arguments.callee.caller);throw A}function windowOnError(E,D,A){try{var B="Javascript exception caught: "+E+"\n\nType: "+m_currentError.name+"\nLine Number: "+A+"\nMessage: "+m_currentError.message+"\n\nStack Trace:\n "+m_currentStackTrace;var C="/ClientLogging.aspx?msg="+encodeURI(B)+"&url="+encodeURI(D);JsFramework.Ajax.doRequest(C);m_currentError=null;m_currentStackTrace=null;if(pageTracker){pageTracker._trackEvent("Error","windowOnError",E,0)}return true}catch(F){}};