
/**
 * Funkce pro posouvani videa na uvodni strance
 */
$(document).ready(function() {
    page_init();
});
 
function page_init(){
    init_mainmenu();
    init_search_tabs();
    init_map_slider();
    init_accommodation_slider();
    init_accommodation_tabs();
}

function init_mainmenu() {
    $("#mainmenu ul li ul").parent('li').mouseenter(function() {
        $('#mainmenu ul li').removeClass('popup');
        $(this).addClass('popup');
    }).mouseleave(function() {
        $(this).removeClass('popup');
    });
}

function init_search_tabs() {
    $("#search .tabs a").each(function(i) {
       $(this).click(function() {
           $("#search .tabs a").removeClass('active');
           $(this).addClass('active');
           $(this).attr('rel');
           $("#search>div:not([class='tabs clearfix'])").hide();
           $("#search>div." + $(this).attr('rel')).show();
           return false;
       });
    });
}

function init_accommodation_tabs()
{
    $("#accommodation_tabs .header a").click(function() {
       if (!$(this).hasClass('active')) {
           $("#accommodation_tabs .header a").removeClass('active');
           $(this).addClass('active');
           target = $(this).attr('href');
           $("#accommodation_tabs .accommodation_tab").hide();
           $("#accommodation_tabs .accommodation_tab").removeClass('hide');
           $(target).show();
       }
       return false;
    });
}

function init_map_slider() {
    // map slider
    $('#map_slider .map_toggle').click(function() {        
        height = $('#map_slider .inner_map_holder').height();
        var outer = $('#map_slider .outer_map_holder');
        if (outer.hasClass('open')) {
            // closing            
            outer.animate({'height': '0px'}, 1000, function() {
                outer.removeClass('open');
                outer.addClass('close');
            });
        }
        else {
            // opening
            outer.removeClass('close');
            outer.addClass('open');
            outer.animate({'height': (height + 7) + 'px'}, 1000);
        }
        img = $(this).find('img');
        if ((class_name = img.attr('class')) != '') {
            src = img.attr('src')
            src = src.replace('.gif','');
            src = src.replace('/images/','');
            img.removeClass(class_name);
            img.addClass(src);
            img.attr('src', '/images/' + class_name + '.gif');
        }
        return false;
    });
}

var accommodation_slider_position = 0;
var accommodation_slider_height = 0;
var accommodation_slider_count = 0;
var accommodation_slider_max = 3;
var accommodation_slider_item_margin = 10;
var accommodation_slider_items = new Array();
var accommodation_slider_animation = 1000;

function init_accommodation_slider() {
    // accommodation slider
    accommodation_slider_height = 0;
    accommodation_slider_count = 0;
    accommodation_slider_position = 0;
    $('#accommodation_slider .outer_box').each(function(i) {
        accommodation_slider_items[i] = $(this).height() + accommodation_slider_item_margin;
        accommodation_slider_height += accommodation_slider_items[i];
        accommodation_slider_count ++;
    });
    if (accommodation_slider_count < accommodation_slider_max) {
        accommodation_slider_max = accommodation_slider_count;
    }
    $('#accommodation_slider .outer_slider').css({
        'height': get_current_height() + 'px',
        'position': 'relative',
        'overflow': 'hidden'
    });    
    $('#accommodation_slider .inner_slider').css({
        'position': 'absolute',
        'top': get_current_top() + 'px',
        'left': '0px'
    });
    $('#accommodation_slider .down').click(function() {
        if (accommodation_slider_position < accommodation_slider_count - accommodation_slider_max) {
            accommodation_slider_position ++;
            update_slider();
        }
        return false;
    });
    $('#accommodation_slider .up').click(function() {
        if (accommodation_slider_position > 0) {
            accommodation_slider_position --;
            update_slider();
        }
        return false;
    });

    function update_slider() {
        current_height = get_current_height();
        if (current_height != $('#accommodation_slider .outer_slider').height()) {
            $('#accommodation_slider .outer_slider').animate({'height': current_height + 'px'}, accommodation_slider_animation);
        }
        $('#accommodation_slider .inner_slider').animate({'top': get_current_top() + 'px'}, accommodation_slider_animation);
    }

    function get_current_height() {
        current_height = 0;        
        for (i = 0; i < accommodation_slider_max; i++) {
            current_height += accommodation_slider_items[accommodation_slider_position + i];
        }
        return current_height - 1;
    }

    function get_current_top() {
        current_top = 0;
        for (i = 0; i < accommodation_slider_position; i++) {
            current_top += accommodation_slider_items[i];
        }
        return current_top * -1;
    }
}