$(document).ready(function(){
	
	var playItem = 0;
	var activePlayerID = "none";
	var recentPlayerID = "none";

	// Array mit den diversen Playern / Songs
	// kommt via php / typo3
	/*	var players = new Array();
	if( top.document.title == 'Enjott Schneider - Aktuelles' ) 
	{
		
	
	var players = [
					[ "0", 
						[
							[ "Titel 1", "fileadmin/files/aktuelles/audio/0001/Miaow-08-Stirring-of-a-fool.mp3", "fileadmin/files/aktuelles/audio/1/Miaow-08-Stirring-of-a-fool.ogg" ],
							[ "Titel 2", "fileadmin/files/aktuelles/audio/0002/Miaow-02-Hidden.mp3", "fileadmin/files/aktuelles/audio/0002/Miaow-02-Hidden.ogg" ],
							[ "Titel 3", "fileadmin/files/aktuelles/audio/0349/02. Stalingrad Doku - Scharfschuetze.mp3", "fileadmin/files/aktuelles/audio/349/02. Stalingrad Doku - Scharfschuetze.ogg" ]
						]
					],
						
					[ "1",
						[
							[ "Titel zwei", "fileadmin/files/aktuelles/audio/0002/Miaow-02-Hidden.mp3", "fileadmin/files/aktuelles/audio/0002/Miaow-02-Hidden.ogg" ]
						]
					],
					  
					[ "2",
						[
							[ "Title three", "fileadmin/files/aktuelles/audio/0349/02. Stalingrad Doku - Scharfschuetze.mp3", "fileadmin/files/aktuelles/audio/349/02. Stalingrad Doku - Scharfschuetze.ogg" ]
						]
					]
					 
				];
	}
	else
	{
	
	var players = [
					[ "0",
						[
							[ "Intromusik", "fileadmin/files/werke/audio/0349/01. Stalingrad Doku - Intromusik.mp3", "fileadmin/files/werke/audio/0349/01. Stalingrad Doku - Intromusik.ogg" ],
							[ "Scharfschuetze", "fileadmin/files/werke/audio/0349/02. Stalingrad Doku - Scharfschuetze.mp3", "fileadmin/files/werke/audio/0349/02. Stalingrad Doku - Scharfschuetze.ogg" ],
							[ "Tief drinnen Angst", "fileadmin/files/werke/audio/0349/03. Stalingrad Doku - Tief drinnen Angst.mp3", "fileadmin/files/werke/audio/0349/03. Stalingrad Doku - Tief drinnen Angst.ogg" ],
							[ "Ruhe vor dem Sturm", "fileadmin/files/werke/audio/0349/04. Stalingrad Doku - Ruhe vor dem Sturm.mp3", "fileadmin/files/werke/audio/0349/04. Stalingrad Doku - Ruhe vor dem Sturm.ogg" ],
							[ "Unendliche Taiga", "fileadmin/files/werke/audio/0349/05. Stalingrad Doku - Unendliche Taiga.mp3", "fileadmin/files/werke/audio/0349/05. Stalingrad Doku - Unendliche Taiga.ogg" ],
							[ "Im ewigen Winde", "fileadmin/files/werke/audio/0349/06. Stalingrad Doku - Im ewigen Wind.mp3", "fileadmin/files/werke/audio/0349/06. Stalingrad Doku - Im ewigen Wind.ogg" ],
							[ "Hauptthema", "fileadmin/files/werke/audio/0349/07. Stalingrad Doku - Hauptthema.mp3", "fileadmin/files/werke/audio/0349/07. Stalingrad Doku - Hauptthema.ogg" ]
						]
					]
				];
	}
	*/
	
	// Diese Eigenschaften werden hier als "default" gesetzt, anstatt in jeder Instanz individuell	
	$.jPlayer.defaults.oggSupport = false;
	$.jPlayer.defaults.customCssIds = true
	
	// Variable zum Zählen der Instanzen
	var i = 0
	
	// Funktion zum Erzeugen der Player-Instanzen 
	function createPlayerInstance()
	{
	
		var playerID = players[ i ][ 0 ];
		eval("jpPlayTime" + playerID + " = $('#jplayer_play_time' + players[ playerID ][ 0 ]  )");
		eval("jpTotalTime" + playerID + " = $('#jplayer_total_time' + players[ playerID ][ 0 ] )");
		
		$("#jquery_jplayer" + playerID ).jPlayer({
			ready: function () {
				for( q = 0; q < players[ i ][ 1 ].length; q++ )
				{
					displayPlayList( i, playerID, players[ i ][ 1 ][ q ][ 0 ], q );
					//playListInit(false); // Parameter is a boolean for autoplay.
					playListConfigINIT( playerID, players[ i ][ 1 ][ q ][ 1 ], players[ i ][ 1 ][ q ][ 2 ] );
				}
				//displayPlayList( i, playerID );
				//this.element.jPlayer( "setFile", players[ i ][ 2 ], players[ i ][ 3 ] );				
				if( i < players.length )
				{
					i++;
					createPlayerInstance();
				}
			}
		})
		
		.jPlayer( "cssId", "play", "jplayer_play" + playerID )
		.jPlayer( "cssId", "pause", "jplayer_pause" + playerID )
		.jPlayer( "cssId", "stop", "jplayer_stop" + playerID )
		.jPlayer( "cssId", "loadBar", "jplayer_load_bar" + playerID )
		.jPlayer( "cssId", "playBar", "jplayer_play_bar" + playerID )
		.jPlayer( "cssId", "volumeMin", "jplayer_volume_min" + playerID )
		.jPlayer( "cssId", "volumeMax", "jplayer_volume_max" +  playerID )
		.jPlayer( "cssId", "volumeBar", "jplayer_volume_bar" + playerID )
		.jPlayer( "cssId", "volumeBarValue", "jplayer_volume_bar_value" + playerID )
		
		.jPlayer( "onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
			eval( "jpPlayTime" + playerID + ".text($.jPlayer.convertTime(playedTime))" );
			eval( "jpTotalTime" + playerID + ".text($.jPlayer.convertTime(totalTime))" );
		})
		
		.jPlayer("onSoundComplete", function() {
			playListNextOnSoundComplete( playerID );
		});
		
		
		
		if( players[ playerID ][ 1 ].length > 1 )
		{
			
			$("#jplayer_play" + playerID ).click( function() {
				//alert("play");
				return false;
			});
			
			$("#jplayer_previous" + playerID ).click( function() {
				playListPrev( playerID );
				return false;
			});
			
			$("#jplayer_next" + playerID ).click( function() {
				playListNext( playerID );
				return false;
			});
			
		}
		else
		{
			$("#jplayer_previous" + playerID ).css( 'visibility', 'hidden' );
			$("#jplayer_next" + playerID ).css( 'visibility', 'hidden' );
			$("#jplayer_stop" + playerID ).css( 'visibility', 'hidden' ); 
		}
		
		
		// Wenn man einen Player startet, werden die restlichen Instanzen angehalten
		$("#jplayer_play" + playerID ).click( function(event)
		{
			deselectPlayers( "#jquery_jplayer" + playerID, playerID );
			event.preventDefault();
		} );
		$("#jquery_load_bar" + playerID ).click( function(event)
		{
			deselectPlayers( "jplayer_player" + playerID, playerID );
			event.preventDefault();
		} );
		$("#jplayer_play_bar" + playerID ).click( function(event){
			deselectPlayers( "#jquery_jplayer" + playerID, playerID );
			event.preventDefault();
		} );
			
	}
	
	
	function displayPlayList( which, id, title, whichTrack )
	{
		var playlist_item = 'jplayer_playlist_item_' + id + '_' + whichTrack;
		$("#jplayer_playlist" + id + " ul").append("<li id="+ playlist_item +">"+ title +"</li>");
		
		$('#' + playlist_item).click( function() {
			deselectPlayers( "#jquery_jplayer" + id, id);
			/*event.preventDefault();*/
			playListChange( whichTrack );
		});
	}
	
	function playListInit(autoplay) {
		if(autoplay) {
			playListChange( playItem );
		} else {
			playListConfig( playItem );
		}
	}
    
	function playListConfigINIT( id, mp3, ogg ) {
		$("#jquery_jplayer" + id).jPlayer("setFile", mp3, ogg );
	}
	
	function playListConfig( index )
	{
		if( recentPlayerID == "none" )
		{
			recentPlayerID = activePlayerID;
		}
		$("#jplayer_playlist_item_" + recentPlayerID + "_" + playItem).removeClass("jplayer_playlist_current");
		$("#jplayer_playlist_item_" + activePlayerID + "_" + index).addClass("jplayer_playlist_current");
		playItem = index;
		$("#jquery_jplayer" + activePlayerID).jPlayer("setFile", players[ activePlayerID ][ 1 ][ playItem ][ 1 ], players[ activePlayerID ][ 1 ][ playItem ][ 2 ] );
	}
    
	function playListChange( index ) {
		playListConfig( index );
		$("#jquery_jplayer" + activePlayerID).jPlayer("play");
	}

	function playListNext( player_id ) {
		if( playItem+1 < players[ player_id ][ 1 ].length )
		{
			var index = playItem+1;
		}
		else
		{
			var index = 0;
		}
		playListChange( index );
	}

	function playListPrev( player_id ) {
		if( playItem-1 >= 0 )
		{
			var index = playItem-1;
		}
		else
		{
			var index = players[ player_id ][ 1 ].length-1;
		}
		playListChange( index );
	}
	
	function playListNextOnSoundComplete( player_id ) {
		if( playItem+1 < players[ player_id ][ 1 ].length )
		{
			var index = playItem+1;
			playListChange( index );
		}
	}

	
	// Funktion zum Stoppen('pause') der Instanzen
	function deselectPlayers( whichPlayer, player_id )
	{
		for( k=0; k<players.length; k++ )
		{
			if( whichPlayer != "#jquery_jplayer" + players[ k ][ 0 ] )
			{
				$("#jquery_jplayer" + players[ k ][ 0 ] ).jPlayer( "pause" );
			}
		}
		
		recentPlayerID = activePlayerID;
		activePlayerID = player_id;
	}

	// Initaler Aufruf zum Erzeugen der Player-Instanzen
	if( players && players.length > 0 )
	{
		createPlayerInstance();
	}
	
});


