var ua = navigator.appName;
if (ua.indexOf("Microsoft")!=-1) {
	nav = "IE";
}

var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
function getData(dataSource, divID)	{
	if(XMLHttpRequestObject) {
		var obj = document.getElementById(divID);
		XMLHttpRequestObject.open("GET", dataSource);
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 &&	XMLHttpRequestObject.status == 200) {
			obj.innerHTML = XMLHttpRequestObject.responseText;
			}
		}
		XMLHttpRequestObject.send(null);
	}
}
//Function to create an XMLHttp Object.
function getxmlhttp (){
	//Create a boolean variable to check for a valid Microsoft active x instance.
	var xmlhttp = false;
	//Check if we are using internet explorer.
	try {
	//If the javascript version is greater than 5.
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	//If not, then use the older active x object.
	try {
	//If we are using internet explorer.
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
		//Else we must be using a non-internet explorer browser.
		xmlhttp = false;
		}
		}
	// If not using IE, create a
	// JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}


function RemoveAllChildren(obj) {
	//obj = document.getElementById(obj);
	if(obj && obj.hasChildNodes) {
		 while (obj.hasChildNodes())  {
		  obj.removeChild(obj.childNodes[0]);
		 }
	}
}

//Function to process an XMLHttpRequest.
function processajax (serverPage, obj, getOrPost, str){
	//Get an XMLHttpRequest object for use.
	xmlhttp = getxmlhttp ();
	if (getOrPost == "get"){
		xmlhttp.open("GET", serverPage, true);
		xmlhttp.setRequestHeader('Content-Type', 'text/xml; charset=UTF-8');
		xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj = document.getElementById(obj);
			if(obj == null) {
				RemoveAllChildren(obj);
				obj.style.display = "block";
				// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
				var tempDiv = document.createElement('tempDiv');
				tempDiv.innerHTML = xmlhttp.responseText;
				obj.appendChild(tempDiv);
				// end workaround ++++++++++++++++++++++++++++++++++++++++++
				//obj.innerHTML = xmlhttp.responseText;
			} else {
				RemoveAllChildren(obj);
				obj.style.display = "block";

				// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
				var tempDiv = document.createElement('tempDiv');
				tempDiv.innerHTML = xmlhttp.responseText;
				obj.appendChild(tempDiv);
				// end workaround ++++++++++++++++++++++++++++++++++++++++++
				//obj.innerHTML = xmlhttp.responseText;
			}
		}

	}
	xmlhttp.send(null);

	} else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
				//obj = document.getElementById(obj);
				if(xmlhttp.readyState == 0) {
					RemoveAllChildren(obj);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = "<img src='images/1-1.gif'>";
						//tempDiv.appendChild(document.createTextNode('I am one of many DIV elements.'));
						//obj.appendChild(tempDiv.childNodes[1]);
						obj.appendChild(tempDiv);
						//obj.innerHTML = "<img src='images/1-1.gif'>";
				}
				if(xmlhttp.readyState == 1) {
					RemoveAllChildren(obj);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = "<img src='images/1-1.gif'>";
						//tempDiv.appendChild(document.createTextNode('I am one of many DIV elements.'));
						//obj.appendChild(tempDiv.childNodes[1]);
						obj.appendChild(tempDiv);
						//obj.innerHTML = "<img src='images/1-1.gif'>";
				}
				if(xmlhttp.readyState == 2) {
					RemoveAllChildren(obj);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = "<img src='images/1-1.gif'>";
						//tempDiv.appendChild(document.createTextNode('I am one of many DIV elements.'));
						//obj.appendChild(tempDiv.childNodes[1]);
						obj.appendChild(tempDiv);
						//obj.innerHTML = "<img src='images/1-1.gif'>";
				}
				if(xmlhttp.readyState == 3) {
					RemoveAllChildren(obj);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = "<img src='images/1-1.gif'>";
						//tempDiv.appendChild(document.createTextNode('I am one of many DIV elements.'));
						//obj.appendChild(tempDiv.childNodes[1]);
						obj.appendChild(tempDiv);
						//obj.innerHTML = "<img src='images/1-1.gif'>";
				}

			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

				if(xmlhttp.responseText.substr(0,3) == "RE:") {
					//alert(xmlhttp.responseText.substr(0,3))
					window.location = xmlhttp.responseText.substr(3);
				} else {
					if(document.getElementById(obj) == null) {
						RemoveAllChildren(obj);
						//if(obj == "ctotal") {obj.style.display = "inline";}
						//else {obj.style.display = "block";}
						//alert(obj.style.display);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = xmlhttp.responseText;
						obj.appendChild(tempDiv);
						// end workaround ++++++++++++++++++++++++++++++++++++++++++
						//obj.innerHTML = xmlhttp.responseText;
					} else {
						RemoveAllChildren(obj);
						//document.getElementById(obj).style.display = dis;
						//alert(document.getElementById(obj).style.display);
						// IE owrkaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
						var tempDiv = document.createElement('tempDiv');
						tempDiv.innerHTML = xmlhttp.responseText;
						document.getElementById(obj).appendChild(tempDiv);
						// end workaround ++++++++++++++++++++++++++++++++++++++++++
						//document.getElementById(obj).innerHTML = xmlhttp.responseText;
					}
					// check if form exists
					if(document.getElementById('contactdiv')) {
						if(xmlhttp.responseText.substr(0,1) == "T") {
							hideform('contactdiv','contacterr')
						}
					}
					//obj.innerHTML = xmlhttp.responseText;
				}

			}
		}
	xmlhttp.send(str);
	}
}

