
var mnpMenuTop = null;
var mnpMenuKill = null;
var mnpMenuPopup = null;
var mnpMenuUrl = null;
var mnpMenuParent = null;
var mnpMenuScrollTimer = null;
var mnpMenuShadows = new Array();
var mnpMenuDirSave = "LTR";
var mnpMenuCTSave = false;
var mnpMenuCloseAll = null;
var mnpArrowFile = "imeges/arrow";
var bkgImage = new Image();

bkgImage.src = "images/menubkg3d.gif";

// Css classes
var MOUSE_NORMAL_CLASS = "mnpMenuRow";

var MOUSE_SEL_CLASS = "mnpMenuRow_Sel";
var MOUSE_SEL_CLASS_INACTIVE = "mnpMenuRow_SelInactive"

var MOUSE_OVER_CLASS = "mnpMenuRow_Over";

var MOUSE_OUT_CLASS = "mnpMenuRow_Out";

var MOUSE_DOWN_CLASS = "mnpMenuRow_Down";

var MOUSE_STARTSCROLL_CLASS = "mouse_startscroll_class";
var MOUSE_STOPSCROLL_CLASS = "mouse_stopscroll_class";

// constants
var MOUSE_OVER_BKG = "#FEE197";
var MOUSE_OVER_BORDER = "#2254B1";

var MOUSE_SEL_BKG = "#FEFBE0";
var MOUSE_SEL_BORDER = "#ADC5ED";

var MOUSE_OUT_BKG = "#C1D2EE";
var MOUSE_OUT_BORDER = "#C1D2EE";

var MOUSE_DOWN_BKG = "#316AC5";

var MOUSE_STARTSCROLL_BKG = "#C1D2EE";
var MOUSE_STARTSCROLL_BORDER = "#316AC5";

var MOUSE_STOPSCROLL_BKG = "#F1F1F1";
var MOUSE_STOPSCROLL_BORDER = "#F1F1F1";

window.attachEvent("onload", mnpMenuInit);

function mnpMenuInit()
{	
	
	mnpMenuTop = document.getElementById("mnpMenuTop");			
	mnpMenuTop.setAttribute("tabIndex",0);
	mnpMenuTop.setAttribute("ACCELERATOR",true);
	mnpMenuTop.setAttribute("ACCESSKEY","m");	
	mnpMenuTop.attachEvent("onfocus", mnpMenuTopFocus);	
	mnpMenuUrl = mnpMenuTop.getAttribute("url");
	mnpMenuParent = mnpMenuTop.getAttribute("parent");
	mnpMenuAttach(mnpMenuTop);
	
}

function mnpMenuTopFocus()
{	
	if (!window.document.hasFocus())
	{		
		return;
	}
	var div = window.event.srcElement;
	var fcs = div.getElementsByTagName('DIV');	
	for(var i=0;i < fcs.length;i++)
	{
		if( fcs(i).className == 'mnpMenuRow' || fcs(i).className.indexOf("mnpMenuRow_") >= 0)
		{
			fcs(i).focus();
			return;
		}
	}
}

function mnpPage(label, url, tooltip, target, menu, linkID, image, selected, separator)
{
	this.label = label;
	this.url = url;	
	this.title = tooltip;
	this.target = target;
	this.menu = menu;
	this.linkID = linkID;
	this.image = image;	
	this.selected = selected;
	this.separator = separator;
}

function mnpLabel(label)
{
	this.label = label;
}

function mnpMenuEnter()
{
	if (mnpMenuKill)
	{
		window.clearTimeout(mnpMenuKill);
		mnpMenuKill = null;
	}
}

function mnpMenuLeave()
{
	mnpMenuKill = window.setTimeout("mnpMenuKiller()", 200);
}

function mnpMenuKiller()
{
	mnpKillMenu(mnpMenuTop.getAttribute("currentMenu"));
	mnpMenuTop.removeAttribute("currentMenu");
}

