var ajaxRequestObject = null;

function getXHR(){
	var newReq = null;
	if(window.XMLHttpRequest) {
		try {
			newReq = new XMLHttpRequest();
		}
			catch(e) {
			newReq = false;
		}
	}
	else if(window.ActiveXObject) {
		try {
			newReq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				newReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
				catch(e) {
					alert("The XMLHttpRequest Object is not supported");
					newReq = false;
			}
		}
	}
	
	return newReq;
}

function ajaxRequest(URL,htmlTarget) {
	if(ajaxRequestObject == null){
	  ajaxRequestObject = getXHR();
	}
	else if(ajaxRequestObject){
  	ajaxRequestObject.abort();
	}
	if(ajaxRequestObject) {
		ajaxRequestObject.open ('GET', URL, true);
    ajaxRequestObject.onreadystatechange = processRequestResult;
  	ajaxRequestObject.send (null);
  }
  else alert("Your browser cannot support AJAX");
}

function processRequestResult(htmlTarget) {
  if(ajaxRequestObject.readyState == 4) {
		if (ajaxRequestObject.status == 200 || ajaxRequestObject.status == 0) {
			handleResponse(ajaxRequestObject.responseText,htmlTarget);
		}
		else {
			msg = "There was an issue retrieving the data: \n Reason: "
			msg = msg + ajaxRequestObject.status + " " + ajaxRequestObject.statusText;
			alert(msg);
		}
	}
}

function handleResponse(response,htmlTarget) {
	target = document.getElementById("componentQuotation");
	target.innerHTML = response;
	document.getElementById('calcButton').disabled = false;
}

function ajaxSubmitForm(formID,htmlTarget) {
	document.getElementById('calcButton').disabled = true;
	obj = document.getElementById(formID);
	var getstr = "?";
	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		if (obj.getElementsByTagName("input")[i].type == "text") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + 
			obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "checkbox") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			} else {
				getstr += obj.getElementsByTagName("input")[i].name + "=&";
			}
		}
		if (obj.getElementsByTagName("input")[i].type == "radio") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				obj.getElementsByTagName("input")[i].value + "&";
			}
		}  
		if (obj.getElementsByTagName("input")[i].tagName == "select") {
			var sel = obj.getElementsByTagName("input")[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	}
	document.getElementById(htmlTarget).innerHTML = "<div style='text-align:center;height:350px;'><img src='img/wait.gif' align='center'/></div>";
	ajaxRequest('index.php' + getstr,htmlTarget);
}