/******************************************************************
*  	Linking Media, Copyright(c)2004 Linking Media 				
*  	Starnmeerstraat 1-3,2131 AE Hoofddorp The Netherlands,  	
*	Telephone: +31.(0)23-5553099 Telefax: +31.(0)23-5553145		
*  	info@linkingmedia.com, http://www.linkingmedia.com  			
*
*	Parts of this code is based on general available code from 
*	Microsoft and Macromedia but also has been extremely modified 
*	and extended especially for use in Linking Media projects.
*	
*	Author : R. Frantzen
*	Version : 1.0
*	Date last modification : 15-04-2004
******************************************************************/

var SoundStatus = false;
var PlayerStatus = "";
var bTimeSliderDragActive = false;
var plLoaded = false;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function changeChannel(channel) {
		MediaPlayer.URL = "balancer"+channel+".asp";
		MediaPlayer.controls.play();
		var pl = MediaPlayer.currentPlaylist;
		
		//change img
		if(channel == "1") {
			imgOff = "imgstream2";
			imgOn = "imgstream1"
		} else {
			imgOff = "imgstream1";
			imgOn = "imgstream2"
		}
		
		document.getElementById(imgOn).src = "img/checkbox_on.gif"
		document.getElementById(imgOff).src = "img/checkbox_off.gif"
}

function changePL(url) {
		MediaPlayer.URL = url;
		MediaPlayer.controls.play();
		var pl = MediaPlayer.currentPlaylist;
}

function loadPL() {
		MediaPlayer.URL = "playlist.asx";
		MediaPlayer.controls.play();
		var pl = MediaPlayer.currentPlaylist;
		/*
		var plarray = MediaPlayer.playlistCollection.getByName(pl.name);
		if (!plarray.count){
  			MediaPlayer.playlistCollection.importPlaylist(pl);   
		}
		*/
}

function doPlay(){
	if(document.MediaPlayer.uiMode != "none") {
		document.MediaPlayer.uiMode = "none"
	}
	document.MediaPlayer.controls.play();
}

function doPause(){
	document.MediaPlayer.controls.pause();
}

function stop(){
	document.MediaPlayer.controls.stop();
}

function doFfd(){
	if (MediaPlayer.controls.isAvailable('FastForward')) {
		MediaPlayer.controls.fastForward();
	}
}

function doRew(){
	if (MediaPlayer.controls.isAvailable('FastReverse')) {
		MediaPlayer.controls.fastReverse();
	}
}

function doNext(){
	if (MediaPlayer.controls.isAvailable('Next')) {
		MediaPlayer.controls.next();
	}
	doPlay();
}

function doPrev(){
	if (MediaPlayer.controls.isAvailable('Previous')) {
		MediaPlayer.controls.previous();
	}
	doPlay();
}

function goFull() {
	if (MediaPlayer.playState == 3) {
		alert('Use the escape-key (Esc) to exit the fullscreen mode.');
		MediaPlayer.fullScreen = 'true';
	} else {
		alert('Fullscreen is only possible when a video is playing.');
	}
}

function toggleSoundStatus()
{
	if(SoundStatus) {
		SoundStatus = false;
		var img = "img/mute_off.gif";
	} else {
		SoundStatus = true;
		var img = "img/mute_on.gif";
	}		
	document.MediaPlayer.settings.mute = SoundStatus;
	document.getElementById("muteImg").src = img;
}

function secNaarTijd(sec)
{
	if(sec){
	   var mins = parseInt(sec/60,10);
   	var secs = parseInt(sec%60,10);
		if(secs<10){ secs = "0"+secs;}
		return(mins+":"+secs);
	} else {
		return("0:00");
	}
} // secNaarTijd

function changeVolume(event)
{
	if(event) 
	{
		if (is_nav6up) {
			var clickPos = event.layerX;
		} else {
			var clickPos = event.x;
		}
		var vol = clickPos*1.04;
		document.MediaPlayer.settings.Volume = vol;
	} else {
		var volume = document.MediaPlayer.settings.Volume;
		var clickPos = volume/1.04;
	}
	if (is_nav6up) {
		document.getElementById("geluid_scroll").style.left = clickPos;
	} else {
		if(clickPos >86) {
			document.all.geluid_scroll.style.setAttribute('left', 86);
		} else {
			document.all.geluid_scroll.style.setAttribute('left', clickPos);
		}		
	}
} // getVolume

