﻿
function getOffsetX(oNode)
{
	var iOffsetLeft = 0;

	while(oNode.offsetParent)
	{
		iOffsetLeft += oNode.offsetLeft;
		oNode = oNode.offsetParent;
	}

	iOffsetLeft += document.body.offsetLeft;

	return iOffsetLeft;
}

function getOffsetY(oNode)
{
	var iOffsetTop = 0;

	while(oNode.offsetParent)
	{
		iOffsetTop += oNode.offsetTop;
		oNode = oNode.offsetParent;
	}

	iOffsetTop += document.body.offsetTop;
	
	return iOffsetTop;
}

function showCatalogImageDetail(triggerID, imgSourcePath,imgFilename,imgCaption)
{
    var currentX = 0;
    var currentY = 0;
    var XOffset = 0;
    var YOffset = 0;
    var e;
    var i = 0;
    var imgDetail = dId('ImageDetailPanel');
    var imgTrigger = dId(triggerID);
    
    if(imgDetail)
    {
        if (!e) e = window.event;  // IE Event Model        
        
        if(e)
        {
	        if (document.addEventListener) 
	        {
			    XOffset = window.pageXOffset;
			    YOffset = window.pageYOffset;
	        } 
	        else 
	        {
			    XOffset = document.body.scrollLeft;
			    YOffset = document.body.scrollTop;
	        }

            if (document.addEventListener) 
            { 
                document.addEventListener("mouseout", hideCatalogImageDetail, true);
            }else if (document.attachEvent) {
                imgDetail.attachEvent("onmouseout", hideCatalogImageDetail);
            }
            
            dId('imgPreview').src = imgSourcePath;
            
            //imgDetail.style.left = (e.clientX+XOffset) + "px";
            //imgDetail.style.top = (e.clientY+YOffset) + "px";

            window.status = "X=" + (getOffsetX(imgTrigger)-200) + " - Y=" + (getOffsetY(imgTrigger)-200);
            
            currentX = getOffsetX(imgTrigger)-200;
            currentY = getOffsetY(imgTrigger)-200;
            
            if(currentX < 1)
                currentX = 0;
            else if((currentX+400) > screen.availWidth)
                currentX = screen.availWidth-400;
            
            imgDetail.style.left = currentX + "px";
            imgDetail.style.top = (getOffsetY(imgTrigger)-200) + "px";
            
            for(i=0;i<100;i+=1)
            {
            	if (document.addEventListener) {
			        dCss("ImageDetailPanel").opacity = i;
	            } else {
			        dCss("ImageDetailPanel").filter = "alpha(opacity=" + i + ")";
	            }
            }
            
            // And don't let anyone else see this event.
            if (e.stopPropagation) 
                e.stopPropagation( );  // DOM Level 2
            else 
                e.cancelBubble = true;                  // IE

        }
    }
}

function hideCatalogImageDetail()
{
    var imgDetail = dId('ImageDetailPanel');
    
    if(imgDetail)
    {
        imgDetail.style.left = "-1000px";
        imgDetail.style.top = "-1000px";
        
    	if (document.addEventListener) {
	        dCss("ImageDetailPanel").opacity = 0;
        } else {
	        dCss("ImageDetailPanel").filter = "alpha(opacity=0)";
        }
    }
}

function validateGotopage(pagenoField)
{
    var pagenumber = dId(pagenoField);
    
    if(pagenumber)
    {
        if(pagenumber.value == '')
        {
            alert('Invalid page number.');
            return false;            
        }
        else if(isNaN(parseInt(pagenumber.value)))
        {
            alert('Invalid page number.');
            return false;
        }   
        else
            return true;
    }
    else
    {
        alert('Unable to find page number field.');
        return false;    
    }
}