/*
* jQuery Gallery Script
* Built by Jesse Wagstaff for the gallery at marywagstaff.com
*
*/

$(document).ready(function() {
	$("#gallery a").quickpaginate({ perpage: 12, showcounter: false, pager : $("#gallery_nav") });

	imagePreloader = new Image;

	$("#gallery a").click(function() {
		
		if (!$('#gallery a').hasClass('current')) {
			$("#overlay").fadeIn('slow', function() {
				$("#mininav").show();
			});
			$("#gallery, #nav, #gallery_nav").hide();
		}
		
		$('#gallery a').removeClass('current');
		$(this).addClass('current');
		imagePreloader = new Image;
		
		if ($(this).hasClass('first')) {
			$("#mininav_prev").hide();
		} else {
			$("#mininav_prev").show();
		}
		
		if ($(this).hasClass('last')) {
			$("#mininav_next").hide();
		} else {
			$("#mininav_next").show();
		}
		
		imagePreloader.src = $(this).attr('href');
		window.location = '#' + imagePreloader.src.split('/').pop().split('.')[0];
		$("#overlay_title").html($(this).attr('title'));
		$("img.ajax-loader").css({ visibility: 'visible' });

		if (imagePreloader.complete) {
			processImage();
		}
		else {
			$(imagePreloader).unbind().bind('load', function() {
				processImage();
			});
		}
		
		return false;
	});
	
	$("#mininav_next").click(function() {
		$("#gallery a.current").next().click();
		return false;
	});
	
	$("#mininav_prev").click(function() {
		$("#gallery a.current").prev().click();
		return false;
	});
	
	$(document).unbind('keypress');
	$(document).keydown(function(e) {
		switch(e.keyCode) { 
			case 37: // left arrow 
				$("#gallery_nav:visible .qp_next").click();
				$("#gallery:hidden a.current").prev().click();
			break;
			case 39: // right arrow  
            	$("#gallery_nav:visible .qp_prev").click();
				$("#gallery:hidden a.current").next().click();  
			break;
			case 27: // esc key
			   $("#overlay:visible").click(); 
			break;			
		}   
	});   
	
	$("#overlay,#mininav_return").click(function() {
		$("#gallery").show(1,function(){
			$("#gallery_nav").show();
			$("#overlay").fadeOut('slow', function(){
				$("#content").attr('style','');
				$("#nav").show();
				$("#mininav").hide();
				$("#overlay_image").empty();
			});
		});
		$("#gallery a").removeClass('current');
		window.location = '#';
		return false;
	});
	
	$("#gallery a:last").addClass("last");
	$("#gallery a:first").addClass("first");
	
	var bookmark = document.location.toString().split('#').pop();
	if (bookmark) {
		$('#gallery a[href*="' + bookmark + '"]').click();
	}
	
});

processImage = function() {
	$("#overlay_image").fadeOut("fast", function() {
		$("img.ajax-loader").css({ visibility: 'hidden' });
		$("#overlay_image").empty().append('<img alt="Full Size" src="' + imagePreloader.src + '" />').fadeIn("normal");
	});
	
	$("#content").animate({ height: imagePreloader.height + 40 }, 800 );
	
};