//version 2.0.2.1
var testFF3 = false;
var detectPlayerIsDebugEnabled = false;
var clientConfigurationIsGood = true;

function selectPlayer(namesToCheck, fileUrl, mediaPlayerParameters,playerType,errorMessageDivId, returnPlayerCodeEvenIfConfigurationIsWrong) {
	if (detectPlayerIsDebugEnabled){
		var debugMessage = buildDebugMessageOnDetectedPlayer();
		alert("[selectPlayer] namesToCheck : " + namesToCheck + ", playerType : " + playerType + ", debugMessage = " + debugMessage);
	}
	if (playerType != "wmv" && playerType != "mp4" && playerType != "rm"){
		playerType = "wmv";
	}
	var result = null;
	
	if (browser.os == "Windows") {
		if (playerType == "wmv") {

			// build player object
			if (browser.browserName == "Microsoft Internet Explorer")
				result =  new WindowsMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters, "classic");
			else // all others : Firefox 3.01, Safari 3.1.2, Chrome, Opera 9.60b1				
				result =  new WindowsMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters, "pluginFireFox");	
				
			if (detectFirefoxWMPPlugin())
				clientConfigurationIsGood = true;
			else if (browser.browserName == "Chrome" || browser.browserName == "Microsoft Internet Explorer")
				clientConfigurationIsGood = true;
			else
				clientConfigurationIsGood = false;
	     }
	    else if (playerType == "mp4") {
     		// build player object
     		result =  new QuicktimeMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
			// with mp4 we always print the player, and don't try to detect QuickTime (because sometimes this detection failed even if QuickTime is there)
			clientConfigurationIsGood = true;
	    } 
	    else if(playerType == "rm"){
     		// build player object
     		result = new RealPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
	    }
	}
	else if (browser.os == "Mac") {
    	if (playerType == "wmv") {
    		result =  new WindowsMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
		}
		else if (playerType == "mp4") {
     		result =  new QuicktimeMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
		}else if(playerType == "rm"){
     		result = new RealPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
	    }
		// with mac we always print the player, and don't try to detect Players (because sometimes this detection failed even if Players are there)
	    clientConfigurationIsGood = true;
	}
	else {
    	if (playerType == "wmv") {
	    	result =  new WindowsMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);    		
    	}
		else if (playerType == "mp4") {
     		result =  new QuicktimeMediaPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
		}else if(playerType == "rm"){
     		result = new RealPlayer("MediaPlayer", fileUrl, mediaPlayerParameters);
	    }
		// we always print the player, and don't try to detect Players (because sometimes this detection failed even if Players are there)
		clientConfigurationIsGood = true;
	}
	if (!clientConfigurationIsGood){
		video_msg_failure(errorMessageDivId, playerType);	
		if (!returnPlayerCodeEvenIfConfigurationIsWrong){
			return null;
		}
	}
	return result;
}

function video_msg(errorMessageDivId,titletxt, msgtxt) {
    var txt = "<table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\"><tr><td  class=\"mepname\"><b>" + titletxt + "</b></td></tr>";
    txt = txt + "<tr><td  class=\"titlemep\">" + msgtxt + "</td></tr></table>";
    document.getElementById(errorMessageDivId).innerHTML = txt;
}


function video_msg_failure(errorMessageDivId, playerType) {
	video_msg(errorMessageDivId, "Configuration failure", "This page might not work properly. Please update your configuration in order to see the EpLive pages on European Parliament website<br />See the following page to get some hints : <a href='/ep-live/" + sLanguage  + "/schedule/about#anchor8' target='_blank' >configuration page</a>");
}

