function sack(file){var f=true,e=this;e.xmlhttp=null;e.resetData=function(){var a=this;a.method="POST";a.queryStringSeparator="?";a.argumentSeparator="&";a.URLString="";a.encodeURIString=f;a.execute=false;a.element=null;a.elementObj=null;a.requestFile=file;a.vars={};a.responseStatus=new Array(2)};e.resetFunctions=function(){var a=this;a.onLoading=function(){};a.onLoaded=function(){};a.onInteractive=function(){};a.onCompletion=function(){};a.onError=function(){};a.onFail=function(){}};e.reset=function(){this.resetFunctions();this.resetData()};e.createAJAX=function(){if(window.XMLHttpRequest)this.xmlhttp=new XMLHttpRequest;else this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")};e.setVar=function(b,a){this.vars[b]=Array(a,false)};e.encVar=function(b,a,c){if(f==c)return Array(encodeURIComponent(b),encodeURIComponent(a));else this.vars[encodeURIComponent(b)]=Array(encodeURIComponent(a),f)};e.processURLString=function(c,b){var a=this;encoded=encodeURIComponent(a.argumentSeparator);regexp=new RegExp(a.argumentSeparator+"|"+encoded);varArray=c.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(f==b)a.encVar(urlVars[0],urlVars[1]);else a.setVar(urlVars[0],urlVars[1])}};e.createURLString=function(b){var a=this;a.encodeURIString&&a.URLString.length&&a.processURLString(a.URLString,f);if(b)if(a.URLString.length)a.URLString+=a.argumentSeparator+b;else a.URLString=b;a.setVar("rndval",(new Date).getTime());urlstringtemp=[];for(key in a.vars){if(false==a.vars[key][1]&&f==a.encodeURIString){encoded=a.encVar(key,a.vars[key][0],f);delete a.vars[key];a.vars[encoded[0]]=Array(encoded[1],f);key=encoded[0]}urlstringtemp[urlstringtemp.length]=key+"="+a.vars[key][0]}if(b)a.URLString+=a.argumentSeparator+urlstringtemp.join(a.argumentSeparator);else a.URLString+=urlstringtemp.join(a.argumentSeparator)};e.runResponse=function(){eval(this.response)};e.runAJAX=function(c){var b=this;if(b.failed)b.onFail();else{b.createURLString(c);if(b.element)b.elementObj=document.getElementById(b.element);if(b.xmlhttp){var a=b;if(b.method=="GET"){totalurlstring=b.requestFile+b.queryStringSeparator+b.URLString;b.xmlhttp.open(b.method,totalurlstring,f)}else{b.xmlhttp.open(b.method,b.requestFile,f);try{b.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(d){}}b.xmlhttp.onreadystatechange=function(){switch(a.xmlhttp.readyState){case 1:a.onLoading();break;case 2:a.onLoaded();break;case 3:a.onInteractive();break;case 4:a.response=a.xmlhttp.responseText;a.responseXML=a.xmlhttp.responseXML;a.responseStatus[0]=a.xmlhttp.status;a.responseStatus[1]=a.xmlhttp.statusText;a.execute&&a.runResponse();if(a.elementObj){elemNodeName=a.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea")a.elementObj.value=a.response;else a.elementObj.innerHTML=a.response}if(a.responseStatus[0]=="200")a.onCompletion();else a.onError();a.URLString=""}};b.xmlhttp.send(b.URLString)}}};e.reset();e.createAJAX()};
