﻿/// <reference path="~/Resources/js/jquery-1.2.6-intellisense.js" />

$(function() {
    $('.group').parents('.panel').each(function() {
        var items = $('.group li', $(this));
        var columns = $('.column', $(this));
        var rows = Math.ceil(items.length / columns.length);

        var html = $('<div></div>');
        var column = $('<div class="column"></div>');
        var ul = $('<ul></ul>');
        var columnNo = 1;

        items.each(function(i) {
            if (i > (columnNo * rows) && $(this).hasClass('title')) {
                column.append(ul);
                ul = $('<ul></ul>');
                html.append(column);
                column = $('<div class="column"></div>');
                columnNo++;
            } else if (i > 0 && $(this).hasClass('title')) {
                column.append(ul);
                ul = $('<ul></ul>');
            }

            ul.append(this);
        });

        column.append(ul);
        html.append(column);

        if ($('.column', html).length < columns.length) {
            var lastUl = $('.column:last ul:last', html);
            lastUl.remove();
            html.append($('<div class="column"></div>').append(lastUl));
        }

        $(this).find('.panelContent').html($('.column', html));
    });

    $('#main-menu .promotion-area').parents('.panel').each(function() {
        $('.promotion-area', $(this)).each(function() {
            var promotionArea = $(this);

            var column = promotionArea.parents('.column:first');

            var li = promotionArea.parents('li:first');
            var ul = li.parent();

            var index = 0;
            $('li', ul).each(function(i) {
                if ($('.promotion-area', $(this)).length > 0)
                    index = i;
            });

            promotionArea.parents('li:first').remove();

            promotionArea = $('<div class="column"></div>').append(promotionArea);

            if (index == 0)
                column.before(promotionArea);
            else
                column.after(promotionArea);
        });
    });

    $(".top-menu a[name='drop-down']").click(openDropDown);

    $("a[title='Vitvaror']").click(openDropDownBreadCrumbs);
});

function getPanelWidth(panel) {
    var width = 0;
    $(".column", panel).each(function() {
        width += $(this).outerWidth();
    });
    return width + 40 + 15;
}

function getPanelHeight(panel) {
    var height = 0;
    $(".column", panel).each(function() {
        var tmp = $(this).outerHeight();
        if (tmp > height)
            height = tmp;
    });
    return height + 43;
}

function hideAllPanels() {
    $('.panel').hide();
    $('body').unbind('click', hideAllPanels);
    return false;
}

function openDropDown() {
    $('body').bind('click', hideAllPanels);
    var id = $(this).attr('class').substring(1);
    var panel = $('#panel-' + id);
    panel.click(function() { return false });

    $(".panel[id!='panel-" + id + "']").hide();

    panel.css('left', $(this).position().left)
         .toggle();

    $("li[class!='title']", panel).click(function() {
        panel.hide();
        var uri = $(this).find('a').attr('href');
        window.location = uri;
    });

    if (panel.data('sizeSet') != true) {
        panel.width(getPanelWidth(panel))
             .height(getPanelHeight(panel));
        panel.find('.topCenter,.bottomCenter').width(getPanelWidth(panel) - 42);
        panel.find('.middleLeft,.middleRight').height(getPanelHeight(panel) - 42);
        panel.find('.panelContent').width(getPanelWidth(panel) - 42)
                                   .height(getPanelHeight(panel) - 42);
        panel.data('sizeSet', true);
    }

    $('.panel').css('z-index', 1000);
    panel.css('z-index', 2000);

    return false;
}

function openDropDownBreadCrumbs() {
    $('body').bind('click', hideAllPanels);
    var id = $(".top-menu a[name='drop-down']").attr('class').substring(1);
    var panel = $('#panel-' + id);
    panel.click(function() { return false });

    $(".panel[id!='panel-" + id + "']").hide();

    panel.css('left', $(".top-menu a[name='drop-down']").position().left)
         .toggle();

    $("li[class!='title']", panel).click(function() {
        panel.hide();
        var uri = $(".top-menu a[name='drop-down']").attr('href');
        window.location = uri;
    });

    if (panel.data('sizeSet') != true) {
        panel.width(getPanelWidth(panel))
             .height(getPanelHeight(panel));
        panel.find('.topCenter,.bottomCenter').width(getPanelWidth(panel) - 42);
        panel.find('.middleLeft,.middleRight').height(getPanelHeight(panel) - 42);
        panel.find('.panelContent').width(getPanelWidth(panel) - 42)
                                   .height(getPanelHeight(panel) - 42);
        panel.data('sizeSet', true);
    }

    $('.panel').css('z-index', 1000);
    panel.css('z-index', 2000);

    return false;
}
