﻿$(document).ready(function() {

    $('input[type="text"]').addClass("idleField");
    $('input[type="password"]').addClass("idleField");

    $('input[type="text"]').focus(function() {
        $(this).removeClass("idleField").addClass("focusField");
        if (this.value == this.defaultValue) {
            this.value = '';
        }
        if (this.value != this.defaultValue) {
            this.select();
        }
    });
    $('input[type="password"]').focus(function() {
        $(this).removeClass("idleField").addClass("focusField");
        if (this.value == this.defaultValue) {
            this.value = '';
        }
        if (this.value != this.defaultValue) {
            this.select();
        }
    });

    $('input[type="text"]').blur(function() {
        $(this).removeClass("focusField").addClass("idleField");
        if ($.trim(this.value) == '') {
            this.value = (this.defaultValue ? this.defaultValue : '');
        }
        $(this).valid();
    });
    $('input[type="password"]').blur(function() {
        $(this).removeClass("focusField").addClass("idleField");
        if ($.trim(this.value) == '') {
            this.value = (this.defaultValue ? this.defaultValue : '');
        }
        $(this).valid();
    });

    jQuery.validator.addMethod("firstorlastname_characters", function(value, element) {
        return this.optional(element) || /^[A-Za-z \"'"\-.]+$/.test(value);
    }, "Use letters, spaces, periods, hyphens, and apostrophes");

    jQuery.validator.addMethod("firstorlastname_length", function(value, element) {
        return this.optional(element) || (value.length >= 2);
    }, "Must be at least two characters long");

    jQuery.validator.addMethod("password", function(value, element) {
        return this.optional(element) || (value.length >= 6);
    }, "Please use at least six characters");

    jQuery.validator.addMethod("address", function(value, element) {
        return this.optional(element) || (/^[a-zA-Z0-9 \.\-]+$/.test(value) && value.length >= 6);
    }, "Use letters, spaces, periods, and hyphens.");

    jQuery.validator.addMethod("city", function(value, element) {
        return this.optional(element) || (/^[a-zA-Z \"'"\-\.]+$/.test(value) && value.length >= 3);
    }, "Use letters, spaces, periods, hyphens, and apostrophes");

    jQuery.validator.addMethod("cdnpostalcode", function(value, element) {
        return this.optional(element) || /^[a-zA-Z]\d[a-zA-Z]\s*\d[a-zA-Z]\d$/.test(value);
    }, "Your postal code is too short");

    jQuery.validator.addMethod("phone", function(value, element) {
        return this.optional(element) || value.length == 10;
    }, "Your phone number is too short");

    $("#aspnetForm").validate(
    {
        //debug: true,
        onkeyup: false,
        highlight: function(element, errorClass) {
            $(element).addClass(errorClass).parent().prev().children("select").addClass(errorClass);
            //$(element.form).find("label[for=" + element.id + "]").fadeOut(2000);

                $(element.form).find("label[for=" + element.id + "]").fadeIn(5000, function() {
                    $(element.form).find("label[for=" + element.id + "]").fadeOut(10000)
                });

        }
    });
    
    
    
});

function IsNumberKey(e) {
    // trap and cancel keys that are not expected
    var key = 0;  // collect key code

    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;

    //backspace(46) del(8), left(37), right(39), tab(9)
    if (key == 46 || key == 8 || key == 37 || key == 39 || key == 9 || key == 0)
        return true;

    //0-9:(48-57)
    else if (key >= 48 && key <= 57)
        return true;
    else
        return false;
}