window.addEvent('domready', function() {
	$('nojsmessage').setStyle('display', 'none');
	
	//hide all submenus when mouse leaves nav
	$('nav').addEvent('mouseout', function(event){
    		navMain.hideallsubmenus();
	});
	$('header').addEvent('mouseover', function(event){
    		navMain.hideallsubmenus();
	});
	$('main').addEvent('mouseover', function(event){
    		navMain.hideallsubmenus();
	});

	
	//stop Prgagation of mouseout for nav's childs
	stopMOutPropagationOfChilds($('nav'));
	
	controlLogo();
});

window.addEvent('resize', function() {
	controlLogo();
});

function controlLogo() {
	var pageWidh = $('header').getSize().size.x;
	var windowWidth = window.getSize().size.x;
	var logoWidh = $('logolinks').getSize().size.x;
	
	if (windowWidth < (pageWidh + (2*logoWidh))) {
		$$('.page_margins').each(function(el) {
			el.setStyles({
				margin: '0',
				position: 'absolute',
				left: logoWidh+'px',
			});
		});
		$('logolinks').setStyles({
			position: 'fixed',
			left: '0px',
		});
	} else {
		$$('.page_margins').each(function(el) {
			$(el).setStyles({
				margin: '0 auto',
				position: 'static'
			});
		});
		$('logolinks').setStyles({
			position: 'fixed',
			left: ((windowWidth-pageWidh)/2)-logoWidh +'px',
		});
	}
}


function stopMOutPropagationOfChilds(ele) {
	$(ele).getChildren().each(function(el) {
		$(el).addEvent('mouseout', function(event){
			if (event.stopPropagation) {
				// this code is for Mozilla and Opera
				event.stopPropagation();
			} else if (window.event) {
				// this code is for IE
				window.event.cancelBubble = true;
			}
    		});
    		stopMOutPropagationOfChilds(el);
    	});
}




var NavMainClass = new Class({
    mouseover: function(el, submenu_uid) {
        $(el).addClass('nav-main-mouseover');
        if ($('submenu-'+submenu_uid)) {
        	var elPos = $(el).getPosition();
        	var navPos = $('nav').getPosition();
        	$('submenu-'+submenu_uid).setStyle('left', elPos.x-navPos.x+'px');
	        this.showsubmenu(submenu_uid);
	 } else if (submenu_uid > 0) this.hideallsubmenus();
    },
    mouseout: function(el, submenu_uid) {
        $(el).removeClass('nav-main-mouseover');
    },
    showsubmenu: function(submenu_uid) {
        if ($('submenu-'+submenu_uid)) {
	    	this.hideallsubmenus();
        	$('submenu-'+submenu_uid).setStyle('display', 'block');
        }
    }, 
    hidesubmenu: function(submenu_uid) {
        if ($('submenu-'+submenu_uid)) {
        	$('submenu-'+submenu_uid).setStyle('display', 'none');
        }
    },
    hideallsubmenus: function() {
    	$$('#submenus ul').each(function(el){
  		 el.setStyle('display', 'none');
	});
    }
});

navMain = new NavMainClass;