function changeTijd(event)
{
	if (is_nav6up) {
		var clickPos = event.layerX;
	} else {
		var clickPos = event.x;
	}
	if (document.MediaPlayer.currentMedia)	{
		if ( document.MediaPlayer.currentMedia.Duration > 0 ) {
			document.MediaPlayer.controls.currentPosition = parseInt( (clickPos/370) * document.MediaPlayer.currentMedia.Duration ); 
                                         	if ( document.MediaPlayer.playState == 1 ) {
                                                	// mode is stopped, start play
                                                 	startMedia();
                                           	}
		}
	}
} // changeTijd

function UpdateBufferingProgress(){
    if ( document.MediaPlayer.network.bufferingProgress == "100") {
    	ShowStatusChange();//document.getElementById("MediaName").innerHTML = getTitle();
	}
   else {
		document.getElementById("MediaName").innerHTML = "<span class='statustext'>Buffering... "+document.MediaPlayer.network.bufferingProgress + "%</span>";
	}
} // UpdateBufferingProgress

function ShowStatusChange(){
	if ( PlayerStatus != document.MediaPlayer.status ) {
		if ( ( document.MediaPlayer.playState  == 3 ) ||
		     (  document.MediaPlayer.playState  == 6 ) ) 
		{
			if ( document.MediaPlayer.playState  == 3 ) {
				// playing
				document.getElementById("MediaName").innerHTML = getTitle();
			}
			if ( document.MediaPlayer.playState  == 6 ) {
				// buffering
				document.getElementById("MediaName").innerHTML = "<span class='statustext'>Buffering...</span>";
			}
		}
		else {
			document.getElementById("MediaName").innerHTML = "<span class='statustext'>" + document.MediaPlayer.status + "</span>";
		}

	 	if ( ( document.MediaPlayer.playState == 1 ) ||
	 	     ( document.MediaPlayer.playState == 10 ) )
		{
	   		// playState = stopped or ready
	   		ResetTijdScroll();
			document.MediaPlayer.uiMode = "invisible";
	   	}

//	 	if ( ( document.MediaPlayer.playState == 7 ) ||
//	 	     ( document.MediaPlayer.playState == 9 ) ||
//	 	     ( document.MediaPlayer.playState == 11 ) )
//		{
//	   		// playState = waiting, trsitioning, reconnecting
//	   		playerwindow.style.cursor = "wait";
//	   	}
//	   	else {
//	   		playerwindow.style.cursor = "auto";
//	   	}
	}
} // ShowStatusChange

function ShowPlayerInfo(){
	if (document.MediaPlayer.currentMedia)	{
		if ( document.MediaPlayer.playState != 0 ) {
			// playState not undefined
		 	ShowStatusChange();
			if ( document.MediaPlayer.playState != 1 ) {
				// playState not stopped
				UpdateBufferingProgress();
				tijdTeller();
			}
		}
	}
} // ShowPlayerInfo

function ResetTijdScroll() {
    var tijdsDuur = "0:00";
	if (navigator.appName == "Netscape") {
		document.getElementById("tijd_scroll").style.left = 0;
	} else {
		document.all.tijd_scroll.style.setAttribute('left', 0);
	} // end if
	if (document.MediaPlayer.currentMedia.Duration) {
		tijdsDuur = secNaarTijd(document.MediaPlayer.currentMedia.Duration);
	}
	document.getElementById("timefield").innerHTML = '0:00 / ' + tijdsDuur;
}

