//<script language="javascript">
/////////////////////////////////////////////////////////////
//
// Browser Check
// Copyright (c) 2000 by Bob Clary, All Rights Reserved
//
/////////////////////////////////////////////////////////////

var is_mozilla			= false;
var is_ie5				= false;
var browser_ok			= false;
var _registeredFiles	= new Object(); // keep track of included source files
var is_debug			= false;

if (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) >= 5)
{
	//if (navigator.userAgent.indexOf(' m17') != -1 || navigator.userAgent.indexOf(' m18') != -1)
	//{
		is_mozilla = true;
		registerFile('DOM_Core'); // we will use Mozilla's implementation when possible
	//}
}

if (navigator.appName == 'Microsoft Internet Explorer')
	if (navigator.userAgent.indexOf('MSIE 5.01') >= 0 || navigator.userAgent.indexOf('MSIE 5.5') >= 0)
		is_ie5 = true;
	
browser_ok = ( is_mozilla || is_ie5 );

if (!browser_ok)
	goHome();

registerFile('browser.js');

// check that the required files are included
function registerFile(fileName, requiredFiles)
{
	var i;
	var missingFiles	= new Array();
	
	if (typeof(requiredFiles) == 'string')
		_registeredFiles[fileName] = requiredFiles.split(/,\s/);
	else
		_registeredFiles[fileName] = new Array();
		
	checkFiles(fileName, missingFiles);
			
	if (missingFiles.length != 0)
	{
		var hash = new Object();
		var msg = 'File ' + fileName + ' is missing required File' + (missingFiles.length > 1 ? 's': '');
		var p;
		
		for (i = 0; i < missingFiles.length; i++)
			hash[missingFiles[i]] = true;
			
		for (p in hash)
			msg += ' ' + p + ',';
			
		msg = msg.substring(0, msg.length-1);
	
		alert(msg);
		goHome();
	}
	
	function checkFiles(fileName, missingFiles)
	{
		var fileRef = _registeredFiles[fileName];
			
		if (typeof(fileRef) == 'undefined')
		{
			missingFiles[missingFiles.length] = fileName;
			return;
		}
				
		for (var i = 0; i < fileRef.length; i++)
			checkFiles(fileRef[i], missingFiles);
			
		return;
	}
}

// bail out!
function goHome()
{
	var myServer = document.location.protocol + '//' + document.location.host;
	var myRoot   = document.location.pathname.substring(0, document.location.pathname.indexOf('/', 1));
	var myPath   = myServer + myRoot + '/index.html';

	if (document.location.href.toLowerCase() != myPath.toLowerCase())
		document.location.href =  myPath;
}

function stringToNumber(s)
{
	return parseInt(('0' + s).replace(/[^0-9]/g,''), 10)
}

function noop() {}

// it is an error to reference anything from the dynamically loaded file inside the
// same script block.  This means that a file can not check its dependencies and
// load the files for it's own use.  someone else must do this.	
	
function loadScript(fileName)
{
	document.write('<script language="javascript" type="text/javascript" src="' + fileName + '"><\/script>');
}

//</script>
