function httpRequest(){
	var request;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		request = new XMLHttpRequest();
		} catch (e){
		// Internet Explorer Browsers
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				alert("Your browser broke!");
				return false;
			}
		}
	}
	return request;
}

function getURL(url,params,responseAction,waitAction){
 
    var request=httpRequest();
    
    if(params){url=url+'?'+params;}

    request.open("GET",url, true);

    //Send the proper header information along with the request
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", params.length);
    request.setRequestHeader("Connection", "close");
    
    //Call a function when the state changes.
    request.onreadystatechange = function() {
        if(request.readyState == 4) {
            eval(responseAction);   
        }
                else{
                    if(request.readyState==2){
                        eval(waitAction);
                    }
                }
    }
    request.send();
  
}

function requestURL(url,params,responseAction,waitAction){

	var request=httpRequest();
	request.open("POST", url, true);

	//Send the proper header information along with the request
	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	request.setRequestHeader("Content-length", params.length);
	request.setRequestHeader("Connection", "close");
	
	//Call a function when the state changes.
	request.onreadystatechange = function() {
		if(request.readyState == 4 && request.status == 200) {
			eval(responseAction);	
		}
                else{
                    if(request.readyState==2){
                        eval(waitAction);
                    }
                }
	}
	request.send(params);
}

