// Set Netscape up to run the "captureMousePosition" function whenever
// the mouse is moved. For Internet Explorer and Netscape 6, you can capture
// the movement a little easier.
if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
}
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) 
{
    if (document.layers) 
    {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has 
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } 
    else if (document.all) 
    {
        // When the page scrolls in IE, the event's mouse position 
        // reflects the position from the top/left of the screen the 
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no 
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } 
    else if (document.getElementById) 
    {
        // Netscape 6 behaves the same as Netscape 4 in this regard 
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
	}
}
function IE_PNG_Fix()
{
	var arVersion = navigator.appVersion.split( "MSIE" );
	var version = parseFloat( arVersion[1] );
	if( (version >= 5.5) && (document.body.filters) ) 
	{
		for(var i=0; i<document.images.length; i++)
		{
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			if( imgName.substring( imgName.length-3, imgName.length ) == "PNG" )
			{
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className + "' " : "";
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText;
				if( img.align == "left" ) imgStyle = "float:left;" + imgStyle;
				if( img.align == "right" ) imgStyle = "float:right;" + imgStyle;
				if( img.parentElement.href ) imgStyle = "cursor:hand;" + imgStyle;
				var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i - 1;
			}
		}
	}    
}

function Hover( id )
{
	var objectId = id;
	ChangeVisibility( id, "block" );
	Move( id, xMousePos+10, yMousePos+5 );
	window.status = xScroll + "-" + yScroll + " | " + xMousePos + "-" + yMousePos + " | " + xMousePosMax + "-" + yMousePosMax;
}

function UnHover( id )
{
	var objectId = id;
	ChangeVisibility( id, "none" );
}

function ChangeVisibility( objectId, newVisibility )
{
	var styleObject = GetStyle( objectId );
	if( styleObject )
	{
		styleObject.display = newVisibility;
		return true;
	}
	else
	{
		return false;
	}
}

function GetStyle( objectId )
{
	if( document.getElementById && document.getElementById( objectId ))
	{
		// W3C DOM
		return document.getElementById( objectId ).style;
	}
	else if( document.all && document.all( objectId ))
	{
		// MSIE 4 DOM
		return document.all( objectId ).style;
	}
	else if( document.layers && document.layers[objectId] )
	{
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
	}
	else
	{
		return false;
	}
}

function Move( objectId, newXCoordinate, newYCoordinate )
{
	var styleObject = GetStyle( objectId );
    if( styleObject )
	{
		styleObject.left = newXCoordinate;
		styleObject.top = newYCoordinate;
		return true;
	}
	else
	{
		return false;
	}
}

function ShowDiv( menu, pattern )
{
	var count = menu.options.length;
	for( var i = 0; i < count; i++ )
	{
		ChangeVisibility( pattern + menu.options[i].value, 'none' );
	}
	ChangeVisibility( pattern + menu.options[menu.selectedIndex].value, 'block' );
}

function ShowPop(id)
{
   document.getElementById(id).style.visibility = "visible";
}
function HidePop(id)
{
   document.getElementById(id).style.visibility = "hidden";
}
