
/// Нужны в случае, если проверка логина и пароля осуществляется не этим скриптом
login_disabled = false;
pwd_disabled = false;
/// Допустимость пустого поля
empty_possible = false;

/**
 * Проверка формы.
 * Проверяет правильность заполнения обязательных полей.
 * Если одно из обязательных полей неверно заполнено,
 * то блокируется кнопка отправки данных формы.
 * Обязательные поля помечаются классом "ch_oblig".
 * Кнопка отправки должна иметь класс "send".
 * Выделение неверно заполненных полей осуществляется классом "textInputNeeded".
 */

var number_format = /^\d*$/
var email_pattern = /([a-z0-9_-]+)@[a-z0-9-]+\.([a-z]{2,4}$)/i;

function checkForm(field_id, form_id){
    var target = $('#'+form_id+' #'+field_id);

    /// Активация полей формы
        /// Удаляем границу
    var class_name = target.attr('class');
    class_name = class_name.replace(/ red/,'');
    target.attr('class',class_name);
        /// Eсли надо, ставим границу
    var value = target.attr('value');
    if ( (empty_possible == true && value != "" && value != undefined) || empty_possible == false ){
        switch ( field_id ){
            case 'email':
            case 'mail':
                if ( value == "" || value == undefined || value.search(email_pattern) == -1 ){
                    target.addClass('red');
                    target.addClass('ch_oblig');

                }
            break;
            case 'project_square':
            case 'length':
            case 'width':
            case 'captcha':            
            case 'height':
            case 'weight':
            case 'stops':
            case 'speed':
            case 'col':
            
                if ( value == "" || value == undefined || number_format.test(value) == false ){
                    target.addClass('red');
                }
            break;
            default:
                if ( value == "" || value == undefined ){
                    target.addClass('red');
                }
        }
    }

    /// Активация кнопки отправки
    $('.send').attr('disabled',true);

    if ( login_disabled == false && pwd_disabled == false ){
        var disable = false;
        var fields = $('#'+form_id+' .ch_oblig').get();
        var cnt = fields.length;
        for ( i = 0 ; i < cnt ; i++ ){

            tmp_field_id = fields[i];
            if ( (empty_possible == true && tmp_field_id.value != "" && tmp_field_id.value != undefined) || empty_possible == false ){
                switch ( tmp_field_id.id ){
                    case 'email':
                    case 'mail':
                        if ( tmp_field_id.value == "" || tmp_field_id.value.search(email_pattern) == -1 ){

                            disable = true;

                        }
                    break;
                    case 'project_square':
                    case 'length':
                    case 'width':
                    case 'captcha':
                    case 'height':
                    case 'weight':
                    case 'stops':
                    case 'speed':
                    case 'col':
                    
                        if ( tmp_field_id.value == "" || tmp_field_id.value == undefined || number_format.test(tmp_field_id.value) == false ){
                            disable = true;
                        }
                    break;
                    default:
                        if ( tmp_field_id.value == "" || tmp_field_id.value == undefined ){
                            disable = true;
                        }
                }
            }
        }
    }
    $('.send').attr('disabled',disable);

}