// Pre-definitions
var URL_IMAGE_LARGE_SELECTED 	= "/pics/bullet_large_selected.gif";
var URL_IMAGE_SMALL_SELECTED 	= "/pics/menu_bullet_small_selected.gif";

var URL_IMAGE_LARGE 			= "/pics/bullet_large.gif";
var URL_IMAGE_SMALL				= "/pics/menu_bullet_small.gif";

var SUFFIX_IMG					= '__img';

var ATTR_IMG_MODE 				= 'imgmode';
var NAME_LARGE_MODE 			= 'LARGE';
var NAME_SMALL_MODE 			= 'SMALL';

var POPUP_PREFIX = 'popup_';

/**
* Handles mouse over menu item event
* @param	HTMLElement	ctrl
*/
function handleMouseOverMenuItem(ctrl){
	if(!ctrl.id)
		return false;

	// Prepare image id
	var imgId = ctrl.id + SUFFIX_IMG;

	var img = document.getElementById(imgId);
	if(img){
		img.getAttribute(ATTR_IMG_MODE) == NAME_LARGE_MODE ?
				img.src = URL_IMAGE_LARGE_SELECTED 
				:
				img.src = URL_IMAGE_SMALL_SELECTED;
	}
	return true;
}

/**
* Handles mouse out menu item event
* @param	HTMLElement	ctrl
*/
function handleMouseOutMenuItem(ctrl){
	if(!ctrl.id)
		return false;

	if(ctrl.getAttribute('menu_selected'))
		return false;

	// Prepare image id
	var imgId = ctrl.id + SUFFIX_IMG;

	var img = document.getElementById(imgId);
	if(img){
		img.getAttribute(ATTR_IMG_MODE) == NAME_LARGE_MODE ?
				img.src = URL_IMAGE_LARGE
				:
				img.src = URL_IMAGE_SMALL;
	}
	return true;
}

function getTop(ctrl){
	var value = 0;
	if(ctrl.offsetParent)
		 value = getTop(ctrl.offsetParent);

	return ctrl.offsetTop + value;
}
function getLeft(ctrl){
	var value = 0;
	if(ctrl.offsetParent)
		 value = getLeft(ctrl.offsetParent);

	return ctrl.offsetLeft + value;
}
/**
* Handles mouse over menu item event
* @param	HTMLElement	ctrl
*/

var openItems = new Array();
var totalOpenItems = 0;
var popTimeout = new Array();

function handlePopupMouseOverMenuItem(ctrl, event){
	if(!ctrl.id)
		return false;
	handleMouseOverMenuItem(ctrl);
	var __ctrl = document.getElementById(POPUP_PREFIX + ctrl.id);
	openItems[totalOpenItems+1] = POPUP_PREFIX + ctrl.id;
	clearItems(POPUP_PREFIX + ctrl.id);
	__ctrl.style.top = getTop(ctrl) - 5;
	__ctrl.style.left = getLeft(ctrl.offsetParent) + ctrl.offsetParent.offsetWidth + 50;
	__ctrl.style.display = 'inline';
	return true;
}

/**
* Handles mouse out menu item event
* @param	HTMLElement	ctrl
*/
function clearItems(Item){
	for(i=1;i<=totalOpenItems;i++){
		if(openItems[i]!=Item)clear(openItems[i]);
	}
	totalOpenItems=1;
	openItems[1]=Item;
}

function handlePopupMouseOutMenuItem(ctrl){
	if(!ctrl.id)
		return false;
	handleMouseOutMenuItem(ctrl);
	popTimeout[POPUP_PREFIX+ctrl.id] = setTimeout("clear('"+POPUP_PREFIX + ctrl.id+"')", 1);
	return true;
}

function handleMouseOverPopupMenu(ctrl, event){
	handleMouseOverMenuItem(ctrl);
	clearTimeout(popTimeout[ctrl.id]);
}

function handleMouseOutPopupMenu(ctrl, event){	
	handleMouseOutMenuItem(ctrl);
	popTimeout[ctrl.id] = setTimeout("clear('"+ctrl.id+"')", 1000);
}

function clear(c){
	var __ctrl = document.getElementById(c);
	clearTimeout(popTimeout[c]);
	if(__ctrl)__ctrl.style.display = 'none';
}
