
// variavel contendo array com descricoes de playstates
// 0=undefined, 1=stopped, 2=paused, 3=playing, 4=scan forward, 5=scan reverse,
// 6=buffering, 7=waiting, 8=media ended, 9=transitioning, 10=ready, 11=reconnecting
// voce pode alterar as descricoes se desejar
var varMacPlayer_PlayStateDescriptions = new Array( 'indefinido', 'parado', 'pausado', 'executando', 'avanço rápido', 'retrocesso rápido', 'armazenando buffer', 'esperando', 'final da mídia', 'conectando', 'pronto', 'reconectando' );
// variavel contendo array com descricoes dos botoes de controle
// 0=executar, 1=pausar, 2=parar, 3=retrocesso rápido, 4=avanço rápido, 5=tela cheia,  6=mudo, 7=ligar som
var varMacPlayer_ControlsDescriptions = new Array( 'executar', 'pausar', 'parar', 'retrocesso rápido', 'avanço rápido', 'tela cheia', 'mudo', 'ligar som' );
// inicializacao de variaveis necessarias para o player
// nunca altere estas variaveis
var varMacPlayer_MediaOpened = 0;
var varMacPlayer_MediaEnded = 0;
var varMacPlayer_MediaType = 0;
var varMacPlayer_ProgressBarStarted = 0;
var varMacPlayer_ProgressBarLivePercent = 0;
var varMacPlayer_BufferingProgressStarted = 0;
var varMacPlayer_BandWidthStarted = 0;
var varMacPlayer_Settings_Mute = 0;
var varMacPlayer_CurrentPlayState = '';
// variaveis configuraveis
varMacPlayer_ProgressBarLiveIncrement = 2;
varMacPlayer_Settings_Volume = 50;
// define function a ser chamada para processamento de script commands
varMacPlayer_ScriptCommandFunction = 'process_script_command';

function MacPlayer_DisplayVideo(varUrl,varWidth,varHeight) {
  document.writeln( '<object style="padding:0px;border:2px inset #FFFFFF;" id="objMediaPlayer" width="'+varWidth+'" height="'+varHeight+'" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">' );
  document.writeln( '<param name="URL" value="'+varUrl+'" />' );
  document.writeln( '<param name="uimode" value="none" />' );
  document.writeln( '<param name="AutoStart" value="true" />' );
  document.writeln( '<param name="invokeURLs" value="false" />' );
  document.writeln( '<param name="windowlessVideo" value="true" />' );
  document.writeln( '</object>' );
}

function functionMacPlayer_Control_FullScreen() {
  var objMediaPlayer = document.getElementById('objMediaPlayer');
  if ( objMediaPlayer.PlayState==2 || objMediaPlayer.PlayState==3 || objMediaPlayer.PlayState==4 || objMediaPlayer.PlayState==5 ) {
    alert( "Para que o vídeo seja exibido em Tela Cheia dê um duplo clique na janela do vídeo.\r\n\r\nEstando no modo Tela Cheia, para voltar para o modo normal, clique no vídeo com o botão direito e escolha 'Sair do modo de exibição de tela inteira'." );
//  objMediaPlayer.FullScreen = true;
//  objMediaPlayer.DisplaySize = 3;
  } else {
    alert( "O vídeo deve estar sendo executado ou deve estar pausado para ser exibido em Tela Cheia." );
  }
}

