var oXMLHttpRadio;

function GetRadioXMLHttpObject()
{
     oXMLHttpRadio = null;

      try
      {
            oXMLHttpRadio = new ActiveXObject("MSXML2.XMLHTTP");
      }
      catch (E)
      {
            try
            {
                  oXMLHttpRadio = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (E)
            {
              oXMLHttpRadio = null;
            }
    }

      if ((oXMLHttpRadio == null) && (typeof(XMLHttpRequest) != 'undefined'))
      {
            oXMLHttpRadio = new XMLHttpRequest();
      }

      return oXMLHttpRadio;
}


var contentObj = new Object;

var currentFeat = 0;

function loadRadio()
{

	if(oXMLHttpRadio)
	{
		oXMLHttpRadio.abort();
	}

	oXMLHttpRadio = GetRadioXMLHttpObject();

	var url = "php/getRadioPlaylist.php";

	oXMLHttpRadio.open("POST", url, true);

	oXMLHttpRadio.onreadystatechange = function()
	    {
		  if (oXMLHttpRadio.readyState == 4)
		  {
			var JSONObject = new Object;

			var response = oXMLHttpRadio.responseText;

			JSONObject = JSON.parse(response);

			radioObj = JSONObject.Playlist;

			placeRadio();
		  }
	    }

	oXMLHttpRadio.send(null);

}

function showSongInfo()
{

	if(getElement('radioPlaylist').style.display == "block")
	{
		jQuery("#radioPlaylist").slideUp();
		getElement('radioPlaylistButton').innerHTML = '<a href="Javascript:void(0);" onclick="showPlaylist();"><img src="images/playlist_open.jpg" border="0" width="100" height="16" border="0" /></a>';
	}
	
	if(getElement('radioInfo').style.display == "block")
	{
		jQuery("#radioInfo").slideUp();

	} else {

	var info = '<table width="250" cellspacing="0" cellpadding="0">';
	   info += '<tr valign="top"><td style="padding: 0px 0px 0px 0px"><span id="radioInfoText">Now Playing "'+ radioObj[currentSong].title + '" by '+ radioObj[currentSong].artistName +'</span></td>';
	   if(radioObj[currentSong].buyLink != "")
	   {
	   	info += '<td align="right"><a href="'+ radioObj[currentSong].buyLink +' target="_blank"><img src="images/buynow.jpg" border="0"></a></td>';
	   } else {
	   	info += '<td />';
	   }
	   info += '</tr>';

	   if(radioObj[currentSong].release.length == undefined)
	   {
	
	   	var release = radioObj[currentSong].release;
	   	buyLinks = release.buyLinks;
	   	
	   	info += '<tr valign="top"><td colspan="2"><table width="100%" height="100%"><tr valign="top" align="left"><td width="80"><img src="'+ release.cover +'" /></td>';
	   	info += '<td><span id="radioInfoText">From <i>'+ release.releaseTitle +'</i>';
	   	
	   	if(buyLinks.length > 0)
	   	{
			info += '<br/><br/>Buy it now:<br/>';
				for(var i in buyLinks)
				{
					info += '<a href="'+ buyLinks[i].url +'" target="_blank">'+ buyLinks[i].name +'</a>  ';
				}
			info += '</span></td>';
		} else {
			info += '</span></td>';
		}
	   }

	   info += '<tr align="right"><td colspan="2"><a href="Javascript:void(0);" onclick="showSongInfo();"><img src="images/close_button_s.png" border="0"></a></td></tr></table>';	   
	getElement('radioInfo').innerHTML = info;
	jQuery("#radioInfo").slideDown();
	//getElement('radioInfo').style.display = "block";
	}
}

function showPlaylist()
{

	if(getElement('radioInfo').style.display == "block")
		{
		jQuery("#radioInfo").slideUp();
	}
	
	if(getElement('radioPlaylist').style.display == "block")
	{
		jQuery("#radioPlaylist").slideUp();
		getElement('radioPlaylistButton').innerHTML = '<a href="Javascript:void(0);" onclick="showPlaylist();"><img src="images/playlist_open.jpg" border="0" width="100" height="16" border="0" /></a>';

	} else {
		getElement('radioPlaylistButton').innerHTML = '<a href="Javascript:void(0);" onclick="showPlaylist();"><img src="images/playlist_close.jpg" border="0" width="100" height="16" border="0" /></a>';
		
		var info = '<table width="260" cellspacing="0" cellpadding="0">';

		for(x = 0; x < radioObj.length; x++)
		{
		   
		   var release = radioObj[x];
		
		   info += '<tr valign="top"><td style="padding: 5px 5px 5px 5px; ';

		   info += '"><span id="radioPlaylistText"><a href=\"Javascript:void(0);\" onclick=\"loadSong(\'' + x +'\', \'play\');\">"'+ release.title + '" - '+ release.artistName +'</a></span></td>';
		   
		   info += '<td style="padding: 5px 0px 5px 0px; ';
 
		   info += ' text-align: right;\"><a href=\"Javascript:void(0);\" onclick=\"loadSong(\'' + x + '\', \'play\');\"><img src=\"images/play_button.jpg\" border=\"0\" /></a></td></tr>';
	
		}
		
		info += '<tr align="right"><td colspan="2"><a href="Javascript:void(0);" onclick="showPlaylist();"><img src="images/close_button_s.png" border="0"></a></td></tr></table>';

		getElement('radioPlaylist').innerHTML = info;
		jQuery("#radioPlaylist").slideDown();
		//getElement('radioInfo').style.display = "block";
	}
}

var currentSong = -1;



function stopAudio(id)
{
	if(objectPlaying != getElement(id))
	{
		objectPlaying.stopAudio();
	}
	
	var radio = getElement("radioPlayer");
	
	radio.stopAudio();
}

function loadSong(songNum, playmode)
{
	slideInt = window.clearInterval(slideInt);
	currentSong = songNum;
	titleWidth = 0;
	var release = radioObj[songNum];
	$("#jPlayerDiv").jPlayer("setMedia", {
		name: release.title,
		m4a: release.location,
		oga: release.locationOGG
	}).jPlayer(playmode);
	$("#jp-name-scroll").html(release.title);
	titleWidth = release.title.length * 6;
	$("#jp-name-scroll").width(titleWidth);
	$("#jp-name-scroll").css("left", 0);
	wait = 10;
	slideInt = window.setInterval(scroll, 100);
}

function playerLoaded()
{
	loadSong(0);
}

function placeRadio()
{
	var html = '<table width="275" height="18" cellspacing="0" cellpadding="0"><tr valign="top"><td style="padding-top: 3px">';
	
	html += '<div id="jPlayerDiv" class="jp-jplayer"></div>';
	html += '<div class="jp-audio">';
	html += '<div class="jp-type-single">';
	html += '<div id="jp_interface_1" class="jp-interface">';
	html += '<ul class="jp-controls">';
	html += '<li><a href="#" class="jp-play" tabindex="1"></a></li>';
	html += '<li><a href="#" class="jp-pause" tabindex="1"></a></li>';
	html += '<li><div style="overflow-x: hidden; overflow-y: hidden"><a href="#" class="jp-name" tabindex="1"><div id="jp-name-scroll"></div></a></div></li>';
	html += '</ul>';
	html += '</div>';
	html += '</div>';
	html += '</div>';
	
	html += '</td><td><div id="radioInfoButton" style="margin-top: 5px;"><a href="Javascript:void(0);" onclick="showSongInfo();"><img src="images/moreSongInfo.jpg" border="0" width="27" height="16" border="0" /></a></div></td><td><div id="radioPlaylistButton" style="margin-top: 5px;"><a href="Javascript:void(0);" onclick="showPlaylist();"><img src="images/playlist_open.jpg" border="0" width="100" height="16" border="0" /></a></div></td></tr></table>';
	
	document.getElementById('radioDiv').innerHTML = html;
	
	$("#jPlayerDiv").jPlayer({
	  swfPath: "flash/",
	  supplied: "oga, m4a"
	});
	
	loadSong(0, 'stop');
}

function setPlaying(id){

	objectPlaying = getElement(id);
	
}
var slideInt = 0;
var left = true;
var titleWidth = 0;
var wait = 10;

function scroll() {
	if(wait-- < 0) {
		if(left) {
			if(titleWidth + parseInt($("#jp-name-scroll").css("left")) > parseInt($(".jp-name").width()))
			{
				$("#jp-name-scroll").css("left", parseInt($("#jp-name-scroll").css("left"))-1);
			} else {
				left = false;
				wait = 10;
			}
		} else {
			if(parseInt($("#jp-name-scroll").css("left")) < 0)
			{
				$("#jp-name-scroll").css("left", parseInt($("#jp-name-scroll").css("left"))+1);
			} else {
				left = true;
				wait = 10;
			}
		}
	}
}