function mnpMenuAttach(el)
{	
	var selected = true;
	el.attachEvent("onmouseenter", mnpMenuEnter);
	el.attachEvent("onmouseleave", mnpMenuLeave);
	var divs = el.getElementsByTagName("DIV");
	for (var i=0; i < divs.length; i++)
	{
		var div = divs.item(i);
		if ( div.className.indexOf("mnpMenuRow") >= 0 )
		{
		
			div.attachEvent("onmouseenter", mnpMenuMouseover);
			div.attachEvent("onkeydown", mnpMenuKeydown);
			div.attachEvent("onfocus", mnpMenuFocus);
			div.attachEvent("onblur", mnpMenuBlur);
			div.attachEvent("onmouseleave", mnpMenuMouseout);
			div.attachEvent("onmousedown", mnpMenuMousedown);
			div.attachEvent("onmouseup", mnpMenuMouseup);
			
			//div.className = MOUSE_NORMAL_CLASS;
			
			div.setAttribute("save-class", div.className);
			//div.setAttribute("save-border", div.style.borderColor);
			
			//div.setAttribute("tabIndex", 0);		
		
			div.style.borderColor = "";
			if (div.getAttribute("selected"))
			{
				if (div.getAttribute("selected") == "1")
				{
					// div.style.background = MOUSE_SEL_BKG;
					// div.style.borderColor = MOUSE_SEL_BORDER;
					div.className = MOUSE_SEL_CLASS;
					
					//div.style.padding = "0px";
					//div.style.borderStyle = "solid";		
				}else if (div.getAttribute("selected") == "2"){
					div.className = MOUSE_SEL_CLASS_INACTIVE;
					div.setAttribute("save-class", div.className);
					//div.style.background = MOUSE_SEL_BKG;
				}else if (div.getAttribute("selected") == "3"){
					div.setAttribute("tabIndex", -1);
				}
			}
			
			var a = div.getElementsByTagName("A");
			if (a.length > 0)
			{
				var a0 = a[0];				
				a0.setAttribute("tabIndex", -1);
				if (a0.getAttribute("aoff"))
					a0.outerHTML = a0.innerHTML;
				else
				{
					div.setAttribute("status", a0.href);
					div.attachEvent("onclick", mnpMenuClick);
				}
			}
			if (div.getAttribute("menu"))
			{
				if (div.getAttribute("menu")!= null){
					var _menu = eval("new " + div.getAttribute("menu") + "()");
					if (_menu.items){
						if (_menu.items.length==0){
							div.removeAttribute("menu");							
						}
					}
				}
			}
			if (div.getAttribute("menu"))
			{			
				var x;				
				//if (mnpMenuDirSave == "LTR")
					x = (div.offsetWidth - 10) + "px";
				/*else if (mnpMenuTop.contains(div))
					x = "4px";
				else
					x = "6px";*/
				var img = "<IMG src='"+ mnpArrowFile + mnpMenuDirSave + ".gif' width='4' height='7' border='0' class='mnpMenuArrow' style='left: " + x + "' />";
				div.insertAdjacentHTML("beforeBegin", img);
			}
		}
	}
}

function mnpMenuFocus()
{		
	if (!window.document.hasFocus())
		return;
	var div = window.event.srcElement;
	var status = div.getAttribute("status");
	if (status) window.status = status;
	if (div.selected)
	{		
		if (div.selected == "0")
		{
			//div.style.background = MOUSE_OVER_BKG;
			//div.style.borderColor = MOUSE_OVER_BORDER;				
			
			div.className = MOUSE_OVER_CLASS;
			
			//div.style.padding = "0px";
			//div.style.borderStyle = "solid";		
		}else{
			if (div.className.indexOf("Placeholder") <= 0 )
			{
				div.setAttribute("save-class", div.className);			
				div.className = MOUSE_OVER_CLASS;
			}
		}
	}else{		
		//div.style.background = MOUSE_OVER_BKG;
		//div.style.borderColor = MOUSE_OVER_BORDER;		
		
		div.className = MOUSE_OVER_CLASS;
		
		//div.style.padding = "0px";
		//div.style.borderStyle = "solid";
	}
	
	var pt = new mnpMenuPt(div);
	var x;
	if (document.body.clientWidth - div.offsetWidth < 100) 
	{
		mnpMenuDirSave = "LTR";
		x = pt.left + div.offsetWidth - 1;
	}else
	if (mnpMenuDirSave == "LTR")
		if (pt.left > document.body.clientWidth + document.body.scrollLeft - div.offsetWidth-120)
		{
			x = pt.left + 2;
			mnpMenuDirSave = "RTL";
		}
		else
			x = pt.left + div.offsetWidth - 1;
	else
		if (pt.left < document.body.scrollLeft + div.offsetWidth + 120)
		{
			x = pt.left + div.offsetWidth - 1;
			mnpMenuDirSave = "LTR";
		}else
			x = pt.left + 2;
		
	var y = pt.top - 3;
	var menu = div.getAttribute("menu");	
	if (menu)
		menu = "'" + menu + "'";
	else
		menu = "null";
	if (mnpMenuCloseAll)
		window.clearTimeout(mnpMenuCloseAll);
	if (mnpMenuPopup)
		window.clearTimeout(mnpMenuPopup);
	var parent = div.parentElement.parentElement;
	mnpMenuPopup = window.setTimeout("mnpMenuOpen(" + menu + ", '" + parent.id + "', " + x + ", " + y + ")", 200);
}

