﻿$(document).ready(function(){
    $(".Search .Contents .Content input[@type=text]").each(function(){
        var thisElement = $(this);
        
//        alert(thisElement.prev().prev().text());
        
        thisElement
        .blur(function() {
            validateField(this);
        })
    });
}); 

function validateInputs(form) {
//    return true;
    var valid = true;
    	
    $(form)
        .find("input[@type='checkbox'], input[@type='text'], input[@type='password'], select, textarea")
        .filter(":enabled")
        .each(function() {
            if ( !validateField(this) )
            {
                valid = false;
            }
    });
        		    
	return valid;
}

function validateField(sender) {

    var element = $(sender || this);

    if (
            ( element.is('.Requierd') && ( element.val() == '' || element.is('input[@type=checkbox]:not(:checked)') ) ) ||
            ( element.is('.Regex') && !new RegExp(element.attr("regex"), "gi").test(element.val()) && element.val() != "" ) ||
            ( element.is('.ValidationExpression') && !eval( element.attr("validationExpression") ) )
       )
    {
        if (typeof(element.attr('error')) != "undefined" && element.attr('error') != null)
        {
            element.prev().prev().addClass('Invalid');
            fadeInAndOutInvalid(element.prev().prev(),2);
        }
        return false;
    }
    else
    {
        element.prev().prev().removeClass('Invalid');
        return true;
    }
}

function fadeInAndOutInvalid(sender, num) 
{
    if (!num || num > 0)
        $(sender).fadeOut(300, function() { 
            $(this).fadeIn(300); 
            if (num)
                fadeInAndOutInvalid(sender, num - 1);
        });
}