// *****************************************************************************************************
// Name:		Mouse_V3.JS
// Web-site:	G&R (UK) Ltd (WID=2)
// Copyright:	WebDispenser.com
// Author:		Luke Coughlan / David Coughlan
// Version:		3.05
// Description:	Responsible for reacting to mouseover and mouseout events.
//				This includes a cross-browser image swap of the Folders and
//				pages. and a classname flip of any textual anchors.
// Notes:
//				Class Name Flip : This techique only works in IE, so don't
//				expect to see texual anchors to change colour on mouseOver
//				and mouseOut events. However, in Netscape the function 
// *****************************************************************************************************
// Oct 2001 

// Detect Which Browser is in use
var ie4 = (document.all) ? true:false;
var ns4 = (document.layers) ? true:false;

var page_Out	= new Image();
page_Out.src	= "../resources/images/page_2_MouseOut.gif";

var page_Over	= new Image();
page_Over.src	= "../resources/images/page_2_MouseOver.gif";

var folder_Out	= new Image();
folder_Out.src	= "../resources/images/folder_2_MouseOut.gif";
var folder_Over	= new Image();
folder_Over.src	= "../resources/images/folder_2_MouseOver.gif";


function dcCon(outputString) {
   if (ns4){
		java.lang.System.out.println(outputString);
   }
}

// Descriptions

function demoteDescription(imageName){

	var divToDemote;
	if(ie4){
		divToDemote = eval("document.all." + imageName + "Desc");
		if (divToDemote){
			divToDemote.style.visibility="hidden";
		}
	}
	if(ns4){
		divToDemote = eval("document.layers." + imageName + "Desc");
		if (divToDemote){
			divToDemote.visibility="hide";
		}
	}
}

function promoteDescription(imageName) {

	var divToPromote;
	if(ie4){
		divToPromote = eval("document.all." + imageName + "Desc");
		if (divToPromote){
			divToPromote.style.visibility="visible";
		}
	}

	if(ns4){
		divToPromote = eval("document.layers." + imageName + "Desc");
		if (divToPromote){
			divToPromote.visibility="show";
		}
	}
	
}



// image swap

function imgHighlight(container, imageName){

	var imageToUse = new Image();
	var imageToSwap = new Image();
	if(document.images){

		// check gracefully to see if the image to swap actually exists before we swap it
		// it may still be coming in and we don't want an error to popup
		// if the user happens to be mouseovering when the screen is being painted 

		switch (container) {

			case 'folder':
				imageToUse.src = folder_Over.src;
				if (ie4){
					if (document.images[imageName]){
						imageToSwap = document.images[imageName];
					}
				}else{
					if(document.layers['divFolders'].document.images[imageName]){
						imageToSwap = document.layers['divFolders'].document.images[imageName];
					}
				}
				break;

			case 'page':
				imageToUse.src = page_Over.src;
				if (ie4){
					if (document.images[imageName]){
						imageToSwap = document.images[imageName];
					}
				}else{
					if(document.layers['divPages'].document.images[imageName]){
						imageToSwap = document.layers['divPages'].document.images[imageName];
					}
				}
				break;
		}


		if (imageToSwap.src){
			imageToSwap.src = imageToUse.src;
		}

		promoteDescription(imageName);

	}

	if (ie4){
		if (event){
			event.srcElement.className = (event.srcElement.className + 'MouseOver');
		}
	}

}


function imgLowlight(container, imageName){


	var imageToUse = new Image();
	var imageToSwap = new Image();

	if(document.images){
		switch (container) {

			case 'folder':
				imageToUse.src = folder_Out.src;
				if (ie4){
					if (document.images[imageName]){
						imageToSwap = document.images[imageName];
					}
				}else{
					if(document.layers['divFolders'].document.images[imageName]){
						imageToSwap = document.layers['divFolders'].document.images[imageName];
					}
				}
				break;

			case 'page':
				imageToUse.src = page_Out.src;
				if (ie4){
					if (document.images[imageName]){
						imageToSwap = document.images[imageName];
					}
				}else{
					if(document.layers['divPages'].document.images[imageName]){
						imageToSwap = document.layers['divPages'].document.images[imageName];
					}
				}
				break;
		}

		// check gracefully to see if the image to swap actually exists before we swap it
		// it may still be coming in and we don't want an error to popup
		// if the user happens to be mouseovering when the screen is being painted 


		if (imageToSwap.src){
			imageToSwap.src = imageToUse.src;
		}

		demoteDescription(imageName);

	}

	if (ie4){
		if (event){
			var strClassName = new String(event.srcElement.className);
			var intPos = strClassName.search("MouseOver")
			if (intPos != -1){
				strClassName = strClassName.slice(0,((strClassName.length) - 9));
				event.srcElement.className = (strClassName);
			}
		}
	}

}

// ***** Normal Textual class name flip 

// HIGHLIGHT on MOUSEOVER
function highlight(e) {
	if (ie4)
	{
		if (event)
		{
			// Get the CLASS NAME and ADD "MouseOver" to the Class name
			event.srcElement.className = (event.srcElement.className + 'MouseOver');
		}
	}
	else
	{
		if (e)
		{
			if (!e.target.text)
			{
				// e.target.bgColor = "#F0F0F0";
				// e.target.x += 1;
			}
			document.routeEvent(e);
		}
	}
}

// LOWLIGHT on MOUSE OUT
function lowlight(e) {
	if (ie4)
	{
		if (event)
		{
			// Get the CLASS NAME
			var strClassName = new String(event.srcElement.className);
			// Scan it to see if it has "MouseOver" at the end of it otherwise we do nowt !
			var intPos = strClassName.search("MouseOver")
			if (intPos != -1)
			{
				// Remove the "MouseOver" bit leaving the CLASSNAME as it was
				strClassName = strClassName.slice(0,((strClassName.length) - 9));
				// Set the CLASS NAME back to what it was before we changed it to "MouseOver"
				event.srcElement.className = (strClassName);
			}
		}
	}
	else
	{
		if (e)
		{
			if (!e.target.text)
			{
				// e.target.bgColor = "#FFFFFF";
				// e.target.x -= 1;
			}
			document.routeEvent(e);
		}
	}
}







