/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//  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=true;     // ENABLES FADE-IN EFFECT FOR IE4+ AND NS6 ONLY
var center=true;     // CENTERS THE BOX UNER THE MOUSE, OTHERWISE DISPLAYS BOX TO THE RIGHT OF THE MOUSE
var centertext=true; // CENTERS THE TEXT INSIDE THE BOX. YOU CAN'T SIMPLY DO THIS VIA STYLE BECAUSE OF NS4.
                     // OTHERWISE, TEXT IS LEFT-JUSTIFIED. 

//GLOSSARY
var gpath = "images/glossary/"
var arc = "<IMG SRC='"+gpath+"arc.gif' WIDTH='49' HEIGHT='52' BORDER='0' >"
var intangle = "<IMG SRC='"+gpath+"intangle.gif' WIDTH='45' HEIGHT='42 BORDER='0'>"
var edge = "<IMG SRC='"+gpath+"edge.gif' WIDTH='43' HEIGHT='43' BORDER='0' ALIGN='LEFT' >"
var extangle = "<IMG SRC='"+gpath+"extangle.gif' WIDTH='62' HEIGHT='54' BORDER='0'>"
var identical = "<IMG SRC='"+gpath+"identical.gif' WIDTH='72' HEIGHT='50' BORDER='0'>"
var equidist = "<IMG SRC='"+gpath+"equidist.gif' WIDTH='47' HEIGHT='44' BORDER='0'>"
var locus = "<IMG SRC='"+gpath+"locus.gif' WIDTH='51' HEIGHT='50' BORDER='0'>"
var semic = "<IMG SRC='"+gpath+"semicircle.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var circumf = "<IMG SRC='"+gpath+"circumference.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var concentric = "<IMG SRC='"+gpath+"concentric.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var arc = "<IMG SRC='"+gpath+"arc.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var radius = "<IMG SRC='"+gpath+"radius.gif' WIDTH='50' HEIGHT='50' BORDER='0'>"
var diameter = "<IMG SRC='"+gpath+"diameter.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var corresponding = "<IMG SRC='"+gpath+"corresponding.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var alternate = "<IMG SRC='"+gpath+"alternate.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var vertically = "<IMG SRC='"+gpath+"vertically.gif' WIDTH='62' HEIGHT='50' BORDER='0'>"
var arrowhead = "<IMG SRC='"+gpath+"arrowhead.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var pentagon = "<IMG SRC='"+gpath+"pentagon.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var hexagon = "<IMG SRC='"+gpath+"hexagon.gif' WIDTH='52' HEIGHT='45' BORDER='0'>"
var octagon = "<IMG SRC='"+gpath+"octagon.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var rectangle = "<IMG SRC='"+gpath+"rectangle.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var side = "<IMG SRC='"+gpath+"side.gif' WIDTH='42' HEIGHT='43' BORDER='0'>"
var square = "<IMG SRC='"+gpath+"square.gif' WIDTH='42' HEIGHT='43' BORDER='0'>"
var triangle = "<IMG SRC='"+gpath+"triangle.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var circle = "<IMG SRC='"+gpath+"circle.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var rightangle = "<IMG SRC='"+gpath+"rightangle.gif' WIDTH='53' HEIGHT='50' BORDER='0'>"
var cube = "<IMG SRC='"+gpath+"cube.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var cuboid = "<IMG SRC='"+gpath+"cuboid.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var cyclic = "<IMG SRC='"+gpath+"cyclic.gif' WIDTH='43' HEIGHT='43' BORDER='0' >"
var dice = "<IMG SRC='"+gpath+"dice.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var curved = "<IMG SRC='"+gpath+"curved.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var straight = "<IMG SRC='"+gpath+"straight.gif' WIDTH='53' HEIGHT='25' BORDER='0'>"
var star = "<IMG SRC='"+gpath+"star.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var trapezium = "<IMG SRC='"+gpath+"trapezium.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var quadrilateral = "<IMG SRC='"+gpath+"quadrilateral.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var intersect = "<IMG SRC='"+gpath+"intersect.gif' WIDTH='56' HEIGHT='44' BORDER='0'>"
var horizontal = "<IMG SRC='"+gpath+"horizontal.gif' WIDTH='71' HEIGHT='35' BORDER='0'>"
var vertical = "<IMG SRC='"+gpath+"vertical.gif' WIDTH='26' HEIGHT='67' BORDER='0'>"
var line = "<IMG SRC='"+gpath+"line.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var parallel = "<IMG SRC='"+gpath+"parallel.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var acute = "<IMG SRC='"+gpath+"acute.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var obtuse = "<IMG SRC='"+gpath+"obtuse.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var equilateral = "<IMG SRC='"+gpath+"equilateral.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var face = "<IMG SRC='"+gpath+"face.gif' WIDTH='43' HEIGHT='43' BORDER='0' >"
var isosceles = "<IMG SRC='"+gpath+"isosceles.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var parallelogram = "<IMG SRC='"+gpath+"parallelogram.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var diagonal = "<IMG SRC='"+gpath+"diagonal.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var perpendicular = "<IMG SRC='"+gpath+"perpendicular.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var rhombus = "<IMG SRC='"+gpath+"rhombus.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var kite = "<IMG SRC='"+gpath+"kite.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var vertex = "<IMG SRC='"+gpath+"vertex.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var polygon = "<IMG SRC='"+gpath+"polygon.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var heptagon = "<IMG SRC='"+gpath+"heptagon.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var scalene = "<IMG SRC='"+gpath+"scalene.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var tetrahedron= "<IMG SRC='"+gpath+"tetrahedron.gif' WIDTH='43' HEIGHT='43' BORDER='0' >"
var concave = "<IMG SRC='"+gpath+"concave.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var reflex = "<IMG SRC='"+gpath+"reflex.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var regular = "<IMG SRC='"+gpath+"regular.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var sector = "<IMG SRC='"+gpath+"sector.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var segment = "<IMG SRC='"+gpath+"segment.gif' WIDTH='43' HEIGHT='41' BORDER='0'>"
var midpoint = "<IMG SRC='"+gpath+"midpoint.gif' WIDTH='46' HEIGHT='54' BORDER='0'>"
var net = "<IMG SRC='"+gpath+"net.gif' WIDTH='43' HEIGHT='43' BORDER='0' >"
var bisector = "<IMG SRC='"+gpath+"bisector.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var rotation = "<IMG SRC='"+gpath+"rotation.gif' WIDTH='76' HEIGHT='49' BORDER='0'>"
var reflection = "<IMG SRC='"+gpath+"reflection.gif' WIDTH='66' HEIGHT='51' BORDER='0'>"
var enlargement = "<IMG SRC='"+gpath+"enlargement.gif' WIDTH='73' HEIGHT='56' BORDER='0'>"
var sphere = "<IMG SRC='"+gpath+"sphere.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var cylinder = "<IMG SRC='"+gpath+"cylinder.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var cone = "<IMG SRC='"+gpath+"cone.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var pyramid = "<IMG SRC='"+gpath+"pyramid.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var prism = "<IMG SRC='"+gpath+"prism.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var chord = "<IMG SRC='"+gpath+"chord.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var tangent = "<IMG SRC='"+gpath+"tangent.gif' WIDTH='43' HEIGHT='43' BORDER='0'>"
var vector = "<IMG SRC='"+gpath+"vector.gif' WIDTH='43' HEIGHT='43' BORDER='0' >"


