﻿// This function toggles the display of the floating div
//
// The input parameters are:
//		src = id of the element which contains the copy to be displayed (this allows a single div to be re-used)
//		dest = id of the inner element into which the copy will be copied 
//		div = the id of the outer div which needs to have its display attribute toggled
//		display = the display style i.e. 'none' or 'block'
//		e = the event triggered allowing the cursor coordinates to be calculated
//
function toggleLayer(src,dest,div,display,e)
{
    //toggleLayer('facebook_like_button','facebook_explain_inner','facebook_like_button','none', event)
    
    var cp = document.getElementById(dest);                                       
    var pos = getCoordinates(e);
    var div_content=document.getElementById(src);
    cp.innerHTML = div_content.innerHTML;

    //and offset the y position so that it's away from the underlying anchor on which the mouseover event is attached
    // - this causes flickering in IE
    pos.x += 5;
    pos.y += 10;
    
    var el = document.getElementById(div);                                       
    el.style.left = pos.x + "px";
    el.style.top =  pos.y + "px";
    el.style.display = display;
}

function getCoordinates(e)
{
    
    e = e || window.event;
    var offsetX = 0; var offsetY = 0;
    
    
    
    var point = {x:0, y:0};
    
    if(e.pageX || e.pageY)
    {
        point.x = e.pageX;
        point.y = e.pageY;

    }
    else
    {
        point.x = e.clientX;
        point.y = e.clientY;
    }
    
    if(self.pageYOffset)
    {       
        offsetY = self.pageYOffset;
        offsetX = self.pageXOffset;
    }
    
    
    else if(document.documentElement && document.documentElement.scrollTop)
    {
	        offsetY = document.documentElement.scrollTop;
            offsetX = document.documentElement.scrollLeft;							        
    }
    
    else if(document.body)
    {
	        offsetY = document.body.scrollTop;   
            offsetX = document.body.scrollLeft;	   
    }    
    
    if(document.all)
    {
        point.x += offsetX;
        point.y += offsetY;
    }
    
    return point;									    
}