//Functions to submit a form.
function getformvalues (fobj){
	var str = "";
	//aok = true;
	var val;

	//Run through a list of all objects contained within the form.

	for(var i = 0; i < fobj.elements.length; i++){
		/*
			if(valfunc) {
				if (aok == true){
					val = valfunc (fobj.elements[i].value,fobj.elements[i].name);
					if (val == false){
						aok = false;
					}
				}
			}
		*/
		//alert(fobj.elements[i].type)

		// checkboxes not being reset by AJAX MANUAL ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		if((fobj.elements[i].type == "checkbox" && fobj.elements[i].checked == false) || (fobj.elements[i].type == "radio" && fobj.elements[i].checked == false) ) {
			//alert('false')
			continue;

		} else {
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value);
			if(i < (fobj.elements.length) -1) {str += "&";}
		}

		//str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value);
		//if(i < (fobj.elements.length) -1) {str += "&";}

	}
	//Then return the string values.
	//alert(str);
	return str;

}

function submitform (theform, serverPage, objID){
	//alert(objID)
	var file = serverPage;
	var str = getformvalues(theform);
	//alert(theform)
	//If the validation is ok.
	//if (aok == true){
		obj = document.getElementById(objID);

		processajax (serverPage, obj, "post", str);
		//processajax (serverPage, obj, "get", "");
	//}
}
function showme(el,pdiv) {
	d = document.getElementById(el);
	if(d.style.visibility == "hidden") {
		submitform(document.getElementById('myfrm'),'survey_admin2bb.php',el);
		d.style.visibility = "visible";
		d.style.display = "block"
		document.getElementById(pdiv).innerHTML = "-";
		return;
	} else {
		d.style.visibility = "hidden";
		d.style.display = "none"
		document.getElementById(pdiv).innerHTML = "+";
	}
}

// some messages so we know when to do what
sucmsg = "Update successful!";


function checkme(serverPage, obj, getOrPost, str) {
	d = document.getElementById(obj);
	if(d.innerHTML == sucmsg) {
		processajax (serverPage, obj, getOrPost, str)
	}
	else if(d.innerHTML != "") {
		d.innerHTML = "";
		d.style.display = "none";
	} else (
		processajax (serverPage, obj, getOrPost, str)
	)
}

function updatediv(mydiv,mytxt) {
	d = document.getElementById(mydiv);
	d.style.display = "block";
	d.innerHTML = mytxt;
}

function checkship(sval,smeth,fld) {
	if(isNaN(sval) || sval == "" || !sval) {
		processajax('checkout.php?total=2','cctotal','get','');
		//getData('checkout.php?suberr=1','suberr');
	} else {
		processajax('checkout.php?total=1&pr='+sval+'&sm='+smeth,'cctotal','get','');
		getData('checkout.php?suberr=2','suberr');
	}
}

//function checkReadyState(obj, id)
function checkReadyState(obj){
	if(obj.readyState != 4) {
		checkReadyState(obj)
		return 0;
	}
	/*
    switch(obj.readyState)  {
        case 0:
            //document.getElementById(id).innerHTML = "Sending Request...";
            checkReadyState(obj)
            break;
        case 1:
            //document.getElementById(id).innerHTML = "Loading Response...";
            checkReadyState(obj)
            break;
        case 2:
            //document.getElementById(id).innerHTML = "Response Loaded...";
            checkReadyState(obj)
            break;
        case 3:
           // document.getElementById(id).innerHTML = "Response Ready...";
            checkReadyState(obj)
            break;
        case 4:
            //document.getElementById(id).innerHTML = "";
            alert('ready')
            return (obj.status == 200);
            break;
        default:
            //document.getElementById(id).innerHTML = "An unexpected error has occurred.";
    }
    */
}

function hideform(frm,err) {
	cfrm = document.getElementById(frm);
	ediv = document.getElementById(err);
	if(cfrm.style.display == "block") {
		ediv.style.color = "#088305";
		cfrm.style.visibility = "hidden";
		cfrm.style.display = "none";
	}
}



