scroll_threshold = 756;
page_open = false;
music_open = false;
last_lyric = null;
current_track = null;
swap_track_allowed = true;

$(document).ready( function() {
	$(window).scroll( function() {
		var scroll_top = $(window).scrollTop();
		page_open = true;
		if (scroll_top == 0) {
			page_open = false;
		} else if (scroll_top > scroll_threshold) {
			$("#sonata").css('paddingBottom', '60px');
			var left = $("#playbox").offset().left;
			$("#playbox").css({position: 'fixed', top: '145px', left: left});
			$("#playbox_proxy").show();
		} else {
			$("#sonata").css('paddingBottom', '20px');
			$("#playbox").css({position: '', top: '', left: ''});
			$("#playbox_proxy").hide();
		}
	});
	
	$("#audio").jPlayer({
		swfPath: "./jplayer.swf",
		solution: "html, flash",
		supplied: "mp3"
	});
});

function show(id) {
	if (music_open && id != 'music') {
		scroll_threshold = 756;
		$(window).scrollTop(0);
		$("#picture").show();
		$(window).scrollTop(756);
		$("#"+id).fadeIn();
		$("#"+id).siblings().not('#picture').fadeOut();
		restoreOrgan()
		music_open = false
		page_open = true;
		return false;
	}
	
	var scroll_top = $(window).scrollTop();
	
	if (scroll_top != scroll_threshold) {
		if (page_open) {
			$('html,body').animate({scrollTop: 756}, 2500, function() {
				$("#"+id).fadeIn();
				$("#"+id).siblings().not('#picture').fadeOut();
				restoreOrgan()
				isMusic(id);
			});
		} else {
			$("#"+id).fadeIn();
			$("#"+id).siblings().not('#picture').fadeOut();
			$('html,body').animate({scrollTop: 756}, 2500, function() {
				restoreOrgan()
				isMusic(id);
			});
		}
	} else if (scroll_top == scroll_threshold) {
		$("#"+id).fadeIn();
		$("#"+id).siblings().not('#picture').fadeOut();
		restoreOrgan()
		isMusic(id);
	}
	
	page_open = true;
}

function isMusic(id) {
	if (id == "music") {
		$("#picture").hide();
		scroll_threshold = 0;
		$(window).scrollTop(0);
		music_open = true;
	}
}

function showTop() {
	$('html,body').animate({scrollTop: 0}, 2500, function() {
		$(".content").hide();
	});
	
	page_open = false;
}

function showBand() {
	if (music_open) {
		scroll_threshold = 756;
		$(window).scrollTop(0);
		$("#picture").show();
		$(window).scrollTop(756);
		music_open = false
		page_open = true;
	}
	
	var scroll_top = $(window).scrollTop();
	
	if (scroll_top != 0) {
		$('html,body').animate({scrollTop: 0}, 2500, function() {
			swapImage('library/img/names.jpg');
			$(".content").not('#picture').hide();
		});
	} else {
		swapImage('library/img/names.jpg');
	}
	
	page_open = false;
}

function swapImage(src) {
	var old_image = $("#picture img").first();
	old_image.css('zIndex', '1000');
	var new_image = $("<img src='"+src+"'>");
	new_image.css({
		opacity: '0.0',
		zIndex: 10000
	});
	new_image.appendTo("#picture");
	new_image.animate({opacity: 1.0}, 500, function() {
		old_image.remove();
	});
	new_image.css('zIndex', '1000');
}

function restoreOrgan() {
	$("#picture").html("<img src='library/img/organ.jpg'>");
}

function play(item, id) {
	if (!swap_track_allowed) { return false; }
	
	if (last_lyric != null) {
		swap_track_allowed = false;
		last_lyric.fadeOut(1000, function() {
			$(window).scrollTop(0);
			$("#"+id).fadeIn(1000, function() {
				last_lyric = $("#"+id);
				swap_track_allowed = true;
			});
		});
	} else {
		swap_track_allowed = false;
		$(window).scrollTop(0);
		$("#"+id).fadeIn(1000, function() {
			last_lyric = $("#"+id);
			swap_track_allowed = true;
		});
	}
	
	current_track = $(item);
	
	current_track.addClass('playing');
	current_track.siblings().removeClass('playing');
	
	loadTrack(id);
}

function loadTrack(id) {
	$("#audio").jPlayer("setMedia", {
		mp3: "library/audio/"+id+".mp3"
	}).jPlayer("play");
}

function resume() {
	if (current_track) {
		$("#audio").jPlayer("play");
	} else {
		$("#playlist li").first().click();
	}
}

function pause() {
	if (current_track) {
		$("#audio").jPlayer("pause");
	}
}

function back() {
	if (current_track) {
		if ($("#audio").data("jPlayer").status.currentTime > 5) {
			$("#audio").jPlayer("playHead", 0);
		} else {
			loadPrev();
		}
	}
}

function next() {
	if (current_track) {
		var next_track = current_track.next();
		if (next_track.length != 0) {
			next_track.click();
		} else {
			$("#playlist li").first().click();
		}
	}
}

function loadPrev() {
	if (current_track) {
		var prev_track = current_track.prev();
		if (prev_track.length != 0) {
			prev_track.click();
		} else {
			$("#playlist li").last().click();
		}
	}
}
