﻿//-------------  Navigation MenuCtrl  -----------
var MenuCtrl = new Class({

    //implements
    Implements: [Options],

    //options
    options: {
        cssID: 'nav',
        cssOver: 'nav-over',
        cssOverSelected: 'nav-over-selected',
        cssOut: 'nav-out',
        cssOutSelected: 'nav-out-selected',
        cssSelected: 'selected',
        removeCssID: true
    },

    //properties


    initialize: function(options) {
        //set options
        this.setOptions(options);


        //setup Navigation Items
        $$("." + this.options.cssID).each(function(el) {
            //remove the temporary css class?
            if (this.options.removeCssID) {
                el.removeClass(this.options.cssID);
            }

            //add event handlers 
            //--using MooTools' mouseenter and mouseleave for mouseover and mouseout
            el.addEvent('mouseenter', this.Rollover.pass(el, this));
            el.addEvent('mouseleave', this.Rollout.pass(el, this));

        }, this);

    },

    Rollover: function(el) {
        if (el) {
            if (el.hasClass(this.options.cssSelected)) {
                el.morph('.' + this.options.cssOverSelected);
            } else {
                el.morph('.' + this.options.cssOver);
            }
        }
    },

    Rollout: function(el) {
        if (el) {
            if (el.hasClass(this.options.cssSelected)) {
                el.morph('.' + this.options.cssOutSelected);
            } else {
                el.morph('.' + this.options.cssOut);
            }
        }
    }

});       //end class MenuCtrl

// create menus for both Sections and Categories
window.addEvent('domready', function() { 
    var smenu = new MenuCtrl({cssID: 'snav',
                cssOver: 'snav-over',
                cssOverSelected: 'snav-over-selected',
                cssOut: 'snav-out',
                cssOutSelected: 'snav-out-selected'}); 
});
window.addEvent('domready', function() { 
    var cmenu = new MenuCtrl({cssID: 'cnav',
                cssOver: 'cnav-over',
                cssOverSelected: 'cnav-over-selected',
                cssOut: 'cnav-out',
                cssOutSelected: 'cnav-out-selected'}); 
});
