﻿    selectClass = 'cool-select';

var bigMenuShowDelay = 500;
var bigMenuHideDelay = 1000;
var smallMenuDelay = 1000;
var maxItemsToShow = 15;

var limits = {'slider-menu': 3, 'sliderFooter': 2, 'sliderFooterSubPage': 1, 'small-slider-here': 0};
var isOverAutocomplete = false;
var mainCarousel = null;
var smallCarousel = null;

// Print
if (document.location.hash == '#print') {
    if (document.getElementById('print-view-css')) {
        document.getElementById('print-view-css').href = "/Files/Templates/Designs/skanderborg/styles/print.css";
    }
    window.print();
}

function hideAutocomplete() {
    jQuery('#q-text, #x-text').trigger('blur');
    jQuery('div.ac_results').hide();
}

function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
    var links = jQuery('.jcarousel-control a', carousel.container);
    links
            .removeClass('active-page')
            .eq(idx - 1)
            .addClass('active-page');
}

function mycarousel_itemFirstInCallback2(carousel, item, idx, state) {
    var links = jQuery('.jcarousel-control a', carousel.container);
    links
            .removeClass('active-page')
            .eq(idx - 1)
            .addClass('active-page');
}

function mycarousel_initCallback(carousel) {
    var id = carousel.container.attr('id');
    if (id == 'slider-menu') {
        mainCarousel = carousel;
    }
    else {
        if (id == 'small-slider-here') {
            smallCarousel = carousel;
        }
    }
    var items = jQuery('ul li img', carousel.container);
    items.each(function(i, obj) {
        if (i < items.length - limits[carousel.container.attr('id')]) {
            var link = jQuery('<a></a>');
            link
                    .attr('href', '#')
                    .text(i + 1)
                    .bind('click', function() {
                        var el = jQuery(this);
                        carousel.scroll(jQuery.jcarousel.intval(el.text()));
                        return false;
                    });
            if (id == 'small-slider-here') {
                link.attr('title', jQuery('#small-slider-here li a').eq(i).attr('title'));
            }
            jQuery('.jcarousel-control', carousel.container).append(link);
        }
    });
    var controls = jQuery('.jcarousel-control a', carousel.container);
    controls.eq(0).addClass('active-page');
    jQuery('.sh-next', carousel.container).bind('click', function() {
        carousel.next();
        return false;
    });
    jQuery('.sh-prev', carousel.container).bind('click', function() {
        carousel.prev();
        return false;
    });
}

function cutEmails(length) {
    jQuery('div.search-list a[href^="mailto"]').each(function(i, obj) {
        var el = jQuery(obj);
        var parts = el.html().match(new RegExp('.{0,' + length + '}', 'g'));
        if (parts.length > 0) {
            parts = parts.slice(0, -1);
        }
        el.html(parts.join('<br />'));
    });
}

var itemIndex = 0;
var showTimeoutId = null;
var hideTimeoutId = null;
var smallMenuTimeoutId = null;

