/*
        This script (c) 2000-2001 Ivanopulo / DAMN -- http://www.damn.to
        You're free to use it, but please leave this message intact if you do it.

        Thanks alot to Marek for making this script NN6 compatible

        NN6 notice: It's *VERY* slow when it comes to timers, and I'm making an understatement here!
*/

//
// Yeah, there're alot of those pesky bastards we ought to support :/
var bNetscape4     = false;
var bNetscape6     = false;
var bExplorer4plus = false;
var bOpera5        = false;

if ( (navigator.userAgent.indexOf("Opera 5") > -1) || (navigator.userAgent.indexOf("Opera/5") > -1) )
{
        bOpera5 = true;
}
else if ( navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4" )
{
        bExplorer4plus = true;
}
else if ( navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) == "4" )
{
        bNetscape4 = true;
}
else if ( navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "5" )
{
        bNetscape6 = true;
}

var nn6DivMenu, nn6DivButton; // specially for NN6 to speed up things at least a little

function CheckUIElements()
{
        var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;

        if ( bNetscape4 ) {
                yButtonFrom = document["divLinkButton"].top;
                yButtonTo   = top.pageYOffset + top.innerHeight - 85;
                yMenuFrom   = document["divMenu"].top;
                yMenuTo     = top.pageYOffset + 5;
        }
        else if ( bExplorer4plus ) {
                yButtonFrom = parseInt (divLinkButton.style.top, 10);
                yButtonTo   = document.body.scrollTop + document.body.clientHeight - 75;
                yMenuFrom   = parseInt (divMenu.style.top, 10);
                yMenuTo     = document.body.scrollTop + 5;
        }
        else if ( bNetscape6 ) {
                yButtonFrom = nn6DivButton.style.top.replace(/px/,"");
                yButtonTo   = top.pageYOffset + top.innerHeight - 75;
                yMenuFrom   = nn6DivMenu.style.top.replace(/px/,"");
                yMenuTo     = top.pageYOffset + 5;
        }
        else if ( bOpera5 ) {
//                nn6DivMenu = document.getElementById('divMenu');
                yButtonFrom = nn6DivButton.style.top;
                yButtonTo   = top.pageYOffset + top.innerHeight - 75;
                yMenuFrom   = nn6DivMenu.style.top;
                yMenuTo     = top.pageYOffset + 5;
        }

        timeoutNextCheck = 500;

        if ( Math.abs(yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom ) {
                setTimeout ("CheckUIElements()", timeoutNextCheck);
                return;
        }

        if ( yButtonFrom != yButtonTo ) {

                if ( bNetscape6 )
                        yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 10 );
                else
                        yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 20 );

                if ( yButtonTo < yButtonFrom )
                        yOffset = -yOffset;

                timeoutNextCheck = 10;

                if ( bNetscape4 )
                        document["divLinkButton"].top += yOffset;
                else if ( bExplorer4plus )
                        divLinkButton.style.top = parseInt (divLinkButton.style.top, 10) + yOffset;
                else if ( bOpera5 )
                        nn6DivButton.style.top += yOffset;
                else if ( bNetscape6 ) {
                        nn6DivButton.style.top = eval(nn6DivButton.style.top.replace(/px/,"")) + yOffset;
//                        document.getElementById('divLinkButton').style.top = eval(document.getElementById('divLinkButton').style.top.replace(/px/,"")) + yOffset;
                        timeoutNextCheck = 50;
                }


        }
        if ( yMenuFrom != yMenuTo ) {

                if ( bNetscape6 )
                        yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 10 );
                else
                        yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 30 );

                if ( yMenuTo < yMenuFrom )
                        yOffset = -yOffset;

                timeoutNextCheck = 10;

                if ( bNetscape4 )
                        document["divMenu"].top += yOffset;
                else if ( bExplorer4plus )
                        divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;
                else if ( bOpera5 )
                        nn6DivMenu.style.top += yOffset;
                else if ( bNetscape6 ) {
                        nn6DivMenu.style.top = eval(nn6DivMenu.style.top.replace(/px/,"")) + yOffset;
//                        document.getElementById('divMenu').style.top = eval(document.getElementById('divMenu').style.top.replace(/px/,"")) + yOffset;
                        timeoutNextCheck = 50;
                }

                timeoutNextCheck = 10;
        }

        setTimeout ("CheckUIElements()", timeoutNextCheck);
}

function OnLoad()
{
        var y;

        // we're not gonna be loaded in frames, no sir!
        if ( top.frames.length )
                top.location.href = self.location.href;

        // setting initial UI elements positions
        if ( bNetscape4 ) {
                document["divMenu"].top = top.pageYOffset + 15;
                document["divMenu"].visibility = "visible";
                document["divLinkButton"].top = top.pageYOffset + top.innerHeight - 55;
                document["divLinkButton"].visibility = "visible";
        }
        else if ( bExplorer4plus ) {
                divMenu.style.top = document.body.scrollTop + 50;
                divMenu.style.visibility = "visible";
                divLinkButton.style.top = document.body.scrollTop + document.body.clientHeight - 55;
                divLinkButton.style.visibility = "visible";
                // and fixing incorect css property handling in msie
                bodyText.style.right = -150;
        }
        else if ( bNetscape6 || bOpera5 ) {
                nn6DivMenu = document.getElementById('divMenu');
                nn6DivMenu.style.top = top.pageYOffset + 50;
                nn6DivMenu.style.visibility = "visible";
                nn6DivButton = document.getElementById('divLinkButton');
                nn6DivButton.style.top = top.pageYOffset + top.innerHeight - 55;
                nn6DivButton.style.visibility = "visible";

//                document.getElementById('divMenu').style.top = top.pageYOffset + 50;
//                document.getElementById('divMenu').style.visibility = "visible";
//                document.getElementById('divLinkButton').style.top = top.pageYOffset + top.innerHeight - 55;
//                document.getElementById('divLinkButton').style.visibility = "visible";
        }

        // initializing UI update timer
        CheckUIElements();
        return true;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}