/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//  ALTTXT V1.2
//  BY: BRIAN GOSSELIN OF SCRIPTASYLUM.COM
//  ADDED FADING EFFECT FOR IE4+ AND NS6+ ONLY AND OPTIMIZED THE CODE A BIT.
//  SCRIPT FEATURED ON DYNAMIC DRIVE (http://www.dynamicdrive.com) 




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 g_bShowHelp=true;	// Global show help text flag.


////////////////////////////// NO NEED TO EDIT BEYOND THIS POINT //////////////////////////////////////

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;
	}
}

//**** END UTILITY FUNCTIONS ****//

function writetxt(text)
{
	if (g_bShowHelp == true)
	{
		if(isloaded)
		{
			if(text!=0)
			{
				ishover=true;
				if(NS4)
				{
					text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
				}
					
				writeindiv(text);
				//writeindiv("<table width='100%' border='1'><tr><td align='right'>HELLO</td></tr></table>");
				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()', 1);
	}
}

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;



