/*
This js checks for DOM, looks for the first <dl> on page with class=faq and applies unique Ids to the <dt> and <dd> elements, class=collapse on <dd> and onclick event to <dt>
Sean Ronan 24 Oct 07
*/
var nu_faq={
getElementsByClassName:function(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
},

initFaq:function(){
	if (!document.getElementById || !document.createTextNode) {return;}
	var faqElements = nu_faq.getElementsByClassName(document, "dl", "faq");
	var firstFaqElement = faqElements[0];
	var questionElements = firstFaqElement.getElementsByTagName('dt');
	var qElement;
	var aElement;
	for(var i=0; i<questionElements.length; i++){
		qElement = questionElements[i];
		qElement.id = "faq_q" + i;
		qElement.onclick = function(){
			nu_faq.toggleAnswer(this);
			nu_faq.collapseAnswers(this);
			}
		aElement = qElement.nextSibling;
		while (aElement.nodeName.toLowerCase() != 'dd'){
			aElement = aElement.nextSibling;
		}
		//now aElent is the dd
		aElement.id = "faq_a" + i;
	}
	nu_faq.collapseAnswers(null);
},

collapseAnswers:function(oelm){ // collapse all the answers except this
	var thisaElement
	if(oelm != null){
		thisaElement = oelm.nextSibling;
		while (thisaElement.nodeName.toLowerCase() != 'dd'){
			thisaElement = thisaElement.nextSibling;
		}
	}
	var faqElements = nu_faq.getElementsByClassName(document, "dl", "faq");
	var firstFaqElement = faqElements[0];
	var answerElements = firstFaqElement.getElementsByTagName('dd');
	var aElement;
	for(var i=0; i<answerElements.length; i++){
		aElement = answerElements[i];
		if(aElement != thisaElement)
		aElement.className = "collapsed";
	}
},

showAnswer:function(oelm){ // show answer with correct index
	aElement = oelm.nextSibling;
		while (aElement.nodeName.toLowerCase() != 'dd'){
			aElement = aElement.nextSibling;
		}
		//now aElent is the dd
		aElement.className = "expanded";
},

toggleAnswer:function(oelm){ // toggle answer with correct index
	aElement = oelm.nextSibling;
		while (aElement.nodeName.toLowerCase() != 'dd'){
			aElement = aElement.nextSibling;
		}
		//now aElent is the dd
		trace(aElement.className)
    if(aElement.className != "collapsed"){
		aElement.className = "collapsed";
	}
	else
	{
		aElement.className = "expanded";
		}
}
}

AddOnload(nu_faq.initFaq);