// this is a consolidation of all scripting needed by the microfab site,
// done for no other reason than to expedite download time.

/////////////////////////////////////////////////////////////////////////////////////WRITE THE FLOATER STYLE
	//var NS = (document.layers) ? 1 : 0;
	//var IE = (document.all) ? 1: 0;

	var NS;
	var IE;

	var browserName = navigator.appName;
	
	if (browserName == "Netscape") { NS = 1; } else { NS = 0; }
	if (browserName == "Microsoft Internet Explorer") { IE = 1; } else { IE = 0; }

/////////////////////////////////////////////////////////////////////////////////////Floater SCRIPT

	//This page uses the 'Stalker' floating menu JavaScript module by Spotted Antelope, Inc. (http://www.spottedantelope.com).
	//This script is protected by US Copyright law. No portion of it may be re-used, modified or altered without the express written permission
	//of Spotted Antelope, Inc., its agents or assigns. 
	//This script may not be used without this header under any circumstances.
	//For more information, contact Bill Womack (bw@spottedantelope.com)
	//Sorry Bill Womack, but your script sucked, so I had to fix it.
	topOfPagePadding = 128;
	bottomOfPagePadding = 34;
	
	self.onError=null;
	
	currentY = 0;  
	whichIt = null;           
	lastScrollY = 0;
	
	MIN_Y = 0;

	function heartBeat()
	{
		if(IE)
		{
			/*if (typeof(document.nomore) == "undefined") alert() + ", " + typeof(document.body.clientHeight));
			document.nomore = true;*/
			//if (document.body) {
			if (document.readyState == "complete" && typeof(document.body) == "object" && typeof(document.body.clientHeight) == "number") {
				if (document.getElementById("floater").offsetHeight + bottomOfPagePadding > document.body.clientHeight) {
					tmpTop = (topOfPagePadding + document.getElementById("floater").offsetHeight + bottomOfPagePadding - document.body.clientHeight);
					diffY = Math.max(document.body.scrollTop, tmpTop) - tmpTop;
				} else {
					diffY = Math.max(document.body.scrollTop, topOfPagePadding) - topOfPagePadding;
				}
			} else 
				{ return; }
		}
	    if(NS) {
			if (document.getElementById("floater").offsetHeight + bottomOfPagePadding > document.body.clientHeight) {
				tmpTop = (topOfPagePadding + document.getElementById("floater").offsetHeight + bottomOfPagePadding - document.body.clientHeight);
				diffY = Math.max(self.pageYOffset, tmpTop) - tmpTop;
			} else {
				diffY = Math.max(self.pageYOffset, topOfPagePadding) - topOfPagePadding;
			}
		}
		
		if(diffY != lastScrollY)
		{
	        percent = .1 * (diffY - lastScrollY);
			
			if(percent > 0)
			{ percent = Math.ceil(percent); }
	        else
			{ percent = Math.floor(percent); }

			if (IE) {
				var newval = document.getElementById("floater").style.posTop + percent;
	
				if (newval > MIN_Y)
				{ document.getElementById("floater").style.posTop += percent; }
				else
				{ document.getElementById("floater").style.posTop = MIN_Y; }
			}
			
			if (NS) {
				if (document.getElementById("floater").style.top.indexOf("p") != -1) {
					var strPosition = document.getElementById("floater").style.top.indexOf("p");
					var newval = parseInt(document.getElementById("floater").style.top.substring(0, strPosition)) + percent;
				} else {
					var newval = document.getElementById("floater").style.top + percent;
				}
				
				if (newval > MIN_Y) { 
					if (document.getElementById("floater").style.top.indexOf("p") != -1) {
						document.getElementById("floater").style.top = parseInt(document.getElementById("floater").style.top.substring(0, strPosition)) + percent;
					} else {
						document.getElementById("floater").style.top = document.getElementById("floater").style.top + percent;
					}
				}
				else
				{ document.getElementById("floater").style.top = MIN_Y; }
			}
			
	        lastScrollY = lastScrollY + percent;
	    }
	}
	
	action = window.setInterval("heartBeat()",30);
/////////////////////////////////////////////////////////////////////////////////////Floater SCRIPT