

// Make a layer that stays in the same place on screen when scrolling the browser window.
// Version 1.2
// See http://www.mark.ac/help for browser support.

var mySticky;
var theLayer;

// Setup function that runs when the page loads.
	function setup(eID,YVal){
		// Setup variables for sliding.
		lastY=YVal;YOffset=0;staticYOffset=YVal;refreshMS=25;
		bw=new checkBrowser;
		if(bw.ns4||bw.opera){MM_reloadPage(true);}
		var noFix=bw.ie4||bw.ns4||(bw.ns6&&bw.mac)||(bw.macie50)?true:false;
		if (window.attachEvent){fix_bind()}
		else if(noFix){	
			if(bw.ns6){document.getElementById(eID).style.position="absolute";}
			if(bw.macie50){document.getElementById(eID).style.position="absolute";document.getElementById(eID).style.backgroundColor="#ccffcc";}
			if(bw.ns6&&YOffset==0){YOffset=-15}
			mySticky=new makeLayerObj(eID);
			layerSlide(eID)}
		else{
			mySticky=new makeLayerObj(eID);
			mySticky.css.position="fixed";}

		if(!mySticky){mySticky=new makeLayerObj(eID);}
		//mySticky.css.visibility="visible";
	}


// -------------------------
// emulate css 'position: fixed' in IE5+ Win
// code by aclover@1value.com
	fix_elements = new Array();
	
	function fix_event(){
		var i;
		for (i=0; i < fix_elements.length; i++){
			fix_elements[i].style.left = parseInt(fix_elements[i].fix_left)+document.getElementsByTagName('html')[0].scrollLeft+document.getElementsByTagName('body')[0].scrollLeft+'px';
			fix_elements[i].style.top = parseInt(fix_elements[i].fix_top)+document.getElementsByTagName('html')[0].scrollTop+document.getElementsByTagName('body')[0].scrollTop+'px';
		}
	}

	function fix_bind(){
		var i;
		for (i=0; i < document.all.length; i++){
			if (document.all[i].currentStyle.position=='fixed'){
				document.all[i].fix_left = document.all[i].currentStyle.left;
				document.all[i].fix_top = document.all[i].currentStyle.top;
				document.all[i].style.position = 'absolute';
				fix_elements[fix_elements.length] = document.all[i];
				window.attachEvent('onscroll', fix_event);
				window.attachEvent('onresize', fix_event);
			} 
		}
	}
// -------------------------


// -------------------------
// DHTML menu sliding. Requires checkBrowser()
// Based on source at http://www.simplythebest.net/
	function layerSlide(layerID) {
		if(bw.dhtml){
			if(!mySticky){mySticky=new makeLayerObj(layerID);}
			if (bw.ns) {winY = window.pageYOffset;}
			else if (bw.ie) {winY = document.body.scrollTop;}
			if (bw.ie||bw.ns) {
				if (winY!=lastY&&winY>YOffset-staticYOffset){smooth = .3 * (winY - lastY - YOffset + staticYOffset);}
				else if (YOffset-staticYOffset+lastY>YOffset-staticYOffset){smooth = .3 * (winY - lastY - (YOffset-(YOffset-winY)));}
				else{smooth=0}
				if(smooth > 0) {smooth = Math.ceil(smooth);}
				else{smooth = Math.floor(smooth);}
				if (bw.ie){mySticky.css.pixelTop+=smooth;}
				else if (bw.ns){mySticky.css.top=parseInt(mySticky.css.top)+smooth;}
				lastY = lastY+smooth;
				top.window.status=new Date()
				setTimeout('layerSlide("'+layerID+'")', refreshMS)}}}
// -------------------------

// Netscape 4.x browser resize fix
	function MM_reloadPage(init) {
  	if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; top.onresize=MM_reloadPage; }}
  	else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) {location.reload();}}

// Create browser-independent layer and browser objects
	function makeLayerObj(eID){
		if(document.getElementById){this.css=document.getElementById(eID).style}
		else if(document.layers){this.css=document.layers[eID];}
		else if(document.all){this.css=document.all[eID].style;}
		return this
	}
	
	function checkBrowser(){
		this.ver=navigator.appVersion;
		this.name=navigator.appName;
		this.mac=(navigator.platform.toLowerCase().indexOf('mac')>-1)?true:false;
		this.opera=(navigator.userAgent.toLowerCase().indexOf('opera')>-1)?true:false;
		this.dom=document.getElementById?true:false;
		this.ns=(this.name=='Netscape');
		this.ie4=(document.all && !this.dom)?true:false;
		this.ie=(this.name =='Microsoft Internet Explorer'&&!this.opera)?true:false;
		this.ie5=(this.ie && (navigator.userAgent.indexOf("MSIE 5")!=-1))?true:false;
		this.macie50=(this.mac&&this.ie5&&(navigator.userAgent.indexOf("MSIE 5.0")!=-1))?true:false
		this.ns4=(this.ns && parseInt(this.ver) == 4)?true:false;
		this.ns6=((this.name=="Netscape")&&(parseInt(this.ver)==5))?true:false
		this.standards=document.getElementById?true:false;
		this.dhtml=this.standards||this.ie4||this.ns4;
	}
	
	function showMe(eID){
		myFloater=new makeLayerObj(eID)
		myFloater.css.visibility="visible";
	}
	
	function hideMe(eID){
		myFloater=new makeLayerObj(eID)
		myFloater.css.visibility="hidden";
	}
	
	
function MM_displayStatusMsg(msgStr)  { //v3.0
	status=msgStr; document.MM_returnValue = true;
}
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getID(varID)
{
	if(document.all)
	{
		var  layer = document.all[varID].style;
		
	}
	else if(document.layers)
	{
		var  layer = document.ids.varID;
	}
	else
	{
		var  layer = document.getElementById(varID).style;
	}
	return layer;
}
		// We will constantly call this function to check the position
		// of the chaser relative to the window frame, and move it if necessary.
		function flytteren(hover,lag) {
			layer = getID(lag)
			// browser specific way to check amount window has scrolled by.
			targetY = (document.all ? document.body.scrollTop : window.pageYOffset) + hover;
			// browser specific way to check chaser's position.
			currentY = document.all ? layer.style.pixelTop : layer.top

			difference = currentY - targetY;
			decrement = Math.round(difference / 6);
		
			// browser-specific method of moving chaser
			if (document.all)
				layer.style.pixelTop -= decrement
			else
				layer.top -= decrement
		}