var itr = new Object;

itr.defaultOptions = {

    menu : {

        durationOut: 400,

        effect: 'none', //none / blinds / slides

        effectOptions: {//scripaclous effect-options

            duration: 0.5

        }

    }

}

 

itr.Menu = function(ID, options){

    var options = options || itr.defaultOptions.menu;

    var ID = ID;

    

    var activeMenuItem = null;

    var hideCounter = null;

    

    var bezig = Array();

        

    this.showMenu = function(ID) {

        clearTimeout(hideCounter)

        

        if($(activeMenuItem))

        {

            this.hideMenu(activeMenuItem);

        }

        activeMenuItem = ID;

        

        switch(options.effect)

        {

            default:

            case 'slides':

                Effect.SlideDown(ID, options.effectOptions);

                break;

            case 'blinds':

                Effect.BlindDown(ID, options.effectOptions);

                break;

            case 'none':

                $(ID).show();

                break;

        }

    }

    

    this.hideMenu = function(ID, delay){        

        delay || 0;

        var self = this;

        if(delay > 0)

        {

            hideCounter = setTimeout(function(){

                self.hideMenu(ID, 0);

            }, delay);

        }

        else

        {

            switch(options.effect)

            {

                default:

                case 'slides':

                    Effect.SlideUp(ID, options.effectOptions);

                    break;

                case 'blinds':

                    Effect.BlindUp(ID, options.effectOptions);

                    break;

                case 'none':

                    $(ID).hide();

                    break;

            }

        }

    }

    

    ///

    //constructor

    ///

    var self = this;

    $$('#' + ID + ' a[rel]').each(function(element){

        var rel = element.getAttribute('rel');

        if($(rel))

        {

            //subitems verbergen

            $(rel).hide();

            

            //events headitems

            element.observe('mouseover', function(){

                if(window.bezig)

                {

                    return;

                } else var bezig = true;

                

                self.showMenu(this.getAttribute('rel'));

                

                window.bezig = false;

            });

            element.observe('mouseout', function(){

                if(window.bezig)

                {

                    return;

                } else window.bezig = true;

                

                self.hideMenu(this.getAttribute('rel'), options.durationOut);

                

                window.bezig = false;

            });

            

            //events subitems

            $(rel).observe('mouseover', function(){

                if(bezig)

                {

                    return;

                } else var bezig = true;

                

                clearTimeout(hideCounter)

                

                var bezig = false;

            });

            $(rel).observe('mouseout', function(){

                if(bezig)

                {

                    return;

                } else var bezig = true;

                

                self.hideMenu(this.id, options.durationOut);

                

                var bezig = false;

            });

        }

    });

}

Event.observe(window, 'load', function(){
	new itr.Menu('mainnav_wrapper');

	//document.getElementById('subsecr_slidedown').style.display = 'none';
})

