// Windows Media Player Controller - Copyright Ethical Media 2004

// Supports ActiveX enabled WMP browsers only
// Including Win IE5+, Win NN7.1+

// global vars
var srcFile;
var srcDuration;
var mediaPlayer;

// determine support for embedded WMP
var blnWinIE = false;
var blnMacIE = false;
var blnWinNNAX = false;
var blnPlugin = false;
if (window.ActiveXObject && navigator.userAgent.indexOf('Windows') != -1)
{
  blnWinIE = true;
}
if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') != -1)
{
  blnMacIE = true;
}
else if(window.GeckoActiveXObject)
{
  blnWinNNAX = true;
}
else if(navigator.mimeTypes)
{
  blnWMPPlugin = true;
} 
var activeX = (blnWinIE || blnWinNNAX) ? true : false; 

/*
CODE FOR TELLING WHETHER PLAYER HAS LOADED
if(!document.PlayerEx2.versionInfo)
{
  // Control Not installed -- the versionInfo property returns null
  // Redirect users to http://www.microsoft.com/windows/windowsmedia/download/default.asp
}
else
{
  //Control was correctly created
  //Proceed with scripting calls, etc.
}
*/

function bName() {
  if (navigator.appName == "Microsoft Internet Explorer")
    return 1;
  if (navigator.appName == "Netscape")
    return 2;
  return 0;
}

function bVer() {
  return parseFloat(navigator.appVersion)
}

function getPlayState() {
  if (activeX)
    return document.getElementById('WindowsMediaPlayer').PlayState;
  else
    return document.getElementById('WindowsMediaPlayer').GetPlayState();
}

function getSrcFile() {
	return srcFile;
}

function Load(src, duration){
	srcFile = src;
	srcDuration = srcDuration;
	if (!activeX) { // ignore any non activex browsers
		document.getElementById('divEmbedded').style.display = "none";
	} else {
		document.getElementById('divEmbedded').style.display = "inline";
		mediaPlayer = document.getElementById('WindowsMediaPlayer');
		if (activeX){
			mediaPlayer.FileName = srcFile ;
 		} else {
			mediaPlayer.SetFileName(srcFile);
		}	
		monitorStatus();
		SetVolume(document.getElementById('dropVolume').options[document.getElementById('dropVolume').selectedIndex].value);		
	}
}

// monitor player status

function monitorStatus()
{	
	switch (getPlayState()) 
	{
	case 0 : // undefined
		document.getElementById("btnPlayPause").value = "Play";
		break;  
	case 1 : // stopped
		document.getElementById("btnPlayPause").value = "Play";
		break; 
	case 3 : // paused
		document.getElementById("btnPlayPause").value = "Play";
		break; 
	case 2 : // playing
		document.getElementById("btnPlayPause").value = "Pause";
		break; 
	case 6 : // buffering
		document.getElementById("btnPlayPause").value = "Please wait, buffering";
		break;
	case 7 : // waiting for server
		document.getElementById("btnPlayPause").value = "Please wait, server to respond";
		break;  
	case 8 : // media has ended
		document.getElementById("btnPlayPause").value = "Play";
		break;  
	case 10 : // ready to play
		document.getElementById("btnPlayPause").value = "Play";
		break;  
	case 11 : // reconnecting to stream
		document.getElementById("btnPlayPause").value = "Please wait, reconnecting to stream";
		break;  
	} 	
	
	// rewind if at end
	if (document.getElementById('WindowsMediaPlayer').CurrentPosition >= srcDuration) {
		Stop();
	}
	
	setTimeout("monitorStatus()",10);	
}

function PlayPause(){
	switch (getPlayState()) 
	{
	case 0 : // undefined
		document.getElementById('WindowsMediaPlayer').play();
		break; 
	case 1 : // stopped
		document.getElementById('WindowsMediaPlayer').play();
		break; 
	case 3 : // paused
		document.getElementById('WindowsMediaPlayer').play();
		break; 
	case 2 : // playing
		document.getElementById('WindowsMediaPlayer').pause();
		break; 
	case 8 : // media has ended
		document.getElementById('WindowsMediaPlayer').play();
		break;  
	case 10 : // ready to play
		document.getElementById('WindowsMediaPlayer').play();
		break;  
	} 	
} 

function ForceStop(){
	document.getElementById('WindowsMediaPlayer').stop();
}

function Stop(){
	if (activeX){
		document.getElementById('WindowsMediaPlayer').CurrentPosition=0;
	} else {
		document.getElementById('WindowsMediaPlayer').SetCurrentPosition(0);
	}	
	//document.getElementById("btnPlayPause").value = "Play";
	document.getElementById('WindowsMediaPlayer').play();
	setTimeout("ForceStop()",250);		
}

function SetVolume(volume) {
		document.getElementById('WindowsMediaPlayer').Volume = volume;
}

function ShowControls()
{
	mediaPlayer.showcontrols=true;
	mediaPlayer.showTracker=true;
	mediaPlayer.showStatusBar=true;
}

function HideControls()
{
	mediaPlayer.showcontrols=false;
	mediaPlayer.showTracker=false;
	mediaPlayer.showStatusBar=false;
}
  
