(function($) {
$(document).ready(function() {


var GalleryItems = $('#GalleryItems').children('div.item');
var VisibleItems = 5;
var GalleryItemWidth = 106;
var GalleryItemsCount = $(GalleryItems).size();
var GalleryItemsWidth = GalleryItemsCount*106;
var MaxScrollSteps = Math.ceil(GalleryItemsCount/VisibleItems);
var currentStep = 1;

if(MaxScrollSteps > 1){
	$('#GalleryUI > div.left > a').click(function() { 
		moveGalleryItems(false);
		this.blur();
		return false;
	});
	$('#GalleryUI > div.right > a').click(function() { 
		moveGalleryItems(true);
		this.blur();
		return false;
	});
}else{
	$('#GalleryUI > div.left > a').click(function() { this.blur(); return false; });
	$('#GalleryUI > div.right > a').click(function() { this.blur();return false; });
}

$("a.group").fancybox({
	'overlayOpacity': 0.8,
	'zoomSpeedIn': 300,
	'zoomSpeedOut': 300,
	'overlayShow': true,
	'centerOnScroll': false,
	'callbackOnStart': function() {
						hideObjectContent();
                  },
	'callbackOnClose': function() {
						showObjectContent();
                  }
});

function moveGalleryItems(dir){
	var ItemsToScroll;
	var ScrollDistance;
	var distanceString;
	if(dir && (currentStep < MaxScrollSteps)){
		currentStep++;		
		if(currentStep*VisibleItems > GalleryItemsCount){
			ItemsToScroll = (GalleryItemsCount-VisibleItems*(currentStep-1));
			ScrollDistance = ItemsToScroll*GalleryItemWidth;
		}else{
			ItemsToScroll = VisibleItems;
			ScrollDistance = ItemsToScroll*GalleryItemWidth;
		}
		distanceString = "-="+ScrollDistance+"px";
		$('#GalleryItems').animate({"left": distanceString}, "fast", "swing");
	}else if(!dir && (currentStep > 1)){
		currentStep--;
		if((currentStep+1)*VisibleItems > GalleryItemsCount){
			ItemsToScroll = (VisibleItems-(VisibleItems*(currentStep+1)-GalleryItemsCount));
			ScrollDistance = ItemsToScroll*GalleryItemWidth;
		}else{
			ItemsToScroll = VisibleItems;
			ScrollDistance = ItemsToScroll*GalleryItemWidth;
		}
		distanceString = "+="+ScrollDistance+"px";
		$('#GalleryItems').animate({"left": distanceString}, "fast", "swing");
	}else{
		return;
	}
}

function hideObjectContent(){
	var replacement = $('div.objectContentReplace');
	var objectWidth = $('div.objectContent').width();
	var objectHeight = $('div.objectContent').height();
	if(!$(replacement).length){
		var replacementTag = '<div class="objectContentReplace">&nbsp;</div>';
		replacement = $('div.objectContent').before(replacementTag);
		$('div.objectContentReplace').css({width:objectWidth,height:objectHeight, "background-color":"#ccc"});
	}else{
		$('div.objectContentReplace').show();
	}	
	$('div.objectContent').hide();
}

function showObjectContent(){
	$('div.objectContentReplace').hide();
	$('div.objectContent').show();
}

})
})(jQuery);