YAHOO.namespace("integfaq");
		
/**
*	Toggle the answer classes on or off, i.e show or hide using display none/block
* http://www.lutsr.nl/yui/toggle/
*/
YAHOO.integfaq.toggle = function(e, o){
	id = o.question;
	
	if(YAHOO.util.Dom.getStyle('tmp-answer-id-' + id, 'display') == 'block'){
		YAHOO.util.Dom.get('tmp-state-id-' + id).innerHTML = ' [expand] ';
		YAHOO.util.Dom.setStyle('tmp-answer-id-' + id, 'display', 'none');
	}
	else{
		YAHOO.util.Dom.get('tmp-state-id-' + id).innerHTML = ' [collapse] ';
		YAHOO.util.Dom.setStyle('tmp-answer-id-' + id, 'display', 'block');
	}
	
	// stop default link to be followed if any
	YAHOO.util.Event.preventDefault(e);
}

/**
*	Initializes everything
*	@param String tag The tags we are using, for eg li, div, p
*	@param String questionClass the class for the question
*	@param String answerClass the class for the answers
*/
YAHOO.integfaq.init = function(tag, questionClass, answerClass){
	// get all the nodes
	var questionNodes = YAHOO.util.Selector.query(tag + '.' + questionClass);
	var answerNodes = YAHOO.util.Selector.query(tag + '.' + answerClass);
	
	// check if the questionNodes and answerNodes are same length 
	if(questionNodes.length == answerNodes.length){
	
		// set CSS cursor pointer for question class
		YAHOO.util.Dom.setStyle(questionNodes, 'cursor', 'pointer');
		
		// hide the answers class by setting display none for answer
		YAHOO.util.Dom.setStyle(answerNodes, 'display', 'none');
		
		// assign temporary ids for the questions for easier DOM manipulation afterwards
		for(var i=0;i<questionNodes.length;i++){
			questionNodes[i].id = 'tmp-question-id-' + i;
			// add the [+] sign here
			questionNodes[i].innerHTML =  '<div class = "ques">' + questionNodes[i].innerHTML + '</div>' 
			+ '<span id="tmp-state-id-' + i + '"> [expand] </span>';
			// add the onclick listener to that question to show the answer
			YAHOO.util.Event.addListener('tmp-question-id-' + i, 'click', YAHOO.integfaq.toggle, {"question" : i});
		}
		
		// set ids for answer
		for(var i=0;i<answerNodes.length;i++){
			answerNodes[i].id = 'tmp-answer-id-' + i;
		}
	}
	else{
		// show an error message if length of question and answers not same
		alert('Number of question and answers incorrect');
	}
}

YAHOO.util.Event.addListener(window, 'load', function(){
	YAHOO.integfaq.init('div', 'integfaq-question', 'integfaq-answer');
});