/**
	This file contains functions used by the transactions page
**/

function UpdateTotal(creditAmtInput,debitAmtInput,totalAmtInput, grandTotalAmtInput,isViewableInput){
	//var creditAmount = creditAmtInput.value
	
	var creditAmount = myParseFloat(creditAmtInput.value);
	var debitAmount = myParseFloat(debitAmtInput.value);
	var totalAmount = myParseFloat(totalAmtInput.value);
	var grandTotalAmount = myParseFloat(grandTotalAmtInput.value);
	
	var newTotalAmount = debitAmount - creditAmount;
	
	var newGrandTotalAmount = grandTotalAmount - (totalAmount - newTotalAmount);
	
	creditAmtInput.value = DecimalFormat(creditAmount);
	debitAmtInput.value = DecimalFormat(debitAmount);
	//if this is the first time the amount has been updated, also check the isViewable box
	if(! totalAmtInput.value.length)
		isViewableInput.checked = true;
	totalAmtInput.value = DecimalFormat(newTotalAmount);
	grandTotalAmtInput.value = DecimalFormat(newGrandTotalAmount);
	
	
	
	if(newTotalAmount <= 0)
		totalAmtInput.className = "amount";
	else
		totalAmtInput.className = "amountNegative";
	if(newGrandTotalAmount <= 0)
		grandTotalAmtInput.className = "amount";
	else
		grandTotalAmtInput.className = "amountNegative";
		
}

function myParseFloat(str){
	str = str.replace(/[^0-9\.\-]/g, "");
	myFloat = isNaN(parseFloat(str))? 0:parseFloat(str);
	return myFloat;
}

function DecimalFormat(num){
	num = num.toFixed(2);
	num = num.replace(/([0-9]{1,3})([0-9]{3})([0-9]{3}|\.)/g,"$1,$2$3");
	return num;
}
