$(document).ready(function () {

    /* DATEPICKER */
    
    $.datepicker.regional['ru'] = {
        closeText: 'Закрыть',
        prevText: '&#x3c;Пред',
        nextText: 'След&#x3e;',
        currentText: 'Сегодня',
        monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
        'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
        monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
        'Июл','Авг','Сен','Окт','Ноя','Дек'],
        dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
        dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
        dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
        weekHeader: 'Не',
        dateFormat: 'dd.mm.yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
    $.datepicker.setDefaults($.datepicker.regional['ru']);

    /* MAIN */
    
    $('#menu-big li:has(ul)').prepend('<span class="menu-indicate"></span>');

    $('#menu-big > li').hover(function () {
        $(this).css('background-position', '0 -42px');
    }, function() {
        $(this).css('background-position', '0 0');
    });
  
    var heightLI = $('.active').find('ul').height();
    $('.active').animate({
        height: '+=' + heightLI
    }, 'slow').find('.menu-indicate').addClass('menu-active');

    $('.menu-indicate').click(function () {
        if ( $(this).parent('li').hasClass('active') ) {
            $(this).removeClass('menu-active').parent('li').removeClass('active').stop(false, false).animate({
                height: '40px'
            }, 'slow');
        } else {
            $('.menu-indicate').removeClass('menu-active');
            $('#menu-big > li').removeClass('active').animate({
                height: '40px'
            }, 'slow');
            var heightLI = $(this).parent('li').find('ul').height();
            $(this).addClass('menu-active').parent('li').addClass('active').stop(false, false).animate({
                height: '+=' + heightLI
            }, {
                queue:false,
                duration:600
            });
        }
    });

    $('#menu-big ul li').hover(function () {
        $(this).css({
            backgroundPosition: '0 -60px',
            backgroundColor: '#61b3d3'
        })
        .find('a').css({
            color: '#fff',
            backgroundPosition: '30px -51px'
        });
    },function() {
        $(this).css({
            backgroundPosition: '0 0',
            backgroundColor: '#b8dced'
        })
        .find('a').css({
            color: '#1d80ad',
            backgroundPosition: '30px 14px'
        });
    });

    $.datepicker.setDefaults($.extend($.datepicker.regional['ru']));
    var dates = $('#from, #to').datepicker({
        firstDay: 1,
        minDate: 0,
        onSelect: function(selectedDate) {
            var option = this.id == "from" ? "minDate" : "maxDate";
            var instance = $(this).data("datepicker");
            var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
            dates.not(this).datepicker("option", option, date);
        }
    });
    var datesO = $('#from-order, #to-order').datepicker({
        firstDay: 1,
        minDate: 0,
        onSelect: function(selectedDate) {
            var option = this.id == "from-order" ? "minDate" : "maxDate";
            var instance = $(this).data("datepicker");
            var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
            datesO.not(this).datepicker("option", option, date);
        }
    });

    $('#menu li:last').css( 'border-bottom' , '1px solid #a5c0cb');

    $('.carousel').carousel({
        nextBtn:'<a id="next" role="button"></a>',
        prevBtn:'<a id="prev" role="button"></a>',
        btnsPosition:"outside",
        effect: "fade",
        autoSlide: true
    });

    /* FORM */

    $('#form-contacts').parent('span').prepend('<small class="tooltip">Ваш номер телефона или электронная почта</small>');
    $('#from-order').parent('span').prepend('<small class="tooltip">Дата заезда</small>');
    $('#to-order').parent('span').prepend('<small class="tooltip">Дата отъезда</small>');
    $('#abults').parent('span').prepend('<small class="tooltip">Кол-во взрослых</small>');
    $('#children').parent('span').prepend('<small class="tooltip">Кол-во детей</small>');

    $('.input-mini input').hover(function () {
        $(this).parent('span').css('background-position', '0 -22px');
    }, function () {
        $(this).parent('span').css('background-position', '0 0');
    });
    $('.input-mini input').focus(function () {
        $(this).parent('span').addClass('ui-selectmenu-hover');
        $(this).css('cursor', 'text');
    });
    $('.input-mini input').blur(function () {
        $(this).parent('span').removeClass('ui-selectmenu-hover');
        $(this).css('cursor', 'pointer');
    });

    $('.input-big input, .input-small input').hover(function () {
        $(this).parent('span').css('background-position', '0 -40px');
        $(this).parent('span').find('small').fadeIn('slow');
    }, function () {
        $(this).parent('span').css('background-position', '0 0');
        if ( $(this).parent('span').find('small').hasClass('tooltip-active') ) {}
        else {
            $(this).parent('span').find('small').fadeOut('slow');
        }
    });
    $('.input-big input, .input-small input').focus(function () {
        $(this).parent('span').addClass('input-active');
        $(this).css('cursor', 'text');
        $(this).addClass('input-color-text');
        $(this).parent('span').find('.star').fadeOut('slow');
        $(this).parent('span').find('small').fadeIn('slow');
        $(this).parent('span').find('small').addClass('tooltip-active');
    });
    $('.input-big input, .input-small input, .input-small-r input').blur(function () {
        $(this).parent('span').removeClass('input-active');
        $(this).css('cursor', 'pointer');
        $(this).removeClass('input-color-text');
        $(this).parent('span').find('small').fadeOut('slow');
        $(this).parent('span').find('small').removeClass('tooltip-active');
    });
    $('textarea').hover(function () {
        $(this).css('background-position', '0 -140px');
    }, function () {
        $(this).css('background-position', '0 0');
    });

    $('textarea').focus(function () {
        $(this).addClass('textarea-active');
        $(this).css('cursor', 'text');
        $(this).parent('span').find('.star').fadeOut('slow');
    });
    $('textarea').blur(function () {
        $(this).removeClass('textarea-active');
        $(this).css('cursor', 'pointer');
    });

    $('#wrong-dialog').dialog({
        autoOpen: false,
        bgiframe: true,
        modal: true,
        buttons: {
            "Хорошо": function () {
                $('.star').remove();
                $(this).dialog('close');
                if ( $('#message').val().length < 1 ) {
                    $('#message').parent('span').append('<div class="star"></div>');
                }
                if ( $('#form-name').val().length < 1 ) {
                    $('#form-name').parent('span').append('<div class="star"></div>');
                }
                if ( $('#form-captcha').val().length < 1 ) {
                    $('#form-captcha').parent('span').append('<div class="star"></div>');
                }
            }
        }
    });
    $('#wrong-order').dialog({
        autoOpen: false,
        bgiframe: true,
        modal: true,
        buttons: {
            "Хорошо": function () {
                $('.star').remove();
                $(this).dialog('close');
                if ( $('#message').val().length < 1 ) {
                    $('#message').parent('span').append('<div class="star"></div>');
                }
                if ( $('#form-name').val().length < 1 ) {
                    $('#form-name').parent('span').append('<div class="star"></div>');
                }
                if ( $('#form-captcha').val().length < 1 ) {
                    $('#form-captcha').parent('span').append('<div class="star"></div>');
                }
                if ( $('#from-order').val().length < 1 ) {
                    $('#from-order').parent('span').append('<div class="star"></div>');
                }
                if ( $('#to-order').val().length < 1 ) {
                    $('#to-order').parent('span').append('<div class="star"></div>');
                }
                if ( $('#form-contacts').val().length < 1 ) {
                    $('#form-contacts').parent('span').append('<div class="star"></div>');
                }
            }
        }
    });

    $('#form-opinion').submit(function () {
        if ( $('#message').val().length < 1 ) {
            $('#wrong-text').text('Пожалуйста, напишите отзыв о нашей базе.');
            $('#wrong-text-faq').text('Пожалуйста, напишите свой вопрос.');
            $('#wrong-dialog').dialog('open');
            return false;
        }
        if ( $('#form-name').val().length < 1 ) {
            $('#wrong-text, #wrong-text-faq').text('Пожалуйста, укажите Ваше имя.');
            $('#wrong-dialog').dialog('open');
            return false;
        }
        if ( $('#form-captcha').val().length < 1 ) {
            $('#wrong-text, #wrong-text-faq').text('Пожалуйста, введите символы с изображения.');
            $('#wrong-dialog').dialog('open');
            return false;
        }
    });

    $('#form-order').submit(function () {
        if ( $('#form-name').val().length < 1 ) {
            $('#wrong-text, #wrong-text-faq').text('Пожалуйста, укажите Ваше имя.');
            $('#wrong-order').dialog('open');
            return false;
        }
        if ( $('#form-contacts').val().length < 1 ) {
            $('#wrong-text, #wrong-text-faq').text('Вы не указали как с Вами можно связаться. Пожалуйста, укажите свой номер телефона или электронный почтовый адрес.');
            $('#wrong-order').dialog('open');
            return false;
        }
        if ( $('#form-contacts').val().length > 0 ) {
            var mailregsxp = /^([0-9a-zA-Z@_\.\-\(\)\s])+$/;
            if ($('#form-contacts').val().match(mailregsxp)==null) {
                $('#wrong-text, #wrong-text-faq').text('Вы не корректно ввели контактные данные. Пожалуйста, укажите свой номер телефона или электронный почтовый адрес правильно.');
                $('#wrong-order').dialog('open');
                return false;
            }
        }
        if ( $('#from-order').val().length < 1 || $('#to-order').val().length < 1) {
            $('#wrong-text, #wrong-text-faq').text('Вы не указали время Вашего отдыха у нас. Пожалуйста, укажите дату заезда и отъезда.');
            $('#wrong-order').dialog('open');
            return false;
        }
        if ( $('#form-captcha').val().length < 1 ) {
            $('#wrong-text, #wrong-text-faq').text('Пожалуйста, введите символы с изображения.');
            $('#wrong-order').dialog('open');
            return false;
        }
    });

    $("#wrong-order-s").dialog({
        autoOpen: false,
        bgiframe: true,
        modal: true,
        buttons: {
            "Хорошо": function () {
                $(this).dialog('close');
            }
        }
    });
    if ( $("#wrong-order-s").length > 0 ) $('#wrong-order-s').dialog('open');

    $("#wrong-dialog-s").dialog({
        autoOpen: false,
        bgiframe: true,
        modal: true,
        buttons: {
            "Хорошо": function () {
                $(this).dialog('close');
            }
        }
    });
    if ( $("#wrong-dialog-s").length > 0 ) $('#wrong-dialog-s').dialog('open');

    /* BG BODY IMAGE */
    width = screen.width;
    height = screen.height;
    if (width == 1024 && height == 768 ) {
        image = "1024-768.jpg";
    }
    else if (width == 1280 && height == 800 ) {
        image = "1280-800.jpg";
    }
    else if (width == 1280 && height == 1024) {
        image = "1280-1024.jpg";
    }
    else if (width == 1366 && height == 768)  {
        image = "1680-1050.jpg";
    }
    else if (width == 1440 && height == 900)  {
        image = "1680-1050.jpg";
    }
    else if (width == 1680 && height == 1050) {
        image = "1680-1050.jpg";
    }
    else if (width > 1680) {
        image = "1680-1050.jpg";
    }
    else if (width < 1024 ) {
        image = "1024-768.jpg";
    }

    bigImg = new Image;
    bigImg.src = base_url + 'assets/public/images/background/' + image;
    if (bigImg.complete) {
        $('body').css({
            background: '#92c8e0 url(' + base_url + 'assets/public/images/background/' + image + ') 50% 100% no-repeat',
            backgroundAttachment: 'fixed'
        });
    } else {
        $(bigImg).unbind().bind('load', function() {
            $('body').css({
                background: '#92c8e0 url(' + base_url + 'assets/public/images/background/' + image + ') 50% 100% no-repeat',
                backgroundAttachment: 'fixed'
            });
        });
    }

    $('#text img').wrap('<div class="border-img"></div>');
    var border = '<div class="pod-img-bg"><div class="radius-shadow-wrap"><div class="border-img-inhere"></div><div class="radius-shadow-cn bg-img-opacity shad-tl"></div><div class="radius-shadow-cn bg-img-opacity shad-tr"></div></div><div class="radius-shadow-cn bg-img-opacity shad-bl"></div><div class="radius-shadow-cn bg-img-opacity shad-br"></div></div>';
    $(".border-img").append(border);

    $('#text img').bind("borderImg", function () {
        var imgW = $(this).attr("width");
        var imgH = $(this).attr("height");
        var imgAl = $(this).attr("align");
        var summaOne = imgW - 30;
        var summaTwo = imgH - 28;
        var summaOneStr = summaOne + "px";
        var summaTwoStr = summaTwo + "px";

        if ( $.browser.msie ) {
            if ($.browser.version == 7.0 || $.browser.version == 6.0) $(this).attr({
                align: ""
            });
        }
        $(this).next(".pod-img-bg").css("width", summaOneStr);
        $(this).next(".pod-img-bg").find(".border-img-inhere").css("height", summaTwoStr);
        $(this).parent(".border-img").css("float", imgAl);
    });
    $('#text img').trigger("borderImg");

    $('#form-captcha').keypress(function (e) {
        e=e||window.event;
        var charCode=e.which?e.which:e.keyCode;
        return ( charCode==8 || (charCode>=48 && charCode<=57));
    });

    var imageSrc = $('#wrap-navigation-g a:visible:first').attr('href');
    $('#large-image').append('<img src="'+ imageSrc +'" alt="" />');
    $('#wrap-navigation-g a:visible:first').find('img').css('opacity', '0.6');
    $('#wrap-navigation-g a:visible:first').addClass('nav-active');

    if ( $('#wrap-navigation-g a:visible:first').hasClass('nav-active') ) {
        $('.btn-g-prev').addClass('disabled-btn-g');
    }
    else if ( $('#wrap-navigation-g a:visible:last').hasClass('nav-active') ) {
        $('.btn-g-next').addClass('disabled-btn-g');
    }

    $('#wrap-navigation-g a').click(function () {
        $('#wrap-navigation-g a').removeClass('nav-active');
        $('#wrap-navigation-g').find('img').css('opacity', '1');
        $(this).addClass('nav-active');
        $(this).children('img').css('opacity', '0.6');
        $('#large-image img').fadeOut('fast');
        var largePath = $(this).attr('href');
        $('#large-image').append('<img src="'+ largePath +'" alt="" />');
        $('.btn-g-prev, .btn-g-next').removeClass('disabled-btn-g');
        if ( $('#wrap-navigation-g a:first').hasClass('nav-active') ) {
            $('.btn-g-prev').addClass('disabled-btn-g');
        }
        else if ( $('#wrap-navigation-g a:last').hasClass('nav-active') ) {
            $('.btn-g-next').addClass('disabled-btn-g');
        }
        return false;
    });

    $('.btn-g-next').click(function () {
        if ( $(this).hasClass('disabled-btn-g') ) {
            return false;
        }
        else {
            $('.btn-g-prev').removeClass('disabled-btn-g');
            var largPathNext = $('.nav-active').next('a').attr('href');
            $('#large-image img').fadeOut('fast');
            $('#large-image').append('<img src="'+ largPathNext +'" alt="" />');
            $('.nav-active').find('img').css('opacity', '1');
            $('.nav-active').next('a').find('img').css('opacity', '0.6');
            $('.nav-active').removeClass('nav-active').next('a').addClass('nav-active');
            if ( $('#wrap-navigation-g a:last').hasClass('nav-active') ) {
                $('.btn-g-next').addClass('disabled-btn-g');
            }
        }
    });
    $('.btn-g-prev').click(function () {
        if ( $(this).hasClass('disabled-btn-g') ) {
            return false;
        }
        else {
            $('.btn-g-next').removeClass('disabled-btn-g');
            var largPathPrev = $('.nav-active').prev('a').attr('href');
            $('#large-image img').fadeOut('fast');
            $('#large-image').append('<img src="'+ largPathPrev +'" alt="" />');
            $('.nav-active').find('img').css('opacity', '1');
            $('.nav-active').prev('a').find('img').css('opacity', '0.6');
            $('.nav-active').removeClass('nav-active').prev('a').addClass('nav-active');
            if ( $('#wrap-navigation-g a:first').hasClass('nav-active') ) {
                $('.btn-g-prev').addClass('disabled-btn-g');
            }
        }
    });

    /* SELECT */
    $('.mini-order-select-small').selectmenu({
        style: 'dropdown',
        width: 66
    });
    $('.mini-order-select-big').selectmenu({
        style: 'dropdown',
        width: 180
    });
    $('.select-small').selectmenu({
        style: 'dropdown',
        width: 134
    });
    $('.select-big').selectmenu({
        style: 'dropdown',
        width: 327
    });

});

