// BROWSER DETECTION ===========================================================================================
	browser = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )))
	ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
	ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))
	
// setup browser-dependent object references
	if (ns4) {
	    layerRef="document.layers.";
	    styleRef="";
	    imageRef="document.images";
			sublayer="";
	} else {
	    layerRef="document.all.";
	    styleRef=".style";
	    imageRef="document.images";
			sublayer="";
	}       


// if the browser is one of the browsers that can handle it...
// setup image arrays, preload images.
	if (browser){
// PRELOAD IMAGES ==============================================================================================
	// image reference variables
		var rollbanner = 0;
		var products = 1;
		var aboutpf = 2;
		var pfpartners = 3;
		var news = 4;
		var support = 5;

// (Primary) Nav rollover text-image array
		var imgText = new Array();
		
		imgText[rollbanner] = new Image(440,73);
		imgText[products] = new Image(440,73);
		imgText[aboutpf] = new Image(440,73);
		imgText[pfpartners] = new Image(440,73);
		imgText[news] = new Image(440,73);
		imgText[support] = new Image(440,73);
	
		imgText[rollbanner].src = "images/default-text.gif"
		imgText[products].src = "images/products-text.gif"
		imgText[aboutpf].src = "images/aboutpf-text.gif"
		imgText[pfpartners].src = "images/pfpartners-text.gif"
		imgText[news].src = "images/news-text.gif"
		imgText[support].src = "images/support-text.gif"
		
		var offButton = new Array();
		var onButton = new Array();
		
		offButton[products] = new Image(88,32);
		offButton[aboutpf] = new Image(88,32);
		offButton[pfpartners] = new Image(88,32);
		offButton[news] = new Image(88,32);
		offButton[support] = new Image(88,32);
		
		onButton[products] = new Image(88,32);
		onButton[aboutpf] = new Image(88,32);
		onButton[pfpartners] = new Image(88,32);
		onButton[news] = new Image(88,32);
		onButton[support] = new Image(88,32);
		
		offButton[products].src = "images/products.gif";
		offButton[aboutpf].src = "images/aboutpf.gif";
		offButton[pfpartners].src = "images/pfpartners.gif";
		offButton[news].src = "images/news.gif";
		offButton[support].src = "images/support.gif";
		
		onButton[products].src = "images/products-on.gif";
		onButton[aboutpf].src = "images/aboutpf-on.gif";
		onButton[pfpartners].src = "images/pfpartners-on.gif";
		onButton[news].src = "images/news-on.gif";
		onButton[support].src = "images/support-on.gif";
	}
	
	function over(item) {
		if (browser) {
			var cmdbutton = '', cmdtext = '';
			if(ns4) {
				cmdbutton = 'document.layers["nav"].';
				cmdtext = 'document.layers["nav"].';
			}
			cmdbutton += imageRef + '["' + item + '"].src = onButton[' + item + '].src;';
			cmdtext += imageRef + '["rollbanner"].src = imgText[' + item + '].src;';

			eval(cmdbutton);
			eval(cmdtext);
		} 
	}
	
	function out(item) {
		if (browser) {
			var cmdbutton = '', cmdtext = '';
			if(ns4) {
				cmdbutton = 'document.layers["nav"].';
				cmdtext = 'document.layers["nav"].';
			}
			cmdbutton += imageRef + '["' + item + '"].src = offButton[' + item + '].src;';
			cmdtext += imageRef + '["rollbanner"].src = imgText[rollbanner].src;';
			eval(cmdbutton);
			eval(cmdtext);
		}
	}
	
	
