var NewSlide;
var slices = 1;
var slideshow_timer;
var current_slice;
var active_slide = "slide1";

var Mediafile_CurrentIndex = 0;
var Mediafile_Pause = false;

var loadAudioPlaylist = new Array();
var loadVideoPlaylist = new Array();

var Playlist = function(instance, player, medienart, playlist) {
	var self = this;
	
	this.CurrentTime	= 0;
	this.CurrentStatus	=	0;
	
	this.instance 	= instance;
	this.player		= player;
	this.medienart 	= medienart;
	this.playlist	= playlist;
	this.length		= playlist.length;
	
	this.get_playlist = function () {
		
		var $items = "<div class='playlist_" +this.instance+ "'><ul>";
		for (var $i=0; $i < this.length; $i++) {
			if (this.player == 3) $items += "<li><div id= 'playlist_" +this.instance+ "_" +$i+ "' class='playlist_" +this.instance+ "_" +$i+ "' onclick='start_audiobox(" +this.player+ "," +$i+ ");' style='cursor:pointer;padding-left:3px;'>" +playlist[$i].name+ "</div></li>";
				else $items += "<div id= 'playlist_" +this.instance+ "_" +$i+ "' class='playlist_" +this.instance+ "_" +$i+ "' onclick='start_moviebox(" +this.player+ "," +$i+ ");' style='cursor:pointer;'><font size='2'>" +playlist[$i].datum+"</font><br />"+playlist[$i].name+ "</div>";
		}
		
		$items += "</ul></div>";
		document.write($items);
	}
	
	this.set_mediafile = function (jplayer, time, autostart) {
		this.jplayer 			= jplayer;
		this.time				= time;

		if (this.jplayer == 3) {
			$("#jquery_jplayer_3").jPlayer("setMedia", {
				//name	: this.playlist[Mediafile_CurrentIndex].name,
				mp3 	: this.playlist[Mediafile_CurrentIndex].mp3
			});
			if (autostart == true) $("#jquery_jplayer_3").jPlayer("play", this.CurrentTime);
		} else {
			if (this.jplayer == 1) 
				jwplayer('tv').load(this.playlist[Mediafile_CurrentIndex].m4v);
				if (autostart == true) 
					jwplayer('tv').play();
			if (this.jplayer == 2)
				jwplayer('slidescreen').load(this.playlist[Mediafile_CurrentIndex].m4v);
				if (autostart == true) 
					jwplayer('slidescreen').play();
					if (this.time > 0) jwplayer('slidescreen').seek(this.time);

			/*
			$("#jquery_jplayer_" + this.jplayer).jPlayer("setMedia", {
				//name	: this.playlist[Mediafile_CurrentIndex].name,
				m4v 	: this.playlist[Mediafile_CurrentIndex].m4v,
				poster  : this.playlist[Mediafile_CurrentIndex].poster
			});
			*/
		}

		if (this.jplayer == 3) {
			document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + this.playlist[Mediafile_CurrentIndex].name;
			$("#marquee").marquee("update");
			
			highlight_mediabox(this.instance, Mediafile_CurrentIndex);
		} else {
			document.getElementById('track_moviebox_slidescreen').value = "Track: " + this.playlist[Mediafile_CurrentIndex].name;
			document.getElementById('track_moviebox_fullscreen').value = "Track: " + this.playlist[Mediafile_CurrentIndex].name;
		}
		
	}
	
	this.pause_mediafile = function(jplayer) {
		$("#jquery_jplayer_" + this.jplayer).jPlayer("pause");
	}

	this.resume_mediafile = function(jplayer) {
		$("#jquery_jplayer_" + this.jplayer).jPlayer("play");
	}

	this.stop_mediafile = function(jplayer) {
		this.set_mediafile(jplayer, 0, false);
	}
};

