//------------------------------------------------------------------------------------
//
// Copyright 2001. Nova Development Corp. All Rights Reserved.
//
//------------------------------------------------------------------------------------

// g_nSpreadCount comes from the included globals.js file created by the application
var g_arrPreLoadedImages = new Array( g_nSpreadCount );

// This will store the current position so we can later make jump navigation
var g_nCurrentImageNumber = 1;

var g_sBrowserName = '';
var g_nBrowserVersion = 0;
var g_bShowImageButtons = false;
var g_bShowImageLinks = false;
var g_objTimer;
var g_nTimerDelay = 0;
var g_bTimerLoop = false;
var g_bTimerRunning = false;
var g_bTextNavLinks = true;

//------------------------------------------------------------------------------------
function PreLoadImages()
{
	for (var i=0; i<g_arrPreLoadedImages.length; i++)
	{
		// create a new javascript Image for each one
		// this is so the images will preload
		g_arrPreLoadedImages[i] = new Image();
		if (i < 9)
		{
			g_arrPreLoadedImages[i].src = g_sImageCollectionFileName + "0" + (i + 1) + ".jpg";
		}
		else
		{
			g_arrPreLoadedImages[i].src = g_sImageCollectionFileName + (i + 1) + ".jpg";
		}
	}
	if (g_bTimerRunning)
	{
		g_bTimerRunning = false;
		ToggleSlideShow();
	}
	
	UpdateMoveImages();
}

//------------------------------------------------------------------------------------
function MoveImage(nDirection)
{
	if (g_nSpreadCount == 0)
	{
		return false;
	}
	
	g_nCurrentImageNumber += nDirection;
	ChangeImage(g_nCurrentImageNumber);
}

//------------------------------------------------------------------------------------
function ChangeImage(nSetImage)
{
	if (nSetImage <= 0 || nSetImage > g_arrPreLoadedImages.length)
	{
		return true;
	}
	
	g_nCurrentImageNumber = nSetImage;
	document["imgSpread"].src = g_arrPreLoadedImages[nSetImage - 1].src;
	ChangeLinks();
	UpdateMoveImages();
}

//------------------------------------------------------------------------------------
function IsIE()
{
	if (g_nBrowserVersion == 0) 
	{
		SetBrowserInfo();
	}
	
	if (g_sBrowserName == "IE")
	{
		return true;
	}
	
	return false;
}

//------------------------------------------------------------------------------------
function IsNS4()
{
	if (g_nBrowserVersion == 0) 
	{
		SetBrowserInfo();
	}
	
	if (g_sBrowserName == "NS" && g_nBrowserVersion < 5)
	{
		return true;
	}
	
	return false;
}

//------------------------------------------------------------------------------------
function IsNS6()
{
	if (g_nBrowserVersion == 0) 
	{
		SetBrowserInfo();
	}
	
	if (g_sBrowserName == "NS" && g_nBrowserVersion >= 5)
	{
		return true;
	}
	
	return false;
}

//------------------------------------------------------------------------------------
function SetBrowserInfo()
{
	var sAppName = navigator.appName;
	var sAppVersion = navigator.appVersion;

	g_nBrowserVersion = parseInt(sAppVersion);
	 
	g_sBrowserName = 'OTHER'; 
	if (sAppName == 'Netscape')
	{
		g_sBrowserName = 'NS';
	}
	if (sAppName == 'Microsoft Internet Explorer')
	{
		g_sBrowserName = 'IE';
	}
}

//------------------------------------------------------------------------------------
function ChangeLinks()
{
	if (!g_bShowImageLinks)
	{
		return true;
	}

	if (g_bTextNavLinks)
	{
		var sNewLinks = "";
		
		for (var i=0; i<g_arrPreLoadedImages.length; i++)
		{
			if (g_nCurrentImageNumber - 1 == i)
			{
				sNewLinks += "" + (i + 1) + "";
			}
			else
			{
				sNewLinks += "<a href=\"javascript: ChangeImage(" + (i + 1) + ");\">" + (i + 1) + "</a>"
			}
			if (i < g_arrPreLoadedImages.length - 1)
			{
				sNewLinks += " | ";
			}
		}
		
		if (IsIE() || IsNS6())
		{
			var objImageLinks = document.getElementById("txtLinks");
	   		objImageLinks.innerHTML = sNewLinks;
		}
		else if (IsNS4())
		{
			document.layers.divLinks.document.write("<p align=\"center\">" + sNewLinks + "</p>");
			document.layers.divLinks.document.close();
		}
		if (IsNS4() || IsNS6())
		{
			history.go(0);
		}
	}	
}

