var paused = null
var tracks = [];
var music_time_bar = [];
var music_volume_bar = [];

function play_track(sound_id)
 {
 	var botonPause = "<a onclick=\"pause_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\" class=\"play-pause paused\">Pausar</a>";
	Element.update(sound_id + "_div", botonPause);
 	soundManager.play(sound_id);
	Element.replace("mute_link_" + sound_id, '<a onclick="toggle_mute(\'' + sound_id + '\', this); return false;" id="mute_link_'+sound_id+'" href="#" class="mute_link">mute</a>');
	start_timeline_handle(sound_id);
	start_volume_handle(sound_id);
	timelinesound = 'timeline_' + sound_id
	$(timelinesound).setStyle({width: '366px', margin: '4px 2px 0 5px'})
 }
function play_track_embeded(sound_id)
 {
 	var botonPause = "<a onclick=\"pause_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\" class=\"play-pause paused\">Pausar</a>";
	Element.update(sound_id + "_div", botonPause);
 	soundManager.play(sound_id);
	Element.replace("mute_link_" + sound_id, '<a onclick="toggle_mute(\'' + sound_id + '\', this); return false;" id="mute_link_'+sound_id+'" href="#" class="mute_link">mute</a>');
	start_timeline_handle(sound_id);
	start_volume_handle(sound_id);
	timelinesound = 'timeline_' + sound_id
	$(timelinesound).setStyle({width: '70%', margin: '4px 1px 0 4px'})
 } 
function start_timeline_handle(sound_id){
	var mySMSound = soundManager.getSoundById(sound_id);
	music_time_bar[sound_id] = false;
	handle = 'timeline_handle_' + sound_id;
	music = 'timeline_' + sound_id;
	music_time_bar[sound_id] = new Control.Slider($(handle), $(music), {
		range: $R(0, 100),
		sliderValue: 0,
		maximum: 363,
		increment: 1,
		seek: false,
		sliding: false,
		onSlide: function(value){
			this.seek = true;
			this.sliding = true;
			updateProgressBar(mySMSound);
		//	Element.setStyle('progressbar_' +  sound_id ,{ width: bar_position + "%" });
		//	setTrackTimer(sound_id, position);
		},
		onChange: function(value){
			if (this.seek == true) {
				this.seek = false;
				seek_to = (parseFloat(value) / 100) * parseInt(mySMSound.duration);
				mySMSound.setPosition(seek_to);
			}
			this.sliding = false;
		}
	});
}
function start_volume_handle(sound_id){
	var mySMSound = soundManager.getSoundById(sound_id);
	music_volume_bar[sound_id] = false;
	handle = 'volume_handle_' + sound_id;
	volume = 'volume_' + sound_id;
	music_volume_bar[sound_id] = new Control.Slider($(handle), $(volume), {
		range: $R(0, 100),
		sliderValue: mySMSound.options.volume,
		increment: 1,
		seek: false,
		sliding: false,
		onSlide: function(value){
			seek_to = (parseFloat(value) / 100) * 100;
			mySMSound.setVolume(seek_to);
			divid = "volume_value_" + sound_id;
			$(divid).update(parseInt(seek_to));
		},
		onChange: function(value){
			if (this.seek == true) {
				this.seek = false;
				seek_to = (parseFloat(value) / 100) * 100;
				mySMSound.setVolume(seek_to);
				divid = "volume_value_" + sound_id;
				$(divid).update(parseInt(seek_to));
			}
			this.sliding = false;
		}
	});
	divid = "volume_value_" + sound_id;
	$(divid).update(mySMSound.options.volume);
	
}


 
function stop_track(sound_id)
 {
 	soundManager.stop(sound_id);
	document.getElementById(sound_id + "img").src = '/images/player/button_play.png';
 }
 
function resume_track(sound_id)
 {
 	soundManager.resume(sound_id);
 	var botonPause = "<a onclick=\"pause_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\" class=\"play-pause paused\">Pausar</a>";
	Element.update(sound_id + "_div", botonPause);
 }

