/*
Last.fm Ajax recent tracks loader
(c) by Bor
$Revision$
$Date$
*/

var lastfm_chart;
var lastfm_id_container = 'lastfm';

var process_response = function () {
    var response;
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            response = http_request.responseText;
        }
        else { alert("Error loading page\n"+ http_request.status +":"+ http_request.statusText); }
//        var tracks = response.split("\n");
//    //   if (response.indexOf("\n" != -1)) {
//        for (var i = 1; i < tracks.length; i++) {
//    //        alert("Track "+i+" : "+tracks[i]);
//            var fields = tracks[i].split(',');
//            var time = fields[0];
//            var trackname = fields[1];
//            var time = document.getElementById("lastfm").createElement('span');
//            time.setAttribute('id', 'time_' + i);
//            var trackname = document..getElementById("lastfm").createElement('span');
//            trackname.setAttribute('id', 'track_' + i);
//    //        p.setAttribute('id', 'msg_' + fields[0]);
//        }
//    //   document.getElementById(id).innerHTML = update[1];
//    //   }
//        document.getElementById(lastfm_id_container).innerHTML = '<?xml version="1.0" encoding="ISO-8859-1"?>\n'
//            + '<?xml-stylesheet type="text/css" href="/css/lastfm.css"?>\n' + response;
        update_html('<?xml version="1.0" encoding="ISO-8859-1"?>\n'
            + '<?xml-stylesheet type="text/css" href="/css/lastfm.css"?>\n' + response);
//        update_html(http_request.responseXML);
    }
}

function lastfm_get(chart,id_container) {
    lastfm_chart = chart;
    lastfm_id_container = id_container ? id_container : lastfm_id_container;
    document.getElementById(lastfm_id_container).innerHTML = lastfm_chart ? http_load_text : 'Bad request chart!';
    ajax_http_request(process_response,'get','/1.0/user/Bor81/'+lastfm_chart+'.xml',true);
}

function update_html(xml) {
    if (xml.length == 0) { 
        document.getElementById(lastfm_id_container).innerHTML = '<ul><li>No Info</li></ul>';
        return;
    }
    var content = xml;
    if (lastfm_chart == 'recenttracks') {
    }
    else if (lastfm_chart == 'topartists') {
    }
    else if (lastfm_chart == 'toptracks') {
    }
    else {
        content = '<ul><li>Bad request chart!</li></ul>';
    }
    var el = document.getElementById(lastfm_id_container);
    nel = el.cloneNode(false);
    el.parentNode.insertBefore(nel,el);
    el.parentNode.removeChild(el);
    //nel.appendChild(document.createTextNode(content));
    nel.innerHTML = content;
    //document.getElementById(lastfm_id_container).innerHTML = content;
}

