/*
	Dependencies: lib.js
	- toggleDisplay()
	- getNextSibling()
	- addEvent()
*/

function setAccordion(pNode,openstate) {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	var pNode = document.getElementById(pNode);
	var nodeList = pNode.childNodes;
	for(i in nodeList) {
		obj = nodeList[i];
		if(obj.className == 'accButton') {
			addEvent(obj,'click',openAccordionNode);
			if(i==0) var closeObj = obj;
		}
	}
	resetAccordion(pNode.id);
	if(openstate) {
		switch(openstate) {
			case 1: // Start with first contentNode open
				var openObj = getNextSibling(closeObj);
				toggleDisplay(closeObj,false);
				toggleDisplay(openObj,true);
				break;
			case 2: // Start with contentNode with id='openContent' open
				if(openObj = document.getElementById('openContent')) {
					var closeObj = getPreviousSibling(openObj);
					toggleDisplay(closeObj,false);
					toggleDisplay(openObj,true);
				}
				break;
			default :
				break;
		}
	}
	nodeList = [];
}

function resetAccordion(pNode) {
	var pNode = document.getElementById(pNode);
	var nodeList = pNode.childNodes;
	for(i in nodeList) {
		obj = nodeList[i];
		if(obj.className == 'accContent')
			toggleDisplay(obj,false);
		if(obj.className == 'accButton')
			toggleDisplay(obj,true);
	}
}

function openAccordionNode() {
	var nextObj = getNextSibling(this);
	resetAccordion(this.parentNode.id);
	toggleDisplay(this,false);
	toggleDisplay(nextObj,true);
	return false;
}