// Script that loads and populates Stabæk Kampkalender

// switch when live:
var gm_url = "data.xml";
//var gm_url = "http://77.75.208.46:8080/stabaek/flashXML/matches.jsp";
var gm_url = "http://www.stabak.no/flashXML/matches.jsp";
var gm_fullstendig_kampkalender = "http://www.stabak.no/kamper"; // change to correct url
var gm_fullstendig_label = "Se fullstendig kampkalender for " + (new Date).getFullYear();

//var gm_url = "http://www.stabak.no/flashXML/matches.jsp";

// when document ready, load xml
$(document).ready(function() {

	$.ajax({
		type: "GET",
		url: gm_url,
		dataType: "xml",
		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
			//alert(errorThrown);
		},
		success: function(xml) {
			gm_parse(xml);
		}
	});

});

// parse XML
function gm_parse(xml)
{
	var box = $("#gm-kamp");
	var ul;

	// add header 
	$(box).append("\<div class=\"gm-kamp-header\">\
				Kampkalender <span>" + (new Date).getFullYear() + "</span>\
			</div>");

	// add tab holder
	$(box).append("<ul class=\"gm-tab\"></ul>");
	ul = $(box).find(".gm-tab");

	// add tabs
	$(xml).children('items').children('item').each(function(i){
		$(ul).append("<li><a href=\"JavaScript:gm_activate(" + i + ")\">" + $(this).attr("id") + "</a></li>");
	});

	// add calendar boxes
	$(xml).children('items').children('item').each(function(i){
		$(box).append("<ul class=\"gm-calendar\" id=\"gm-calendar-" + i + "\"></ul>");
		ul = $(box).children(".gm-calendar:last");

		$(this).children('item:lt(6)').each(function(a){
			$(ul).append("\
				<li>\
					<a href=\"" + $(this).find('url').text() + "\">\
						<span class=\"gm-cal-box\">\
							<span class=\"gm-cal-month\">" + $(this).find('date').attr('mnd_name') + "</span>\
							<span class=\"gm-cal-day\">" + $(this).find('date').attr('day') + "</span>\
						</span>\
						<span class=\"gm-cal-event-box\">\
							<span class=\"gm-cal-event\">" + $(this).find('team').text() + "</span>\
							<span class=\"gm-cal-time\">" + $(this).find('time').text() + "</span>\
						</span>\
					</a>\
				</li>\
			");
		});
		
	});

	// add overview
	$(box).append("<a class=\"gm-oversikt\" href=\"" + gm_fullstendig_kampkalender + "\">" + gm_fullstendig_label + "</a>");

	// initial view
	$(box).find(".gm-tab li:first a").addClass("active");
	$(box).find(".gm-calendar:first").fadeTo(0,1);

}

// activates an item.
function gm_activate(id) {
	
	// get container
	var ul = $(".gm-tab");

	// remove active class from current active
	$(ul).find("a.active").removeClass("active");

	// add active class
	$(ul).find("li:eq(" + id + ") a").addClass("active");
	
	// fade out visible calendar
	$(".gm-calendar:visible").fadeOut(200);

	// fade inn new calendar
	$(".gm-calendar:eq(" + id + ")").delay(200).fadeIn(200);
}