function pause_track(sound_id)
 {
 	soundManager.pause(sound_id);
 	var botonPlay = "<a onclick=\"resume_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\" class=\"play-pause\">Play</a>";
	Element.update(sound_id + "_div", botonPlay);
 }
 
 
function format_timer(secs) {
		var m = (secs / 60) | 0;
		return (m < 10 ? "0" + m : m) + ":" + ( ( secs %= 60 ) < 10 ? "0" + secs : secs);
}
 
function updateLoadBar(sound_id, bytesLoaded, bytesTotal, durMsec, estimate)
{
	var loaded = ((parseFloat(bytesLoaded) * 100) / parseInt(bytesTotal));
	var p = Math.round(loaded);
	sytle = p + "%";
	Element.setStyle('loadbar_' +  sound_id ,{ width: sytle });
}

function updateProgressBar(objeto)
{
	sound_id = objeto.sID;
	position = objeto.position;
	duration = objeto.duration;
	estimate = objeto.durationEstimate;
	if (duration < estimate) {
		bar_position = (parseFloat(position) * 100) / parseInt(estimate);
	}else{
		bar_position = (parseFloat(position) * 100) / parseInt(duration);
	}
	Element.setStyle('progressbar_' +  sound_id ,{ width: bar_position + "%" });
	setTrackTimer(sound_id, position);
	
	// tiempo que falta para q termine el track
	if (parseInt(objeto.bytesLoaded) == parseInt(objeto.bytesTotal))
	 {
	 	setDuration(sound_id, objeto.duration, position);
	 }else{
	 	// tiempo estimado hasta que cargue todo
	    setDuration(sound_id, estimate, position);
	 }
	music_time_bar_seek(bar_position, sound_id);
}
function setTrackTimer(sound_id, durMsec)
 {
 	duration = format_timer(Math.floor(durMsec / 1000));
	Element.update('timer_' + sound_id, duration);	
 }
function setDuration(sound_id, totalDuration, currentPosition)
{
	timeleft = Math.floor(totalDuration / 1000) - Math.floor(currentPosition / 1000);
	timemins = format_timer(timeleft);
	Element.update('duration_' + sound_id, "-"+timemins);
}


function music_time_bar_seek(value,sound_id) {		
	if (music_time_bar[sound_id]) {
		if (music_time_bar[sound_id].options.sliding == false) {
			music_time_bar[sound_id].setValue(value);
		}
		//$('timeline_music').show();
	}
}
function toggle_mute(sound_id, link_id){
	var mySMSound = soundManager.getSoundById(sound_id);
	soundManager.toggleMute(sound_id);
	if ($(link_id).hasClassName('mute') == true) {
		//mySMSound.unmute(sound_id);
		$(link_id).removeClassName('mute');	
	}
	else {
		//mySMSound.mute(sound_id);
		$(link_id).addClassName('mute');
	}
}
function endTrack(sound_id)
{
     var current_time = 0;	
	 //Element.update(sound_id, '<img alt="Play" border="0" src="/images/player/button_play.png"/>');
	 music_time_bar[sound_id].options.seek = false;
	 music_time_bar[sound_id].options.sliding = false;
	 //Element.update(sound_id + "_div", "<a onclick=\"play_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\"></a>");
	 //Element.update(sound_id, '<img alt="Pause" title="Play" border="0" src="/images/player/button_play.png"/>');
 	 var botonPlay = "<a onclick=\"play_track('" + sound_id + "'); return false;\" id=\""+ sound_id + "\" href=\"#\" class=\"play-pause\">Play</a>";
	 Element.update(sound_id + "_div", botonPlay);


	 //Element.setStyle('progressbar_' +  sound_id ,{ width: '0%' });
	 //Element.update('timer_' + sound_id, "0:00"); 
     //soundManager._writeDebug('sound:'+ 'progressbar_' + sound_id +' loading, '+ position+' of '+ duration);	
}


