// JavaScript Document

var oldID = 0;

var init = function() {
	$$('#main_menu ul li').each(function(ele) {
		ele.observe('click', menuClick);
	});
	
	$$('a.collapsed').each(function(ele) { ele.observe('click', getInfo); });
	$$('div.test').each(function(ele) { ele.observe('click', getInfo); });
};

var menuClick = function(e) {
	e.stop();
	var ele = e.findElement();
	
	if (ele.tagName == 'LI') ele = ele.down();
	
	window.location = ele.getAttribute('href');
};

var getInfo = function(e) {
	e.stop();
	
	var ele = Event.element(e);
	var id = ele.getAttribute('name');
	
	ele.setStyle({ background: 'url(images/throbber.gif) no-repeat' });
	
	if (oldID != 0) {
		$('expanded_' + oldID).hide().update();
		$('collapsed_' + oldID).show();
	}
	
	new Ajax.Updater('expanded_' + id, 'song_info.php?vid_id=' + id, {
		onComplete: function(r) {
			$('collapse_button').observe('click', closeInfo);
			$('collapsed_' + id).hide();
			$('expanded_' + id).appear();
			
			ele.setStyle({ background: 'url(images/plus_minus.jpg) no-repeat' });
			
			new Starbox('stars', $F('star_average'), { identity: 'star_' + id, indicator: '#{average} (#{total} votes)', onRate: rateVideo, total: $F('star_ratings') });
			
			flowplayer("player", "includes/flowplayer-3.1.5.swf");
			
			oldID = id;
		}
	});
};

var rateVideo = function(element, memo) {
	var id = memo.identity.substr(5);
	var score = memo.rated;
	
	new Ajax.Request('rateVideo.php', { parameters: 'id=' + id + '&score=' + score });
	
	$('rate_to_' + id).hide();
	$('form_' + id).toggle();
};

var closeInfo = function(e) {
	e.stop();
	
	var ele = Event.element(e);
	var id = ele.getAttribute('name');
	
	$('expanded_' + id).hide().update();
	$('collapsed_' + id).show();
	
	oldID = 0;
};

Event.observe(window, 'load', init);