function set_slideshow(slide) {
	var CurrentSlideNr;
	var NewSlideNr;
	
	reset_slideshow();
	stop_slideshow();
	
	CurrentSlideNr	= active_slide.substring(active_slide.length - 1);
	NewSlideNr 		= slide.substring(slide.length - 1);
	
	document.getElementById('moviebox_vollansicht').style.display = "none";
	document.getElementById("slider").style.display = "none";
	document.getElementById("slider").id = "slider"+CurrentSlideNr;

	document.getElementById("slider"+NewSlideNr).id = "slider";
	document.getElementById("slider").style.display = "block";

	document.getElementById(slide).src = "images/" + slide + "_aktiv.png";
	
	window.active_slide = slide;

	start_slideshow();

}

function start_slideshow() {
	$('#slider').nivoSlider({pauseTime:15000,effect:'sliceUpDown',afterChange: function(){end_slideshow()}});
	$('#slider').data('nivoslider').start();
}

function stop_slideshow() {
	$('#slider').data('nivoslider').stop();
}

function reset_slideshow() {
	document.getElementById('slide1').src = "images/slide1.png";
	document.getElementById('slide2').src = "images/slide2.png";
	document.getElementById('slide3').src = "images/slide3.png";
	document.getElementById('slide4').src = "images/slide4.png";
}

function end_slideshow() {
	var NewSlideNr;
	var CurrentSlideNr;
	
	var elem_count = 0;
	var elem = document.getElementsByTagName("img");

	CurrentSlideNr	= active_slide.substring(active_slide.length - 1);

	if (CurrentSlideNr == 4) NewSlideNr = 1;
		else NewSlideNr = parseInt(CurrentSlideNr) + 1;
	
	NewSlide = "slide" + NewSlideNr;

	for(var i=0; i < elem.length; i++) {
		if(elem[i].id.indexOf("slider" + CurrentSlideNr) !=-1) {
			window.current_slice = elem[i].id;
			elem_count++;
		}
	}
	
	if (slices < elem_count - 1) {
		window.slices = window.slices +1
	} else {
		window.slices = 1;
		stop_slideshow();
		slideshow_timer = setTimeout('set_slideshow(NewSlide)', 15000);
	}

}

function get_audiotracks() {
	var audio_tracks = loaded_audio.split("|");

	for(var i = 0; i < audio_tracks.length; i++) {
		var audio_track = audio_tracks[i].split(",");
	
		var audio_name    = audio_track[1];
		var audio_file    = audio_track[2] + audio_track[0];
		var insert_Atrack = new AudioPlaylistFile(audio_name,audio_file);
		
		loadAudioPlaylist.push(insert_Atrack);
	}

	window.audioPlaylist = new Playlist(2, 3, 'Audio', loadAudioPlaylist);
}

function get_videotracks() {
	var video_tracks = loaded_video.split("|");

	for(i = 0; i < video_tracks.length; i++) {
		var video_track   = video_tracks[i].split(",");
		
		var video_name    = video_track[1];
		var video_file    = video_track[2] + video_track[0];
		var poster		  = "http://portal.aleksschmidt.de/images/video_tv_standbild.png";
		var datum		  = video_track[3];
		var insert_Vtrack = new VideoPlaylistFile(video_name,video_file,poster,datum);
		
		loadVideoPlaylist.push(insert_Vtrack);
	}

	window.videoPlaylist = new Playlist(1, 1, 'Video', loadVideoPlaylist);
}

function init_player() {
	init_player_1();
	init_player_2();
	init_player_3();
}

function init_player_1() {
	jwplayer("tv").setup({
		'flashplayer':'scripts/player.swf',
		'file':videoPlaylist.playlist[0].m4v,
		'image':'/images/video_tv_standbild.png',
		'width':'125',
		'height':'135',
		'controlbar':'none',
		'icons':'false',
		events: {
			onPlay: function(event) {
				init_player_2();
				//stop_moviebox();
			},
			onBuffer: function() {
				stop_audiobox();
				//Fullscreen zurücksetzen
				document.getElementById('tblmain').style.display = "block";
				document.getElementById('fullscreen_leiste_videosteuerung_').style.display = "none";
				document.getElementById('fullscreen_movie').style.display = "none";
				document.getElementById('jquery_jplayer_4').style.display = "none";
				//Slideshow zurücksetzen
				document.getElementById('slideshow_leiste_videosteuerung_').style.display = "none";
				document.getElementById('slideshow_leiste_content_').style.display = "block";
				document.getElementById('fullscreen').style.display = "none";
				document.getElementById('moviebox_vollansicht').style.display = "none";
			},
			onComplete: function(event) {
				init_player_1();
			}
		}
	});
}

