var request = null;
var xmlDoc;
var title;

function loadXML (file) {
    if (window.ActiveXObject) {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.asysn = false;
        xmlDoc.load(file);
        getmessage();
    } else if (document.implementation && document.implementation.createDocument) {
        xmlDoc = document.implementation.createDocument("","",null);
        xmlDoc.load(file);
        xmlDoc.onload=XMLInit;
    } else {
        alert('Your browser cannot handle this script');
    }
	
}

/* Wrapper function for constructing a request object.
 Parameters:
  reqType: The HTTP request type, such as GET or POST.
  url: The URL of the server program.
  asynch: Whether to send the request asynchronously or not.
  respHandle: The name of the function that will handle the response.
  Any fifth parameters, represented as arguments[4], are the data a
  POST request is designed to send. */

function httpRequest(reqType,url,asynch,respHandle){
    if(window.XMLHttpRequest){ // Mozilla
        request = new XMLHttpRequest(  );
    } else if (window.ActiveXObject){ // IE
        request=new ActiveXObject("Msxml2.XMLHTTP");
        if (! request){
            request=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    if(request) {
        //if the reqType parameter is POST, then the
        //5th argument to the function is the POSTed data
        if(reqType.toLowerCase(  ) != "post") {
            initReq(reqType,url,asynch,respHandle);
        }  else {
            //the POSTed data
            var args = arguments[4];
            if(args != null && args.length > 0) {
                initReq(reqType,url,asynch,respHandle,args);
            }
        }
    } else {
        alert("Your browser does not permit the use of all of this application's features!");
    }
}

/* Initialize a request object that is already constructed */

function initReq(reqType,url,bool,respHandle){
    try{
        /* Specify the function that will handle the HTTP response */
        request.onreadystatechange=respHandle;
        request.open(reqType,url,bool);
        //if the reqType parameter is POST, then the
        //5th argument to the function is the POSTed data
        if(reqType.toLowerCase(  ) == "post") {
            request.setRequestHeader("Content-Type",
                    "application/x-www-form-urlencoded; charset=UTF-8");
            request.send(arguments[4]);
        }  else {
            request.send(null);
        }

    } catch (errv) {
        alert(
        "The application cannot contact the server at the moment. Please try again in a few seconds.\\n" +
		"Error detail: " + errv.message);
    }
}


