X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/ff81ee6e8304a1982a3ec4f5b134764a29d502cf..refs/tags/wordpress-3.1-scripts:/wp-includes/js/tw-sack.js diff --git a/wp-includes/js/tw-sack.js b/wp-includes/js/tw-sack.js index 956b3f07..d1b5561e 100644 --- a/wp-includes/js/tw-sack.js +++ b/wp-includes/js/tw-sack.js @@ -1,133 +1 @@ -/* Simple AJAX Code-Kit (SACK) */ -/* ©2005 Gregory Wild-Smith */ -/* www.twilightuniverse.com */ -/* Software licenced under a modified X11 licence, see documentation or authors website for more details */ - -function sack(file){ - this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n"; - this.requestFile = file; - this.method = "POST"; - this.URLString = ""; - this.encodeURIString = true; - this.execute = false; - - this.onLoading = function() { }; - this.onLoaded = function() { }; - this.onInteractive = function() { }; - this.onCompletion = function() { }; - - this.createAJAX = function() { - try { - this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (err) { - this.xmlhttp = null; - } - } - if(!this.xmlhttp && typeof XMLHttpRequest != "undefined") - this.xmlhttp = new XMLHttpRequest(); - if (!this.xmlhttp){ - this.failed = true; - } - }; - - this.setVar = function(name, value){ - if (this.URLString.length < 3){ - this.URLString = name + "=" + value; - } else { - this.URLString += "&" + name + "=" + value; - } - } - - this.encVar = function(name, value){ - var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value); - return varString; - } - - this.encodeURLString = function(string){ - varArray = string.split('&'); - for (i = 0; i < varArray.length; i++){ - urlVars = varArray[i].split('='); - if (urlVars[0].indexOf('amp;') != -1){ - urlVars[0] = urlVars[0].substring(4); - } - varArray[i] = this.encVar(urlVars[0],urlVars[1]); - } - return varArray.join('&'); - } - - this.runResponse = function(){ - eval(this.response); - } - - this.runAJAX = function(urlstring){ - this.responseStatus = new Array(2); - if(this.failed && this.AjaxFailedAlert){ - alert(this.AjaxFailedAlert); - } else { - if (urlstring){ - if (this.URLString.length){ - this.URLString = this.URLString + "&" + urlstring; - } else { - this.URLString = urlstring; - } - } - if (this.encodeURIString){ - var timeval = new Date().getTime(); - this.URLString = this.encodeURLString(this.URLString); - this.setVar("rndval", timeval); - } - if (this.element) { this.elementObj = document.getElementById(this.element); } - if (this.xmlhttp) { - var self = this; - if (this.method == "GET") { - var totalurlstring = this.requestFile + "?" + this.URLString; - this.xmlhttp.open(this.method, totalurlstring, true); - } else { - this.xmlhttp.open(this.method, this.requestFile, true); - } - if (this.method == "POST"){ - try { - this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded') - } catch (e) {} - } - - this.xmlhttp.send(this.URLString); - 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; - self.onCompletion(); - if(self.execute){ self.runResponse(); } - if (self.elementObj) { - var 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; - } - } - self.URLString = ""; - break; - } - }; - } - } - }; -this.createAJAX(); -} \ No newline at end of file +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