function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    } 
  } 
}
return req;
}

var httpreq_winamp = getXMLHTTPRequest();

function getCurrentTrack() {
  var myurl = '/content/winamp.pl';
  myRand = parseInt(Math.random()*999999999999999);
  var modurl = myurl+"?rand="+myRand;  
  httpreq_winamp.open("GET", modurl, true);
  httpreq_winamp.onreadystatechange = useHttpResponse;
  httpreq_winamp.send(null);
}

function useHttpResponse() {
   if (httpreq_winamp.readyState == 4) {
    if(httpreq_winamp.status == 200) { 
       var songValue = httpreq_winamp.responseXML.getElementsByTagName("result")[0]; 
       document.getElementById('winamp_box').innerHTML = songValue.childNodes[0].nodeValue;
    }
  } else {
  document.getElementById('winamp_box').innerHTML = '<div align="center"><img src="/content/images/site/loading_32px_sb.gif"><br />updating track info</div>';
  }
}

var secs
var timerID = null
var timerRunning = false
var delay = 1000

function InitializeTimer()
{
    secs = 30
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        getCurrentTrack()
	InitializeTimer()
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}

function InitializeWAandTmr()
{
	getCurrentTrack()
	InitializeTimer()
	
}