/* *********************************************************** 
Example 4-3 (DHTMLAPI.js) "Dynamic HTML:The Definitive Reference" 
2nd Edition by Danny Goodman 
Published by O'Reilly & Associates ISBN 1-56592-494-0 
http://www.oreilly.com Copyright 2002 Danny Goodman. All Rights Reserved. 
************************************************************ */ 
// DHTMLapi.js custom API for cross-platform 
// object positioning by Danny Goodman (http://www.dannyg.com). 
// Release 2.0. Supports NN4, IE, and W3C DOMs. 
// Global variables var isCSS, isW3C, isIE4, isNN4, isIE6CSS, isIE5, isSafari, isMac; 
// Initialize upon load to let all browsers establish content objects 

function getIEVersionNumber() { 
	var ua = navigator.userAgent; 
	var MSIEOffset = ua.indexOf("MSIE "); 
	if (MSIEOffset == -1) { 
		return 0; 
	} else { 
		return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset))); 
	} 
} 

function initDHTMLAPI() { 
	if (document.images) { 
		window.onResize = Align_Footer();
		isCSS = (document.body && document.body.style) ? true : false; 
		isW3C = (isCSS && document.getElementById) ? true : false; 
		isIE4 = (isCSS && document.all) ? true : false; 
		isNN4 = (document.layers) ? true : false; 
		isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false; 
		isIE5 = Math.round(getIEVersionNumber()); 
		var app = navigator.userAgent; 
		if (app.indexOf("Safari") > 0) { 
			isSafari = true; 
		} else { 
			isSafari = false; 
		} 
		if (app.indexOf("Mac") > 0) { 
			isMac = true; 
		} else { 
			isMac = false; 
		} 
	} 
} 

// Set event handler to initialize API window.onload = initDHTMLAPI; 
// Seek nested NN4 layer from string name 
function seekLayer(doc, name) { 
	var theObj; 
	for (var i = 0; i < doc.layers.length; i++) { 
		if (doc.layers[i].name == name) { 
			theObj = doc.layers[i]; 
			break; 
		} 
		// dive into nested layers if necessary 
		if (doc.layers[i].document.layers.length > 0) { 
			theObj = seekLayer(document.layers[i].document, name); 
		} 
	} 
	return theObj; 
} 

// Convert object name string or object reference 
// into a valid element object reference 
function getRawObject(obj) { 
	var theObj; 
	if (typeof obj == "string") { 
		if (isW3C) { 
			theObj = document.getElementById(obj); 
		} else if (isIE4) { 
			theObj = document.all(obj); 
		} else if (isNN4) { 
			theObj = seekLayer(document, obj); 
		} 
	} else { 
		// pass through object reference 
		theObj = obj; 
	} 
	return theObj; 
} 

// Convert object name string or object reference 
// into a valid style (or NN4 layer) reference 
function getObject(obj) { 
	var theObj = getRawObject(obj); 
	if (theObj && isCSS) { 
		theObj = theObj.style; 
	} 
	return theObj; 
} 

// Position an object at a specific pixel coordinate 
function shiftTo(obj, x, y) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		if (isCSS) { 
			// equalize incorrect numeric value type 
			var units = (typeof theObj.left == "string") ? "px" : 0 
			theObj.left = x + units; 
			theObj.top = y + units; 
		} else if (isNN4) { 
			theObj.moveTo(x,y) 
		} 
	} 
} 

// Move an object by x and/or y pixels 
function shiftBy(obj, deltaX, deltaY) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		if (isCSS) { 
			// equalize incorrect numeric value type 
			var units = (typeof theObj.left == "string") ? "px" : 0 
			theObj.left = getObjectLeft(obj) + deltaX + units; 
			theObj.top = getObjectTop(obj) + deltaY + units; 
		} else if (isNN4) { 
			theObj.moveBy(deltaX, deltaY); 
		} 
	} 
} 

// Set the z-order of an object 
function setZIndex(obj, zOrder) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		theObj.zIndex = zOrder; 
	} 
} 

// Set the background color of an object 
function setBGColor(obj, color) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		if (isNN4) { 
			theObj.bgColor = color; 
		} else if (isCSS) { 
			theObj.backgroundColor = color; 
		} 
	} 
} 

// Set the visibility of an object to visible 
function show(obj) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		theObj.visibility = "visible"; 
	} 
} 

// Set the visibility of an object to hidden 
function hide(obj) { 
	var theObj = getObject(obj); 
	if (theObj) { 
		theObj.visibility = "hidden"; 
	} 
} 

// Retrieve the x coordinate of a positionable object 
function getObjectLeft(obj) { 
	var elem = getRawObject(obj); 
	if (elem == null) return 0; 
	var result = 0; 
	if (document.defaultView) { 
		var style = document.defaultView; 
		var cssDecl = style.getComputedStyle(elem, ""); 
		result = cssDecl.getPropertyValue("left"); 
	} else if (elem.currentStyle) { 
		result = elem.currentStyle.left; 
	} else if (elem.style) { 
		result = elem.style.left; 
	} else if (isNN4) { 
		result = elem.left; 
	} 
	return parseInt(result); 
} 

