// function create GetXmlHttpObject 
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function GetXmlHttpObject() 
{ 
    if (window.XMLHttpRequest) 
    { 
        // code for IE7+, Firefox, Chrome, Opera, Safari 
        return new XMLHttpRequest(); 
    } 
    if (window.ActiveXObject) 
    { 
        // code for IE6, IE5 
        return new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return null; 
} 
 
function submitFormWithAjax(theForm)
{
    var myAjaxPostrequest=new GetXmlHttpObject(); 

 
    var invoiceNumber=theForm.FRMinvoiceNumber.value; 
    var invoiceAmount=theForm.FRMinvoiceAmount.value; 


        var errorDiv, paymentDiv;
	errorDiv = document.getElementById("invoiceNotFoundError");


	paymentDiv = document.getElementById("paymentDetails");

	errorDiv.style.display = 'none';
	paymentDiv.style.display = 'none';
	

	document.getElementById("invoiceAmount").innerHTML = '';
	document.getElementById("paymentAmount").innerHTML = '';
 
    var parameters="invoiceNumber="+invoiceNumber+"&invoiceAmount="+invoiceAmount; 
 
    myAjaxPostrequest.open("GET", "/hcst/invoicePayment.php?" + parameters, false); 
    myAjaxPostrequest.send(""); 
    
	 
    xml = myAjaxPostrequest.responseXML;
	var xmlStatus = xml.getElementsByTagName("status")[0].childNodes[0].nodeValue;

	if (xmlStatus == 'OK')
	{
		// Invoice Found!
		billName = xml.getElementsByTagName("billName")[0].childNodes[0].nodeValue;

		var invoiceTotal = xml.getElementsByTagName("invoiceTotal")[0].childNodes[0].nodeValue * 1;
		var clientID = xml.getElementsByTagName("clientID")[0].childNodes[0].nodeValue;
		var billName = xml.getElementsByTagName("billName")[0].childNodes[0].nodeValue;
		var billAddr = xml.getElementsByTagName("billAddr")[0].childNodes[0].nodeValue;
		var billCity = xml.getElementsByTagName("billCity")[0].childNodes[0].nodeValue;
		var billState = xml.getElementsByTagName("billState")[0].childNodes[0].nodeValue;
		var billZip = xml.getElementsByTagName("billZip")[0].childNodes[0].nodeValue;

		// Paypal charges 2.9% + 30cents per transaction. Find out how much we must pay
		// such that we always end up with the invoiceTotal.
		// Make sure we round it!
		var paymentAmount = Math.round(((invoiceTotal + .3) / 0.971)*100)/100;

		document.getElementById("billName").innerHTML = billName;
		document.getElementById("billAddr").innerHTML = billAddr;
		document.getElementById("billCity").innerHTML = billCity;
		document.getElementById("billState").innerHTML = billState;
		document.getElementById("billZip").innerHTML = billZip;
		document.getElementById("invoiceAmount").innerHTML = formatCurrency(invoiceTotal);
		document.getElementById("paymentAmount").innerHTML = formatCurrency(paymentAmount);
	
		document.paypalPayment.item_name.value = 'HCST Invoice ' + invoiceNumber;
		document.paypalPayment.item_number.value = invoiceNumber;
		document.paypalPayment.custom.value = clientID;
		document.paypalPayment.amount.value = paymentAmount;

		// Setting this one here... Putting on the form invokes the email-address-cloaking plugin, which messes with this form value.
		document.paypalPayment.business.value = 'payments@hcst.com';
		// document.paypalPayment.business.value = 'seller_12844864410_biz@hcst.com';

		paymentDiv.style.display = 'block';

	}
	else
	{
		errorDiv.style.display = 'block';
	}
} 

function submitToPaypal()
{
	document.paypalPayment.submit();
}

