var qs = document.location.search.substring(1);
var isWMPLoaded = false;
var useApplet = true;
var agent = navigator.userAgent.toLowerCase();

var geckoax = new Object();
geckoax.installed=false;


// Source: CodeFoot.com
function blockError(){return true;}
window.onerror = blockError;


/*
// NS7.1/PC?
if (navigator.plugins && navigator.plugins.length) {
	for (x=0; x<navigator.plugins.length; x++) {
		if (navigator.plugins[x].name.indexOf('ActiveX') != -1 && window.GeckoActiveXObject) {
			geckoax.installed=true;
			break;
		}
	}
}
*/

if (window.ActiveXObject || geckoax.installed) {
	useApplet = false;
} else {
	//useApplet = true;
	useApplet = false;
}

// CHECK FOR JAVA!
if (useApplet) {
	if (!navigator.javaEnabled()) {
		document.location.href = "nojava.html?" +qs;
	}
}

//alert(navigator.userAgent.toLowerCase() + " useApplet: " + useApplet);

function writeAudioPlayer()
{
	var is_ie = navigator.appName == 'Microsoft Internet Explorer';
	
    if (is_ie) { 

         // create the WMP for IE 
		 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="1" height="1">');
		 document.write ('<PARAM NAME="ShowControls" VALUE="full">');
		 document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		 document.write ('</OBJECT>');
		
         str = '<object id="contentPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="320" height="240">'; 

    } else { 

         // create it for FF. 
		 document.write ('<OBJECT ID=MediaPlayer ');
		 document.write (' type="application/x-ms-wmp"');
		 document.write (' standby="Loading Microsoft Windows Media Player components..."');
		 document.write (' TYPE="application/x-oleobject" width="1" height="1">');
		 document.write ('<PARAM NAME="ShowControls" VALUE="full">');
		 document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		 document.write ('</OBJECT>');
         //str = '<object id="contentPlayer" type="application/x-ms-wmp" data="'+url+'" width="320" height="240">'; 

    }          
	
	/*
	if (!useApplet) {
		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="200" height="200">');
		document.write ('<PARAM NAME="ShowControls" VALUE="full">');
		document.write ('<PARAM NAME="AutoStart" VALUE="true">');
		document.write ('</OBJECT>');

	} else {
		 // NETSCAPE
		 
		 document.write ('<APPLET liveconnect="true" code="WMPNS.WMP.class" archive="wmpns.jar" ID="MediaPlayer" NAME="MediaPlayer" height="0" width="0" MAYSCRIPT>');
		 document.write ('</APPLET>');
	}
	*/
}




var intervalIDcheckWMPready = 0;
function checkWMPisLoaded() {

	if (ns6IntervalID != 0)
	{
		clearInterval(ns6IntervalID);
		ns6IntervalID = 0;
	}

	if (!isWMPLoaded && !useApplet)
	{
		if (document.MediaPlayer.enabled)
		{
			isWMPLoaded = true;
			writeFlashPlayer();
			//window.status = "WMP is ready!";
			
			if (intervalIDcheckWMPready != 0)
			{
				window.clearInterval(intervalIDcheckWMPready);
			}
		}
		else {
			if (intervalIDcheckWMPready == 0)
			{
				//window.status =("WMP not yet ready!");
				intervalIDcheckWMPready = window.setInterval("checkWMPisLoaded()", 100);
			}
		}

	} else if (!isWMPLoaded && useApplet) {

		try {
			document.MediaPlayer.getSettings().getVolume();
			isWMPLoaded = true;
			writeFlashPlayer();
			
			//window.status = "WMP is ready!";
			
			if (intervalIDcheckWMPready != 0)
			{
				window.clearInterval(intervalIDcheckWMPready);
			}

		} catch(e) {

			if (intervalIDcheckWMPready == 0)
			{
				//window.status =("WMP not yet ready!");
				intervalIDcheckWMPready = window.setInterval("checkWMPisLoaded()", 100);
			}

	
		}
	}
	//counter++;
	//window.status = "checkWMPisLoaded: " + intervalIDcheckWMPready + " counter:"+counter;

}

