window.addEvent('domready',function()
{
    /***** NAVIGATION *****/
    var list = document.id('navigation-list');

    if (list != null)
    {
        // Checken, ob überhaupt ein "Blatt" ausgeklappt ist. Falls nicht, "Home" ausklappen.
        if (list.getElements('li.current').length == 0)
        {
            var home_item = list.getElement('li.home');
            home_item.addClass('current');
            home_item.getElement('a').setStyle('width', 475);
        }

        var items = list.getElements('a');
        var ifx = new Fx.Elements(items, {link: 'cancel', duration: 500, transition:Fx.Transitions.Cubic.easeOut});

        var item_min_width = 65;
        var item_max_width = 475;

        items.each(function(item,i)
        {
            item.addEvent('mouseenter', function(evt)
            {
                var fx_settings = {};

                items.each(function(iitem, ii)
                {
                    if (iitem == this)
                    {
                        fx_settings[ii] = {
                            'width': item_max_width
                        };
                    }
                    else
                    {
                        fx_settings[ii] = {
                            'width': item_min_width
                        };
                    }
                }, this)

                ifx.start(fx_settings);
            });

            item.addEvent('mouseleave', function(evt)
            {
                var fx_settings = {};

                items.each(function(iitem, ii)
                {
                    if (iitem.getParent().hasClass('current'))
                    {
                        fx_settings[ii] = {
                            'width': item_max_width
                        };
                    }
                    else
                    {
                        fx_settings[ii] = {
                            'width': item_min_width
                        };
                    }
                }, this)

                ifx.start(fx_settings);
            })
        });
    }
});

window.addEvent('load',function()
{
    var columns = document.id('page').getElements('.content .column');

    if (columns.length > 0)
    {
        columns[columns.length - 1].setStyle('background-image', 'none');
        setInterval(resize_columns, 500);
        resize_columns();
    }

    function resize_columns()
    {
        var highest_column = 0;

        columns.each(function(column)
        {
            highest_column = (column.getSize().y > highest_column) ? column.getSize().y : highest_column;
        });

        columns.setStyle('min-height', highest_column);
    }

    var slider = document.id('image-slider');
    if (slider != null)
    {
        var slider_items_container = document.id('image-slider').getElement('.image-slider-items');

        var slider_items_container_array = new Array();
        slider_items_container_array.push(slider_items_container);
        // We have to clone it at least one time to get endless stream.
        var clone = slider_items_container.clone();
        slider_items_container_array.push(clone);
        slider.grab(clone);

        // Now the needed width for a item container is calculated.
        var slider_items = slider_items_container.getChildren();
        var calculated_slider_width = 0;
        slider_items.each(function(item, index)
        {
            calculated_slider_width += item.getSize().x;
        });

        // If the overall slider container is still bigger than our two clones, create more clones! :-D
        while ((calculated_slider_width * slider_items_container_array.length) < slider.getSize().x)
        {
            clone = clone.clone();
            slider_items_container_array.push(clone);
            slider.grab(clone)
        }

        // Hello
        slider_items_container_array.each(function(container, index)
        {
            container.setStyle('width', calculated_slider_width);
            container.setStyle('left', calculated_slider_width * index);
        });

        setInterval(dotheslidebaby, 25);
    }

    function dotheslidebaby()
    {
        slider_items_container_array.each(function(container, index)
        {
            container.setStyle('left', container.getStyle('left').toInt() - 1);
            if (container.getStyle('left').toInt() <= -calculated_slider_width)
            {
                container.setStyle('left', slider_items_container_array[slider_items_container_array.length - 1].getStyle('left').toInt() + calculated_slider_width);
                slider_items_container_array.push(slider_items_container_array.shift());
            }
        });
    }
});

