var xmlHttp;
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;
}
function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 { 
	 document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
	 } else {
	 document.getElementById("txtHint").innerHTML="<strong><em>Retrieving Requests... </strong></em><img src=/images/wait.gif alt=Processing>";
	 } 
	 
}
function lookupStage() {
	$.get("/js/reg/stage.php", {id: "test" },
		function(data) {
			if(data == "userdata") {
				userLookup();
			} else if(data == "confoptions") {
				confOptions();
				window.scrollTo(0,0);
			} else {
				loadLookup();
				window.scrollTo(0,0);
			}
		}  
	);
}
function loadLookup()
{ 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 }
	var url="/js/reg/lookup.php";
	url=url+"?sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	window.scrollTo(0,0);
}
function lookupSubmit() {
	$.post("/js/reg/lookup_submit.php", $("#lookup").serialize(),
		function(data) {
			var error = data.substr(0,4);
			var errorval = "fail";
			if(errorval == error) {
				alert("Unable to process request.  \n"+data.slice(4,data.length));
				return false;
			} else {
				userLookup(data);
				window.scrollTo(0,0);
				
			}
		}  
	);
}
function userdataSubmit() {
	$.post("/js/reg/userdata_submit.php", $("#userdata").serialize(),
		function(data) {
			var error = data.substr(0,4);
			var errorval = "fail";
			
			if(errorval== error) {
				alert(data.slice(4,data.length));
				return false;
			} else {
				confOptions();
			}
		}  
	);
}
function confOptions(){
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 }
	var url="/js/reg/confoptions.php";
	url=url+"?sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	window.scrollTo(0,0);
}
function userLookup()
{ 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 }
	var url="/js/reg/userdata.php";
	url=url+"?sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	window.scrollTo(0,0);
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
function couponLookup() {
	var url="/js/reg/coupon.php";
	var coupon_ = document.payment.coupon.value;
	$.post(url, {coupon:coupon_,other:4564}, function(data) {
		if(data == "error") {
			alert("Coupon Code entered is invalid");
		} else {
			//alert("coupon code entered is valid.");
			$('#cpn_lookup').hide();
			$('#coupon').attr('disabled', 'disabled');
			if(data =='100.00') {
				var cpn_value = getCheckedValue(document.payment.conf);
			} else {
				var cpn_value=data;
			}
			//alert(cpn_value);
			document.payment.coupon.value=cpn_value;
			document.payment.cpnval.value = cpn_value;
			calculateTotal();
		}
	});
	
}
function calculateTotal() {
	var total = 0;
	var conf = getCheckedValue(document.payment.conf);
	var coupon = document.payment.cpnval.value;
	total += parseFloat(conf);
	if(document.payment.meac.checked) { total +=  parseFloat(document.payment.meac.value); }
	if(document.payment.acnm.checked) {total +=  parseFloat(document.payment.acnm.value); }
	if(coupon) { total -= parseFloat(coupon); }
	document.payment.totalcost.value = pad_with_zeros(total,2);
	if(total == 0) {
		$('#paypalrow').hide();
		$('#checkrow').hide();
		$('#check').attr('checked','checked');
	} else {
		$('#paypalrow').show();
		$('#checkrow').show();
	}
}
function pad_with_zeros(rounded_value, decimal_places) {
    // Convert the number to a string
    var value_string = rounded_value.toString()
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")
    // Is there a decimal point?
    if (decimal_location == -1) {
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {
        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    if (pad_total > 0) {
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}
function confOptionsSubmit() {
	$.post("/js/reg/confoptions_submit.php", $("#payment").serialize(),
		function(data) {
			var error = data.substr(0,4);
			var errorval = "fail";
			if(errorval== error) {
				alert(data.slice(4,data.length));
				return false;
			} else if(data == "paypal") {
				loadPaypal();
			} else if(data == "check") {
				loadCheck();
			}
		}  
	);
}
function loadCheck() {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 }
	var url="/js/reg/check.php";
	url=url+"?sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	window.scrollTo(0,0);
}
function loadPaypal() {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 }
	var url="/js/reg/paypal.php";
	url=url+"?sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	window.scrollTo(0,0);
}
