/**********************************************************************************
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.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.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.ie8 || 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;
    if (bw.ie8)
        descy = event.clientY;
    else if (bw.ns4 || bw.ns6 )
        descy = e.pageY;
    else
        descy = event.y;
    
}

var oDesc;
//Shows the messages
function popup(strText){
    if(oDesc)
    {
        var ScreenLimit = screen.width;
        
	    //window.status=strText
		oDesc.writeIt('<div class="PopupDescription">'+ strText +'</div>');
		if(bw.ie5||bw.ie6||bw.ie7||bw.ie8) 
		{

		    //If Popup object name is CellDescriptionQuickSearch, then popup is inside the Iframe
		    //in which case we use a different method to get X and Y locaton of mouse.
			if (oDesc.wref.id == 'CellDescriptionQuickSearch') {
			    descy = event.clientY;
			    descx = event.clientX;
			}
			else {
			    if (!bw.ie8) {
			        descy = descy + document.body.scrollTop;
			        descx = descx + document.body.scrollLeft;
			    }
			}


        }
		
        //If Popup object name is CellDescriptionQuickSearch, then popup is inside the Iframe
        //Get the container DIV to get the width of and check if popup exceeds the bounds of the panel
        //if it does then show it on left side of the text.
        var divObj = window.parent.document.getElementById('QuickSearchPanel');
        if (oDesc.wref.id == 'CellDescriptionQuickSearch' && divObj != null) {
            if (typeof (divObj.width) != 'undefined')
                ScreenLimit = divObj.width.replace('px', '');
            else if (typeof (divObj.style.width) != 'undefined')
                ScreenLimit = divObj.style.width.replace('px', '');
        }
        		
		//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 > ScreenLimit)
		{
		    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.ie8||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);
}

