/*-----------------------------------
Determines browser
-----------------------------------*/
function Is() {
    var agent = navigator.userAgent.toLowerCase();
    this.NN  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.IE   = (agent.indexOf("msie") != -1);
    this.WIN = (agent.indexOf("win") != -1);
    this.IE5 = (this.IE && (agent.indexOf('5') != -1));
	this.NN4 = false;
	if (this.NN && parseFloat(navigator.appVersion)<5)
		this.NN4 = true;
}

/*-----------------------------------
global variable initialization
-----------------------------------*/
var is = new Is();

var swapArray = new Array();  //global that holds swap images info

/*-----------------------------------
Called from the onLoad() inside the body tag 
Creates arrays for all images and references 
to the layers involved in the navigation     
-----------------------------------*/
function initialize() {
	parseLayers(document);
}

/*---------------------------------------
Called from initialize()
Automatically parse every layer in document,
determining which have swappable images
---------------------------------------*/
function parseLayers(str) {
	for (var i=0; i < str.images.length; i++) {
		if (str.images[i].name != "") {
			createImageObjects(str.images[i]);
		}
	}
	if (is.NN4) {
		for (var i=0; i < str.layers.length; i++) {
			parseLayers(str.layers[i].document);
		}
	}
}


/*---------------------------------------
Called from parseLayers()
Preloads and creates object references for swappable images
including _on state, _off state, and DOM image object path
---------------------------------------*/
function createImageObjects(imgObj) {
	//var fnameExp = /(_off|_on|_press)\.[^\.]*$/;
	var ftypeExp = /\.[^\.]*$/;   // regular expression used to split the filename string
	var srcString = imgObj.src;
	//var extString = srcString.match(ftypeExp); // grab the extension // does not work in Netscape 4.7
	var extString = srcString.substring(srcString.length-4,srcString.length); // grab the extension
	//var fnameString = srcString.split(fnameExp)[0]; // does not work in Netscape 6
	var fnameString = srcString.substring(0,srcString.length-4);
	if (fnameString.substring(fnameString.length-6,srcString.length) == "_press")
		fnameString = fnameString.substring(0,fnameString.length-6);
	else if (fnameString.substring(fnameString.length-4,srcString.length) == "_off")
		fnameString = fnameString.substring(0,fnameString.length-4);
	var imgRef = imgObj.name;	 
	swapArray[imgRef] = new Object();
	swapArray[imgRef].press = new Image();
	swapArray[imgRef].press.src = fnameString + "_press" + extString;
	swapArray[imgRef].off = new Image();
	swapArray[imgRef].off.src = fnameString + "_off" + extString;
	swapArray[imgRef].layerRef = imgObj;
}

/*---------------------------------------
Called from the <a href> tag      
Swap image function for rollovers 
---------------------------------------*/
function swap(imgName, onoff) {
	if (swapArray[imgName] != null) {
		swapArray[imgName].layerRef.src = swapArray[imgName][onoff].src;
	}
}

/*---------------------------------------
Called from the <a href> tag      
Toggle images function for rollovers 
---------------------------------------*/
function toggle(imgName, onoff) {
	if (swapArray[imgName] != null) {
		for (imgRef in swapArray) {
			  swap(imgRef, 'off');
		}
		swap(imgName, onoff);
	}
}

function popWindow(URL, name, x, y) {
    attributes = "'toolbar=no,width=" + x + ",height=" + y + ",left=5,top=5'";
    bWindow = window.open(URL,name,attributes);    
}