jQuery(function() {
	var jMagnifier = {'width': 200, 'height': 151};
	jQuery('<div id="jMagnifier" />')
		.width(jMagnifier.width)
		.height(jMagnifier.height)
		.css('position', 'absolute')
		.css('border', '5px solid #ccc')
		.css('z-index', 100)
		//.css('top', 0)
		.hide()
		.appendTo('body');

	jQuery('.jMagnifier').each(function() {
		var large = jQuery(this).attr('longdesc');
		jQuery('#jMagnifier').css('background-image', 'url('+large+')').css('background-repeat', 'no-repeat').css('background-color', '#fff');
	})
	.bind('mousemove', function(e) {
		if (magnifierEnabled())
		{
			var imageOffset = jQuery(this).offset();
			var imgLeft = ((e.pageX - imageOffset.left) / this.width) * 1252 - 80;
			var imgTop = ((e.pageY - imageOffset.top) / this.height) * 1252 - 50;
			if (imgLeft < 1) imgLeft = 0;
			if (imgTop < 1) imgTop = 0;
			jQuery('#jMagnifier')
				.css('left', e.pageX + 10)
				.css('top', e.pageY + 10)
				.css('background-position', '-'+imgLeft+'px -'+imgTop+'px');
		}
	})
	.bind('mouseover', function(e) {
		if (magnifierEnabled())
		{
			jQuery('#jMagnifier').show();
		}
	})
	.bind('mouseout', function(e) {
		if (magnifierEnabled())
		{
			jQuery('#jMagnifier').hide();
		}
	});
	
	function magnifierEnabled()
	{
		return jQuery('#magnifier_switch:checked').length > 0;
	}
});

