﻿$(document).ready(function() {

    var form = $("#aspnetForm");
    $('input[type="text"]').addClass("idleField");
    $('textarea').addClass("idleField");
    $('#ctl00_ContentPlaceHolder1_btnverzenden').click(function() {
        formIsValid = true
        if (checkIsEmpty('name')) formIsValid = false;
        if (checkIsEmpty('address')) formIsValid = false;
        if (checkIsEmpty('city')) formIsValid = false;
        if (checkIsEmpty('zipcode')) formIsValid = false;
        if (checkIsEmpty('phone')) formIsValid = false;
        if (checkIsEmpty('subject')) formIsValid = false;
        if (CheckEmail() == false) {
            formIsValid = false;
            var tId = "#email";
            SetErrorClass(tId);
        }
        return formIsValid;
    });


    $('input[type="text"]').focus(function() {
        $(this).removeClass("errorField");
        $(this).removeClass("idleField").addClass("focusField");
        if (this.value == this.defaultValue) {
            this.value = '';
        }
        if (this.value != this.defaultValue) {
            this.select();
        }
    });

    $('input[type="text"]').blur(function() {
        tId = $(this).attr('id');
        fIsValid = true;
        lLengte = $(this).val().length;
        if ($.trim(this.value) == '') {
            tClass = "idleField";
            this.value = (this.defaultValue ? this.defaultValue : '');
        }
        else {
            tClass = "idleFieldFilled";
        }
        switch (tId) {
            case "phone":
            case "city":
            case "address":
            case "zipcode":
            case "name":
            case "subject":
                if ($(this).val().length < 4 && (this.value != this.defaultValue)) {
                    fIsValid = false
                }
                break;
            case "email":
                if (!CheckEmail()) fIsValid = false;
                break;
            default:
                fIsValid = true;
                break;
        }
        if (!fIsValid) {
            SetErrorClass("#" + tId);
        } else {
            RemoveClasses("#" + tId);
            $(this).addClass(tClass);

        }
    });


    function checkIsEmpty(ptId) {

        tId = "#" + ptId;
        if (document.getElementById(ptId) != null) {
            
            var tdefaultv = document.getElementById(ptId).defaultValue;
            var tvalue = document.getElementById(ptId).value;

            if ($(tId).val().length < 4 || (tdefaultv == tvalue)) {
                SetErrorClass(tId);
                return true;
            }
            else return false;
        }
        else {
            return false;
        }

    }

    $('textarea').focus(function() {
        $(this).removeClass("idleField").addClass("focusField");
        if (this.value == this.defaultValue) {
            this.value = '';
        }
        if (this.value != this.defaultValue) {
            this.select();
        }
    });
    $('textarea').blur(function() {
        $(this).removeClass("focusField").addClass("idleField");
        if ($.trim(this.value) == '') {
            this.value = (this.defaultValue ? this.defaultValue : '');
        }
    });

    function CheckEmail() {
        var tdefaultv = document.getElementById("email").defaultValue;
        var tvalue = document.getElementById("email").value;
        var fIsValid = true;
        var emailReg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
        fIsValid = emailReg.test(tvalue);
        if (tvalue.length < 4 && (tvalue.value != tdefaultv.defaultValue)) {
            fIsValid = false
        }
        return fIsValid;
    };


    function RemoveClasses(ptId) {
        $(ptId).removeClass("focusField");
        $(ptId).removeClass("focusFieldFilled");
        $(ptId).removeClass("idleField");
        $(ptId).removeClass("idleFieldFilled");
        $(ptId).removeClass("errorField");
    }

    function SetErrorClass(ptId) {
        tClass = "errorField";
        RemoveClasses(ptId);
        $(ptId).addClass(tClass);
    }


});
