/* purpose : To create a class to make asynchronous HTTP requests (ajax)  */
/* Firefox and Safari create XMLHttpRequest objects using a class called */
/* XMLHttpRequest, while Internet Explorer versions 6 and earlier use a special */
/* class called ActiveXObject */
/* open method takes three paramters. */
/* opt.method is GET */
/* url is URL  */
/* opt.Asynchronous is true*/

function searsAjax(url, opt) 
{
 try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
 } catch (e) {
	//alert("Permission UniversalBrowserRead denied.");
 }	
 var req = null;
 var isIE = false;
 var onSuccess = opt.onSuccess;
 var onFailure = opt.onFailure;

 if (window.XMLHttpRequest)  {
 	req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) {
 	req = new ActiveXObject("Microsoft.XMLHTTP");
 	isIE = true;
 }
       	
 if (req)  {
    req.onreadystatechange = processReqChange;
    req.open(opt.method, url, opt.asynchronous);
    if (opt.method == 'GET') {
       if (isIE) {
          req.send();
       }
       else {
          req.send(null);
       }
    }
    else if (opt.method == 'POST') {
       if (opt.postBody != null && opt.postBody.length > 0) {
          req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          req.setRequestHeader("Content-length", opt.postBody.length);
          req.setRequestHeader("Connection", "close");
          req.send(opt.postBody);
       }
    }
 }
 if (!req) return;

 function processReqChange() {
    if (req.readyState == 4) {
        if (req.status == 200) {
           onSuccess(req);
        } 
        else {
           onFailure(req);
        }
    }
 };

}



