// JavaScript Document
	var xml;
	
	function loadXML(callback) {
		var siteUrl = location.toString();
		
		if (siteUrl.indexOf("#") > 0)
			siteUrl = siteUrl.substring(0, location.toString().lastIndexOf("#"));

		siteUrl = siteUrl.substring(0, location.toString().lastIndexOf("/"));
		
		$.ajax({
				url: siteUrl + "/flash/assets/en/xml/train_board_content.xml",
				type: "GET",
				dataType: "xml",
				success: function( data ) {
					xml = data;
					
					bindGiftList("#gifts");
					showChart($(".year > .modal_content"), "total");
					
					if (callback != null)
						callback();
				}
		});
	}

	function formatPercent(num) {
		num = parseFloat(num);

		if (isNaN(num)) num = "0";
		
		return num + "%";
	}

	function formatCurrency(num) {
		num = num.toString().replace(/\$|\,/g, '');

		if (isNaN(num)) num = "0";

		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num * 100 + 0.50000000001);
		cents = num % 100;
		num = Math.floor(num / 100).toString();

		if (cents < 10) cents = "0" + cents;

		for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
			num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
	
		return (((sign) ? '' : '-') + '$' + num + '.' + cents);
	}

	function showChart(target, sender) {
		var index = 0;
		var prevYear = 0;
		var oldPrice = 0;
		
		var item = $('<li><div class="priceColL"></div><div class="priceCol"></div><div class="priceColR"></div></li>');
		
		whichGift = ($(sender).children("h2").length > 0) ? $(sender).children("h2").attr("rel") : sender;
		
		$(sender).parent().children(".show").removeClass("show");
		$(sender).addClass("show");
		
		$(xml).find("all_years > year").sort(function(a, b){
			return (parseInt($(a).attr("id")) < parseInt($(b).attr("id"))) ? -1 : 1;
		});

		var current = $(target).find(".modal_content_body:first");
		current.html('<div class="priceHeaderL">Year</div><div class="priceHeader">Price</div><div class="priceHeaderR">% Change</div>');
		current.append("<ul class='divPriceChart'></ul>");
		
		$(xml).find("all_years > year").each(function() {
			var li = $(item).clone();
			
			if (index % 2 == 0)
				$(li).find("div").addClass("gray");
				
			var year = $(this).attr("id");
			var gift = !isNaN(parseInt(whichGift)) 
						? $(this).find("item[gift='" + whichGift + "']")
						: $(this).find(whichGift);
			
			$(li).find("div").eq(0).html(year);
			$(li).find("div").eq(1).html(formatCurrency($(gift).attr("cost")));
			$(li).find("div").eq(2).html(formatPercent($(gift).attr("change")));
			
			if ($(current).find("li").length == 10) {
				current = $(current).next();
				current.html('<div class="priceHeaderL">Year</div><div class="priceHeader">Price</div><div class="priceHeaderR">% Change</div>');
				current.append("<ul class='divPriceChart'></ul>");
			}
			
			li.appendTo($(current).children("ul"));
				
			prevYear = year;
			index++;
		});
	}
	
	function bindGiftList(target) {
		var item = $('<li><h2 class="mobile_sprite"></h2></li>');

		$(target).html("");

		$(xml).find("all_gifts > gift").each(function() {
			var id = $(this).attr("id");
			var value = $(this).text();

			var li = $(item).clone();
				
			$(li).addClass("gift" + id);	
			$(li).find("h2").attr("rel", id);
			$(li).find("h2").html(value);

			li.appendTo($(target));
		});
		
		
		showChart($(target).next(), $(target).find("li:first"));
	}