function mnpMenuBlur()
{
	var div = window.event.srcElement;	
	var selected = true;
	window.status = "";
	var menu = div.getAttribute("menu");
	
	if (div.selected)
	{
		div.className = div.getAttribute("save-class");
		if (div.selected == "0")
		{
			selected = false;			
		}	
	}else{
		selected = false;
	}
	
	if (!selected)
	{
		if (menu != null && menu == div.parentElement.parentElement.getAttribute("currentMenu"))
		{
			//div.style.background = MOUSE_OUT_BKG;
			//div.style.borderColor = MOUSE_OUT_BORDER;
			div.className = MOUSE_OUT_CLASS;
		}
		else
		{
			div.className = div.getAttribute("save-class");
			//div.style.background = div.getAttribute("save-background");
			//div.style.borderColor = div.getAttribute("save-border");
		}	
		//div.style.padding = "1px";
		//div.style.borderStyle = "none";
	}

	if (mnpMenuPopup)
	{
		window.clearTimeout(mnpMenuPopup);
		mnpMenuPopup = null;
	}
	
	mnpMenuCloseAll = window.setTimeout("mnpKillMenu('mnpMenuTop')", 200);
}

function fnCancel()
{
	window.event.returnValue = false;
}

function GetSibling(obj, witch)
{
	var found = false;
	if ( witch == "nextSibling" )
	{
		while ( !found )
		{
			obj = obj.nextSibling;
			if ( obj )
			{				
				if ( obj.className == 'mnpMenuRow' || obj.className.indexOf("mnpMenuRow_") >= 0 )
				{
					found = true;
				}	
			}else{
				found = true;
			}
		}		
	}else{
		while ( !found )
		{
			obj = obj.previousSibling;
			if ( obj )
			{
				if ( obj.className == 'mnpMenuRow' || obj.className.indexOf("mnpMenuRow_") >= 0 )
				{
					found = true;
				}
			}else{
				found = true;
			}
		}
	}
	return obj;
}

function mnpMenuKeydown()
{
	var obj = window.event.srcElement;
	var fcs;
	if (obj.tagName == 'A')
		obj = obj.parentNode;
	
	if (window.event.keyCode == 13)
	{
		mnpMenuClick();
		window.event.returnValue = false;
	}else
	{
		if (window.event.keyCode == 9)
		{
			var mnpMenuTop = document.getElementById("mnpMenuTop");				
			if ( mnpMenuTop )
				mnpMenuTop.blur();
		}else{
			window.onScroll = fnCancel();	
		}
	}
	if (window.event.keyCode == 40)
	{	
		obj = GetSibling(obj, "nextSibling");
		if ( obj ){		
			fcs = obj.getElementsByTagName('A');
			if (fcs(0))
				obj.focus();				
		}
	}
	if (window.event.keyCode == 38)
	{	
		obj = GetSibling(obj, "previousSibling");
		if ( obj ){		
			fcs = obj.getElementsByTagName('A');
			if (fcs(0)){
				obj.focus();
			}
		}
	}

	if (window.event.keyCode == 39)
	{	
		
		try
		{	
			var mn;
			
			obj.focus();
			
			if (obj.menu){
				
				mn = document.getElementById(obj.menu);
			}
			
			if (mn){				
				fcs = mn.getElementsByTagName('DIV');				
				
				var tmp;
				if (fcs)
				if (fcs(1))
				{
					tmp = fcs(1).firstChild;
					while (tmp){
						if ( tmp.className == 'mnpMenuRow' || tmp.className.indexOf("mnpMenuRow_") >= 0 ){
							tmp.focus();
							break;							
						}else
							tmp = tmp.nextSibling;
					}
				}					
			}
		}
		catch(e)
		{			
			return;
		}
	}
	
	if (window.event.keyCode == 37)
	{	
		try
		{				
			var prID = obj.parentNode.parentNode.parentMenu;
			var mnID = obj.parentNode.parentNode.id;
			var parent = document.getElementById(prID);			
			var fcs = parent.getElementsByTagName('DIV')
			
			for(var i=0;i<fcs.length;i++)
			{
				if (fcs(i).menu==mnID)
				{
					fcs(i).focus();
					break;
				}
			
			}
		}
		catch(e)
		{
			return;
		}
	}
}

