var oNavItems = {
	officially: [
		{text: 'Карта',url: '/map/'},
		{text: 'Погода',url: '/weather/'},
		{text: 'Новости',url: '/sorry/'},
		{text: 'Фотогалерея',url: 'http://gribovka.com.ua/'},
		{text: 'Схема проезда',url: '/auto/'},
		{text: 'Температура воды',url: '/sea/'},
		{text: 'Таможенные правила',url: '/custom/'},
		{text: 'Информация о курорте',url: '/infoabout/'}
	],
	base: [
		{text: 'Все...',url: '/rest/'},
		{text: 'Баракуда',url: '/rest/barakuda/'},
		{text: 'Белые росы',url: '/rest/belye-rosy/'},
		{text: 'Бригантина',url: '/rest/brigantina/'},
		{text: 'Гидростроитель',url: '/rest/gidrostroitel/'},
		{text: 'Динамо',url: '/rest/dinamo/'},
		{text: 'Загар',url: '/rest/zagar/'},
		{text: 'Ирина',url: '/rest/irina/'},
		{text: 'Коралл',url: '/rest/korall/'},
		{text: 'Лагуна',url: '/rest/laguna/'},
		{text: 'Луч',url: '/rest/luch/'},
		{text: 'Малибу',url: '/rest/malibu/'},
		{text: 'Маринвиль',url: '/rest/marinvil/'},
		{text: 'Меркурий',url: '/rest/merkuriy/'},
		{text: 'Овен',url: '/rest/oven/'},
		{text: 'Парус',url: '/rest/parus/'},
		{text: 'Чайка-2',url: '/rest/chayka-2/'},
		{text: 'Чайка-БелАЗ',url: '/rest/chayka-belaz/'},
		{text: 'Черное море',url: '/rest/black-sea/'}
	],
	kid: [
		{text: 'Все...',url: '/child/'},
		{text: 'Альбатрос',url: '/rest/albatros/'}
	],
	market: [
		{text: 'Объявления Грибовка',url: 'http://market.ovidiopol.info/i/9_Gribovka/'}
	],
	forum: [
		{text: 'Форум курорта Грибовка',url: 'http://www.gribovka.com/forum/'}
	],
	about: [
		{text: 'Связаться с нами',url: 'http://www.gribovka.com/contact_us/'}
	]

};

var ELEMENT_NODE = 1;
var TEXT_NODE = 3;
var oCurrentMenuItem;
var oCurrentSubMenu;
var oBuiltSubMenus = {};
var isArrow = false;

document.onmouseover = function(e){

	Event = (e == null) ? event : e;
	Event.sourceElement = (Event.target == null) ? Event.srcElement : Event.target;

	oSubMenu = null;

	if(Event.sourceElement.parentNode.parentNode != null){
		blnIsButtonTextNode = (Event.sourceElement.id.split('_')[0] == 'nav' && Event.sourceElement.nodeType == TEXT_NODE);
	}else{
		blnIsButtonTextNode = false;
	}

	if(Event.sourceElement.id.split('_')[0] == 'nav' || blnIsButtonTextNode){

		oMenuItem = (blnIsButtonTextNode) ? Event.sourceElement.parentNode : Event.sourceElement;
		
		if (Event.sourceElement.id.split('_')[2] == 'arrow') {
			isArrow = true
		}else{
			isArrow = false
		}
		
		strNavID = oMenuItem.id.split('_')[1];

		if(oNavItems[strNavID] != null){
		
			if(oBuiltSubMenus[strNavID] != null){
				oSubMenu = document.getElementById('sub_' + strNavID);
			}else{
				oNewSubMenu = document.createElement('div');
				oNewSubMenu.id = 'sub_' + strNavID;
				oNewSubMenu.className = 'submenu';

				for(i = 0; i < oNavItems[strNavID].length; i++){
					oNewSubMenuItem = document.createElement('a');
					oNewSubMenuItem.innerHTML = oNavItems[strNavID][i].text;
					oNewSubMenuItem.href = oNavItems[strNavID][i].url;
					oNewSubMenu.appendChild(oNewSubMenuItem);
				}

				oMainNav = document.getElementById('headnav');
				
				oMainNav.insertBefore(oNewSubMenu, oMenuItem.nextSibling);

				oBuiltSubMenus[strNavID] = true;
				oSubMenu = oNewSubMenu;
			}
		}

		if(oSubMenu != null && oSubMenu.nodeType == ELEMENT_NODE){

			if(oCurrentMenuItem == oMenuItem){
				return false;
			}

			if(oCurrentMenuItem != null && oCurrentMenuItem != oMenuItem){
				
				if (oCurrentMenuItem.id.split('_')[2] == 'arrow') {
					oCurrentMenuItem.parentNode.className = '';
				}else{
					oCurrentMenuItem.className = '';
				}
				
			}

			if(oCurrentSubMenu != null && oCurrentSubMenu != oSubMenu){
				oCurrentSubMenu.style.visibility = 'hidden';
			}

			iSubMenuWidth = parseInt(oMenuItem.offsetWidth);
			if(iSubMenuWidth < 170){
					switch (strNavID)
						{
							case "officially":
								iSubMenuWidth = 177;
								break;
							case "base":
								iSubMenuWidth = 150;
								break;
							case "kid":
								iSubMenuWidth = 150;
								break;
							case "market":
								iSubMenuWidth = 210;
								break;
							case "forum":
								iSubMenuWidth = 190;
								break;
							case "about":
								iSubMenuWidth = 210;
								break;
							default:
								iSubMenuWidth = 194;
						}
			}

			oSubMenu.style.width = iSubMenuWidth + 'px';
			
			if (isArrow == true) {
				
				oSubMenu.style.left = oMenuItem.parentNode.offsetLeft + 'px';
				
				if(oMenuItem.parentNode.className != 'current'){
					oMenuItem.parentNode.className = 'active';
				}else{
					oMenuItem.parentNode.style.borderTopColor = '#7BD3EC';
				}
				
			}else{
				
				oSubMenu.style.left = oMenuItem.offsetLeft + 'px';
				
				if(oMenuItem.className != 'current'){
					oMenuItem.className = 'active';
				}else{
					oMenuItem.style.borderTopColor = '#7BD3EC';
				}
			}
			
			oSubMenu.style.display = 'none';
			oSubMenu.style.visibility = 'visible';
			oSubMenu.style.display = 'block';
			oCurrentMenuItem = oMenuItem;
			oCurrentSubMenu = oSubMenu;
		}
	}

}


