﻿function showPicture(sender, url)
{
    var div = document.createElement('DIV');
    div.id = 'picture';

    var img = new Image();
    img.src = url;
    img.onload = function() 
    {
        adjustToolTip('picture');
    }

    div.style.padding = '3px';
    div.style.backgroundColor = '#fff';
    div.style.border = '1px solid #888';
    div.style.position = 'absolute';
    div.style.top = getOffsetY(sender.firstChild) + 'px';
    div.style.left = getOffsetX(sender.firstChild) + sender.firstChild.offsetWidth + 3 + 'px';
    div.innerHTML = '<img src="' + url + '" border="0" />';
    document.body.appendChild(div);
    
    sender.onmouseout = function()
    {
        try
        {
            document.body.removeChild(div);
        }
        catch (e)
        { }
    }
    
    return false;
}

function adjustToolTip(obj)
{
//    try
//    {
	   var div = document.getElementById(obj);
       var tipOffsetTop = div.offsetTop;
       var tipOffsetHeight = div.offsetHeight;
       var tipBottom = tipOffsetTop + tipOffsetHeight;
       var clientHeight = document.documentElement.clientHeight;
       var yOffset = window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop;
       if (tipBottom > clientHeight + yOffset)
           div.style.top = ((clientHeight + yOffset) - tipOffsetHeight - 5) + 'px';
//    }
//    catch (e)
//    { }
}



function getOffsetX(element)
{
    if (typeof(element.offsetParent) != 'undefined') 
    {
        for (var posX = 0; element; element = element.offsetParent)
        {
            posX += element.offsetLeft;
        }
        return posX;
    } 
    else 
    {
        return element.x;
    }
}

function getOffsetY(element)
{
    if (typeof(element.offsetParent) != 'undefined') 
    {
        for (var posY = 0; element; element = element.offsetParent)
        {
            posY += element.offsetTop;
        }
        return posY;
    } 
    else 
    {
        return element.y;
    }
}

function moveXbySlicePos(x, img) 
    { 
	    if (!document.layers) {
		    var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		    var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		    var par = img;
		    var lastOffset = 0;
		    while(par){
			    if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);
			    if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);
			    if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;
			    par = macIE45 ? par.parentElement : par.offsetParent;
		    }
	    } else if (img.x) x += img.x;
	    return x;
    }
    function moveYbySlicePos(y, img) 
    {
	    if(!document.layers) {
		    var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		    var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		    var par = img;
		    var lastOffset = 0;
		    while(par){
			    if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);
			    if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);
			    if( par.offsetTop != 0 ) lastOffset = par.offsetTop;
			    par = macIE45 ? par.parentElement : par.offsetParent;
		    }		
	    } else if (img.y >= 0) y += img.y;
	    return y;
    }