function mnpMenuClick()
{
	var div = window.event.srcElement;
	var a = div.getElementsByTagName("A");
	if (a.length == 0) return;
	if (a[0].href || a[0].href=='')
	{
		if (window.event.shiftKey)
		{
			var target = a[0].target;
			a[0].target = "_new";
			a[0].click();
			a[0].target = target;
		}
		else
			a[0].click();
	}
	else
		window.event.returnValue=false;	
	
}

function mnpKillMenu(id)
{
	if (id == null) return;
	var menu = document.getElementById(id);
	var current = menu.getAttribute("currentMenu");
	if (current) 
	{
		mnpKillMenu(current);
		menu.removeAttribute("currentMenu");
	}
	// tolgo l'ombra
	var temp = mnpMenuShadows[id];
	if (temp)
	{
		var i;
		for (i=1; i<=4; i++)			
			document.all['mnpPopupContainer'].removeChild(temp[i]);
		mnpMenuShadows[id] == null;
	}
	// rimuovo la selezione dal padre
	if (menu.getAttribute("parentMenu")){
		var parent = document.getElementById(menu.getAttribute("parentMenu"));
		var rows = parent.getElementsByTagName("DIV");
		for (var i=0; i<rows.length; i++)
		{
			var row = rows.item(i);
			var m = row.getAttribute("menu");
			var selected = false;
			if ( row.getAttribute("selected") != "" && row.getAttribute("selected") != "0"  )
				selected = true;
			if (m == id && !selected)
			{
				row.className = row.getAttribute("save-class");
				//row.style.background = row.getAttribute("save-background");
				//row.style.borderColor = row.getAttribute("save-border");
			}
		}
		show_elements("SELECT", menu);
		show_elements("OBJECT", menu);

		menu.style.display = "none";
	}		

}