function writeFlashPlayer() {
	/*var oeTags = '<OBJECT ID="flashController" CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
			+ 'WIDTH="788" HEIGHT="433"'
			+ 'CODEBASE="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">'
			+ '<PARAM NAME="MOVIE" VALUE="master_ketnet.swf?qsPlayer=WMP&' + qs + '">'
			+ '<PARAM NAME="PLAY" VALUE="true">'
			+ '<PARAM NAME="LOOP" VALUE="false">'
			+ '<PARAM NAME="QUALITY" VALUE="high">'
			+ '<PARAM NAME="MENU" VALUE="false">'
			+ '<EMBED swLiveConnect="true" NAME="flashController" SRC="master_ketnet.swf?qsPlayer=WMP&' + qs + '"'
			+ 'WIDTH="788" HEIGHT="433"'
			+ 'PLAY="true"'
			+ 'LOOP="false"'
			+ 'QUALITY="high"'
			+ 'MENU="false"'
			+ 'TYPE="application/x-shockwave-flash"'
			+ 'PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">'
			+ '<\/EMBED>'
			+ '<\/OBJECT>';
	// embed the Flash Movie
	document.getElementById("flashPlayerDIV").innerHTML = oeTags;
	*/
	
	var so = new SWFObject("master_ketnet.swf?qsPlayer=" + mediaPlayerID + "&" + qs + "&agent=" + agent , "flashController", "788", "433", "8", "#FFFFFF");
  	//so.addVariable("qsPlayer", mediaPlayerID);
 	 //so.addVariable("qs", qs);
  	//so.addVariable("agent", agent);  	

  	so.write("flashPlayerDIV");
}

function loadStream(url) {
	//alert("loadStream:"+url);

	// override url
	//url = 'http://64.236.34.67:80/stream/1065';
	if (useApplet) {
		document.MediaPlayer.setURL(url);
	} else {
		document.MediaPlayer.URL = url;
	}
}

function playStream() {
	if (useApplet) {
		document.MediaPlayer.getControls().play();
	} else {
		document.MediaPlayer.controls.play();
	}
}

function setStreamVolume(volume) {
	//alert("set volume:"+volume);
	if (useApplet) {
		document.MediaPlayer.getSettings().setVolume(volume);
	} else {
		document.MediaPlayer.settings.volume = parseInt(volume);		
	}
}

function getStreamVolume() {
	// store the volume in Flash!
	var volume;
	if (useApplet) {
		volume = document.MediaPlayer.getSettings().getVolume();
	} else {
		volume = document.MediaPlayer.settings.volume;
	}
	document["flashController"].SetVariable("theObjectVolume", volume);
}


function pauseStream() {
	if (useApplet) {
		document.MediaPlayer.getControls().pause();
	} else {
		document.MediaPlayer.controls.pause();
	}
}

function setStreamMute(trigger) {
	//alert("mute:"+trigger);
	if (useApplet) {
		document.MediaPlayer.getSettings().setMute(trigger);
	} else {
		document.MediaPlayer.settings.mute = trigger;
	}
}

function stopStream() {
	//alert("stop!");
	if (useApplet) {
		document.MediaPlayer.getControls().stop();
	} else {
		document.MediaPlayer.controls.stop();
	}
}

function changeTitle(title){
	document.title = title;
}

// ================================================================================
// Catch events from the player and forward to the general event handlers
var intervalBufferUpdate;

// catch IE
function MediaPlayer_Buffering(start) {
   if (start == true) {
	   //window.status = "Loading... ";
   	   eventPlayStateChange(6);
	   intervalBufferUpdate = setInterval("MediaPlayerBufferUpdateIE()", 100);
   }
   else if (start == false) {
   	   eventPlayStateChange(3);
	   clearInterval(intervalBufferUpdate);
	   //window.status = "Playing... ";
   }
}

function MediaPlayerBufferUpdateIE() {
	eventBufferChange(document.MediaPlayer.network.bufferingProgress);
}

function MediaPlayer_OpenStateChange() {
	eventOpenStateChange(document.MediaPlayer.openState);
}

function MediaPlayer_PlayStateChange() {
	eventPlayStateChange(document.MediaPlayer.playState);
}

// catch NS (applet)
function OnBuffering(start) {
//alert("start buffering..."+start);
   if (start == "true") {
	   //window.status = "Loading... ";
	   intervalBufferUpdate = window.setInterval("bufferUpdateApplet()", 100);
   } else if (start == "false") {
	   window.clearInterval(intervalBufferUpdate);
	   //window.status = "Playing... "
   }
}
function bufferUpdateApplet() {
	eventBufferChange(document.MediaPlayer.getNetwork().getBufferingProgress());
}

function OnPlayStateChange(newState) {
	eventPlayStateChange(newState);
}

function OnOpenStateChange(newState) {
	eventOpenStateChange(newState);
}

