/**
 * Created by JetBrains PhpStorm.
 * User: BoShurik
 * Date: 06.09.11
 * Time: 11:03
 * To change this template use File | Settings | File Templates.
 */

var teasers = null;
var searchEmailRequest = null;

function ieFix(selector) {
    if (window.PIE) {
        $(selector).each(function(){
            PIE.attach(this);
        });
    }
}

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}

$(document).ready(function(){
    $("input, textarea").blur(function(){
        if ($(this).attr("value") == "") {
            $(this).attr("value", $(this).attr("title"))
        }
    });

    /* focus/blur для инпутов */
    $("input, textarea").focus(function(){
        if ($(this).attr("value") == $(this).attr("title")) {
            $(this).attr("value", "")
        }
    });

    $("input, textarea").blur(function(){
        if ($(this).attr("value") == "") {
            $(this).attr("value", $(this).attr("title"))
        }
    });

    /* Работа кнопки feedback */
    $('#feedback-button').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        $('#feedback-form').toggle();
        
        ieFix('.feedback-form');
    });

    $('#feedback-form a.close').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        $('#feedback-button').click();
    });

    /* Вход */
    $('#enter_button').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        $('.loginToggle div.login-form').hide();
        $('div.login-div div.login-form').toggle();

        ieFix('.login-form');
    });

    $('div.login-form a.close').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        $('div.login-form').hide();
    });

    /* fancybox */
    $('.fancybox').fancybox({
        'transitionIn' : 'elastic',
        'transitionOut' : 'elastic',
        'speedIn' : 600,
        'speedOut' : 200,
        'overlayShow' : true,
        'overlayColor' : '#000',
        'overlayOpacity': 0.7
    });
    /* teasers */
    teasers = $('#teasers').teasers({
        'selector' : "img.teasers-img",    // Селектор для тизеров
        'zIndex'   : 1,      // Начальный z-index
        'evenRight': 55,     // Отступ справа для четных
        'oddRight' : 85,     // Отступ справа для нечетных
        'margin': 35,        // Оступ сверху/снизу
        'imgMarginTop': -40, // Оступ от предыдущего тизера
        'imgHeight': 142,     // Высота тизера
        'newImgHeight': 205, // Высота увеличенного тизера
        'newImgZIndex': 99   // z-index увеличенного тизера
    });

    $('#teasers').css('visibility', 'visible');

    $('#teaser_up').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        teasers.next();
    });

    $('#teaser_down').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        teasers.prev();
    });

