// TopMenu


Element.addMethods({
    onmouseenter: function(element,observer) {
        element = $(element);
        element.observe('mouseover',function(evt,currentTarget) {
            var relatedTarget = $(evt.relatedTarget || evt.fromElement);
            if( relatedTarget!=currentTarget && relatedTarget.childOf(currentTarget)==false ) {
                observer();
            } 
        }.bindAsEventListener({},element));
        return element;
    },
    onmouseleave: function(element,observer) {
        element = $(element);
        element.observe('mouseout',function(evt,currentTarget) {
            var relatedTarget = $(evt.relatedTarget || evt.toElement);
            if( relatedTarget!=currentTarget && relatedTarget.childOf(currentTarget)==false ) {
                observer();
            } 
        }.bindAsEventListener({},element));
        return element;
    }
});

var menutabdelay = 300;

function visible(menutabnumber){
	$$('ul.hoverdelay > li:nth-child('+menutabnumber+') > div').each(function(element) {
		$(element).setStyle('visibility: visible; z-index: 310;');
	});
}

function showsubmenu(element, menutabnumber){

	Event.observe(element, 'mouseenter', function(){
		timedelayIE = setTimeout(function(){visible(menutabnumber)}, menutabdelay);
	});
	
	Element.onmouseenter(element,function(){ // No IE
		timedelay = setTimeout(function(){visible(menutabnumber)}, menutabdelay);
	});


	Event.observe(element, 'mouseleave', function(){
		clearTimeout(timedelayIE);
		$$('ul.hoverdelay > li > div').each(function(element) {
			$(element).setStyle('visibility: hidden;');
		});
	});
	
	Element.onmouseleave(element,function(){ // No IE
		clearTimeout(timedelay);
		$$('ul.hoverdelay > li > div').each(function(element) {
			$(element).setStyle('visibility: hidden;');
		});
	});

}

function showsubmenutrigger() {

	var tabs = $$('ul.hoverdelay > li');
	for(numberoftabs=1; numberoftabs<=tabs.length; numberoftabs++){
		$$('ul.hoverdelay > li:nth-child('+numberoftabs+')').each(function(element) {
			var menutabnumber = numberoftabs;
			showsubmenu(element, menutabnumber);
		});
	}
}

Event.observe(window, 'load', showsubmenutrigger);



