function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //non-IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		//error message
		alert("Your browser does not accept the XmlHttpRequest object.Please update it");
	}
}

function loadOnDIV(URL,divResponseID) {
	// create new xmlhttprequest
	var ajax = getXmlHttpRequestObject();
	if(ajax) {
		ajax.open("GET", URL, true);
		headerResponse='application/x-www-form-urlencoded';
		ajax.setRequestHeader("Content-Type", headerResponse);
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4 ) {
				if (ajax.responseText == false) {
					//alert("empty response from "+param);
				}
				else {
					if (document.getElementById(divResponseID)){
						document.getElementById(divResponseID).innerHTML = ajax.responseText;
					}
				}

			}
		}
		ajax.send(null);
	}
}

function loadOnDIVField(URL,divResponseID) {
	// create new xmlhttprequest
	var ajax = getXmlHttpRequestObject();
	if(ajax) {
		ajax.open("GET", URL, true);
		headerResponse='application/x-www-form-urlencoded';
		ajax.setRequestHeader("Content-Type", headerResponse);
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4 ) {
				if (ajax.responseText == false) {
					//alert("empty response from "+param);
				}
				else {
					if (document.getElementById(divResponseID))
						document.getElementById(divResponseID).value = ajax.responseText;
				}

			}
		}
		ajax.send(null);
	}
}

function SaveAjax(url,divResponseID,form,type_return){
	// create new xmlhttprequest
	var ajax = getXmlHttpRequestObject();
	var response_div= document.getElementById(divResponseID);
	if(ajax) {

		this.form= form;
		var counter;
		var params = "";
		if (this.form.elements.length==0){
			alert('No elements in this form');
			return false;
		}
		for (counter = 0; counter <= this.form.elements.length; counter++)
		{
			if (this.form.elements[counter])
			{
				if (this.form.elements[counter].type != "button" && this.form.elements[counter].type != "submit")
				{
					// RADIO EXCEPTION ( WHEN SELECTED )
					if (this.form.elements[counter].type == "radio"){
						if (this.form.elements[counter].checked==true)
							params += this.form.elements[counter].name+"="+this.form.elements[counter].value+"&";
					// CHECKBOX EXCEPTION ( WHEN SELECTED )
					} else if (this.form.elements[counter].type == "checkbox"){
						if (this.form.elements[counter].checked==true)
							params += this.form.elements[counter].name+"="+this.form.elements[counter].value+"&";
					} else params += this.form.elements[counter].name+"="+this.form.elements[counter].value+"&";
				}
			}
		}

		ajax.open("POST", url, true);
		//var params="responseType="+outputType+"&"+params;
		//toPostURL=host+'/ajax/'+posturl;
		headerResponse='application/x-www-form-urlencoded';
		ajax.setRequestHeader("Content-Type", headerResponse);
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4 ) {
				// HTML ---------------------------------
				if (ajax.responseText == false) {
					alert("HTML Request Error");
				}else{
					if(type_return == 'innerHtml'){
						response_div.innerHTML = ajax.responseText;
					}else if(type_return == 'value'){
						response_div.value = ajax.responseText;
					}else if(type_return == 'alert'){
						alert(ajax.responseText);
					}

				}
				//  -------------------------------------
			}
		}
		ajax.send(params);
	}
}

// LOCATION
function edirajax_getXMLHTTP() {
	var xmlhttp;
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

function LoadScript(URL) {
	var xmlhttp;
	xmlhttp = edirajax_getXMLHTTP();
	if (xmlhttp) {
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4) {
				if (xmlhttp.status == 200) {
					eval(xmlhttp.responseText);
				} else {
			}
			}
		}
	} else {
	}
	xmlhttp.open("GET", URL, true);
	xmlhttp.send(null);
}
