﻿/// intellisense documentation for jquery
/// <reference path="jquery-1.3.2.intellisense.js" />

function validateField(fieldToValidate) {
    fieldId = ":input[name=" + fieldToValidate + "]";
    valueToValidate = $.trim($(fieldId).fieldValue() + "");
    error = valueToValidate.length == 0
    setErrorField(error, fieldId);
    return error;
}

function validateEmail(value) {
    var regex = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return regex.test(value);
}

function validateEmailField(fieldToValidate) {
    error = validateField(fieldToValidate, null);
    if (!error) {
        fieldId = ":input[name=" + fieldToValidate + "]";
        valueToValidate = $.trim($(fieldId).fieldValue() + "");
        error = !validateEmail(valueToValidate);
        setErrorField(error, fieldId);
    }
    return error;
}

function setErrorField(error, fieldId) {
    if (error) {
        $(fieldId).parent().find("span").addClass("error");

    } else {
        $(fieldId).parent().find("span").removeClass("error");
    }
}

function validateEnquiryFields() {
	if (!$validEnquiry)
	{	
		$(":input[name=enquiryLevel1]").parent().prev("div").children("p").addClass("error");		
	} else
	{
		$(":input[name=enquiryLevel1]").parent().prev("div").children("p").removeClass("error");
	}

	return !$validEnquiry;
}

function validate() {
    errorVal = false;
    errorVal = validateField("lastName") || errorVal;
    errorVal = validateEmailField("email") || errorVal;
    errorVal = validateField("question") || errorVal;	
	errorVal = validateEnquiryFields() || errorVal;
	
    if (errorVal) {
        $(".form .errormsg").show();
    }
    else {
        $(".form .errormsg").hide();
    }
    return !errorVal;
}

$(
    	function() {
    	    $("#submitForm").bind("click",
			    function() {
			        valid = validate();					
					
			        if (valid) {
			            fieldId = ":input[name=filledForm]";
			            $(fieldId).val('y');
			        }
										
			        return valid;
			    }
			)
    	}
    )

