function getAccountSummary() {

	document.getElementById("reg_account_summary").innerHTML = "Loading account activity...";

	requestString = "/accounts/ajax_getAccountSummary.php";
	
	if (window.XMLHttpRequest)
		accountSummary_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		accountSummary_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	accountSummary_eventRequest.onreadystatechange = function() { getAccountSummaryHandler(accountSummary_eventRequest) };
	accountSummary_eventRequest.open('GET',requestString,true);
	accountSummary_eventRequest.send(null);

}

function getAccountSummaryHandler(eventRequest) {

	if (eventRequest.readyState == 4) {
	
			if (eventRequest.responseText == "session expired") {
				
				document.location.href="/login.php";

			} else {
	
				contentString = "<strong>Account Activity:<\/strong>\n";
				contentString += "<table cellpadding=0 cellspacing=0 border=0 width=100%>";
				
				var responseArray = eventRequest.responseText.split("||");
				if (responseArray.length == 1) {
					contentString += "<tr><td>No orders have been placed using this account.<\/td><\/tr>\n";
				} else {
					contentString += "<tr>";
					contentString += "<td style=\"font-weight: bold; text-decoration: underline;\">Order Placed:<\/td>";
					contentString += "<td style=\"font-weight: bold; text-decoration: underline;\">Ordered From:<\/td>";
					contentString += "<td style=\"font-weight: bold; text-decoration: underline;\">Order Total:<\/td>";
					contentString += "<td style=\"font-weight: bold; text-decoration: underline;\">Amt. Paid:<\/td>";
					contentString += "<td align=right style=\"font-weight: bold; text-decoration: underline;\">Order Detail:<\/td>";
					contentString += "<\/tr>\n";
					for (x = 0; x < responseArray.length; x++) {
						var orderId = responseArray[x];
						x++;
						var orderDate = responseArray[x];
						x++;
						var orderOrgName = responseArray[x];
						x++;
						var orderTotal = parseFloat(responseArray[x]);
						x++;
						var transTotal = parseFloat(responseArray[x]);
						
						contentString += "<tr>";
						contentString += "<td>"+orderDate+"<\/td>";
						contentString += "<td>"+orderOrgName+"<\/td>";
						contentString += "<td>$"+orderTotal.toFixed(2)+"<\/td>";
						contentString += "<td>$"+transTotal.toFixed(2)+"<\/td>";
						contentString += "<td align=right><input type=button value=\"Detail\" onclick=\"document.location.href='account_order_detail.php?order_id="+orderId+"'\"><\/td>";
						contentString += "<\/tr>\n";
					
					}
				}		
				
				contentString += "<\/table>";
				
				document.getElementById("reg_account_summary").innerHTML = contentString;
		
			}
		
	}
	
}

function getAccountOrderDetail(order_id_arg) {

	document.getElementById("reg_account_order_detail").innerHTML = "Loading order detail...";

	requestString = "/accounts/ajax_getOrderDetail.php?order_id="+order_id_arg;
	
	if (window.XMLHttpRequest)
		orderDetail_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		orderDetail_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	orderDetail_eventRequest.onreadystatechange = function() { getAccountOrderDetailHandler(orderDetail_eventRequest,order_id_arg) };
	orderDetail_eventRequest.open('GET',requestString,true);
	orderDetail_eventRequest.send(null);

}

