function postData(url,FormData,funcName,control) { this.url = url; this.control=control; var self = this; if (window.XMLHttpRequest) { /* branch for native XMLHttpRequest object */ this.req = new XMLHttpRequest (); this.req.onreadystatechange = function (){ funcName(self);} this.req.open("POST",url,true); this.req.setRequestHeader("content-length",FormData.length); this.req.setRequestHeader("content-type","application/x-www-form-urlencoded"); this.req.send(FormData); } else if (window.ActiveXObject) { /* branch for IE/Windows ActiveX version */ this.req = new ActiveXObject ("Microsoft.XMLHTTP"); if (this.req) { this.req.onreadystatechange = function (){ funcName(self);} this.req.open("POST",url,true); this.req.setRequestHeader("content-length",FormData.length); this.req.setRequestHeader("content-type","application/x-www-form-urlencoded"); this.req.send(FormData); } } } function URLEncode(plaintext ){ var SAFECHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()"; var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; }else{ var charCode = ch.charCodeAt(0); if (charCode > 255) { encoded += "+"; // substitute a space }else{ encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // for return encoded; }