var SystemStats = new Object({
	"Data":{},
	"Timer":{
		"Counter":0,
		"Id":0,
		"Interval":60
	},
	"Uri":"/scripts/system-stats.php?json",
	"Interval": function () {
		clearTimeout(SystemStats.Timer.Id);
		SystemStats.Timer.Id = setTimeout("SystemStats.Interval()",1000);
		if(!(SystemStats.Timer.Counter < SystemStats.Timer.Interval)) {
			SystemStats.Timer.Counter=0;
			SystemStats.RequestSystemStats();
		}
		SystemStats.Data.Uptime.Seconds++;
		if(SystemStats.Data.Uptime.Seconds > 59) {SystemStats.Data.Uptime.Seconds = 0; SystemStats.Data.Uptime.Minutes++}
		if(SystemStats.Data.Uptime.Minutes > 59) {SystemStats.Data.Uptime.Minutes = 0; SystemStats.Data.Uptime.Hours++}
		if(SystemStats.Data.Uptime.Hours > 23) {SystemStats.Data.Uptime.Hours = 0; SystemStats.Data.Uptime.Days++}
		if(SystemStats.Data.Uptime.Days > 6) {SystemStats.Data.Uptime.Days = 0; SystemStats.Data.Uptime.Weeks++}
		if(SystemStats.Data.Uptime.Seconds < 10) {SystemStats.Data.Uptime.Seconds = "0"+Math.abs(SystemStats.Data.Uptime.Seconds)}
		if(SystemStats.Data.Uptime.Minutes < 10) {SystemStats.Data.Uptime.Minutes = "0"+Math.abs(SystemStats.Data.Uptime.Minutes)}
		if(SystemStats.Data.Uptime.Hours < 10) {SystemStats.Data.Uptime.Hours = "0"+Math.abs(SystemStats.Data.Uptime.Hours)}
		document.getElementById('UptimeWeeks').innerHTML = SystemStats.Data.Uptime.Weeks;
		document.getElementById('UptimeDays').innerHTML = SystemStats.Data.Uptime.Days;
		document.getElementById('UptimeHours').innerHTML = SystemStats.Data.Uptime.Hours;
		document.getElementById('UptimeMinutes').innerHTML = SystemStats.Data.Uptime.Minutes;
		document.getElementById('UptimeSeconds').innerHTML = SystemStats.Data.Uptime.Seconds;
		SystemStats.Timer.Counter++;
	},
	"RequestSystemStats": function () {
		var a = ajax();
		if(!a){alert("Your browser supports JavaScript but does not AJAX!\n\nPlease download a better browser."); return}
		a.onreadystatechange = function(){
			if(a.readyState == 1){try {a.send()} catch(err){}}
			else if(a.readyState == 4){
				if(a.status == 200){eval('SystemStats.SetSystemStats('+a.responseText+')')}
				a = undefined;
			}
		}
		a.open('GET',SystemStats.Uri+'&'+randomHexidecimal(16),true);
	},
	"SetSystemStats": function (s) {
		SystemStats.Data = s;
		var MaxSize = 108;
		for(var c = 0; c < s.LoadAverages.length; c++) {
			var width = Math.floor(((s.LoadAverages[c]*100)/200)*MaxSize);
			if(width > MaxSize) {width=MaxSize}
			if(width < 1) {width=1}
			document.getElementById('LoadAverage'+c).style.width = width+'px';
		}
		document.getElementById('UserServerLogins').innerHTML = s.Users;
		document.getElementById('VirtualHosts').innerHTML = s.VirtualHosts;
	}
});


