function getObj(objID) 
{
  if (typeof(objID) == 'undefined' || !(objID) )
	return;

  if (document.getElementById){return document.getElementById(objID);}
  else if (document.all){return document.all[objID];} 
  else if (document.layers){return document.layers[objID];}
        
};

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}


var popup = { }; 

(function(){ 

var isNN4 = (document.layers && !document.getElementById); 
var x;
var y;
var curpop = '';

popup.popLayer = function(a){
	var object1 = getObj(a);
	if (!object1) return; 

    curpop = a;
    
	if( isNN4) { 
		object1.left = x+15;
		object1.top = y-5;
	} else if (document.all) { 
	    
		object1.style.display = '';
		
		if ( f_clientWidth() < (x + object1.offsetWidth + 20 - f_scrollLeft()) )
			object1.style.pixelLeft = x - object1.offsetWidth - 15;
		else
			object1.style.pixelLeft = x+15; 

        if ( f_clientHeight() < (y + object1.offsetHeight - f_scrollTop()) )
		    object1.style.pixelTop= y - object1.offsetHeight - 5;
		else
		    object1.style.pixelTop=y - 5 ; 
        
	} else { 

		object1.style.display = '';		
		
		if ( f_clientWidth() < (x + object1.offsetWidth - f_scrollLeft() + 20) )
			object1.style.left = (x - 15 - object1.offsetWidth) + "px";
		else
			object1.style.left = (x + 15) + "px";

        if ( f_clientHeight() < (y + object1.offsetHeight - f_scrollTop()) )
            object1.style.top = (y - 5 - object1.offsetHeight) + "px";
        else
		    object1.style.top= (y - 5) + "px"; 
		
	} 
} 

popup.hideLayer = function(a){ 
    curpop = '';
    
	var o = getObj(a);

	if (!o) return;

    if( isNN4 ) 
        o.top = '-500px';
    else if (document.all) 
        o.style.display = 'none';
    else 
        o.style.display = 'none';
} 

function handlerMM(e){ 

x = (typeof(e) == 'undefined') ? event.clientX +f_scrollLeft() : e.pageX; 
y = (typeof(e) == 'undefined') ? event.clientY +f_scrollTop() : e.pageY; 

if (curpop != '')
   popup.popLayer(curpop);
    
  
  
} 
if (document.captureEvents){ document.captureEvents(Event.MOUSEMOVE); } 
document.onmousemove = handlerMM; 

})(); 