// UNIVERSAL FUNCTIONS =========================================================================================
	var gOskip = 1; // getObject skip parameter (if used, skips the styleObj tack-on to the object reference
		// This enables getObject to return an object reference capable of being referenced in odd ways,
		// i.e. enabling a programmer to get at the src attribute of an image object
	var gOimage = 2; // Enable image-referencing
	var gOobj = 3; // Return only the object
	var gOshow = 1; // getObject show parameter (for debugging)

	// getObject(object, {layer}, {gOskip/gOimage/gOobj}, {gOshow});
	function getObject(obj, pane) {
		var paneref = ''; // INITIALIZE
		if((pane != '') && (ns4)) {
			paneref = 'document.layers["' + pane + '"]' + '.';
		} else {
			paneref = '';
		}
		if(arguments[2] == 3) {
			return eval(paneref + layerRef + obj);
		}
		if(arguments[2] == 2) {
			return eval(paneref + imageRef + '["' + obj + '"]');
		} else {
			if(typeof obj == "string") {
				return eval(paneref + layerRef + obj + styleRef);
			} else {
				return obj;
			}
		}
	}


	function home() {
		if(browser) {
			var cmdbutton = '';
			if(ns4) {
				cmdbutton = 'document.layers["nav"].';
			}
			cmdbutton += imageRef + '["struts"].src = "images/strutstaps.gif";';
			eval(cmdbutton);
			setTimeout('window.location = "http://www.pageflex.com"', 1);
			return false;
		}
	}

	function overicon() {
		if(browser) {
			var cmdbutton = '';
			if(ns4) {
				cmdbutton = 'document.layers["nav"].';
			}
			cmdbutton += imageRef + '["struts"].src = "images/strutstaps.gif";';
			eval(cmdbutton);
		}
	}

	function outicon() {
		if(browser) {
			var cmdbutton = '';
			if(ns4) {
				cmdbutton = 'document.layers["nav"].';
			}
			cmdbutton += imageRef + '["struts"].src = "images/strutstapsonce.gif";';
			eval(cmdbutton);
		}
	}

	function setMsg(msg) {
		window.status = msg;
		return true;
	}

	function show(obj) {
		var theObj = getObject(obj, '');
		theObj.visibility = "visible";
	}
	
	function hide(obj) {
		var theObj = getObject(obj, '');
		theObj.visibility = "hidden";
	}
	
	function display(obj) {
		var theObj = getObject(obj, '');
		theObj.display = "";
	}
	
	function nodisplay(obj) {
		var theObj = getObject(obj, '');
		theObj.display = "none";
	}
	
	function getObjLeft(obj) {
		var theObj = getObject(obj, '');
		if(ns4) {
			return theObj.left;
		} else {
			return theObj.pixelLeft;
		}
	}
	
	function getObjTop(obj) {
		var theObj = getObject(obj, '');
		if(ns4) {
			return theObj.top;
		} else {
			return theObj.pixelTop;
		}
	}

	function getObjHeight(obj) {
		if (ns4) {
			return obj.clip.width
		} else {
			return obj.clientWidth
		}
	}
	
	function getObjWidth(obj) {
		if (ns4) {
			return obj.clip.width
		} else {
			return obj.clientWidth
		}
	}
	
	function getInsideWindowWidth() {
		if (ns4) {
			return window.innerWidth
		} else {
			return document.body.clientWidth
		}
	}
	
	function getInsideWindowHeight() {
		if (ns4) {
			return window.innerHeight
		} else {
			return document.body.clientHeight
		}
	}
	
	function shiftTo(obj, x, y) {
		var theObj = getObject(obj, '');
		if(ns4) {
			theObj.moveTo(x,y);
		} else if(ie4) {
			theObj.pixelLeft = x;
			theObj.pixelTop = y;
		}
	}

	function centerIt(item, xmod) {
		var obj = getObject(item, '');
		var contentObj = eval(layerRef + item);
		var x = Math.round((getInsideWindowWidth()/2)-(getObjWidth(contentObj)/2));
		if (x < 0) {
			x = 0
		}
		// Following disabled so as not to change object's y-position, which is meant to be fixed
		// var y = Math.round((getInsideWindowHeight()/2)-(getObjHeight(contentObj)/2))
		var y = getObjTop(item);
		shiftTo(obj, (x + xmod), y);
		obj.visibility = "visible";
	}
	
	function handleResize() {
		if (ns4) {
			location.reload();
		}
		if (ie4) {
			center();
		}
	}
	
	function center() {
		var adjusted0 = Math.round((getInsideWindowWidth() / 2) - 320);
		//alert('adjusted0 is ' + adjusted0);
		// normal center-handling via centerIt
		if(ns4) {
			adjusted0 -= 10; // NN needs to shave 10px from the x-pos of adjusted0; why?  who knows...<br>
		}

		if(adjusted0 < 0) {
			adjusted0 = 0;
		}
		shiftTo('nav', adjusted0, 0);
		//shiftTo('nav2', adjusted0, 88);
		//shiftTo('content', adjusted0 + 200, 107);
		foot();
	}

	function foot() {
		//var pkfooterat = document.layers["content"].document.layers["pkfooter"];
		//alert('pkfooter is @ ' + pkfooterat);
		//shiftTo('footer', 0, pkfooter-25);
	}
	
	function setcy() {
		cy = new Date();
		change = getObject('divcy', gOimage);
		change.innerText = cy.getFullYear();
	}

