﻿/**
* @author dennis.odell
* Requires : MooTools 1.2
*/

window.addEvent('domready', function() {
    $('nav_main-navigation').getElement('ul').addEvent('mouseover', function(e) {
        e = new Event(e);
        var liTag = $(e.target).getParent();
        var ulTag = liTag.getParent();
        var divTag = ulTag.getParent();

        if (liTag.tagName.toUpperCase() == 'LI' && divTag.getProperty('id') == 'nav_main-navigation') {
            if (!liTag.hasClass('nav_hover')) {
                var flyoutTag = e.target.getNext();

                var flyoutListItems = flyoutTag.getElements('li');
                //alert(flyoutListItems)
                if (flyoutListItems == null) {
                    if (flyoutListItems.length % 2 == 0) { // odd number
                        flyoutListItems[flyoutListItems.length - 1].addClass('nav_last');
                    }
                }

                // CSS classes

                this.getElements('li').removeClass('nav_hover');
                e.target.getParent().addClass('nav_hover');

                $('nav_main-navigation').addEvent('mouseleave', function(e) {
                    this.getElements('li').removeClass('nav_hover');
                } .bind(this));

                // fade effects
                if (flyoutTag.getElement('ul') != null) {

                    var existingHeight = flyoutTag.getElement('ul').getStyle('height');
                    flyoutTag.setStyle('height', 0)
                    new Fx.Morph(flyoutTag, { duration: 500 }).start({
                        'height': parseInt(existingHeight)
                    });



                    flyoutTag.getElement('ul').setStyle('opacity', 0.1)
                    new Fx.Morph(flyoutTag.getElement('ul'), { duration: 500 }).start({
                        'opacity': 1
                    });
                    flyoutTag.getElement('img').setStyle('opacity', 0.1)
                    new Fx.Morph(flyoutTag.getElement('img'), { duration: 500 }).start({
                        'opacity': 1
                    });
                }
            }
        }
    });
});