	var _popupDiv;
    var _popupInterval = -1;
    var _isPopupOpen = false;
    var _popupCaller, _mediaID, _popupHtml, _mediaName;


	function scheduleImagePopup(caller, mediaID,mediaName) 
    {
	
		_popupInterval = setTimeout("showImagePopup()", 0);
    	_popupCaller = caller;
    	_mediaID = mediaID;
		_mediaName = mediaName;
    }
    function descheduleImagePopup(e)    {
       
        if(_isPopupOpen)
    	{
    		if(hitTest(e,_popupDiv) || hitTest(e,_popupCaller)) 
    			return;
    		document.body.removeChild(_popupDiv);
    		_isPopupOpen = false;
    	}
    	else if(_popupInterval != -1) 
    	{
	    	clearInterval(_popupInterval);
    	}
    }
    
    function hitTest(e, obj)
    {
    	var p_m = getMouseXY(e);
    	var p_o = findPos(obj);    	
    	if (document.all?true:false){ // IE
    	    if(p_m[0] < p_o[0] + obj.offsetWidth && p_m[0] > p_o[0] && p_m[1] + getScrollY() < p_o[1] + obj.offsetHeight && p_m[1] + getScrollY() > p_o[1]) {
    		return true;}
    	} else { // other browsers
    	    if(p_m[0] < p_o[0] + obj.offsetWidth && p_m[0] > p_o[0] && p_m[1] < p_o[1] + obj.offsetHeight && p_m[1] > p_o[1]) {
    		return true;}
    	}
    	return false;
    }
    
function getMouseXY(e) {
  if (document.all?true:false) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  return [tempX,tempY];
}
    
    function showImagePopup()
    {
	
    	if(_isPopupOpen)
    		return;		
    
		clearInterval(_popupInterval);
		_isPopupOpen = true;
		
    	var popupHtml = "";
    	popupHtml += "<div style='text-transform: uppercase; font-size: 9px; margin-bottom:5px;'>" + _mediaName +"</div>";
    	popupHtml += "<div class='linkControl'>";
    	popupHtml += "<a href=\"javascript:pr_createPopUp(814,680,true,this,88,'/ImageGallery/ImageDetails.aspx?id=" + _mediaID + "')\" style='text-decoration:none;'>";    	
    	popupHtml += "<img src='/shared/images/misc/bullet.gif' class='linkContolBullet' />";
    	popupHtml += "VIEW DETAILS";
		popupHtml += "</a></div>";
    	popupHtml += "<div class='linkControl' style='padding-bottom:0px; margin-bottom:-10px'>";
    	popupHtml += "<a href=\"javascript:handleAddImage('"+ _mediaID  + "');\" style='text-decoration:none;'>";
    	popupHtml += "<img src='/shared/images/misc/bullet.gif' class='linkContolBullet' />";
    	popupHtml += "ADD TO MY IMAGE FOLDER";
		popupHtml += "</a></div>";
		popupHtml += '<div id="addImageResultsHolder" style="display:none; margin-top:10px"><span>' + LABEL_ADD_IMAGE_RESULTS + '</span></div>';
	    popupHtml += '<div id="addImageErrorHolder" style="display:none; margin-top:10px"><span>' + LABEL_ADD_IMAGE_ERROR + '</span></div></div>';
    	
		_popupDiv = document.createElement("div");
		//changed to white from cream - why won't the css control this?
		_popupDiv.style.backgroundColor = "#ffffff";
		_popupDiv.className = "imagePopup";
		_popupDiv.onmouseout = descheduleImagePopup;
		_popupDiv.innerHTML = popupHtml;
		
		document.body.appendChild(_popupDiv);
		positionPopup(); 
    }

function positionPopup()
{
	var pos = findPos(_popupCaller);
	var tempTop;
	_popupDiv.style.left = (pos[0] + _popupCaller.offsetWidth * 0.5) + "px";
	if(pos[1] > windowHeight() / 2 + getScrollY()) {
		tempTop = (pos[1] - _popupCaller.offsetHeight * 0.7)
		if (tempTop < pos[1]){tempTop = pos[1] - 10; }
		_popupDiv.style.top = tempTop + "px";
	} else {
		_popupDiv.style.top = (pos[1] + _popupCaller.offsetHeight * 0.3) + "px";
	}
}

/*function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}*/

function findPos(obj) {
	
	 return [findPosX(obj),findPosY(obj)];
	}
	
function windowHeight() {
	var myHeight = 0;
	if( typeof( window.innerHeight ) == 'number' ) {
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientHeight ) ) {
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientHeight ) ) {
		myHeight = document.body.clientHeight;
	}
	return myHeight;
}
function getScrollY() {
	var scrOfY = 0;
	if (self.pageYOffset ) {
		scrOfY = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop ){	 // Explorer 6 Strict
		scrOfY = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		scrOfY = document.body.scrollTop;
	}
	return scrOfY;
}
 
 // ----------------------------------------------
// ----------------------------------------------
function findPosX(obj)
{
	var curleft = 0;
	var Addtocurleft = false
	if (obj.offsetWidth <= 75)
	{
	    Addtocurleft = true; 
	}
	if(obj.offsetParent)
	{
		while(1) 
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
			{
				break;
			}
			obj = obj.offsetParent;
		}
	}
	else if(obj.x)
	{
		curleft += obj.x;
	}
	//if (document.all)
	//{
	    if (Addtocurleft)
		curleft += 10;
	//}
	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;
}
