// Replace fonts using Cufon.
function replace_fonts() {
	Cufon.replace('h1', { fontFamily: 'HB' });
	Cufon.replace('h2', { fontFamily: 'HB' });
	Cufon.replace('h3', { fontFamily: 'HB' });
	Cufon.replace('p', { fontFamily: 'HB' });
	Cufon.replace('span', { fontFamily: 'HB' });
	Cufon.replace('a', { fontFamily: 'HB' });
	Cufon.replace('li', { fontFamily: 'HB' });
	Cufon.replace('th', { fontFamily: 'HB' });
	Cufon.replace('td', { fontFamily: 'HB' });
	Cufon.replace('#navigation > ul > li', { fontFamily: 'HB' });
	Cufon.now();
}

// Page-loading function.
function load_page(page_name, destination) {
	new Effect.Appear(
		destination,
		{
			from: 1.0,
			to: 0.0,
			duration: 0.5,
			transition: Effect.Transitions.sinoidal,
			afterFinish: function perform_load() {
				if (page_name !== '') {
					new Ajax.Request(
						page_name,
						{
							method: 'get',
							onSuccess: function request_complete(result) {
								$(destination).innerHTML = result.responseText;
								replace_fonts();
								new Effect.Appear(
									destination,
									{
										from: 0.0,
										to: 1.0,
										duration: 0.5,
										transition: Effect.Transitions.sinoidal
									}
								);
								if (page_name == "./content/video.html") {
									flowplayer('player', './include/flowplayer/flowplayer-3.2.7.swf', {
										clip: {
											autoPlay: false
										}
									});
								}
							}
						}
					);
				}
				else {
					$(destination).innerHTML = "";
				}
			}
		}
	);
}

// Navigation animation and state.
var navIndexShown = 0;

var noTrackSelection = true;

function move_highlight(index) {
	var distance = (index - navIndexShown) * 125;
	navIndexShown = index;
	new Effect.Move('nav_highlight', { x: distance, y: 0, mode: 'relative', duration: 0.5 });
}

function play_song(song_file, song_name, song_duration) {
	niftyplayer('niftyPlayer1').loadAndPlay(song_file);
	niftyplayer('niftyPlayer1').registerEvent("onSongOver", "updateSongOver()");
	$('track_title').innerHTML = song_name;
	$('track_duration').innerHTML = "(" + song_duration + ")";
	$('track_status').innerHTML = "NOW PLAYING";
	$('music_player_control').src = "./images/button_pause.png";
	replace_fonts();
	noTrackSelection = false;
}

function updateSongOver() {
	$('music_player_control').src = "./images/button_play.png";
	$('track_status').innerHTML = "";
}

function music_control_button_pressed() {
	if (noTrackSelection) {
		return;
	}
	
	niftyplayer('niftyPlayer1').playToggle();
	var playerState = niftyplayer('niftyPlayer1').getState();
	if (playerState == 'playing') {
		$('track_status').innerHTML = "NOW PLAYING";
		$('music_player_control').src = "./images/button_pause.png";
	}
	else if (playerState == 'paused') {
		$('track_status').innerHTML = "PAUSED";
		$('music_player_control').src = "./images/button_play.png";
	}
	else {
		$('track_status').innerHTML = "";
		$('music_player_control').src = "./images/button_play.png";
	}
	replace_fonts();
}

function play_video(video_file) {
	var playerState = niftyplayer('niftyPlayer1').getState();
	if (playerState == 'playing') {
		niftyplayer('niftyPlayer1').pause();
		$('track_status').innerHTML = "PAUSED";
		$('music_player_control').src = "./images/button_play.png";
		replace_fonts();
	}
	$f().play(video_file);
}

