// JavaScript Document
var ext_client = new Array();
// All Player compatible extensions
ext_client[".avi"] = "all"; ext_client[".mp3"] = "all"; ext_client[".mpeg"] = "all"; ext_client[".mpg"] = "all";

// Windows Media Player compatible extensions
ext_client[".wma"] = "wm"; ext_client[".wmv"] = "wm"; ext_client[".asf"] = "wm"; ext_client[".wm"] = "wm"; 
ext_client[".wax"] = "wm"; ext_client[".asx"] = "wm"; ext_client[".wmx"] = "wm";
ext_client[".aiff"] = "wm"; ext_client[".mid"] = "wm";
 
// Real(One) Player compatible extensions
ext_client[".ram"] = "real"; ext_client[".rm"] = "real"; ext_client[".rpm"] = "real"; 

// QuickTime Player compatible extensions
ext_client[".mov"] = "qt"; 

default_player = "real";

function getClientByExt( extension ) {
  pl = default_player;
  if (ext_client[extension] == "wm") {
    var WMP7;
    if ( navigator.appName != "Netscape" ){   
      WMP7 = new ActiveXObject('WMPlayer.OCX');
    }
    if (WMP7) {
      pl = "wmp7";
    } else {
      pl = "wmp";
    }
  } else {
    pl = ext_client[extension];
  } 
  if (ext_client[extension] == "all") {
    pl = default_player;
  } 

  return pl;
}

function openVideoPlayer( media_url, title, width, height ) {
  x = (640 - width)/2, y = (480 - height)/2;

  if (screen) {
    y = (screen.availHeight - height)/2;
    x = (screen.availWidth - width)/2; 
  }

  if (screen.availWidth > 1800) { 
    x = ((screen.availWidth/2) - width)/2; 
  }

  props = 'width='+width+',height='+height;
  props += ',screenX='+x+',screenY='+y+',top='+y+',left='+x;

  // Test de l'extension pour dterminer le client appropri  
  point_pos = media_url.lastIndexOf(".");
  media_ext = media_url.substring(point_pos, media_url.length);  
  url = 'player.php?src=' + media_url + '&player=' + getClientByExt(media_ext);

  window.open( url, title, props );
}

function loadWMPlayer() {
  var WMP7;
  if ( navigator.appName != "Netscape" ){   
    WMP7 = new ActiveXObject('WMPlayer.OCX');
  }
  if (WMP7) {
    pl = "wmp7";
  } else {
    pl = "wmp";
  }

  // Windows Media Player 7 Code
  if ( WMP7 ) {
     document.write ('<OBJECT ID=MediaPlayer ');
     document.write (' CLASSID=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6');
     document.write (' standby="Loading Microsoft Windows Media Player components..."');
     document.write (' TYPE="application/x-oleobject" width="320" height="265">');
     document.write ('<PARAM NAME="url" VALUE="http://ncnetshow/station1.asx">');
     document.write ('<PARAM NAME="AutoStart" VALUE="true">');
     document.write ('<PARAM NAME="ShowControls" VALUE="1">');
     document.write ('<PARAM NAME="uiMode" VALUE="mini">');
     document.write ('</OBJECT>');
  } else {
  // Windows Media Player 6.4 Code
     //IE Code
     document.write ('<OBJECT ID=MediaPlayer ');
     document.write ('CLASSID=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 ');
     document.write ('CODEBASE=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 ');
     document.write ('standby="Loading Microsoft Windows Media Player components..." ');
     document.write ('TYPE="application/x-oleobject" width="320" height="265">');
     document.write ('<PARAM NAME="FileName" VALUE="http://ncnetshow/station1.asx">');
     document.write ('<PARAM NAME="AutoStart" VALUE="true">');
     document.write ('<PARAM NAME="ShowControls" VALUE="1">');

     //Netscape code
     document.write ('    <Embed type="application/x-mplayer2"');
     document.write ('        pluginspage="http://www.microsoft.com/windows/windowsmedia/"');
     document.write ('        filename="http://ncnetshow/station1.asx"');
     document.write ('        src="http://ncnetshow/station1.asx"');
     document.write ('        Name=MediaPlayer');
     document.write ('        ShowControls=1');
     document.write ('        ShowDisplay=1');
     document.write ('        ShowStatusBar=1');
     document.write ('        width=290');
     document.write ('        height=320>');
     document.write ('    </embed>');

     document.write ('</OBJECT>');
  }
}

/*************************************
Detection des plugins prsents 
sur la machine cliente
**************************************/


function setCookie(name, value, expire ){ 
  document.cookie = name + "=" + escape(value) + ((expire==null ? 
  "":(";expires=" + expire.toGMTString()))); 
//  alert('A browser cookie has been set with value: '+value); 008 
}

function getExpireDate(){ 
  var expires = new Date(); 
  expires.setTime((new Date().getTime() + 1000*60*60*24*365)); 
  return expires; 
}

var playerString; 
/*
if (navigator.userAgent.indexOf("MSIE")<0 || mUserAgent.indexOf("Win") != -1 ) { 
  numPlugins = navigator.plugins.length; 
  for (i= 0; i<numPlugins; i++) { 
    currentPlugin = navigator.plugins[i]; 
    if (currentPlugin.name.substring(0,10)=="RealPlayer"){ 
      playerString+="REAL"+"," 
    }
    if (currentPlugin.name.substring(0,20)=="Windows Media Player") { 
      playerString+="WMP"+"," 
    }
    if (currentPlugin.name.substring(0,9)=="QuickTime"){ 
      playerString+="QT"+"," 
    }
  }  //end for
  setCookie("MediaPlayers", playerString, getExpireDate()); 
}  //end if 
*/

// ConnectionSpeed Detection section 
var datasize=31468; // in Bytes 
var startTime=0; 
var endTime=0; 
var date=0; 
var textMessage=""; 

function calcThroughput() { 
  var diffTimeMilliseconds = endTime - startTime; 
  var diffTimeSeconds = diffTimeMilliseconds/1000; 
  var bits = (datasize*8); // convert Bytes to bits, 
  var kbits = bits/1024; // convert bits to kbits 
  var throughput = kbits/(diffTimeSeconds); 
  throughput = throughput * .93; // account for IP packet header overhead - averages about 7% 
  setCookie("MediaThroughput", throughput, getExpireDate()); 
  textMessage = "time to load: (sec): <B>" + diffTimeSeconds + "</B><BR>kbits:<B> " + kbits + "</B><BR>Throughput (kbps): <B>" + throughput +"</B>" 
} 


date = new Date(); 
startTime=date.getTime(); 
date = new Date(); 
endTime=date.getTime(); 
calcThroughput();
