var menuIT = new Object();
menuIT.imageMenuItemArray = new Array();


menuIT.focusMenuItemWindow = function()
{
	menuIT.menuItemWindow.focus();
}


menuIT.IsImage = function(element)
{
	if (element.nodeName.toLowerCase() == "img")
	{
		return true;
	}
	
	return false;
}


menuIT.LoadImageMenuItems = function()
{
	var allMenus = YAHOO.widget.MenuManager.getMenus();
	var menuCounter = 0;
	var menuItems = null;
	var menuItem = null;


	var imgMenuItems = null;
	var imgArray = null;
	var img = null;
	var imgElement = null;

	var delimiter = "'";
	var onString = null;
	var defaultSrc = null;
	var hoverSrc = null;


	for (var key in allMenus)
	{
		menuItems = allMenus[key].getItems();
		
		imgMenuItems = new Array();

		for (var i = 0; i < menuItems.length; i++)
		{
			menuItem = menuItems[i].srcElement;

			imgArray = YAHOO.util.Dom.getElementsBy(menuIT.IsImage, "img", menuItem);

			// Found an Image, load mouseover/mouseout events
			if (imgArray.length > 0)
			{
				img = new Object();

				imgElement = imgArray[0];
				img.imgElement = imgElement;


				if (String(imgElement.onmouseover).indexOf(delimiter) == -1)
				{
					delimiter = "\"";
				}


				onString = String(imgElement.onmouseover).split(delimiter);
				img.hoverSrc = onString[1];

				onString = String(imgElement.onmouseout).split(delimiter);
				img.defaultSrc = onString[1];

				img.parentMenuItem = menuItem;


				YAHOO.util.Event.removeListener(imgElement, "mouseover");
				YAHOO.util.Event.removeListener(imgElement, "mouseout");


				menuIT.imageMenuItemArray.push(img);
			}
		}

		menuCounter++;
	}


	if (menuIT.imageMenuItemArray.length > 0)
	{
		for (var key in allMenus)
		{
			//allMenus[key].mouseOutEvent.subscribe(menuIT.SetImageMenuItems);
			allMenus[key].mouseOverEvent.subscribe(menuIT.SetImageMenuItems);
			//allMenus[key].showEvent.subscribe(menuIT.SetImageMenuItems);
			allMenus[key].hideEvent.subscribe(menuIT.SetImageMenuItems);
		}
	}
}


menuIT.LoadMenus = function()
{
	for (var i = 0; i < menuIT.menuArray.length; i++)
	{
		menuIT.menuArray[i].loadMenu();
	}
	
	menuIT.LoadImageMenuItems();
}


menuIT.menuArray = new Array();
menuIT.menuItemWindow = null;


menuIT.OpenWindow = function(url, windowOptions)
{
	menuIT.menuItemWindow = window.open(url, "_blank", windowOptions);
	setTimeout(menuIT.focusMenuItemWindow, 400);	//IE Fix, window not coming forward
}


menuIT.SetImageMenuItems = function(etype)
{
	var imgObj = null;


	for (var i = 0; i < menuIT.imageMenuItemArray.length; i++)
	{
		imgObj = menuIT.imageMenuItemArray[i];

		if (imgObj.parentMenuItem.className.indexOf("selected") > -1 && imgObj.imgElement.src != imgObj.hoverSrc)
		{
			imgObj.imgElement.src = imgObj.hoverSrc;
		}
		else if (imgObj.parentMenuItem.className.indexOf("selected") == -1 && imgObj.imgElement.src != imgObj.defaultSrc)
		{
			imgObj.imgElement.src = imgObj.defaultSrc;
		}
	}
}


YAHOO.util.Event.addListener(window, "load", menuIT.LoadMenus);