function functionMacPlayer_Control_MuteOn() {
  document.getElementById('objMediaPlayer').Settings.Mute = true;
  varMacPlayer_Settings_Mute = 1;
  document.getElementById('MacPlayer_Controls_MuteOff').style.display = 'none';
  document.getElementById('MacPlayer_Controls_MuteOn').style.display = 'block';
}
function functionMacPlayer_Control_MuteOff() {
  document.getElementById('objMediaPlayer').Settings.Mute = false;
  varMacPlayer_Settings_Mute = 0;
  document.getElementById('MacPlayer_Controls_MuteOn').style.display = 'none';
  document.getElementById('MacPlayer_Controls_MuteOff').style.display = 'block';
}
function functionMacPlayer_Play() {
  if ( document.getElementById('objMediaPlayer').PlayState!=3 ) {
    document.getElementById('objMediaPlayer').Controls.Play();
  }
}
function functionMacPlayer_Pause() {
  document.getElementById('objMediaPlayer').Controls.Pause();
}
function functionMacPlayer_Stop() {
  document.getElementById('objMediaPlayer').Controls.Stop();
  document.getElementById('objMediaPlayer').Controls.CurrentPosition = 0;
  document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').style.backgroundPosition = '0% 50%';
}
function functionMacPlayer_FastForward() {
  document.getElementById('objMediaPlayer').Controls.FastForward();
}
function functionMacPlayer_FastRewind() {
  document.getElementById('objMediaPlayer').Controls.FastReverse();
}
function functionMacPlayer_ProgressBarClick() {
  if ( varMacPlayer_MediaType=='onDemand' && document.getElementById('objMediaPlayer').CurrentMedia.Duration ) {
    document.getElementById('objMediaPlayer').Controls.Pause();
    varMacPlayer_ProgressBarStarted = 0;
    varMacPlayer_ProgressBarClick_Percent = Math.ceil(event.x/document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').offsetWidth*100);
    varMacPlayer_ProgressBarClick_SeekTo = Math.ceil(document.getElementById('objMediaPlayer').CurrentMedia.Duration*varMacPlayer_ProgressBarClick_Percent/100);
    document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').style.backgroundPosition = varMacPlayer_ProgressBarClick_Percent+'% 50%';
    document.getElementById('objMediaPlayer').Controls.CurrentPosition = varMacPlayer_ProgressBarClick_SeekTo;
    document.getElementById('MacPlayer_Status_CurrentTime').innerHTML = document.getElementById('objMediaPlayer').Controls.CurrentPositionString+' ';
  }
}
function functionMacPlayer_ProgressBarMove() {
  if ( event.button==1 && event.srcElement.id=='MacPlayer_Status_ProgressBar_SeekBar' ) {
    if ( varMacPlayer_MediaType=='onDemand' && document.getElementById('objMediaPlayer').CurrentMedia.Duration ) {
      document.getElementById('objMediaPlayer').Controls.Pause();
      varMacPlayer_ProgressBarStarted = 0;
      varMacPlayer_ProgressBarClick_Percent = Math.ceil(event.x/document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').offsetWidth*100);
      varMacPlayer_ProgressBarClick_SeekTo = Math.ceil(document.getElementById('objMediaPlayer').CurrentMedia.Duration*varMacPlayer_ProgressBarClick_Percent/100);
      document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').style.backgroundPosition = varMacPlayer_ProgressBarClick_Percent+'% 50%';
      document.getElementById('objMediaPlayer').Controls.CurrentPosition = varMacPlayer_ProgressBarClick_SeekTo;
      document.getElementById('MacPlayer_Status_CurrentTime').innerHTML = document.getElementById('objMediaPlayer').Controls.CurrentPositionString+' ';
    }
  }
}
function functionMacPlayer_VolumeBarClick() {
  varMacPlayer_Settings_Volume = Math.ceil(event.x/document.getElementById('MacPlayer_Settings_VolumeBar').offsetWidth*100);
  document.getElementById('MacPlayer_Settings_VolumeBar').style.backgroundPosition = varMacPlayer_Settings_Volume+'% 50%';
  document.getElementById('objMediaPlayer').Settings.Volume = varMacPlayer_Settings_Volume;
  functionMacPlayer_Control_MuteOff()
}
function functionMacPlayer_VolumeBarMove() {
  if ( event.button==1 && event.srcElement.id=='MacPlayer_Settings_VolumeBar' ) {
    varMacPlayer_Settings_Volume = Math.ceil(event.x/document.getElementById('MacPlayer_Settings_VolumeBar').offsetWidth*100);
    document.getElementById('MacPlayer_Settings_VolumeBar').style.backgroundPosition = varMacPlayer_Settings_Volume+'% 50%';
    document.getElementById('objMediaPlayer').Settings.Volume = varMacPlayer_Settings_Volume;
    functionMacPlayer_Control_MuteOff()
  }
}
function functionMacPlayer_BufferingProgressStart() {
  if ( varMacPlayer_BufferingProgressStarted ) {
    varObjMediaPlayer = document.getElementById('objMediaPlayer');
    document.getElementById('MacPlayer_Status_BufferingProgress').innerHTML = varObjMediaPlayer.Network.BufferingProgress+'% ';
    document.getElementById('MacPlayer_Status_BandWidth').innerHTML = 'transferindo a '+Math.ceil(varObjMediaPlayer.Network.BandWidth/1000)+' de ';
    document.getElementById('MacPlayer_Status_BitRate').innerHTML = Math.ceil(varObjMediaPlayer.Network.BitRate/1000)+' Kbps ';
//  document.getElementById('MacPlayer_Status_ReceptionQuality').innerHTML = '(qualidade '+varObjMediaPlayer.Network.ReceptionQuality+'%) ';
    setTimeout( 'functionMacPlayer_BufferingProgressStart()', 200 );
  } else {
    document.getElementById('MacPlayer_Status_BufferingProgress').innerHTML = '';
  }
}
function functionMacPlayer_ProgressBarStart() {
  if ( varMacPlayer_ProgressBarStarted ) {
    varObjMediaPlayer = document.getElementById('objMediaPlayer');
    if ( varObjMediaPlayer.Controls.CurrentPositionString ) {
      // Tempo atual do video
      document.getElementById('MacPlayer_Status_CurrentTime').innerHTML = varObjMediaPlayer.Controls.CurrentPositionString+' ';
    } else {
      // Tempo atual do video ainda indefinido
      document.getElementById('MacPlayer_Status_CurrentTime').innerHTML = '00:00 ';
    }
    if ( varObjMediaPlayer.CurrentMedia.Duration ) {
      // Media onDemand possui tempo de duracao conhecido
      // Tempo de duracao total do video
      document.getElementById('MacPlayer_Status_EndTime').innerHTML = 'de '+varObjMediaPlayer.CurrentMedia.DurationString+' ';
    } else {
      // Media Live nao possui tempo de duracao definido
      // Tempo de duracao total do video
      document.getElementById('MacPlayer_Status_EndTime').innerHTML = 'ao vivo ';
    }
    // BARRA DE PROGRESSO
    if ( varMacPlayer_MediaType=='onDemand' ) {
      // Media onDemand possui tempo de duracao conhecido
      // Progress Bar percentual
      document.getElementById('MacPlayer_Status_ProgressBar_SeekBar').style.backgroundPosition = Math.ceil(varObjMediaPlayer.Controls.CurrentPosition/varObjMediaPlayer.CurrentMedia.Duration*100)+'% 50%';
    } else if ( varMacPlayer_MediaType=='Live' && varObjMediaPlayer.PlayState==3 ) {
      // Media Live nao possui tempo de duracao definido
      // Progress Bar sera ocultada e apenas tempo de execucao sera exibido
      document.getElementById('MacPlayer_Status_ProgressBar_Parent').style.display = 'none';
    }
    document.getElementById('MacPlayer_Status_BandWidth').innerHTML = 'transferindo a '+Math.ceil(varObjMediaPlayer.Network.BandWidth/1000)+' de ';
    document.getElementById('MacPlayer_Status_BitRate').innerHTML = Math.ceil(varObjMediaPlayer.Network.BitRate/1000)+' Kbps ';
    setTimeout( 'functionMacPlayer_ProgressBarStart()', 200 );
  }
}

