/**
 * @version  1.00
 * @updated  2009/04/01
 */



if ($.browser.safari && $.browser.version < 500) {
	$(window).load(function () {
		Cases.init();
	});
}
else {
	$(document).ready(function () {
		Cases.init();
	});
}

Cases = {
	init: function () {
		this.data = {};
		this.load();
	},
	
	
	
	load: function (xml) {
	
		jQuery.ajax({
			url     : '/data/case/shared/xml/caselist.xml',
			type    : 'GET',
			dataType: 'xml',
			cache   : false,
			success : function (xml) {
				var data = Cases.toArray(xml.lastChild);
				
				Cases.list(data);
			}
		});
	},
	
	
	
	toArray: function (node, self) {
		var r    = {};
		var self = self || this.toArray;
		for (var attr, i = 0; attr = node.attributes[i]; i++)
			r[attr.name] = node.getAttribute(attr.name);
		
		var tags = [];
		jQuery(node).children().each(function () {
			if (!r[this.nodeName])
				r[this.nodeName] = [], tags.push(this.nodeName);
			
			var data = { text: jQuery(this).text() };
			for (var attr, i = 0; attr = this.attributes[i]; i++)
				data[attr.name] = this.getAttribute(attr.name);
			
			r[this.nodeName].push(jQuery(this).children().size() ? self(this, self) : data);
		});
		
		for (var tag, i = 0; tag = tags[i]; i++) {
			if (r[tag].length == 1) {
				for (var key in r[tag][0])
					r[tag][key] = r[tag][0][key];
			}
		}
		
		return r;
	},
	
	

	list: function (data) {
		var html = [];

		$(data.item).each(function(i){
			if (i == 0) {
				html.push('<li class="top"><a href="' + this.url.text + '">' + this.label.text + '</a></li>');
			} else {
				html.push('<li><a href="' + this.url.text + '">' + this.label.text + '</a></li>');
			}
		});	
		
		$('div#caselist ul.in').append(html.join(''));

	}
}