﻿var x = 0;
var y = 0;
var lastX = 0;
var lastY = 0;
var idTimer = 0;
var offsetX = 0;
var offsetY = 0;
var fltDiv;
var fltImg;

function GetDiv()
{
	if ( fltDiv == undefined )
		fltDiv = document.getElementById("floatingDiv");
	return fltDiv;
};

function GetImg()
{
	if ( fltImg == undefined )
		fltImg = document.getElementById("floatingImg");
	return fltImg;
};

function OnClose()
{
    GetDiv().style.visibility = "hidden";
    GetImg().src = "";
    return true;    
};	

function OnTimer()
{
    clearTimeout(idTimer);

    //document.getElementById("debugpara").innerText += idTimer + " " + x + " " + lastX + " " + y + " " + lastY + "<br />";
    // Get the coordinates
    if ( idTimer && x && y && x > (lastX - 100) && x < (lastX + 100) && y > (lastY - 100) && y < (lastY + 100) )
    {
        var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
        
        idTimer = 0;
		x -= offsetX;
        y = document.all? iebody.scrollTop : pageYOffset		
		y -= 20;
        //GetDiv().style.left = x +"px";
        GetDiv().style.top = y +"px";
        GetDiv().style.visibility = "visible";
        x = y = lastX = lastY = 0;
    }
    else
    	idTimer = setTimeout("OnTimer()", 5000);
    return true;
};

function OnMouseOut()
{
    // kill the timer
    clearTimeout(idTimer);
    idTimer = 0;
    return true;
};

function OnMouseMove(e, img)
{
    //document.getElementById("debugpara").innerHTML += e.clientX + " " + e.clientY + "<br />";
    GetDiv().style.visibility = "hidden";
    
    if ( !e )
        e = window.event;
        
    if ( !idTimer )
    {
        OnMouseOver(e, img);
    }
    else
    if ( e )
    {
        lastX = x;
        lastY = y;
        x = e.clientX;
        y = e.clientY;
    }        
    return true;
};

function OnMouseOver(e, img)
{
    if ( !e )
        e = window.event;
    if ( e != null && img != null )
    {
        var mystr = img.src;
        if ( mystr != null )
        {
            // start the timer
            // replace small with large
            GetImg().src = mystr.replace(/small/i, "Large");
            GetImg().alt = img.alt;
            offsetX = GetImg().width / 2;
            if ( !isNaN(offsetX) ) offsetX = 100;
            offsetY = GetImg().height / 2;
            if ( !isNaN(offsetY) ) offsetY = 100;
            lastX = x = e.clientX;
            lastY = y = e.clientY;
            idTimer = setTimeout("OnTimer()", 2000);
        }
    }
    return true;
};