function mnpMenuOpen(id, parentId, x, y)
{
	var parent;

	parent = document.getElementById(parentId);

	if (!parent)
		return;
	var current = parent.getAttribute("currentMenu");
	if (id == current) return;
	mnpKillMenu(current);	
	if (id)
		parent.setAttribute("currentMenu", id);
	else
	{
		parent.removeAttribute("currentMenu");
		return;
	}
	
	var div = document.getElementById(id);
	if (div == null)
	{
		var menu = eval("new " + id + "()");	
		var html = "<DIV id='" + id + "' class='mnpMenuSub' dir='" + mnpMenuDirSave + "' style='background-image:url(images/menubkg3d.gif);background-repeat:repeat-y;' >";
		html += "<DIV class='mnpMenuRowScroller' style='display: none; background: #E3EBF7; border-color: #F1F1F1' onmouseenter='mnpStartScroll(-1)' onmouseleave='mnpStopScroll()'><IMG src='imeges/up_disabled.gif' width='7' height='9' vspace='1'/></DIV>";
		html += "<DIV class='mnpMenuScrollArea' >";
				
		var isThisPage = false;
		for (var i=0; i<menu.items.length; i++)
		{
			var item = menu.items[i];
			var url = item.url;
			if (url == mnpMenuUrl)
			{
				isThisPage = true;
				break;
			}
		}
		for (var i=0; i<menu.items.length; i++)
		{
			var item = menu.items[i];
			var label = item.label;
			var url = item.url;			
			var submenu = item.menu;
			var selected = item.selected;
			var linkID = item.linkID;
			var image = item.image;
			
			var separator = item.separator;
			var title = item.title;
			if (!title) 
				title = '';
				
			if (!separator)
				separator = "false";						
			if (separator.toLowerCase() == "true")
			{
				// Separatore
				html += "<DIV class='mnpMenuRowPlaceholder' selected=3 width=100% ";
				
				if (submenu)
					html += " menu='" + submenu + "'";
				
				html += " >";

				html += "<TABLE cellspacing=0 cellpadding=0 border=0>";
				html += "<TR><TD width=20 valign=top>"
				html += "<img src='images/spacer.gif' align=absmiddle vspace=2 height=1 width=20 border=0 hspace=2>";
				html += "</TD>"
				html += "<TD valign=middle style='padding-left:8px;' WIDTH=100%>"
				html += "<img src='images/spacer.gif' height=1 width=100%  border=0 class='mnpMenuPlaceHolder'>";
				html += "</TD></TR></TABLE>";
				html += "</DIV>";
			}else if (title == "true"){
				// Titolo
				html += "<DIV class='mnpMenuRowTitle' selected=3 width=100% >";
				html += "<TABLE cellspacing=0 cellpadding=0 border=0>";
				html += "<TR><TD width=20 valign=top>"
				html += "<img src='images/spacer.gif' align=absmiddle vspace=2 height=16 width=16 border=0 hspace=2>";
				html += "</TD>"
				html += "<TD  valign=top style='padding-left:8px;' class='mnpMenuTitleLabel'>"
				html += label;					
				html += "</TD></TR></TABLE>";
				html += "</DIV>";
			}else{
				// Riga normale
				html += "<DIV ";
				
				if (submenu)
					html += " menu='" + submenu + "'";

				if (selected)
					html += " selected='" + selected + "'";
				
				html += " class='mnpMenuRow'";
				if (!url)
					html += " style='cursor:default;'";
				if (url == mnpMenuUrl)
					html += " style='cursor: default";
				else if (!isThisPage && (url == mnpMenuParent))					
					html += " style='";
					//html += " style='border-color: #999999; ";
				else
					html += " style='";	
					//html += " style='border-color: #F1F1F1; ";

				html += "'";
				html += ">";

				html += "<TABLE cellspacing=0 cellpadding=0 border=0>";
				html += "<TR><TD width=20 valign=top>"
				if (image != '') 
				{
					html += "<A href='" + url + "' title='" + title + "'><img src='" + image + "' align=absmiddle vspace=2 height=16 width=16 border=0 hspace=2></A>";
				}else{
					html += "<A href='" + url + "' title='" + title + "'><img src='images/spacer.gif' align=absmiddle vspace=2 height=16 width=16 border=0 hspace=2></A>";
				}
				html += "</TD>"
				html += "<TD  valign=top style='padding-left:8px;' class='mnpMenuLabel'>"
				if (url && (url != mnpMenuUrl))
					if (mnpMenuCTSave)
						html += "<A href='" + url + "' title='" + title + "' LinkArea='Left Nav' LinkID='Flyout" + linkID + "' >" + label + "</A>";
					else
						html += "<A href='" + url + "' title='" + title + "'>" + label + "</A>";
				else
					html += "<A style='cursor:default;' title='" + title + "'>" + label + "</A>";
					
				html += "</TD></TR></TABLE>";
				html += "</DIV>";
			}			
		}
				
		html += "</DIV>";
		html += "<DIV class='mnpMenuRowScroller' style='display:none; background: #E3EBF7; border-color: #F1F1F1' onmouseenter='mnpStartScroll(+1)' onmouseleave='mnpStopScroll()'><IMG src='images/down_enabled.gif' width='7' height='9' vspace='1' /></DIV>";
		html += "</DIV>";
				
		document.all['mnpPopupContainer'].insertAdjacentHTML("beforeEnd", html);
		var div = document.getElementById(id);
		var sa = div.childNodes.item(1);
		var max = 0;
		for (var i=0; i<sa.childNodes.length; i++)
		{
			var it = sa.childNodes.item(i).childNodes.item(0);
			var w = it.offsetWidth;
			if (w > max) max = w;
		}
		max += 34;
		if (max < 100) max = 100;
		else if (max > 410) max = 410;
		div.style.width = max + "px";
		for (var i=0; i<sa.childNodes.length; i++)
		{
			var it = sa.childNodes.item(i);
			if (it.className == "mnpMenuRow")
				it.style.width = (max - 6) + "px";
		}
		mnpMenuAttach(div);
		div.setAttribute("parentMenu", parentId);
	}
	else
	{
		div.style.display = "";
	}
	
/*	var arws;
	var arrx;				
	if (mnpMenuDirSave == "LTR")
		arrx = (div.offsetWidth - 10) + "px";
	else
		//if (mnpMenuTop.contains(div))
			arrx = "4px";
		//else
		//	ax = "6px";	
	arws = div.getElementsByTagName("IMG");
	for (var k=0;k<arws.length;k++){
		if (arws[k].className == 'mnpMenuArrow'){
			arws[k].runtimeStyle.left = arrx;
		}
	}
	*/
	var bodyHeight = document.body.clientHeight;
	var bodyTop = document.body.scrollTop;
	var bodyWidth = document.body.clientWidth;
	var bodyLeft = document.body.scrollLeft;
	var up = div.children.item(0);
	var box = up.nextSibling;
	var down = box.nextSibling;
	up.style.display = "none";
	down.style.display = "none";
	box.style.height = "";
	if (div.offsetHeight > bodyHeight)
	{
		up.style.display = "";
		up.childNodes.item(0).src = "images/up_disabled.gif";
		down.style.display = "";
		down.childNodes.item(0).src = "images/down_enabled.gif";
		box.style.height = (bodyHeight - up.offsetHeight - down.offsetHeight - 6) + "px";
	}
	var bodyBottom = bodyTop + bodyHeight;
	if (y + div.offsetHeight > bodyBottom)
		y -= div.offsetHeight - 25;
	if (y < bodyTop)
		y = bodyTop + (bodyHeight - div.offsetHeight) / 2;
	
	if (mnpMenuDirSave == "RTL")
	{		
		x -= div.offsetWidth;		
	}
	div.style.left = x + "px";
	div.style.top = y + "px";	
	
	div.style.zIndex = parent.style.zIndex + 10;
	if (div.offsetLeft + div.offsetWidth > bodyWidth + bodyLeft)
		document.body.scrollLeft = div.offsetLeft + div.offsetWidth - bodyWidth;
	mnpMenuShadows[id] = mnpMenuShadow(div, "#666666", 4);
	hide_elements("SELECT", div);
	hide_elements("OBJECT", div);
}

