	var tims = null;
	var openedDropdownArea = null;
    	var openedItem = null;
	var delayedTimer;
	var delayInMilliseconds = 200;

	function executeDelayed(action) {
		if (delayedTimer != null)
			clearTimeout(delayedTimer);
		delayedTimer = setTimeout(action, delayInMilliseconds);
	}





	//public actions
	function showDropdownArea(linkId) {
		if (delayedTimer != null)
			clearTimeout(delayedTimer);
		showDropdownAreaDelayed(linkId);
	}

	function selectMenuItem(linkId, dropdownAreaId) {
		if (dropdownAreaId != null)
			executeDelayed('selectMenuItemDelayed('+linkId+', '+dropdownAreaId+');');
		else {
			if (delayedTimer != null)
				clearTimeout(delayedTimer);
			selectMenuItemDelayed(linkId, dropdownAreaId);
		}
		//selectMenuItemDelayed(linkId, dropdownAreaId);
	}

	function unselectMenuItem() {
		unselectMenuItemDelayed();
	}

	
	function collapseDropdownArea() {
		executeDelayed('collapseDropdownAreaDelayed();');
	}


	//delayed
	function showDropdownAreaDelayed(linkId) {
		privateShowDropdownArea(linkId);
	}

	function selectMenuItemDelayed(linkId, dropdownAreaId) {

		for(i = 1; i < 20; i++) {
			var l = document.getElementById('link' + i);
			if (l != null)
				l.className = '';
		                                                	
		}
		
		if (openedDropdownArea != null) {
			openedDropdownArea.style.display = 'none';
			openedDropdownArea.style.zIndex = 1;
		}
        	openedItem = document.getElementById('link' + linkId);
        	openedItem.className = 'selected';

		if (dropdownAreaId != null)
			privateShowDropdownArea(linkId);
	}

	function unselectMenuItemDelayed() {
		if(openedItem != null){
			openedItem.className = '';
			openedItem = null;
		}
	}

	
	function collapseDropdownAreaDelayed() {
        	if (openedDropdownArea != null) {
            		openedDropdownArea.style.display = 'none';
        	}
		if(openedItem != null){
			openedItem.className = '';
		}
	}

	//private
	function privateShowDropdownArea(linkId) {
        
		if (openedDropdownArea != null) {
			openedDropdownArea.style.display = 'none';
			openedDropdownArea.style.zIndex = 1;
		}

	        openedDropdownArea = document.getElementById('itemArea' + linkId);
        	openedItem = document.getElementById('link' + linkId);
          openedDropdownArea.style.display = 'block';
          openedDropdownArea.style.zIndex = 1000;
          openedItem.className = 'selected';
	}


