var oCtrlPlayer,wmPlayer,curentBrowser,isPlaying,isPause, isPluginInstalled, doNotRestart = false,WMP7_plus, WMP_version, currentPos;

if (document.all)
{
	curentBrowser = "IE";
}
else
{
	curentBrowser = "nonIE";
}

function wmp_check()
{
 	// To be used later
        /*var player; 
        var plugin; 
        var hasActiveX=false;
        try{
          if(window.ActiveXObject)
            {
              hasActiveX = true;
              player = new ActiveXObject("WMPlayer.OCX.7");
            }
            else if (window.GeckoActiveXObject)
            {
              hasActiveX = true;    
              player = new GeckoActiveXObject("WMPlayer.OCX.7");
            }
        } catch(oError) { }
        try{
          if(navigator.mimeTypes)
          {
            plugin = navigator.mimeTypes['application/x-mplayer2'].enabledPlugin; 
          } 
        }catch (oError) {}
        var message = "Your browser "+ (hasActiveX ? "does" : " does not") +" support ActiveX. \n";
        message +=  "The WMP ActiveX control is"+ ( player ? "" : " not") +" installed. \n";
        message += "The WMP Plugin "+ (plugin ? "is" : "is not") +" installed. \n";
        alert(message);*/

	if ( navigator.appName != "Netscape" ){   
	     //WMP7_plus = new ActiveXObject("MediaPlayer.MediaPlayer.1");
	     try
	     {
	     	WMP7_plus = new ActiveXObject("WMPlayer.OCX");
	     	WMP_version = "7+";
	     }
	     catch(e)
	     {
	     	WMP_version = "6.4";
	     	return false;
	     }
	}
	else
	{
		alert("Vous devez impérativement utiliser Internet Explorer pour visualiser cette présentation.");
	}

	// Windows Media Player 7 or above Code
	if ( WMP7_plus )
	{
		WMP_version = "7+";
		return true;
	}

	// Windows Media Player 6.4 Code
	else
	{
		WMP_version = "6.4";
		return false;
	}
}

function initPlayerCtrls(playerName)
{
	var vdoFrmIndex;
	for (var i=0; i < window.parent.frames.length; i++)
	{
		if (String(window.parent.frames(i).name).toLowerCase() == "video")
		{
				vdoFrmIndex = i;
				break;
		}
	}
	

	if (curentBrowser == "IE")
	{
		if (wmp_check())
		{
			//oCtrlPlayer = window.parent.frames(vdoFrmIndex).document.all(playerName).Controls
			try
			{
				oCtrlPlayer = window.parent.frames(vdoFrmIndex).document.all(playerName)
			}
			catch(e)			
			{
				oCtrlPlayer = document.all(playerName)
			}
		}
		else
		{
			oCtrlPlayer = window.parent.frames(vdoFrmIndex).document.all(playerName)
		}
	}
	else 
	{
		if (isNaN(vdoFrmIndex))
		{
			oCtrlPlayer = document.embeds[playerName];
		}
		else
		{
		oCtrlPlayer = parent.frames["video"].document.embeds[playerName];
		}
	}
}


function btPlay()
{

	switch(curentBrowser)
	{
		case "IE" : 
		oCtrlPlayer.Play();
		doNotRestart = false;
			break;
	}
}

function btStop()
{
	switch(curentBrowser)
	{
		case "IE" : 
			doNotRestart = true;
			oCtrlPlayer.Stop();

			break;
	}
}

function btPause()
{
try {
	switch(curentBrowser)
	{
		case "IE" :
			doNotRestart = true;

			oCtrlPlayer.Pause();

			break;
			
		case "nonIE":
			//oCtrlPlayer.pause;
			break;
	}
}

catch (e) {
		}
}



//Buffering time display
var oPlayer = new Object(), wmp_msg_header, bValidPlayer;

//---------------------------------------------------//
//Sizing & position
//---------------------------------------------------//
var eDemoWidth, eDemoHeight;

/*parent.window.moveTo(0,0);
if (document.all)
{
	parent.window.resizeTo(1024,733);
}
else if (document.layers)
{
	if (parent.window.outerHeight < screen.availHeight || parent.window.outerWidth < screen.availWidth)
	{
		parent.window.outerHeight = 733;
		parent.window.outerWidth = 1024;
	}
}*/
//---------------------------------------------------//


