var player_timer;
var global_playerid = 'MediaPlayer1';

function InsertMovie(Source,SourceId,Width,Height,Browser){ // InsertMovie('http://media2.streamworks.dk/solar/solar_02.wmv','MediaPlayer2','375','225');

	// Determine browser
	var ua = navigator.userAgent.toLowerCase();
	var msie = ua.indexOf('msie');

	if(msie > -1 && ua.indexOf('opera') == -1 && parseFloat(ua.substring(msie+5)) > 5.5){
		// IE browser
		document.write('<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" width="'+Width+'" height="'+Height+'" name="'+SourceId+'" standby="Loading Media Player components..." id="'+SourceId+'" viewastext="">');
		document.write('<param name="FileName" value="'+Source+'">');
		document.write('<param name="ShowControls" VALUE="false">');
		document.write('<param name="ShowStatusBar" value="false">');
		document.write('<param name="ShowDisplay" VALUE="false">');
		document.write('<param name="autostart" VALUE="false">');
		document.write('<param name="showtracker" VALUE="0">');
		document.write('<param name="uiMode " VALUE="none">');
		document.write('<param name="Volume" value="0">');
		document.write('<param name="WindowlessVideo" value="true">');
		document.write('<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="'+Source+'" name="'+SourceId+'" width="'+Width+'" height="'+Height+'" ShowControls="0" ShowStatusBar="0" ShowDisplay="0" autostart="0" showtracker="0" WindowlessVideo="true"></embed>');
		document.write('</object>');
		
	}else{
		// Other browser
		document.write('<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" width="'+Width+'" height="'+Height+'" name="'+SourceId+'" standby="Loading Media Player components..." id="'+SourceId+'" viewastext="">');
		document.write('<param name="FileName" value="'+Source+'">');
		document.write('<param name="ShowControls" VALUE="true">');
		document.write('<param name="ShowStatusBar" value="false">');
		document.write('<param name="ShowDisplay" VALUE="false">');
		document.write('<param name="autostart" VALUE="true">');
		document.write('<param name="showtracker" VALUE="0">');
		document.write('<param name="uiMode " VALUE="none">');
		document.write('<param name="Volume" value="0">');
		document.write('<param name="WindowlessVideo" value="true">');
		document.write('<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="'+Source+'" name="'+SourceId+'" width="'+Width+'" height="'+Height+'" ShowControls="1" ShowStatusBar="0" ShowDisplay="0" autostart="1" showtracker="0" WindowlessVideo="true"></embed>');
		document.write('</object>');
		
	}

}

function dragMovie(x,y,movieid){

	// Move the movie trackbar
	document.getElementById(movieid+'_trackbar').style.width = x + 'px';
	document.getElementById(movieid+'_arrow').style.backgroundPosition = (x + 6) + 'px 0px';
	
}

function dropMovie(x,y,movieid){

	// Get total length
	var clip_dur = player_get_duration_modified();
	clip_dur = Math.round(clip_dur);
	
	// Calculate trackbar position
	var track_pos = ((x * 100) / 140);
	track_pos = Math.round(track_pos);
	
	new_track_pos = ((clip_dur * track_pos) / 100)
	new_track_pos = Math.round(new_track_pos);

	// Set trackbar
	if(new_track_pos>0 && new_track_pos<=clip_dur){
		player_set_position(new_track_pos);
	}

}

function startstateBar(){

	player_timer = setTimeout("stateBar()",1000);

}

function stopstateBar(){

	clearTimeout(player_timer);

}

function dropSpeaker(x,y){

}

function dragSpeaker(x,y,playerid){

	// Set the volume
	var setPerfectage = Math.round((100 - (x * 100) / 52));
	var setVolume = ((-5000 * setPerfectage) / 100);
	var element = document.getElementById(playerid+'_speaker');
	
	if(element.className=='speaker_on'){
		document.getElementById(playerid).Volume = setVolume;
	}
	
	// Move the current volume
	document.getElementById(playerid+'_volume').style.width = x + 'px';

}

function muteSpeaker(state,playerid){

	// Get status
	var element = document.getElementById(playerid+'_speaker');
	
	// Turn off or on
	if(element.className=='speaker_on'){
		element.className='speaker_off';
		document.getElementById(playerid).Volume = '-5000';
	}else{
		element.className='speaker_on';
		document.getElementById(playerid).Volume = '0';
	}

}

