/*
Funciones necesarias para la carga del reproductor 
Windows Media Player en el player de CanalGV
*/

var vol_dir = 50;
var actual_channel = 0;

// Create an ActiveX/GeckoActiveX constructor
function AXO(id)
{
	var error; var control = null;
	try {
		if (window.ActiveXObject && navigator.userAgent.indexOf('Win') != -1) control = new ActiveXObject(id);
		else if (gkoaxwma) control = new GeckoActiveXObject(id);
	}
	catch (error) {}
	return control;
}

function createWMP()
{
	// Set some base values
	var windowsmedia=new Object();
	windowsmedia.installed=false;
	windowsmedia.version='0';
	
	// Gecko: tiene plugin de ActiveX?
	var gkoaxwma=false;
	if (navigator.plugins && navigator.plugins.length) {
	  for (x=0; x<navigator.plugins.length; x++) { 
	    if (navigator.plugins[x].name.indexOf('ActiveX') != -1 && window.GeckoActiveXObject) { 
			gkoaxwma=true; break; 
		} 
	  } 
	}
	if (window.ActiveXObject || gkoaxwma) {
		try
		{
			oWMP=new AXO('WMPlayer.OCX.7');
			if (oWMP)
			{
				windowsmedia.installed=true;
				// A wierd bug in the Gecko ActiveX plug-in will return
				// undefined at the first call, but the correct value on the second.
				// This "fix" doesn't seem to hurt IE at all.
				parseFloat(oWMP.versionInfo);
				windowsmedia.version=parseFloat(oWMP.versionInfo);
				if(isNaN(windowsmedia.version)) windowsmedia.version = 6;
			}
		}
		catch(e) {}
	}else if (navigator.plugins && navigator.plugins.length) {
		for (x=0; x<navigator.plugins.length; x++)
		{
			if (navigator.plugins[x].name.indexOf('Windows Media') != -1)
			{
				//alert(navigator.plugins[x].name+" - "+navigator.plugins[x].description);
				windowsmedia.installed=true;
				//nunca saldrá el mensaje. Imposible detectar versión del plugin
				windowsmedia.version=9;
				break;
			}
		}
	}
	return windowsmedia;
}

function showPluginWMP(WMP,URL,mess1,mess2)
{
	if (!WMP.installed || WMP.version < 9)
		document.write("&nbsp;&nbsp;"+mess1+" <a href='"+URL+"' target='_blank'>"+mess2+"</a><br><br>");
}