//    $('#teasers').mousewheel(function(event, delta){
//        if (delta > 0)
//        {
//            // Up
//            $('#teaser_up').click();
//        }
//        else
//        {
//            // Down
//            $('#teaser_down').click();
//        }
//    });

    $('#teasers img.teasers-img').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        document.location = $(this).attr('data-link');
    });

    /* feedback*/
    var options = {
        dataType: 'json',
   		beforeSubmit:  function(formData, jqForm, options){
            return true;
        },
        success:       function(response, status, xhr, $form){
           if (response['error'] == 1) {
               $('.feedback-inner').find('.error-field').removeClass('error-field');
               $('.feedback-form').find('.error-field').removeClass('error-field');

               for (id in response['fields']) {
                   var field = response['fields'][id];

                   var errorField = $('#'+ field);
                   errorField.addClass('error-field');

                   $('label[for="'+ field +'"]').addClass('error-field');

                   var errorGroup = errorField.attr('data-error-group');
                   if (errorGroup) {
                       $('label[data-error-group="'+ errorGroup +'"]').addClass('error-field');
                   }
               }
           } else {
               var forms = $('.feedback-inner, .feedback-form');

               forms.hide().find('.error-field').removeClass('error-field');
               forms.find('input, textarea').val('');

               alert(feedbackMessage);
           }
        }
    };

    $('form.ajax_form').submit(function() {
        $(this).ajaxSubmit(options);

        return false;
    });
    
    $('#memberForm').submit(function(event){
        if ($('#memberFormPasswordDiv').is(':visible')) {
            $('#memberFormPasswordDiv').find('input').removeClass('error');
            
            var email = $('#amicus_nordbundle_memberformtype_email').val();
            var password = $('#amicus_nordbundle_memberformtype_password').val();

            if (email && password) {
                $('#memberFormSubmit').attr('disabled', 'disabled');
                $.ajax({
                    url: checkPasswordByEmailUrl.replace(/--email--/g, email).replace(/--password--/g, password),
                    dataType: 'JSON',
                    async: false,
                    success: function(data) {
                        if (data['error'] == 1) {
                            $('#memberFormPasswordDiv input').addClass('error');
                            $('#wrongPassword').show();
                            $('#memberFormSubmit').removeAttr('disabled');
                            event.preventDefault();
                        }
                    }
                });
            } else {
                $('#memberFormPasswordDiv input').addClass('error');
            $('#wrongPassword').show();
                event.preventDefault();
            }
        }
    });
    
    $('#memberFormPasswordDiv input').keyup(function(){
        $(this).removeClass('error');
        $('#wrongPassword').hide();
        
        if ($(this).val()) {
            $('#memberFormSubmit').removeAttr('disabled');
        } else {
            $('#memberFormSubmit').attr('disabled', 'disabled');
        }
    });
    
    $('#amicus_nordbundle_memberformtype_email').keyup(function(){
        var value = $(this).val();
        var oldValue = $(this).data('oldVal');

        if (!oldValue || oldValue != value) {
            if (searchEmailRequest) {
                searchEmailRequest.abort();
                $("#nord_loader").hide();
            }

            $('#memberFormSubmit').attr('disabled', 'disabled');
            $('#memberFormPasswordDiv').hide();
            $('#memberFormPasswordDiv input').val('');
            $('#memberFormPasswordDiv input').removeClass('error');
            $('#wrongPassword').hide();

            $('#memberFormEmailNotFound').hide();

            if (value) {
                if (isValidEmailAddress(value)) {
                    $(this).removeClass("error");
                    $("#nord_loader").show();

                    searchEmailRequest = $.ajax({
                        'url': searchEmailUrl.replace(/--email--/g, value),
                        'dataType': 'JSON',
                        'success': function(data) {
                            if (data['error'] == 0 && data['exist'] == 1) {                                
                                if (data['surname'] && data['name']) {
                                    var surnameAndName = ' (' + data['name'] + ' ' + data['surname'] + ')';
                                } else {
                                    var surnameAndName = '';
                                }
                                
                                $('#memberFormPasswordDiv #innerText').html(userIsFoundMessage.replace(/--name--/g, data['username'] + surnameAndName));
                                $('#memberFormPasswordDiv').show();
                                $('#memberFromEmailNotFound').hide();
                                $('#memberFormSubmit').html(buttonSend);
                            } else {
                                $('#memberFormPasswordDiv').hide();
                                $('#memberFormPasswordDiv input').val('');
                                $('#memberFormPasswordDiv input').removeClass('error');
                                $('#wrongPassword').hide();
                                
                                $('#memberFormEmailNotFound').show();
                                $('#memberFormSubmit').html(buttonNext);
                            }
                            
                            if (data['error'] == 0  && data['exist'] == 0) {
                                $('#memberFormSubmit').removeAttr('disabled');
                            }
                            $("#nord_loader").hide();
                        }
                    });
                } else {
                    $(this).addClass("error");
                }
            } else {
                $('#memberFormPasswordDiv').hide();
                $('#memberFormPasswordDiv input').val('');
            }

            $(this).data('oldVal', value);
        }
    });

    $('#amicus_nordbundle_memberformtype_email').focus(function(){
        $(this).keyup();
    });
    
    $('#amicus_nordbundle_memberformtype_email').blur(function(){
        $(this).keyup();
    });
    
    $('#amicus_nordbundle_memberformtype_email').keyup();

    /* Secure links */
    $('a.secure_link').click(function(event){
        event.stopPropagation();
        event.preventDefault();

        var top = Math.round($(this).offset().top + $(this).outerHeight() + 2);
        var left = Math.round($(this).offset().left);
        
        var isShown = true;
        
        if ($('.baseLogin .login-form').is(':hidden')) {
            var isShown = false;
        }
        
        $('.loginToggle .login-form').hide();
        $('.baseLogin .login-form').css({
            'top': top,
            'left': left
        });
        
        if (!isShown) {
            $('.baseLogin .login-form').show();
        }
    });
    
    $('.link_print').css({'visibility':'visible'});
    
    $('.link_print').click(function() {
        var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );

        if (is_chrome) {
            setTimeout('window.print()', 500);
        } else {
            window.print();
        }
        return false;
    });
    
    /**
    $('.browse').click(function(e){
        var o = $(".items li:last").offset();
        var s = $(".labels .right").offset();
        var right = o.left*1+$(".items li:last").width()*1;
        console.info(right);
        console.info(s.left);
        if(right<s.left) {
            if($(this).hasClass('right'))
            {
                e.stopPropagation();
            }
            $('.labels .right').hide();
        } else {
            $('.labels .right').show();
        }
    });
    **/
    $(".scrollable").scrollable();
    
    var api = $(".scrollable").data("scrollable");
    
    $('.multipleDropDown').click(function(){
        var what = $(this).attr('data-container');
        
        $('.multipleDropDownContainer').slideUp();

        if (($('#' + what)).is(':hidden')) {
            $('#' + what).slideDown();
        }
    });
     
    $(window).resize();
});

/* Другой класс для мелких разрешений */
$(window).resize(function(){
    if ($('.fixOverlay').is(':visible')) {
        var left = ($(window).width()-$('.fixOverlay').outerWidth())/2;
        $('.fixOverlay').css('left', left);
        $('#exposeMask').css('width', $(window).width());
        $('#exposeMask').css('height', $(window).height());
    }
});