function mnpMenuPt(el)
{
	this.left = 0;
	this.top = 0;	
	while (el)
	{
		if (el.className == 'mnpMenuSub' || (el.currentStyle.position != 'absolute' && el.currentStyle.position != 'relative')){
			this.left += el.offsetLeft;
			this.top += el.offsetTop;		
			
		}		 
		el = el.offsetParent;
	}		
}

function mnpMenuMouseover()
{
	if (!window.document.hasFocus())
		return;
	var div = window.event.srcElement;
	div.focus();
}

function mnpMenuMouseout()
{
	var div = window.event.srcElement;
	div.blur();
}

function mnpMenuMousedown()
{
	var div = window.event.srcElement;
	while (div.tagName != "DIV" || null == div) 
		div = div.parentElement;
	if (div.selected)
		if (div.selected == "true")
			return 0;
			
	div.className = MOUSE_DOWN_CLASS;
	//div.style.background = MOUSE_DOWN_BKG;
}

function mnpMenuMouseup()
{
	var div = window.event.srcElement;
	while (div.tagName != "DIV" || null == div) 
		div = div.parentElement;	
	div.className = div.getAttribute("save-class");
	//div.style.background = div.getAttribute("save-background");
}

function mnpMenuTime()
{
	var time = new Date();
	return time.valueOf();
}

function mnpStartScroll(dy)
{
	var src = window.event.srcElement;
	
	src.className = MOUSE_STARTSCROLL_CLASS;
	
	//src.style.background = MOUSE_STARTSCROLL_BKG;
	//src.style.borderColor = MOUSE_STARTSCROLL_BORDER;
	var div = src.parentElement;
	div.setAttribute("scrollTime0", mnpMenuTime());
	div.setAttribute("scrollTop0", div.childNodes.item(1).scrollTop);
	mnpMenuScrollTimer = window.setInterval("mnpMenuScroll('" + div.id + "', " + dy + ")", 35);
}

function mnpStopScroll()
{
	var src = window.event.srcElement;
	
	src.className = MOUSE_STOPSCROLL_CLASS;
	
	//src.style.background = MOUSE_STOPSCROLL_BKG;
	//src.style.borderColor = MOUSE_STOPSCROLL_BORDER;
	
	if (mnpMenuScrollTimer)
		window.clearInterval(mnpMenuScrollTimer);
	mnpMenuScrollTimer = null;
}

