dojo.addOnLoad(function() {
	if(dojo.byId('package') == undefined)
		return;
	
	var panels = dojo.query('#package .body');
	var tabs = dojo.query("#package > table[class='head'] tr:nth-child(1) td");

	tabindex = 0; // Default tab
	// deactivate all tab
	for (i = 0; i < tabs.length; i++) {
		dojo.removeClass(tabs[i], "active");
		panels[i].style.display = "none";
	}
	// activate default tab
	dojo.addClass(tabs[tabindex], "active");
	panels[tabindex].style.display = "block";
	
	// click vao cac tab level Parent
	var xtabs = dojo.query('#package .head td').forEach(function(item, index) {
		dojo.connect(item, 'onclick', function() {
			// deactivate history tab 
			dojo.removeClass(tabs[tabindex], "active");
			panels[tabindex].style.display = "none";
			// activate
			tabindex = this.cellIndex;
			dojo.addClass(tabs[tabindex], "active");
			panels[tabindex].style.display = "block";
			
		});
	});
	
	// click vao cac tab level Child
	headcats = new Array();
	bodycats = new Array();
	subindexs = new Array();
	panels.forEach(function(item, index) {

		dojo.query('.category .headcat td', item).forEach(function(item2, index2) {
			// Init
			subindexs[index] = 0;
			headcats[index] = dojo.query('.category .headcat td', item);
			bodycats[index] = dojo.query('.category .bodycat', item);
			
			// deactivate all tab
			for (i = 0; i < headcats[index].length; i++) {
				dojo.removeClass(headcats[index][i], "active");
				bodycats[index][i].style.display = "none";
			}
			// activate index tab
				dojo.addClass(headcats[index][subindexs[index]], "active");
				bodycats[index][subindexs[index]].style.display = "block";
			
			// Onclick Action	
			dojo.connect(item2, 'onclick', function() {
				// deactivate
				dojo.removeClass(headcats[index][subindexs[index]], "active");
				bodycats[index][subindexs[index]].style.display = "none";
				// activate
				subindexs[index] = index2;
				dojo.addClass(headcats[index][subindexs[index]], "active");
				bodycats[index][subindexs[index]].style.display = "block";
			});
		});
	});
});
