<!--

/****************************************************************************************************
	Rollovers Class
****************************************************************************************************/

/*
	Rollovers Class

	Author:
		Christopher Caleb

	Date:
		06/05/02

	Description:
		Allows for the creation and use of rollover images within HTML documents.

	Interface:
		Rollovers()									Constructor
		addRollover(p_name,p_outImage,p_overImage)	Create a new rollover.
		over(p_imgName,p_rolloverName)				Mouse has moved over rollover.
		out(p_imgName,p_rolloutName)				Mouse has moved away from rollover.
		listRollovers()								Outputs in HTML the rollovers that have been created.

	Usage:
		To create rollovers. Perform the following steps.
			1. Instantiate Rollover class.
			2. Create one or more rollovers.
			3. Call Rollover methods from events.

		For example:

			The Javascript:
			---------------

			// Instantiate rollovers object.
			var rollovers = new Rollover();

			// Create 2 rollovers.
			rollovers.addRollover( 'large_btn', 'large_btn_1.gif', 'large_btn_2.gif' );
			rollovers.addRollover( 'small_btn', 'small_btn_1.gif', 'small_btn_2.gif' );

			The html:
			---------

			<A href="#">
				<IMG SRC="large_btn_1.gif" NAME="button1" border="0"
					 onMouseover="rollovers.over( 'button1', 'large_btn' )"
					 onMouseout="rollovers.out( 'button1', 'large_btn' )">
			</A>

			<A href="#">
				<IMG SRC="small_btn_1.gif" NAME="button2" border="0"
					 onMouseover="rollovers.over( 'button2', 'small_btn' )"
					 onMouseout="rollovers.out( 'button2', 'small_btn' )">
			</A>

*/

Rollovers.prototype.rollovers = null;

Rollovers.prototype.addRollover = function( p_name, p_outImage, p_overImage )
{
	this.rollovers[ p_name ] = new Object();

	this.rollovers[ p_name ].name = p_name;

	this.rollovers[ p_name ].overImage = new Image();
	this.rollovers[ p_name ].overImage.src = p_overImage;

	this.rollovers[ p_name ].outImage = new Image();
	this.rollovers[ p_name ].outImage.src = p_outImage;

	return;
}

Rollovers.prototype.over = function( p_imgName, p_rolloverName )
{
	evalString = 'document.' + p_imgName + '.src = this.rollovers.' + p_rolloverName + '.overImage.src';
	eval( evalString );

	return;
}

Rollovers.prototype.out = function( p_imgName, p_rolloutName )
{
	evalString = 'document.' + p_imgName + '.src = this.rollovers.' + p_rolloutName + '.outImage.src';
	eval( evalString );

	return;
}

Rollovers.prototype.listRollovers = function()
{
	document.write( '<p>' );
	document.write( '<ul>' );

	for( var rollover in this.rollovers )
	{
		document.write( '<li><ul>' );
		document.write( '<li>' + rollover );
		document.write( '<li>' + this.rollovers[rollover].overImage.src );
		document.write( '<li>' + this.rollovers[rollover].outImage.src + '</ul>' );
	}

	document.write( '</ul>' );
	document.write( '</p>' );

	return;
}

function Rollovers()
{
	this.rollovers = new Object();
	return;
}


/****************************************************************************************************
	Open Window
****************************************************************************************************/

/*
	OpenWin
	Opens a new child window.
	
	Parameters
		p_url:			The html page to be opened in the window.
		p_width:		The width of the window.
		p_height:		The height of the window.
		p_windowName:	The name of the window.
*/

function openWin( p_url, p_width, p_height, p_windowName )
{
	if( p_windowName == null )
		p_windowName = "";
		
	window.open( p_url, p_windowName, "toolbar=no, width=" + p_width + ", height=" + p_height + ", menubar=no, status=no, scrollbars=no, resizable=no" );
}


/****************************************************************************************************
	Image Features
****************************************************************************************************/

/*
	showScreenshot
	Opens a new window and displays the required screenshot.
	
	PARAMETERS
		p_title:	Title for page.
		p_image:	Screenshot image to be shown.
		p_width:	Width of image and page.
		p_height:	Height of image and page.
*/

function showScreenshot( p_title, p_image, p_width, p_height )
{
	// Open new window.
	var windowOptions = "toolbar=no, width=" + p_width + ", height=" + p_height + 
						"menubar=no, status=no, resizable=no, scrollbars=no";
	
	var newWindow = open( '', 'Screenshot', windowOptions );	
	
	// Create HTML for window.	
	var windowHTML = "<HTML><HEAD><TITLE>" + p_title + "</TITLE>";
	windowHTML += "<META http-equiv='Content-Type' content='text/html'>";
	windowHTML += "<LINK rel='stylesheet' type='text/css' href='product_style.css'>";
	windowHTML += "<LINK rel='stylesheet' type='text/css' href='screenshot.css'>";
	windowHTML += "<SCRIPT language='JavaScript' src='corefunctions.js'></SCRIPT>";
	windowHTML += "</HEAD>";
	windowHTML += "<BODY>";	
	windowHTML += "<CENTER>";
	windowHTML += "<IMG id='screenshot' src='" + p_image + "' border='0'>";
	windowHTML += "</CENTER>";	
	windowHTML += "</BODY>";
	windowHTML += "</HTML>";
	
	newWindow.document.write( windowHTML );
	
	return;
}

//-->

