var Menu = {
	
	anchors: null,
	extentions: null,
	
	init: function() {
		
		Menu.anchors			= $$('#suckerfish2 li.suckerfish_level1 a');
		Menu.extensions			= $$('#navigation-extensions li.extension');
		
		Menu.addEventListeners();
		
	},
	
	addEventListeners: function() {
		
		if (Menu.anchors.length - 1 != Menu.extensions.length) return false; // contact us menu extension removed
		
		var navigationEnd;
		var navigationWidth = 920;
		var extensionWidth = 415;
		
		var offset;
		var isOdd;
		
		Menu.anchors.each(function(element, index) {
			if (index < Menu.extensions.length) { // contact us menu extension removed
				element.addEvents({
					'mouseover' : function() {
						
						if (getCoordinates().width % 2) {
							isOdd = true;
							offset = 1;	
						} else {
							isOdd = false;
							offset = 0;
						}
	
						var extensionPosition = element.getPosition().x;
						var extensionPositionEnd = extensionPosition + extensionWidth;
	
	
						navigationEnd = $('navigation').getCoordinates().left + navigationWidth;
						
						if (extensionPositionEnd > navigationEnd) {
							Menu.extensions[index].setPosition({ 'x' : navigationEnd - extensionWidth - (navigationWidth - element.getPosition($('navigation')).x + (isOdd ? 0 : 0)) + element.getCoordinates().width, 'y' :  element.getPosition().y + 20 });
						} else {
							Menu.extensions[index].setPosition({ 'x' : element.getPosition().x + (isOdd ? 1 : 0), 'y' :  element.getPosition().y + 20 });
						}
	
						Menu.extensions[index].setStyle('display', 'block');
						element.addClass('active');
					},
					'mouseout' : function() {
						Menu.extensions[index].setStyle('display', 'none');
						element.removeClass('active');
					}
				});
			}
		});
		Menu.extensions.each(function(element, index) {
			element.addEvents({
				'mouseover' : function() {
					Menu.anchors[index].addClass('active');
					element.setStyle('display', 'block');
				},
				'mouseout' : function() {
					Menu.anchors[index].removeClass('active');
					element.setStyle('display', 'none');
				}
			});
		});
	}
	
};

window.addEvent('domready', Menu.init);
