$(document).ready(function() {
    if ($('.light-form').html()) {

        //стилизуем селекты
        $('.form-item select').selectBox();

        //плэйсхолдеры
        $('input[rel~="maskData"]').mask('99 . 99 . 9999', {
            placeholder: " "
        });
        $('input[rel~="maskPhone"]').mask('+7 999 999 99 99', {
            placeholder: " ",
            clearIncomplete: false
        });

        //показываем подсказки
        $('.form-item input').bind({
            focus: function() {
                $('.query', $(this).parents('.form-item')).css({
                    'display': 'block'
                });
            },
            blur: function() {
                $('.query', $(this).parents('.form-item')).removeAttr('style');
            }
        });

        //для телефонов
        $('input[rel~="maskPhone"]').each(function(i, de){
            var field = $(de);
            field.bind({
                blur: function() {
                    var val = field.val().replace(/[^\d]/g, "");
                    console.log(val.length);
                    if(val.length > 1 && val.length < 11)
                        field.addClass('error').parent().addClass('red').find('.warning p').css({'display':'block'});
                    else if(val.length == 1 || val.length == 11)
                        field.removeClass('error').parent().removeClass('red').find('.warning p').removeAttr('style');
                }
            });
        });
        
        //для обязательных телефонов
        $('input[rel~="requirePhone"]').each(function(i, de){
            var field = $(de);
            field.bind({
                blur: function() {
                    var val = field.val().replace(/[^\d]/g, "");
                    if (val.length != 11)
                        field.addClass('error').parent().addClass('red').find('.warning p').css({'display':'block'});
                    else
                        field.removeClass('error').parent().removeClass('red').find('.warning p').removeAttr('style');
                }
            });
        });

        //для E-mail
        $('input[rel~="mail"]').each(function(i, de){
            var field = $(de);
            field.bind({
                blur: function() {
                    if (field.val() != '' && !(/^[-+\w\.\d_]+@[-+\w\.\d_]+\.\w{2,4}$/i.test(field.val()))) {
                        field.addClass('error');
                        field.parent().addClass('red').find('.warning p').css({'display':'block'});
                    } else {
                        field.removeClass('error');
                        field.parent().removeClass('red').find('.warning p').removeAttr('style');
                    }
                }
            });
        });

        //для цифровых полей
        $('input[rel~="only_digits"]').each(function(i, de) {
            var field = $(de);
            var timer;
            field.bind({
                keyup: function(e) {
                    var field = $(this);
                    clearTimeout(timer);
                    if (!/^\d+$/.test(field.val()) || (field.attr('min') && field.val() * 1 < field.attr('min') * 1) || (field.attr('max') && field.val() * 1 > field.attr('max') * 1) || field.val().indexOf(".") != -1)
                        timer = setTimeout(function(){
                            field.addClass('error').parents('.form-item').addClass('red').find('.warning p').css({'display':'block'});
                        },100);
                    else
                        field.removeClass('error').parents('.form-item').removeClass('red').find('.warning p').css({'display':'none'});
                    if (!/^\d+$/.test(field.val())) 
                        field.val(field.val().replace(/[^\d\.]/g, ""));
                },
                blur: function() {
                    clearTimeout(timer);
                    if ((field.attr('min') && field.val() * 1 < field.attr('min') * 1) || (field.attr('max') && field.val() * 1 > field.attr('max') * 1) || field.val().indexOf(".") != -1){
                        timer = setTimeout(function(){
                            field.addClass('error').parents('.form-item').addClass('red').find('.warning p').css({'display':'block'});
                        },100);
                    }else{
                        field.removeClass('error').parents('.form-item').removeClass('red').find('.warning p').css({'display':'none'});
                    }
                }
            });
        });

        $('#input-mobilephone').focus(function() {
            var e = $(this);
            setTimeout(function() {
                if ($(e).val() == '+7              ') {
                    $(e).val('+7 ');
                }
            }, 5);
        });
        
        //для кириллических полей
        $('input[rel~="cyrillic"]').keyup(function(e) {
            var obj = $(this);
            if (/[^\А-Яа-я\.-]+/g.test(obj.val())) {
                setTimeout(function(){
                    obj.val(obj.addClass('error').val().replace(/[^\А-Яа-я\.-]+/g, ""));
                    obj.parent().addClass('red');
                },100);
            } else {
                obj.removeClass('error');
                obj.parent().removeClass('red');
            }
        });

        //для обязательных полей
        $('*[rel~="require"]').each(function(i, de) {
            var field = $(de);
            field.bind({
                blur: function() {
                    if (!field.val()) {
                        if (field.parent().find('a.selectBox').html()) {
                            field.parent().find('a.selectBox').addClass('error');
                        } else {
                            field.addClass('error');
                        }
                        field.parent().addClass('red').find('.warning p').css({'display':'block'});
                    } else {
                        if (field.parent().find('a.selectBox').html()) {
                            field.parent().find('a.selectBox').removeClass('error');
                        } else {
                            field.removeClass('error');
                        }
                        field.parent().removeClass('red').find('.warning p').removeAttr('style');
                    }
                }
            });
        });

        //для стилизованных чекбоксов
        $('.form-item em').bind({//обработка клика на стилизованный элемент
            click: function() {
                if ($('#' + $(this).attr('rel')).is(':checked')) {
                    $('#' + $(this).attr('rel')).removeAttr('checked').change();
                } else {
                    $('#' + $(this).attr('rel')).attr('checked', 'checked').change();
                }
            }
        });

        $('.form-item input[type="checkbox"]').bind({
            change: function() {
                if ($(this).attr('checked')) {
                    $('em[rel="' + $(this).attr('id') + '"]').addClass('checked');
                } else {
                    $('em[rel="' + $(this).attr('id') + '"]').removeClass('checked');
                }
            }
        });

        //для стилизованных радиобаттонов
        $('.radio-item i').bind({//обработка клика на стилизованный элемент
            click: function() {
                var name = $(this).parent().find('input').attr('name');
                $('input[name=' + name + ']').removeAttr('checked');
                if ($('#' + $(this).attr('rel')).is(':checked')) {
                    $('#' + $(this).attr('rel')).removeAttr('checked').change();
                } else {
                    $('#' + $(this).attr('rel')).attr('checked', 'checked').change();
                }
                //$('#'+$(this).attr('rel')).click();
            }
        });


        $('input[name=place]').change(function() {
            var delivery = 'yes';
            if ($('input[name=place]:checked').val() == 'В офисе банка') {
                $('.officeWrap').show();
                delivery = 'no';
            }
            else {
                delivery = 'yes';
                $('.officeWrap').hide();
            }
            $.post('/scripts?mode=getCitiesOptionsForProduct', {delivery: delivery}, function(data) {
                $('#city-location').html(data).change().selectBox('destroy').selectBox();                
                    
                checkCities();
            });
        });


        $('.radio-item input[type="radio"]').bind({
            change: function() {
                $('input[name="' + $(this).attr('name') + '"]').each(function(i, de) {
                    if ($(de).attr('checked')) {
                        $('i[rel="' + $(de).attr('id') + '"]').addClass('checked');
                    } else {
                        $('i[rel="' + $(de).attr('id') + '"]').removeClass('checked');
                    }
                });
            }
        });

        //нажате на лэйбл для ИЕ
        if ($.browser.msie && ($.browser.version == '7.0' || $.browser.version == '8.0')) {
            $('label').bind({
                click: function() {
                    $('*[rel=' + $(this).attr('for') + ']').click();
                }
            });
        }

        //условие на дату
        $('*[rel~="maskData"]').each(function(i, de) {
            $(de).bind({
                blur: function(){
                    var field = $(this);
                    var arr = field.val().replace(/[\sx]/g,'').split('.');
                    $.each(arr,function(i,de){
                        arr[i] = de * 1 ;
                    });
                    if (arr[0] < 1 || arr[0] > 31 || arr[1] < 1 || arr[1] > 12 || arr[2] < 1000 || arr[2] > 9999) {
                        field.addClass('error').parent().addClass('red').find('.warning p').css({'display':'block'});
                    }else{
                        field.removeClass('error').parent().removeClass('red').find('.warning p').css({'display':'none'});
                    }
                }
            });
        });
         
        //условие на ввод месяцов
        $('input[name="srok"]').bind({
            change: function() {
                if ($(this).attr('id') == 'radio_srok_3') {
                    $('#input-srok-text').removeClass('hide');
                } else {
                    $('#input-srok-text').addClass('hide').parents('.form-item').removeClass('red').find('.warning p').css({'display':'none'});
                }
            }
        });
		
		//условие на способ оплаты наличными
        $('input[name="sposob"]').bind({
            change: function() {
                if ($(this).attr('id') == 'sposob2') {
					$("#place1").removeAttr('checked');
					$("#place1").parent().find('i').removeClass('checked');
					$("#place2").attr("checked", "checked");
					$("#place2").parent().find('i').addClass('checked');
					$('#place1').parent().hide();
					$('.officeWrap').show();
					delivery = 'no';
					$.post('/scripts?mode=getCitiesOptionsForProduct', {delivery: delivery}, function(data) {
						$('#city-location').html(data).change().selectBox('destroy').selectBox();
						checkCities();
					});
                } else {
					$("#place2").removeAttr('checked');
					$("#place2").parent().find('i').removeClass('checked');
					$("#place1").attr("checked", "checked");
					$("#place1").parent().find('i').addClass('checked');
					$('#place1').parent().show();
					$('.officeWrap').hide();
					delivery = 'yes';
					$.post('/scripts?mode=getCitiesOptionsForProduct', {delivery: delivery}, function(data) {
						$('#city-location').html(data).change().selectBox('destroy').selectBox();
						checkCities();
					});
                }
            }
        });

        //Условие на офисы банка
        $('#city-location').live('change', function() {
            if ($(this).val() == 'blank') {
                $(this).next().next('.warning').children('p').text('К сожалению, мы не можем предоставить выбранную услугу в вашем населённом пункте. Для получения услуги выберите наиболее удобный пункт из списка.').show();
            } else {
                $(this).next().next('.warning').children('p').hide();
                if ($('input[name=place]:checked').val() == 'В офисе банка')
                    $.post('/scripts?mode=getBranchesOptionsForProduct', {cname: $('#city-location').val()}, function(data) {
                        $('select[name=filial]').html(data).selectBox('destroy').selectBox();
                    });
            }
        });

        //отрабатывает при загрузке страницы
        $('.form-item input[checked="checked"]').each(function(i,de){
            $(de).change();
        });

        //при согласии с условиями
        $('em[rel="kredit_personalInfoUse"]').bind({
            click: function() {
                if ($(this).hasClass('checked')) {
                    $('#getCreditLightForm').addClass('active');
                } else {
                    $('#getCreditLightForm').removeClass('active');
                }
            }
        });

        //нажатие кнопки отправки
        $('#getCreditLightForm').click(function() {

            if ($(this).hasClass('active')) {

                var form_errors = 0;//индикатор правильности ввода

                //проверяем на пустоту необходимые поля
                $('input[rel~="require"]').each(function(i, de) {
                    if (!$(de).val()) {
                        $(de).addClass('error');
                        $(de).parent().addClass('red').find('.warning p').css({'display':'block'});
                        form_errors = 1;
                    }
                });
                
                //проверяем обязательные телефоны
                $('input[rel~="requirePhone"]').each(function(i, de){
                    var val = $(de).val().replace(/[^\d]/g, "");
                    if (val.length != 11)
                        $(de).addClass('error').parent().addClass('red').find('.warning p').css({'display':'block'});
                    if($('#input-summ').val()<2000){
                       $('#input-summ').addClass('error');
                       form_errors = 1;
                    }
                });
                
                //проверяем обязательные даты
                $('input[rel~="requireData"]').each(function(i, de){
                    var field = $(de);
                    var arr = field.val().replace(/[\sx]/g,'').split('.');
                    $.each(arr,function(i,de){
                        arr[i] = de * 1 ;
                    });
                    if (arr[0] < 1 || arr[0] > 31 || arr[1] < 1 || arr[1] > 12 || arr[2] < 1000 || arr[2] > 9999) {
                        field.addClass('error').parent().addClass('red').find('.warning p').css({'display':'block'});
                        form_errors = 1;
                    }else{
                        field.removeClass('error').parent().removeClass('red').find('.warning p').css({'display':'none'});
                    }
                });
                
                //проверяем селекты
                $('select[rel~="require"]').each(function(i, de) {
                    if (!$(de).val()) {
                        $(de).parent().addClass('red').find('a.selectBox').addClass('error');
                        $(de).parent().find('.warning p').css({'display':'block'});
                        form_errors = 1;
                    }
                });
                
                if($('#radio_srok_3').is(':checked') && !/^\d+$/.test($('#input-srok-text').val())){
                    form_errors = 1;
                    $('#input-srok-text').addClass('error');
                }

                if($('#city-location').val() == 'blank') {
                    checkCities();
                    form_errors = 1;
                }
                
                if($('select[name=filial]').val()=='blank' && $('input[name=place]:checked').val() == 'В офисе банка'){
                     $('select[name=filial]').next().addClass('error').next('.warning').children('p').text('Не указан офис получения').show();
                     form_errors = 1;
                }
                
                if (!/^\+\d{1} \d{3} \d{3} \d{2} \d{2}$/.test($('#input-mobilephone').val())) {
                    $('#input-mobilephone').addClass('error');
                    form_errors = 1;
                }

                var formElements = Array("input","textarea","select");
                //если всё ок - отправляем форму
                if (form_errors == 0) {
                    var element = $(this);
                    $(this).hide();
                    $('.loadingAnk').show();
                    $.post("/scripts?mode=liveCreditSplit", $(this).parents('.light-form').serialize(), function(data) {
                        if (data == 'valid') {
                            location.href = "/individual-credit-done";
                        }
                        else {
                            data = JSON.parse(data);
                            if(data.answer == 'invalid'){
                                for(i=0;i<=data.error.length;i++){
                                    for(e in formElements){
                                        $(formElements[e]+'[name='+data[i]+']').addClass('error')
                                    }
                                    $('.loadingAnk').hide();
                                    $(element).show();
                                    var st = $('form .error:eq(0)').offset().top - 40;
                                    $("html,body").animate({scrollTop: st}, st/2);

                                }
                            }
                        }
                    });
                }else{//иначе скроллим экран к первой ошибке
                    var st = $('form .error:eq(0)').offset().top - 40;
                    $("html,body").animate({scrollTop: st}, st/2);
                }
            }
            return false;
        });

        function checkCities() {
            if ($('#city-location').val() == 'blank') {
                $('#city-location').next().next('.warning').children('p').text('К сожалению, мы не можем предоставить выбранную услугу в вашем населённом пункте. Для получения услуги выберите наиболее удобный пункт из списка.').show();
            }
        }
        checkCities();
    }
    
    //для формы на отдельной странице
    if ($('.light-form2').html()) {
        
        //проставляем иконки в промоблоке
        $('#openTexts div').each(function(i,de){
            $(de).prepend('<i class="i'+i+'"></i>');
        });
        
        //проставляем цифры в форме
        $('.group-items').each(function(i,de){
            $(de).prepend('<bdo>'+(i+1)+'</bdo>');
        });
        
        //открытие текстов в промоблоке
        $('#openTexts div').click(function(){
            $(this).toggleClass('active').siblings().removeClass('active');
            return false;
        });
        
        //плавная прокрутка экрана
        $('a').bind({
            click:function(){
                if( $($(this).attr('href')).html() ){
                    var st = $($(this).attr('href')).offset().top;
                    $("html,body").animate({scrollTop: st}, st/2);
                    return false;
                }
            }
        });
        
        $('.slideLink').bind({
            click: function() {
                if ($('#conditions').hasClass('active')) {
                    $('#conditions').removeClass('active').css({'display':'none'});
                } else {
                    $('#conditions').addClass('active').css({'display':'block'});
                }
                return false;
            }
        });
        
    }
});



if(jQuery('.block-kairos-city-kairos-city-block .text').text()=='Ростов-на-Дону'){
    jQuery('.one_filter.of-1').hide();
    jQuery('.one_filter.of-2').hide();
}