function init_player_2() {
	jwplayer("slidescreen").setup({
		'flashplayer':'scripts/player.swf',
		'file':videoPlaylist.playlist[0].m4v,
		'image':'/images/video_tv_standbild.png',
		'width':'852',
		'height':'352',
		'controlbar':'none',
		'icons':'false',
		events: {
			onPlay: function(event) {
				stop_slideshow();
				clearTimeout(slideshow_timer);

				init_player_1();
			},
			onBuffer: function() {
				//Slideshow stoppen
			},
			onComplete: function(event) {
				init_player_2();
			}
		}
	});
}

function init_player_3() {
	jwplayer("mp3").setup({
		'flashplayer':'scripts/player.swf',
		'file':audioPlaylist.playlist[0].mp3,
		'width':'1',
		'height':'1',
		'controlbar':'none',
		'icons':'false',
		events: {
			onComplete: function(event) {
				//next_audiobox();
			}
		}
	});
	
	document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + audioPlaylist.playlist[0].name;
	$("#marquee").marquee("update");

	highlight_mediabox(2,0)
}

function init_player_safe() {
	$(document).ready(function(){
	
	  	$("#jquery_jplayer_1").jPlayer({
			ready: function () {
				videoPlaylist.set_mediafile(1, 0, false);
			},
			play: function (event) {
				$(this).jPlayer("pauseOthers");
				videoPlaylist.CurrentStatus = 1;
			},
			pause: function (event) {
				videoPlaylist.CurrentTime = event.jPlayer.status.currentTime;
				setTimeout('videoPlaylist.set_mediafile(2, videoPlaylist.CurrentTime, true);', 4000); // Pause f. IExplorer
			},
			ended: function (event) {
				videoPlaylist.next_mediafile(1);
			},
 			oggSupport: false,
		    supplied: "m4v", 
			swfPath: "scripts/"
		}),
	  	$("#jquery_jplayer_2").jPlayer({
			play: function (event) {
				$(this).jPlayer("pauseOthers");
				if (videoPlaylist.CurrentStatus > 0) videoPlaylist.set_mediafile(1, 0, false);
			},
			pause: function (event) {
				videoPlaylist.CurrentTime = event.jPlayer.status.currentTime;
			},
			ended: function (event) {
				videoPlaylist.next_mediafile(2);
			},
 			oggSupport: false,
		    supplied: "m4v", 
			swfPath: "scripts/"
		}),
	  	$("#jquery_jplayer_3").jPlayer({
			ready: function () {
				audioPlaylist.set_mediafile(3, 0, false);
			},
			play: function (event) {
				$(this).jPlayer("pauseOthers");
			},
			ended: function (event) {
				audioPlaylist.next_mediafile(3);
			},
			swfPath: "scripts/",
			supplied: "mp3"
		}),
	  	$("#jquery_jplayer_4").jPlayer({
			play: function (event) {
				$(this).jPlayer("pauseOthers");
				videoPlaylist.CurrentStatus = 3;
			},
			pause: function (event) {
				videoPlaylist.CurrentTime = event.jPlayer.status.currentTime;
			},
			ended: function (event) {
				videoPlaylist.next_mediafile(4);
			},
 			oggSupport: false,
		    supplied: "m4v", 
			swfPath: "scripts/"
		})
	
	})
}

function start_moviebox(jplayer, index) {
	window.Mediafile_CurrentIndex = index;

	videoPlaylist.CurrentStatus = 1;
	
	jwplayer('tv').load(videoPlaylist.playlist[Mediafile_CurrentIndex].m4v);
	jwplayer('tv').play();
}

