/*
 * Url 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.screenshotPreview = function(){	

	/* CONFIG */

		docHeight = $(document).height();
		winHeight = $(window).height();
		topOffset = Math.round( ($(window).height()-435)/2);
		
		var imgHeight;
		var imgWidth;

		xOffset = 10;
		yOffset = 20;

		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result

	/* END CONFIG */

	$("a.screenshot").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";

		var img = new Image();
		img.src = this.rel;
		
		imgHeight = img.height;
		imgWidth = img.width;
		
		$("body").append("<p id='screenshot'><img src='"+ this.rel +"' alt='url preview' height='" + imgHeight + "' width='" + imgWidth + "' />"+ c +"</p>");								 

		if(e.pageY - imgHeight - yOffset < $(document).scrollTop() ){
			//alert('1 ' + img.height);
			$("#screenshot")
			.css({
				top: (e.pageY + 2) + "px",
				left: (e.pageX + xOffset) + "px"
			 })
			.fadeIn("fast");						
		}
		else{
			//alert('2 ' + img.height);
			$("#screenshot")
			.css({
				top: ( (e.pageY + imgHeight - 30) > ($(document).scrollTop() + winHeight) ? ($(document).scrollTop() + winHeight - imgHeight - 30) : (e.pageY - yOffset - 10 - imgHeight)) + "px",
				left: (e.pageX + xOffset) + "px"
			 })
			.fadeIn("fast");						
		}
    },

	function(){
		this.title = this.t;	
		$("#screenshot").remove();
    });	

	$("a.screenshot").mousemove(function(e){

		if(e.pageY - imgHeight - yOffset < $(document).scrollTop() ){
			$("#screenshot")
			.css({
				top: ( (e.pageY + imgHeight + 30) > ($(document).scrollTop() + winHeight) ? ($(document).scrollTop() + winHeight - imgHeight - 28) : (e.pageY+2)) + "px",
				left: (e.pageX + xOffset) + "px"
			 })
			.fadeIn("fast");						
		}
		else{
			$("#screenshot")
			.css({
				top: (e.pageY - yOffset - 10 - imgHeight) + "px",
				left: (e.pageX + xOffset) + "px"
			 })
			.fadeIn("fast");						
		}

	});			

};


// starting the script on page load
$(document).ready(function(){
	screenshotPreview();
});
