var getMemberStatsOverAjax = function (userId, year) {
	if (userId) {
		$.get("/apps/statshandler.php?getStats="+userId+"&year="+year, function(data){
			return data;
		});
	}
};

var membersStatsHandler = function () {
	$('div#membersStats div.memberRow div.memberHeading').click(function(){
		var $selectedMemberRow = $(this);
		
		function showTooltip(x, y, contents) {
			$('<div id="flotTooltip">' + contents + '</div>').css( {
				position: 'absolute',
				display: 'none',
				top: y + 5,
				left: x + 5,
				border: '1px solid #fdd',
				padding: '2px',
				'background-color': '#fee',
				opacity: 0.80
			}).appendTo("body").fadeIn(200);
		}
		
		var _showFlot = function() {
			
			var userId = $selectedMemberRow.parent("div.memberRow").attr("id").split("-")[1];
			var year = $selectedMemberRow.parent("div.memberRow").find(".flotYear").val();

			$.getJSON("/apps/statshandler.php?userid="+userId+"&year="+year, function(data){
				var $flotBlock = $selectedMemberRow.parent("div.memberRow").find("div.flotBlock");
				if (data.length > 0) {
					$.plot($flotBlock, [data], { xaxis: { mode: "time" }, grid: { hoverable: true }, lines: { show: true }, points: { show: true } });
					var previousPoint = null;
					$flotBlock.bind("plothover", function (event, pos, item) {

						if (item) {
							if (previousPoint != item.datapoint) {
								previousPoint = item.datapoint;

								$("#flotTooltip").remove();
								var y = item.datapoint[1];

								showTooltip(item.pageX, item.pageY," " + strings.stats_surfhours + " " + y + "h");
							}
						} else {
							$("#flotTooltip").remove();
							previousPoint = null;
						}
					});
				} else {
					$flotBlock.html("<p class='noStats'>"+ strings.stats_yearstatsmissing +".</p>");
				}
			});
			
		};
		$memberDetailedStats = $(this).parent("div.memberRow").find("div.detailedStats");
		
		if ($memberDetailedStats.is(":visible")) {
			$memberDetailedStats.hide("drop", { direction: "right" }, 200);
			$selectedMemberRow.parent("div.memberRow").removeClass("opened");
		} else {
			$memberDetailedStats.show("drop", { direction: "right" }, 200, _showFlot);
			$selectedMemberRow.parent("div.memberRow").addClass("opened");
			
			$memberDetailedStats.find('.flotYear').change(function(){
				_showFlot();
			});
		}
	});
	
};

var globalYearChanger = function (){
	if ($("#statsYearChanger").length > 0) {
		$("#statsYearChanger").find("button").click(function(ev){
			ev.preventDefault();
			$("#statsYearChanger").find("#statsYear").val($(this).val());
			$("#statsYearChanger").submit();
		});
	}
};

$(document).ready(function(){
	membersStatsHandler();
	globalYearChanger();
});
