var xmlHttp = createXmlHttpObject();


function makepayment()
{
	var data = "";
	var returnvar = 0;

	if (document.getElementById("XecunetAccountNumber").value == '')
	{
	} 
	else
	{
		data = "XecunetAccountNumber=" + document.getElementById("XecunetAccountNumber").value + "&";
	}	

	if (document.getElementById("XecunetAccountName").value == '')
	{
	} 
	else
	{
		data = data + "XecunetAccountName=" + document.getElementById("XecunetAccountName").value + "&";
	}	

	if (document.getElementById("Name").value == '')
	{
		document.getElementById('NameLeft').className = 'error';
		returnvar = 1;
	} 
	else
	{
		data = data + "Name=" + document.getElementById("Name").value + "&";
	}	
	if (document.getElementById("Address1").value == '')
	{
		document.getElementById('Address1Left').className = 'error';
		returnvar = 1;
	} 
	else
	{
		data = data + "Address1=" + document.getElementById("Address1").value + "&";
	}	
	if (document.getElementById("Address2").value == '')
	{
	} 
	else
	{
		data = data + "Address2=" + document.getElementById("Address2").value + "&";
	}	

	if (document.getElementById("City").value == '')
	{
		document.getElementById('CityLeft').className = 'error';
		returnvar = 1;
	} 
	else
	{
		data = data + "City=" + document.getElementById("City").value + "&";
	}	
	if (document.getElementById("State").value == '')
	{
		document.getElementById('StateLeft').className = 'floaterror';
		returnvar = 1;
	} 
	else
	{
		data = data + "State=" + document.getElementById("State").value + "&";
	}	
	if (document.getElementById("ZipCode").value == '')
	{
		document.getElementById('ZipCodeLeft').className = 'floaterror';
		returnvar = 1;
	} 
	else
	{
		data = data + "ZipCode=" + document.getElementById("ZipCode").value + "&";
	}	
	if (document.payment.PaymentType[0].checked) {

		if (document.getElementById("CreditCardNumber").value == '')
		{
			document.getElementById('CreditCardNumberLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "CreditCardNumber=" + document.getElementById("CreditCardNumber").value + "&";
		}	
	

		if (document.getElementById("CreditCardType").value == 'None')
		{
			document.getElementById('CreditCardTypeLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			document.getElementById('CreditCardTypeLeft').className = 'left';
			data = data + "CreditCardType=" + document.getElementById("CreditCardType").value + "&";
		}	
		if (document.getElementById("Month").value == 'None')
		{
			document.getElementById('ExpLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "Month=" + document.getElementById("Month").value + "&";
		}	
		if (document.getElementById("Year").value == 'None')
		{
			document.getElementById('ExpLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "Year=" + document.getElementById("Year").value + "&";
		}	
		if (!(document.getElementById("Month").value == 'None') && !(document.getElementById("Year").value == 'None'))
		{
			document.getElementById('ExpLeft').className = 'left';
		}
		if (document.getElementById("NameOnCard").value == '')
		{
			document.getElementById('NameOnCardLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "NameOnCard=" + document.getElementById("NameOnCard").value + "&";
		}	
		data = data + "PaymentType=credit_card&";
	}

	if (document.payment.PaymentType[1].checked) {

		if (document.getElementById("CheckingAccountNumber").value == '')
		{
			document.getElementById('CheckingAccountNumberLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "CheckingAccountNumber=" + document.getElementById("CheckingAccountNumber").value + "&";
		}	

		if (document.getElementById("RoutingNumber").value == '')
		{
			document.getElementById('RoutingNumberLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "RoutingNumber=" + document.getElementById("RoutingNumber").value + "&";
		}	

		if (document.getElementById("BankName").value == '')
		{
			document.getElementById('BankNameLeft').className = 'error';
			returnvar = 1;
		} 
		else
		{
			data = data + "BankName=" + document.getElementById("BankName").value + "&";
		}	

		data = data + "PaymentType=checking_account&";
	}

	if (!(document.payment.PaymentType[0].checked) && !(document.payment.PaymentType[1].checked)) 
	{
		document.getElementById('PaymentTypeLeft').className = 'error';
		returnvar = 1;
	}

	if (document.getElementById("AmountToPay").value == '')
	{
		document.getElementById('AmountToPayLeft').className = 'error';
		returnvar = 1;
	} 
	else
	{
		data = data + "AmountToPay=" + document.getElementById("AmountToPay").value;
	}	

	if (returnvar == 0)
	{

		if (xmlHttp)
		{
			try
			{ 
				document.body.style.cursor = "wait";
				xmlHttp.open("POST", "/proc/payment.php", true);
				xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				xmlHttp.onreadystatechange = handleResponse;
				xmlHttp.send(data);
			}
			catch(e)
			{
				alert("Failed to connect to server: " + e.toString());
			}
		}
	}
}


function handleResponse()
{
	if (xmlHttp.readyState == 4)
	{
		if (xmlHttp.status == 200)
		{
			try
			{
				handlePaymentResponse();
			}
			catch(e)
			{
				alert("Error reading the response: " + e.toString());
			}
		}
		else
		{
			alert("There was a problem retrieving the data: " + xmlHttp.statusText);
		}
	}
}

function handlePaymentResponse()
{
	document.body.style.cursor = "default";
	response = xmlHttp.responseText;

	target = document.getElementById("makepayment");

	target.innerHTML = response;
}


function createXmlHttpObject()
{
	var xmlHttp;
	try
	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
		}
		catch(e) { }
	}
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}