//------------------------------------------------------------------------------------
function UpdateMoveImages()
{
	if (!g_bShowImageButtons)
	{
		return true;
	}
	
	//get reference to images ensuring they are null if not defined
	var imgNextButton = document["imgNext"];
	if (typeof(imgNextButton) == "undefined" )
	{
		imgNextButton = null;
	}

	var imgPrevButton = document["imgPrev"];
	if (typeof(imgPrevButton) == "undefined" )
	{
		imgPrevButton = null;
	}


	//figure out correct src to use
	var sNextButtonSrc = "";
	var sPrevButtonSrc = "";
	if (g_nCurrentImageNumber == 1 && g_nSpreadCount == 1)
	{
		sNextButtonSrc = g_sImageNextButtonDisabled;
		sPrevButtonSrc = g_sImagePreviousButtonDisabled;
	}
	else if (g_nCurrentImageNumber == 1)
	{
		sNextButtonSrc = g_sImageNextButton;
		sPrevButtonSrc = g_sImagePreviousButtonDisabled;
	}
	else if (g_nCurrentImageNumber == g_nSpreadCount)
	{
		sNextButtonSrc = g_sImageNextButtonDisabled;
		sPrevButtonSrc = g_sImagePreviousButton;
	}
	else 
	{
		sNextButtonSrc = g_sImageNextButton;
		sPrevButtonSrc = g_sImagePreviousButton;
	}
	
	//set src
	if (imgNextButton != null)
	{
		imgNextButton.src = sNextButtonSrc;
	}

	if (imgPrevButton != null)
	{
		imgPrevButton.src = sPrevButtonSrc;
	}
}

//------------------------------------------------------------------------------------
function WriteLinksLayer(bShowLinks)
{
	if (!bShowLinks)
	{
		return true;
	}
	
	g_bShowImageLinks = true;
	
	if (IsIE() || IsNS6())
	{
		document.write('<p name="txtLinks" id="txtLinks">&nbsp;</p>');
	}
	else if (IsNS4())
	{
		document.write('<div name="divLinks" id="divLinks" style="position:absolute"><p align="center">&nbsp;</p></div>');
	}
	
	ChangeLinks();
}

//------------------------------------------------------------------------------------
function WriteMovementButtons(bShowButtons, strAdditionalParam)
{
	if (!bShowButtons)
	{
		return true;
	}
	
	g_bShowImageButtons = true;
	
	//guard against undefined paramter
	if (typeof(strAdditionalParam) != "string")
	{
		strAdditionalParam = "";
	}

	WritePrevMovementButton(bShowButtons, strAdditionalParam);
	WriteNextMovementButton(bShowButtons, strAdditionalParam);
}

//------------------------------------------------------------------------------------
function WriteLinksLayerForDropdown(bShowLinks)
{
	if (!bShowLinks)
	{
		return true;
	}
	
	g_bShowImageLinks = true;
	
	document.write('<form name=\"formLinks\"><select name=\"selLinks\" onChange=\"ChangeFromDropdown();\">');
	
	for (var i=0; i<g_arrPreLoadedImages.length; i++)
	{
		document.write('<option value=\"\">Image ' + (i + 1) + '</option>');
	}

	document.write('</select></form>');

	document.formLinks.selLinks[g_nCurrentImageNumber - 1].selected = true;
}

//------------------------------------------------------------------------------------
function WritePrevMovementButton(bShowButtons, strAdditionalParam)
{
	if (!bShowButtons)
	{
		return true;
	}
	
	g_bShowImageButtons = true;
	
	document.write('<a href="javscript: return false;" onClick="MoveImage( -1 ); return false;">');
	document.write('<img src="' + g_sImagePreviousButtonDisabled + '" name="imgPrev" id="imgPrev" border="0" ' + strAdditionalParam + '></a>');
	UpdateMoveImages();
		
}

