/*
 * Компонент Validator, проверяет поля заданной формы
 * Поля помечаются классами:
 * v_required - обязательное поле
 * 
 * Название поля хранится в свойствах alt или title 
 */

Validator = new Object();

Validator.validate = function(formEl) {
    Validator.formEl = formEl;

    var els = $$('#'+formEl.id+' [class*="v_"]');
    Validator.status = true;
    els.each(function(el) {
        Validator.status &= Validator.check(el)
    });
    return Validator.status;
}

Validator.check= function(el) {
    var value = el.value;

    var field = '';
    if (el.alt) field = el.alt; else field = el.title;
       
    if (el.hasClassName('v_required') && !(!value.blank())) {        
        Validator.error_message = 'Поле «'+field+'» должно быть заполнено';
        return false;
    }
    
    if (el.hasClassName('v_email') && !(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(value))) {
        Validator.error_message = 'Введите корректный E-mail';
        return false;
    }
    
    if (el.hasClassName('v_password') && !(value.length > 5 && value.length < 31)) {
        Validator.error_message = 'Пароль должен содержать не меньше 6 и не больше 30 символов';
        return false;
    }
    
    return true;
}
