var tmr;
var tmr_interval = 3000;

function fancybox_stop() {
	clearInterval(tmr);
} 
function fancybox_play() {
	fancybox_stop();
	tmr = setInterval(function() {
		$.fancybox.next();
	}, tmr_interval);
}

$(document).ready(function() {
	/* Set up gallery slider plugin */
	var slider = $('.gallery').bxSlider({
		controls		: false,
		onBeforeSlide		: function(n, total) {
			$('#bxSlider-paginator .page').html('Page ' + (n+1) + ' / ' + total);
		}
	});
	/* Disable images (by removing "rel" attributes, which are processed by fancybox plugin) in containers added by bxSlider for animation effects */
	$('.gallery > li:first-child a').removeAttr('rel');
	$('.gallery > li:last-child a').removeAttr('rel');
	/* Update paginator text (perform onBeforeSlide event) */
	slider.goToFirstSlide();
	/* Set handers for pagination arrows */
	$('#bxSlider-paginator .next a').click(function() {
		slider.goToNextSlide();
		return false;
	});
	$('#bxSlider-paginator .prev a').click(function() {
		slider.goToPreviousSlide();
		return false;
	});
	/* Set keypress handler catching arrow keys to navigate between wall pages */
	$(document).keyup(function(e) {
		if($('.gallery-wrapper').css('visibility') == 'hidden')
			return;
		switch(e.keyCode) {
			case  39: $(this).find('.next a').trigger('click'); break; // right arrow key
			case  37: $(this).find('.prev a').trigger('click'); break; // left arrow key
		}
	});

	/* Set up fancybox plugin (displaying images) */
	$('a[rel=gallery]').fancybox({
		'overlayShow'		: false,
		'autoScale'		: false,
		'padding'		: 0,
		'margin'		: 0,
		'autoDimensions'	: false,
		'centerOnScroll'	: false,
		'transitionIn'		: 'elastic',
		'transitionOut'		: 'elastic',
		'easingIn'		: 'easeOutBack',
		'easingOut'		: 'easeInBack',
		'titlePosition'		: 'outside',
		'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
			return (title.length ? '<h3>' + title + '</h3>' : '') + '<div class="pagination pagination-gallery pagination-gallery-image"><ul><li class="prev"' + (!currentIndex ? ' style="visibility: hidden" ' : null) +'><a href="#" onclick="$.fancybox.prev();fancybox_stop(); return false;">Prev</a></li><li class="page">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + '</li><li class="next"' + (currentIndex+1 >= currentArray.length ? ' style="visibility: hidden" ' : null) +'><a href="#" onclick="$.fancybox.next(); return false;">Next</a></li><li class="play"><a href="#" onclick="$.fancybox.next();fancybox_play(); return false;">Play</a></li><li class="pause"><a href="#" onclick="fancybox_stop(); return false;">Stop</a></li></ul></div>';
		},
		'onStart'		: function() { 
			$('.gallery-wrapper').fadeOut(400, function() { 
				$(this).css('visibility', 'hidden').show(); 
			}).parent('.content').css('height', '474px');  
		},
		'onClosed'		: function() { fancybox_stop(); $('.gallery-wrapper').hide().css('visibility', 'visible').fadeIn().parent('.content').css('height', 'auto'); },
		'onCancel'		: function() { fancybox_stop(); $('.gallery-wrapper').hide().css('visibility', 'visible').fadeIn().parent('.content').css('height', 'auto'); }
	});

	/* Hover effect for the thumbnails */
	$('a[rel=gallery]').mouseover(function() {
		var obj = $('<span class="hover"></span>')
			.width( $(this).width() - 8 )
			.height( $(this).height() - 8 )
			.bind('mouseup', function () {
				$(this).parent('a').trigger('click');
			});
		$(this).append(obj);
	}).mouseleave(function() {
		$(this).find('.hover').remove();
	});
});

