// crValidate.js

var errfound = false;
var firstsubmit = false;
var EM="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@.";

function prepareSubmit (form)
{
	if (validate())
		form.submit();
}

// main validation function
function validate() {
	errfound = false;
	$("input").removeClass("highlight");
	$("#input").removeClass("highlight");
	$("#equipment-input").removeClass("highlight");
	$("#province").removeClass("highlight");
		
	// email verification:
	with (document.contactForm) {

		if(firstName.value == '') {
			error("Your first name is required",firstName);
		}
		if(lastName.value == '') {
			error("Your last name is required",lastName);
		}
		if (emailAddress.value.indexOf("@") == -1 || emailAddress.value.indexOf("..") != -1 || emailAddress.value.indexOf(".") == -1 || emailAddress.value.indexOf("@.") != -1 || emailAddress.value.indexOf(".@") != -1 || emailAddress.value.indexOf("@-") != -1 || emailAddress.value.indexOf("-@") != -1 || emailAddress.value.indexOf("@_") != -1 || emailAddress.value.indexOf("_@") != -1 || emailAddress.value.substr(emailAddress.value.indexOf("@"),emailAddress.value.length-1).indexOf(".") == -1 || emailAddress.value.indexOf("@@") != -1 || emailAddress.value.lastIndexOf(".") == emailAddress.value.length-1 ) {
			error("The Email Address you have entered is invalid.\nPlease enter a valid Email Address.",emailAddress);
		}

		for (i=0;i<emailAddress.value.length;i++) {
			temp=emailAddress.value.substring(i,i+1);
			if (EM.indexOf(temp) == -1) {
				error("Your e-mail address contains invalid characters.\nPlease enter a valid email address.",emailAddress);
				break;
			}
		}

		if (emailAddress.value != emailConfirm.value) {
			error("The Email Addresses you entered do not match.\nPlease enter matching email addresses.",emailConfirm);
		}

		// equipment checkbox verification:
		if($('.productLinesLeft:checked').val() == null && $('.productLines:checked').val() == null && !errfound){
   			error("Please select an equipment type.","trm_productline");
			$("#equipment-input").addClass("highlight");
			$("#trm_productline").focus();
		}
	}
	return !errfound;
}

// display an error alert
function error(text,element) {
	if (errfound) return;
	$('#errorMessage').show();
	$('#errorMessage').text(text);
	errfound = true;
	if (element!="" && element!="trm_productline") {
		element.focus();
		$(element).addClass("highlight");
	}
}

