/* functions to remove page margins in Navigator 4.x */

function NS_setBodyMargin(marginLeft, marginTop) {
	if (document.layers) document.tags.TextBody.margins(marginLeft, marginTop)
}

function NS_cinchContent() {

	if (document.layers)  {
		var platform = navigator.platform.toLowerCase()
		var isMac = platform.indexOf('mac') != -1
		var isWin = platform.indexOf('win') != -1
		var margins = { 'mac':[-8, -8],		/* this syntax may cause errors in early browsers */
					    'win':[-10, -16],
					    'nix':[-20, -22] };
					    
		if (isMac) {
			NS_setBodyMargin(margins['mac'][0], margins['mac'][1])
		} else if (isWin) {
			 NS_setBodyMargin(margins['win'][0], margins['mac'][1])
		} else {
			 NS_setBodyMargin(margins['nix'][0], margins['nix'][1])
		}
	}
	
	return true
}

NS_cinchContent() // run while loading to adjust style

/* need to include the Navigator 4.x resize bugfix if using no-margins code */

var loadWidth
var loadHeight

// must call resizeBugfix from onload handler
function resizeBugfix() {
	if (document.layers) {
	   loadWidth = window.innerWidth
	   loadHeight = window.innerHeight
	   window.onresize = restore
	}
}

function restore() {
   if (loadWidth != window.innerWidth || loadHeight != window.innerHeight) {
      history.go(0) //reload page
   }
}



/* functions that implement the rollovers */

function preloadImages() {
	if (document.images) {
		// iterate thru the dynImages array...
		for (var imgName in dynImages) {
			// for each entry in the dynImages array, create an array in the cachedImages array
			// these arrays may contain n image objects, representing n image states
			cachedImages[imgName] = new Array()
			for (var i = 0; i < dynImages[imgName].length; i++) {
				cachedImages[imgName][i] = new Image
				cachedImages[imgName][i].src = imagePath + dynImages[imgName][i]
			}
		}	
	}
	return true
}

function NS_flattenImages (documentObj) {
	if (document.layers) {
		var me = NS_flattenImages
		if (!documentObj) {
			documentObj = window.document //top-level document is default value
		}
		/* add references to global document.images array */
		for (var i = 0; i < documentObj.images.length; i++) {
			var img = documentObj.images[i]
			if (img.name && !document.images[img.name]) {
				document.images[img.name] = img
			}
		}
		
		/* recursively search through layers for images */
		for (var i = 0; i <  documentObj.layers.length; i++) {
			me(documentObj.layers[i].document) //recurse
		}
		
	}
	return true
}

// use this function as the onmouseover handler
function roll_over(imgName) {
	var img, rollSrc
	if (document.images && imagesCached) {
		img = document.images[imgName]
		rollSrc = cachedImages[imgName][1].src
		img.src = rollSrc
	}
	return true
}

// use this function as the onmouseout handler
function roll_out(imgName) {
	var img, defaultSrc
	if (document.images && imagesCached) {
		img = document.images[imgName]
		defaultSrc = cachedImages[imgName][0].src
		img.src = defaultSrc
	}
	return true
}

// onload handler
function initPage () {
	resizeBugfix()
	imagePath = document.links[0].href + "/"
	imagesCached = preloadImages()
	if ( document.layers && (document.layers.length > 0) )
		NS_flattenImages();
}
