function getScrollPos(){
  if (window.pageYOffset){
    return {y:window.pageYOffset, x:window.pageXOffset};
  }
  if(document.documentElement && document.documentElement.scrollTop){
    return {y:document.documentElement.scrollTop, x:document.documentElement.scrollLeft};
  }
  if(document.body){
    return {y:document.body.scrollTop, x:document.body.scrollLeft};
  }
  return {x:0, y:0};
}

isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isMSIE=document.all && document.all.item //Microsoft Internet Explorer 4+
isNetscape4=document.layers //Netscape 4.*
isOpera=window.opera //Opera
isOpera5=isOpera && isDOM //Opera 5+
isMSIE5=isDOM && isMSIE && !isOpera //MSIE 5+
isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera

var obj;

function getLayer(layerName, parentLayerName){
  if(isDOM){ return document.getElementById(layerName); }
  if(isMSIE){ return document.all[layerName]; }
  if(isNetscape4){ return eval('document.layers[layerName]'); }
  return false;
}

function ts(e,what){
  mousex = e.clientX;
  mousey = e.clientY;
  pagexoff = 0;
  pageyoff = 0;
  scr=getScrollPos();
  pagexoff = scr['x'];
  pageyoff = scr['y'];
  if(getLayer(what)){
    if(isNetscape4)
      obj = getLayer(what);
    else
      obj = getLayer(what).style;
 	
  	if(obj){
	    leftoff = mousex-pagexoff;
    	obj.left = (mousex+pagexoff)+"px";
  
	    topoff = mousey-pageyoff;
    	if(isOpera && topoff <= 30)
    	  obj.top = mousey + 20;
	    else 
		if( mousey <= 30) 
	        obj.top = (mousey+pageyoff) + 20+"px";
		else 
	      if (isOpera) 
    	    obj.top = mousey + 20+"px";
	    else
    	  obj.top = (mousey+pageyoff) + 20+"px";
   		
		
	    if(isNetscape4)
    	  obj.visibility = 'show';
	    else
    	  obj.visibility = 'visible';
	  }
   }
  return true;
}

function tc(){
  if(obj){
    if(isNetscape4)
      obj.visibility = 'hide';
    else
      obj.visibility='hidden';
  }
  return true
}
