// function to trim decimal entries (such as cost) to only two decimal points
// X = form field passed in form.field format
function dollarFormat(x) {
	var holder;

	// what element are we looking at
	var whatElement = eval(x);
	holder = whatElement.value;

	// find decimal if it exists, pad or trim as necessary
	var whereDot = holder.indexOf(".");

	if ( whereDot >= 0 ) {

		// leads with decimal; pad with lead zero
		if (whereDot == 0) {
			holder = "0" + holder;
		}
		whereDot = holder.indexOf(".");
		// if more than two characters after the decimal; truncate
		if (whereDot + 2 < holder.length) {
			holder = holder.substring(0,whereDot + 3);
		}
		whereDot = holder.indexOf(".");
		// if less than two digits AFTER decimal, pad with zero
		if (whereDot + 2 == holder.length) {
			holder = holder + "0";
		}
		else if (whereDot + 1 == holder.length) {
			holder = holder + "00";
		}

	}
	// no decimal; pad with default value
	else {
		holder = holder + ".00";
	}

	// final act - re-assign value
	whatElement.value = holder;

} // end dollarFormat()


// each character entered in box is analyzed upon entry
// to determine if a valid character - will delete any non-numbers
// or second decimal
// X = field under examination in form.field format
function charReplace(x) {

	// set list of valid characters
	var strValidChars = "0123456789.";

	// what element are we looking at
	var whatElement = eval(x);

	// eliminate all white spaces; minimize error messages due to typing errors
	whatElement.value = whatElement.value.replace(" ", "");
	// strip commas
	whatElement.value = whatElement.value.replace(",","");

	// strip NON-valid chars
	for (i = 0; i < whatElement.value.length; i++) {
		if (strValidChars.indexOf(whatElement.value.charAt(i)) == -1) {
			whatElement.value = whatElement.value.substring(0,i) + whatElement.value.substring(i,whatElement.value.length -1);
		} // end non-valid chars IF
	} // end FOR

	// if > one decimal, trunate all after the second decimal
	if ( (whatElement.value.indexOf(".") ) != ( whatElement.value.lastIndexOf(".") ) ) {
		whatElement.value = whatElement.value.substring(0,whatElement.value.lastIndexOf("."))

	} // end double(plus) dotting

} // end charReplace


// Function to add commas to given form field
// X = form field to get value from to format (will then be assigned back by function) in form.field format
function commaFormat(x) {

	// what element are we looking at
	var whatElement = eval(x);
	var holder = whatElement.value;
	var myArray = holder.split('.');
	var myNumber = myArray[0]; // temp for non-decimal part

	var iStart = myNumber.length;
	iStart -= 3;
	while (iStart >= 1) {
		myNumber = myNumber.substring(0,iStart) + "," + myNumber.substring(iStart,myNumber.length)
		iStart -= 3;
	}

	// join the two parts together
	if (myArray[1]!=null) {
		myNumber = myNumber + "." + myArray[1];
	} 
	
	// set the element to value
	whatElement.value = myNumber;

} // end commaFormat()


