var ratingUpdating = false;

function getSongPopup(id) {
	$.getJSON("/json.php?type=songid&id="+id, function(data){
			makeSongPopup(data);
		});
}
function formatSeconds(seconds) {
	var min = Math.floor(seconds / 60);
	var sec = (seconds % 60);
	if (sec < 10)
		sec = "0" + sec;
	return(min + ":" + sec);
}
function updateRating(rating, songID) {
	if(loggedIn) {
		ratingUpdating = true;
		$("#rateform").data("id",songID);
		if(rating == 0)
			$($("#rateform div.cancel").get(0)).click();
		else
			$($("#rateform div.star_live").get(rating-1)).click();
	}
}
function updateCurrent(data) {
	$("#title").html(data.title);
	$("#artist").html(data.artist);
	$("#album").html(data.album);
	$("#year").html(data.year);
	$("#genre").html(data.genre);
	$("#remaining").html(formatSeconds(data.remaining));
	$("#length").html(formatSeconds(data.length));
	$("#played").html(data.played);
	$("#requested").html(data.requested);
	updateRating(data.userrating,data.id);
	$("#rating").html(data.rating);
	$("#last").html(data.last);
	$("#cover").attr("src","/pictures/"+data.picture);
	if(typeof currentID != "undefined") {
		currentID = data.id;
		if(currentID == lastID) {
			countDownTime=data.remaining;
			countDown();
		} else
			$("#remaining").html("Song Finished");
	}
}
function requestSong(id, mode) {
	$.getJSON("/json.php?type=req&mode="+mode+"&id="+id, function(data){
		$("#request").html(data.message);
	});
}

function makeSongPopup(data) {
	var songPopup = $($('<div id="dialog" class="songPopup"></div>'));
	if (loggedIn)
		var reqBox = '<a href="" onclick="requestSong(\''+data.id+'\', 0); return false;"><img src="/images/request.gif" /></a>';
	else var reqBox = '';
	if(adminUser) 
		reqBox += '<a href="" onclick="requestSong(\''+data.id+'\', 1); return false;"><img src="/images/request_back.gif" /></a>';
	songPopup.append('<div><table class="normal" style="width:100%; height: 100%; text-align:left;>'
	+'<tr class="rowodd"><th>Title</th><td id="title" style="width:100%;"></td><td rowspan="12"><img id="cover" alt="Album Art Unavailable" src="" /></td></tr>'
	+'<tr class="roweven"><th>Artist</th><td id="artist"></td></tr>'
	+'<tr class="rowodd"><th>Album</th><td id="album"></td></tr>'
	+'<tr class="roweven"><th>Year</th><td id="year"></td></tr>'
	+'<tr class="rowodd"><th>Genre</th><td id="genre"></td></tr>'
	+'<tr class="roweven"><th>Length</th><td><span id="length"></span></td></tr>'
	+'<tr class="rowodd"><th>Played</th><td id="played"></td></tr>'
	+'<tr class="roweven"><th>Requested</th><td id="requested"></td></tr>'
	+'<tr class="rowodd"><th>Rating</th><td id="rate"><span id="rating"></span>/10</td></tr>'
	+'<tr class="roweven"><th>Last&nbsp;Played</th><td id="last"></td></tr>'
	+'<tr class="rowodd"><td id="request" style="text-align:center;" colspan="2">'+reqBox+'</td></tr></table></div>');
   /*
   songPopup.html('<div><table class="normal" style="width:100%; height: 100%; text-align:left;>'
	+'<tr class="rowodd"><th>Title</th><td id="title" style="width:100%;"></td><td rowspan="12"><img id="cover" alt="Album Art Unavailable" src="" /></td></tr>'
	+'<tr class="roweven"><th>Artist</th><td id="artist"></td></tr>'
	+'<tr class="rowodd"><th>Album</th><td id="album"></td></tr>'
	+'<tr class="roweven"><th>Year</th><td id="year"></td></tr>'
	+'<tr class="rowodd"><th>Genre</th><td id="genre"></td></tr>'
	+'<tr class="roweven"><th>Length</th><td><span id="length"></span></td></tr>'
	+'<tr class="rowodd"><th>Played</th><td id="played"></td></tr>'
	+'<tr class="roweven"><th>Requested</th><td id="requested"></td></tr>'
	+'<tr class="rowodd"><th>Rating</th><td id="rate"><span id="rating"></span>/10</td></tr>'
	+'<tr class="roweven"><th>Last&nbsp;Played</th><td id="last"></td></tr>'
	+'<tr class="rowodd"><td id="request" style="text-align:center;" colspan="2">'+reqBox+'</td></tr>'
	+'</table></div>');
   */
	songPopup.dialog({
		modal: true,
		resizable: false,
		overlay: {
			opacity: 0.5,
			background: "black"
		},
		width: 800,
		height: 400,
		title: data.artist+' - '+data.title,
		open: function() {
			updateCurrent(data);
		},
		close: function() {
			songPopup.remove();
		}
	});
}

$( function() {
	$('input[@type=radio].rate').rating({
		half: true,
		callback: function(value,link) {
			if(!ratingUpdating) {
				songID = $("#rateform").data("id");
				$.getJSON("/json.php?type=rate&id="+songID+"&rate="+value);
			} else {
				ratingUpdating = false;
			}
		}
	});
});
