FransHalsMenu = new Class({
	
	topActive: null,
	subActive: null,
	restoreTimer: null,
	closeSubmenu: true,
	activeMainMenu: null,
	activeSubMenu: null,
	rightSubMenuActive: false,
	
	initialize: function() {
		var that = this;
		
		
		var lastActiveMenu = $$('.mainmenu').filter(function(elm) {
			return elm.hasClass('active');
		}).getLast();
		
		
		$$('.mainmenu').addEvents({
			'mouseenter': function(elm) {
							
				/* Reset all menu div's */
				$$('.mainmenu').removeClass('active');
				$$('.tab').setStyle('display', 'none');
				$$('.tab-bottom').setStyle('display', 'none');
				$$('.tab-bottom-corner').setStyle('display', 'none');
				$$('.menuitem').setStyle('border-left','1px solid #FFF');
				
				
				/* Get div targets */
				var submenu = that.relatedSubmenu(this);
				
				var menuDiv = this.getParent();
				
				
				if (submenu)
				{
					activeSubMenu = menuDiv;
					
					this.addClass('active');
					submenu.setStyle('display', 'inline');
					
					
					var dimensions1 = this.getDimensions();
					var dimensions2 = submenu.getDimensions();
					
					if(dimensions1.width > dimensions2.width){
						submenu.setStyle('width', dimensions1.width + 15);
					}
					
					
					
					
					if(Browser.Engine.trident || Browser.Engine.webkit)
					{
						/* IE Hack.. move menu 1px left */
						submenu.setPosition({
							relativeTo: menuDiv,
							position: 'bottomLeft',
							offset: {x: -1}
						});
					}
					else
					{
						submenu.setPosition({
							relativeTo: menuDiv,
							position: 'bottomLeft'
						});
					}
					
					/* Check if DIV is not over edge, if yes, change position */
					var framePosistion		= $('frame').getPosition();
					var frameSize			= $('frame').getScrollSize();
					var frameEdge 			= framePosistion.x + frameSize.x;
					
					var submenuPosistion 	= submenu.getPosition();
					var submenuSize 		= submenu.getScrollSize();
					var submenuEdge			= submenuPosistion.x + submenuSize.x;
					
					
					// dus...
					submenu.setStyle('left',submenuPosistion.x + 1);
					submenu.setStyle('top',submenuPosistion.y - 3);
					
					var menuSize			= menuDiv.getScrollSize();
					
					var tolerance			= 50;
					
					menuDiv.setStyle('border-left','1px solid #82b4d2');
					
					closeSubmenu = false;
				}
			},
			'click': function(event) {
			},
			'mouseleave': function(){
				closeSubmenu = true;
				resetMenu.delay(2000000);
			}
		}).each(function(elm, index) {
			activeMainMenu = elm.getParent();
			if (that.relatedSubmenu(elm)) {
			}
		});
		
		
		
		$$('.tab').addEvents({
			'mouseenter': function() {
				closeSubmenu = false;
			},
			'mouseleave': function() {
				activeMainMenu.setStyle('border-left','1px solid #FFF');
				closeSubmenu = true;
				resetMenu.delay(500);
			}
		});
		
		if($$('.closebutton')){
			$$('.closebutton').addEvents({
				'mouseenter': function() {
					this.setStyle('cursor','pointer');
				},
				'click': function(e) {
					closeSubmenu = true;
					resetMenu.delay(50);
				}
			});
		}
		
		$$('.menuitem').addEvents({
			'mouseenter': function() {
				this.setStyle('background-color','#fff');
			},
			'mouseleave': function() {
				this.setStyle('background-color','');
			}
		});
		
		var resetMenu = function(){
			if( closeSubmenu ){
				$$('.mainmenu').removeClass('active');
				$$('.tab').setStyle('display', 'none');
				$$('.tab-bottom').setStyle('display', 'none');
				$$('.tab-bottom-corner').setStyle('display', 'none');
				
				activeSubMenu.setStyle('border-left','1px solid #FFF');
				
				lastActiveMenu.addClass('active');
			}
		}
	},
	
	relatedSubmenu: function(mainMenuItem) {
		return $$('.tab[rel=' + mainMenuItem.get('rel') + ']').getLast();
	}
});
