﻿/*
* Image preview script 
* powered by jQuery (http://www.jquery.com)
* 
* original buggy version written by Alen Grakalic (http://cssglobe.com)
* modified by Rik
* 
* for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
*
*/

this.imagePreview = function() {

	/* Cursor to image offset vars: */

	xOffset = 20;
	yOffset = 20;

	/* Preview on hover code: */

	$j("a.preview").hover(
		function(e) {
			var link = $j(this);
			var titleHtml = "";
			
			if(link.data("previewPopup") == undefined)
			{
				if(this.title != "")
				{
					link.data("titleStore", this.title);
					this.title = "";
				
					titleHtml = "<br/>" + link.data("titleStore");
				}
				
				var popup = $j("<p id='preview'><img src='" + this.href + "' alt='Image preview' />" + titleHtml + "</p>");
				
				link.data("previewPopup", popup)
				link.append(popup);
				
				var doFlip = e.pageX < ($j(window).width() / 2);
				
				if(doFlip)
				{
					popup
						.css("top", (e.pageY - yOffset) + "px")
						.css("left", (e.pageX + xOffset) + "px")
						.fadeIn("fast");
				}
				else
				{
					popup
						.css("top", (e.pageY - yOffset) + "px")
						.css("right", ($j(window).width() - (e.pageX - xOffset)) + "px")
						.fadeIn("fast");
				}
			}
		},
		function() {
			var link = $j(this);
			
			if(link.data("previewPopup") != undefined)
			{
				var popup = link.data("previewPopup");
				
				if(link.data("titleStore") != undefined)
				{
					this.title = link.data("titleStore");
					link.removeData("titleStore");
				}
			
				popup.remove();
				link.removeData("previewPopup");
			}
		}
	);
	
	$j("a.preview").mousemove(function(e) {
		var link = $j(this);
		
		if(link.data("previewPopup") != undefined)
		{
			var doFlip = e.pageX < ($j(window).width() / 2);
			var popup = link.data("previewPopup");
			
			if(doFlip)
			{
				popup
					.css("top", (e.pageY - yOffset) + "px")
					.css("left", (e.pageX + xOffset) + "px");
			}
			else
			{
				popup
					.css("top", (e.pageY - yOffset) + "px")
					.css("right", ($j(window).width() - (e.pageX - xOffset)) + "px");
			}
		}
	});
};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();