// position of the tooltip relative to the mouse in pixel //
var offsetx =-168;
var offsety =-2;

var g_bH = false;

function init(p_strId) {
    g_bH = false;
    var l_E = document.getElementById(p_strId);
    if(l_E && document.defaultView) {
if(document.defaultView.getComputedStyle(l_E, 'hover')) {
  g_bH = true;
}
    }
    l_E = null;
  }


function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        {   
            display = 'none';
            position = 'absolute';
            width = '160px';
            left = '0px';
            top = '0px';
        } 
        
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 
var timeout;
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e)
{
    if(document.getElementById)
    {
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
        mousex = (ie5)?event.x:(ns6)?clientX = e.clientX:false;
        mousey = (ie5)?event.y:(ns6)?clientY = e.clientY:false;

        var lixlpixel_tooltip = document.getElementById('tooltip');
        lixlpixel_tooltip.style.left = (mousex+pagex+offsetx) + 'px';
        lixlpixel_tooltip.style.top = (mousey+pagey+offsety) + 'px';
        
        // -- begin iframe background --
        //var IfrRef = document.getElementById('DivShim');
		//IfrRef.style.left = lixlpixel_tooltip.style.left;
		//IfrRef.style.top = lixlpixel_tooltip.style.top;
        // -- end iframe background --
    }
}

function displayHilfeLayer(theImage, theTitle, theMessage){

    g_bH = false;
    /*if(theImage && document.defaultView) {
	if(document.defaultView.getComputedStyle(theImage, 'hover')) {
	  g_bH = true;
	}
    }
    l_E = null;
	*/

	clearTimeout(timeout);
	
	var theText = getHelpTable(theTitle, theMessage);
	
    if(!document.getElementById('hilfelayer')) newelement('hilfelayer');
    var lixlpixel_tooltip = document.getElementById('hilfelayer');
    lixlpixel_tooltip.innerHTML = theText;
    lixlpixel_tooltip.style.display = 'block';
    lixlpixel_tooltip.style.visibility = 'visible';
    
    // -- begin iframe background --
/*	var IfrRef = document.getElementById('DivShim');
	IfrRef.style.width = lixlpixel_tooltip.offsetWidth - 10;
	IfrRef.style.height = lixlpixel_tooltip.offsetHeight;
	IfrRef.style.top = lixlpixel_tooltip.style.top;
	IfrRef.style.left = lixlpixel_tooltip.style.left;
	IfrRef.style.zIndex = lixlpixel_tooltip.style.zIndex - 1;
	IfrRef.style.display = "block";	
	IfrRef.style.visibility = 'visible';*/
	// -- end iframe background --
    
    /*
    if(!g_bH){
    	document.getElementById('tooltip').style.display='block';
    	IfrRef.style.display = "block";	
    }*/
    
    /*
	if (!ie5)
		document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove = getmouseposition;
    */
    
    	var pos = findPos(theImage);
    	
    	/*
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
        mousex = (ie5)?event.x:(ns6)?clientX = e.clientX:false;
        mousey = (ie5)?event.y:(ns6)?clientY = e.clientY:false;
		*/
		
		var x = findPosX(theImage) + offsetx;
		var y = findPosY(theImage)+ offsety;
		
		window.status = x + "; " + y;
		
		//alert(x + "; " + y);
		
        var lixlpixel_tooltip = document.getElementById('hilfelayer');
        lixlpixel_tooltip.style.left = x + 'px';
        lixlpixel_tooltip.style.top = y + 'px';
        
        // -- begin iframe background --
       /* var IfrRef = document.getElementById('DivShim');
		IfrRef.style.left = lixlpixel_tooltip.style.left;
		IfrRef.style.top = lixlpixel_tooltip.style.top; */
        // -- end iframe background --
        
        theImage.onmouseout = removeHilfeLayer;
}


function removeHilfeLayer() {
	//document.getElementById('DivShim').style.display = 'none';
   	document.getElementById('hilfelayer').style.display = 'none';

/*   	
   	if(!g_bH){
   		document.getElementById('DivShim').style.display = 'none';
   		document.getElementById('hilfelayer').style.display = 'none';
   	}*/
}


/*
function exit(event) {

  var current, related;

  if (window.event) {
    current = this;
    related = window.event.toElement;
  }
  else {
    current = event.currentTarget;
    related = event.relatedTarget;
  }

  if (current != related && !contains(current, related)){
    //current.style.visibility = "hidden";
   	document.getElementById('DivShim').style.visibility = 'hidden';
   	document.getElementById('tooltip').style.visibility = 'hidden';
   }
}*/


function contains(a, b) {

  // Return true if node a contains node b.

  while (b.parentNode)
    if ((b = b.parentNode) == a)
      return true;
  return false;
}


function getHelpTable(title, text){
	var table = '';
	table += '<div class="tooltipBackground"><div class="tooltipTitle">' + title + '</div>';
	table += '<div class="tooltipBody">'+ text +'</div></div>';
	return(table);
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}


function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}


function showDiv(divId) {
    if( divId && divId != "" ){
    	document.getElementById(divId).style.visibility = "visible";
    }
}

function hideDiv(divId) {
    if( divId && divId != "" ){
    	document.getElementById(divId).style.visibility = "hidden";
    }
}

function toggleHelpDiv(divId) {
    if( divId && divId != "" ){
        if(document.getElementById(divId)){
            if(document.getElementById(divId).style.visibility == "visible"){
            	document.getElementById(divId).style.visibility = "hidden";
            }else{
                document.getElementById(divId).style.visibility = "visible";
            }
        }
    }
}






