
	/* --------------------------
		Product Zoom
	-------------------------- */
	
He.Bootstrap('He.Components.ProductZoom');

He.Components.ProductZoom.IsOpen = false;

He.Components.ProductZoom.ZoneZoom = {
	Width : 278,
	Height : 339,
	Obj : null,
	Ready: false
}

He.Components.ProductZoom.Open = function()
{
	if(!He.Components.ProductZoom.IsOpen && He.Components.ProductZoom.ZoneZoom.Ready)
	{	
		$('div.product_details_options').css('display','none');
		$('div.product_details_zoom').css('display','block');


		if(He.Application.Config.BadBrowser)
		{
			He.Application.FixPng(He.Components.ProductZoom.Draggable[0]);
		}

		He.Components.ProductZoom.IsOpen = true;
		
		// image reference
		var xr	= He.Components.ProductZoom.ZoneZoom.Width;
		var yr	= He.Components.ProductZoom.ZoneZoom.Height;		

		//console.log("%s : %d", 'xr', xr);
		//console.log("%s : %d", 'yr', yr);
		//console.log('===========================');

		// image zoom
		var xz	= He.Components.ProductZoom.Draggable.width();
		var yz	= He.Components.ProductZoom.Draggable.height();
		
		//console.log("%s : %d", 'xz', xz);
		//console.log("%s : %d", 'yz', yz);
		//console.log('===========================');

		var position	= He.Components.ProductZoom.ZoneZoom.Obj.position();
		var offset		= He.Components.ProductZoom.ZoneZoom.Obj.offset();

		He.Components.ProductZoom.ZoneZoom.Obj.mousemove(function(e)
		{
			// relative mouse position
			var xc	= Math.floor(e.pageX - (offset.left));
			var yc	= Math.floor(e.pageY - (offset.top));
			
			// positioning image according to image relation and mouse position
			var xf	= Math.floor(((xz - xr) / xr) * xc) * (-1);
			var yf	= Math.floor(((yz - yr) / yr) * yc) * (-1);


			//He.Components.ProductZoom.Draggable.stop().animate({left:xf+'px', top:yf+'px'},{queue:false, duration:200}) ;

			He.Components.ProductZoom.Draggable.css('left', xf+'px');
			He.Components.ProductZoom.Draggable.css('top', yf+'px');
			
		});
	}
}

He.Components.ProductZoom.OpenNewWindow = function(_href)
{
	i1 = new Image;
	i1.src = _href;
	html = '<html><head><title>Dior</title></head><body style="margin:0; align:center"><img src="'+_href+'"></body></html>';
	popupImage = window.open('','_blank');
	popupImage.document.open();
	popupImage.document.write(html);
	popupImage.document.close()
}

He.Components.ProductZoom.Close = function()
{
	if(He.Components.ProductZoom.IsOpen)
	{
		$('div.product_details_options').css('display','block');
		$('div.product_details_zoom').css('display','none');
		He.Components.ProductZoom.IsOpen = false;
	}
}


He.Components.ProductZoom.LoadImage = function(src)
{
	var img = $('<img src="'+src+'" alt="" id="draggable" />').appendTo('#zone_zoom');
	He.Components.ProductZoom.Draggable = $('#draggable');
	
	He.Components.ProductZoom.ZoneZoom.Ready = true;
}

He.Components.ProductZoom.Init = function()
{
	He.Components.ProductZoom.ZoneZoom.Obj = $('#zone_zoom');
		
	$('#link_zoom').click(function(event)
	{
		event.preventDefault();
		
		if(He.Components.ProductZoom.Draggable)
		{
			if(!He.Application.Config.IBrowser)
			{
				He.Components.ProductZoom.Open();
			}
			else
			{
				He.Components.ProductZoom.OpenNewWindow(event.target);
			}
		}
	});
	
	$('div.product_details_zoom a.close_selector_productuc_sheet').click(function()
	{
		He.Components.ProductZoom.Close();
	});
}
