// JavaScript Document

 $(document).ready(function() {
   // do stuff when DOM is ready
   
   $("#weeklyartists").append('<div class="loading"><img src="spinner.gif"></div><div>Loading data from Last.fm</div>');
   $("#overallartists").append('<div class="loading"><img src="spinner.gif"></div><div>Loading data from Last.fm</div>');
   
   lastFmGo();
   
 });
 
 var doFlickr = 2;
 
 function lastFmGo(){
 
   	$.ajax({
		type: "GET",
		url: "last-fm.php?username=sicross",
		dataType: "xml",
		success: function(xmlData)
		{
			inDiv = 'weeklyartists';
			xmlDataSet = xmlData;
			parseLastFm();
		}
	}); 
	
	$.ajax({
		type: "GET",
		url: "last-fm.php?username=sicross&type=overallartists",
		dataType: "xml",
		success: function(xmlData)
		{
			inDiv = 'overallartists';
			xmlDataSet = xmlData;
			parseLastFm();
		}
	}); 
	
	$('.artistlist').load(function(){getFlickr();});
	
 };
   
   function parseLastFm(){
		
		$("#"+inDiv).html('<div class="artistlist"></div>');
		$("#"+inDiv+" .artistlist").hide();
		
		$(xmlDataSet).find("artist").each(function(){			
					
			var pos = $(this).find('chartposition').text();
			var count = $(this).find('playcount').text();
			var mbid = $(this).find('mbid').text();
			var name = $(this).find('name').text();
			var url  = $(this).find('url').text();
			
			var row;
			row = '<div id="'+mbid+'" class="artist">';
			row += '<span class="flickrimg"><img src="lastfm.gif" height="75" width="75"></span>';
			row += '<div class="chartPos">'+pos+'</div>'
			row += '<a href="'+url+'">';
			row += '<span class="artistName">'+name+"</span></a><br />";
			row += '<span class="playCount">Played '+count+" times</span>";
			row += '</div>';
			
			$("#"+inDiv+" .artistlist").append(row);
		
		}) // end of loop through each artist
	
		$("#"+inDiv+" .artistlist").show("slow");
		checkDoFlickr();
   };
   
   function checkDoFlickr(){
		doFlickr = doFlickr - 1;
		if (doFlickr<1) getFlickr();
   }
   
   function getFlickr(){
	   
		// this function inserts an image for each artist, then gets a flickr image to fill it with

		
		//alert('run flickr');
		
		$(".artist").each(function(){  
				
			var target = this;
			text = $(this).find('.artistName').text();
			text = '"'+encodeURIComponent(text)+'"';
			jsonurl = "http://api.flickr.com/services/rest/?method=flickr.photos.search&text="+text+"&api_key=ee1467712c72701a17abca3aff1f0959&per_page=1&sort=relevance&content_type=1&format=json&jsoncallback=?";
			$.getJSON(jsonurl,
			function(data){
			
				$(target).find('.flickrimg img').attr("src", 'http://static.flickr.com/'+data.photos.photo[0].server+'/'+data.photos.photo[0].id+'_'+data.photos.photo[0].secret+'_s.jpg');
				$(target).find('.flickrimg img').wrap('<a href="http://www.flickr.com/photos/'+data.photos.photo[0].owner+'/'+data.photos.photo[0].id+'"></a>');		
			  
			});
				
		});
		
   };
   
