/**********************************************************************************
PopupDescriptions
*   Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*********************************************************************************/

function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
    this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5)?1:0;
    this.ie8=(this.ver.indexOf("MSIE 8")>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6||this.ie7
    this.mac=this.agent.indexOf("Mac")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
}
var bw=new lib_bwcheck()
var lock_flag = '';


/***************************************************************************************
Variables to set:
***************************************************************************************/
OffsetX = -10 //How much from the actual mouse X should the description box appear?
OffsetY = 20 //How much from the actual mouse Y should the description box appear?
ToolTipWidth = 250;
//Makes crossbrowser object.
function makeObj(obj){
    this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0;
    if(!this.evnt) return false
    this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
    this.wref=bw.dom||bw.ie4?this.evnt:bw.ns4?this.css.document:0;
    this.writeIt=b_writeIt;
    this.moveIt = MoveTip;
    return this
}
function MoveTip(type){
    if (lock_flag) return;
    var left = 0;
    var additionalOffsetX = (bw.ie5 || bw.ie6 || bw.ie7 || bw.ie8) ? document.body.scrollLeft : 0;
    var additionalOffsetY = (bw.ie5 || bw.ie6 || bw.ie7 || bw.ie8) ? document.body.scrollTop : 0;

    this.css.top = (descy + OffsetY + additionalOffsetY) + px;
    left = descx + OffsetX - ToolTipWidth;


    left = left + additionalOffsetX;
    if (type =='lock') left = left - 10;
    if (left < additionalOffsetX) left = 0;
    this.css.left = left+px
}
// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function b_writeIt(text){
    if (bw.ns4){this.wref.write(text);this.wref.close()}
    else
    this.wref.innerHTML = text
}

//Capturing mousemove
var descx = 0
var descy = 0
var Tip;
function popmousemove(e){
    descx = (bw.ns4 || bw.ns6) ? e.pageX : event.clientX;
    descy = (bw.ns4 || bw.ns6) ? e.pageY : event.clientY;
    if (Tip) if (Tip.css.visibility == "visible" ){
        Tip.moveIt();
        if (bw.ie6 && !bw.ie7)
            if (TipFrame.css.visibility == "visible" )TipFrame.moveIt();
    }
}


//Shows the messages
function ShowTip(num,type){
    if (lock_flag && type !='force' )return;
    if(Tip){
    Tip.writeIt('<div class="ToolTipCont">'+tipText[num]+'</div>');
        if(bw.ie6 && !bw.ie7){
          TipFrame.writeIt('<div class="ToolTipCont">'+tipText[num]+'</div>');
          var h=TipFrame.wref.firstChild.offsetHeight;
          var w=TipFrame.wref.firstChild.offsetWidth;
          TipFrame.wref.innerHTML = '<iframe name="FrameTip" frameborder="0"  height="'+h+'" width="'+w+'" src="/blank.html"></iframe>';
          window.frames["FrameTip"].document.write('<style>body{margin:0;padding:0;}</style>');
        }
        if(type !='force' ){Tip.moveIt(type);if(bw.ie6 && !bw.ie7)TipFrame.moveIt(type);}
        if(bw.ie6 && !bw.ie7)TipFrame.css.visibility = "visible";
        Tip.css.visibility = "visible";
    }
    if (type =='lock') lock_flag = true;
}
//Hides it
function HideTip(lock ){
    if (lock != true && lock_flag) return;
    if(Tip)Tip.css.visibility = "hidden";
    if(bw.ie6 && !bw.ie7) TipFrame.css.visibility = "hidden";
    lock_flag = false;Tip.writeIt('&nbsp;');
}
function InitTip(){
    if(bw.ns4)document.captureEvents(Event.MOUSEMOVE)
    document.write('<div id="ToolTip" class="ToolTip"></div>')
    Tip = new makeObj('ToolTip')
    document.onmousemove = popmousemove;
    if(bw.ie6 && !bw.ie7){
        document.write('<div id="ToolTipFrame" class="ToolTipFrame"></div>');
        TipFrame = new makeObj('ToolTipFrame');
    }
}
