//
// LA Weekly Digital Jukebox
// Profile Page
// MP3 Player Controller
//


//
var controls = new Object();

controls['01'] = new Object();
controls['01']['init'] = new Image();
controls['01']['init'].src = 'http://jukebox.laweekly.com/images/global/controls_init_01.gif';
controls['01']['over'] = new Image();
controls['01']['over'].src = 'http://jukebox.laweekly.com/images/global/controls_over_01.gif';
controls['01']['down'] = new Image();
controls['01']['down'].src = 'http://jukebox.laweekly.com/images/global/controls_down_01.gif';

controls['02'] = new Object();
controls['02']['init'] = new Image();
controls['02']['init'].src = 'http://jukebox.laweekly.com/images/global/controls_init_02.gif';
controls['02']['over'] = new Image();
controls['02']['over'].src = 'http://jukebox.laweekly.com/images/global/controls_over_02.gif';
controls['02']['down'] = new Image();
controls['02']['down'].src = 'http://jukebox.laweekly.com/images/global/controls_down_02.gif';

controls['03'] = new Object();
controls['03']['init'] = new Image();
controls['03']['init'].src = 'http://jukebox.laweekly.com/images/global/controls_init_03.gif';
controls['03']['over'] = new Image();
controls['03']['over'].src = 'http://jukebox.laweekly.com/images/global/controls_over_03.gif';
controls['03']['down'] = new Image();
controls['03']['down'].src = 'http://jukebox.laweekly.com/images/global/controls_down_03.gif';

controls['04'] = new Object();
controls['04']['init'] = new Image();
controls['04']['init'].src = 'http://jukebox.laweekly.com/images/global/controls_init_04.gif';
controls['04']['over'] = new Image();
controls['04']['over'].src = 'http://jukebox.laweekly.com/images/global/controls_over_04.gif';
controls['04']['down'] = new Image();
controls['04']['down'].src = 'http://jukebox.laweekly.com/images/global/controls_down_04.gif';
//


//
function swap_control_image( control_index, state ) {
	var img = document.images['icon_' + control_index];
	
	switch( state ) {
		case 'over': {
			switch( control_index ) {
				case '02': {
					state = play_state == 1 ? 'down' : 'over';
					break;
				}
				
				case '03': {
					state = play_state == 0 ? 'down' : 'over';
					break;
				}
				
				default: {
					state = 'over';
					break;
				}
			}
			break;
		}
		
		case 'down': {
			switch( control_index ) {
				case '01':
				case '04': {
					state = 'over';
					break;
				}
			}
			break;
		}
	
		case 'out': {
			switch( control_index ) {
				case '02': {
					state = play_state == 1 ? 'down' : 'init';
					break;
				}
				
				case '03': {
					state = play_state == 0 ? 'down' : 'init';
					break;
				}
				
				default: {
					state = 'init';
					break;
				}
			}
			break;
		}
	}
	
	img.src = controls[control_index][state].src;
}
//


//
var speaker_icons = new Object();
speaker_icons.speaker_on = new Image();
speaker_icons.speaker_on.src = 'http://jukebox.laweekly.com/images/global/speaker_icon_on.gif';
speaker_icons.speaker_off = new Image();
speaker_icons.speaker_off.src = 'http://jukebox.laweekly.com/images/global/speaker_icon_off.gif';
//


//
var current_track = 1;
var play_state = 1; // 1 = play, 0 = pause
//


//
function play_prev() {
	var prev = current_track > 1 ? current_track - 1 : track_count;
	soundManager.stop( 'Track_' + current_track );
	soundManager.play( 'Track_' + prev );
	current_track = prev;
	play_state = 1;
	update_controls();
}
//


//
function play() {
	soundManager.resume( 'Track_' + current_track );
	play_state = 1;
	update_controls();
}
//


//
function pause() {
	soundManager.pause( 'Track_' + current_track );
	play_state = 0;
	update_controls();
}
//


//
function play_next() {
	var next = current_track < track_count ? current_track + 1 : 1;
	soundManager.stop( 'Track_' + current_track );
	soundManager.play( 'Track_' + next );
	current_track = next;
	play_state = 1;
	update_controls();
}
//


//
function reset() {
	current_track = 1;
	pause();
}
//


//
function update_controls() {
	
	for ( var i = 1; i <= track_count; i++ ) {
		var speaker_icon = document.images['speaker_icon_' + i];
		speaker_icon.src = current_track == i ? speaker_icons.speaker_on.src : speaker_icons.speaker_off.src;
	}
	
	document.images['icon_03'].src = play_state == 1 ? controls['03']['init'].src : controls['03']['down'].src;
	document.images['icon_02'].src = play_state == 1 ? controls['02']['down'].src : controls['02']['init'].src;

}
//
