var Buffering=0;
var UpdateSpeed = 10;

function initMediaPlayerButtons() 
{
   stopBtn.onStateChange=mediaPlayerStop;
   playBtn.onStateChange=mediaPlayerPlay;
}

function LoadMediaPlayerObject(streamURL)
{
      //alwaysHidden IFrame is used as a separate document to launch requests to send e-mail
      document.write('<OBJECT ID="MediaPlayer" width=0 height=0 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95">');
      document.write('<PARAM NAME="FileName" VALUE=' + streamURL + '>');
      document.write('<PARAM NAME="AutoStart" VALUE="1">');
      document.write('<PARAM NAME="BufferingTime" VALUE="5">');
      document.write('<PARAM NAME="SendOpenStateChangeEvents" VALUE="1">');
      document.write('<PARAM NAME="SendPlayStateChangeEvents" VALUE="1">');
      document.write('<PARAM NAME="SendStateChangeEvents" VALUE="1">');
      document.write('</OBJECT>');
}

function MediaPlayer_Buffering(start) 
{   
   if ( start == true )
   {
      Buffering=1;
      bufferUpdateTimer();
   }
   else
   {
      //updateStatusMessage("---- DONE ----");
      updateStatusMessage("Stream is playing.");
      Buffering=0;
   }
}

function bufferUpdateTimer() 
{
   var pix;
   var mod;

   if ( Buffering == 1 )
   {
      updateStatusMessage("Buffering", MediaPlayer.BufferingProgress);
   }
   else
   {
      updateStatusMessage("Stream is playing.");
   }
   if ( Buffering == 1 )
   {
      tScroll = window.setTimeout("bufferUpdateTimer();", UpdateSpeed);
   }
}

function updateStatusMessage(message, progress)
{
	switch( message ) {
		case "Stream is playing.":
			statusMessage.innerHTML = "<img border=0 src='images/playanim.gif' alt='Reproduciendo'>";
			break;
		case "Playback is stopped.":
			statusMessage.innerHTML = "<img border=0 src='images/stop.gif' alt='Detenido'>";
			break;
		case "Buffering":
			//statusMessage.innerHTML = "<img border=0 src='images/loading10.gif' alt='Cargando'>";
			break;
		case "Muted.":
			statusMessage.innerHTML = "<img border=0 src='images/mute.gif' alt='Mudo'>";
			break;
		default:
	   		statusMessage.innerText=message;
   	}
}

function MediaPlayer_OpenStateChange() 
{
   var stateMessage;

   if ( MediaPlayer.OpenState==0 )
      stateMessage="Content file is closed.";
   if ( MediaPlayer.OpenState==1 )
      stateMessage="Loading an ASX file.";
   if ( MediaPlayer.OpenState==2 )
      stateMessage="Loading an .nsc station file.";
   if ( MediaPlayer.OpenState==3 )
      stateMessage="Locating the server.";
   if ( MediaPlayer.OpenState==4 )
      stateMessage="Connecting to the server.";
   if ( MediaPlayer.OpenState==5 )
      stateMessage="Opening/listening for the stream.";
   if ( MediaPlayer.OpenState==6 )
      stateMessage="Content file is open.";

   updateStatusMessage(stateMessage);
}

function MediaPlayer_PlayStateChange() 
{
   var stateMessage;

   if ( MediaPlayer.PlayState==0 )
      stateMessage="Playback is stopped.";
   if ( MediaPlayer.PlayState==1 )
      stateMessage="Playback is paused.";
   if ( MediaPlayer.PlayState==2 )
      stateMessage="Stream is playing.";
   if ( MediaPlayer.PlayState==3 )
      stateMessage="Waiting for stream to begin.";
   if ( MediaPlayer.PlayState==4 )
      stateMessage="Stream is scanning forward.";
   if ( MediaPlayer.PlayState==5 )
      stateMessage="Stream is scanning in reverse.";
   if ( MediaPlayer.PlayState==6 )
      stateMessage="Skipping to next.";
   if ( MediaPlayer.PlayState==7 )
      stateMessage="Skipping to previous.";
   if ( MediaPlayer.PlayState==8 )
      stateMessage="Stream is not open.";

   updateStatusMessage(stateMessage);
}
function mediaPlayerStop()
{
   MediaPlayer.Stop();
}
function mediaPlayerPlay()
{
   MediaPlayer.Play();
}

