var zoomBoxOffset = null;
var bImageLoaded = false;

function showZoom() {
	//alert(sCurrentView);
	//oImage = sImg + '.jpg';
	if (bImageLoaded) {
		document.getElementById("large_watch").onmouseover = '';
		o = document.getElementById('zoom_box');
		oZoomedIn = document.getElementById('zoom_in');	
		if (sCurrentView == '' || sCurrentView == '_main') {
			zoomBoxOffset = getPosition(document.getElementById('large_watch'));
			o.style.display = 'block';
			oZoomedIn.style.display = 'block';
		} else {
			o.style.display = 'none';
			oZoomedIn.style.display = 'none';
		}
	}
}

function hideZoom() {
	o = document.getElementById('zoom_box');
	o.style.display = 'none';
	oZoomedIn = document.getElementById('zoom_in');	
	oZoomedIn.style.display = 'none';
}


function makeZoomDraggable(item){
	if(!item) return;
	item.onmouseover = function(ev){
		ev = ev || window.event;
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		this.style.width = 125 + 'px';
		this.style.height = 150 + 'px';
		//zoomBoxOffset = getPosition(document.getElementById('large_watch'));
		//zoomBoxOffset.x -= item.offsetLeft;
		//zoomBoxOffset.y -= item.offsetTop;
		this.style.cursor = 'hand';
		return false;
	}
}

function zoomDrag(mousePos){
	var newLeft = (mousePos.x - zoomBoxOffset.x);// -4 caused some flickering
	var newTop = (mousePos.y - zoomBoxOffset.y);// -4 caused some flickering
	//document.getElementById("status").innerHTML = '' + newLeft + ',' + newTop;
	var bHide = false;
	if (newLeft >= 273) {
		newLeft = 268;
		bHide = true;
	} else if (newLeft <= -1) {
		newLeft = 0;
		bHide = true;
	} 
	if (newTop >= 390) {
		newTop = 386;
		bHide = true;
	} else if (newTop <= -1) {
		newTop = 0;
		bHide = true;
	} 
	if (bHide) {
		hideZoom();
	} else {
		showZoom();
	}

	
	dragObject.style.top  = newTop + 'px';
	dragObject.style.left = newLeft + 'px';
	
	
	if (newLeft <= 63) {
		newLeft = 0;
	} else if (newLeft >= 205) {
		newLeft = 142;
	} else {
		newLeft = newLeft - 63;
	}
	
	if (newTop <= 75) {
		newTop = 0;
	} else if (newTop >= 311) {
		newTop = 230;
	} else {
		newTop = newTop - 75;
	}
	
	oZoomedIn = document.getElementById('zoom_in');
	zoomOffsetX = ((newLeft * 2.6619) / 378) * 100;
	zoomOffsetY = ((newTop * 2.6619) / 613) * 100;
	oZoomedIn.style.backgroundPosition = '' + zoomOffsetX + '% ' + zoomOffsetY + '%';
	//window.status = 'x=' + newLeft + ' y=' + newTop + '; ' + oZoomedIn.style.backgroundPosition;
}

function loadXLargeImage(sUrl) {
	var i = new Image;
	i.onload = function(){
			var o = document.getElementById('zoom_in');
			//o.appendChild(i);
			o.style.backgroundImage = "url("+sUrl+")";
			makeZoomDraggable(document.getElementById('zoom_box'));
			bImageLoaded = true;
		};
	i.src = sUrl;
	
}