function initPlayer(playerName, maxBandwidth)
{
	
	if (document.all)

	{
		// on recherche la frame video
		for (var i=0; i < window.parent.frames.length; i++)
		{
			if (String(window.parent.frames(i).name).toLowerCase() == "video")
			{
				vdoFrmIndex = i;
				break;
			}
		}
		
		// Windows Medai Player Object
		oPlayer	= window.parent.frames(vdoFrmIndex).document.getElementById(playerName);

		eDemoWidth = oPlayer.width;
		eDemoHeight = oPlayer.height;
		
		wmp_msg_header = "<div style=\"color:#000000;font-size:14px; font-family:verdana;text-align:center;padding:"+ ((eDemoHeight/2)-15) +";\">"
		wmp_msg_footer = "</div>"
		
		initPlayerCtrls(playerName);
		

		if (wmp_check())
		{
			bValidPlayer = true;
			/*defining stream bandwidth
			oPlayer.network.maxBandwidth = maxBandwidth;

			//Releasing media to affect mawBandwidth limitations
			loadedURL	=	oPlayer.URL;
			oPlayer.close();

			// hiding control during buffring time
			oPlayer.style.height=0;
			oPlayer.style.width=0;

			setTimeout("wmpPlay()", 250);*/
		}
		else
		{
			/*if (WMP_version == "6.4") clearProgress();
			bValidPlayer = false;
			return;*/
			bValidPlayer = false;
		}
	}
	else
		initPlayerCtrls(playerName);
}

function updateProgress()
{
   try
   {
		_check_state(oPlayer.playState);

		BP.innerHTML = "";
		BP.innerHTML = wmp_message;

   }
   catch(e)
   {
		return;
   }
}

function startProgress()
{
	oPlayer.style.height=0;
	oPlayer.style.width=0;

	BP.innerHTML		= "";
	BP.style.visibility	= "visible";
	BP.style.height		= eDemoHeight;
	BP.style.width		= eDemoWidth;
	BP.style.position	= 'relative';
}

function clearProgress()
{
	//oPlayer.uiMode="none";
	oPlayer.style.height	= eDemoHeight;
	oPlayer.style.width	= eDemoWidth;


	BP.innerHTML = "";
	BP.style.visibility = "hidden";
	BP.style.height = 0;
	BP.style.width  = 0;
	BP.style.position = 'absolute';

}

// This play function is used because of the setTimeout function.
// When closing window the timeout can make the call to play function after the object has desapeared => error.
function wmpPlay()
{
	try
	{
		oPlayer.controls.play();
	}
	catch(e)
	{
		return;
	}
}

function _check_state(myState)
{
	/*
	0 Undefined Windows Media Player is in an undefined state.
	1 Stopped Playback of the current media clip is stopped.
	2 Paused Playback of the current media clip is paused. When media is paused, resuming playback begins from the same location.
	3 Playing The current media clip is playing.
	4 ScanForward The current media clip is fast forwarding.
	5 ScanReverse The current media clip is fast rewinding.
	6 Buffering The current media clip is getting additional data from the server.
	7 Waiting Connection is established, however the server is not sending bits. Waiting for session to begin.
	8 MediaEnded Media has completed playback and is at its end.
	9 Transitioning Preparing new media.
	10 Ready Ready to begin playing.
	11 Reconnecting Reconnecting to stream.
	*/

	wmp_message = wmp_msg_header+ myState +wmp_msg_footer;
	switch (myState)
	{
		case 1 : wmp_message = wmp_msg_header+"Arrêté" +wmp_msg_footer;
			break;

		case 3 : wmp_message = wmp_msg_header+"Lecture" +wmp_msg_footer;
			break;

		case 6 : wmp_message = wmp_msg_header+"Chargement : <br>" + oPlayer.network.bufferingProgress+" %"+wmp_msg_footer;
			break;

		case 7 : wmp_message = wmp_msg_header+"Connexion établie, démarrage de session..."+wmp_msg_footer;
			break;

		case 10 : 
			if (!doNotRestart){setTimeout("wmpPlay()", 500)};
			break;

		case 11 : wmp_message = wmp_msg_header+"Connexion perdue, reconnexion en cours..."+wmp_msg_footer;
			break;

		default : wmp_message = wmp_msg_header + "En attente..." + wmp_msg_footer;
			if (!doNotRestart){setTimeout("wmpPlay()", 1000)};
			//		setTimeout("wmpPlay()", 1000);
			break;
	}
}