document.onmouseout = function(e){

	Event = (e == null) ? event : e;
	Event.sourceElement = (Event.target == null) ? Event.srcElement : Event.target;
	Event.relatedElement = (Event.relatedTarget == null) ? Event.toElement : Event.relatedTarget;

	if(
		(Event.sourceElement != null && Event.sourceElement.id != null && Event.sourceElement.id.split('_')[0] == 'nav')
		&& Event.sourceElement.nodeType == ELEMENT_NODE
		&& Event.sourceElement.className != 'submenu'
		&& Event.sourceElement.parentNode.className != 'submenu'
		&& Event.relatedElement != null	
		&& Event.relatedElement.className != 'submenu'
		&& Event.relatedElement.parentNode.className != 'submenu'
	){


		if(oCurrentSubMenu != null){
			oCurrentSubMenu.style.visibility = 'hidden';
			oCurrentSubMenu = null;
		}

		if (Event.sourceElement.id.split('_')[2] == 'arrow') {
			if(oCurrentMenuItem != null && oCurrentMenuItem.parentNode.className != 'current'){
				oCurrentMenuItem.parentNode.className = '';
			}else if(oCurrentMenuItem.parentNode.className == 'current'){
				oMenuItem.style.parentNode.borderTopColor = '#3ABDE4';
			}
		}else{			
			if(oCurrentMenuItem != null && oCurrentMenuItem.className != 'current'){
			oCurrentMenuItem.className = '';
			}else if(oCurrentMenuItem.className == 'current'){
				oMenuItem.style.borderTopColor = '#3ABDE4';
			}

		}
	
		oCurrentMenuItem = null;
	}

	if(
		Event.sourceElement != null
		&& Event.relatedElement != null
		&& (Event.sourceElement.parentNode.className == 'submenu' || Event.sourceElement.className == 'submenu')
		&& Event.relatedElement.nodeType != TEXT_NODE
		&& Event.relatedElement.className != 'submenu'
		&& Event.relatedElement.parentNode.className != 'submenu'
		&& Event.sourceElement.parentNode.id != 'headnav'
		&& Event.relatedElement.parentNode.id != 'headnav'
		&& Event.relatedElement.id.split('_')[2] != 'array'
	){

		if(oCurrentSubMenu != null){
			oCurrentSubMenu.style.visibility = 'hidden';
			oCurrentSubMenu = null;
		}

		if (Event.sourceElement.id.split('_')[2] == 'arrow') {
			if(oCurrentMenuItem != null && oCurrentMenuItem.className != 'current'){
				oCurrentMenuItem.className = '';
			}else if(oCurrentMenuItem.className == 'current'){
				oMenuItem.style.borderTopColor = '#3ABDE4';
			}
		} else {
			if(oCurrentMenuItem != null && oCurrentMenuItem.parentNode.className != 'current'){
				oCurrentMenuItem.parentNode.className = '';
			}else if(oCurrentMenuItem.parentNode.className == 'current'){
				oMenuItem.parentNode.style.borderTopColor = '#3ABDE4';
			}
			
		}
		oCurrentMenuItem = null;
	}

}