﻿	
var ie =(document.all)?true:false;

function ShowZoom(e) {
    var x = (navigator.appName.substring(0, 3) == "Net") ? e.pageX : event.x + document.documentElement.scrollLeft;
    var y = (navigator.appName.substring(0, 3) == "Net") ? e.pageY : event.y + document.documentElement.scrollTop;
     
    var curleft = curtop = 0;

    var ZoomS = document.getElementById("ZoomOver");
    var ZoomL = document.getElementById("ZoomBigImg");
    var MainImage = document.getElementsByName('mainProductImage')[0];
    var BigImage = document.getElementsByName('ZoomProductImage')[0];

    var PosZoomS = findPos(ZoomS);
    var PosZoomL = findPos(ZoomL);
    var PosMainImage = findPos(MainImage);
    var PosBigImage = findPos(BigImage);

    if (ZoomS != null && ZoomL != null && MainImage != null && BigImage != null) {

        ZoomS.style.display = '';
        ZoomL.style.display = '';
                
        var newY = y - (ZoomS.offsetHeight / 2);
        var newX = x - (ZoomS.offsetWidth / 2);

        if (ie && navigator.appName == 'Opera') {
            posScroll = getScrollingPosition();
            newY += posScroll[1];
            newX += posScroll[0];         
        }

        //Positionnement de la div over de l'image

        if (newY > PosMainImage[1] && (newY + ZoomS.offsetHeight) < (PosMainImage[1] + MainImage.offsetHeight))
            ZoomS.style.top = newY + 'px';
        else {
            if ((newY + ZoomS.offsetHeight) < (PosMainImage[1] + MainImage.offsetHeight)) {
                newY = PosMainImage[1];
                ZoomS.style.top = newY + 'px';
            }
            else {
                newY = (PosMainImage[1] + MainImage.offsetHeight - ZoomS.offsetHeight);
                ZoomS.style.top = newY + 'px';
            }
        }

        if (newX > PosMainImage[0] && (newX + ZoomS.offsetWidth) < (PosMainImage[0] + MainImage.offsetWidth))
            ZoomS.style.left = newX + 'px';
        else {
            if ((newX + ZoomS.offsetWidth) < (PosMainImage[0] + MainImage.offsetWidth)) {
                newX = PosMainImage[0];
                ZoomS.style.left = newX + 'px';
            }
            else 
            {
                newX = (PosMainImage[0] + MainImage.offsetWidth - ZoomS.offsetWidth);
                ZoomS.style.left = newX + 'px';
            }
        }

        //Positionement dans la grande fenetre
        if (BigImage.offsetWidth > 500) {
            newX = (-1 * BigImage.offsetWidth * ((newX - PosMainImage[0]) / MainImage.offsetWidth));
            if ((-newX + 500) < BigImage.offsetWidth)
                BigImage.style.left = newX + 'px';
            else
                BigImage.style.left = -(BigImage.offsetWidth - 500) + 'px';
        }

        if (BigImage.offsetHeight > 350) {
            newY = (-1 * BigImage.offsetHeight * ((newY - PosMainImage[1]) / MainImage.offsetHeight));
            if ((-newY + 350) < BigImage.offsetHeight)
                BigImage.style.top = newY + 'px';
            else
                BigImage.style.top = -(BigImage.offsetHeight - 350) + 'px';
        }
        if (BigImage.offsetWidth <=500) {
            ZoomS.style.width = MainImage.offsetWidth + 'px';
        }
        else {
            ZoomS.style.width = '125px';
        }

        if (BigImage.offsetHeight <= 350)
            ZoomS.style.height = MainImage.offsetHeight + 'px';
        else
            ZoomS.style.height = '97px';

        ZoomL.style.left = (PosMainImage[0] + 270) + 'px';
    }
}

function HideDivZoom() {

    var ZoomS = document.getElementById("ZoomOver");
    var ZoomL = document.getElementById("ZoomBigImg");
    var BigImage = document.getElementsByName('ZoomProductImage')[0];
    
    ZoomS.style.display = 'none';
    ZoomL.style.display = 'none';

    BigImage.style.top = '0px';
    BigImage.style.left = '0px';
}

function HideDivZoom(e) {
    var MainImage = document.getElementsByName('mainProductImage')[0];
    //MainImage.wid
    /*if (navigator.appName == 'Opera') {
        var pos = findPos(MainImage)
        var height = pos[0] + 330;
        var width = pos[1] + 267;
        var x = (navigator.appName.substring(0, 3) == "Net") ? e.pageX : event.x + document.body.scrollLeft;
        var y = (navigator.appName.substring(0, 3) == "Net") ? e.pageY : event.y + document.body.scrollTop;
        if ((x > width) || (x < pos[1]) || (y > height) || (y < pos[0])) {
        }
        else {
            ShowZoom(e);
            return null;
        }
    }*/
    var ZoomS = document.getElementById("ZoomOver");
    var ZoomL = document.getElementById("ZoomBigImg");
    var BigImage = document.getElementsByName('ZoomProductImage')[0];
    
    ZoomS.style.display = 'none';
    ZoomL.style.display = 'none';

    BigImage.style.top = '0px';
    BigImage.style.left = '0px';
}
 
 
 
 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 getScrollingPosition() {
    var position = [0, 0];
    if (typeof window.pageYOffset != 'undefined') {
        position = [
window.pageXOffset,
window.pageYOffset
];
    }
    else if (typeof document.documentElement.scrollTop
!= 'undefined' && document.documentElement.scrollTop > 0) {
        position = [
document.documentElement.scrollLeft,
document.documentElement.scrollTop
];
    }
    else if (typeof document.body.scrollTop != 'undefined') {
        position = [
document.body.scrollLeft,
document.body.scrollTop
];
    }
    return position;
}
