/*********************************************************************************************

ALTTXT V1.6
BY: BRIAN GOSSELIN OF SCRIPTASYLUM.COM

INSTRUCTIONS:

1: PUT THESE DIVS IN THE END OF THE BODY AREA:

   <div id="navtxt" class="navtext" style="visibility:hidden; position:absolute; top:0px; left:-400px; z-index:10000; padding:10px"></div>

2: NEXT, PLACE THIS STYLE DECLARATION IN THE HEAD SECTION OF YOUR PAGE (JUST CHANGE YOUR SETTINGS):

   .navtext {
   width:235px;
   font-size:8pt;
   font-family:verdana;
   border-width:2px;
   border-style:outset;
   border-color:#006BAE;
   layer-background-color:#FFF6D9;
   background-color:#FFF6D9;
   color:black;
   }

3: THEN, SET THE 6 SETTINGS BELOW ( dofade, centertext, xoffset, yoffset, mousefollow, and hideDelay ) AS DESIRED.

4: LASTLY ADD THE MOUSEOVER/MOUSEOUT EVENT HANDLERS TO EACH LINK THAT YOU WANT THIS EFFECT FOR:

     EXAMPLE: <a href="scriptasylum.com" onmouseover="writetxt('Popup text')" onmouseout="writetxt(0)">Link text</a>

NOTES:

  > YOU CAN CAUSE A BOX *NOT* TO DISAPPEAR ONCE THE MOUSE LEAVES THE LINK BY SIMPLY OMITTING THE
    onmouseout="writetxt(0)" PART. THIS WILL CAUSE THE CURRENT BOX TO REMAIN VISIBLE. THIS IS BEST
    USED WHEN mousefollow MODE IS DISABLED (SET TO false).

  > YOU CAN SET THE PADDING STYLE ATTRIBUTE *ONLY* IN THE navtxt DIV ITSELF AND *NOT* IN THE STYLE
    SHEET elt THE TOP OF THE PAGE. OTHERWISE NS4 DISPLAYS SOME WEIRD BEHAVIOR. ALSO, THE PADDING ATTRIBUTE
    ONLY HAS AN EFFECT IN IE4+ AND NS6+.

*********************************************************************************************/

var dofade=false;       // ENABLES FADE-IN EFFECT (FOR IE4+ AND NS6 ONLY)

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 xoffset=-100;         // HORIZONTAL PIXEL COUNT FROM CURSOR

var yoffset=25;        // VERTICAL PIXEL COUNT FROM CURSOR

var mousefollow=true; // ENABLES MOUSE FOLLOW MODE WHERE THE BOX CONTINUES TO FOLLOW THE MOUSE. SET TO false TO
                       // LOCK THE BOX WHEREVER IT INITIALLY APPEARS.

var hideDelay=50;     // DELAY IN MILLISECONDS ( 1 SECOND = 1000 MILLISECONDS) FROM WHEN YOU HOVER OUT OF LINK
                       // AND THE BOX DISAPPEARS ONLY WHEN "mousefollow" IS SET TO "false".
                       // THIS WILL GIVE THE USER TIME TO CLICK A LINK OR WHATEVER IN THE BOX BEFORE IT DISAPPEARS.

////////////////////////////// NO NEED TO EDIT BEYOND THIS POINT //////////////////////////////////////

function altProps(){
this.w3c=(document.getElementById)?true:false;
this.ns4=(document.layers)?true:false;
this.ie4=(document.all && !this.w3c)?true:false;
this.ie5=(document.all && this.w3c)?true:false;
this.ns6=(this.w3c && navigator.appName.indexOf("Netscape")>=0 )?true:false;
this.w_y=0;
this.w_x=0;
this.navtxt=null;
this.boxheight=0;
this.boxwidth=0;
this.ishover=false;
this.ieop=0;
this.op_id=0;
this.oktomove=false;
this.dy=0;
}

//var AA=new altProps();

var ATc=null;

function toggle_centertext(){
centertext=!centertext;
}

function toggle_mousefollow(){
mousefollow=!mousefollow;
}

function toggle_dofade(elt){
dofade=!dofade;
if(!dofade)elt.ieop=100;
}


function getwindowdims(elt){
elt.w_y=(elt.ie5||elt.ie4)?document.body.clientHeight:window.innerHeight;
elt.w_x=(elt.ie5||elt.ie4)?document.body.clientWidth:window.innerWidth;
}

function getboxwidth(elt){
if(elt.ns4)elt.boxwidth=(elt.navtxt.document.width)? elt.navtxt.document.width : elt.navtxt.clip.width;
else if(elt.ie4)elt.boxwidth=(elt.navtxt.style.pixelWidth)? elt.navtxt.style.pixelWidth : elt.navtxt.offsetWidth;
else elt.boxwidth=(elt.navtxt.style.width)? parseInt(elt.navtxt.style.width) : parseInt(elt.navtxt.offsetWidth);
}