function stop_moviebox() {
	videoPlaylist.CurrentStatus 	= 0;
	videoPlaylist.CurrentTime 		= 0;

	//Fullscreen zurücksetzen
	document.getElementById('tblmain').style.display = "block";
	document.getElementById('fullscreen_leiste_videosteuerung_').style.display = "none";
	document.getElementById('fullscreen_movie').style.display = "none";
	document.getElementById('jquery_jplayer_4').style.display = "none";
	//Slideshow zurücksetzen
	document.getElementById('slideshow_leiste_videosteuerung_').style.display = "none";
	document.getElementById('slideshow_leiste_content_').style.display = "block";
	document.getElementById('fullscreen').style.display = "none";
	document.getElementById('moviebox_vollansicht').style.display = "none";

	//videoPlaylist.set_mediafile(1, 0, false);
	//videoPlaylist.set_mediafile(2, 0, false);
	//videoPlaylist.set_mediafile(4, 0, false);
	init_player_1();
	init_player_2();

	setTimeout('start_slideshow()', 1000); // Pause f. IExplorer
}

function next_moviebox_tv() {
	window.Mediafile_CurrentIndex = (Mediafile_CurrentIndex + 1 < videoPlaylist.playlist.length) ? Mediafile_CurrentIndex + 1 : 0;

	jwplayer('tv').load(videoPlaylist.playlist[Mediafile_CurrentIndex].m4v);
	jwplayer('tv').play();
}


function start_moviebox_slidescreen() {
	//Vollansicht nur bei laufendem Video
	if (videoPlaylist.CurrentStatus == 1) {

		document.getElementById('slideshow_leiste_content_').style.display = "none";
		document.getElementById('slideshow_leiste_videosteuerung_').style.display = "block";
		document.getElementById('moviebox_vollansicht').style.display = "block";

		document.getElementById('track_moviebox_slidescreen').value = "Track: " + videoPlaylist.playlist[Mediafile_CurrentIndex].name;

		var video_position = jwplayer('tv').getPosition();

		jwplayer('slidescreen').load(videoPlaylist.playlist[Mediafile_CurrentIndex].m4v);
		jwplayer('slidescreen').play();
		jwplayer('slidescreen').seek(video_position);

		//$("#jquery_jplayer_1").jPlayer("pause");
		
	}
}

function pause_moviebox_slidescreen() {
		document.getElementById('pause_moviebox_slidescreen').style.display = "none";
		document.getElementById('play_moviebox_slidescreen').style.display = "block";
		
		jwplayer('slidescreen').pause();
}

function resume_moviebox_slidescreen() {
		document.getElementById('pause_moviebox_slidescreen').style.display = "block";
		document.getElementById('play_moviebox_slidescreen').style.display = "none";

		jwplayer('slidescreen').play();
}

function prev_moviebox_slidescreen() {
	window.Mediafile_CurrentIndex = (Mediafile_CurrentIndex - 1 >= 0) ? Mediafile_CurrentIndex - 1 : videoPlaylist.playlist.length - 1;

	document.getElementById('pause_moviebox_slidescreen').style.display = "block";
	document.getElementById('play_moviebox_slidescreen').style.display = "none";
	document.getElementById('track_moviebox_slidescreen').value = "Track: " + videoPlaylist.playlist[Mediafile_CurrentIndex].name;

	jwplayer('slidescreen').load(videoPlaylist.playlist[Mediafile_CurrentIndex].m4v);
	jwplayer('slidescreen').play();
}

function next_moviebox_slidescreen() {
	window.Mediafile_CurrentIndex = (Mediafile_CurrentIndex + 1 < videoPlaylist.playlist.length) ? Mediafile_CurrentIndex + 1 : 0;

	document.getElementById('pause_moviebox_slidescreen').style.display = "block";
	document.getElementById('play_moviebox_slidescreen').style.display = "none";
	document.getElementById('track_moviebox_slidescreen').value = "Track: " + videoPlaylist.playlist[Mediafile_CurrentIndex].name;

	jwplayer('slidescreen').load(videoPlaylist.playlist[Mediafile_CurrentIndex].m4v);
	jwplayer('slidescreen').play();
}

