function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2)};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){}};this.reset=function(){this.resetFunctions();this.resetData()};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e2){this.xmlhttp=null}}if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest()}else{this.failed=true}}};this.setVar=function(name,value){this.vars[name]=Array(value,false)};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value))}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true)}};this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1])}else{this.setVar(urlVars[0],urlVars[1])}}};this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true)}if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring}else{this.URLString=urlstring}}this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0]}urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0]}if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator)}else{this.URLString+=urlstringtemp.join(this.argumentSeparator)}};this.runResponse=function(){eval(this.response)};this.runAJAX=function(urlstring){if(this.failed){this.onFail()}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element)}if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true)}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse()}if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response}else{self.elementObj.innerHTML=self.response}}if(self.responseStatus[0]=="200"){self.onCompletion()}else{self.onError()}self.URLString="";delete self.xmlhttp.onreadystatechange;self.xmlhttp=null;self.responseStatus=null;self.response=null;self.responseXML=null;break}};this.xmlhttp.send(this.URLString)}}var browserName=navigator.appName;if(browserName=="Microsoft Internet Explorer"){jQuery("#ja-topsl1").fadeIn(100)}else{jQuery("#ja-topsl1").slideDown(240)}};this.reset();this.createAJAX()}var enableCache=false;var jsCache=new Array();var dynamicContent_ajaxObjects=new Array();function ajax_showContent(g,h,f,j){var k=document.getElementById(g);k.innerHTML=dynamicContent_ajaxObjects[h].response;if(enableCache){jsCache[f]=dynamicContent_ajaxObjects[h].response}dynamicContent_ajaxObjects[h]=false;ajax_parseJs(k);if(j){executeCallback(j)}}function executeCallback(callbackString){if(callbackString.indexOf("(")==-1){callbackString=callbackString+"()"}try{eval(callbackString)}catch(e){}}function ajax_loadContent(k,p,o){if(enableCache&&jsCache[p]){document.getElementById(k).innerHTML=jsCache[p];ajax_parseJs(document.getElementById(k));evaluateCss(document.getElementById(k));if(o){executeCallback(o)}return}var n=dynamicContent_ajaxObjects.length;var browserName=navigator.appName;if(browserName!="Microsoft Internet Explorer"){jQuery("#ja-topsl1").slideUp(600);jQuery("#ja-topsl1").css("height","250px");}document.getElementById(k).innerHTML='<div style="text-align: center;"><span style="font-size: 10pt;">Please Wait</span>...<br /><img src="/assets/img/lay/ajax.gif" /><br /><strong><span style="color: #888888;font-size: 8pt;">If you still see the loading animation after 5 seconds, click the menu button again.</span></strong></div>';dynamicContent_ajaxObjects[n]=new sack();if(p.indexOf("?")>=0){dynamicContent_ajaxObjects[n].method="GET";var q=p.substring(p.indexOf("?"));p=p.replace(q,"");q=q.replace("?","");var j=q.split(/&/g);for(var l=0;l<j.length;l++){var m=j[l].split("=");if(m.length==2){dynamicContent_ajaxObjects[n].setVar(m[0],m[1])}}p=p.replace(q,"")}dynamicContent_ajaxObjects[n].requestFile=p;dynamicContent_ajaxObjects[n].onCompletion=function(){ajax_showContent(k,n,p,o)};dynamicContent_ajaxObjects[n].runAJAX()}function ajax_parseJs(l){var m=l.getElementsByTagName("SCRIPT");var h="";var n="";for(var k=0;k<m.length;k++){if(m[k].src){var o=document.getElementsByTagName("head")[0];var j=document.createElement("script");j.setAttribute("type","text/javascript");j.setAttribute("src",m[k].src)}else{if(navigator.userAgent.toLowerCase().indexOf("opera")>=0){n=n+m[k].text+"\n"}else{n=n+m[k].innerHTML}}}if(n){ajax_installScript(n)}}function ajax_installScript(b){if(!b){return}if(window.execScript){window.execScript(b)}else{if(window.jQuery&&jQuery.browser.safari){window.setTimeout(b,0)}else{window.setTimeout(b,0)}}}function evaluateCss(e){var g=e.getElementsByTagName("STYLE");var f=document.getElementsByTagName("HEAD")[0];for(var h=0;h<g.length;h++){f.appendChild(g[h])}};
