var phiTree = {};

phiTree.stateName = "treeState";

$(document).ready(function() {
	$("ul.tree li:has(ul)").addClass("twig").click(phiTree.toggle);
	$("ul.tree li:not(.twig)").addClass("leaf").click(phiTree.stopClick);
	$("ul.tree ul").addClass("collapsed");
});

phiTree.toggle = function(e) {
	e.stopPropagation();
	$(">ul", this).toggleClass("collapsed");
	document.cookie = phiTree.stateName + "=" + phiTree.getState();
};

phiTree.stopClick = function(e) {
	e.stopPropagation();
}

phiTree.getState = function() {
	var state = "";
	$("ul").each(function() {
		state += $(this).css("display") == "none" ? 0 : 1;
	});
	return state;
};

phiTree.setState = function() {
	var state = "";
	var cookies = document.cookie.split(";");
	for (var i=0;i<cookies.length;++i) {
		if ( cookies[i].indexOf(phiTree.stateName + "=")===0) {
			state = cookies[i].substring(cookies[i].indexOf("=")+1);
		}
	}

	$("ul").each(function(i){
		if (i < state.length) {
			$(this).css("display", state.charAt(i)===0 ? "none" : "block");
		}
		
	});
};