counter = 0;
// ================================================================================
// general event handlers (send to the interface)
function eventBufferChange(buffered) {
	//counter++;
	//window.status = "Buffering... " + buffered + " counter:"+counter;
	document["flashController"].SetVariable("theBufferState", buffered);
}
function eventOpenStateChange(newState) {
	//alert("eventOpenStateChange:"+newState);
}

var bufferHistory = 0;
var mediaEnded = 0;
function eventPlayStateChange(newState) {
	var playState = -1;

	switch (Number(newState))
	{
		case 1:
			playState = 5;
			bufferHistory = 0;
			break;
		case 7:
			playState = 1;
			break;	
		case 9:
			playState = 1;
			bufferHistory = 0;
			break;	
		case 6:
			playState = 2;
			bufferHistory = 1;
			break;			
		case 3:
			if (bufferHistory == 1) {}
			playState = 3;
			break;
		case 8:
			mediaEnded = 1;
			break;
		case 10:
			playState = 5;
			break;
	}

	if (playState != -1) {
		document["flashController"].SetVariable("thePlayState", playState);
	}

	//alert(newState + " wordt playState:"+playState);
	//window.status = newState + " wordt playState:"+playState;
}

//window.status = "Starting...";


// ================================================================================
// ODI

function getStreamTotalTime() {
	var totalTime;

	if (useApplet) {
		totalTime = document.MediaPlayer.getCurrentMedia().getDuration();
	} else {

		try
		{
			totalTime = document.MediaPlayer.currentMedia.duration;
		}
		catch (e)
		{
			totalTime = 0;
		}

	}
	document["flashController"].SetVariable("theTotalTime", totalTime);
	//window.status = "totalTime: " + totalTime;
	//alert("totalTime:" + document.MediaPlayer.currentMedia.duration+".");
}

function getStreamCurrentTime() {
	var currentTime;

	if (useApplet) {
		currentTime = document.MediaPlayer.getControls().getCurrentPosition();
	} else {
		currentTime = document.MediaPlayer.controls.currentPosition;
	}
	document["flashController"].SetVariable("theCurrentTime", currentTime);
	//window.status = "currentTime: " + currentTime;
	//alert("currentTime: " + document.MediaPlayer.controls.currentPosition);
}

function setStreamPosition(seconds) {
	seconds = Number(seconds);
	//alert("position:"+Number(seconds) + " " + typeof(seconds));
	if (useApplet) {
		document.MediaPlayer.getControls().setCurrentPosition(seconds);
	} else {
		if (document.MediaPlayer.controls.isAvailable('CurrentPosition')) {
			document.MediaPlayer.controls.currentPosition = seconds;
			document.MediaPlayer.controls.play();
		}

	}
	//window.status = "position:"+seconds;
}







//
// OTHER FUNCTIONS
//

function changeVisibility(vis) {  
  document.getElementById("mediaPlayerDIV").style.visibility = "" + vis;
}

function changePosition(top, left) {  
  document.getElementById("mediaPlayerDIV").style.top= top + "px";
  document.getElementById("mediaPlayerDIV").style.left= left + "px";  
}

function changeAccessible(){
  var accessiblePage = "http://" + document.location.host.toString() + document.location.pathname.toString() + "?" + qs + "&qsAccessible=1"; 
  window.location.replace(accessiblePage);  
}

var resizeIntervalID = 0;
function resize(width, height){
  
  //ADJUST HEIGHT ACCORDING TO STATUS BAR HEIGHT
  var agent = navigator.userAgent.toLowerCase();
  if(agent.indexOf("firefox") != -1){
    statusHeight = 20;
  }
  else{
    var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	if(ie7){
		statusHeight = 43;
	}
	else{
	    statusHeight = 23;
	}
  }
  var heightWithStatus = parseInt(height) + statusHeight;
    
	try {
		window.resizeTo(width, heightWithStatus);
		//window.status = "resize: w=" + width + " h:" + height;
		if (resizeIntervalID != 0) {
			clearInterval(resizeIntervalID);
			resizeIntervalID = 0;
			//window.status = "clear!";
		}
	} catch (e) {
		if (resizeIntervalID == 0) {
			// RETRY
			resizeIntervalID = setInterval("resize("+width+","+height+")",100);
			//window.status = "retry: w=" + width + " h:" + height + " iID = " + resizeIntervalID;
		}
	}
}


function openLinkInBlankWindow(link_url){
  	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(link_url, '" + id + "', 'toolbar=1,scrollbars=1,location=1,status=1,statusbar=1,menubar=1,resizable=1');");	
}