var dofade=true;       // 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=9;         // HORIZONTAL PIXEL COUNT FROM CURSOR

var yoffset=25;        // VERTICAL PIXEL COUNT FROM CURSOR

var mousefollow=false; // 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=300;     // 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 AT=new altProps();

function toggle_centertext(){
centertext=!centertext;
}

function toggle_mousefollow(){
mousefollow=!mousefollow;
}

function toggle_dofade(){
dofade=!dofade;
if(!dofade)AT.ieop=100;
}


function getwindowdims(){
AT.w_y=(AT.ie5||AT.ie4)?document.body.clientHeight:window.innerHeight;
AT.w_x=(AT.ie5||AT.ie4)?document.body.clientWidth:window.innerWidth;
}

function getboxwidth(){
if(AT.ns4)AT.boxwidth=(AT.navtxt.document.width)? AT.navtxt.document.width : AT.navtxt.clip.width;
else if(AT.ie4)AT.boxwidth=(AT.navtxt.style.pixelWidth)? AT.navtxt.style.pixelWidth : AT.navtxt.offsetWidth;
else AT.boxwidth=(AT.navtxt.style.width)? parseInt(AT.navtxt.style.width) : parseInt(AT.navtxt.offsetWidth);
}

function getboxheight(){
if(AT.ns4)AT.boxheight=(AT.navtxt.document.height)? AT.navtxt.document.height : AT.navtxt.clip.height;
else if(AT.ie4)AT.boxheight=(AT.navtxt.style.pixelHeight)? AT.navtxt.style.pixelHeight : AT.navtxt.offsetHeight;
else AT.boxheight=parseInt(AT.navtxt.offsetHeight);
}