function stateBar(){
	// Get movie duration + position;
	var player_dur = player_get_duration_modified();
	var player_pos = player_get_position_modified();
	
	// Round the numbers
	player_dur = Math.round(player_dur);
	player_pos = Math.round(player_pos);
	
	// Calculate percentage
	var player_percent = ((player_pos * 100) / player_dur)
	player_percent = Math.round(player_percent);
	
	// The bar is total 140px
	var player_pixels;

	player_pixels = Math.round(((player_percent * 140) / 100));
	
	if(player_pixels!='Infinity' && global_playerid){
		if(document.getElementById(global_playerid+'_trackbar') && document.getElementById(global_playerid+'_arrow') && document.getElementById(global_playerid+'_track1')){
		document.getElementById(global_playerid+'_trackbar').style.width = player_pixels + 'px';
		document.getElementById(global_playerid+'_arrow').style.backgroundPosition = (player_pixels + 6) + 'px 0px';
		document.getElementById(global_playerid+'_track1').style.left = player_pixels + 'px';
		}
	}

	// Repeat function
	player_timer = setTimeout("stateBar()",1000);

}

function hideAll(){

	var players = document.getElementsByTagName('DIV');
	var countPlayers = players.length;
	var t = 0;

	for(t=0;t<countPlayers;t+=1){
		if(players[t].className=='player_bar'){
			players[t].style.display = 'none';
		}
	}
		
}

function turnOffAll(current){

	var players = document.getElementsByTagName('DIV');
	var countPlayers = players.length;
	var t = 0;
	var playerLoop = 1;

	for(t=0;t<countPlayers;t+=1){
		if(players[t].className=='player_bar'){
			
			var currentPlayer = 'MediaPlayer' + playerLoop;
			
			if(currentPlayer!=current){
				document.getElementById('MediaPlayer'+playerLoop+'_play').className = 'play';
				document.getElementById('MediaPlayer'+playerLoop).pause();
			}else if(currentPlayer==current){
				if(document.getElementById('MediaPlayer'+playerLoop+'_play').className=='pause'){
					document.getElementById('MediaPlayer'+playerLoop+'_play').className='play';
				}
			
			}
			
			// Clear timer
			stopstateBar();
			
			// Add
			playerLoop+=1;
			
		}
		
	}

}

function playMovie(parPlayer){

	// Turn off all players
	turnOffAll(parPlayer);

	// Get player + player state + element
	var player = document.getElementById(parPlayer);
	var ps = player_get_playstate();
	var element = document.getElementById(parPlayer+'_play');

	// Update current player
	global_playerid = parPlayer;

	if(player && element){
	
		// State "stopped"
		if( ps == 0 ){
			element.className = 'pause';
			player.play();
			startstateBar();
		}
	
		// State "pause"
		if( ps == 1 ){
			element.className = 'pause';
			player.play();
			startstateBar();
		}
		
		// State playing
		if( ps == 2 ){
			element.className = 'play';
			player.pause();
			stopstateBar();
		}

	}

}

//Countdown functions
function mainLoop()
{
	textInfo();
	if (run_main_loop)
	{
	if (startPos == -1) {startPos = document.getElementById(global_playerid).currentPosition;}
		setTimeout("mainLoop()", 500);
	}
	moveTracker();
}

function textInfo()
{
	buf = player_get_bufferprogress();
	txt = "";
	ps = player_get_playstate();
	if (buf < 2)
	{
		document.getElementById(global_playerid+'_msgInfo').innerHTML = "Stoppet";
		return;
	}
		if( buf < 98 )
	{
		document.getElementById(global_playerid+'_msgInfo').innerHTML = "Loading: " + buf + "%";
		return;
	}
	if( ps == 0 )
		txt = 'Stoppet';
	else if( ps == 1 )
		txt = 'Pause';
	else if( ps == 2 )
		txt = 'Playing';
	else if( ps == 3 )
		txt = 'Waiting';
	else if( ps == 4 )
		txt = 'Spoler Frem';
	else if( ps == 5 )
		txt = 'Spoler Tilbage';
	else if( ps == 6 )
		txt = 'Waiting';//txt = '&nbsp;&nbsp;Hopper Frem';
	else if( ps == 7 )
		txt = 'Waiting';//txt = '&nbsp;&nbsp;Hopper Tilbage';
	else if( ps == 8 )
		txt = '';//txt = '&nbsp;&nbsp;Lukket'; <--- sker kun ved live når der ikke encodes
	else
		txt = '';//sker ALDRIG :o)

	if(document.getElementById(global_playerid+'_msgInfo')){
		document.getElementById(global_playerid+'_msgInfo').innerHTML = txt;
	}

	if ( ps == 2 ) start_counter();
	else stop_counter(txt);

	if ( display_counter == 1)
	{
		player_dur = player_get_duration_modified(); //return clip length in sec
		player_pos = player_get_position_modified(); //return clip position in sec
		timer_txt = '<span style="color:#fff;">' + format_time(player_pos) + '</span> / ' + format_time(player_dur);
		if(document.getElementById(global_playerid+'_msgInfo')){
			document.getElementById(global_playerid+'_msgInfo').innerHTML = timer_txt;
		}
	}
}

function unformat_time(value) 
{
//value is mm:ss:ms
//output is seconds
	output = Date.parse(value)
return output
}

