var ScrobbledTracks = new Class({
    initialize: function(){
        this.initializeList();
        
        var lfmWeeklyAlbums = new Request.JSONP({
            url: 'http://ws.audioscrobbler.com/2.0/',
            method: 'get',
            data: {
                method: 'user.getweeklyartistchart',
                user: 'anticipat3',
                api_key: '65e27c37329c14e15d0b6bf5b88fd671',
                //limit: 50,
                format: 'json'
            },
            
            onComplete: function(response) {
                Object.each(response.weeklyartistchart.artist, function(artist) {
                    //console.log(artist);
                });
            }
        }).send();
        
        var lfmLoved = new Request.JSONP({
            url: 'http://ws.audioscrobbler.com/2.0/',
            method: 'get',
            data: {
                method: 'user.getlovedtracks',
                user: 'anticipat3',
                api_key: '65e27c37329c14e15d0b6bf5b88fd671',
                limit: 250,
                format: 'json'
            },
            
            onComplete: function(response) {
                console.log(response);
                //Object.each(response.weeklyartistchart.artist, function(artist) {
                    //console.log(artist);
                //});
            }
        }).send();
        
        var lfmUpcomingReleases = new Request.JSONP({
            url: 'http://ws.audioscrobbler.com/2.0/',
            method: 'get',
            data: {
                method: 'user.getnewreleases',
                user: 'anticipat3',
                userecs: 1,
                api_key: '65e27c37329c14e15d0b6bf5b88fd671',
                limit: 250,
                format: 'json'
            },
            
            onComplete: function(response) {
                //console.log(response);
                //Object.each(response.weeklyartistchart.artist, function(artist) {
                    //console.log(artist);
                //});
            }
        }).send();
        
        
    },
    initializeList: function(username) {
        var lfmRequest = new Request.JSONP({            
            url: 'http://ws.audioscrobbler.com/2.0/',
            method: 'get',
            data: {
                method: 'user.getrecenttracks',
                user: 'anticipat3',
                api_key: '65e27c37329c14e15d0b6bf5b88fd671',
                limit: 50,
                format: 'json'
            },
            
            onComplete: function(tracks) {
                Object.each(tracks.recenttracks.track, function(track) {
                    //console.log(track);
                    //console.log(track.artist['#text']);
                    var artist = track.artist['#text'];
                    var album = track.album['#text'];
                    var album_image_url = track.image[2]['#text'];
                    var track_title = track.name;
                    console.log(artist, album, track_title, album_image_url);
                });
                
            }
        }).send();
    },
    refreshList: function() {
        console.log('refreshing');
        
        var lfmRefreshRequest = new Request.JSONP({            
            url: 'http://ws.audioscrobbler.com/2.0/',
            method: 'get',
            data: {
                method: 'user.getrecenttracks',
                user: 'anticipat3',
                api_key: '65e27c37329c14e15d0b6bf5b88fd671',
                limit: 50,
                format: 'json'
            },
            
            onComplete: function(tracks) {
                Object.each(tracks.recenttracks.track, function(track) {
                    //console.log(track);
                    //console.log(track.artist['#text']);
                    var artist = track.artist['#text'];
                    var album = track.album['#text'];
                    var album_image_url = track.image[2]['#text'];
                    var track_title = track.name;
                    //console.log(artist, album, track_title, album_image_url);
                });
                console.log('refreshed tracks.');
            }
        }).send();
    }
});

window.addEvent('domready', function() {
    st = new ScrobbledTracks('anticipat3');
    var refresher = function() { st.refreshList(); };
    refresher.periodical(1000 * 60 * 5); //refresh every 5 minutes
});
