//msplayercontrols.js
// v1.0
// mz 02-09-05 v1.2
// mz/gz 02-10-08 added slider, uses lang_xx.js for Mouse-over texts
// mz/gz 02-12-12 a_/b_ Folder Struktur angepasst
// v1.21
// Bugfix WMP9 mz 05-03-2005

playercontrols = new toolbar("playercontrols",t_start);
volumecontrols = new toolbar("volumecontrols","");
playercontrols.addButton(t_start, "a_images/3p-play.gif",    "a_images/3p-play_a.gif",  "a_images/3p-play_o.gif");
playercontrols.addButton(t_stop,  "a_images/3p-stop.gif",    "a_images/3p-stop_a.gif",  "a_images/3p-stop_o.gif");
playercontrols.addButton(t_pause, "a_images/3p-pause.gif",   "a_images/3p-pause_a.gif",  "a_images/3p-pause_o.gif");
volumecontrols.addButton(t_vol_up,  "a_images/3p-volplus.gif", "a_images/3p-volplus_a.gif", "a_images/3p-volplus_o.gif");
volumecontrols.addButton(t_vol_down, "a_images/3p-volmin.gif",  "a_images/3p-volmin_a.gif",  "a_images/3p-volmin_o.gif");

var isstate = -1;
var wasstate = -1;
var clipDuration = -1;

function init() {
	if (!(navigator.appVersion.indexOf("NT;",0)>0) || (navigator.platform.indexOf("95")>0))
		window.setInterval("Playerstate()",500)

	if (MediaPlayer.IsDurationValid) {
		clipDuration = MediaPlayer.Duration;
	}

	window.setTimeout("setTime()",1000);

} //End init

function TBaction(s_buttoname) {
	switch (s_buttoname) {
		case t_start:
			obj_controls.Play();
			break;
		case t_stop:
			obj_controls.Stop();
			if (ie) obj_controls.CurrentPosition=0
			else    obj_controls.SetCurrentPosition(0)
			break;
		case t_pause:
			if (this.activeButton == t_start)
			obj_controls.Pause();
			break;
		case t_vol_up:
			var volume = getVolume();
			if (volume < -3000)  setVolume(-3000);
			if (volume >= -3000) setVolume(-1200);
			if (volume >= -1200) setVolume(-600);
			if (volume >= -600)  setVolume(-350);
			if (volume >= -350)  setVolume(-170);
			if (volume >= -170)  setVolume(-100);
			if (volume >= -100)  setVolume(0);
			return false;
		case t_vol_down:
			var volume = getVolume();
			if (volume <= 0)     setVolume(-100);
			if (volume <= -100)  setVolume(-170);
			if (volume <= -170)  setVolume(-350);
			if (volume <= -350)  setVolume(-600);
			if (volume <= -600)  setVolume(-1200);
			if (volume <= -1200) setVolume(-3000);
			return false;
	}
	return true;
} //End TBaction

function getVolume() {
	if (ie) return obj_controls.Volume
	else return obj_controls.GetVolume()
} //End getVolume

function setVolume(i_decibel) {
	if (ie) obj_controls.Volume = i_decibel
	else obj_controls.SetVolume(i_decibel)
} //End setVolume

function Playerstate() {
	if (ns) isstate = obj_controls.GetPlayState();
	else isstate = obj_controls.PlayState;

	if (wasstate != isstate) {
		wasstate = isstate;
		switch (wasstate) {
			case 0:
			playercontrols.setButton(document.images[t_stop]);
			break;
			case 1:
			playercontrols.setButton(document.images[t_pause]);
			break;
			case 2:
			playercontrols.setButton(document.images[t_start]);
			break;
		}
	}
} //End Playerstate

// Function for Displaying Video in Fullscreen Mode
function goFullscreen() {
	if (obj_controls.AllowChangeDisplaySize) {
		obj_controls.DisplaySize = 3;
		obj_controls.EnableFullScreenControls
		obj_controls.Play();
		isstate = -1;
		wasstate = -1;
		Playerstate();
	}
}

// Funktion zum schnellen Vorspulen mit Mediaplayer 6.x Methoden
// funktioniert nur, wenn File von Mediaserver kommt
function fastForward(status){
	if (status){
		if (obj_controls.CanScan){
			obj_controls.FastForward();
		}
		else alert(t_fforward_error);
	}
	else{
		if ( (isstate != 0) && (isstate != 1) ) obj_controls.Play();
	}
}

// Funktion zum schnellen zurückspulen mit Mediaplayer 6.x Methoden
// funktioniert nur, wenn File von Mediaserver kommt
function fastReverse(status) {
	if (status){
		if (obj_controls.CanScan){
			obj_controls.FastReverse();
		}
		else alert(t_frewind_error);
	}
	else{
		if ( (isstate != 0) && (isstate != 1) ) obj_controls.Play();
	}
}

// Funktion zum Anspringen einer bestimmten Position
// Übergabeparameter: Zeit in Sekunden vom Anfang des Clips bis zur gewünschten Position
function jumpTo(tsec){
		obj_controls.CurrentPosition = tsec;
	//else alert("jumpTo Error")
}

function setVideoPosition(pos){
	if (pos >= 0) {
		newPos = Math.round((pos*MediaPlayer.Duration)/1000);
		//temp = window.status;
		//window.status = temp + "|" + newPos;
	}
	obj_controls.CurrentPosition = newPos;
}

function setTime() {

	var curPos = obj_controls.CurrentPosition;
	var clipPosition = 0;

	if (curPos > 0) {
		clipPosition = Math.round((curPos/MediaPlayer.Duration)*1000);
	}

	if (!dragOn) setSliderPos(clipPosition);

	window.setTimeout("setTime()",1000);

}
