// JavaScript Document

function toggleCategory(id){
	var div = document.getElementById(id);
	
	// determine target state.
	var state = (div.className.indexOf("open")==-1);
	
	// change background image by swapping class.
	div.className = (state) ? "category-gray-top-open" : "category-gray-top-closed";
	
	// hide/display children.
	for (var i = 0; i < div.childNodes.length; i++) {
		var tag = new String(div.childNodes[i].tagName);
		if (tag.toLowerCase() == "div") {
			// operate on div elements
			div.childNodes[i].style.display = (state) ? "block" : "none";
		}
	}
	
	//alert('!' + state);
}

function toggleSubCategory(id){
	var div = document.getElementById(id);
	
	// determine target state.
	var state = (div.getAttribute("collapsed")=="false") ? true : false;
	
	//alert(id + '!' + state + ":" + div.getAttribute("blah"));
	div.setAttribute("collapsed",state.toString());
	
	// hide/display children.
	for (var i = 0; i < div.childNodes.length; i++) {
		var tag = new String(div.childNodes[i].tagName);
		if (tag.toLowerCase() == "li") {
			// operate on div elements
			div.childNodes[i].style.display = (state) ? "inline" : "none";
		}
	}
	
	
}


function toggleSMcategory(id){
	var subcat = document.getElementById(id);
	var parent = document.getElementById("sm-ul");
	//alert("check: " + parent.childNodes.length);
	// hide/display children.
	var startHiding = false;
	var state = null;
	for (var i = 0; i < parent.childNodes.length; i++) {
		
		if (startHiding){
			if (state==null){
				// check first child's state.
				//alert("child: " + parent.childNodes[i].style.display);
				state = (parent.childNodes[i].style.display=="none") ? "block" : "none";
			}
			if (parent.childNodes[i].className=="category-subcategory"){
				break;
			}
			parent.childNodes[i].style.display = state;
		}
		
		if (parent.childNodes[i] == subcat) {
			startHiding = true;
		}
	}
}