document.write('<script type="text/javascript" src="/sound/soundmanager2.js"></script>');

var $i = 0;
var $track = {}
var $play = true;
var $player_ready = false;
var $busy = false;
var animate = true;

$(document).ready(function() {
	soundManager.url = '/sound/'; // path to directory containing SoundManager2 .SWF file
	soundManager.onload = function() {
		// soundManager.next();
	}

	soundManager.next = function() {
		$player_ready = true;
	
		$.getJSON('/mp3/?id=' + $i, function(e) {
			soundManager.stopAll();
			// soundManager.defaultOptions.volume = 0;
	
			soundManager.createSound('sound' + $i, e.track_url);
			soundManager.play('sound' + $i);
			$play = true;
			$track = e;
	
			$i++;
			$busy = true;
			updateDisplay();
			updatePlay();
			
			jQuery('.audio-player a.main-image.secondary img').attr('src', $track.image);
		});
	}

	jQuery(document).keypress(function(t) {
		switch( t.keyCode ) {
			case 39:
				if( $player_ready ) {
					soundManager.next();
				}
			break;
			default:
				if( t.charCode == 32 ) {
					if( $play ) {
						soundManager.pause('sound' + ($i-1));
						$play = false;
						updatePlay();
					} else {
						soundManager.resume('sound' + ($i-1));
						$play = true;
						updatePlay();
					}
				}
			break;
		}
	});
	
	jQuery('.audio-player span.play, .audio-player span.pause').live('click', function() {
		if( $i == 0 ) {
			soundManager.next();
			$(this).removeClass('play').addClass('pause');
		} else {
			if( $play ) {
				soundManager.pause('sound' + ($i-1));
				$play = false;
				jQuery('.audio-player .the-caption span.pause').removeClass('pause').addClass('play');
			} else {
				soundManager.resume('sound' + ($i-1));
				$play = true;
				jQuery('.audio-player .the-caption span.play').removeClass('play').addClass('pause');
			}
		}
		
		return false;
	});
	
	jQuery('.audio-player span.next').live('click', function() {
		soundManager.next();
		updatePlay();
		return false;
	});
});

function updatePlay() {
	if( $play ) {
		jQuery('.audio-player .caption span.play, .audio-player .caption span.pause').removeClass('play').addClass('pause');
	} else {
		jQuery('.audio-player .caption span.play, .audio-player .caption span.pause').removeClass('pause').addClass('play');
	}
}

function updateDisplay() {
	jQuery('.audio-player .the-caption .left .inside').html( '"<span class="title">' + $track.track_title + '</span>" by <span class="artist">' + $track.track_artist + '</span>' );
}

function mp3_bind() {
	var width = 20;
	
	var inside = jQuery('.the-caption .left .inside');
	inside.find('span').each(function() {
		width += $(this).width();
	});
	inside.width( width );

	jQuery('.audio-player a.main-image img').bind('load', function() {
		if( $player_ready && $i > 1 ) {
			jQuery('.albumart-holder').animate({'left':-221}, function() {
				var $primary = jQuery('.audio-player a.main-image:not(.secondary)');
				var $secondary = jQuery('.audio-player a.main-image.secondary');

				$primary.insertBefore($secondary).addClass('secondary');
				$secondary.removeClass('secondary');

				$(this).css('left', 0);

				$busy = false;
			});
		}
	});

	animate_the_title();
}

function animate_the_title() {
	var inside = jQuery('.the-caption .left .inside');

	inside.animate({
		'left': ( parseInt(inside.css('left').replace('px', '')) >= 0 ? -1 : 0 ) * (inside.width() - 156)
	}, 5000, function() {	
		animate_the_title();
	});
}