/********************************** CONTROL DEL PLAYER WM ***************************************************/
var agt = navigator.userAgent.toLowerCase();
var is_ie = (agt.indexOf("msie") != -1);
var muteState = false;
var PlayerClosed = true;
var wmp = false;

function GetPlayerObject(id1, id2){
	var player = 0;
	var playerIE = document.getElementById(id1);
	var playerFF = document.getElementById(id2);
	if((playerIE != null) || (playerFF != null)){
		if(playerIE.controls) var player = playerIE;
		else if(playerFF.controls) var player = playerFF;
	}
	return player;
}

function OnDSPlayStateChangeEvt(newState) {
	if(!wmp)
		wmp = GetPlayerObject('WMPPortal1','WMPPortal2');
	
	//document.getElementById('wmpPlayerTitle').innerHTML = "<div><h1>" + newState + "</h1></div>";
	switch (newState){
		//case 0: //Undefined
		case 1: //Stopped
			if (wmp.playState == newState){
				//La funcion .hide() da problemas con el atributo .controls de "wmp"
				$('.VisorWM').css('visibility','hidden'); //$('object#WMPlayer').hide();
				$('#status').html("<div id='statusPlayAgain' title='" + GEN_MSG_RESTARTPLAYER + "'></div>");
				$('#statusPlayAgain').unbind("click");
				$('#statusPlayAgain').bind("click",function(){
					controlAction('play');
				});
				$('#status').show();
				if (wmp.currentMedia.getItemInfo("vidid")!=0) {
					document.getElementById('wmpPlayerTitle').innerHTML = "<div><h1>"+wmp.currentMedia.getItemInfo("Title")+"</h1></div>";
					document.getElementById('tit_preview_'+wmp.currentMedia.getItemInfo("vidid")).style.display = 'none';
				}
			}
			break;
		case 2: //Paused
			if (wmp.playState == newState){
				status = "";
			}
			break;
		case 3: //Playing
			if (wmp.playState == newState){
				$('#status').hide();
				$('#status').html("");
				//La funcion .hide() da problemas con el atributo .controls de "wmp"
				$('.VisorWM').css('visibility','visible'); //$('object#WMPlayer').show();
				if (wmp.currentMedia.getItemInfo("vidid")!=0) {
					if (wmp.currentMedia.getItemInfo("Title") == "")
						document.getElementById('wmpPlayerTitle').innerHTML = "<div><h1>Preview</h1></div>";
					else
						document.getElementById('wmpPlayerTitle').innerHTML = "<div><h1>"+wmp.currentMedia.getItemInfo("Title")+"<img src='media/tit_preview_player.gif' style='vertical-align: bottom' border='0' id='tit_preview_header' /></h1></div>";
					document.getElementById('tit_preview_'+wmp.currentMedia.getItemInfo("vidid")).style.display = 'block';
					$('#playerWindowIcon').unbind("click");
					$('#playerWindowIcon').bind("click",function(){
						controlAction('stop');
						//document.location = wmp.currentMedia.getItemInfo('urlplayer');
						document.location = "javascript:openPlayer('./app/player/default.cfm?int_ElementId=" + wmp.currentMedia.getItemInfo('vidid') + "&int_LanguageId=1')";
						//alert("document.location = " + wmp.currentMedia.getItemInfo('urlplayer'));
					});
				}
				else{
					$('#playerWindowIcon').unbind("click");
					$('#playerWindowIcon').bind("click",function(){
						controlAction('stop');
						document.location = wmp.currentMedia.getItemInfo('urlplayer');
					});
				}
				
				if (muteState) wmp.settings.mute = true;
			}
			break;
		//case 4: //ScanForward
		//case 5: //ScanReverse
		case 6: //Buffering
			if (wmp.playState == newState){
				$('.VisorWM').css('visibility','hidden'); //$('object#WMPlayer').hide();
				$('#status').html("<div id='statusBuffering'></div>");
				$('#status').show();
			}
		//case 7: //Waiting
		case 8:   //MediaEnded
			if (wmp.playState == newState){
				if (wmp.currentMedia.getItemInfo("vidid")!=0) {
					document.getElementById('tit_preview_'+wmp.currentMedia.getItemInfo("vidid")).style.display = 'none';
				}
			}
			break;
		//case 9:  //Transitioning
		case 10: //Ready
			if (wmp.playState == newState){
				if (wmp.currentMedia.getItemInfo("vidid") == ""){
					$('.VisorWM').css('visibility','hidden'); //$('object#WMPlayer').hide();
					$('#status').html("<div id='statusNoEvents'><br/><br/>" + GEN_MSG_NOEVENTS + "</div>");
				}
			}
		//case 11: //Reconnecting
		//case 12: //Last
	}
}

function setupWindowsMedia() {// Asocia la funcion de cambios de estado
	if(!wmp)
		wmp = GetPlayerObject('WMPPortal1','WMPPortal2');

	if(wmp){
		if(wmp.attachEvent){ // IE
			wmp.attachEvent('PlayStateChange', OnDSPlayStateChangeEvt);
		}
	}
	$('#status').show();
 }

