var oBubble=null;
var oBubbleContent=null;
var isIE;
var browserName=navigator.appName; 
var x;
var y;


if (browserName=="Microsoft Internet Explorer")
  isIE=true;
else
  isIE=false;

function ShowBubble(obj,contentID){
		hideAllBubbles();
		oBubble=document.getElementById('bubble');
		oBubbleContent=document.getElementById(contentID);
		
		var oPos = GetTopLeftPosition(obj);
		x=parseInt(oPos.x)
		y=parseInt(oPos.y)
		x=x-300;
		y=y-95;
		oBubble.style.left=x+'px';
		oBubble.style.top=y+'px';
		
		oBubble.className="justopened";
		oBubbleContent.className="open";
}

function isInside(posXa, posYa, elementB, w, h){
	var blnIsInside = false;
	var oPosB = GetTopLeftPosition(elementB);
	var posXb=parseInt(oPosB.x);
	var posYb=parseInt(oPosB.y);
	blnIsInside = ((posXb >= posXa) & (posXb <= (posXa+w)) &  (posYb >= posYa) & (posYb <= (posYa+h)) )
	return blnIsInside; 
	}


function GetTopLeftPosition(element)
{  
    var left = 0;
    var top = 0;

    while (element.offsetParent)
    {
        left += element.offsetLeft;
        top += element.offsetTop;
        element = element.offsetParent;
    }
 
    if (element.x) left = element.x;
    if (element.y) top = element.y;
    var oPos = new Object();
	
    oPos.x = left;
    oPos.y = top;
 
    return oPos;
}

function hideMainBubble(ev){
	var el = ev.srcElement? ev.srcElement : ev.target; 
	if (document.getElementById('bubble').className=='justopened'){
		document.getElementById('bubble').className='open';
		}
	else if(isInside(x, y, el, document.getElementById('bContent').offsetWidth, document.getElementById('bContent').offsetHeight))
		{event.cancel = true;}
	else
		{hideAllBubbles();}
	}

EventUtil.addEventHandler(document,"click",hideMainBubble);

