$(document).ready(function() {
	$.ajaxSetup({
	  cache: false
	});

	_initFrontPage();
});

function _initFrontPage() {
	//$("#content").load("home.html");
	$("#content").load("programme.html", null, _initProgram);
	_initNews();
	
	$("#menu-programme").bind("click", function() {
		$("#content").load("programme.html", null, _initProgram);
	});
	$("#menu-abo").bind("click", function() {
		$("#content").load("abo.html");
	});
	$("#menu-location").bind("click", function() {
		$("#content").load("location.html");
	});
	$("#menu-artistes").bind("click", function() {
		$("#content").load("artistes.html");
	});
	$("#menu-photos").bind("click", function() {
		$("#content").load("photos.html", null, _setupPhotos);
	});
	$("#menu-archives").bind("click", function() {
		$("#content").load("archives.html");
	});
	$("#menu-historique").bind("click", function() {
		$("#content").load("historique.html");
	});
	$("#menu-liens").bind("click", function() {
		$("#content").load("liens.html");
	});
}

function _initNews() {
	$.ajax({
		type: "GET",
		url: "prog.xml",
		data: {},
		cache: false,
		dataType: ($.browser.msie) ? "text" : "xml",
	   success: function(data){
	     var xml;
	     if (typeof data == "string") {
	       xml = new ActiveXObject("Microsoft.XMLDOM");
	       xml.async = false;
	       xml.loadXML(data);
	     } else {
	       xml = data;
	     }
	     _parseNews(xml);
	   }
	});	
}

function _initProgram() {
	$("#content").append($.IMG({id:"loading",src:"images/loading.gif"}));
	$.ajax({
		type: "GET",
		url: "prog.xml",
		data: {},
		cache: false,
		dataType: ($.browser.msie) ? "text" : "xml",
	   success: function(data){
	     var xml;
	     if (typeof data == "string") {
	       xml = new ActiveXObject("Microsoft.XMLDOM");
	       xml.async = false;
	       xml.loadXML(data);
	     } else {
	       xml = data;
	     }
	     _parseProgram(xml);
	   }
	});	
}

function _parseProgram(xml,status) {
	$("#loading").remove();

	var progMonth = null;
	var currentYear = new Date().getFullYear();
	var currentMonth = new Date().getMonth() + 1;

	$(xml).find("prog entry").each(function(i) {
		var entry = this;
		var year = parseInt($(entry).attr("year"));
		var date = $("date",entry);

		if (year == currentYear && currentMonth > parseInt(date.attr("month"))) return true;

		var month = entry.getAttribute("month") + " " + entry.getAttribute("year");
		if (month != progMonth) {
			progMonth = month;
			$("#content table tbody").append($.TR({},
				$.TD({colSpan:4},
					$.H3({className:"prog-month"}, progMonth)
				)
			));
		}

		var images = $("image",entry);
		var title = $("title",entry).text();
		//var otherImages = $.DIV({});
		if (images.length > 0) {
			var rel = new Date().getTime();
			for (var j = 0; j < images.length; j++) {
				var src = $(images[j]).attr("src");
				//if (j == 0) {
					title = $.A({href:"images/prog/"+src,className:"box",title:title}, title);
				/*} else {
					$(otherImages).append(
						$.A({className:"thickbox", 
							rel:rel, 
							href:"images/prog/"+src,
							title:$("title",entry).text()}, "")
					)
				}*/				
			}
		}
		
		$("#content table tbody").append($.TR({className:"prog-entry"},
			$.TD({className:"prog-date"}, date.text()),
			$.TD({className:"prog-time"}, $("time",entry).text() || " "),
			$.TD({className:"prog-price"}, $("price",entry).text() || " "),
			$.TD({className:"prog-title"}, 
				title /*, otherImages*/
			)
		));
	});

	_setupPhotos();
}

function _setupPhotos() {
	$("a.box").fancybox(); 
}

function _parseNews(xml) {
	var progMonth = null;
	var currentYear = new Date().getFullYear();
	var currentMonth = new Date().getMonth() + 1;
	var newsCounter = 0;
	$(xml).find("prog entry").each(function(i) {
		var entry = this;
		var year = parseInt($(entry).attr("year"));
		var date = $("date",entry);
		if (year == currentYear && currentMonth > parseInt(date.attr("month"))) return true;
		
		if (newsCounter > 1) return false;
		newsCounter++;
		
		$("#next-dates").append($.P({}, 
			$.DIV({},$.STRONG({}, date.text())), 
			$.DIV({},$("title",entry).text())
		));
	});

	$("#next-dates").append($.P({}, 
		$.A({className:"more-info",href:"#"}, "plus d'info...")
	));
	$(".more-info").bind("click", function() {
		$("#menu-programme").click();
	});
}

