
/* FORM VALIDATION
------------------------------------------------------- */
function ValidateInstant(elem) {
    $(elem).parents('li').filter(':first').removeClass("error");
    $(elem).parents('li').filter(':first').removeClass("validated");
    $(elem).parents('fieldset').filter(':first').removeClass("error");
    $(elem).parents('fieldset').filter(':first').removeClass("validated");

    var valid = false;
    var isRequired = !$(elem).hasClass("bus"); // bus is not required
    var isText = $(elem).attr("type") == "text";
    var isEmail = $(elem).hasClass("email");
    var isNum = $(elem).hasClass("number");
    var isRadio = $(elem).attr("type") == "radio";
    var isSelect = $(elem).is("select");
    var isCharOnly = $(elem).hasClass("charonly");

    var regexLetter = /[^a-zA-Z+]/;
    var isWhole_re = /^\s*\d+\s*$/;

    if (isRequired && (
                    (isText && ($(elem).prev("label").html() == $(elem).val() || $(elem).val() == "" || (isNum && !isWhole_re.test($(elem).val())) || (isCharOnly && regexLetter.test($(elem).val())) || (isEmail && !isValidEmailAddress($(elem).val())))) // value is equal to label text or value is empty
                || (isRadio && ($(elem).parent().find("input[@name='" + $(elem).attr("name") + "']:checked").length == 0)) // no radio buttons selected
                || (isSelect && $(elem).val() == "") // dropdown selectedvalue is empty
                )) {
        // show error message
        $(elem).parents('li').filter(':first').addClass("error");
    }
    else {
        $(elem).parents('li').filter(':first').addClass("validated");
    }
}

function ValidateForm() {
    $(".uni_form li").removeClass("error"); // hide error messages
    $(".uni_form li").removeClass("validated"); // hide validated messages

    $(".uni_form li").each(function () {
        $(this).find("input,select").each(function () {
            var valid = false;
            var isRequired = !$(this).hasClass("bus"); // bus is not required
            var isText = $(this).attr("type") == "text";
            var isEmail = $(this).hasClass("email");
            var isNum = $(this).hasClass("number");
            var isRadio = $(this).attr("type") == "radio";
            var isSelect = $(this).is("select");
            var isCharOnly = $(this).hasClass("charonly");

            var regexLetter = /[^a-zA-Z+]/;
            var isWhole_re = /^\s*\d+\s*$/;

            if (isRequired && (
                     (isText && ($(this).prev("label").html() == $(this).val() || $(this).val() == "" || (isNum && !isWhole_re.test($(this).val())) || (isCharOnly && regexLetter.test($(this).val())) || (isEmail && !isValidEmailAddress($(this).val())))) // value is equal to label text or value is empty
                  || (isRadio && ($(this).parents().find("input[@name='" + $(this).attr("name") + "']:checked").length == 0)) // no radio buttons selected
                  || (isSelect && $(this).val() == "") // dropdown selectedvalue is empty
                    )) {
                // show error message
                $(this).parents('li').filter(':first').addClass("error");
                //$(this).parent("li").addClass("error");
            }
            else {
                $(this).parents('li').filter(':first').addClass("validated");
                //$(this).parent("li").addClass("validated");
            }
        });
    });

    return $(".uni_form li.error").length == 0;
}

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}
	
	
	$(document).ready(function() {

	    $("div.nieuwsbrief input").keyup(function(){
	    var email = $("div.nieuwsbrief input").val();

	    if(email != 0)
	    {
	    if(isValidEmailAddress(email))
	    {
	    $("#ImageValidate").attr("src", '/images/validyes.png');
	    $("#ImageValidate").show();
	 
	    } else {
	    $("#ImageValidate").attr("src", '/images/validno.png');
	    $("#ImageValidate").show();
 
	    }
	 
	    } else {
	 
	    $("#ImageValidate").hide();
	 
	    }
	    });
	});
