/*
 * 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
 * modified to use rel attribute for preview image
 */
  
this.imagePreview = function(){	
	/* CONFIG */
		
		//xOffset = 435;
		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 */
	jQuery("a.preview").hover(function(e){
		this.t = this.title;
		this.title = "";
		var imgURL = jQuery(this).attr('rel') || this.href;
		var c = (this.t != "") ? "<br/>" + this.t : "";
		jQuery("body").append("<p id='preview'><img src='" + imgURL + "' alt='Image preview' />"+ c +"</p>");
		//added to check position within viewport and adjust
		var imgHeight = jQuery("#preview img").height();
		if ((e.clientY - imgHeight) < 0 ) {
			var yPos = (e.pageY - xOffset);
		} else {
			var yPos = (e.pageY - xOffset - imgHeight);
		}
		// end addon
 		jQuery("#preview")
			.css("top",(yPos) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;			
		jQuery("#preview").remove();
		jQuery("#preview").remove(); //just in case :)
    });	
	jQuery("a.preview").mousemove(function(e){
		//added to check position within viewport and adjust
		var imgHeight = jQuery("#preview img").height();
		if ((e.clientY - imgHeight) < 0 ) {
			var yPos = (e.pageY - xOffset);
		} else {
			var yPos = (e.pageY - xOffset - imgHeight);
		}
		// end addon
		jQuery("#preview")
			.css("top",(yPos) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


// starting the script on page load
jQuery(document).ready(function(){
	imagePreview();
});