function getAccountOrderDetailHandler(eventRequest,order_id_arg) {

	if (eventRequest.readyState == 4) {
	
		var responseArray = eventRequest.responseText.split("||");
		
		contentString = "";
		orderTotal = 0;
		for (x = 1; x < responseArray.length; x++) {
		
			if (responseArray[x] == "org") {
				if (contentString != "")
					contentString += "<\/table>\n";
				x++;
				contentString += "<strong>"+responseArray[x]+"<\/strong>\n";
				x++;
				contentString += "<table width=100%>\n";
				contentString += "<tr>";
				contentString += "<td valign=top><u>Order Placed:<\/u><\/td>\n";
				contentString += "<td valign=top><u>Item:<\/u><\/td>\n";
				contentString += "<td valign=top><u>Price:<\/u><\/td>\n";
				contentString += "<td valign=top><u>Fee:<\/u><\/td>\n";
				contentString += "<td valign=top><u>Total:<\/u><\/td>\n";
				contentString += "<\/tr>\n";
			}
			
			var itemTime = responseArray[x];
			x++;
			var itemDescription = responseArray[x];
			x++;
			var itemPrice = parseFloat(responseArray[x]);
			x++;
			var itemFee = parseFloat(responseArray[x]);
			x++;
			var itemTotal = parseFloat(responseArray[x]);
			
			orderTotal += itemTotal;
			
			contentString += "<tr>";
			contentString += "<td valign=top>"+itemTime+"<\/td>\n";
			contentString += "<td valign=top>"+itemDescription+"<\/td>\n";
			contentString += "<td valign=top>$"+itemPrice.toFixed(2)+"<\/td>\n";
			contentString += "<td valign=top>$"+itemFee.toFixed(2)+"<\/td>\n";
			contentString += "<td valign=top>$"+itemTotal.toFixed(2)+"<\/td>\n";
			contentString += "<\/tr>\n";
		
		}
		contentString += "<\/table>\n";
		contentString += "<table width=100%>\n<br>";
		contentString += "<tr><td align=right><b>Total Charged:<\/b> $"+orderTotal.toFixed(2)+"<\/td><\/tr>";
		contentString += "<\/table>";
		
		document.getElementById("reg_account_order_detail").innerHTML = contentString;
		
		getAccountTransactionDetail(order_id_arg,orderTotal);
	
	}

}

function getAccountTransactionDetail(order_id_arg,order_total_arg) {

	document.getElementById("reg_account_transaction_detail").innerHTML = "Loading transaction detail...";

	requestString = "/accounts/ajax_getTransactionDetail.php?order_id="+order_id_arg;
	
	if (window.XMLHttpRequest)
		transDetail_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		transDetail_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");

	transDetail_eventRequest.onreadystatechange = function() { getAccountTransactionDetailHandler(transDetail_eventRequest,order_id_arg,order_total_arg) };
	transDetail_eventRequest.open('GET',requestString,true);
	transDetail_eventRequest.send(null);

}

function getAccountTransactionDetailHandler(eventRequest,order_id_arg,order_total_arg) {

	if (eventRequest.readyState == 4) {
	
		var responseArray = eventRequest.responseText.split("||");
		
		contentString = "<table width=100%>";
		contentString += "<tr>";
		contentString += "<td valign=top><u>Transaction Time:<\/u><\/td>\n";
		contentString += "<td valign=top><u>Type:<\/u><\/td>\n";
		contentString += "<td valign=top><u>Amount:<\/u><\/td>\n";
		contentString += "<td valign=top><u>Method:<\/u><\/td>\n";
		contentString += "<td valign=top><u>Name:<\/u><\/td>\n";
		contentString += "<\/tr>\n";
		
		var transTotal = 0;
		
		if (responseArray.length > 1) {
			for (x = 0; x < responseArray.length; x++) {
			
				var transTime = responseArray[x];
				x++;
				var transType = responseArray[x];
				x++;
				var transAmount = parseFloat(responseArray[x]);
				x++;
				var transMethod = responseArray[x];
				x++;
				var transPerson = responseArray[x];
			
				contentString += "<tr>";
				contentString += "<td>"+transTime+"<\/td>";
				contentString += "<td>"+transType+"<\/td>";
				contentString += "<td>$"+transAmount.toFixed(2)+"<\/td>";
				contentString += "<td>"+transMethod+"<\/td>";
				contentString += "<td>"+transPerson+"<\/td>";
				contentString += "<\/tr>";
				
				transTotal += transAmount;
			
			}
		}
		
		contentString += "<\/table>\n<br>";
		
		contentString += "<table width=100%>\n";
		contentString += "<tr><td align=right><b>Total Paid:<\/b> $"+transTotal.toFixed(2)+"<\/td><\/tr>";
		contentString += "<\/table>";
		
		document.getElementById("reg_account_transaction_detail").innerHTML = contentString;
		
		balanceDue = parseFloat(order_total_arg) - transTotal;
		balanceString = "<table width=100%>\n";
		if (balanceDue.toFixed(2) != "0.00")
			balanceString += "<tr><td align=right><input id=\"visibility_button\" type=button value=\"Enter Payment\" onclick=\"changePaymentVisibility();\">&nbsp;<b>Balance Due:<\/b> $"+balanceDue.toFixed(2)+"<\/td><\/tr>";
		else
			balanceString += "<tr><td align=right><b>Balance Due:<\/b> $"+balanceDue.toFixed(2)+"<\/td><\/tr>";
		balanceString += "<\/table>";
		document.getElementById("reg_account_balance_due").innerHTML = balanceString;
		
				
	}
}

