//////////////////////////////////////////////////////////////////////
//
// function backButtonOverride()
//
//////////////////////////////////////////////////////////////////////

function backButtonOverride() {
	// Work around a Safari bug that sometimes produces a blank page
	setTimeout("backButtonOverrideBody()", 1);
}


//////////////////////////////////////////////////////////////////////
//
// function backButtonOverrideBody()
//
//////////////////////////////////////////////////////////////////////

function backButtonOverrideBody() {
	// Works if we backed up to get here
	try {
		history.forward();
	} catch (e) {
		// OK to ignore
	}
	// Every quarter-second, try again. The only guaranteed method for Opera, 
	// Firefox, and Safari, which don't always call onLoad but *do* resume 
	// any timers when returning to a page.
	setTimeout("backButtonOverrideBody()", 500);
}


//////////////////////////////////////////////////////////////////////
//
// function isNum(passedVal)
//
//////////////////////////////////////////////////////////////////////

function isNum(passedVal) {
	if (passedVal == "") {
		return false;
	}

	for (i = 0; i < passedVal.length; i++) {
		if (passedVal.charAt(i) < "0") {
			return false;
		}
		
		if (passedVal.charAt(i) > "9") {
			return false;
		}
	}

	return true;
}


//////////////////////////////////////////////////////////////////////
//
// function isCurrency(passedVal)
//
//////////////////////////////////////////////////////////////////////

function isCurrency(passedVal) {
	if (passedVal == "") {
		return false;
	}

	var decimalCount = 0;
	
	for (i = 0; i < passedVal.length; i++) {
		if (passedVal.charAt(i) == ".") {
			if (decimalCount > 0) {
				return false;
			} else {
				decimalCount++;
			}
		} else {
			if (passedVal.charAt(i) < "0") {
				return false;
			}

			if (passedVal.charAt(i) > "9") {
				return false;
			}
		}
	}

	return true;
}


//////////////////////////////////////////////////////////////////////
//
// function isValidEmail(passedVal)
//
//////////////////////////////////////////////////////////////////////

function isValidEmail(passedVal) {
	var emailRegEx = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	
	return emailRegEx.test(passedVal); 
}


//////////////////////////////////////////////////////////////////////
//
// function isValidPhone(passedVal)
//
//////////////////////////////////////////////////////////////////////

function isValidPhone(passedVal) { 
	var phoneRegEx = /^\d\d\d\-\d\d\d-\d\d\d\d$/; 
	
	return phoneRegEx.test(passedVal);
}