function getboxheight(elt){
if(elt.ns4)elt.boxheight=(elt.navtxt.document.height)? elt.navtxt.document.height : elt.navtxt.clip.height;
else if(elt.ie4)elt.boxheight=(elt.navtxt.style.pixelHeight)? elt.navtxt.style.pixelHeight : elt.navtxt.offsetHeight;
else elt.boxheight=parseInt(elt.navtxt.offsetHeight);
}

function movenavtxt(x,y,elt){
if(elt.ns4)elt.navtxt.moveTo(x,y);
else{
elt.navtxt.style.left=x+'px';
elt.navtxt.style.top=y+'px';
}}

function getpagescrolly(elt){
if(elt.ie5||elt.ie4)return document.body.scrollTop;
else return window.pageYOffset;
}

function getpagescrollx(elt){
if(elt.ie5||elt.ie4)return document.body.scrollLeft;
else return window.pageXOffset;
}

function writeindiv(text,elt){
	if(elt.ns4){
		elt.navtxt.document.open();
		elt.navtxt.document.write(text);
		elt.navtxt.document.close();
	}
	else elt.navtxt.innerHTML=text;
	}

function writetxt(text, css, id, elt){
	if (elt.navtxt == null)
	{
		return false;
	}
	ATc = elt;
	if(dofade && (elt.ie4||elt.w3c))clearInterval(elt.op_id);
	if(text!=0){
		if(!mousefollow)clearTimeout(elt.dy);
		elt.oktomove=true;
		elt.ishover=true;
		if(elt.ns4)text='<div class="' + css + '">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
		if(elt.w3c||elt.ie4)elt.navtxt.style.textAlign=(centertext)?"center":"left";
		writeindiv(text,elt);
		if(elt.ns4)elt.navtxt.visibility="show";
		else{
		elt.navtxt.style.visibility="visible";
		elt.navtxt.style.display="block";
		}
		getboxheight(elt);
		if((elt.w3c||elt.ie4) && dofade){
		if(elt.ie4||elt.ie5)elt.navtxt.style.filter="alpha(opacity=0)";
		if(elt.ns6)elt.navtxt.style.MozOpacity=0;
		elt.ieop=0;
		elt.op_id=setInterval('incropacity(elt)',50);
		}
	}else{
		if(mousefollow)hideAlttxt(elt);
		else elt.dy=setTimeout('hideAlttxt(elt)',hideDelay);
	}
}

function hideAlttxt(elt){
if(elt.ns4)elt.navtxt.visibility="hide";
else{
elt.navtxt.style.display="none";
elt.navtxt.style.visibility="hidden";
}
movenavtxt(-elt.boxwidth-10,0,elt);
writeindiv('',elt);
}

function incropacity(elt){
if(elt.ieop<=100){
elt.ieop+=7;
if(elt.ie4||elt.ie5)elt.navtxt.style.filter="alpha(opacity="+elt.ieop+")";
if(elt.ns6)elt.navtxt.style.MozOpacity=elt.ieop/100;
}else clearInterval(elt.op_id);
}

function moveobj(evt){
mx=(ATc.ie5||ATc.ie4)?event.clientX:evt.pageX;
my=(ATc.ie5||ATc.ie4)?event.clientY:evt.pageY;
if(ATc.ishover && ATc.oktomove){
margin=(ATc.ie4||ATc.ie5)?5:25;
if(ATc.ns6)if(document.height+27-window.innerHeight<0)margin=15;
if(ATc.ns4)if(document.height-window.innerHeight<0)margin=10;
if(ATc.ns4||ATc.ns6)mx-=getpagescrollx(ATc);
if(ATc.ns4)my-=getpagescrolly(ATc);
xoff=mx+xoffset;
yoff=(my+ATc.boxheight+yoffset-((ATc.ns6)?getpagescrolly(ATc):0)>=ATc.w_y)? -5-ATc.boxheight-yoffset: yoffset;
movenavtxt( Math.min(ATc.w_x-ATc.boxwidth-margin , Math.max(2,xoff))+getpagescrollx(ATc), my+yoff+((!ATc.ns6)?getpagescrolly(ATc):0), ATc);
if(!mousefollow)ATc.oktomove=false;
}}


//window.onload=function(elt){
function load(elt,cls){
	  ATc = elt;
	  elt.navtxt=(elt.ns4)?document.layers[cls]:(elt.ie4)?document.all[cls]:(elt.w3c)?document.getElementById(cls):null;
	  getboxwidth(elt);
	  getboxheight(elt);
	  getwindowdims(elt);
	  if(elt.ie4||elt.ie5&&dofade)elt.navtxt.style.filter="alpha(opacity=100)";
	  elt.navtxt.onmouseover=function(){
	  if(!mousefollow)clearTimeout(elt.dy);
	  }
	  elt.navtxt.onmouseout=function(){
	  if(!mousefollow)elt.dy=setTimeout('hideAlttxt(elt)',hideDelay);
	  }
	  if(elt.ns4)document.captureEvents(Event.MOUSEMOVE);
	  document.onmousemove=moveobj;
	  //window.onresize=getwindowdims(elt);
}