var tagcloud=1;
var trackinfo=1;

function getTrack(track) {
	if (!callInProgress(http))
    {
		Effect.Fade (document.getElementById('tags'));
		if (trackinfo == 1)
        {
			Effect.Fade (document.getElementById('trackinfo2'));
		} else {
			Effect.Fade (document.getElementById('trackinfo1'));
		}
		tagcloud = 0;
        http.open('get', '/cgi-bin/radiozone/rpc?action=track&track='+track,true);
        http.onreadystatechange = handleResponseTrack;
        http.send(null);
    }	
}

function getTags() {
    if (!callInProgress(http) && tagcloud==1)
      {
	  	if (trackinfo == 1)
        {
            Effect.Fade (document.getElementById('trackinfo2'));
        } else {
            Effect.Fade (document.getElementById('trackinfo1'));
        }	
        http.open('get', '/cgi-bin/radiozone/rpc?action=tags',true);
        http.onreadystatechange = handleResponseTags;
        http.send(null);
      }
}

function handleResponseTrack () {
    if(http.readyState == 4){
        var response = http.responseText;
		if (trackinfo == 1)
        {
			document.getElementById('trackinfo1').innerHTML = response;
	        Effect.Appear (document.getElementById('trackinfo1'), {queue: 'end'} );
            trackinfo = 2;
        } else {
			document.getElementById('trackinfo2').innerHTML = response;
	        Effect.Appear (document.getElementById('trackinfo2'), {queue: 'end'} );
            trackinfo = 1;
        }
    }
}


function handleResponseTags () {
	if(http.readyState == 4){
        var response = http.responseText;
		if (tagcloud == 1)
		{
			document.getElementById('tags').innerHTML = response;
			Effect.Appear (document.getElementById('tags'), {queue: 'end'} );
			//setTimeout('getTags()',10000);
		}
	}
}

function sndReq() {
    if (!callInProgress(http))
	  {
    	http.open('get', '/cgi-bin/radiozone/rpc?action=tracksi&last_id='+lastid,true);
    	http.onreadystatechange = handleResponse;
    	http.send(null);
	  }
}

var lastid=0;
var colorid=0;
var element;
function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
				var responsex = response;
				var tracks = response.split('\n');
				var trackparts;
				var current;
				var dummy,dummy_parent;
				var temp;
				var rowclass;
				var newRow,newCell,newText;
				response='';
				j=0;
				for (i=0; i<tracks.length; i++)
				{
					  if (tracks[i].length>3)
						{
							current = tracks[i].split(';');
							if (current[0] > lastid)
							{
								newRow = document.createElement ('tr');
								newRow.style.display='none';

								if (colorid==0)
								{
									newRow.className = 'even';
									colorid=1;
								} else {
									colorid=0;
								}
								newCell = document.createElement ('td');
								newCell.className = 'time';
								newRow.appendChild (newCell);
								newText = document.createTextNode(current[4]);
								newCell.appendChild (newText);

  								newCell = document.createElement ('td');
								newCell.className = 'track';
					           	newRow.appendChild (newCell);
								trackparts = current[2].split(' - ');
								if (trackparts.length > 1)
								{
									newCell.innerHTML = '<a href="javascript:getTrack(\''+trackparts[0]+'\');">'+trackparts[0]+'</a> - '+
													   	'<a href="javascript:getTrack(\''+trackparts[1]+'\');">'+trackparts[1]+'</a>';
					           	} else {
									newText = document.createTextNode(current[2]);
                					newCell.appendChild (newText);
								}
								newCell = document.createElement ('td');
								newCell.className = 'station';
								newCell.innerHTML='<a href="?id=1&cmd=station&radioid='+current[1]+'">'+current[3]+'</a>';
			            	    newRow.appendChild (newCell);
            			    	//newText = document.createTextNode(current[3]);
				                //newCell.appendChild (newText);

								newCell = document.createElement ('td');
								newCell.className = 'play';
                				newRow.appendChild (newCell);
				                newCell.innerHTML='<a title="Listen" href="rztest/stream?id='+current[1]+'"><img src="/img/button_play.gif" title="Listen" alt="Listen" border=0><//a><//td><//tr>';
		
		
								if (lastid != 0)
								{
									document.getElementById('tracks').insertBefore (newRow,document.getElementById ('tracks').childNodes[0]);
								} else {
									document.getElementById('tracks').insertBefore (newRow,null);
								}

								if (document.getElementById ('tracks').childNodes.length > 10)
								{
									Effect.Fade(document.getElementById ('tracks').childNodes[10], {queue: 'end'});
									Effect.Appear (newRow, {queue: 'end'});
								} else {
									Effect.Appear (newRow);
								}
								if (document.getElementById ('tracks').childNodes.length > 11)
								{
									document.getElementById ('tracks').removeChild (document.getElementById ('tracks').lastChild);
								}
								
								lastid = current[0];
							}
 					  }
				}
				setTimeout('sndReq()',5000);
    }
}
