$(function(){
	$('#select_year, #select_stage, #select_tournament, #select_event').change(function(){
		$(this).get(0).form.submit();
	});
	
	$('ul.expanding-list').find('li ul').parent().find('a:first').click(function() {
		if ($(this).parent().hasClass('selected')) {
			$(this).parent().removeClass('selected');
		} else {
			$(this).parents('ul:first').find('li.selected').removeClass('selected');
			$(this).parent().addClass('selected');			
		}
		return false;
	});	

	$('.history-link a').click(popupHistory);
	$("div.results td.athlete a").click(tables_player_popup);
});

function popupHistory(event) {
	if ($("#history-data").length == 0) {
		$(document.body).append('<div id="history-data"></div>');
	}
	else {
		$("#history-data").empty().hide();
	}
	$("#history-data").css("left", event.pageX + 10 + "px").css("top", event.pageY + 10 + "px").load(this.href, function () {
		$("#history-data").fadeIn("250");
		$("#history-data span.close a").click(function () {
			$("#history-data").fadeOut("250", function () {
				$("#history-data").remove();
			});
			return false;
		});
	});
	return false;
}

function change_tournament(base_url) {
	var url = base_url;
	
	url += ',' + $('#tournament_template_sel').val();
	if($('#tournament_sel').length > 0) {
		url += ',' + $('#tournament_sel').val();
	}
	else {
		url += ',0';
	}
	if($('#tournament_stage_sel').length > 0) {
		url += ',' + $('#tournament_stage_sel').val();
	}
	else {
		url += ',0';
	}
	if($('#event_sel').length > 0) {
		url += ',' + $('#event_sel').val();
	}
	else {
		url += ',0';
	}
	$.getJSON(
		url,
		{},
		function(data) {
			window.location = data;
		}
	);
}

function activate_prev(el, url, ts_id, tab_id) {
	url += ',' + ts_id;
	url += ',' + tab_id;
	window.global_ts_id = ts_id;
	$(el).parents('li').removeClass('active');
	$(el).parents('li').prev().addClass('active');
	$('.tabs li', $(el).parents('.results')).removeClass('active');
	$('.tab_container').addClass('load-animation');
	$('.tab_container', $(el).parents('.results')).html('');
	$('.tab_container', $(el).parents('.results')).load(
		url,
		{},
		function() {
			$('.tabs li.first', $(el).parents('.results')).addClass('active');
			$('.tab_container').removeClass('load-animation');
			$("div.results td.athlete a").click(tables_player_popup);
		}
	);
	return false;
}

function activate_next(el, url, ts_id, tab_id) {
	url += ',' + ts_id;
	url += ',' + tab_id;
	window.global_ts_id = ts_id;
	$(el).parents('li').removeClass('active');
	$(el).parents('li').next().addClass('active');	
	$('.tabs li', $(el).parents('.results')).removeClass('active');
	$('.tab_container').addClass('load-animation');
	$('.tab_container', $(el).parents('.results')).html('');
	$('.tab_container', $(el).parents('.results')).load(
		url,
		{},
		function() {
			$('.tabs li.first', $(el).parents('.results')).addClass('active');
			$('.tab_container').removeClass('load-animation');
			$("div.results td.athlete a").click(tables_player_popup);
		}
	);
	return false;
}

function get_tab(el, url, ts_id, tab_id) {
	if(window.global_ts_id) {
		ts_id = window.global_ts_id;
	}
	url += ',' + ts_id;
	url += ',' + tab_id;
	window.global_tab_id = tab_id;
	// needed to react fast
	if($(el).parent().hasClass('active'))
		return false;
	$('.tabs li', $(el).parents('.results')).removeClass('active');
	$(el).parent().addClass('active');

	$('.tab_container').addClass('load-animation');
	$('.tab_container', $(el).parents('.results')).html('');
	$('.tab_container', $(el).parents('.results')).load(
		url,
		{},
		function() {
			// needed to show real active tab
			$('.tabs li', $(el).parents('.results')).removeClass('active');
			$(el).parent().addClass('active');
			$('.tab_container').removeClass('load-animation');
			$("div.results td.athlete a").click(tables_player_popup);
		}
	);
	return false;
}

function tables_player_popup(event) {
	if ($("#player-data").length == 0) {
		$(document.body).append('<div id="player-data"></div>');
	}
	else {
		$("#player-data").empty().hide();
	}
	$("#player-data").css("left", event.pageX + 10 + "px").css("top", event.pageY + 10 + "px").load(this.href, function () {
		$("#player-data").fadeIn("250");
		$("#player-data div.close a").click(function () {
			$("#player-data").fadeOut("250", function () {
				$("#player-data").remove();
			});
			return false;
		});
	});
	return false;
};


/**
 * Parses string to xml (requires jQuery)
 */
function tables_parseXml(xml) {
  if (jQuery.browser.msie) {
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.loadXML(xml);
	xml = xmlDoc;
  }
  return xml;
}

function tables_update_current_events(){

	$.ajax({type:'GET',url:'/static/livestats/live/live_count.xml', dataType:($.browser.msie) ? "text" : "xml", success: function(xml){
	
		newXml = tables_parseXml(xml);
		$('.tables-live-games-placeholder').text('');
		$('counters counter', newXml).each(function(){
			var $this = $(this);
			var code = $this.attr('code');
			
			if($('#tables-live-' + code).length){
				var eventcount = parseInt($this.text());
				
				if(eventcount > 0){
					try{
						var d = $('#tables-live-' + code ).metadata({type:'elem',name:'script'});
						var t = eventcount > 1 ? d.text_multiple : d.text_single;		
						$('#tables-live-' + code + ' .tables-live-games-placeholder').text(t.replace('###COUNTER###',eventcount));
					} catch(err){}	
					
				} else {
					$('#tables-live-' + code + ' .tables-live-games-placeholder').text('');
				}
			}
		});
	}})
}