function format_time(value)
{
	//value is seconds
    //output is h:mm:ss
    var xh = Math.floor( value / 3600 );
    var value = value - (xh * 3600);
    var xm = Math.floor( value / 60 );
    var xs = Math.floor( value - ( xm * 60 ) );
    var tval = "";
  	if (xh > 0) { tval += xh; } else { tval += "0"; }
	tval += ((xm < 10) ? ":0" : ":") + xm;
  	tval += ((xs < 10) ? ":0" : ":") + xs;

	return tval;
}

function start_counter()
{
	display_counter = 1;
}

function stop_counter(txt)
{
	display_counter = 0;
	if(document.getElementById(global_playerid+'_msgInfo')){
		document.getElementById(global_playerid+'_msgInfo').innerHTML = txt;
		setTimeout('document.getElementById(global_playerid+"_msgInfo").innerHTML = txt', 500);
	}
}

function player_get_duration_modified()
{
	//return clip length in sec
	dur = document.getElementById(global_playerid).duration;
	return dur;
}

function player_get_duration()
{
	//return clip length in sec
	dur = document.getElementById(global_playerid).duration;
	return dur;
}

function player_get_position()
{
	//return clip position in sec
    pos = document.getElementById(global_playerid).currentPosition;
    return pos;
}

function player_get_position_modified()
{
	//return clip position in sec
    pos = document.getElementById(global_playerid).currentPosition - startPos;
    return pos;
}

function player_set_position(pos)
{
	//skip to "pos" sec
	document.getElementById(global_playerid).currentPosition = pos + startPos;
}

function player_get_bufferprogress()
{
	//return buffering progress in percent
	bp = document.getElementById(global_playerid).BufferingProgress;
	return bp;
}

function player_get_playstate()
{
	//return windowsmedia playstate number (if not windowsmedia - convert number)
	ps = document.getElementById(global_playerid).playState;
	return ps;
}

function player_stop(pos)
{
	//skip to "pos" sec
	document.getElementById(global_playerid).currentPosition = startPos;
	document.getElementById(global_playerid).stop();
}

var run_main_loop = 1;
var display_counter = 0;
var trackerBarLength = 285;
var startPos = -1;

<!-- START --> 
setTimeout("mainLoop()", 500);



	function trackPos()
	{
		clip_dur = player_get_duration_modified(); //Skal hentes fra asx file
		clip_pos = player_get_position_modified(); // = currentposition - startpostion
		rdur = clip_dur/(trackerBarLength);
		xpos = event.offsetX;
		tpos = rdur*xpos;
		
		if( tpos>clip_dur ) { tpos = clip_dur; }
		player_set_position(Math.round(tpos));
	}

	function moveTracker()
	{
		clip_dur = player_get_duration_modified(); //Skal hentes fra asx file
		clip_pos = player_get_position_modified(); // = currentposition - startpostion
		mpos = clip_pos;
		if( mpos <= 0 || clip_dur <= 0 )
			return;
		rdur = (mpos/clip_dur);
		tpos = Math.round(rdur*(trackerBarLength));

		if (clip_pos >= clip_dur)
		{
		}
	}

//Marker functions

//Change marker
function goto(){
	var myform = document.clock;
	document.getElementById(global_playerid).CurrentMarker = myform.markers.options[myform.markers.selectedIndex].value;
}

//Standard Image functions


function findObj(n, d) { //v3.0
  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=findObj(n,d.layers[i].document); return x;
}
function nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = findObj(args[2])) != null && !img.init) {
      img.init = true; img.up = args[3]; img.dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
        if (!img.up) img.up = img.src;
        img.src = img.dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = findObj(args[i])) != null) {
      if (!img.up) img.up = img.src;
      img.src = (img.dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.nbOver.length; i++) {
      img = document.nbOver[i]; img.src = (img.dn) ? img.dn : img.up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.up; img.dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
      if (!img.up) img.up = img.src;
      img.src = img.dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}

function preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.p) d.p=new Array();
   var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function dragPlayer(ElementId) {
	// Determine browser
	var ua = navigator.userAgent.toLowerCase();
	var msie = ua.indexOf('msie');

	if(msie > -1 && ua.indexOf('opera') == -1 && parseFloat(ua.substring(msie+5)) > 5.5){
   		// MediaPlayer group
		var bThumb = document.getElementById(ElementId+"_track1");
		Drag.init(bThumb, null, 0, 140, 0, 0);
		bThumb.onDrag = function(x,y){dragMovie(x,y,ElementId);}
		bThumb.onDragEnd = function(x,y){dropMovie(x,y,ElementId);}

		var aThumb = document.getElementById(ElementId+"_track2");
		Drag.init(aThumb, null, 0, 52, 0, 0);
		aThumb.onDrag = function(x,y){dragSpeaker(x,y,ElementId);}
		aThumb.onDragEnd = function(x,y){dropSpeaker(x,y,ElementId);}
	}else{
		
		// Hide all players
		hideAll();
		
	}
}




