function showSource(id){
	var text = getContent(id);
//alert(text);
	writetxt(text);
}

function getContent(source_id){
	var source_text = eval("document.all."+source_id);
	var text = source_text.innerHTML;
	var new_text = text.replace(" class=htm_list","");
	var new_text = new_text.replace("<p>","");
	var new_text = new_text.replace("</p>","");
	return new_text;
}

function hideSource(){
	writetxt(0);
}

var scroll=false;	// enables popup to track with mouse movement.
var dofade=false;     // ENABLES FADE-IN EFFECT FOR IE4+ AND NS6 ONLY
var center=false;     // CENTERS THE BOX UNER THE MOUSE, OTHERWISE DISPLAYS BOX TO THE RIGHT OF THE MOUSE
var centertext=false; // CENTERS THE TEXT INSIDE THE BOX. YOU CAN'T SIMPLY DO THIS VIA STYLE BECAUSE OF NS4.
                     // OTHERWISE, TEXT IS LEFT-JUSTIFIED. 

var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var IE4 = (document.all && !document.getElementById)? true : false;
var IE5 = (document.getElementById && document.all)? true : false;
var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var W3C = (document.getElementById)? true : false;
var w_y, w_x, navtxt, boxheight, boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims(){
	w_y = (NS4||NS6)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
	w_x = (NS4||NS6)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth(){
	if (NS4) boxwidth=(navtxt.document.width)? navtxt.document.width : navtxt.clip.width;
	if (IE5||IE4) boxwidth=(navtxt.style.pixelWidth)? navtxt.style.pixelWidth : navtxt.offsetWidth;
	if (NS6) boxwidth=(navtxt.style.width)? parseInt(navtxt.style.width) : parseInt(navtxt.offsetWidth);
}

function getboxheight(){
	if (NS4) boxheight=(navtxt.document.height)? navtxt.document.height : navtxt.clip.height;
	if (IE4||IE5) boxheight=(navtxt.style.pixelHeight)? navtxt.style.pixelHeight : navtxt.offsetHeight;
	if (NS6) boxheight=parseInt(navtxt.offsetHeight);
}

function movenavtxt(x,y){
	if (NS4) navtxt.moveTo(x,y);
	if (W3C||IE4){
		navtxt.style.left=x+'px';
		navtxt.style.top=y+'px';
	}
}

function getpagescrolly(){
		if (NS4||NS6) return window.pageYOffset;
		if (IE5||IE4) return document.body.scrollTop;
}

function getpagescrollx(){
		if (NS4||NS6) return window.pageXOffset;
		if (IE5||IE4) return document.body.scrollLeft;
}

function writeindiv(text){
	if (NS4){
		navtxt.document.open();
		navtxt.document.write(text);
		navtxt.document.close();
	}
	if (W3C||IE4) navtxt.innerHTML=text;
}

function writetxt(text){
	if (isloaded){
		if (text!=0){
			ishover=true;
			if (NS4) text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
			writeindiv(text);
			getboxheight();
			if ((W3C || IE4) && dofade){
				ieop=0;
				incropacity();
			}
		}else{
			if (NS4) navtxt.visibility="hide";
			if (IE4||W3C){
				if (dofade) clearTimeout(op_id);
				navtxt.style.visibility="hidden";
			}
			writeindiv('');
			ishover=false;
		}
	}
}

function incropacity(){
	if (ieop<=100){
		ieop+=7;
		if (IE4 || IE5) navtxt.style.filter="alpha(opacity="+ieop+")";
		if (NS6) navtxt.style.MozOpacity=ieop/100;
		op_id=setTimeout('incropacity()', 50);
	}
}

function moveobj(evt){
	if (isloaded && ishover){
		margin = (IE4||IE5)? 1 : 23;
		if (NS6) if(document.height+27-window.innerHeight<0)margin=15;
		if (NS4) if(document.height-window.innerHeight<0)margin=10;
			//mx=(NS4||NS6)? evt.pageX : (IE5||IE4)? event.clientX : 0;
			//my=(NS4||NS6)? evt.pageY : (IE5||IE4)? event.clientY : 0;
		if (NS4){
			mx=evt.pageX
			my=evt.pageY
		} else if (NS6){
			mx=evt.clientX
			my=evt.clientY
		} else if (IE5){
			mx=event.clientX
			my=event.clientY
		} else if (IE4){
			mx=0
			my=0
		}
		if (NS4){
			mx-=getpagescrollx();
			my-=getpagescrolly();
		}
		xoff=(center)? mx-boxwidth/2 : mx+5;
		yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 30;
		movenavtxt( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx() , my+yoff+getpagescrolly());
		if (NS4) navtxt.visibility="show";
		if (W3C||IE4) navtxt.style.visibility="visible";
	}
}


if (NS4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=moveobj;
window.onload = function(){
  navtxt = (NS4)? document.layers['navtxt'] : (IE4)? document.all['navtxt'] : (W3C)? document.getElementById('navtxt') : null;
  getboxwidth();
  getboxheight();
  getwindowdims();
  isloaded = true;
  if ((W3C || IE4) && centertext) navtxt.style.textAlign="center";
  if (W3C) navtxt.style.padding='4px';
  if (IE4 || IE5 && dofade) navtxt.style.filter="alpha(opacity=0)";
}


window.onresize = getwindowdims;