// Retrieve the y coordinate of a positionable object 
function getObjectTop(obj) { 
	var elem = getRawObject(obj); 
	if (elem == null) return 0; 
	var result = 0; 
	if (document.defaultView) { 
		var style = document.defaultView; 
		var cssDecl = style.getComputedStyle(elem, ""); 
		result = cssDecl.getPropertyValue("top"); 
	} else if (elem.currentStyle) { 
		result = elem.currentStyle.top; 
	} else if (elem.style) { 
		result = elem.style.top; 
	} else if (isNN4) { 
		result = elem.top; 
	} return parseInt(result); 
} 

// Retrieve the rendered width of an element 
function getObjectWidth(obj) { 
	var elem = getRawObject(obj); 
	if (elem == null) return 0; 
	var result = 0; 
	if (elem.offsetWidth) { 
		result = elem.offsetWidth; 
	} else if (elem.clip && elem.clip.width) { 
		result = elem.clip.width; 
	} else if (elem.style && elem.style.pixelWidth) { 
		result = elem.style.pixelWidth; 
	} 
	return parseInt(result); 
} 

// Retrieve the rendered height of an element 
function getObjectHeight(obj) { 
	var elem = getRawObject(obj); 
	var elem = getRawObject(obj); 
	var result = 0; 
	if (elem.offsetHeight) { 
		result = elem.offsetHeight; 
	} else if (elem.clip && elem.clip.height) { 
		result = elem.clip.height; 
	} else if (elem.style && elem.style.pixelHeight) { 
		result = elem.style.pixelHeight; 
	} return parseInt(result); 
} 

// Return the available content width space in browser window 
function getInsideWindowWidth() { 
	if (window.innerWidth) { 
		return window.innerWidth; 
	} else if (isIE6CSS) { 
		// measure the html element's clientWidth 
		return document.body.parentElement.clientWidth 
	} else if (document.body && document.body.clientWidth) { 
		return document.body.clientWidth; 
	} 
	return 0; 
} 

// Return the available content height space in browser window 
function getInsideWindowHeight() { 
	if (window.innerHeight) { 
		return window.innerHeight; 
	} else if (isIE6CSS) { 
		// measure the html element's clientHeight 
		return document.body.parentElement.clientHeight 
	} else if (document.body && document.body.clientHeight) { 
		return document.body.clientHeight; 
	} return 0; 
} 


function m_over(x) 
{
	if(x == null)
		x= window;
	x.event.srcElement.style.background="#003399";
	x.event.srcElement.style.color = "yellow";
	x.event.srcElement.style.cursor = "hand";
}

function m_out(x) 
{
	if(x == null)
		x= window;
	x.event.srcElement.style.background="#CC9900";
	x.event.srcElement.style.color = "black";
	x.event.srcElement.style.cursor = "default";
}

function m_click(dest) 
{
	window.navigate(dest);
}


function handleMouseover() {
	eSrc = window.event.srcElement;
	eSrcTag=eSrc.tagName.toUpperCase();
	if (eSrcTag == "A") eSrc.style.textDecoration = "underline";
}

function handleMouseout() {
	eSrc = window.event.srcElement;
	eSrcTag=eSrc.tagName.toUpperCase();
	if (eSrcTag == "A") eSrc.style.textDecoration = "";
}

function SetStatus(Tx)
{
	window.status=Tx;
	return true;
}

startList = function() {
	if (document.all && document.getElementById) {
	    var count = 1;
        while(document.getElementById("navsystem"+count)) {
            navRoot = document.getElementById("navsystem"+count);
            listhelper(navRoot);
            count = count + 1;
        }
    }
}

function listhelper(navRoot) {
	for (i=0; i < navRoot.childNodes.length; i++) {
		node = navRoot.childNodes[i];
		if (node.nodeName=="LI") {
			node.onmouseover=function() {
				this.className+=" over";
			}
			node.onmouseout=function() {
				this.className=this.className.replace(" over", "");
            }
        }
    }
}

	
/* *********************************************************** 
function MM_reloadPage(init) {
	//reloads the window if Nav4 resized
	if (init==true) with (navigator) { 
		if ((appName==""Netscape"") && (parseInt(appVersion)==4)) { 
			document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage;
		} 
	} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); 
} 

MM_reloadPage(true);
************************************************************ */


/* *********************************************************** 
function to pop up an embedded player window use this syntax on the calling page:
 <a href="http://www.GotMyShot.com/player_i.html" onClick="return player(this, 'temp');">Click Here</a>
function player(myUrl, name) 
{
	var mywin = window.open(myUrl.href, name, 'width=400,height=163');
	mywin.focus();
	return false;
}

// This displays the current date 
// ONLY use with the "no announcements" announcement
// otherwise, comment out and put the date of the announcement
// Begin
var months=new Array(13);

	months[1]="January";
	months[2]="February";
	months[3]="March";
	months[4]="April";
	months[5]="May";
	months[6]="June";
	months[7]="July";
	months[8]="August";
	months[9]="September";
	months[10]="October";
	months[11]="November";
	months[12]="December";
var time=new Date();
var lmonth=months[time.getMonth() + 1];
var date=time.getDate();
var year=time.getYear();
if (year < 2000) year = year + 1900; 
End
************************************************************ */ 
