var AutoOpenId;

function OpenMePlease( Id ) {
	AutoOpenId = Id;
}

function ToggleLayer(obj) {
	if(document.all) {
		if(document.all[obj].style.display == 'none') {
			document.all[obj].style.display = 'block';
		} else {
			document.all[obj].style.display = 'none';
		}
	} else {
		if(document.getElementById(obj).style.display == 'none') {
			if(document.getElementById(obj).tagName == 'DIV') {
				document.getElementById(obj).style.display = 'block';
			} else {
				document.getElementById(obj).style.display = 'table-row';
			}
		} else {
			document.getElementById(obj).style.display = 'none';
		}
	}
}

function NewToggleLayer(element) {
	var e = $('#' + element);
	if (e.css('display') == 'none') {
		e.show().find('div').slideDown('slow')
	} else {
		 e.find('div').slideUp('slow', function() { $(this).parent().parent().hide(); })
	}
}

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

function ShowServerFullInfo( Id, Element ) {
	var xmlhttp = GetXmlHttpObject( );
	
	if( xmlhttp == null )
		return;
	
	var url = "./index.php" + "?getServerFull=" + Id;
	
	xmlhttp.onreadystatechange = function( ) {
		if( xmlhttp.readyState == 4 ) {
			Element.slideUp( 'slow', function( ) {
				Element.empty( );
				Element.append( xmlhttp.responseText );
				Element.slideDown( 'slow' );
			});
		}
	};
	
	xmlhttp.open( "GET", url, true );
	xmlhttp.send( null );
}

function ShowServer( Id ) {
	var xmlhttp = GetXmlHttpObject( );
	
	if( xmlhttp == null )
		return;
	
	var Element = $( "#Server" + Id );
	
	Element.empty( );
	Element.append( "<td align='center'><img src='./ajax-loader.gif'></td><td class='center' colspan='6'>&nbsp;</td>" );
	
	var url = "./index.php" + "?getServer=" + Id;
	
	xmlhttp.onreadystatechange = function( ) {
		if( xmlhttp.readyState == 4 ) {
			var String = xmlhttp.responseText;
			Element.empty( );
			Element.append( 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" ).empty( );
				$( "#ServersAll" ).append( TotalPlayers + " / " + TotalMaxPlayers );
			}
			
			if( Id == AutoOpenId ) {
				ToggleServer( Id, 'Server' + Id + '_Info' );
			}
		}
	};
	
	xmlhttp.open( "GET", url, true );
	xmlhttp.send( null );
}

function GetXmlHttpObject( ) {
	var Request = false;

	if( window.XMLHttpRequest ) {
		Request = new XMLHttpRequest( );
	}
	else if( window.ActiveXObject ) {
		try {
			Request = new ActiveXObject( "Microsoft.XMLHTTP" );
		}	
		catch( CatchException ) {
			Request = new ActiveXObject( "Msxml2.XMLHTTP" );
		}
	}
	
	return Request;
}