function showWMP(WMP,URL,File,mess1,playerSize,BGcolor,uiMode,playerID)
{
  //alert(height);
  if (navigator.appName == "Microsoft Internet Explorer"){ 
    // Windows Media Player 7 Code o Superior
	if (WMP.version >= 7) {
		 //Escibimos el objeto para IE
		 document.write ('<OBJECT ID=wmp'+playerID+' ');
		 //document.write ('onactivate="this.settings.mute='+defmute+'" ');
		 //document.write (defdisplay+' ');
		 document.write ('CLASSID=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 ');
		 document.write ('CODEBASE='+URL+' ');
		 document.write ('standby='+mess1+' ');
		 document.write (playerSize);
		 document.write (' TYPE="application/x-oleobject">');		 
		 document.write ('<PARAM NAME="url" VALUE="'+File+'">');
		 //document.write ('<PARAM NAME="AutoSize" VALUE="<cfoutput>#int_AutoSize#</cfoutput>">');
		 document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		 document.write ('<param name="Loop" value="0">');		 
		 document.write ('<param name="volume" value="50">');	
		 document.write ('<PARAM NAME="uiMode" VALUE="'+uiMode+'">');
		 document.write ('<param name="AnimationAtStart" value="1">');
		 document.write ('<PARAM NAME="DisplayBackColor" VALUE="'+BGcolor+'">');
		 document.write ('<param name="ShowControls" value="1">');		 		 		 
		 document.write ('<param name="ShowDisplay" value="0">');
		 document.write ('<param name="AutoSize" value="true">');
		 document.write ('<param name="ShowStatusBar" value="1">');
		 document.write ('<param name="TransparentAtStart" value="1">');		 
		 document.write ('</OBJECT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		 //Propiedades del objeto
		 //wmp.enableContextMenu = true;
	// Windows Media Player 6.4 Code
	}else{
		 //Escribimos el objeto para IE
		 document.write ('<OBJECT ID=wmp'+playerID+' ');
		 //document.write (defdisplay+' ');
		 //document.write ('onactivate="this.settings.mute='+defmute+'" ');
		 document.write ('CLASSID=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 ');
		 //http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab##Version=6,4,5,715
		 document.write ('CODEBASE='+URL+' ');
		 document.write ('standby='+mess1+' ');
		 document.write (playerSize);
		 document.write (' TYPE="application/x-oleobject">');
		 document.write ('<PARAM NAME="FileName" VALUE="'+File+'">');
		 //document.write ('<PARAM NAME="AutoSize" VALUE="<cfoutput>#int_AutoSize#</cfoutput>">');
		 document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		 document.write ('<param name="Loop" value="0">');		 
		 document.write ('<param name="volume" value="50">');
		 document.write ('<PARAM NAME="uiMode" VALUE="none">');
		 document.write ('<param name="AnimationAtStart" value="1">');
		 document.write ('<PARAM NAME="DisplayBackColor" VALUE="'+BGcolor+'">');
		 document.write ('<param name="ShowControls" value="0">');		 		 		 
		 document.write ('<param name="ShowDisplay" value="0">');
		 document.write ('<param name="AutoSize" value="true">');
		 document.write ('<param name="ShowStatusBar" value="1">');
		 document.write ('<param name="TransparentAtStart" value="1">');
		 document.write ('</OBJECT>');
		 
	}
  }else{ 
	//Escribimos el objeto para resto navegadores
	
	document.write ('<OBJECT ID="wmp'+playerID+'" type="application/x-ms-wmp" '+playerSize+'>');
	document.write ('<PARAM name="autoStart" value="True">');
			   
	document.write ('<param name="uiMode" value="none">');
	document.write ('<param name="volume" value="50">');
	document.write (' <PARAM name="URL" value="'+File+'">');
	document.write ('</OBJECT>');
  }	
}

function controlAction(action) {

	if (document.getElementById('wmp1')){
		var players = new Array(document.getElementById('wmp0'),document.getElementById('wmp1'));
		numero_players = players.length;
	}else{
		var players = document.getElementById('wmp0');
		numero_players = 1;
	}
	
	for(var i=0; i < numero_players; i++){
		if (numero_players == 1){
			p_actual = players;
		}else{
			p_actual = players[i];
		}		
		switch (action) {
			case "play":
				if (p_actual.playState == 3) {
					p_actual.controls.pause();
					document.getElementById('playIcon').innerHTML = '<img class="icon" src="../../media/play_player.gif" title="Play" border="0" />';
					document.getElementById('playIcon').title = "Play";
			    } else {
					p_actual.controls.play();
					document.getElementById('playIcon').innerHTML = '<img class="icon" src="../../media/pause_player.gif" title="Pause" border="0" />';
					document.getElementById('playIcon').title = "Pause";
			    }
				break;
			case "stop":
				p_actual.controls.stop();
				document.getElementById('playIcon').innerHTML = '<img class="icon" src="../../media/play_player.gif" title="Play" border="0" />';
				break;
			/*case "volume_up":
				if (i==actual_channel){
					vol = p_actual.settings.volume + 10;
					p_actual.settings.mute = false;
					document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_player.gif" title="Mute" border="0" />';
					if (vol > 100){ 
						vol = 100;
					}
					p_actual.settings.volume = vol;
				}
				break;
			case "volume_down":
				if (i==actual_channel){
					vol = p_actual.settings.volume - 10;
					if (vol < 0){
						vol = 0;
						p_actual.settings.volume = 0;
					    document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_muted_player.gif" title="Volumen" border="0" />';
					}					
					p_actual.settings.volume = vol;
				}
				break;*/
			case "mute":
				if (i==actual_channel){
					if (p_actual.settings.mute) {
			 	     	 p_actual.settings.mute = false;
						 if (p_actual.settings.volume==0){
						 	p_actual.settings.volume = 10;
							document.getElementById('horizontal_slider_4').style.left = "3px";
						 }
					     document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_player.gif" title="Mute" border="0" />';
				    } else {
					     p_actual.settings.mute = true;
					     document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_muted_player.gif" title="Volumen" border="0" />';
				    }
				}
				break;
		 }
	}
   }
   
function dual(audio1,audio2){
	
	if (document.getElementById('wmp1')){
		var players = new Array(document.getElementById('wmp0'),document.getElementById('wmp1'));
		numero_players = players.length;
	}else{
		var players = document.getElementById('wmp0');
		numero_players = 1;
	}
	if (actual_channel == 1){
		actual_channel = 0;
		players[1].settings.mute = true;
		players[0].settings.mute = false;
		if (players[0].settings.volume==0) players[0].settings.volume = 10;
		document.getElementById('dualIcon').innerHTML=audio2;  
	}else{
		actual_channel = 1;
		players[1].settings.mute = false;
		players[0].settings.mute = true;
		if (players[1].settings.volume==0) players[1].settings.volume = 10;
		document.getElementById('dualIcon').innerHTML=audio1;
	}
	document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_player.gif" title="Mute" border="0" />';
}   

function CheckTime(){
	
	if (document.getElementById('wmp1')){
		var players = new Array(document.getElementById('wmp0'),document.getElementById('wmp1'));
		numero_players = players.length;
	}else{
		var players = document.getElementById('wmp0');
		numero_players = 1;
	}
	
	//if (players[0].currentMedia.duration&&players[1].currentMedia.duration){
	if(emision_directo == "0"){
		document.getElementById('horizontal_track_5').style.display = "inline";
	}else{
		document.getElementById('horizontal_track_5').style.display = "none";
	}
	
	if(numero_players>1){
		if((players[0].settings.mute==false)&&(players[1].settings.mute==false)){
			players[1].settings.mute = true;
		}
		var wmp1 = players[0];
		var wmp2 = players[1];
		t1 = parseFloat(wmp1.controls.currentPosition);
		t2 = parseFloat(wmp2.controls.currentPosition);
		var difTime = t1 - t2;
		if (Math.abs(difTime)>0.2){
				//if (wmp1.currentMedia.duration&&wmp2.currentMedia.duration){
				if (emision_directo=="0"){
					wmp2.controls.currentPosition = wmp1.controls.currentPosition;
				}
		}
		//if (wmp1.currentMedia.duration&&wmp2.currentMedia.duration){
		if (emision_directo=="0"){
			duracion_minima = wmp1.currentMedia.duration;
			posicion_actual = wmp1.controls.currentPosition;
			barra = document.getElementById('horizontal_slider_5');
			//El valor del recorrido del slider es 300. Cambiar si se cambia el tamaño del slider
			posicion = 0;
			if (duracion_minima>0) posicion = Math.round((posicion_actual/duracion_minima)*300);
			barra.style.left = posicion + "px";
			setTimeout('CheckTime()',1000);
			document.getElementById('time_display').innerHTML = ConvertTime(wmp1.controls.currentPosition);
			document.getElementById('time_total').innerHTML = ConvertTime(wmp1.currentMedia.duration);
		}
		setTimeout('CheckTime()',1000);
	}else{
		//if (players.currentMedia.duration){
		if (emision_directo=="0"){
			barra = document.getElementById('horizontal_slider_5');
			//El valor del recorrido del slider es 300. Cambiar si se cambia el tamaño del slider
			posicion = Math.round((players.controls.currentPosition/players.currentMedia.duration)*300);
			barra.style.left = posicion + "px";
			setTimeout('CheckTime()',1000);
			document.getElementById('time_display').innerHTML = ConvertTime(players.controls.currentPosition);
			document.getElementById('time_total').innerHTML = ConvertTime(players.currentMedia.duration);
		}else{
		}
		setTimeout('CheckTime()',1000);
	}
}

function setPlayerPosition(){
	
	if (document.getElementById('wmp1')){
		var players = new Array(document.getElementById('wmp0'),document.getElementById('wmp1'));
		numero_players = players.length;
	}else{
		var players = document.getElementById('wmp0');
		numero_players = 1;
	}
	
	barra = document.getElementById('horizontal_slider_5');
	//El valor del recorrido del slider es 300, se utiliza despues. Cambiar si se cambia el tamaño del slider
	if(numero_players>1){
		var wmp1 = players[0];
		var wmp2 = players[1];
		//if (wmp1.currentMedia.duration&&wmp2.currentMedia.duration){
		if (emision_directo=="0"){
			posicion_percent = parseFloat(barra.style.left.substr(0,barra.style.left.length-2));
			wmp1.controls.currentPosition = Math.round(wmp1.currentMedia.duration * posicion_percent / 300);
			wmp2.controls.currentPosition = wmp1.controls.currentPosition;
		}else{
			barra.style.left = "0px";
		}
	}else{
		//if (players.currentMedia.duration){
		if (emision_directo=="0"){
			posicion_percent = parseFloat(barra.style.left.substr(0,barra.style.left.length-2));
			players.controls.currentPosition = Math.round(players.currentMedia.duration * posicion_percent / 300);
		}else{
			barra.style.left = "0px";
		}
	}
}

function setAudioPosition(){
	p_actual = document.getElementById("wmp"+actual_channel);
	barra = document.getElementById('horizontal_slider_4');
	posicion_percent = parseFloat(barra.style.left.substr(0,barra.style.left.length-2));
	p_actual.settings.volume = Math.round(100 * posicion_percent / 30);
	if(p_actual.settings.volume == 0){
 		document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_muted_player.gif" title="Volumen" border="0" />';
	}else{
		document.getElementById('muteIcon').innerHTML = '<img class="icon" src="../../media/mute_player.gif" title="Volumen" border="0" />';
	}
}

function ConvertTime(time){
	var hours = "00"+Math.floor(time/3600);
	var minutes = "00"+Math.floor((time % 3600)/60);
	var seconds = "00"+Math.floor((time % 3600) % 60);
	return hours.substr(hours.length-2,2)+":"+minutes.substr(minutes.length-2,2)+":"+seconds.substr(seconds.length-2,2);
}