/*
    Document   : menu
    Created on : 7-okt-2009, 10:12:52
    Author     : Arno
    Description:
        Menu bar dropdown handlers.
*/

// Initialize the main menu bar.
Ext.onReady(function() {

	Ext.get('menubar').select('li').each(function(menuElement) {

		menuElement.dom.labelContainer = menuElement.first('div');	// First div element
		menuElement.dom.submenuContainer = menuElement.first('ul');	// First ul element

		// Can't yet use menuElement.on() handlers here since the ExtJS
		// mouseleave event is bugged at the time of writing.
		
		menuElement.dom.onmousemove = function() {
			this.labelContainer && this.labelContainer.addClass('hover');
			this.submenuContainer && this.submenuContainer.addClass('hover');
		}

		var mouseLeave = function() {
			this.labelContainer && this.labelContainer.removeClass('hover');
			this.submenuContainer && this.submenuContainer.removeClass('hover');
		}

		// mouseleave only works in IE, mouseout won't work correctly
		if (Ext.isIE) {
			menuElement.dom.onmouseleave = mouseLeave;
		} else {
			menuElement.dom.onmouseout = mouseLeave;
		}

		menuElement.on('click', function(event, element, config) {
			navigateLink(element);
		});
	});
});

// Initialize the search form.
Ext.onReady(function() {
	var searchForm = document.getElementById('menubar').getElementsByTagName('form')[0];
	var searchField = searchForm.q;
	var searchFieldOverlay = searchForm.getElementsByTagName('span')[0];

	searchField.onfocus = function() {
		searchFieldOverlay.style.display = 'none';
	}

	searchField.onblur = function() {
		searchFieldOverlay.style.display = (searchField.value == '') ? 'block' : 'none';
	}

	searchFieldOverlay.onclick = function() {
		searchField.focus();
	}

	searchField.onblur();
});