﻿////////////////////////////////////////
// Zoom functionality
////////////////////////////////////////
var p = null;
var xoomimg = null;
var xoomXfactor = 1;
var xoomYfactor = 1;
var zoomdivHt = 600;
var zoomdivWd = 650;
var toppx = 0;
var leftpx = 0;

function OnMainImageCtrlMouseOver(mainImage,itemType)
{
    try
    {
        var temp = itemType.length;
    }
    catch(err)
    {
        itemType = null;
    }

    //todo: change popup to div
    var zoomimg = null;

    if(p == null)
    {
        zoomimg = document.createElement("DIV");
        zoomimg.style.position="absolute";
        zoomimg.style.overflow="hidden";
        zoomimg.style.border="solid black 1px";
        zoomimg.style.background="White";
        document.body.appendChild(zoomimg);
        p = zoomimg;
        
    }
    else
    {
        zoomimg = p;
    }

    zoomimg.innerHTML = "<img id='xoomimg' src='" + mainImage.src + "' alt='' " +
        "style='position:absolute;top:10px;left:10px;' />";


    var temp = mainImage;
    toppx = 0;
    leftpx = 0;
	if (temp.offsetParent)
	{
		while (temp.offsetParent)
		{
			leftpx += temp.offsetLeft;
			toppx += temp.offsetTop;
			temp = temp.offsetParent;
		}
	}
	else if (temp.x)
	{
		leftpx += temp.x;
		toppx += temp.y;
    }
    toppx -= (document.documentElement.scrollTop ?
		        document.documentElement.scrollTop : document.body.scrollTop);
    leftpx -= (document.documentElement.scrollLeft ?
		        document.documentElement.scrollLeft : document.body.scrollLeft);
    if(itemType == null || itemType == 1)
    {
        p.style.display="";
        p.style.left=leftpx + 270+'px';
        p.style.top=toppx+'px';
        p.style.height=zoomdivHt+'px';
        p.style.width=zoomdivWd+'px';
    }

    xoomimg = p.ownerDocument.getElementById("xoomimg");

    xoomXfactor = xoomimg.width / mainImage.width;
    xoomYfactor = xoomimg.height / mainImage.height;
}

function OnMainImageCtrlOnMouseOut(mainImage)
{
    p.style.display="none";
}
function OnMainImageCtrlOnMouseMove(mainImage,event)
{
    //IE compatibility
    if(event==null)
        event = window.event;
    var imgtop = (event.clientY - toppx) * xoomYfactor;
    var imgleft = (event.clientX - leftpx) * xoomXfactor;

    var lf = imgtop - (zoomdivHt / 2);
    var rt = imgleft - (zoomdivWd / 2);

    lf = imgtop = -1 * lf;
    rt = imgleft = -1 * rt;

    if(xoomimg)
    {
        xoomimg.style.top = imgtop+'px';
        xoomimg.style.left = imgleft+'px';
    }
}


///////////////////////////////////////////
// Matrix attributes mouse hover functions
///////////////////////////////////////////

var origMainImage = null;

function OnAttribImageCtrlMouseOver(attribImage, mainImageId)
{    
    var objMainImage = document.getElementById(mainImageId);
    if(objMainImage !== null)
    {
        origMainImage = objMainImage.src;
        objMainImage.src = attribImage.src;
    }
}

function OnAttribImageCtrlOnMouseOut(mainImageId)
{
    var objMainImage = document.getElementById(mainImageId);
    if(objMainImage !== null && origMainImage !== null)
    {
        objMainImage.src = origMainImage;
        origMainImage = null;
    }
}