function news_moviebox_slidescreen(source_m4v, source_ogv, titel) {
	var playmodus = true;
	
	//Slideshow stoppen
	stop_slideshow();
	clearTimeout(slideshow_timer);

	// Player stoppen
	stop_moviebox();
	stop_audiobox();

	document.getElementById('slideshow_leiste_content_').style.display = "none";
	document.getElementById('slideshow_leiste_videosteuerung_').style.display = "block";
	document.getElementById('moviebox_vollansicht').style.display = "block";

	document.getElementById('track_moviebox_slidescreen').value = "Track: " + titel;

	videoPlaylist.CurrentStatus = 0;
	
	if (playmodus == true) {
		jwplayer('slidescreen').load(source_m4v);
		jwplayer('slidescreen').play();
	}
}

function start_moviebox_fullscreen() {
	$("#jquery_jplayer_2").jPlayer("pause");

	document.getElementById('tblmain').style.display = "none";
	document.getElementById('fullscreen_leiste_videosteuerung_').style.display = "block";
	document.getElementById('jquery_jplayer_4').style.display = "block";
	document.getElementById('fullscreen_movie').style.display = "block";

	setTimeout('videoPlaylist.set_mediafile(4, videoPlaylist.CurrentTime, true);', 4000); // Pause f. IExplorer
}

function pause_moviebox_fullscreen() {
		document.getElementById('pause_moviebox_fullscreen').style.display = "none";
		document.getElementById('play_moviebox_fullscreen').style.display = "block";
		
		$("#jquery_jplayer_4").jPlayer("pause");

}

function resume_moviebox_fullscreen() {
		document.getElementById('pause_moviebox_fullscreen').style.display = "block";
		document.getElementById('play_moviebox_fullscreen').style.display = "none";

		$("#jquery_jplayer_4").jPlayer("play");

}

function prev_moviebox_fullscreen() {
	videoPlaylist.prev_mediafile(4);
}

function next_moviebox_fullscreen() {
	videoPlaylist.next_mediafile(4);
}

function stop_moviebox_fullscreen() {
	$("#jquery_jplayer_4").jPlayer("pause");

	//Fullscreen zurücksetzen
	document.getElementById('tblmain').style.display = "block";
	document.getElementById('fullscreen_leiste_videosteuerung_').style.display = "none";
	document.getElementById('jquery_jplayer_4').style.display = "none";
	document.getElementById('fullscreen_movie').style.display = "none";

	
	document.getElementById('pause_moviebox_slidescreen').style.display = "block";
	document.getElementById('play_moviebox_slidescreen').style.display = "none";
	document.getElementById('track_moviebox_slidescreen').value = "Track: " + videoPlaylist.playlist[Mediafile_CurrentIndex].name;

	setTimeout('videoPlaylist.set_mediafile(2, videoPlaylist.CurrentTime, true);', 4000); // Pause f. IExplorer
}

function show_audiobox_playliste() {
	if (document.getElementById('musikplayer_playliste').style.display == "block") {
		document.getElementById('musikplayer_playliste').style.display = "none";
	} else {
		document.getElementById('musikplayer_playliste').style.display = "block";
	}
}

function highlight_mediabox(instance, index) {
	for(var $i=0; $i < audioPlaylist.playlist.length; $i++) {
		if ($i == index) {
			document.getElementById('playlist_' +instance+ '_' +$i).style.fontSize = "12px";
			document.getElementById('playlist_' +instance+ '_' +$i).style.fontWeight = "bold";
		} else {
			document.getElementById('playlist_' +instance+ '_' +$i).style.fontSize = "12px";
			document.getElementById('playlist_' +instance+ '_' +$i).style.fontWeight  = "normal";
		}
	}
}