//------------------------------------------------------------------------------------
function WriteNextMovementButton(bShowButtons, strAdditionalParam)
{
	if (!bShowButtons)
	{
		return true;
	}
	
	g_bShowImageButtons = true;
	
	document.write('<a href="javscript: return false;" onClick="MoveImage( 1 ); return false;">');
	document.write('<img src="' + g_sImageNextButton + '" name="imgNext" id="imgNext" border="0" ' + strAdditionalParam + '></a>');
	UpdateMoveImages();
}

//------------------------------------------------------------------------------------
function WriteSound(bLoop, bAutostart, strAdditionalParam, strAltText)
{
	if (!g_bUsesSound)
	{
		return true;
	}
	
	if (IsIE())
	{
		var sLoop = (bLoop ? "true" : "false");
		var sAutostart = (bAutostart ? "true" : "false");
		var sOutput = '';
		
		sOutput = '<embed src="' + g_sSoundFileName + '" loop="' + sLoop + '" autostart="' + sAutostart + '" ';
		sOutput += strAdditionalParam;
		sOutput += '></embed>';
		
		document.write(sOutput);
	}
	else
	{
		document.write(strAltText);
	}
}

//------------------------------------------------------------------------------------
function InitSlideShow(bAutoStart, bLoop, nDelayInSeconds, strAdditionalParam)
{
	document.write('<a href="javscript: return false;" onClick="ToggleSlideShow(); return false;">');
	document.write('<img src="' + g_sImageStartSlideShowButton + '" name="imgSlideShow" id="imgSlideShow" border="0" ' + strAdditionalParam + '></a>');
	
	g_bTimerLoop = bLoop;
	g_nTimerDelay = nDelayInSeconds * 1000;
	
	if (bAutoStart)
	{
		g_bTimerRunning = true;
	}
}

//------------------------------------------------------------------------------------
function SlideShowMoveNextImage(bMove)
{
	var nCurrentImageNumber = g_nCurrentImageNumber;
	var nMaxNumberImages = g_arrPreLoadedImages.length;
	
	if (nCurrentImageNumber == nMaxNumberImages)
	{
		if (g_bTimerLoop)
		{
			nCurrentImageNumber = 0;
			bMove = true;
		}
		else
		{
			return true;
		}
	}

	if (bMove)
	{
		nCurrentImageNumber++;
	}
	
	ChangeImage(nCurrentImageNumber);
	g_objTimer = setTimeout("SlideShowMoveNextImage(true);", g_nTimerDelay);
}

//------------------------------------------------------------------------------------
function StartSlideShow()
{
	g_bTimerRunning = true;
	SlideShowMoveNextImage(false);
}

//------------------------------------------------------------------------------------
function PauseSlideShow()
{
	g_bTimerRunning = false;
	clearTimeout(g_objTimer);
}

//------------------------------------------------------------------------------------
function ToggleSlideShow()
{
	if (g_bTimerRunning)
	{
		document["imgSlideShow"].src = g_sImageStartSlideShowButton;
		PauseSlideShow();
	}
	else
	{
		document["imgSlideShow"].src = g_sImageStopSlideShowButton;
		StartSlideShow();
	}
}

//------------------------------------------------------------------------------------
function WriteMainImage(strAdditionalParam)
{
	document.write('<img src="' + g_sImageCollectionFileName + '01.jpg" name="imgSpread" id="imgSpread"><br>');
}

//------------------------------------------------------------------------------------
function WriteNavigationDropdown()
{
	g_bTextNavLinks = false;
	WriteLinksLayerForDropdown(true);
}

//------------------------------------------------------------------------------------
function ChangeFromDropdown()
{
	var nSelectedImage = 0;
	
	nSelectedImage = document.formLinks.selLinks.selectedIndex;
	
	ChangeImage(nSelectedImage + 1);
	
	document.formLinks.selLinks[nSelectedImage].selected = true;
}
