$(document).ready(function(){
	$('.index .item img').each(function () {
    $(this).wrap("<a href=''></a>");
  });

	// hide scroll buttons initially
	$('.scroll-left').hide();
	$('.scroll-right').hide();
	// make ajax call to load all images on page for later transitions.
	$.ajax({
		type: "GET",
		url: '/galleries/' + $('body').attr('id') +'.js',
		success: function(msg){
			$('#content_pad #image').append(msg);
			addScrollListeners();
			addClickListener();
		}
	});
});
// adds scroll listeners if we need them
function addScrollListeners() {
	var isAnimating = false;
	var amt = 103 * 9;
	var totalPages = Math.ceil( ( $('.index').children('div').length ) / 9 );
	var max = totalPages * amt;
	var min = amt;
	var curPage = 1;
	// show & add listeners if more than one page
	if (totalPages > 1) {
		$('.scroll-left').fadeIn(TWEEN_SPEED);
		$('.scroll-right').fadeIn(TWEEN_SPEED);
		$('.scroll-left img').hide();
		addRightListener();
		addLeftListener();
	}
    else {
        $('.scroll-left').fadeIn(TWEEN_SPEED);
		$('.scroll-right').fadeIn(TWEEN_SPEED);
		$('.scroll-left img').hide();
        $('.scroll-right img').hide();
    }
    // add listener for right scroll btn
	function addRightListener() {
		$('.scroll-right img').bind('click', function(evt) {
			var position = (parseInt($('.index').css('left')) - amt);
			if (position >= -(max - min) && !isAnimating) {
				isAnimating = true;
				curPage++;
				setEnabled('.scroll-left img', true);
				slideScrollTo(position);
			}
			if (curPage == totalPages) setEnabled('.scroll-right img', false);
		});
	}
	// listener for left scroll btn
	function addLeftListener() {
		$('.scroll-left img').bind('click', function(evt) {
			var position = (parseInt($('.index').css('left')) + amt);
			if (position <= 0 && !isAnimating) {
				isAnimating = true;
				curPage--;
				setEnabled('.scroll-right img', true);
				slideScrollTo(position);
			}
			if (curPage == 1) setEnabled('.scroll-left img', false);
		});
	}
	// animates the scroll div
	function slideScrollTo(position) {
		$('.index').animate({'left': position + 'px'}, TWEEN_SPEED * 2, EASE, function() { isAnimating = false; });
	}
	// sets the specified scroll clip to enabled true/false
	function setEnabled(scrollClass, enabled) {
		var scrollElement = $(scrollClass);
		if (enabled) scrollElement.fadeIn(TWEEN_SPEED);
		else scrollElement.fadeOut(TWEEN_SPEED);
	}
}
// adds listener for clicking on thumbnail
function addClickListener() {
	$('.index .item img').bind('click', function(evt) {
		evt.preventDefault();
		// grab selected one
		var id = $(this).attr('id');
		var selected = $('#content_pad #image img#gallery_' + id);
		// return if we are already selected
		if ($(this).parent().parent().parent().hasClass('active')) return;
		// set states
		$('.index-container .index .active').removeClass('active');
		$(this).parent().parent().parent().addClass('active');
        // append image hidden so that IE doesn't flicker, then fade in
		$('#content_pad #image').prepend($(selected).hide());
        $(selected).fadeIn(TWEEN_SPEED);
		// fade out old ones fast
        var da = $('#content_pad #image img');
        for (var i = 0; i < da.length; i++) {
            var el = $(da[i]);
            if (el.attr('id') != selected.attr('id')) el.fadeOut(TWEEN_SPEED);
        }
	});
}