/**
 * Visitor-Stats.de
 */
 
function LoadScreen(mode) {
	if (mode == "show") 
	{
		$("#ajaxworking").fadeIn(200);
		$("#ajaxworkinginner").slideDown();
	}
	else 
	{
		$("#ajaxworking").fadeOut(200);
		$("#ajaxworkinginner").hide();
	}
}
 
function UpdateHome() {
	$.ajax({
		url: 'api-home.json',
		dataType: 'json',
		data: '',
		success: _jsonHelper
	});
}

var UpdateStats_LastVisits = -1;

function UpdateStats(id) {
	$.ajax({
		url: 'api-' + id + '-stats.json',
		dataType: 'json',
		data: '',
		success: function (data) {
			_jsonHelper(data); // write out to html
			
			// update 30-day stats
			if (UpdateStats_LastVisits != -1) {
				var current = parseInt($("#last_month").text(), 10);
				current += parseInt(data.visits, 10) - UpdateStats_LastVisits;
				
				$("#last_month").text(current);
			}
			UpdateStats_LastVisits = parseInt(data.visits, 10);
		
			// update the bar
			var new_width = (data.visits / data.maximum) * 200;
			
			$("#firstbar").animate({width: new_width}, 1500);
		}
	});
}

function GenerateGameServer() {
	LoadScreen("show");

	var ip = $("#srv_ip").val();
	var port = $("#srv_port").val();
	var game = $('input:radio[name=game]:checked').val();
	
	var params = $.param({"ip": ip, "port": port, "game": game});
	
	$("#error-div").hide();
	$("#srv_results").hide();
	
	$.ajax({
		url: 'api-gameserver.json',
		type: 'POST',
		dataType: 'json',
		data: params,
		success: function (data) {
			LoadScreen("hide");
		
			if (data.error == "none") {
           		var url = "http://visitor-stats.de/gameserver-" + data.id + ".html";
           		var gfx = "http://visitor-stats.de/gameserver-" + data.id + ".png";
           		var bbcode = "[url=" + url + "][img]" + gfx + "[/img][/url]";
           		var htmlcode = "<a href='" + url + "' target='_blank'><img src='" + gfx + "' alt='GameServer Stats' /></a>";
           		
           		$("#srv_preview").html(htmlcode);
           		$("#srv_code").val(htmlcode);
           		$("#srv_bbcode").val(bbcode);
	           	
				$("#srv_results").fadeIn();
			
			}
			else {
				$("#error-div").css({'background-color': '#7F0011', 'border': '2px solid #aaa', 'color': 'white', 'font-size': '14pt', 'padding': '5px', 'margin-bottom':'5px'})
				$("#error-div").text(data.error);
				$("#error-div").fadeIn();
			}
		}
	});
}

function GenerateDownloadCounter() {
	LoadScreen("show");

	var old_url = $("#dllurl").val();
	
	$("#dllurl").val("Bitte warten...");

	var params = $.param({"url": old_url});
	
	$("#error-div").hide();
	$("#dll-div").hide();
	
	$.ajax({
		url: 'api-downloadcounter.json',
		type: 'POST',
		dataType: 'json',
		data: params,
		success: function (data) {
			LoadScreen("hide");
		
			if (data.error == "none") {
		
				var dll_url = "http://visitor-stats.de/download-" + data.id + ".html";
	           	var dll_gfx = "http://visitor-stats.de/download-" + data.id + ".png";
	           	var bbcode = "[url=" + dll_url + "]Runterladen![/url]\n[img]" + dll_gfx + "[/img]";
	           
	           	$("#dll-link").val(dll_url);
	           	$("#gfx-link").val(dll_gfx);
	           	$("#bbcode").val(bbcode);
	          
	           	$("#dll-preview").html("<a href='" + dll_url + "'>Runterladen!</a><br /><img src='" + dll_gfx + "' alt='Download' />");
				
				$("#dllurl").val(old_url);
				$("#dll-div").fadeIn();
			
			}
			else {
				$("#error-div").css({'background-color': '#7F0011', 'border': '2px solid #aaa', 'color': 'white', 'font-size': '14pt', 'padding': '5px', 'margin-bottom':'5px'})
				$("#error-div").text(data.error);
				$("#error-div").fadeIn();
			}
		}
	});
}


function _jsonHelper(data) {
	$.each(data, function(key,value){
		$("#" + key).html(value);
    });
}
