
/**
 * Проверка формы.
 * Проверяет правильность заполнения обязательных полей.
 * Если одно из обязательных полей неверно заполнено,
 * то блокируется кнопка отправки данных формы.
 * Обязательные поля помечаются классом "ch_oblig".
 * Кнопка отправки должна иметь ID "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(/ needed/,'');
    target.attr('class',class_name);
        /// Eсли надо, ставим границу
    var value = target.attr('value');
    switch ( field_id ){
        case 'email':
            if ( value == "" || value == undefined || value.search(email_pattern) == -1 ){
                target.addClass('needed');
            }
        break;
        case 'phone':
            if ( value == "" || value == undefined || number_format.test(value) == false ){
                target.addClass('needed');
            }
        break;
        default:
            if ( value == "" || value == undefined ){
                target.addClass('needed');
            }
    }

    /// Активация кнопки отправки
    $('#'+form_id+' #send').attr('disabled',true);
    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];
        switch ( tmp_field_id.id ){
            case 'email':
                if ( tmp_field_id.value == "" || tmp_field_id.value.search(email_pattern) == -1 ){
                    disable = true;
                }
            break;
            /**/
            case 'phone':
                if ( tmp_field_id.value == "" || tmp_field_id.value == undefined || number_format.test(tmp_field_id.value) == false ){
                    disable = true;
                }
            break;
            
            case 'message':
                if ( tmp_field_id.value == "" || tmp_field_id.value == undefined ){
                    disable = true;
                }
            break;         
            
            default:
                if ( tmp_field_id.value == "" || tmp_field_id.value == undefined ){
                    disable = true;
                }
        }
    }
    $('#'+form_id+' #send').attr('disabled',disable);
}
