/**********************************************************************************
PopupDescriptions
*   Copyright (C) 2001 Thomas Brattli
*   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 Thomas Brattli
*********************************************************************************/


//FIX: use client_sniffer.js
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.ie4=(document.all && !this.dom && !this.opera5)?1:0;
  this.ie=this.ie4||this.ie5||this.ie6;
  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_popup=new lib_bwcheck();



/***************************************************************************************
Variables to set:
***************************************************************************************/
//messages=new Array();
//Write your descriptions in here.
//messages[1] = 'Description';
//To have more descriptions just add to the array.

fromX = 10; //How much from the actual mouse X should the description box appear?
fromY = 5; //How much from the actual mouse Y should the description box appear?

//To set the font size, font type, border color or remove the border or whatever,
//change the clDescription class in the stylesheet.

//Makes crossbrowser object.
function makeObj_popup(obj){
  this.evnt=bw_popup.dom? document.getElementById(obj):bw_popup.ie4?document.all[obj]:bw_popup.ns4?document.layers[obj]:0;
  if(!this.evnt) return false;
  this.css=bw_popup.dom||bw_popup.ie4?this.evnt.style:bw_popup.ns4?this.evnt:0;
  this.wref=bw_popup.dom||bw_popup.ie4?this.evnt:bw_popup.ns4?this.css.document:0;
  this.writeIt=b_writeIt;
  return this;
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw_popup.ns4||window.opera?"":"px";

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

//Capturing mousemove
var descx = 0;
var descy = 0;
function popmousemove(e){
  descx=bw_popup.ns4||bw_popup.ns6?e.pageX:event.x;
  descy=bw_popup.ns4||bw_popup.ns6?e.pageY:event.y;
}

var oDesc;
//Shows the messages
function popup(text){
  if(oDesc){
    oDesc.writeIt('<div class="clDescription">'+text+'</div>'); //messages[num]
    if(bw_popup.ie5||bw_popup.ie6) descy = descy+document.body.scrollTop;
    oDesc.css.left = (descx+fromX)+px;
    oDesc.css.top = (descy+fromY)+px;
    oDesc.css.visibility = "visible";
  }
}

//Hides it
function popout(){
  if(oDesc) oDesc.css.visibility = "hidden";
}

//Initialize
function setPopup(){
  if (!document.onmousemove) { //if not already set (in drag.js)
    if(bw_popup.ns4)document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = popmousemove;
  }
  oDesc = new makeObj_popup('divDescription');
}