function accountSubmitPayment(order_id_arg) {

	document.getElementById("submit_payment_button").style.display = "none";
	document.getElementById("err_panel").innerHTML = "Processing payment...";

	var params = "order=" + order_id_arg;
	params += "&type=credit card";
	
	params += "&reg_billing_first_name=" + document.getElementById("reg_billing_first_name").value;
	params += "&reg_billing_last_name=" + document.getElementById("reg_billing_last_name").value;
	params += "&reg_billing_address=" + document.getElementById("reg_billing_address").value;
	params += "&reg_billing_city=" + document.getElementById("reg_billing_city").value;
	params += "&reg_billing_state=" + document.getElementById("reg_billing_state").options[document.getElementById("reg_billing_state").selectedIndex].value;
	params += "&reg_billing_zip_code=" + document.getElementById("reg_billing_zip_code").value;
	params += "&reg_billing_card_number=" + document.getElementById("reg_billing_card_number").value;
	params += "&reg_billing_cvv2_code=" + document.getElementById("reg_billing_cvv2_code").value;
	params += "&reg_billing_exp_month=" + document.getElementById("reg_billing_exp_month").options[document.getElementById("reg_billing_exp_month").selectedIndex].value;
	params += "&reg_billing_exp_year=" + document.getElementById("reg_billing_exp_year").options[document.getElementById("reg_billing_exp_year").selectedIndex].value;
	params += "&payment_amount=" + document.getElementById("payment_amount").value;

	requestString = "/accounts/ajax_applyPayment.php";
				
	if (window.XMLHttpRequest)
		makePayment_eventRequest = new XMLHttpRequest();
	else if (window.ActiveXObject)
		makePayment_eventRequest = new ActiveXObject("Microsoft.XMLHTTP");
		
		
	makePayment_eventRequest.onreadystatechange = function() { accountSubmitPaymentHandler(makePayment_eventRequest,order_id_arg) };
	makePayment_eventRequest.open('POST',requestString,true);
	
	makePayment_eventRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	makePayment_eventRequest.setRequestHeader("Content-length", params.length);
	makePayment_eventRequest.setRequestHeader("Connection", "close");
	
	makePayment_eventRequest.send(params);	

}

paymentVisible = false;

function changePaymentVisibility() {

	if (paymentVisible) {
		document.getElementById("payment_info_pane").innerHTML = "";
		document.getElementById("submit_payment_button").style.display = "none";
		document.getElementById("visibility_button").value = "Enter Payment";
		document.getElementById("err_panel").style.display = "none";
		paymentVisible = false;	
		
	} else {

		document.getElementById("visibility_button").value = "Close Payment Form Without Paying";
		paymentVisible = true;
		document.getElementById("submit_payment_button").style.display = "block";
		getSimpleBillingInfoForm('payment_info_pane');
		document.getElementById("err_panel").innerHTML = "";
		document.getElementById("err_panel").style.display = "block";
	}

}

function accountSubmitPaymentHandler(eventRequest,order_id_arg) {

	if (eventRequest.readyState == 4) {
	
		if (eventRequest.responseText != "success") {
			document.getElementById("err_panel").innerHTML = eventRequest.responseText;
			document.getElementById("submit_payment_button").style.display = "block";
		} else {
			document.location.href="account_order_detail.php?order_id="+order_id_arg;
		}	
	
	}

}
