jQuery.fn.initMenu = function() {
    return this.each(function() {
        var theMenu = $(this).get(0);
        $('.acitem', this).hide();
        $('li.expand > .acitem', this).show();
        $('li.expand > .acitem', this).prev().addClass('active');
        $('li a', this).click(
                function(e) {
//                    e.stopImmediatePropagation();

                    var location = $(this).attr('href');
                    var id = $(this).attr('id');
                    var isActive = $(this).hasClass('active');

                    var theElement = $(this).next();
                    var parent = this.parentNode.parentNode;
                    if ($(parent).hasClass('noaccordion')) {
                        if (theElement[0] === undefined) {
//                            window.location.href = this.href;
                        }
                        $(theElement).slideToggle('normal', function() {
                            if ($(this).is(':visible')) {
                                $.cookie("state", "open");
                                $.cookie("parent", id);
                                $(this).prev().addClass('active');
                            }
                            else {
                                $(this).prev().removeClass('active');
                                $.cookie("state", "closed");
                                $.cookie("parent", id);
                            }
                        });
                        return false;
                    }
                    else {
                        if (theElement.hasClass('acitem') && theElement.is(':visible')) {
                            if ($(parent).hasClass('collapsible')) {
                                $('.acitem:visible', parent).first().slideUp('normal',
                                        function() {
                                            $(this).prev().removeClass('active');
                                            $.cookie("state", "closed");
                                            $.cookie("parent", id);
                                        }
                                );
                                return false;
                            }
                            return false;
                        }
                        if (theElement.hasClass('acitem') && !theElement.is(':visible')) {
                            $('.acitem:visible', parent).first().slideUp('normal', function() {
                                $(this).prev().removeClass();
                                $.cookie("state", "closed");
                                $.cookie("parent", id);
                            });
                            theElement.slideDown('normal', function() {
                                $.cookie("state", "open");
                                $.cookie("parent", id);
                                $(this).prev().addClass('active');
                            });
                            return false;
                        }
                    }
                }
        );
    });
};

$(document).ready(function() {
    $('.slide').initMenu();
});


function resizeColumns() {
    var contentHeight = $('#content').height();

    var leftColElement = $('#menu');
    var rightColElement = $('#rl');

    leftColElement.height(contentHeight);
    rightColElement.height(contentHeight - 12);
}

function changeContent(element) {
    var header = $('#hdr img:first');
    var slider = $('#slider');
    var slider2 = $('#slider2');
    var content = $('#tekst');
    var id = element.attr('id');
    var sliderid = element.attr('slider');

    header.attr('src', element.attr('header'));
    content.html('<img src="' + element.attr('content') + '"/>');

    if (id == 'mainmenu-startpagina') {
        slider2.addClass('hide');
        slider.removeClass('hide');
        slider.data('nivoslider').start();
    } else {
        slider.data('nivoslider').stop();
        slider.addClass('hide');

        $('#slider2 img').each(function(i, e) {
            $(e).addClass('hide');
        });

        slider2.removeClass('hide');
        $('#slider2 img#' + sliderid).removeClass('hide');
    }

    $('#mainmenu a, #sc a').each(function(i, e) {
        $(e).removeClass('act')
    });

    if (id == 'rl-offerte') {
        $('#mainmenu-offerte').addClass('act');
    } else {
        element.addClass('act');
    }


    resizeColumns();
}

$(function() {

    resizeColumns();

    $('#mainmenu a, #sc a, #rl a', this).click(function(e) {
        var element = $(this);
        var pageId = element.attr('id');
        var mainMenuDiensten = $('#mainmenu-diensten');

        switch(pageId) {

            case 'mainmenu-diensten':
            case 'submenu-projecten':
                changeContent($('#submenu-projecten'));
                mainMenuDiensten.addClass('act');
                $('f-' + pageId).addClass('act');
                break;

            case 'submenu-producten':
            case 'submenu-werkzaamheden':
                changeContent($('#' + pageId));
                mainMenuDiensten.addClass('act');
                $('f-' + pageId).addClass('act');
                break;

            case 'f-submenu-projecten':
            case 'f-submenu-producten':
            case 'f-submenu-werkzaamheden':
                if(!mainMenuDiensten.hasClass('active')) {
                    mainMenuDiensten.click();
                }
                $('a#' + pageId.replace('f-', '')).click();
                element.addClass('act');
                break;

            default:
                changeContent(element);

                if(mainMenuDiensten.hasClass('active')) {
                    mainMenuDiensten.removeClass('act active');
                    $('#submenu').slideToggle();
                }

                break;
        }
        
        return false;
    });
});

$(function () {
    var page = jQuery.url.attr("file");
    var state = $.cookie('state');

    if (page = 'index.html' && state == 'open') {
        $('#mainmenu-diensten').addClass('active');
        $('#mainmenu-diensten').parent('li').children('ul').show();
        $('#mainmenu-diensten').click();
    }
});

