var tree = {
	toggleList : Array(),
	toggleSelectedGroups : function(root) {
		if($(root)) {
			c = $(root).getElementsByTagName("input");
			for(i = 0; i < c.length; i++) {
				if(c[i].checked && c[i].parentNode.parentNode) {
					//get parent ul element (move up the ladder <li> -> <ul>)
					if(!tree.toggleList[c[i].parentNode.parentNode.id]) {
						tree.recursiveGroupToggle(c[i].parentNode.parentNode,root);								
						tree.toggleList[c[i].parentNode.parentNode] = "1";
					}
				}
			}
		}
	},
	recursiveGroupToggle : function(element,root) {
		if(element.id.match("sub") != null)
			id = element.id.substr(3,element.id.length);			
			
		if(element.id.match("root") != null)
			id = element.id.substr(4,element.id.length);
		
		if(element.id != "" && element.id != root && element.parentNode.parentNode) {	
			tree.toggle(id,element.id);
			tree.recursiveGroupToggle(element.parentNode.parentNode,root);	
		}
		return;		
	},
	toggle : function(imgId, element) {
		if(element != "") {
			if($(element).style.display == "none") {
				Effect.Appear($(element));
				if($("node"+element) != null) {
					$("node"+element).show();
				}
		  		if ($(imgId+ "plus") != null) {
					$(imgId+'plus').hide();
					$(imgId+'minus').show();	  			
		  		}			
			} else {
				Effect.Fade($(element));
				if($("node"+element) != null) {
					$("node"+element).hide();
				}			
				if ($(imgId+ "minus") != null) {
					$(imgId+'plus').show();
					$(imgId+'minus').hide();
				}
			}
		}
	},	
	select : function(element) {
		if ($(element)) {
			id = $(element).id.substring(2,$(element).id.length);
			if($("root"+id) != null)
				t = $("root"+id).parentNode.getElementsByTagName("input");	
			else if($("sub"+id) != null)
				t = $("sub"+id).parentNode.getElementsByTagName("input");	
			else
				t = new Array();

			for (i = 0; i < t.length; i++) {
				t[i].checked = t[0].checked;
			}
		}
	},
	disableDivisions : function(element) {
		
		//disable everything
		t = $("subTree").getElementsByTagName("input");
		
		for(i = 0; i < t.length; i++) {
			if($(element).checked) 
				t[i].disabled = "disabled";
			else
				t[i].disabled = "";
		}		
		t = $(element);
		for(i = 0; i < 20; i++) {
			if(t.parentNode.tagName == "UL" && t.parentNode.id == "subTree") {
				i = 20;
			} else {
				t = t.parentNode;
			}
		}
		t = t.getElementsByTagName("input");
		for(i = 0; i < t.length; i++) {
			t[i].disabled = "";
		}				
	},
	showTxt2Voice : function() {
		$("txt2voice").show();
	}
}