/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//  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)
//  Modifed by DD for doctype bug on Nov 13th, 2003


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 //////////////////////////////////////

function ietruebody(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

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.opera)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
    w_x=(NS4||NS6||window.opera)? 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 ietruebody().scrollTop;
}

function getpagescrollx(){
    if(NS4||NS6)
        return window.pageXOffset;
    if(IE5||IE4)
        return ietruebody().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='<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<=80){
        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;


