
var xmlHttp
var theObj;
var objName;
var prefix;


function updateDataSent(oName, incUrl, data, specificLoadingDiv){
	prefix = "";
	objName = oName;
	theObj = document.getElementById(objName);
	runAjax(data, incUrl, specificLoadingDiv);
}

function updateData(oName, incUrl){
	prefix = "display";
	objName = oName;
	theObj = document.getElementById(objName);
	var str = theObj.value;
	if (str.length == 0){ 
		theObj.innerHTML=""
		return
	}
	runAjax(str);
}

function runAjax(str, incUrl, specificLoadingDiv){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp == null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	if(specificLoadingDiv)
		document.getElementById(specificLoadingDiv).innerHTML = "<img style = 'width:20px;' src = '/images/loading.gif' />";
	
	else
		document.getElementById(prefix + objName).innerHTML = "<div style = 'position:relative;left:50px;top:50px;vertical-align:middle;'><img src = '/images/loading.gif' /> Loading...</div>";

	var url="/includes/ajax/scripts/" + incUrl + ".php"
	url=url+"?q=" + str
	url=url+"&" + str
	url=url+"&field=" + objName
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var str = xmlHttp.responseText;
		if(str == "data_error"){
			alert("Error saving data");
		}
		else{
			if(document.getElementById("div" + objName))
				document.getElementById("div" + objName).style.display = "none";
			if(str.indexOf("Error submitting details") == 0){
				document.getElementById(prefix + objName).innerHTML = str + document.getElementById(prefix + objName).innerHTML;
			}
			else{
				document.getElementById(prefix + objName).innerHTML = str;
			 	theObj.value = str;
				if(document.getElementById("udiv" + objName))
					document.getElementById("udiv" + objName).style.display = "block";
			}
		}
	} 
}


function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e){
	// Internet Explorer
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}