var AutoOpenId;

function OpenMePlease( Id ) {
	AutoOpenId = Id;
}

function ToggleServer( Id, element ) {
	var e     = $( '#' + element );
	var eDiv  = $( '#' + element + "_Div" );
	var Arrow = $( '#' + element + "_Arrow" );
	
	if( e.css( 'display' ) == 'none' ) {
		e.show( );
		eDiv.slideDown( 'slow', function( ) {
			Arrow.fadeOut( 'fast', function( ) {
				Arrow.attr( 'src', "/lgsl_files/other/arrow_up.png" );
				Arrow.fadeIn( 'fast' );
			} );
			
			ShowServerFullInfo( Id, eDiv );
		});
	} else {
		eDiv.slideUp( 'slow', function( ) {
			e.hide( );
			
			Arrow.fadeOut( 'fast', function( ) {
				Arrow.attr( 'src', "/lgsl_files/other/arrow_down.png" );
				Arrow.fadeIn( 'fast' );
			} );
			
			eDiv.html( "<img src='/ajax-loader-big.gif' alt=''>" );
		});
	}
}

var TotalPlayers = 0;
var TotalMaxPlayers = 0;
var AllServersPlayers = Array( );
var AllServersMaxPlayers = Array( );
var ServerLoadedBefore = Array( );

function ShowServerFullInfo( Id, Element ) {
	$.ajax( {
		type: "GET",
		url: "servers.php",
		data: "getServerFull=" + Id,
		success: function( String ) {
			Element.slideUp( 'slow', function( ) {
				Element.empty( );
				Element.append( String );
				Element.slideDown( 'slow' );
			});
		}
	} );
}

function ShowServer( Id ) {
	var Element = $( "#Server" + Id );
	
	Element.html( "<td class='center'><img src='/ajax-loader.gif'></td><td class='center' colspan='6'>&nbsp;</td>" );
	
	$.ajax( {
		type: "GET",
		url: "servers.php",
		data: "getServer=" + Id,
		success: function( String ) {
			Element.html( String );
			
			var Position = String.search( /text-align:right'>/i );
			
			if( Position > 0 ) {
				String   = String.slice( Position + 18 ); // Strip everything before players
				Position = String.search( /<\/td>/ );
				String   = String.slice( 0, Position ); // Strip everything after players
				String   = String.split( " / " );
				
				if( !String[ 1 ] )
					return;
				
				if( ServerLoadedBefore[ Id ] ) {
					TotalPlayers    -= AllServersPlayers[ Id ];
					TotalMaxPlayers -= AllServersMaxPlayers[ Id ];
				} else
					ServerLoadedBefore[ Id ] = 1;
				
				AllServersPlayers[ Id ]    = parseInt( String[ 0 ] );
				AllServersMaxPlayers[ Id ] = parseInt( String[ 1 ] );
				
				TotalPlayers    += AllServersPlayers[ Id ];
				TotalMaxPlayers += AllServersMaxPlayers[ Id ];
				
				$( "#ServersAll" ).html( TotalPlayers + " / " + TotalMaxPlayers );
			}
			
			if( Id == AutoOpenId ) {
				ToggleServer( Id, 'Server' + Id + '_Info' );
			}
		}
	} );
}