var _currentPlayer;
var _currentItem;

function supports_video()
{
	return !!document.createElement('video').canPlayType;
}

$(function(){
if(supports_video())
{
	function findPlayer(button, player, item)
	{
		var playerId = $(button).attr('rel');
		var playerNode = $('#'+playerId).get(0);
		if ($(button).hasClass('video_play'))
		{
			var itemNode = $(button).parent().parent().parent().get(0);
		}
		else
		{
			var itemNode = $(button).parent().get(0);
		}

		if ((typeof player != "undefined") && (player != playerNode))
		{
			_currentPlayer.pause();
			$(player).parent().find('a.video_play').removeClass('video_playing').text('Play');
			Cufon.refresh('.typeface-link');
			$(player).unbind();
		}

		if ((typeof item != "undefined") && (item != itemNode))
		{
			$(item).find('.video_progress').unbind();
		}
		_currentItem = itemNode;
		_currentPlayer = playerNode;
	}

	$('a.video_play, a.pause_switch').bind('click',function(event){
		findPlayer(this,_currentPlayer,_currentItem);
		if (_currentPlayer.paused)
		{
			$(_currentItem).find('.pause_switch').hide();
			$(_currentItem).find('a.video_play').addClass('video_playing').text('Pause');
			Cufon.refresh('.typeface-link');
			_currentPlayer.play();
		}
		else
		{
			$(_currentItem).find('.pause_switch').show();
			$(_currentItem).find('a.video_play').removeClass('video_playing').text('Play');
			Cufon.refresh('.typeface-link');
			_currentPlayer.pause();
		}

		$(_currentPlayer).bind('click',function(event) {
			event.preventDefault;
			$(_currentItem).find('a.video_play').trigger('click');
		});

		$(_currentPlayer).bind('timeupdate', function(event) {
			if ( typeof(this.buffered) != "undefined"){
				var p = 100*this.buffered.end()/this.duration;
				$(_currentItem).find('.video_progress_readahead').css("width", p+"%");
			}
			var percentage=0;
			if ( (typeof this.duration!="undefined") && (this.duration>0))
			{
				percentage=100*this.currentTime/this.duration;
			}
			$(_currentItem).find('.video_progress_bar').css("width", percentage+"%");
		});

		$(_currentItem).find('.video_progress').bind('click',function(event) {
			var h_offset = $(event.currentTarget).offset();
			var relativeX = event.pageX-h_offset.left;
			var percentage = 100 * relativeX / $(this).width();
			if (typeof _currentPlayer.duration != "undefined")
			{
				if (_currentPlayer.duration > 0)
				{
					_currentPlayer.currentTime = _currentPlayer.duration * percentage / 100;
				}
			}
		});
		event.preventDefault();
	});
}
else
{
	$('.pause_switch, .controls').hide();
}
});
