var apikey = 'aeaff4004d1b892ef3948b2b3e6aec1a';
var userid = '44948413%40N00';
var images;
var sets;
var favourites;

$(document).ready(function(){

	$('.loader').show();

	// load recent images
	$.getJSON('http://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key='+apikey+'&user_id='+userid+'&per_page=500&format=json&jsoncallback=?',function(data){
		if (data.stat == 'ok'){
			images = data.photos
		} else {
			$('.menu').after('<div class="error">There was an error loading the most recent photos, please try again.</div>');
			images = false;
			return false;
		}
	});
	
	/*
	// load sets
	$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key='+apikey+'&user_id='+userid+'&format=json&jsoncallback=?',function(data){
		if (data.stat == 'ok'){
			sets = data.photosets
			$(sets.photoset).each(function(i){
				var setid = this.id;
				$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key='+apikey+'&photoset_id='+setid+'&format=json&jsoncallback=?',function(data){
					if (data.stat == 'ok'){
						sets.photoset[i].detail = data.photoset
					} else {
						$('.menu').after('<div class="error">There was an error loading the individual photo sets, please try again.</div>');
						sets.photoset[i].detail = false;
						return false;
					}
				});
			});
		} else {
			$('.menu').after('<div class="error">There was an error loading the photo sets, please try again.</div>');
			sets = false;
			return false;
		}
	});
	*/
	
	// load favourites
	$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key='+apikey+'&user_id='+userid+'&tags=favourite&format=json&jsoncallback=?',function(data){
		if (data.stat == 'ok'){
			favourites = data.photos
		} else {
			$('.menu').after('<div class="error">There was an error loading the favourite photos, please try again.</div>');
			images = false;
			return false;
		}
	});

	
	
	$('#images .menu li a[href=#image-sets]').click(function(){
		$('.menu a').removeClass('selected');
		$('.section').hide();
		$('#sets').empty();
		$('.loader').show();
		$(sets.photoset).each(function(){
			var title = this.title._content;
			var description = this.description._content;
			var setid = this.id;
			var primary = this.primary;
			var photos = this.photos;
			var preview = this.detail.photo[0];
			var preview_title = preview.title;
			var preview_src = 'http://farm'+preview.farm+'.static.flickr.com/'+preview.server+'/'+preview.id+'_'+preview.secret+'_s.jpg';
			$('<li id="'+setid+'"><h2><em>'+title+'</em> '+photos+' photos</h2></li>').click(function(){viewSet($(this).attr('id'))}).appendTo('#sets');
		});
		$('.loader').hide();
		$('#sets').fadeIn();
		$(this).addClass('selected');
		tb_init('a.thickbox');
		return false;
	});
	
});

$(window).load(function(){
	$('.loader').hide();
	loadFavourites();
	$('#images .menu li a[href=#recent-images]').click(function(){
		loadRecent();
	});
	$('#images .menu li a[href=#favourite-images]').click(function(){
		loadFavourites();
	});
	$('#images .menu li a[href=#images-about]').click(function(){
		$('.menu a').removeClass('selected');
		$('.section').hide();
		$('#images-about').fadeIn();
		$(this).addClass('selected');
		return false;
	});
});

function viewSet(setid){
	var s = setid;
	$('#setgallery ul').empty();
	$(sets.photoset).each(function(i){
		if (this.id==s){
			var set_title = this.title._content;
			var set_description = this.description._content;
			$('#setgallery h2').text(set_title);
			$('#setgallery p').text(set_description);
			$(this.detail.photo).each(function(i){
				var basesrc = 'http://farm'+this.farm+'.static.flickr.com/'+this.server+'/'+this.id+'_'+this.secret
				var title = this.title;
				var imgid = this.id;
				$('#setgallery ul').append('<li><a href="'+basesrc+'_b.jpg" title="'+title+'" id="'+imgid+'" rel="imaginary" class="thickbox"><img src="'+basesrc+'_m.jpg" alt="" /></a></li>');
			});
			$('#setgallery').fadeIn();
		}
	});
	tb_init('a.thickbox');
}

function loadRecent(){
	$('.menu a').removeClass('selected');
	$('.section').hide();
	$('#gallery').empty();
	$('.loader').show();
	var recent = $(images.photo);
	var imglink = [];
	var recentlength = recent.length;
	for (var i = 0; i < 30; i += 1){
		var basesrc = 'http://farm'+recent[i].farm+'.static.flickr.com/'+recent[i].server+'/'+recent[i].id+'_'+recent[i].secret
		var title = recent[i].title;
		var imgid = recent[i].id;
		imglink[i] = '<li><a href="'+basesrc+'_b.jpg" title="'+title+'" rel="imaginary" id="'+imgid+'" class="thickbox"><img src="'+basesrc+'_m.jpg" alt="" /></a></li>';
	}
	$('.loader').hide();
	$('#gallery').append(imglink.join('')).fadeIn();
	$('#images .menu li a[href=#recent-images]').addClass('selected');
	tb_init('a.thickbox');
	return false;
}

function loadFavourites(){
	$('.menu a').removeClass('selected');
	$('.section').hide();
	$('#gallery').empty();
	$('.loader').show();
	$(favourites.photo).each(function(i){
		var basesrc = 'http://farm'+this.farm+'.static.flickr.com/'+this.server+'/'+this.id+'_'+this.secret
		var title = this.title;
		var imgid = this.id;
		$('<li><a href="'+basesrc+'_b.jpg" title="'+title+'" rel="imaginary" id="'+imgid+'" class="thickbox"><img src="'+basesrc+'_m.jpg" alt="" /></a></li>').appendTo('#gallery');
		if ( i == 29 ) return false;
	});
	$('.loader').hide();
	$('#gallery').fadeIn();
	$('#images .menu li a[href=#favourite-images]').addClass('selected');
	tb_init('a.thickbox');
	return false;
}
