/*
	Thumbnail Zoomer v0.1 by Cancelliere Dario
	http://www.fusionweb.it/
*/

var ZoomDuration = 150;
var ZoomEffect = "linear";
var ZoomWidth = 40;
var ZoomPadding = 10;
var ZoomCounter = 0;
var ZoomCount = 0;

function ZoomThumbnailOver(el)
{
	if (typeof(el) == "undefined")
	{
		el = this;
	}

	else
	{
		el = this;
	}

	if (!ZoomCount)
	{
		ZoomCount = $(".site_zoom").length;
	}

	if (ZoomCounter < ZoomCount)
	{
		return;
	}

	var Top = ($(el).offset().top - $(document).scrollTop()) - ZoomPadding;
	var Left = ($(el).offset().left - $(document).scrollLeft()) - (ZoomPadding / 2);
	var Right = (parseInt($("body").width()) - (Left + parseInt($(el).width()))) - (ZoomPadding);

	$(".site_zoom", el).css("top", Top);
	$(".site_zoom", el).css("left", Left);
	$(".site_zoom", el).css("right", Right);

	//Prevent Overflow
	if (parseInt($(el).offset().top - $(document).scrollTop()) + (parseInt($(".site_zoom", el).height()) + (ZoomPadding * 2)) > parseInt($(window).height()))
	{
		var Diff = (parseInt($(el).offset().top - $(document).scrollTop()) + (parseInt($(".site_zoom", el).height()) + (ZoomPadding * 2)) - parseInt($(window).height())) + (ZoomPadding * 2) + 10;

		Top -= Diff;
	}

	$(".site_zoom", el).show();

	$(".site_zoom", el).css("background-color", "#FFFFFF");

	$(".site_zoom", el).stop(false, true).animate({"top": (Top - (ZoomWidth / 2)) +  "px", "left": (Left - ZoomWidth) +  "px", "right": (Right - ZoomWidth) +  "px"}, ZoomDuration, ZoomEffect, function()
	{
		$(this).css("-moz-box-shadow", "0px 0px 20px #6A6A6A");
		$(this).css("-webkit-box-shadow", "0px 0px 20px #6A6A6A");
		$(this).css("border-width", "1px");
	});
}

function ZoomThumbnailOut(el)
{
	if (typeof(el) == "undefined")
	{
		el = this;
	}

	else
	{
		el = this;
	}

	if (ZoomCounter < ZoomCount)
	{
		return;
	}

	var Top = ($(el).offset().top - $(document).scrollTop()) - ZoomPadding;
	var Left = ($(el).offset().left - $(document).scrollLeft()) - (ZoomPadding / 2);
	var Right = (parseInt($("body").width()) - (Left + parseInt($(el).width()))) - (ZoomPadding);

	$(".site_zoom", el).stop(false, true).animate({"top": Top + "px", "left": Left + "px", "right": Right + "px"}, (ZoomDuration * 2), ZoomEffect);

	$(".site_zoom", el).hide();

	$(".site_zoom", el).css("background-color", "transparent");
	$(".site_zoom", el).css("-moz-box-shadow", "none");
	$(".site_zoom", el).css("-webkit-box-shadow", "none");
	$(".site_zoom", el).css("border-width", "0px");
}

function RefreshZoomThumbnail()
{
	$(".sites .site").unbind("mouseenter").unbind("mouseleave");

	$(window).scroll(function()
	{
		$(".site_zoom").hide();
	});

	$(".sites .site").hoverIntent(
	{
		sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)    
		interval: 80, // number = milliseconds for onMouseOver polling interval    
		over: ZoomThumbnailOver, // function = onMouseOver callback (REQUIRED)    
		timeout: 0, // number = milliseconds delay before onMouseOut    
		out: ZoomThumbnailOut // function = onMouseOut callback (REQUIRED)
	});
}

function IncrementImgCounter()
{
	ZoomCounter++;
}
