// JavaScript Document

function CheckForm(form)

{

    if(valBlank(form.FullName, "Please enter your Full Name")) return false;

    if(valBlank(form.CompanyName, "Please enter your Company Name")) return false;

    if(valBlank(form.Email, "Please enter your Email Address")) return false;

    if(valBlank(form.TelephoneNumber, "Please enter your Telephone Number")) return false;
	
    if(valBlank(form.City, "Please enter your City")) return false;
	
    if(valBlank(form.Province, "Please enter your Province")) return false;
	
    if(valBlank(form.Country, "Please select your Country")) return false;

    if(valEmail(form.Email, "Please enter your Email address in the correct format: yourname@domain.com")) return false;

}

// Regular expressions for form validations

var rgBlank = /^\s*$/;

var rgNumber = /^[0-9]+$/;

var rgWords = /^[a-zA-Z\s-]+$/;

var rgPhone = /^[0-9-)(+\s]+$/;

var rgEmail = /^[\w\.-]+@[\w-]+\.[\w\.-]+$/;

var rgInteger = /^\d+$/;

// Date format is DD/MM/YYYY



function valNotBlank(el) {

    if(!rgBlank.test(el.value))

        return true;

    return false;

}

function valBlank(el, msg) {

    if(rgBlank.test(el.value)) {

        alert(msg);

        el.focus();

        return true;

    }

    return false;

}

function valNumber(el, msg) {

    if(isNaN(el.value)) {

        alert(msg);

        el.focus();

        return true;

    }

    return false;

}

function valSelected(el, msg) {

    if(el.selectedIndex==0) {

        alert(msg);

        el.focus();

        return true;

    }

    return false;

}

function valPhone(el, msg) {

    if(!rgPhone.test(el.value)) {

        alert(msg);

        el.focus();

        return true;

    }

    return false;

}

function valEmail(el, msg) {

    if(!rgEmail.test(el.value)) {

        alert(msg);

        el.focus();

        return true;

    }

    return false;

}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
(function($){
    $(document).ready(function(){
        var rgPhone = "^[0-9-)(+\s]+$";
        var rgBlank = "^\s*$";
        var rgEmail = "^([a-zA-Z0-9_\.\-]+)\@(([a-zA-Z0-9\-]+)\.)+[a-zA-Z0-9\-]+$";
        $("form[name=contactform]").submit(function(){
            var allValid = true;
            $(this).find("input[type=text]").each(function(){
                if(!isValid($(this))){
                    allValid = false;
                }
            });
            return allValid;

        });
        var isValid = function(control){
            var $this = control;
            var value = $this.val();
            var errorType = 0;//0 - none, 1 - blank, 2 - invalid value
            var field = $this.attr('name');
            if(field == "x_code"){
                if($this.val().trim()==""){
                    $this.addClass("error");
                    return false;
                }else{
                    $this.removeClass("error");
                    return true;
                }
            }
            if(value.match(rgBlank)){
                errorType = 1;
            }
            if(field == "Email"){
                if(!value.match(rgEmail)){
                    errorType = 2;
                }
            }else if(field == "TelephoneNumber"){
                if(!value.match(rgPhone)){
                    errorType = 2;
                }
            }
            var errorDiv = $this.prev(".error");
            if(errorType == 0){
                errorDiv.hide();
                $this.removeClass("error");
            }else if(errorType == 1){
                $this.addClass("error");
                errorDiv.html($this.data('whenBlankMsg'));
                errorDiv.show();
                return false;
            }else if(errorType == 2){
                $this.addClass("error");
                errorDiv.html($this.data('errorMsg'));
                errorDiv.show();
                return false;
            }
            return true;
        };
        $("form[name=contactform] input[type=text]").each(function(){
            var $this = $(this);
            var name = $this.attr("name");
            var errorMessage = "Invalid input";
            var whenBlankMsg = "Field can not be blank";            
            if(name == "FullName"){
                errorMessage = "Enter your Name";
                whenBlankMsg = "Enter your Name";
            }
            else if(name == "CompanyName"){
                errorMessage = "Enter your Company Name";
                whenBlankMsg = "Enter your Company Name";
            }else if(name == "Email"){
                errorMessage = "Enter your Email";
                whenBlankMsg = "Enter your Error Message";
            }else if(name == "TelephoneNumber"){
                errorMessage = "Enter your Telephone Number";
                whenBlankMsg = "Enter your Telephone Number";
            }
            $this.data('whenBlankMsg',whenBlankMsg);
            $this.data('errorMsg',errorMessage);

            if($this.prev(".error").length <= 0){
                $this.before('<div class="error" style="display:none;"></div>');
            }
            $(this).blur(function(){
                isValid($(this));
            });
        });

    });
})(jQuery);



