/**********************************************************************************
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=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0;
	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.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.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;

}
var bw=new lib_bwcheck();


/***************************************************************************************
Variables to set:
***************************************************************************************/

var PopupWidth = 200; //width in pixels of the popup object (must be the same as in the style sheet)
var fromX = 50; //How much from the actual mouse X should the description box appear?
var fromY = -20; //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 PopupDescription class in the stylesheet.

//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;
	return this;
}

// 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;
function popmousemove(e){descx=bw.ns4||bw.ns6?e.pageX:event.x; descy=bw.ns4||bw.ns6?e.pageY:event.y;}

var oDesc;
//Shows the messages
function popup(strText){
    if(oDesc)
    {
	    //window.status=strText
		oDesc.writeIt('<div class="PopupDescription">'+ strText +'</div>');
		if(bw.ie5||bw.ie6||bw.ie7) 
		{
			descy = descy+document.body.scrollTop;
			descx = descx+document.body.scrollLeft
		}
		
		//Check it isn't going to popup off the screen (rigth) if it is, move it to the left
		//of the mouse.
		if (descx+fromX+PopupWidth+100 > screen.width)
		{
			oDesc.css.left = (descx-fromX-PopupWidth)+px;
		}
		else
			oDesc.css.left = (descx+fromX)+px;
		
		
		// This is if some doctype is specified in the page.
		// a javascript variable is needed in the page 'DocType' to make it work properly.
		var ExtraScroll = 0;
		if (typeof(DocType) != 'undefined') 
		{	
			if(bw.ie5||bw.ie6||bw.ie7||bw.opera5) 
			{
				if( typeof( window.pageYOffset ) == 'number' ) 
					ExtraScroll = window.pageYOffset;
				else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
					ExtraScroll = document.body.scrollTop;
				else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
					ExtraScroll = document.documentElement.scrollTop ;
			}
			else
				ExtraScroll = 0 
				
		}
		
		oDesc.css.top  = ExtraScroll + (descy+fromY) +"px";
			
	//	oDesc.css.top = (descy+fromY)+"px";
		oDesc.css.visibility = "visible";
			
    }
}
//Hides it
function popout(){
	if(oDesc) oDesc.css.visibility = "hidden";
}
function setPopup(DivName){
   	if(bw.ns4)document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = popmousemove;
	oDesc = new makeObj(DivName);
}