function start_audiobox(jplayer, index) {
	window.Mediafile_CurrentIndex = index;
	
	document.getElementById('musikplayer_play').style.display 	= "none";
	document.getElementById('musikplayer_pause').style.display 	= "block";
	document.getElementById('musikplayer_playliste').style.display	= "none";
	
	highlight_mediabox(2,Mediafile_CurrentIndex);

	if (Mediafile_Pause == true) {
		window.Mediafile_Pause = false;
		resume_audiobox();
	} else {
		document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + audioPlaylist.playlist[Mediafile_CurrentIndex].name;
		$("#marquee").marquee("update");

		if (videoPlaylist.CurrentStatus > 0) stop_moviebox();

		jwplayer('mp3').load(audioPlaylist.playlist[Mediafile_CurrentIndex].mp3);
		jwplayer('mp3').play();

		//audioPlaylist.set_mediafile(jplayer, 0, true);
	}
}

function news_audiobox(source_mp3, titel) {
	if (videoPlaylist.CurrentStatus > 0) stop_moviebox();
	
	document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + titel;
	$("#marquee").marquee("update");

	jwplayer('mp3').load(source_mp3);
	jwplayer('mp3').play();
}

function stop_audiobox() {
	document.getElementById('musikplayer_play').style.display = "block";
	document.getElementById('musikplayer_pause').style.display 	= "none";
	document.getElementById('musikplayer_playliste').style.display	= "none";

	init_player_3();
}

function pause_audiobox() {
	window.Mediafile_Pause = true;

	document.getElementById('musikplayer_play').style.display 	= "block";
	document.getElementById('musikplayer_pause').style.display	= "none";
	
	jwplayer('mp3').pause();
}

function resume_audiobox() {
	window.Mediafile_Pause = false;

	document.getElementById('musikplayer_play').style.display 	= "none";
	document.getElementById('musikplayer_pause').style.display 	= "block";

	jwplayer('mp3').play();
}

function prev_audiobox() {
	document.getElementById('musikplayer_play').style.display 	= "none";
	document.getElementById('musikplayer_pause').style.display 	= "block";
	document.getElementById('musikplayer_playliste').style.display	= "none";
	
	window.Mediafile_CurrentIndex = (Mediafile_CurrentIndex - 1 >= 0) ? Mediafile_CurrentIndex - 1 : audioPlaylist.playlist.length - 1;

	document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + audioPlaylist.playlist[Mediafile_CurrentIndex].name;
	$("#marquee").marquee("update");
	
	highlight_mediabox(2,Mediafile_CurrentIndex);

	if (videoPlaylist.CurrentStatus > 0) stop_moviebox();

	jwplayer('mp3').load(audioPlaylist.playlist[Mediafile_CurrentIndex].mp3);
	jwplayer('mp3').play();
}

function next_audiobox() {
	document.getElementById('musikplayer_play').style.display 	= "none";
	document.getElementById('musikplayer_pause').style.display 	= "block";
	document.getElementById('musikplayer_playliste').style.display	= "none";
	
	window.Mediafile_CurrentIndex = (Mediafile_CurrentIndex + 1 < audioPlaylist.playlist.length) ? Mediafile_CurrentIndex + 1 : 0;

	document.getElementById("tracktitel_musikplayer").firstChild.nodeValue = "Track: " + audioPlaylist.playlist[Mediafile_CurrentIndex].name;
	$("#marquee").marquee("update");

	highlight_mediabox(2,Mediafile_CurrentIndex);

	if (videoPlaylist.CurrentStatus > 0) stop_moviebox();

	jwplayer('mp3').load(audioPlaylist.playlist[Mediafile_CurrentIndex].mp3);
	jwplayer('mp3').play();
}

function AudioPlaylistFile(name, mp3) { 
	this.name   = name; 
	this.mp3    = mp3; 
} 

function VideoPlaylistFile(name, m4v, poster, datum) { 
	this.name   = name;
	this.m4v	= m4v;
	this.poster = poster;
	this.datum  = datum;
} 

