function showContent(a,b)
{
	$('#'+a).slideToggle('normal', function() { $('*', $('#'+a)).trigger("refresh_score"); });
	$('#'+b).toggleClass('closedBig').toggleClass('openBig');
}

function showContent2(a,b)
{
	$('#'+a).slideToggle('normal', function() { $('*', $('#'+a)).trigger("refresh_score"); });
	$('#'+b).toggleClass('closedBig2').toggleClass('openBig2');
}

/**
 * Parses string to xml (requires jQuery)
 */
function parseXml(xml) {
  if (jQuery.browser.msie) {
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.loadXML(xml);
	xml = xmlDoc;
  }
  return xml;
}

/**
 * Print properties of an object
 */
function debugObj(obj,name)	{	//
	var acc;
	for (i in obj) {
		if (obj[i])	{
			acc+=i+":  "+obj[i]+"\n";
		}
	}
	alert("Object: "+name+"\n\n"+acc);
}

function live_update_current_events(){

	$.ajax({type:'GET',url:'/static/livestats/live/live_count.xml?' + new Date().getTime().toString(), dataType:($.browser.msie) ? "text" : "xml", success: function(xml){
	
		newXml = parseXml(xml);
		$('.live-games-placeholder').text('');
		$('counters counter', newXml).each(function(){
			var $this = $(this);
			var code = $this.attr('code');
			
			if($('#live-' + code).length){
				var eventcount = parseInt($this.text());
				
				if(eventcount > 0){
					try{
						var d = $('#live-' + code ).metadata({type:'elem',name:'script'});
						var t = eventcount > 1 ? d.text_multiple : d.text_single;		
						$('#live-' + code + ' .live-games-placeholder').text(t.replace('###COUNTER###',eventcount));
					} catch(err){}	
					
				} else {
					$('#live-' + code + ' .live-games-placeholder').text('');
				}
			}
		});
	}})
}

function live_update_live_events_golf(sport, full_view_event_id) {
	sport = sport || 'golf';
	$.getJSON(
		'/static/livestats/live/' + sport + '/live_events.html?' + new Date().getTime().toString(),
		{},
		function (events) {
			var timeout = 1;
			if(events.length > 0) {
				timeout = 1000 / events.length
			}
			for(i = 0; i < events.length; i++) {
				add_live_event_golf(events[i], timeout * i, full_view_event_id);
			}
			$('.no-live-events-golf').remove();
			if($('#livescore-live-events > div').length <= 0) {
				$('#livescore-live-events').html('<div class="block no-live-events-golf"><h2>Tuneringer lige nu</h2><div id="livescore-live-events" class="livescore-content"><div id="no-live-events">Der er i øjeblikket ingen tilgængelige liveturneringer.</div></div></div>');
			}
		}
	);
}

function live_update_live_events(sport, no_details) {
	sport = sport || 'soccer';
	no_details = no_details || false;
	$.getJSON(
		'/static/livestats/live/' + sport + '/live_events.html?' + new Date().getTime().toString(),
		{},
		function (events) {
			var timeout = 1;
			if(events.length > 0) {
				timeout = 1000 / events.length
			}
			for(i = 0; i < events.length; i++) {
				if(no_details) {
					add_live_event_no_details(events[i], timeout * i);
				} 
				else {
					add_live_event_details(events[i], timeout * i, sport);
				}
			}
			$('.livescore-level2 > a > span').each(function () {
				var count = $('.livescore-futurematch', $(this).parent().parent().next()).length;
				$(this).html('(' + count + ' kampe)');
			});
			$('#no-live-events').remove();
			if($('#livescore-live-events > div').length <= 0) {
				$('#livescore-live-events').html('<div id="no-live-events">Der er i øjeblikket ingen tilgængelige livekampe.</div>');
			}
		}
	);
}

function add_live_event_golf(ev, timeout, full_view_event_id) {
	if(!$('#event-resume-' + ev.event_id).length) {
		var event_filename = 'live_resume.html';
		if(full_view_event_id == ev.event_id) {
			event_filename = 'live_resume_full.html';
		}
		$('#livescore-live-events').append('<div id="event-resume-' + ev.event_id + '"></div>');
		$('#event-resume-' + ev.event_id).bind('refresh_score', function() { setTimeout('reload_resume_details("#event-resume-' + ev.event_id + '", "/static/livestats/event/' + ev.event_id + '/' + event_filename + '", false)', timeout); });
		$('#event-resume-' + ev.event_id).trigger('refresh_score');
	}
}

function reload_resume_details(event_selector, event_url, event_loadedFunc) {
	if(event_loadedFunc) {
		$(event_selector).load(event_url + '?' + new Date().getTime().toString(), event_loadedFunc);
	}
	else {
		$(event_selector).load(event_url + '?' + new Date().getTime().toString());
	}
}

function add_live_event_no_details(ev, timeout) {
	if(!$('#event-' + ev.event_id).length) {
		if(!$('#tournament-' + ev.tournament_id).length) {
			$('#livescore-live-events').append('<div class="livescore-level2" id="tournament-' + ev.tournament_id + '"><a onclick="javascript:showContent2(\'tournament-box-' + ev.tournament_id + '\', \'tournament-link-' + ev.tournament_id + '\');" class="openBig2" id="tournament-link-' + ev.tournament_id + '" href="javascript:void(0)">' + ev.country_name + ' : ' + ev.tournament_stage_name + ' <span></span></a></div><div style="display: block;" class="livescore-box-level2" id="tournament-box-' + ev.tournament_id + '"></div>');
		}
		if(!$('#event-' + ev.event_id).length) {
			var str = '';
			str += '<div class="livescore-futurematch" id="event-' + ev.event_id + '">';
      str += '<div class="top"><div id="event-resume-' + ev.event_id + '"></div></div></div>';
			$('#tournament-box-' + ev.tournament_id).append(str);
			$('#event-resume-' + ev.event_id).bind('refresh_score', function() { if(checkVisible($(this))) { setTimeout('reload_resume_details("#event-resume-' + ev.event_id + '", "/static/livestats/event/' + ev.event_id + '/live_resume.html", false)', timeout); } });
			$('#event-resume-' + ev.event_id).trigger('refresh_score');
		}
	}
}

