/*
 * 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(){		
	$("a.screenshot").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<div id='screenshot'><img src='"+ this.rel +"' alt='Image preview' />"+ c +"</div>");	
		movingTooltip(this, e);
    },
	function(){
		this.title = this.t;	
		$("#screenshot").remove();
    });	
	$("a.screenshot").mousemove(function(e){
		movingTooltip(this, e);
	});			
};

function movingTooltip($element, event)
{
	var img = new Image();
	img.src = $element.rel;
	
	var borderTop = $(window).scrollTop();
	var borderRight = $(window).width();
	var leftPos;
	var topPos;
	var xOffset = 25;
	var yOffset = 20;
	
	if ((borderRight - (xOffset * 2)) >= (img.width + event.pageX)) {
		leftPos = event.pageX + xOffset;
	} else {
		leftPos = event.pageX - (img.width) - xOffset;
	}
	
	if ((borderTop + (yOffset * 2)) >= (event.pageY - img.height)) {
		topPos = borderTop + yOffset;
	} else {
		topPos = event.pageY - img.height - yOffset;
	}
	
	//alert('image width: ' + img.width + ' image height: ' + img.height);
	//alert('pageX: ' + e.pageX + '\nyOffset: ' + yOffset + '\nDocument width: ' + $(document).width());
	$("#screenshot")
		.css("top", topPos + "px")
		.css("left", leftPos + "px")
		.fadeIn("fast");
}

function preloadPreviews()
{
	var previews = new Array();
	$("a.screenshot").each(function(i) {
		previews[i] = new Image();
		previews[i].src = this.rel;
	});
}

// starting the script on page load
$(document).ready(function(){
	preloadPreviews();
	screenshotPreview();
});