function checkAll (chk) {
	var frm = document.forms['tracklist'];
	var n = frm.elements.length;
	for (var i = 0; i < n; i++) {
		if (frm.elements[i].name=='tracks[]')
			frm.elements[i].checked=chk;
	}
}
function playSelected () {
	var frm = document.forms['tracklist'];
	var n = frm.elements.length;
	var selected = new Array();
	for (var i = 0; i < n; i++) {
		if (frm.elements[i].name=='tracks[]' && frm.elements[i].checked)
			selected[selected.length] = frm.elements[i].value;
	}
	if (selected.length) {
		var tracks = selected.join(',');
		playTrack(tracks);
	}
}
function showComments (mixtape_id) {
	var popup=window.open('/comments.php?mixtape_id='+mixtape_id,'lmtcomments','height=480,width=550,toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no');
	if (window.focus) popup.focus();
}
var colorGood = new Array('#F5F5F5', '#DAE5D9', '#9DC199', '#4F9348', '#207717');
var colorBad = new Array('#F5F5F5', '#BEADAD', '#9F6D6D', '#8A4040', '#771717');
var colorNeutral = new Array('#F5F5F5', '#DADADA', '#939393', '#525252', '#207717');
var colorAt = 0;
var voted = false;
var colors = colorGood;
function fadeInScore () {
	var el = document.getElementById('score');
	if (colorAt < colors.length) {
		el.style.color = colors[colorAt++];
		setTimeout("fadeInScore()", 200);
	}
	else
		colorAt = 0;
}
function voteUp (mixtape_id) {
	animateVote(1);
	sendVote(mixtape_id, "up");
}
function voteDown (mixtape_id) {
	animateVote(-1);
	sendVote(mixtape_id, "down");
}
function animateVote (dir) {
	if (voted) return;
	voted = true;
	var el = document.getElementById('score');
	var score = parseInt(el.innerHTML.replace(",",""))+parseInt(dir);
	el.innerHTML = score;
	if (score > 0) colors = colorGood;
	else if (score < 0) colors = colorBad;
	else colors = colorNeutral;
	fadeInScore();
}
function sendVote (mixtape_id, vote) {
	var req = new XMLHttpRequest();
	var params = "mixtape_id="+mixtape_id+"&vote="+vote;
	req.open("POST", "/ajax_vote.php", true);
	req.setRequestHeader("content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("content-length", params.length);
	req.setRequestHeader("connection", "close");
	req.send(params);
}
function checkComment(frm) {
	if (frm.comment.value.length == 0) {
		alert('Your comment is empty'); return false;
	} 
	if (frm.comment.value.length > 200) {
		alert('Comment must be less than 200 characters'); return false;
	}
	if (frm.comment.value.split("\n").length > 10) {
		alert('Your comment contains too many lines'); return false;
	}
	return true;
}