function add_live_event_details(ev, timeout, sport) {
	if(!$('#event-' + ev.event_id).length) {
		if(!$('#tournament-' + ev.tournament_id).length) {
			$('#livescore-live-events').append('<div class="livescore-level2" id="tournament-' + ev.tournament_id + '"><a onclick="javascript:showContent2(\'tournament-box-' + ev.tournament_id + '\', \'tournament-link-' + ev.tournament_id + '\');" class="openBig2" id="tournament-link-' + ev.tournament_id + '" href="javascript:void(0)">' + ev.country_name + ' : ' + ev.tournament_stage_name + ' <span></span></a></div><div style="display: block;" class="livescore-box-level2" id="tournament-box-' + ev.tournament_id + '"></div>');
		}
		if(!$('#event-' + ev.event_id).length) {
			var str = '';
			str += '<div class="livescore-futurematch" id="event-' + ev.event_id + '">';
      str += '<div class="top"><div id="event-resume-' + ev.event_id + '"></div></div>';
      str += '<div class="bottom">';
      str += '<div class="details">';							
      str += '<a onclick="javascript:this.className = (this.className == \'open\') ? \'closed\' : \'open\'; $(\'#event-incidents-' + ev.event_id + '\').slideToggle(\'normal\', function() { $(\'*\', $(\'#event-incidents-' + ev.event_id + '\')).trigger(\'refresh_score\'); });" class="closed" href="javascript:void(0)">Se detaljer</a>';
			if(ev.livestatstype == 'livestats') {
				str += '<a href="' + ev.superlive_url + '" class="closed live">SUPERLIVE</a>';
			}      
			str += '</div>';
      str += '<div class="clearfix"></div>';
      str += '<div style="display: none;" id="event-incidents-' + ev.event_id + '">';
      str += '<div class="livescore-feed"><div class="livescore-feed-content"></div></div>';				
      str += '</div></div>';			
			$('#tournament-box-' + ev.tournament_id).append(str);
			$('#event-resume-' + ev.event_id).bind('refresh_score', function() { if(checkVisible($(this))) { setTimeout('reload_resume_details("#event-resume-' + ev.event_id + '", "/static/livestats/event/' + ev.event_id + '/live_resume.html", false)', timeout); } });
			var loadedFunc = 'detailsReloaded';
			if(sport == 'soccer') {
				loadedFunc = 'detailsReloadedSoccer';
			}
			$('#event-incidents-' + ev.event_id + ' div.livescore-feed div.livescore-feed-content').bind('refresh_score', function() { if(checkVisible($(this))) { setTimeout('reload_resume_details("#event-incidents-' + ev.event_id + ' div.livescore-feed div.livescore-feed-content", "/static/livestats/event/' + ev.event_id + '/live_details.html", ' + loadedFunc + ')', timeout); } });
			$('#event-resume-' + ev.event_id).trigger('refresh_score');
			$('#event-incidents-' + ev.event_id + ' div.livescore-feed div.livescore-feed-content').trigger('refresh_score');
		}
	}
}

function setElapsedTimeSoccer(el) {
	var stage = parseInt($('.event-stage:first', el).text(), 10);
	var start_time = parseInt($('.event-started:first', el).text(), 10) + time_diff_cli_serv;
	var minutes = false;
	var curr_time = new Date;
	curr_time = Math.ceil(curr_time.getTime() / 1000);
	var minute_tmp = Math.ceil((curr_time - start_time) / 60);
  switch(stage) {
   case 2://1st half
    if(minute_tmp > 45){
     minute_tmp = 45;
    }else if(minute_tmp < 1){
     minute_tmp = 1;
    }
    minute = minute_tmp;
    break;
   case 3://2nd half
    if(minute_tmp > 45){
     minute_tmp = 45;
    }else if(minute_tmp < 1){
     minute_tmp = 1;
    }
   	minute = minute_tmp + 45;
    break;
   case 8://Extra Time - 1st half
    minute = "91+";
    break;
   case 9://Extra Time - 2nd half
    minute = "106+";
    break;             
   default:
    minute = false;
    break;
  }
  $('.time-elapsed', el).text('');
  if(minute) {
		$('.time-elapsed', el).text(minute + ' min. spillet ');
  }
}

function detailsReloaded() {
	var container = $(this);	
	var inner = $('.live-wrapper', $(container));
	$(container).scrollTop($(inner).height()-$(container).height());
}

function detailsReloadedSoccer() {
	var container = $(this);	
	var inner = $('.live-wrapper', $(container));
	$(container).scrollTop($(inner).height()-$(container).height());
	setElapsedTimeSoccer(this);
}

function checkVisible(el) {
	if(el.css('display') == 'none')
		return false;
	var res = true;
	el.parents().each(function() { if($(this).css('display') == 'none') res = false; });
	return res;
}

function live_update_container(ref,path){
	$(ref).load(path);
}

function popupHistoryLive(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(){
	live_update_current_events();
	setInterval('$("*").trigger("refresh_score")', 10000);
	setInterval('live_update_current_events()',30000);
});
