$(function(){

	var gallery = {
		
		init : function(){

			gallery.activateGalleries();	
			gallery.activateThumbnails();
			gallery.activateArrows();
			gallery.activatePhoto();

		},
		
		activatePhoto : function(){
			$('.lightbox').click(function(){
			
				var id = $(this).attr('rel');
				
				$.get(	'ajax',
							{	'action' : 'enlarged',
								'id' : id});
								
				return false;
			
			});
			$('.lightbox').lightBox();
		},		
				
		activateGalleries : function(){
			
			$('#galleries a').click(function(){
				$(this).blur();
				
				$('#galleries a').removeClass('selected');
				$(this).addClass('selected');
				
				var gal = $(this).attr('rel');				
				
				$('#photo').slideUp();
				$('#thumbnails').slideUp();
				$('#pageArrows').slideUp();
				$('#description').fadeOut(function(){
				
					$.getJSON(	'ajax',
									{	'action' : 'gallery',
										'gallery' : gal},
									function(json){
										$('#photo').html(json[0]);
										$('#thumbnails').html(json[1]);
										$('#pageArrows').html(json[2]);
										$('#description').html(json[3]);
									
										$('#photo').show();
										$('#thumbnails').slideDown();
										$('#pageArrows').show();
										$('#description').fadeIn();
											
										gallery.activateArrows();
										gallery.activateThumbnails();
										gallery.activatePhoto();						
									});
				
				});
				
				return false;
			});
			
		},
		
		activateThumbnails : function(){
			
			$('#thumbnails a').click(function(){
			
				$(this).blur();
				
				var photo = $(this).attr('rel');
				
				if(photo==$('#magnify').attr('rel')){
					return false;
				}
				
				$('#thumbnails a').removeClass('selected');
				$(this).addClass('selected');
				
				var gal = $('#galleries a.selected').eq(0).attr('rel');
				
				$('#photo').slideUp();
				$('#description').fadeOut(function(){
				
					$.getJSON(	'ajax',
									{	'action' : 'thumbnail',
										'gallery' : gal,
										'photo' : photo},
									function(json){
										$('#photo').html(json[0]);
										$('#description').html(json[1]);
										
										gallery.activatePhoto();

										$('#photo').show();
										$('#description').fadeIn();
									});
									
				});
				
				return false;
			
			});
			
		},
		
		activateArrows : function(){
			
			$('#pageArrows a').click(function(){
			
				$(this).blur();
				
				var pg = $(this).attr('rel');
				var gal = $('#galleries a.selected').eq(0).attr('rel');
				
				$('#thumbnails').slideUp(function(){
				
					$.getJSON(	'ajax',
									{	'action' : 'page',
										'gallery' : gal,
										'p' : pg},
									function(json){
										$('#thumbnails').html(json[0]);
										$('#pageArrows').html(json[1]);
										
										$('#thumbnails').slideDown();
									
										gallery.activateArrows();
										gallery.activateThumbnails();
									});
									
				});
				
				return false;
			
			});
			
		}
		
	}
	
	gallery.init();

});