// Developed by: Brenda Harlow (brenda (at) harlowtech.com)
// Inspiration from:	http://developer.apple.com/internet/webcontent/validation.html
//						http://particletree.com/features/a-guide-to-unobtrusive-javascript-validation/
//						http://www.xs4all.nl/~sbpoley/webmatters/formval.html

function returnMessage(thisfield, thismsg) { // If Error return message and focus to the problem area
	alert (thismsg);
	document.getElementById(thisfield).focus();
}
function returnAlert(thismsg) { // If Error return message about problem area
	alert (thismsg);
}
function returnCheck(thisfield, thismsg) { // If Error return message and focus to the problem area
	alert (thismsg);
	thisfield.focus();
}

function validateReq(thisfield) { // Check for Empty Fields
	if (document.getElementById(thisfield).value != "") { return true; }
	else { return false; }
}

function validateChk(thisfield) { // Check for Radio / Checkbox Fields Checked
	for (i=0, n=thisfield.length; i<n; i++) {
   		if (thisfield[i].checked) {
    		var checkvalue = thisfield[i].value;
    		break;
   		}
	}
	if (checkvalue) { return true; }
	else { return false; }
}

function validateDrop(thisfield) { // Check for Empty Drop Down
	var test1 = document.getElementById(thisfield).options[document.getElementById(thisfield).selectedIndex].value != "";
	var test2 = document.getElementById(thisfield).options[document.getElementById(thisfield).selectedIndex].value != "null";
	if (test1 && test2) { return true; }
	else { return false; }
}

function validateDate(thisfield) { 	// Date regular expression from (http://www.regexlib.com)
	var regex = /(((0[13578]|10|12)([\/])(0[1-9]|[12][0-9]|3[01])([\/])(\d{4}))|((0[469]|11)([\/])([0][1-9]|[12][0-9]|30)([\/])(\d{4}))|((2)([\/])(0[1-9]|1[0-9]|2[0-8])([\/])(\d{4}))|((2)(\/)(29)([\/])([02468][048]00))|((2)([\/])(29)([\/])([13579][26]00))|((2)([\/])(29)([\/])([0-9][0-9][0][48]))|((2)([\/])(29)([\/])([0-9][0-9][2468][048]))|((2)([\/])(29)([\/])([0-9][0-9][13579][26])))/;
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; }
}

function validateTime(thisfield) {
	var regex = /^((([0]?[1-9]|1[0-2])(:)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|PM))|(([0]?[0-9]|1[0-9]|2[0-3])(:)[0-5][0-9]((:)[0-5][0-9])?))$/
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; }

}

function validateEmail(thisfield) { // Email regular expression from (http://www.regexlib.com)
	var regex=/^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; }
}

function validatePhone(thisfield) { // Validates a basic US phone number. Written by Jason N. Gaylord.(http://www.regexlib.com) Matches: [555-555-1212],[123-456-7890]
	var regex=/^(\d{3}-\d{3}-\d{4})*$/;
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; 	}
}

function validateZip(thisfield) { // US zipcodes not allowing all zeros in first 5 or +4 (http://www.regexlib.com) Matches: [12345],[12345-6789],[123456789]
	var regex=/(^(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?$)/;
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; }
}

function validatePswd(thisfield) { 
//Description: The first char must be a letter, min 4 char, max 15 char, and only char allowed [0-9a-zA-Z_] Matches: [abcd],[aBc45DSD_sdf],[password] (http://www.regexlib.com)
	var regex=/^[a-zA-Z]\w{3,14}$/;
	var f = document.getElementById(thisfield).value;
	if (regex.test(f)) { return true; }
	else { return false; }
}

function validateSame(thisfield,reenter) { // Checks two fields and makes sure they are the same.
	var f = document.getElementById(thisfield).value;
	var r = document.getElementById(reenter).value;
	if (f == r) { return true; }
	else { 
		document.getElementById(thisfield).value = '';
		document.getElementById(reenter).value = '';
		return false; }
}

function validateNumeric(thisfield) {  //Input for Numeric values. Matches: [5,000],[-5,000],[100.044] (http://www.regexlib.com)
 	var regex=/^(\d|-)?(\d|,)*\.?\d*$/;
	var f = document.getElementById(thisfield).value;
 	if (regex.test(f)) { return true; }
	else { return false; }
}