var lastXmlHttp, sum = 10, enableTime, myLastlink, iconUrl;

function createXMLHttpRequest(){
	var ixmlHttp;
	if(window.ActiveXObject){
		ixmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest){
		ixmlHttp = new XMLHttpRequest();
	}
	return ixmlHttp;
}

function transDate(strDate){		
    var trackTime = Date.parse(strDate);			
	var d = new Date();
	var dd = d.toUTCString();
	dd = dd.slice(0,25);
	var nowTime = Date.parse(dd);
	var a = nowTime - trackTime;	
    var minutes = 1000 * 60;
    var hours = minutes * 60;
    var days = hours * 24;
    var years = days * 365; 
	var pYears = 0, pDays, pHours, pMinutes;
	var pMonths = 0;
	pYears = Math.floor(a / years);	
	a = a - pYears * years;
	pDays = Math.floor(a / days);
	a = a - pDays * days;
	pHours = Math.floor(a / hours);
    a = a - pHours * hours;
	pMinutes = Math.floor(a / minutes);	
	var out = "";	
	if (pYears > 0) {
		out = pYears + " year";
		if (pYears > 1) out += "s";
	}else if (pDays > 0){	
		out = pDays + " day";
		if (pDays > 1) out +="s";
		if (pDays > 30){
			pMonths = Math.floor(pDays / 30);
			out = pMonths + " month";
			if (pMonths > 1) out += "s";
		}
	}
	if (pYears == 0 && pMonths == 0){	
		if (pHours > 0 || pDays > 0) {
			if (pDays > 0) out += " " + pHours + " hour";
			else out = pHours + " hour";
			if (pHours > 1) 
				out += "s";
		}
		if (pMinutes > 0 ) {
			if (pHours > 0) out += " " + pMinutes + " minute";	
			else out = pMinutes + " minute";
			if (pMinutes > 1) 
				out += "s";
				
		}else if (out.length == 0) out = "just seconds";
	}
	out += " ago";
	return out;
}

function formatStrDate(str){
	var fStr=str.replace(/-/g, "/");
	fStr=fStr.replace(/T/, ",");
	fStr=fStr.slice(0,19);	
	return fStr;
}

function clearDiv(sDiv) {		
    var oDiv = document.getElementById(sDiv);
    while(oDiv.childNodes.length > 0) {
        oDiv.removeChild(oDiv.childNodes[0]);
    }	
}

 
function getLastfm(){		
    lastXmlHttp=createXMLHttpRequest();
    var url = "getlastfm.php?number="+Math.random();
    lastXmlHttp.open("GET", url, true);
    lastXmlHttp.onreadystatechange = setLastfm;
    lastXmlHttp.send(null);
}
function refreshLastfm(){		
	setTimeout("refreshLastfm()",120000);	
	getLastfm();
}
function setLastfm(){
    if (lastXmlHttp.readyState == 4) {
        if (lastXmlHttp.status == 200) {			
			clearDiv("lastfm");
            var lastTracks = lastXmlHttp.responseXML.getElementsByTagName("track");			
            var lastArtists = lastXmlHttp.responseXML.getElementsByTagName("artist");
            var lastNames = lastXmlHttp.responseXML.getElementsByTagName("name");			
            var lastAlbums = lastXmlHttp.responseXML.getElementsByTagName("album");
            var lastDates = lastXmlHttp.responseXML.getElementsByTagName("date");
			var lastUrls = lastXmlHttp.responseXML.getElementsByTagName("url");
            var out = "";
            var oDiv = document.getElementById("lastfm");
            oDiv.style.background = "";
            oDiv.style.height = "auto";
            var oUl = document.createElement("ul");
            var oLi = document.createElement("li");
			var oA = document.createElement("a");
            var oSpan = document.createElement("span");
            for (var i = 0; i < sum; i++) {
                oLi = document.createElement("li");
                oSpan = document.createElement("span");
				var fullUrl=lastUrls[i].childNodes[0].nodeValue;
				var artUrl=fullUrl.slice(0,fullUrl.indexOf("/_/"));				
				oA = document.createElement("a");
				oA.href=artUrl;
                out = lastArtists[i].childNodes[0].nodeValue;
				oA.appendChild(document.createTextNode(out));
				oLi.appendChild(oA);
				oLi.appendChild(document.createTextNode(" - "));
				oA = document.createElement("a");
				oA.href=fullUrl;
				out = lastNames[i].childNodes[0].nodeValue;
                oA.appendChild(document.createTextNode(out));
				oLi.appendChild(oA);
				if (enableTime == 1){
					out = transDate(lastDates[i].childNodes[0].nodeValue);
					oSpan.appendChild(document.createTextNode(out));
					oLi.appendChild(oSpan);
				}
                oUl.appendChild(oLi);
            };            
			if (myLastlink.length > 0){			
				oLi = document.createElement("li");
				oA = document.createElement("a");
				oA.href = myLastlink;
				oA.appendChild(document.createTextNode("Go to my Last.fm »"));
				oLi.appendChild(oA);
				oLi.className="lastfm-goto";		
				oUl.appendChild(oLi);			
			}
			oDiv.appendChild(oUl);
        }
    }
}


