/* 
    LastFM.js
    built by : Zach Holmquist 2009 
    
*/
var lastFM = function(){ this.init.apply(this, arguments); }
    lastFM.prototype = {
        options : null,
        lfmAPI : '',
        last_track : '',
        inactive : false,
        init : function()
        {
            var self = this;
                self.options = arguments[0];
            /* */
            var username = self.options['username'];
            var api_key = self.options['api_key'];
            var limit = self.options['limit'];
            /* */    
            self.lfmAPI = 'http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user='+username+'&api_key='+api_key+'&limit='+limit+'&format=json&callback=?';
        },
        query_api : function()
        {
           var self = this;
           
           $.getJSON(self.lfmAPI, function(data){ 
               var track = data.recenttracks.track;
                   
                   if(track.length > 0)
                        track = track[0];
                   
			       artist = track.artist['#text'];
			       track_name = track.name;
			       album = track.album['#text']
			       artwork_src = track.image[1]['#text'];
                   if(self.last_track != track_name)
                   {
                       /* control album */
                       $('#lastfm-artwork').fadeOut(function(){
                           $('#lastfm-artwork').css('backgroundImage', 'url(' + artwork_src +')');
                           $('#lastfm-artwork').fadeIn();
                       })
                       
                       /* control track info */
                       $('#track-info').fadeOut(function(){
              			    $('#lastfm-artist').html('<a href="'+track.url+'">'+artist+"</a>");
              		        $('#lastfm-track').html(track_name);
              		        $('#track-info').fadeIn();
                       })
                       
                   }
			       
			       self.last_track = track_name;
           });
        },
        live_tracks: function()
        {
            var self = this;
            self.query_api();
            setTimeout(function(){
                self.live_tracks();
            }, 120000);
        }
    }