// custom javascript validators
$.validator.addMethod("e4greaterthan", function(value, element, param) {
    return this.optional(element) || parseInt(value) > param;
},jQuery.format('Please enter a value greater than {0}'));

$.validator.addMethod("e4lessthan", function(value, element, param) {
    return this.optional(element) || parseInt(value) < param;
},jQuery.format('Please enter a value less than {0}'));

$.validator.addMethod("e4test", function(value, element, param) {
    return this.optional(element) || parseInt(value) != 1;
},jQuery.format('This value is forbidden'));

$.validator.addMethod("e4datetime", function(value, element, param) {
   return this.optional(element) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2} (\d{2}[:]\d{2}[:]\d{2})|(\d{2}[:]\d{2})$/.test(value);
},jQuery.format('This value is forbidden'));

$.validator.addMethod("menuitem", function(value, element, param) {
   return this.optional(element) || /^([0-9a-z\_])+$/.test(value);
},jQuery.format('This value is forbidden'));




// validation helpers

function flagErrorTabs()
{
    $('.ui-tabs-nav-item').each(function(no, elem){
        var id = $(elem).children('a').attr('href'); 
        
        if ($(id + ' .error').not('label').length)
            $(elem).children('a').children().addClass('error');
        else 
            $(elem).children('a').children().removeClass('error');
    });
    $('.ui-accordion-header').each(function(no, elem){
        var id = $(elem).children('a').attr('href'); 
        
        if ($(id + ' .error').not('label').length)
            $(elem).children('a').addClass('error');
        else 
            $(elem).children('a').removeClass('error');
    });
}
