var nbTracks = 0;

var play_default = 'off';
var pause_default = 'off';
var stop_default = 'off';

var stop_state;
var pause_state;
var play_state;
var contact_state;
var buffer_state;
var seek_state;
state_names = new Array('Stopped','Contacting','Buffering','Playing','Paused','Seeking');

if (real) {
	stop_state = 0;
	contact_state = 1;
	buffer_state = 2;
	play_state = 3;
	pause_state = 4;
	seek_state = 4;
} else {
	stop_state = 0;
	pause_state = 1;
	play_state = 2;
}
var player_state = stop_state;

function i2h(id) {
	handler = (document.getElementById(id))?document.getElementById(id):false;
	return handler;
}
function setVolume(h_button) {
	var num = h_button.id.substr(h_button.id.length-1, 1);
	var increment = 16.666;
	if (real) {
		i2h(i_player).SetVolume(num*increment);
	} else {
		i2h(i_player).Volume = 1000*Math.log(Math.round(num*increment)/100);
	}
	for (var i=1; i<=6; i++) {
		var whatto = (i<=num)?'on':'off';	
		change(i2h('vol'+i), whatto, '');
	}
}
function setVolumeById(num) {
	var increment = 16.666;
	if (real) {
		i2h(i_player).SetVolume(num*increment);
	} else {
		i2h(i_player).Volume = 1000*Math.log(Math.round(num*increment)/100);
	}
	for (var i=1; i<=6; i++) {
		if (!(fox && wmp)) {
			var whatto = (i<=num)?'on':'off';	
			change(i2h('vol'+i), whatto, '');
		}
	}
}
function ToggleMute() {
	var bMuteState;
	if (real) {
		bMuteState = i2h(i_player).GetMute();
		if (bMuteState == true) {
			i2h(i_player).SetMute(false);
		} else {
			i2h(i_player).SetMute(true);
		}
	} else {
		bMuteState = i2h(i_player).Mute;
		if (bMuteState == true) {
			i2h(i_player).Mute = false;
		} else {
			i2h(i_player).Mute = true;
		}
	}
}
/* wmp only */
function goFullscreen(mode) {
	if ((mode == null) || (mode == '')) {
		mode = 3;
	}
	if (fox) {
		i2h(i_player).displaySize = mode;
	}
}
function StopClick() {
	if (!fox) {
		i2h(i_player).Stop();
		i2h(i_player).CurrentPosition=0;
	}
}
function PlayClick() {
	PauseClick();
	i2h(i_player).Play();
}
function PauseClick() {
	if (i2h(i_player).PlayState == 2){
		i2h(i_player).Pause()
	} else if (i2h(i_player).PlayState == 1){
		i2h(i_player).Play();
	}
}
function ForcePause() {
	if (i2h(i_player).PlayState == 2) {
		i2h(i_player).Pause();
	}
}
/* /wmp only */
function rebuild() {
	if (real) {
		play_str_real_emb = '<embed src="' + zic_url + '" name="RealPlayer" id="RealPlayer" type="audio/x-pn-realaudio-plugin" console="cons" height="0" width="0" autogotourl="true" autostart="false" maintainaspect="true" scriptcallbacks="OnPosLength,OnPlayStateChange" style="display:inline; border:0px none red; margin:0px; padding:0px; visibility:hidden;"></embed>';
		play_str_real_emb += '<div class="infobox" id="infobox" style="background:#005577; border:1px solid #9FBFCC; height:18px; width:205px; padding:2px 3px 0px 3px;" onClick="updateInfo();"></div>';
		i2h('player_contener').innerHTML = play_str_real_emb;
	} else {
		if ( i2h('player_largecontener') ) {
			play_str_wmp_emb = '<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" src="' + zic_url + '" id="MediaPlayer" name="MediaPlayer" autostart="1" animationatstart="1" transparentatstart="0" AllowChangeDisplaySize="0" AutoSize="0" DisplaySize="0" enableContextMenu="1" windowless="1" height="64" width="270" ShowControls="1" ShowStatusBar="1"></embed>';
			i2h('player_contener').innerHTML = play_str_wmp_emb;
		} else {
			play_str_embed = '<embed type="application/x-mplayer2" id="MediaPlayer" name="MediaPlayer" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" src="' + vid_url + '" autostart="1" animationatstart="1" transparentatstart="1" displaysize="4" enableContextMenu="1" AutoSize="0" class="mplayer" ShowControls="1" ShowStatusBar="1" AllowChangeDisplaySize="1" ></embed>';
			i2h('player_contener').innerHTML = play_str_embed;
		}
	}
}

