RT#29354: Password Security in Email [customer fields, images, js files]
[freeside.git] / fs_selfservice / FS-SelfService / cgi / send_xmlhttp.js
1 function rs_init_object () {
2   var A;
3   try {
4     A=new ActiveXObject("Msxml2.XMLHTTP");
5   } catch (e) {
6     try {
7       A=new ActiveXObject("Microsoft.XMLHTTP");
8     } catch (oc) {
9       A=null;
10     }
11   }
12   if(!A && typeof XMLHttpRequest != "undefined")
13     A = new XMLHttpRequest();
14   if (!A)
15     alert("Can't create XMLHttpRequest object");
16   return A;
17 }
18
19 function send_xmlhttp (url,args,callback) {
20   args = args || [];
21   callback = callback || function (data) { return data };
22   var content = '';
23   for (var i = 0; i < args.length; i = i + 2) {
24     content = content + "&" + args[i] + "=" + escape(args[i+1]);
25   }
26   content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs 
27
28   var xmlhttp = rs_init_object();
29   xmlhttp.open("POST", url, true);
30
31   xmlhttp.onreadystatechange = function() {
32     if (xmlhttp.readyState != 4) 
33       return;
34     if (xmlhttp.status == 200) {
35       var data = xmlhttp.responseText;
36       callback(data);
37     }
38   };
39
40   xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
41   xmlhttp.send(content);
42 }
43