jQuery(document).ready(function() {
    if (jQuery('#slider-menu').length > 0) {
        jQuery('#slider-menu').show();
    }
    jQuery('div.dropdown-list ul li a').click(function() {
        jQuery('p.act-select').html(jQuery(this).html());
        jQuery('.dropdown-list').slideUp();
    });
    jQuery('.select-scroll .act-select')
            .data('expanded', false)
            .click(function() {
                var el = jQuery(this);
                if (el.data('expanded') == false) {
                    el.next('.dropdown-list').slideDown(400, function() {
                        el.data('expanded', true);
                    });
                }
            })
            .outerClick(function(event) {
                var el = jQuery(this);
                if (el.get(0) === event.target && el.data('expanded') == true) {
                    el.next('.dropdown-list').slideUp(400, function() {
                        el.data('expanded', false);
                    });
                }
            });
    jQuery('div.pp-dropdown-list ul li a').click(function() {
        jQuery('p.pp-act-select').html(jQuery(this).html());
        jQuery('.pp-dropdown-list').slideUp();
    });
    jQuery('.pp-select-scroll .pp-act-select')
            .data('expanded', false)
            .click(function() {
                var el = jQuery(this);
                if (el.data('expanded') == false) {
                    el.next('.pp-dropdown-list').slideDown(400, function() {
                        el.data('expanded', true);
                    });
                }
            })
            .outerClick(function(event) {
                var el = jQuery(this);
                if (el.get(0) === event.target && el.data('expanded') == true) {
                    el.next('.pp-dropdown-list').slideUp(400, function() {
                        el.data('expanded', false);
                    });
                }
            });
    var smallMenus = jQuery('.komm-list, .lang-list, .search-over');
    var smallHeaders = jQuery('p.komm-title, .lang-select p.act-lang');
    jQuery('p.komm-title').mouseover(function() {
        clearTimeout(smallMenuTimeoutId);
        var el = jQuery('.komm-list');
        smallMenus.not(el).hide();
        smallHeaders.removeClass('over');
        el.show();
        jQuery(this).addClass('over');
    });
    jQuery('.lang-select p.act-lang').mouseover(function() {
        clearTimeout(smallMenuTimeoutId);
        var el = jQuery('.lang-list');
        smallMenus.not(el).hide();
        smallHeaders.removeClass('over');
        el.show();
        jQuery(this).addClass('over');
    });
    jQuery('.searchbar-link').mouseover(function () {
        clearTimeout(smallMenuTimeoutId);
        var el = jQuery('.search-over');
        smallMenus.not(el).hide();
        smallHeaders.removeClass('over');
        el.show();
        jQuery('.search-over').show();
    });
    smallMenus
            .mouseover(function() {
        clearTimeout(smallMenuTimeoutId);
    })
            .outerClick(function(event) {
                var el = jQuery(this);
                if (el.get(0) === event.target && el.is(':visible')) {
                    el.hide();
                    smallHeaders.removeClass('over');
                }
            })
            .mouseleave(function() {
                clearTimeout(smallMenuTimeoutId);
                var el = jQuery(this);
                smallMenuTimeoutId = setTimeout(function() {
                    el.outerClick();
                }, smallMenuDelay);
            });
    jQuery('.submenu ul:first-child > li').mouseenter(function() {
        var el = jQuery(this);
        jQuery('.submenu ul:first-child > li')
                .not(el)
                .removeClass('active');
        el
                .addClass('item-expanded')
                .addClass('active')
                .children('ul')
                .slideDown(750);
    });
    jQuery('.top-selector').click(function() {
        var el = jQuery(this);
        if (el.hasClass('tp-sel-act')) {
            jQuery('.header-over').slideUp();
            el.removeClass('tp-sel-act');
        }
        else {
            jQuery('.header-over').slideDown();
            el.addClass('tp-sel-act');
        }
    });
    //Equal Height Blocks
    equalHeight(jQuery(".equal-height"));
    if (jQuery('.big-menu > li').length > 0) {
        var offset = jQuery('div.content').eq(0).offset().left + 3;
        var bigMenuItems = jQuery('.big-menu > li').children('a');
        jQuery('.big-menu > li').hover(function() {
            clearTimeout(hideTimeoutId);
            clearTimeout(showTimeoutId);
            var el = jQuery(this);
            showTimeoutId = setTimeout(function() {
                if (!jQuery('.big-menu .big-popup').is(':visible')) {
                    jQuery('.select-scroll .act-select').outerClick();
                    jQuery('.pp-select-scroll .pp-act-select').outerClick();
                    smallMenus.hide();
                    smallHeaders.removeClass('over');
                }
                hideAutocomplete();
                var menu = jQuery('.big-popup', el);
                jQuery('.big-menu .big-popup').not(menu).hide();
                bigMenuItems.removeClass('act-mn');
                el.children('a').addClass('act-mn');
                var o = el.offset();
                menu.css('left', '-' + (o.left - offset) + 'px');
                jQuery('.self-service-block', menu).addClass('ssb-tp');
                jQuery('.arr', menu).css('left', (o.left + el.width() / 2 - offset) + 'px');
                el.addClass('act-mn');
                jQuery('.over-bg').show();
                menu.show();
            }, bigMenuItems.hasClass('act-mn') ? 0 : bigMenuShowDelay);
        }, function() {
            clearTimeout(hideTimeoutId);
            clearTimeout(showTimeoutId);
            if (isOverAutocomplete) {
                return;
            }
            var el = jQuery(this);
            hideTimeoutId = setTimeout(function() {
                if (isOverAutocomplete) {
                    return;
                }
                var menu = jQuery('.big-popup', el);
                bigMenuItems.removeClass('act-mn');
                jQuery('.sbox').hide();
                jQuery('.self-service-block', menu).removeClass('ssb-tp');
                jQuery('.arr', menu).removeClass('bpp-arr-' + (jQuery('.big-menu > li').index(el) + 1));
                el.removeClass('act-mn');
                el.removeClass('act-parent-menu')
                jQuery('.select-scroll .act-select').outerClick();
                jQuery('.pp-select-scroll .pp-act-select').outerClick();
                hideAutocomplete();
                jQuery('.over-bg').hide();
                menu.hide();
            }, bigMenuHideDelay);
        });
        jQuery('.big-menu .big-popup').outerClick(function(event) {
            var el = jQuery(this);
            if (el.get(0) === event.target && el.is(':visible')) {
                clearTimeout(hideTimeoutId);
                clearTimeout(showTimeoutId);
                if (isOverAutocomplete) {
                    return;
                }
                el.hide();
                jQuery('.over-bg').hide();
                bigMenuItems.removeClass('act-mn');
                jQuery('.select-scroll .act-select').outerClick();
                jQuery('.pp-select-scroll .pp-act-select').outerClick();
                hideAutocomplete();
            }
        });
    }
    var jfsParams = {
        applyTo: '.out, .footer',
        changesmall: '1',
        changelarge: '1',
        expire: 1
    };

    jQuery('#fontsizer').jfontsizer(jfsParams);
    jQuery('#fontsizer2').jfontsizer(jfsParams);

    jQuery('input.inputFileVal, .inp-text-wbutt input.inp, .search-bar input.txt, .search-bar2 input.txt, .pp-search-bar input.txt, .inp-text input, .inp-text textarea').formtips({
        tippedClass: 'tipped'
    });
    jQuery("#slider-menu").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null,
        itemFirstInCallback: mycarousel_itemFirstInCallback
    });
    jQuery("#sliderFooter, #sliderFooterSubPage").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        itemFirstInCallback: mycarousel_itemFirstInCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });
    jQuery("#small-slider-here").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        itemFirstInCallback: mycarousel_itemFirstInCallback2,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });
    var images = [];
    if (jQuery('div#cross-slider-big img').length > 0) {
        var selectorContainer = jQuery('ul.slider-big-selecter');
        var headers = jQuery('div.slider-big .slide-over');
        jQuery('div#cross-slider-big img').each(function(i, obj) {
            images.push({src: jQuery(obj).attr('src')});
            var selector = jQuery('<li><a href="#">' + (i + 1) + '</a></li>');
            if (i == 0) {
                jQuery('a', selector).addClass('act');
            }
            selectorContainer.append(selector);
        });
        jQuery('#cross-slider-big').crossSlide({
            sleep: 5,
            fade: 1
        }, images, function(idx, img, idxOut, imgOut) {
            headers.not(headers.eq(idx)).hide();
            if (idxOut == undefined) {
                jQuery('a', selectorContainer).removeClass('act').eq(idx).addClass('act');
                headers.eq(idx).fadeIn(1000);
            }
            else {
                headers.eq(idx).fadeOut(1000);
            }
        });
    }
    var items = jQuery('div#slider-menu ul:first-child > li');
    var buttons = jQuery('div#slider-menu .jcarousel-control a');
    items.each(function(i, obj) {
        jQuery(obj).hover(function() {
            overMenu = true;
            var el = jQuery(this);
            var parent = el.parent('ul');
            parent.width(parent.width() + 139);
            parent.css('overflow', 'visible!important');
            jQuery('.slider-out').addClass('mc-over');
            el.addClass('over');
            jQuery('#slider-menu').addClass('slider-left');
            var index = items.index(el);
            var mIndex = index;
            itemIndex = index;
            var pos = el.offset();
            var current = buttons.index(jQuery('a.active-page', buttons.parent()));
            var delta = 0;
            var useCallback = false;
            if (index == items.length - 1) {
                el.addClass('las-item');
                parent.css('left', (jQuery.jcarousel.intval(parent.css('left')) - 139) + 'px');
                delta = -139;
            }
            else {
                if (current == index - 3) {
                    delta = 138;
                    index -= 2;
                    useCallback = true;
                    mainCarousel.options['itemLoadCallback'] = {
                        onAfterAnimation: function() {
                            jQuery('#submenu-' + (mIndex + 1)).css({
                                position: 'absolute',
                                display: 'block',
                                top: '0px',
                                marginTop: el.height() + 'px',
                                left: (92 + (((index > 0 ? index : 0) - current) % 4) * 138 + delta) + 'px'
                            });
                            mainCarousel.options['itemLoadCallback'] = null;
                        }
                    };
                    jQuery('div#slider-menu .jcarousel-control a').eq(index > 0 ? index : 0).click();
                }
            }
            if (!useCallback) {
                jQuery('#submenu-' + (mIndex + 1)).css({
                    position: 'absolute',
                    display: 'block',
                    top: '0px',
                    marginTop: el.height() + 'px',
                    left: (92 + (((index > 0 ? index : 0) - current) % 4) * 138 + delta) + 'px'
                });
            }
        }, function(event) {
            var el = jQuery(this);
            var pos = el.offset();
            var index = items.index(el);
            if (jQuery('#submenu-' + (index + 1)).length == 0) {
                jQuery('.submenu ul:first-child > li').removeClass('active').children('ul').hide();
                jQuery('#submenu-' + (index + 1)).removeClass('over');
                var index = items.index(el);
                el.removeClass('over-me')
                var parent = el.parent('ul');
                parent.width(parent.width() - 139);
                parent.css('overflow', 'hidden!important');
                el.removeClass('over');
                jQuery('#slider-menu').removeClass('slider-left');
                jQuery('.slider-out').removeClass('mc-over');

                jQuery('#submenu-' + (index + 1)).css({
                    display: 'none'
                });
                var index = items.index(el);
                var current = buttons.index(jQuery('a.active-page', buttons.parent()));
                if (index == items.length - 1) {
                    el.removeClass('las-item');
                    parent.css('left', (jQuery.jcarousel.intval(parent.css('left')) + 139) + 'px');
                }
                return;
            }
            if (jQuery('#submenu-' + (index + 1)).hasClass('over')) {
                jQuery('.submenu ul:first-child > li').removeClass('active').children('ul').hide();
                jQuery('#submenu-' + (index + 1)).removeClass('over');
                var index = items.index(el);
                el.removeClass('over-me')
                var parent = el.parent('ul');
                parent.width(parent.width() - 139);
                parent.css('overflow', 'hidden!important');
                el.removeClass('over');
                jQuery('#slider-menu').removeClass('slider-left');
                jQuery('.slider-out').removeClass('mc-over');

                jQuery('#submenu-' + (index + 1)).css({
                    display: 'none'
                });
                var index = items.index(el);
                var current = buttons.index(jQuery('a.active-page', buttons.parent()));
                if (index == items.length - 1) {
                    el.removeClass('las-item');
                    parent.css('left', (jQuery.jcarousel.intval(parent.css('left')) + 139) + 'px');
                }
            }
            else {
                if ((event.pageY >= (pos.top + el.height())) && (event.pageX >= pos.left && event.pageX <= (pos.left + el.width()))) {
                    jQuery('#submenu-' + (index + 1)).addClass('over');
                }
                else {
                    jQuery('.submenu ul:first-child > li').removeClass('active').children('ul').hide();
                    jQuery('#submenu-' + (index + 1)).removeClass('over');
                    var index = items.index(el);
                    el.removeClass('over-me')
                    var parent = el.parent('ul');
                    parent.width(parent.width() - 139);
                    parent.css('overflow', 'hidden!important');
                    el.removeClass('over');
                    jQuery('#slider-menu').removeClass('slider-left');
                    jQuery('.slider-out').removeClass('mc-over');

                    jQuery('#submenu-' + (index + 1)).css({
                        display: 'none'
                    });
                    var index = items.index(el);
                    var current = buttons.index(jQuery('a.active-page', buttons.parent()));
                    if (index == items.length - 1) {
                        el.removeClass('las-item');
                        parent.css('left', (jQuery.jcarousel.intval(parent.css('left')) + 139) + 'px');
                    }
                }
            }
        });
    });
    jQuery('.submenu').hover(function() {
        jQuery(this).css({
            display: 'block'
        });
    }, function() {
        jQuery(this).css({
            display: 'none'
        });
        jQuery('div#slider-menu ul:first-child > li').eq(itemIndex).mouseleave();
    });
    jQuery('div.mac-monitor')
            .hover(function() {
                var el = jQuery(this);
                jQuery(this).css('cursor', 'pointer');
            }, function() {
                jQuery(this).css('cursor', 'default');
            })
            .click(function() {
                document.location.href = jQuery('#small-slider-here li a').eq(smallCarousel.first - 1).attr('href');
            });

    jQuery('div.site-map-struct li p > em').click(function() {
        var el = jQuery(this);
        var list = el.parent('p').parent('li').children('ul');
        if (el.hasClass('pls')) {
            el.removeClass('pls');
            if (list.length > 0) {
                list.slideDown();
            }
        }
        else {
            el.addClass('pls');
            if (list.length > 0) {
                list.slideUp();
            }
        }
    });

    jQuery('div.fsizer > a').click(function() {
        var el = jQuery(this);
        var parent = el.parent('div');
        jQuery('div.fsizer').not(parent).children('a').removeClass('fsactive');
        jQuery('div.fsizer').not(parent).children('a#' + el.attr('id')).addClass('fsactive');
    });


    // Print
    if (document.location.hash == '#print' || document.location.hash == '#themeprint') {
        jQuery('.footer > .inner').prepend('<img src="/files/templates/designs/skanderborg/images/house-line.png" alt="house-line.png" class="house-line" />');
        jQuery('.main-container > .header').prepend('<img src="/files/templates/designs/skanderborg/images/logo-print.png" alt="logo-print.png" class="logo-print" />');
        jQuery('.center-block.equal-height').css('min-height', '');
    }

    jQuery('div.ac_results')
            .live('mouseenter', function() {
                isOverAutocomplete = true;
            })
            .live('mouseleave', function() {
                isOverAutocomplete = false;
            });
    if (jQuery.tooltip != undefined) {
        jQuery('div.mac-monitor').tooltip({
            bodyHandler: function() {
                return jQuery('#small-slider-here li a').eq(smallCarousel.first - 1).attr('title');
            },
            showURL: false
        });
    }

    jQuery("#q-text, #search_text").keyup(function() {
        setTimeout(function() {
            $(".gsc-completion-container tr:first td:first").append("<div class='gsc-completion-fix'></div>");
        }, 300);
    });
});
