function chkNumber(fld) {
	var exp = /^\d*\.?\d*$/
	if (fld.value.search(exp) == -1) {
		alert('You have entered an invalid number.');
		fld.focus();
		fld.select();
		return false;
	} else {
		return true;
	}
}
function errFld(fld, msg) { alert(msg); fld.focus(); try {fld.select();} catch(e) { }; return false; }
function fixPhone(val) {
	var exp1 = /^\d{10}$/
	var exp2 = /^\d{3}-\d{3}-\d{4}$/
	var exp3 = /^\(\d{3}\) \d{3}-\d{4}$/
	if (val.search(exp1) != -1) {
		return "(" + val.substr(0,3) + ")" + val.substr(3,3) + "-" + val.substr(6,4);
	} else {
		if (val.search(exp2) != -1) {
			return "(" + val.substr(0,3) + ")" + val.substr(4,8);
		} else {
			if (val.search(exp3) != -1) {
				return val.substr(0,5) + val.substr(6,8);
			} else {
				return val;
			}
		}
	}
}
function fixSSN(val) {
	var exp = /^\d{9}$/
	if (val.search(exp) != -1) {
		return val.substr(0,3) + "-" + val.substr(3,2) + "-" + val.substr(5,4);
	} else {
		return val;
	}
}
function isCAPostCode(fld) {
	var exp = /^[A-Za-z]\d[A-Za-z] \d[A-Za-z]\d$/
	return (fld.value.search(exp) != -1);
}
function isDate(fld) {
//	var exp = /^\d\d?[\/-]?\d\d?[\/-]?\d{4}$/
	var exp = /^\d\d?[\/-]\d\d?[\/-]\d{4}$/
	if (fld.value.search(exp) == -1) { return false; }
	else {
		var fldval,mm,dd,yyyy,indx
		fldval=fld.value.toString();
		if ((fldval.substr(1,1)=="/")||(fldval.substr(1,1)=="-")) { mm=fldval.substr(0,1); } else {mm=fldval.substr(0,2); }
		if ((fldval.substr(2,1)=="/")||(fldval.substr(2,1)=="-")) { indx=3; } else { indx=2 }
		if ((fldval.substr(indx+1,1)=="/")||(fldval.substr(indx+1,1)=="-")) { dd=fldval.substr(indx,1); } else {dd=fldval.substr(indx,2); }
		yyyy = fldval.substr(fldval.length-4,4);
		var testdate = new Date(yyyy,mm-1,dd);
		return ((mm-1 == testdate.getMonth()) && (dd == testdate.getDate()));
	}
}
function isEmail(fld) {
	var exp = /^[A-Za-z0-9_\-]+([\.][A-Za-z0-9_\-]+)*[@][A-Za-z0-9_\-]+([\.][A-Za-z0-9_\-]+)+$/
	return (fld.value.search(exp) != -1);
}
function isEmpty(fld) { return (fld.value.length == 0); }
function isPhone(fld) {
	var exp = /^\d{10}$|^\d{3}-\d{3}-\d{4}$|^\(\d{3}\) ?\d{3}-\d{4}$/
	return (fld.value.search(exp) != -1);
}	
function isSSN(fld) {
	var exp = /^\d{3}-?\d{2}-?\d{4}$|^\d{2}-\d{7}$/
	return (fld.value.search(exp) != -1);
}
function isUSZIPCode(fld) {
	var exp = /^\d{5}$/
	var exp2 = /^\d{5}-\d{4}$/
	return ((fld.value.search(exp) != -1) || (fld.value.search(exp2) != -1));
}
function isValidCCNum(fld,cctype) {
	var exp = /^\d{16}$/
	var exp2 = /^\d{15}$/
	var cctype2 = cctype.toUpperCase();
	if ((cctype2=="VISA")||(cctype2=="MASTERCARD")||(cctype2=="DISCOVER")) {
		return (fld.value.search(exp) != -1);
	} else {
		if (cctype2=="AMERICAN EXPRESS") {
			return (fld.value.search(exp2) != -1);
		}
	}
}
function fixDate(val) {
	var exp = /^\d\d?[\/-]\d\d?[\/-]\d{4}$/
	if (fld.value.search(exp) == -1) { return false; }
	else {
		var fldval,mm,dd,yyyy,indx
		fldval=fld.value.toString();
		if ((fldval.substr(1,1)=="/")||(fldval.substr(1,1)=="-")) { mm=fldval.substr(0,1); } else {mm=fldval.substr(0,2); }
		if ((fldval.substr(2,1)=="/")||(fldval.substr(2,1)=="-")) { indx=3; } else { indx=2 }
		if ((fldval.substr(indx+1,1)=="/")||(fldval.substr(indx+1,1)=="-")) { dd=fldval.substr(indx,1); } else {dd=fldval.substr(indx,2); }
		yyyy = fldval.substr(fldval.length-4,4);
		var testdate = new Date(yyyy,mm-1,dd);
		return ((mm-1 == testdate.getMonth()) && (dd == testdate.getDate()));
	}
}
