/*
	**Create new Group of SlideBox : new SlideBox (nestedListID, nestedLevel, defaultItems)
		+ nestedListID : ID of the list to add Accordion Effects.
		+ nestedLevel : number of nested level in nested list.
		+ defaultItems : index of the item to be shown at loading 
			- default value is FALSE = no item is shown.
*/
//SlideBoxGroup
SlideBoxGroup = function (id, nestedLevel, defaultItems) {
	this.slidebox = new Tree(id, nestedLevel);
	//Private Var
	var togglerName = id.toUpperCase() + "_Node";
	var elementName = id.toUpperCase() + "_Element";
	
	//Behavior
	for (var i = 0 ; i < this.slidebox.LEVEL.length ; i++) {
		for (var j = 0 ; j < this.slidebox.LEVEL[i].length ; j++) {
			//ChildGroup is UL
			if (this.slidebox.LEVEL[i][j].getElementsByTagName("ul")[0] != null && this.slidebox.LEVEL[i][j].getElementsByTagName("ul")[0].parentNode.nodeName.toLowerCase() == "li" && this.slidebox.LEVEL[i][j].getElementsByTagName("a") != null) {
// SHAY: The following code finds the first <a> and the first <ul>, and
// configures them as the toggler and element. The problem is that the
// getElementsByTagName method is recursive...
//				this.slidebox.LEVEL[i][j].getElementsByTagName("a")[0].id += togglerName + i.toString() + j.toString();
//				this.slidebox.LEVEL[i][j].getElementsByTagName("ul")[0].id += elementName + i.toString() + j.toString();
				alert("GO");
			}
			//ChildGroup is DIV
			if (this.slidebox.LEVEL[i][j].getElementsByTagName("div")[0] != null && this.slidebox.LEVEL[i][j].getElementsByTagName("a") != null) {
				this.slidebox.LEVEL[i][j].getElementsByTagName("a")[0].id += togglerName + i.toString() + j.toString();
				this.slidebox.LEVEL[i][j].getElementsByTagName("div")[0].id += elementName + i.toString() + j.toString();
			}
		}
	}
	addingEffects(togglerName, elementName, defaultItems, this.slidebox);
}

function addingEffects (togglerName, elementName, defaultItems, slideboxTree) {
    if(window.ie6) var heightValue='100%';
    else var heightValue='';
    
    if (typeof(defaultItems) == "undefined") {
	defaultItems = false;
    }
    
    for (var i = 0 ; i < slideboxTree.LEVEL.length ; i++) {
	for (var j = 0 ; j < slideboxTree.LEVEL[i].length ; j++) {
	    if (defaultItems.contains(j+1)) {
		new Fx.Slide(elementName + i.toString() + j.toString(), {
			mode: 'vertical',
			    duration: 500,
			    transition: Fx.Transitions.Pow.easeOut
			    }).show();
		//TogglerState
		$(togglerName + i.toString() + j.toString()).getParent("li").addClass("Active");
		//Toggler handler
		$(togglerName + i.toString() + j.toString()).addEvent('click', startSlide);
	    }
	    else {
		new Fx.Slide(elementName + i.toString() + j.toString(), {
			mode: 'vertical',
			    duration: 500,
			    transition: Fx.Transitions.Pow.easeOut
			    }).hide();
		
		//Toggler handler
		$(togglerName + i.toString() + j.toString()).addEvent('click', startSlide);
	    }
	}
    }
    function startSlide () {
	if ($(this.id.replace(togglerName, elementName)).getStyle('margin').toInt() == 0) {
	    $(this.id.replace(togglerName, elementName)).slide('out');
	    $(this.getParent("li")).removeClass("Active");
	}
	else {
	    $(this.id.replace(togglerName, elementName)).slide('in');
	    $(this.getParent("li")).addClass("Active");
	}
	return false;
    }
}