function movenavtxt(x,y){
if(AT.ns4)AT.navtxt.moveTo(x,y);
else{
AT.navtxt.style.left=x+'px';
AT.navtxt.style.top=y+'px';
}}

function getpagescrolly(){
if(AT.ie5||AT.ie4)return document.body.scrollTop;
else return window.pageYOffset;
}

function getpagescrollx(){
if(AT.ie5||AT.ie4)return document.body.scrollLeft;
else return window.pageXOffset;
}

function writeindiv(text){
if(AT.ns4){
AT.navtxt.document.open();
AT.navtxt.document.write(text);
AT.navtxt.document.close();
}
else AT.navtxt.innerHTML=text;
}

function writetxt(text){
if(dofade && (AT.ie4||AT.w3c))clearInterval(AT.op_id);
if(text!=0){
if(!mousefollow)clearTimeout(AT.dy);
AT.oktomove=true;
AT.ishover=true;
if(AT.ns4)text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
if(AT.w3c||AT.ie4)AT.navtxt.style.textAlign=(centertext)?"center":"left";
writeindiv(text);
if(AT.ns4)AT.navtxt.visibility="show";
else{
AT.navtxt.style.visibility="visible";
AT.navtxt.style.display="block";
}
getboxheight();
if((AT.w3c||AT.ie4) && dofade){
if(AT.ie4||AT.ie5)AT.navtxt.style.filter="alpha(opacity=0)";
if(AT.ns6)AT.navtxt.style.MozOpacity=0;
AT.ieop=0;
AT.op_id=setInterval('incropacity()',50);
}}else{
if(mousefollow)hideAlttxt();
else AT.dy=setTimeout('hideAlttxt()',hideDelay);
}}

function hideAlttxt(){
if(AT.ns4)AT.navtxt.visibility="hide";
else{
AT.navtxt.style.display="none";
AT.navtxt.style.visibility="hidden";
}
movenavtxt(-AT.boxwidth-10,0);
writeindiv('');
}

function incropacity(){
if(AT.ieop<=100){
AT.ieop+=7;
if(AT.ie4||AT.ie5)AT.navtxt.style.filter="alpha(opacity="+AT.ieop+")";
if(AT.ns6)AT.navtxt.style.MozOpacity=AT.ieop/100;
}else clearInterval(AT.op_id);
}

function moveobj(evt){
mx=(AT.ie5||AT.ie4)?event.clientX:evt.pageX;
my=(AT.ie5||AT.ie4)?event.clientY:evt.pageY;
if(AT.ishover && AT.oktomove){
margin=(AT.ie4||AT.ie5)?5:25;
if(AT.ns6)if(document.height+27-window.innerHeight<0)margin=15;
if(AT.ns4)if(document.height-window.innerHeight<0)margin=10;
if(AT.ns4||AT.ns6)mx-=getpagescrollx();
if(AT.ns4)my-=getpagescrolly();
xoff=mx+xoffset;
yoff=(my+AT.boxheight+yoffset-((AT.ns6)?getpagescrolly():0)>=AT.w_y)? -5-AT.boxheight-yoffset: yoffset;
movenavtxt( Math.min(AT.w_x-AT.boxwidth-margin , Math.max(2,xoff))+getpagescrollx(), my+yoff+((!AT.ns6)?getpagescrolly():0));
if(!mousefollow)AT.oktomove=false;
}}


window.onload=function(){
  AT.navtxt=(AT.ns4)?document.layers['navtxt']:(AT.ie4)?document.all['navtxt']:(AT.w3c)?document.getElementById('navtxt'):null;
  getboxwidth();
  getboxheight();
  getwindowdims();
  if(AT.ie4||AT.ie5&&dofade)AT.navtxt.style.filter="alpha(opacity=100)";
  AT.navtxt.onmouseover=function(){
  if(!mousefollow)clearTimeout(AT.dy);
  }
  AT.navtxt.onmouseout=function(){
  if(!mousefollow)AT.dy=setTimeout('hideAlttxt()',hideDelay);
  }
  if(AT.ns4)document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove=moveobj;
  window.onresize=getwindowdims;
}

