var apiStats = new Class({
	counter: {success:0,failure:0,currentFailures:[]},
	init: function(){
		this.counter = {success:0,failure:0,currentFailures:[]};
		if(cookieTake("counter_success")){this.counter.success = parseInt(cookieTake("counter_success"));};
		if(cookieTake("counter_failure")){this.counter.failure = parseInt(cookieTake("counter_failure"));};
	},
	initializeFailures: function(){this.counter.currentFailures = [];},
	increaseSuccess: function(){this.counter.success++;cookieSet("counter_success",this.counter.success,300);VAR_currentTest.testSuccess = true;this.sendStats();},
	retrieveSuccess: function(){return this.counter.success;},
	increaseFailure: function(){this.counter.failure++;cookieSet("counter_failure",this.counter.failure,300);VAR_currentTest.testSuccess = false;this.sendStats();},
	retrieveFailure: function(){return this.counter.failure;},
	retrievePercentage: function(){if(this.counter.success==0){return;}var p = (this.counter.success/(this.counter.success+this.counter.failure))*100;return parseInt(p);},
	renderSuccess: function(){$_("bloq_stats_success").innerHTML = this.counter.success;},
	renderFailure: function(){$_("bloq_stats_failure").innerHTML = this.counter.failure;},
	renderPercentage: function(){var p = this.retrievePercentage();$_("bloq_stats_percentage",{innerHTML:p});},
	renderStats: function(){this.renderSuccess();this.renderFailure();this.renderPercentage();},
	renderDetailedStats: function(){
		var h = $_("bloq_stats_detailedStats");
		h.appendChild(createThemeInfo("detailedStats"));
		h = $_("info_detailedStats_container").empty();

		var text = "<b>Tus estadísticas de forma visual</b>. Aquí te ofrecemos una simple estadística con la relación entre fallo y aciertos que posees en estos momentos.";
		$C("DIV",{innerHTML:text},h);
		var c = $C("CANVAS",{width:"100",height:"100"},h);
		var p = this.retrievePercentage();_innerGraphs.createPieChart(c,{0:p});
		var text = "";
		if(p == 100){text = "<b>WOW!</b> No llevas ningún fallo hasta el momento, sigue así.";}
		$C("DIV",{innerHTML:text,".minHeight":"80px"},h);
		$C("SPAN",{innerHTML:"Cerrar",".cursor":"pointer",onclick:function(e){removeThemeInfo(h,e);}},h);
	},
	sendStats: function(){
		if(!VAR_currentTest.testSuccess){this.counter.currentFailures.push(VAR_currentTest.testNum);}
		if(!VAR_loggerUser){return;}
		var params = "command=addStat&testGroup="+VAR_currentTest.testGroup+"&testNum="+VAR_currentTest.testNum+"&testSuccess="+((VAR_currentTest.testSuccess) ? 1:0);
		ajaxPetition("resources/PHP/API_stats.php",params,function(ajax){
			var r = eval("("+ajax.responseText+")");if(parseInt(r.errorCode)>0){alert(print_r(r));return;}
			//alert(print_r(r));
		});
	}
});

var _apiStats = new apiStats();