function linkMedia(myurl, title) {
	doPlayStateChanges(player_state,stop_state);
	title = (typeof title != 'undefined')?title:'titre inconnu';
	glob_title = (title.length > 17)?title.substr(0,17)+'...':title;
	if (real) {
		if (ie) {
			//i2h(i_player).SetAutoStart(true);
			i2h(i_player).SetSource(myurl);
		} else {
			zic_url = myurl;
			rebuild();
		}
		//if (player_state != play_state) {
			timerID = setTimeout("doPlayStateChanges(player_state,play_state);",50);
			//doPlayStateChanges(player_state,play_state);
		//}
	}	else {
		if (fox) {
			zic_url = myurl;
			vid_url = myurl;
			rebuild();
			rsize();
		} else {
			i2h(i_player).FileName = myurl;
		}
	}
}

function OnDSPlayStateChangeEvt(oldState,newState) {
	doPlayStateChanges(oldState,newState);
}
function doPlayStateChanges(oldState,newState) {
	change(i2h('btn_play'), 'off');
	change(i2h('btn_pause'), 'off');
	change(i2h('btn_stop'), 'off');
	play_default = 'off';
	pause_default = 'off';
	stop_default = 'off';
	if (real) {
		newState=((oldState == pause_state) && (newState == pause_state))?play_state:newState;
	}
	player_state = newState;
	switch(newState) {
		case stop_state:
			change(i2h('btn_stop'), 'on');
			stop_default = 'on';
			if (real) {
				i2h(i_player).DoStop();
			}
			break;
		case pause_state:
			change(i2h('btn_pause'), 'on');
			pause_default = 'on';
			if (real) {
				i2h(i_player).DoPause();
			}
			break;
		case play_state:
			change(i2h('btn_play'), 'on');
			play_default = 'on';
			if (real) {
				i2h(i_player).DoPlay();
			}
			break;
	}
}
function MarkerGoto(position){
	position = Math.round(position/1000);
	i2h(i_player).CurrentPosition = position;
}
function m_change(obj, what, options) {
	if (real) {
		var bMuteState = i2h(i_player).GetMute();
	} else {
		var bMuteState = i2h(i_player).Mute;
	}
	var opt = (typeof options == 'undefined')?'':options;
	if (bMuteState == true && what == 'off') {
		change(obj, 'on', opt);
	} else {
		change(obj, what, opt);
	}
}
function v_change(obj, what, options) {
	var opt = (typeof options == 'undefined')?'':options;
	var myid = obj.id;
	var num = obj.id.substr(obj.id.length-1, 1);
	for (var i=1; i<=6; i++) {
		var whatto = (i<=num)?'on':'off';
		change(i2h('vol'+i), whatto, '');
	}
}

/* --> playlist */
var cur_list = new Array();

function genListe(listeId) {
	cur_list = listeId;
	var liste = "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"276\" class=\"bg_EEE pad_2 cadre_playlist\">";
	for( i=1; i<listeId.length; i++) {
		liste += "<tr id=\"track"+i+"\" class=\"t\"><td align=\"right\">"+i+".&nbsp;</td><td><a href=\"#\" onclick=\"gotoTrack("+i+",'"+listeId[i]["titreesc"]+"');\"><img src=\"/Icons/pic_son.gif\" border=\"0\"/> "+listeId[i]["titre"]+"</a></td></tr>";
	}
	liste += "<tr><td align=\"right\" colspan=\"2\" class=\"t\"><a href=\"#\" onclick=\"clearListe();doPlayStateChanges(player_state,stop_state);\">x Fermer</a></td></tr>";
	liste += "</table>";
	nbTracks = listeId.length;
	return liste;
}
function showListe(listeId) {
	var liste = genListe(listeId);
	i2h("tracksListe").innerHTML = liste;
	i2h("container").style.display="block";
}

function clearListe() {
	if (i2h("container").style.display != "none" ) {
		i2h("container").style.display="none";
		i2h("tracksListe").innerHTML = "";
	}
}

function majTrackListe(track) {
	cur_track = (typeof track == 'undefined')?i2h(i_player).GetCurrentEntry()+1:track;
	for( i=1; i<nbTracks; i++) {
		change(i2h("track"+i),'t','howto=truechoice');
	}
	change(i2h("track"+cur_track),'t bold', 'howto=truechoice');
	if (typeof cur_list[cur_track] != 'undefined') {
		var title = cur_list[cur_track]["titreesc"];
		title = title.replace(/_/g,' ');
		glob_title = (title.length > 17)?title.substr(0,17)+'...':title;
	}
}

function gotoTrack(target_track, title) {
	title = (typeof title != 'undefined')?title:'titre inconnu';
	title = title.replace(/_/g,' ');
	glob_title = (title.length > 17)?title.substr(0,17)+'...':title;
	var my_track = i2h(i_player).GetCurrentEntry()+1;
	var delta = target_track - my_track;
	if (delta < 0 ) {
		for (i=0; i>delta; i--) {
			i2h(i_player).DoPrevEntry();
		}
	}	else if (delta > 0) {
		for (i=0; i<delta; i++) {
			i2h(i_player).DoNextEntry();
		}
	}
	majTrackListe(target_track);
}

/* playlist <-- */


