//==------------------------------------------------------------==
//== JavaScript Document                                        ==
//==                                                            ==
//== utility.js                                                 ==
//== Custom utility routines                                    ==
//==------------------------------------------------------------==


function formatCommas(numString) {
	var re = /(-?\d+)(\d{3})/;
	while (re.test(numString)) {
		numString = numString.replace(re, "$1,$2");
	}
	return numString;
}


//==------------------------------------------------------------==
//== Checks each event passed for which key was pressed (if     ==
//== any) and returns true only if a numeric or editing key     ==
//==   Parameters:                                              ==
//==     evt: Reference to the event                            ==
//==------------------------------------------------------------==
function numeralsOnly(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
			((evt.keyCode) ? evt.keyCode : evt.which);
		if (charCode > 13 && (charCode < 48 || charCode > 57)) {
			if (evt.returnValue) {
				evt.returnValue = false;
			} else if (evt.preventDefault) {
					evt.preventDefault();
			} else {
					return false;
			}
		}
	}
}

//==------------------------------------------------------------==
//== Checks each event passed for which key was pressed (if     ==
//== any) and returns true only if a numeric or editing key     ==
//==   Parameters:                                              ==
//==     evt: Reference to the event                            ==
//==------------------------------------------------------------==
function numeralsOnly(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
			((evt.keyCode) ? evt.keyCode : evt.which);
		if (charCode > 13 && (charCode < 48 || charCode > 57)) {
			if (evt.returnValue) {
				evt.returnValue = false;
			} else if (evt.preventDefault) {
					evt.preventDefault();
			} else {
					return false;
			}
		}
	}
}

//==------------------------------------------------------------==
//== Checks each event passed for which key was pressed (if     ==
//== any) and returns true only if a numeric or editing key     ==
//==   Parameters:                                              ==
//==     evt: Reference to the event                            ==
//==------------------------------------------------------------==
function decimalOnly(evt, elem) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var str = elem.value;
		var str = str.toString();
		var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
			((evt.keyCode) ? evt.keyCode : evt.which);
		if (charCode == 46) {
			if (str.indexOf(".") > -1) {
				return false;
			}
		}
		else if (charCode > 13 && (charCode < 48 || charCode > 57)) {
			if (evt.returnValue) {
				evt.returnValue = false;
			} else if (evt.preventDefault) {
					evt.preventDefault();
			} else {
					return false;
			}
		}
	}
}
