// Copyright 1997 RoundTable Media, Inc.  All Rights Reserved.

// set up error trapping

trapErrors=false;  // for debugging, set to false.  if true no javascript error dialogs will appear
eventsActive=false;
selectedButton="";
selectedParent="";
selectedChildNum=0;
window.onerror = getTrapErrors;

// Set up the platform-appropriate style sheet
// Disable CSS for buggy browser versions

fullversion=navigator.appName + navigator.appVersion;

if (fullversion.indexOf("Netscape") != -1) {
	if (!window.saveInnerWidth) {
	  window.saveInnerWidth = window.innerWidth;
	  window.saveInnerHeight = window.innerHeight;
	}
	window.onResize=resizeFix;
}


// return the current debugMode setting

function getTrapErrors() {
	return trapErrors;
}

// if the browser supports it, load in the image objects for the buttons

function setupButtons(rbtnName) {

	selectedButton=rbtnName
	selectedParent=""
	selectedChildNum=0
			
	if(setupButtons.arguments.length>=2) {
		selectedParent=setupButtons.arguments[1]
	}

	if(setupButtons.arguments.length==3) {
		selectedChildNum=setupButtons.arguments[2]
	}
	
}


// For javascript-based listbox jump
// Determine which page is selected and go to it

function selectPage(form) {

 i = form.listboxmenu.selectedIndex;
 if (i != 0) {
 		loc=form.listboxmenu.options[i].value;
		nav(loc);
	}
}

function nav(loc) {
			
	// open the location in the main window
  top.location.href = loc;

}

// Displays the date in a nice format
// Uses either the date object, or document.lastmodified

function writeDate() {

	// Array of day names
	var dayNames = new makeArray(7);
	dayNames[0]="Sunday";
	dayNames[1]="Monday";
	dayNames[2]="Tuesday";
	dayNames[3]="Wednesday";
	dayNames[4]="Thursday";
	dayNames[5]="Friday";
	dayNames[6]="Saturday";
		
	// Array of month Names
	var monthNames = new makeArray(12);
	monthNames[0]="January";
	monthNames[1]="February";
	monthNames[2]="March";
	monthNames[3]="April";
	monthNames[4]="May";
	monthNames[5]="June";
	monthNames[6]="July";
	monthNames[7]="August";
	monthNames[8]="September";
	monthNames[9]="October";
	monthNames[10]="November";
	monthNames[11]="December";

		
	var now = new Date();
	var century;
	
	if(now.getYear()>=0 && now.getYear()<=100) {
		if (now.getYear()>="98") {
			century="19";
		}
		else {
			century="20";
		}
		
		document.writeln(dayNames[now.getDay()] + ", " + monthNames[now.getMonth()] + " " + now.getDate() + ", " + century + now.getYear());
	}
	else {
		// if the year isn't working right, write the lastmodified property

		if(document.lastModified) {
			document.writeln(document.lastModified);
		}
	}
}


function selectDefault() {

	eventsActive=true;
	if(selectedButton!="") {
		norm(selectedButton)

		if(selectedParent!="") {
			norm(selectedParent)
			
			if(selectedChildNum>0) {
				if (document.images) {
					var btnImage = new Image()
				  btnImage.src = navbarImagePath + selectedParent + "L" + selectedChildNum + "." + extension
				
					// swap in the loaded line graphic
					document.images[(selectedParent + "L")].src=btnImage.src

				}
					
			}
		}
	}

}

function reselectDefault() {
	if (eventsActive) {
		resizeFix();
		selectDefault();
	}
}


function makeArray(rCount) {
	this.length=rCount;
	for(var i=1; i<=rCount; i++)
		this[i]=0
		
	return this
}

function addToButtonArray(rimgName) {
	buttonCount++
	buttonNames[buttonCount]=rimgName
}

function normalButtonImage(rimgName, rPath) {
	var btnImage = new Image()
	if (selectedButton!=rimgName && selectedParent!=rimgName)
	   btnImage.src = rPath + rimgName + "N." + extension
	else
	   btnImage.src = rPath + rimgName + "S." + extension
		
	return btnImage
}

function rolloverButtonImage(rimgName, rPath) {
	//determine if we have varying rollover images
	if(rolloverButtonImage.arguments.length>2) {
		var iImageNum = rolloverButtonImage.arguments[2]
		var bVaryingRollover=true
	}
	else
		var bVaryingRollover=false
	
	var btnImage = new Image()
	if(!bVaryingRollover)
		btnImage.src = rPath + rimgName + "R." + extension
	else
		btnImage.src = rPath + rimgName + "R" + iImageNum + "." + extension
	
	return btnImage
}


function multirollo(rbtnNameA, rbtnNameB) {
  if (document.images && eventsActive) {
  	// Determine if we have optional rollover image numbers
		// This is needed to support varying rollover popup graphics for a given button
	
		if(multirollo.arguments.length>2) {
	 	  var bVaryingRollover = true
	  	var iImageNumA = multirollo.arguments[2]
	  	var iImageNumB = multirollo.arguments[3]
	  }
		else
	  	var bVaryingRollover = false
		  
 	  /* Norm the last rolled over button(s) to be safe*/

		if (lastRollo!="" && lastRollo!=rbtnNameA && lastRollo!=rbtnNameB) {
			norm(lastRollo)
		}

		if (lastRollo2!="" && lastRollo2!=rbtnNameA && lastRollo2!=rbtnNameB) {
			norm(lastRollo2)
		}

		if(selectedButton!=rbtnNameA) {
				
			if(bVaryingRollover) {
				document[rbtnNameA].src =eval(rbtnNameA + "R" + iImageNumA +".src")
				document[rbtnNameB].src =eval(rbtnNameB + "R" + iImageNumB +".src")
			}
	   	else {
		   	document[rbtnNameA].src =eval(rbtnNameA + "R.src")
	  	 	document[rbtnNameB].src =eval(rbtnNameB + "R.src")
			}
	
			lastRollo=rbtnNameA
			lastRollo2=rbtnNameB
		}
	}
}


function multinorm(rbtnNameA, rbtnNameB) {
  if (document.images) {
  	document[rbtnNameA].src =eval(rbtnNameA + "N.src")
		document[rbtnNameB].src =eval(rbtnNameB + "N.src")
		lastRollo=""
		lastRollo2=""
  }
}


function norm(rbtnName) {
  if (document.images) {
		document[rbtnName].src =eval(rbtnName + "N.src")
		lastRollo=""
	}
}

function rollo(rbtnName) {
  if (document.images && eventsActive) {
		//previously we normed all other buttons for mac bug fix.. now norm only the last rolled over

			if (lastRollo!="" && lastRollo!=rbtnName) {
				norm(lastRollo)
			}

			if (lastRollo2!="" && lastRollo2!=rbtnName) {
				norm(lastRollo2)
			}
		
		if(selectedButton!=rbtnName) {
			if(rollo.arguments.length>1) {
  	  	var iImageNum = rollo.arguments[1]
	 			document[rbtnName].src =eval(rbtnName + "R" + iImageNum + ".src")
			}
			else
				document[rbtnName].src =eval(rbtnName + "R.src")
			
			lastRollo=rbtnName
		}
	}
}

function resizeFix() {

    if (saveInnerWidth < window.innerWidth || 
        saveInnerWidth > window.innerWidth || 
        saveInnerHeight > window.innerHeight || 
        saveInnerHeight < window.innerHeight )  {
      window.history.go(0);
    }
}