function inyectarReproductor(idHtml, playerWidth, playerHeight, url, urlDefault, descDefault1, descDefault2, idObjectIE, idObjectFF, nameObjectIE, nameObjectFF, classObject, showControls){
	var uimode;
	if(showControls == 1){
		uimode = "full";
	}
	else{
		uimode = "none";
	}
	//Objeto WMP Plugin inyectado en el html por javascript
	if(document.getElementById && document.all&&(navigator.appVersion.indexOf("MSIE 6.")>=0)){
		var wmpObject = "<object id='" + idObjectIE + "' name='" + nameObjectIE + "' class='" + classObject + "' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width='" + playerWidth + "' height='" + playerHeight + "' type='application/x-oleobject'>" +
				//Para IE6 ponemos solo un objeto WMP
				"<param name='url' value='" + url + "'>" +
				"<param name='autoStart' value='1'>" +
				"<param name='ShowControls' value='" + showControls + "'>" +
				"<param name='uiMode' value='" + uimode + "'>" +
				"<param name='windowlessVideo' value='true'>" +
				"<br />" +
				"<a href='" + urlDefault + "'>" + descDefault1 + "</a>" +
				"<br /><br /><br />" + 
				"<span>" + descDefault2 + "</span>" +
			"</object>";
	}
	else {
		var wmpObject = "<object id='" + idObjectIE + "' name='" + nameObjectIE + "' class='" + classObject + "' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width='" + playerWidth + "' height='" + playerHeight + "' type='application/x-oleobject'> " +
			//Objeto para IE
			"<param name='url' value='" + url + "'> " +
			"<param name='autoStart' value='1'> " +
			"<param name='ShowControls' value='" + showControls + "'> " +
			"<param name='uiMode' value='" + uimode + "'> " +
			"<object id='" + idObjectFF + "' name='" + nameObjectFF + "' class='" + classObject + "' type='application/x-ms-wmp' width='" + playerWidth + "' height='" + playerHeight + "'> " +
				//Objeto para firefox
				"<param name='src' value='" + url + "'> " +
				"<param name='autoStart' value='1'> " +
				"<param name='uiMode' value='" + uimode + "'> " +
					"<br />" +
					"<a href='" + urlDefault + "'>" + descDefault1 + "</a> " +
					//Texto del enlace por si fallan los objetos
					"<br /><br /><br />" +
					"<span>" + descDefault2 + "</span>" +
			"</object> " +
		"</object>";
	}
	//$("#"idHtml).html(wmpObject);
	//ATENCIÓN, no usar jquery para inyectar la variable wmpObject en el codigo html,
	//ya que da problemas con IE (el objeto cambia de tamaño y no se ve bien).
	document.getElementById(idHtml).innerHTML = wmpObject;
}

function controlAction(action) {
	if(!wmp)
		wmp = GetPlayerObject('WMPPortal1','WMPPortal2');
	if(wmp){
		switch (action) {
			case "play":
				if(wmp != null)
					if (wmp.currentMedia.getItemInfo("vidid") != "")
						wmp.controls.play();
				break;
			case "pause":
				if(wmp != null)
					wmp.controls.pause();
				break;
			case "stop":
				if(wmp != null)
					wmp.controls.stop();
				break;
		}
	}
}
   
function toggleMute() {
	if(!wmp)
		wmp = GetPlayerObject('WMPPortal1','WMPPortal2');
	if (wmp){
		if(wmp.settings.mute){
			wmp.settings.mute = false;
			muteState = false;
			$("#playerMuteIcon").attr("src","./images/ptl_volume_high.gif");
			//document.getElementById('playerMuteIcon').innerHTML = '<img class="icon" src="./media/volume_high.gif" title="Mute" />';
			return wmp.settings.volume + "%";
		}
		else{
			wmp.settings.mute = true;
			muteState = true;
			$("#playerMuteIcon").attr("src","./images/ptl_mute.gif");
			//document.getElementById('playerMuteIcon').innerHTML = '<img class="icon" src="./media/mute.gif" title="Mute" />';
			return "Mute";
		}
	}	
}

function NoCacheParam(){
	d = new Date();
	var gdate = "" + d.getFullYear() + d.getMonth() + d.getDate() + d.getHours() + d.getMinutes() + d.getSeconds();
	return gdate;
}

function inyectarReproductorFlash(idHtml, playerWidth, playerHeight, punto, idObject, nameObject){
	var flashObject = "<object id='" + idObject + "' name='" + nameObject + "' width='" + playerWidth + "' height='" + playerHeight + "' type='application/x-shockwave-flash' data='./js/player.swf'> " +
			"<param name='movie' value='./js/player.swf'>" +
			"<param name='allowfullscreen' value='true'>" +
			"<param name='allowscriptaccess' value='always'>" +
			"<param name='wmode' value='opaque'>" +
			"<param name='flashvars' value='file=" + punto + "&autostart=true&provider=rtmp&streamer=rtmp://hank.cap.gva.es/live'>" +
			//Fallback a HTML5
			"<video width='"+playerWidth+"' height='"+playerHeight+"' controls='controls'>" +
				"<source src='http://hercules.cap.gva.es/live/" + punto + "/playlist.m3u8' type='video/mp4;'/>" +
				//Fallback a html plano
				"<p>Actualice su versión de Flash</p><br/>" +
				"<a href='rtsp://hercules.cap.gva.es/live/" + punto + "'>ENLACE</a>" +
			"</video>"
		"</object>";

	document.getElementById(idHtml).innerHTML = flashObject;
}
