/******************************************
Name:			togglehtmlelements.js
Date:			07/06/2006
Author:			James Condliffe
Description:	Get HTML elements from a specified container and toggles any particalr HTMl element inside the specified container
******************************************/

//addLoadEvent(setupMasterToggleLinks);
addLoadEvent(setupDisplayBoxes);

//declare variable - change values to suit the HTML output

FAQsContainer = "listOfFaqs";				/*parent container where all the HTML tags that you want to toggle are placed*/
FAQsHTMLTag = "li";							/*HTML element that is being displayed in FAQsContainer and is toggle controller and toggled */
FAQsMasterSwitchContainer = "mainContent";	/*parent container where the master toggle controller is located*/


var numbOfFaqAnswer = 0;


function setupMasterToggleLinks()
{
	if (!document.getElementById) return false;
	if (!document.getElementById(FAQsMasterSwitchContainer)) return false;
	if (!document.getElementsByTagName) return false;
	
	var parentContainer = document.getElementById(FAQsMasterSwitchContainer);
	
	if (!parentContainer.getElementsByTagName("h1")) return false;
	var currentChildNode = parentContainer.getElementsByTagName("h1");

	//alert("currentChildNode: " + currentChildNode.length);

	for (var i=0; i<currentChildNode.length; i++)
	{
		var questionLink = document.createElement("a");
		var newTextNode = document.createTextNode("Show All Answers");

		questionLink.setAttribute("title", "");
		questionLink.setAttribute("href", "");
		questionLink.setAttribute("id", "showAll");
		questionLink.onclick = toggleAllFAQs;

		questionLink.appendChild(newTextNode);
		currentChildNode[i].appendChild(questionLink);
	}
/**/
	
}

function setupDisplayBoxes()
{
	if (!document.getElementById) return false;
	if (!document.getElementById(FAQsContainer)) return false;
	if (!document.getElementsByTagName) return false;
	
	var messagescontainer = document.getElementById(FAQsContainer);
	
	if (!messagescontainer.getElementsByTagName(FAQsHTMLTag)) return false;
	var messages = messagescontainer.getElementsByTagName(FAQsHTMLTag);

	for (var i=0; i<messages.length; i++)
	{
		if(messages[i].className == "faqAnswer")
		{
			messages[i].style.display = "none";
		}
		else if(messages[i].className == "faqQuestion")
		{
			var questionText = messages[i].firstChild.nodeValue;
			var questionLink = document.createElement("a");
			var newTextNode = document.createTextNode(questionText);
			var questionID = messages[i].getAttribute("id");

			questionLink.setAttribute("title", "Click to show answer");
			questionLink.setAttribute("href", "");
			questionLink.setAttribute("id", questionID);
			questionLink.onclick = toggleDisplay;
			
			questionLink.appendChild(newTextNode);
			messages[i].replaceChild(questionLink,messages[i].firstChild);

		}
	}
}

function toggleAllFAQs()
{
	if (!document.getElementById) return false;
	if (!document.getElementById(FAQsContainer)) return false;
	if (!document.getElementsByTagName) return false;
	
	var messagescontainer = document.getElementById(FAQsContainer);
	
	if (!messagescontainer.getElementsByTagName(FAQsHTMLTag)) return false;
	var messages = messagescontainer.getElementsByTagName(FAQsHTMLTag);

	
	for (var i=0; i<messages.length; i++)
	{
		if(messages[i].className == "faqAnswer")
		{
			if (toggledElement.style.display == "block")
			{
				toggledElement.style.display = "none";		
				toggleController.setAttribute("title", "Click to show answer");
			}
			else
			{
				toggledElement.style.display = "block";
				toggleController.setAttribute("title", "Click to hide answer");
			}


		}
	}
	
	
	return false;
}

function toggleDisplay()
{
	if (!document.getElementById) return false;
	if (!document.getElementById("c_" + this.id)) return false;
	if (!document.getElementById(this.id)) return false;
	
	var toggledElement = document.getElementById("c_" + this.id);
	var toggleController = document.getElementById(this.id);

	if (toggledElement.style.display == "block")
	{
		toggledElement.style.display = "none";		
		toggleController.setAttribute("title", "Click to show answer");
	}
	else
	{
		toggledElement.style.display = "block";
		toggleController.setAttribute("title", "Click to hide answer");
	}
	//stops the page from auto forwarding
	return false;
}/**/