/*
 * 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 = 30;
		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.t +"' alt='Image preview' />"+ c +"</p>");*/
		$("body").append("<p id='preview'><img src='"+ this.t +"' alt='Image preview' id='hove_img'  /></p>");
		/*$("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			*/
			var windowSize = getWindowSize();
			var popupSize = getPopupSize();
			if (windowSize.width + windowSize.scrollLeft < e.pageX + popupSize.width + xOffset){
				$("#preview")
				.css("left", e.pageX - popupSize.width - xOffset)
				.fadeIn("fast");
				
			} else {
				$("#preview")
				.css("left", e.pageX + xOffset)
				.fadeIn("fast");
			}
			if (windowSize.height + windowSize.scrollTop < e.pageY + popupSize.height + yOffset){
				$("#preview").css("top", e.pageY - popupSize.height - yOffset)
				.fadeIn("fast");
			} else {
				$("#preview").css("top", e.pageY + yOffset)
				.fadeIn("slow");
			}
					
    },
	function(){
		this.title = this.t;	
		$("#preview").remove();
    });	
	$("a.preview").mousemove(function(e){
		/*$("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");*/
			
			var windowSize = getWindowSize();
			var popupSize = getPopupSize();
			if (windowSize.width + windowSize.scrollLeft < e.pageX + popupSize.width + xOffset){
				$("#preview").css("left", e.pageX - popupSize.width - xOffset);
			} else {
				$("#preview").css("left", e.pageX + xOffset);
			}
			if (windowSize.height + windowSize.scrollTop < e.pageY + popupSize.height + yOffset){
				$("#preview").css("top", e.pageY - popupSize.height - yOffset);
			} else {
				$("#preview").css("top", e.pageY + yOffset);
			}
	});			
};
//calculate frame size and stuf
function getWindowSize() {
			return {
				scrollLeft: $(window).scrollLeft(),
				scrollTop: $(window).scrollTop(),
				width: $(window).width(),
				height: $(window).height()
			};
		}
		
		function getPopupSize() {
			return {
				width: $("#preview").width(),
				height: $("#preview").height()
			};
		};

// starting the script on page load
$(document).ready(function(){
	imagePreview();
});