function openAjax() {

	var ajax;
	try{
		ajax = new XMLHttpRequest();
	}catch(ee){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				ajax = false;
			}
		}
	}
	return ajax;
}

function getFormVars(FormName){
	comp = "document." + FormName;
	var frm = eval(comp);
	formVars = "";
	for (i=0; i<frm.length; i++){
		formVars += frm.elements[i].name + "=" + frm.elements[i].value + "&";
	}
	formVars = formVars.substring(0,formVars.length -1);
	return formVars;
}

function doAjax(page,target,values,msg,loadingDiv,method,diffMsgLoc) { //(String,String,String,String,String,String,boolean)
	if(document.getElementById) {
		var ajax = openAjax();
		if(diffMsgLoc){
			var loadingTarget = document.getElementById(loadingDiv);
		}
		var resultTarget = document.getElementById(target);
		if(method=='POST'){
			ajax.open("POST", page, true);
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
			ajax.setRequestHeader("Pragma", "no-cache");
			vals = getFormVals(values)
		}else{
			vals = null
			ajax.open("GET", page + values, true);
		}
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 1) {
				if(diffMsgLoc){
					loadingTarget.style.display = 'inline';
					loadingTarget.innerHTML = msg
				}else{
					resultTarget.innerHTML = msg
				}
			}
			if(ajax.readyState == 4) {
				if(diffMsgLoc=='1'){
					loadingTarget.innerHTML = ""
					loadingTarget.style.display = 'none';
				}else{
					resultTarget.innerHTML = ""
				}
				if(ajax.status == 200) {
					var result = null;
					result = ajax.responseText;
					result = result.replace(/\+/g," ");
					result = unescape(result);
					resultTarget.innerHTML = result;
				} else {
					resultTarget.innerHTML = "<br / ><br / ><center>An error occurred:</center><br / ><br / > <center>" + result + "</center>";
				}
			}
		}
		ajax.send(vals);
	}		 
}

function genQueryString(){
	return "?field1="+Math.random()+"&fiel2="+Math.random();
}