function tijdTeller() 
{		
 	var tijdStatusSecs = document.MediaPlayer.controls.currentPosition;
 	var tijdStatus = secNaarTijd(tijdStatusSecs);
	var tijdsDuurSecs = document.MediaPlayer.currentMedia.Duration;
	var tijdsDuur = secNaarTijd(tijdsDuurSecs);

	document.getElementById("timefield").innerHTML = tijdStatus + ' / ' + tijdsDuur;

	if(tijdStatusSecs)
	{
		if ( ( tijdStatusSecs < tijdsDuurSecs ) &&
		     ( bTimeSliderDragActive == false ) )
		{
			var tijdPos = parseInt(tijdStatusSecs*(370/tijdsDuurSecs), 10);	
			if (navigator.appName == "Netscape") {
				document.getElementById("tijd_scroll").style.left = tijdPos;
			} else {
				document.all.tijd_scroll.style.setAttribute('left', tijdPos);
			} // end if
		} // end if
	} // end if
}	// tijdTeller

function TimeCursor() {
	if (document.MediaPlayer.currentMedia)	{
		if  ( ( document.MediaPlayer.playState == 1 ) ||
		      ( document.MediaPlayer.playState == 2 ) ||
		      ( document.MediaPlayer.playState == 3 ) ||
			  ( document.MediaPlayer.playState == 6 ) ) 
		{
			// playState = paused, playing, buffering
                                                if ( document.MediaPlayer.currentMedia.Duration > 0 )
                                                {
                                                    // geen livestream
			    tijd_leeg.style.cursor = "pointer";
                                                }
		}
		else {
			// reset cursor
			tijd_leeg.style.cursor = "auto";
		}
	}
	else {
		tijd_leeg.style.cursor = "auto";
	}
} // TimeCursor

function TimeDragBegin() {
	if (document.MediaPlayer.currentMedia)	{
		if  ( ( document.MediaPlayer.playState == 2 ) ||
		      ( document.MediaPlayer.playState == 3 ) ||
			  ( document.MediaPlayer.playState == 6 ) ) 
		{
			// playState = paused, playing, buffering
			bTimeSliderDragActive = true;
		}
	}
} // TimeDragBegin

function TimeDragMove(event) {
	if (is_nav6up) {
		var MousePos = event.layerX;
	} else {
		var MousePos = event.x;
	}
	if ( bTimeSliderDragActive == true ) {
		if (navigator.appName == "Netscape") {
			document.getElementById("tijd_scroll").style.left = MousePos;
		} else {
			document.all.tijd_scroll.style.setAttribute('left', MousePos);
		} // end if
	}
} // TimeDragEnd


function TimeDragEnd(event) {
	if ( bTimeSliderDragActive == true ) {
		changeTijd(event);
		bTimeSliderDragActive = false;
	}
} // TimeDragEnd

function TimeDragReset() {
	//mouse out of focus, reset eventuele drag actie
	bTimeSliderDragActive = false; 
} // TimeDragReset

function init()
{	
	document.MediaPlayer.uiMode = "invisible";
	
}

function getTitle(){
	title = "";
	if(MediaPlayer.currentMedia.getItemInfo("Author") != "") {
		//title += MediaPlayer.currentMedia.getItemInfo("Author")+" - ";
	}
	if(MediaPlayer.currentMedia.getItemInfo("Title") != "") {
		title += MediaPlayer.currentMedia.getItemInfo("Title");
	}
	return("Playing: "+title);
}


//BEGIN DETECTSCRIPTING
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4down = (is_nav && (is_major <= 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );
var is_nav6 = (is_nav && (is_major == 5));
var is_nav6up = (is_nav && (is_major >= 5));
var is_gecko = (agt.indexOf('gecko') != -1);
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up  = (is_ie && (is_major >= 4));
var is_ie4down = (is_ie3 || is_ie4);
var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
var is_opera = (agt.indexOf("opera") != -1);
var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
var is_opera6 = (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1);
var is_opera7 = (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1);
var is_opera7up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4 && !is_opera5 && !is_opera6);
var is_opera6down = (is_opera2 || is_opera3 || is_opera4 || is_opera5 || is_opera6);
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac    = (agt.indexOf("mac")!=-1);
if (is_mac && is_ie5up) is_js = 1.4;
var is_linux = (agt.indexOf("inux")!=-1);
