// слайдер чата
$(function(){
    $('.bcChat').toggle(function(){
        $('.bcChat').animate({
            width:'+=120',
            height: '+=50'
        }, 300, function(){
            // ссылка на чат
            $(this).html('<a href="https://siteheart.com/webconsultation/331532?" target="siteheart_sitewindow_331532" onclick="o=window.open;o(\'https://siteheart.com/webconsultation/331532?\', \'siteheart_sitewindow_331532\', \'width=550,height=400,top=30,left=30,resizable=yes\'); return false;"><img src="http://webindicator.siteheart.com/webindicator/livehelp7?ent=331532&company=331532" border="0" alt="SiteHeart"></a>')
            $(this).addClass("active");
            $(this).removeClass("notactive");
        });
        
    }, function(){
        $('.bcChat').animate({
            width:'-=120',
            height: '-=50'
        }, 300, function(){
            $(this).removeClass("active");
            $(this).addClass("notactive");
            $(this).html('Чат');
        });
    });
});

// слайдер "обратный звонок"
$(function(){
    $('.bcBackCall').click(function() {
        var isClickable = $(this).attr('clickable');

        if($(this).hasClass('notactive')) {
            $('.bcForm').addClass("visible");
            $(this).addClass("active");
            $(this).removeClass("notactive");
        }else if(isClickable == 'true' || isClickable === undefined) {
            $('.bcForm').removeClass("visible");
            $(this).addClass("notactive");
            $(this).removeClass("active");
        }
    });
    // внутри вложенного div-a запрет обработки клика по основному div-у
    $('.bcForm').hover(function(){
        $('.bcBackCall').attr('clickable','false');
    }, function(){
        $('.bcBackCall').attr('clickable','true');
    })
});


// форма обратного звонка
$(function(){
    $("form[name=back_call]").submit(function() {

        var SEND_OK = '1';
        var SEND_ERR_MAIL = '2';
        var SEND_ERR_VALIDATION = '3';

        var MESS_INCORRECT_PHONE = 'Поле "Ваш телефон" обязательно к заполнению \n и должно состоять из цифр';
        var MESS_SEND_OK = 'Ваш запрос отправлен и будет рассмотрен \n в ближайшее время!';
        var MESS_SEND_ERR_MAIL = 'Ошибка отправки письма, \n повторите попытку';
        var MESS_SEND_ERR_VALIDATION = 'Введены некорректные данные, \n повторите попытку';
        var MESS_ANSWER_NOT_RECOGNIZED = 'Неопознанный ответ от сервера!';
        
        $("input[name=bc_submit]").attr('disabled','disabled');

        var phoneVal = $("input[name=phone]").val();
        var phoneReg = /^[0-9]+$/;
        if (phoneVal.search(phoneReg) == -1) {
            alert(MESS_INCORRECT_PHONE);
            $("input[name=bc_submit]").attr('disabled','');
            return false;
        }

        var data = $(this).formSerialize(true);
        var url  = $(this).attr('action');
        //формируем и отправляем аякс запрос
        $.ajax({
            url     : url,
            data    : data,
            type    : 'POST',
            timeout : 5000,     //5 секунд ждем ответ
            dataType: 'text',	// данные в text приходят
            // при ошибке вызываем ф-цию 
            error   : function(xhr){
                ajaxError(xhr);
            },
            // если запрос завершился успешно
            success : function(response){
                if(response == SEND_OK) {
                    alert(MESS_SEND_OK);
                }
                else if(response == SEND_ERR_MAIL) {
                    alert(MESS_SEND_ERR_MAIL);
                    $("input[name=bc_submit]").attr('disabled','');
                }
                else if(response == SEND_ERR_VALIDATION) {
                    alert(MESS_SEND_ERR_VALIDATION);
                    $("input[name=bc_submit]").attr('disabled','');
                }
                else {
                    alert(MESS_ANSWER_NOT_RECOGNIZED);
                    $("input[name=bc_submit]").attr('disabled','');
                }
           }
        });

        function ajaxError(xhr)
        {
            alert('Ошибка:' + xhr.status + ' ' + xhr.responseText);
            $("input[name=bc_submit]").attr('disabled','');
        }
        // делаем кликабельным основной div ибо при alert может не происходить
        // корректное назначение этого атрибута
        $('.bcBackCall').attr('clickable','true');
        return false;

    });
});