function mnpMenuScroll(id, dy)
{
	var div = document.getElementById(id);
	var current = div.getAttribute("currentMenu");
	if (current)
	{
		mnpKillMenu(current);
		div.removeAttribute("currentMenu");
	}
	var box = div.childNodes.item(1);
	var y = div.getAttribute("scrollTop0") + Math.round((mnpMenuTime() - div.getAttribute("scrollTime0")) * 0.150) * dy
	box.scrollTop = y;
	if (y != box.scrollTop)
	{
		window.clearInterval(mnpMenuScrollTimer);
		mnpMenuScrollTimer = null;
		if (box.scrollTop == 0)
			div.childNodes.item(0).childNodes.item(0).src = "images/up_disabled.gif";
		else
			div.childNodes.item(2).childNodes.item(0).src = "images/down_disabled.gif";
	}
	else if (dy < 0)
		div.childNodes.item(2).childNodes.item(0).src = "imeges/down_enabled.gif";
	else
		div.childNodes.item(0).childNodes.item(0).src = "imeges/up_enabled.gif";
}

function mnpMenuShadow(el, color, size)
{
	var temp = new Array();
	var i;
	for (i=size; i>0; i--)
	{
		var rect = document.createElement('div');
		var rs = rect.style
		rs.position = 'absolute';
		rs.left = (el.style.posLeft + i) + 'px';
		rs.top = (el.style.posTop + i) + 'px';
		rs.width = el.offsetWidth + 'px';
		rs.height = el.offsetHeight + 'px';
		rs.zIndex = el.style.zIndex - i;
		rs.backgroundColor = color;
		var opacity = 1 - i / (i + 1);
		rs.filter = 'alpha(opacity=' + (100 * opacity) + ')';		
		document.all['mnpPopupContainer'].appendChild(rect);
		
		temp[i] = rect;
	}
	return temp;
}

function hide_elements(tagName, menu)
{
	windowed_element_visibility(tagName, -1, menu)
}

function show_elements(tagName, menu)
{
	windowed_element_visibility(tagName, +1, menu)
}

function windowed_element_visibility(tagName, change, menu)
{
	var els = document.getElementsByTagName(tagName)
	var i
	var rect = new element_rect(menu)
	var oldValue;
	for (i=0; i < els.length; i++)
	{
		var el = els.item(i)
		if (elements_overlap(el, rect))
		{
			if (el.visLevel)
				oldValue = el.visLevel;
			else
				oldValue = 0;
			if (el.visLevel)
				el.visLevel += change
			else
				el.visLevel = change			
			
			if (el.visLevel == -1 && oldValue == 0)
			{
				el.visibilitySave = el.style.visibility
				el.style.visibility = "hidden"
			}
			else if (el.visLevel == 0)
				el.style.visibility = el.visibilitySave
		}
	}
}

function elements_overlap(el, rect)
{
	var r = new element_rect(el);
	return ((r.left < rect.left + rect.width) && (r.left + r.width > rect.left) && (r.top < rect.top + rect.height) && (r.top + r.height > rect.top))
}

function element_rect(el)
{
	var left = 0
	var top = 0
	this.width = el.offsetWidth
	this.height = el.offsetHeight
	while (el)
	{
		left += el.offsetLeft
		top += el.offsetTop
		el = el.offsetParent
	}
	this.left = left;
	this.top = top;
}

function jsTrim(s) {return s.replace(/(^\s+)|(\s+$)/g, "");}

function trackInfo(objLink)
{
	if (!objLink) return;
	if (!objLink.LinkID || !objLink.href) return;
	
	// For Link Text - take innerText if available, or ALT if image

	var LinkText;
	//if  (objLink.innerText) LinkText = objLink.innerText;	// <A>text</A> link
	//change made 7/19/2002 marmca
	if  (objLink.innerText && jsTrim(objLink.innerText)) LinkText = jsTrim(objLink.innerText);// <A>text</A> link
	else if (objLink.alt) LinkText = objLink.alt;		// <AREA> image map link
	else if (objLink.all(0)) LinkText = objLink.all(0).alt;	// <A><IMG ALT="..."></A> link

	if (!LinkText  || typeof(LinkText)=="undefined") return;
	LinkText = jsTrim(LinkText);
	if (LinkText=="") return;
	
}


