
//AJAX POST METHOD
function ajaxpost(url, returnfunction, params) {
	ajaxpostWithParam(url, returnfunction, params, null);
}
function ajaxpostWithParam(url, returnfunction, params, returnparams) {
    var page_request = false;
    if (window.XMLHttpRequest) // if Mozilla, Safari etc
        page_request = new XMLHttpRequest();
    else if (window.ActiveXObject){ // if IE
        try {
            page_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e){
            try{
                page_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){}
            }
        }
    else
        return false;
	if(returnparams!=null) {
		page_request.onreadystatechange = function(){ if(page_request.readyState == 4) { returnfunction(page_request,returnparams);} }
	} else {
		page_request.onreadystatechange = function(){ if(page_request.readyState == 4) { returnfunction(page_request);} }
	}
    page_request.open('POST', url, true);
    //Send the proper header information along with the request
    page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    page_request.setRequestHeader("Content-length", params.length);
    page_request.setRequestHeader("Connection", "close");
    //do the send
    page_request.send(params);
}

//CHECK AJAX RESPONSE
function responseOk(page_request) {
    try {
        if (page_request.readyState == 4 && page_request.status==200){
            return true;
        }
        else {
            return false;
        }
    }
    catch (e){ //if no response from server the page_request.status check will throw error
        return false;
    }    
}
