$(function() {
	var curpage = $("#curpage").val();
	if(curpage == "index") {
		index.init();
	}
	else if(curpage == "music") {
		musicplayer.init();
	}
	
	$("#wrapper").FormSelectRestyled(true, "pulldown");
});

var index = function() {
	function init() {
		musicplayer.init();
		$("#findtl").click(findTracklist);
	}
	
	function findTracklist() {
		var form = $(this).parent()[0];
		location.href = "/" + form.show.value + "/" + form.episode.value;
	}
	
	return {
		init: init
	}
}();

var musicplayer = function() {
	var curPlayer;
	
	function init() {
		$(".musicplayer h3").click(openPlayer);
	}
	
	function openPlayer() {
		var player = $(this).next("div");
		if(curPlayer != null) {
			curPlayer.hide();
			if(player[0] == curPlayer[0]) {
				curPlayer = null;
				return;
			}
		}
		
		player.show();
		curPlayer = player;
	}
	
	return {
		init: init
	}
}();



/* Form Select Restyled v1.2.1 Beta - jQuery Plugin
* Copyright (c) 2010 Patrik Totero
* Author: 	Patrik Totero, www.patriktotero.com
* Released with the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
(function($) {
	$.fn.FormSelectRestyled = function($nameAsId, $className, $noSelectSign, $maxHeight) {
		return this.each(function() {
			var $parent = $(this);
			$parent.find('select').each(function(i, elm) {
				var $selectWidth = $(elm).width();
				$(elm).find('option').each(function(i, elm) {
					if ($(elm).attr('value') == '') {
						$(elm).text($noSelectSign + $(elm).text() + $noSelectSign);
					}
					if (i == 0) {
						$(elm).wrapInner('<span />');
						$($parent).data('form-values', { selectValue: $(elm).val() });
					}
					var $innerHtml = $(elm).html();
					if ($(elm).val() == '') {
						$(elm).replaceWith('<li class="' + $className + '-section">' + $innerHtml + '</li>');
					} else {
						$(elm).replaceWith('<li>' + $innerHtml + '</li>');
					}
				});
				var $innerHtml = $(elm).html();
				var $ul = $('<ul />');
				var classFunctions = $(elm).attr('class').split(' ');
				$(elm).replaceWith($ul);
				if ($nameAsId) {
					var $id = $(elm).attr('name');
					$ul.attr('id', $id);
					var $input = $('<input type="hidden" name="' + $id + '" value="' + $($parent).data('form-values').selectValue + '" />');
					$ul.after($input);
				}
				$ul.html($innerHtml);
				$ul.attr('class', $className);
				var $li = $ul.find('li');
				$($li[0]).clone().appendTo($li[0]);
				$li.each(function(i, elm) {
					if (i > 0) {
						$(elm).detach().appendTo($li[0]);
					}
				});
				$ul.find('li li').wrapAll('<ul class="' + $className + '-drop" />');
				$('.' + $className + '-drop', $ul).css({
					top: $li.innerHeight(),
					width: $ul.width()
				});
				$ul.append('<li class="' + $className + '-open"><span /></li>');
				$('.' + $className + '-open span', $ul).css({
					width: 20 + 'px',
					height: 20 + 'px'
				}).bind('click', function() {
					var offset = $ul.offset();
					var $clone = $(this).parent().prev().find('ul').clone();
					$('body').append($clone);
					$clone.wrap('<div id="' + $className + '-clone" />').removeClass();
					$clone.find('li').not('.' + $className + '-section').bind('click', function() {
						$($li[0]).find('span').eq(0).text($(this).text());
						if ($nameAsId) $($input).attr('value', $(this).text());
					});
					if($maxHeight > 0){
					    $clone.parent().css({
					        height:$maxHeight + 'px',
					        'overflow':'hidden',
					        'overflow-y':'scroll'
					    });
					}
					$clone.parent().css({
						display: 'none',
						position: 'absolute',
						top: offset.top + $ul.height() + 'px',
						left: offset.left + 'px',
						width: $ul.width()
					}).fadeIn('fast', function() {
						$(this).one('mouseleave', function() {
							$(this).fadeOut('fast', function() {
								$(this).remove();
							});
						}).one('click', function() {
							$(classFunctions).each(function(i, obj) {
								if (obj.indexOf('func-') != -1) {
									var func = obj.substring(5, obj.length);
									eval(func + '("' + $ul.attr("id") + '");');
								}
							});
							$(this).fadeOut('fast', function() {
								$(this).remove();
							});
						});
					});
				});
			});
		});
	}
})(jQuery);
