// remap jQuery to $
(function($){
    $(document).ready(function() {

        $('a[rel^="colorbox"], a.colorbox').colorbox({
            rel: 'nofollow',
            current: "Obrázek {current} z {total}",
            maxWidth: '90%',
            maxHeight: '90%',
            onOpen: function() { clearInterval(autoRotate[clickedSlides]); },
            onClosed: function() { autoRotate[clickedSlides] = setInterval(rt_array[clickedSlides], rotateSpeed); clickedSlides = null; }
        });

        $('a[rel^="external"]').colorbox({
            // current: "Obrázek {current} z {total}",
            current: "",
            maxWidth: '90%',
            maxHeight: '90%'
        });

        $(".tabs").tabs({
            selected: -1,
            collapsible: true,
            fx: { height: 'toggle', duration: 'fast' }
            // fx: { height: 'toggle', opacity: 'toggle' }
        });

        // servece mailing
        $('.service-box form button').click(function() {
            error = false;

            form = $(this).parent();

            form_data = {};

            // name check
            if($('input#name', form).val().length > 1) {
                form_data.name = $('input#name', form).val();

                $('.error.name', form).hide();
                $('input#name', form).css('border-color', '#438BA2');
            }
            else {
                error = true;

                $('.error.name', form).show();
                $('input#name', form).css('border-color', '#FD6602');
            }

            // email check
            if($('input#email', form).val().length > 1 && validate($('input#email', form).val())) {
                form_data.email = $('input#email', form).val();

                $('.error.email', form).hide();
                $('input#email', form).css('border-color', '#438BA2');
            }
            else {
                error = true;

                $('.error.email', form).show();
                $('input#email', form).css('border-color', '#FD6602');
            }

            // message check
            if($('textarea#message', form).val().length > 1) {
                form_data.message = $('textarea#message', form).val();

                $('.error.message', form).hide();
                $('textarea#message', form).css('border-color', '#438BA2');
            }
            else {
                error = true;

                $('.error.message', form).show();
                $('textarea#message', form).css('border-color', '#FD6602');
            }

            if(error) {}
            else {
                $.ajax({
                    type: 'POST',
                    url: '/service-mailer',
                    data: form_data,
                    success: function(data) {
                        $(':input', form)
                            .not(':button, :submit, :reset, :hidden')
                            .val('')
                            .removeAttr('checked')
                            .removeAttr('selected');

                        alert('Dotaz byl odeslán. Brzy se Vám ozveme!');
                    },
                    error: function(){
                        alert('Nastala neočekávaná chyba při odesílání. Prosím, kontaktujte nás telefonicky.');
                    }
                });
            }

            return false;
        });

        // slider 1 ------------------------------------------------------
        slides_count[1] = $('.slides.one .slide').length;
        currentTab[1] = 0;
        rt_array[1] = 'rotateTabs(".slides.one .slide", ".slides-control.one", "1")';

        if(slides_count[1] > 1) {

            $('.slides-control.one li a').bind('click', function(e) {
                openTab($('.slides.one .slide:eq(' + $(this).parent().index() + ')'), '.slides.one .slide', '.slides-control.one', 1);
                return false;
            });


            autoRotate[1] = setInterval(rt_array[1], rotateSpeed);
        }

        $('.slides.one a.image').click(function() { clickedSlides = 1; });

        $('.slides.one, .slides-control.one').mouseover(function() { clearInterval(autoRotate[1]); })
            .mouseout(function() { if(!clickedSlides) autoRotate[1] = setInterval(rt_array[1], rotateSpeed); });

        // slider 2 -------------------------------------------
        slides_count[2] = $('.slides.two .slide').length;
        currentTab[2] = 0;

        if(slides_count[2] > 1) {

            $('.slides-control.two li a').bind('click', function(e) {
                openTab($('.slides.two .slide:eq(' + $(this).parent().index() + ')'), '.slides.two .slide', '.slides-control.two', 2);
                return false;
            });


            autoRotate[2] = setInterval('rotateTabs(".slides.two .slide", ".slides-control.two", "2")', rotateSpeed);
        }

        $('.slides.one a.image').click(function() { clickedSlides = 1; });

        $('.slides.two, .slides-control.two').mouseover(function() { clearInterval(autoRotate[2]); })
            .mouseout(function() { if(!clickedSlides) autoRotate[2] = setInterval('rotateTabs(".slides.two .slide", ".slides-control.two", "2")', rotateSpeed); });

        // slider 3 -------------------------------------------
        slides_count[3] = $('.slides.three .slide').length;
        currentTab[3] = 0;

        if(slides_count[3] > 1) {

            $('.slides-control.three li a').bind('click', function(e) {
                openTab($('.slides.three .slide:eq(' + $(this).parent().index() + ')'), '.slides.three .slide', '.slides-control.three', 3);
                return false;
            });


            autoRotate[3] = setInterval('rotateTabs(".slides.three .slide", ".slides-control.three", "3")', rotateSpeed);
        }

        $('.slides.one a.image').click(function() { clickedSlides = 1; });

        $('.slides.three, .slides-control.three').mouseover(function() { clearInterval(autoRotate[3]); })
            .mouseout(function() { if(!clickedSlides) autoRotate[3] = setInterval('rotateTabs(".slides.three .slide", ".slides-control.three", "3")', rotateSpeed); });



    });

})(window.jQuery);

function validate(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

    return reg.test(email);
}

// ----------------------------------------------------------------------------
// teaser setting and functions
var clickedSlides;
var rt_array = new Array;
//
var currentTab = new Array;
var rotateSpeed = 5000;
var slides_count = new Array;
var autoRotate = new Array;
var toggleSpeed = 1500;
var toggleType = "";

function openTab(clickedTab, slide, control, num) {
    var thisTab = $(slide).index(clickedTab);

    $(control +" li").removeClass("active");
    $(control +" li:eq("+thisTab+")").addClass("active");

    $(slide).fadeOut(toggleSpeed);
    $(slide +":eq("+thisTab+")").fadeIn(toggleSpeed);

    currentTab[num] = thisTab;
}

function rotateTabs(slide, control, num) {
    var nextTab = (currentTab[num] == (slides_count[num] - 1)) ? 0 : currentTab[num] + 1;
    openTab($(slide +":eq("+nextTab+")"), slide, control, num);
}

