/*
 * Image preview script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 
this.imagePreview = function(){	
	/* CONFIG */
		
		xOffset = 10;
		yOffset = 30;
		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
		
	/* END CONFIG */
	$("a.preview").hover(
		function(e){
			this.t = this.title;
			this.title = "";	
			var c = (this.t != "") ? "<br/>" + this.t : "";
			$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");
			var objEventObject = e;
			$("#preview")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px")
				.fadeIn("fast",function(){
					var moveY = 0;
					var nPreviewHeight = $('#preview').height();
					var nWindowHeight = $(window).height();
					var nDocumentHeight = $(document).height();
					var nScrollOffset = $(document).scrollTop();
					var offset = $('#previewImages').offset({scroll:true});
					if (objEventObject.pageY - xOffset + nPreviewHeight > nScrollOffset + nWindowHeight - 30){
						moveY = nScrollOffset + nWindowHeight - nPreviewHeight - 30;
					} else {
						moveY = objEventObject.pageY - xOffset;
					}
					$("#preview")
						.css("top",moveY + "px")
						.css("left",(objEventObject.pageX + yOffset) + "px");
				});						
		},
		function(){
			this.title = this.t;	
			$("#preview").remove();
		}
	);	
	$("a.preview").mousemove(function(e){
		var moveY = 0;
		var nPreviewHeight = $('#preview').height();
		var nWindowHeight = $(window).height();
		var nDocumentHeight = $(document).height();
		var nScrollOffset = $(document).scrollTop();
		var offset = $('#previewImages').offset({scroll:true});
		if (e.pageY - xOffset + nPreviewHeight > nScrollOffset + nWindowHeight - 30){
			moveY = nScrollOffset + nWindowHeight - nPreviewHeight - 30;
		} else {
			moveY = e.pageY - xOffset;
		}
		$("#preview")
			.css("top",moveY + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});	
	/*$("a.preview").click(function() { 
		return false;
	}); */
}
