///////////////////////////////////////////////////////////////////////////////////////////////////////////// // // 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=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. ////////////////////////////// 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(isloaded){ if(text!=0){ ishover=true; if(NS4)text=''; 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;