var intervalSpeed = 3;
var easing = 3;

var elemIds = new Array();
var elemHeights = new Array();

function initAccordion()
{
	if (!document.getElementById) return false;
	if (!document.getElementsByTagName) return false;

	var accordion = document.getElementById("accordion");
	if (!accordion)
	    return;

	var addressString = window.location.toString();
		
	elemIds = getIds(accordion);
	elemHeights = getHeights(accordion);
	toggleLinks(accordion);
	var heads = accordion.getElementsByTagName("h5");
	
	if(addressString.indexOf("#") != -1) 
	{
		var divToOpen = addressString.split("#")[1];
		if(document.getElementById(divToOpen))
		{
			divHead = document.getElementById(divToOpen).parentNode.getElementsByTagName("h5")[0];
			divHead.setAttribute('id', 'curArticle');
			resetColour(heads);
			window.location = addressString.split("#")[0] + "#curArticle";
			toggle(divToOpen, divHead);
		}
	}
	else
	{
		var divHead = heads[0];
		var link = divHead.getElementsByTagName("a")[0];
		var divToOpen = link.getAttribute("href").split("#")[1];		
		resetColour(heads);
		toggle(divToOpen, divHead);
	}
	
}

function getIds(accordion)
{
	var divs = accordion.getElementsByTagName("div");
	var ids = new Array();
	
	for (var i=0; i<divs.length; i++) 
	{
		if (divs[i].className.indexOf("newsItem") == -1) continue;
		ids[ids.length] = divs[i].getAttribute("id");
	}
	return ids;
}

function getHeights(accordion)
{
	var divs = accordion.getElementsByTagName("div");
	var heights = new Array();
	
	for (var i=0; i<divs.length; i++) 
	{
		
		if (divs[i].className.indexOf("newsItem") == -1) continue;
		divs[i].style.display = "block";
		heights[heights.length] = divs[i].offsetHeight;
		changeHeight(divs[i].getAttribute("id"), 40, intervalSpeed);		
		
	}
	return heights;
}

function resetColour(heads)
{
	for (var i=0; i<heads.length; i++) 
	{
		if (heads[i].className.indexOf("highlight") == -1) continue;
		removeClass(heads[i], "highlight");
	}
}

function toggleLinks(accordion) {

	var heads = accordion.getElementsByTagName("h5");
	for (var i=0; i<heads.length; i++) 
	{
		
		if (heads[i].className.indexOf("articleHead") == -1) continue;
		
		heads[i].onclick = function()
		{
			
			var link = this.getElementsByTagName("a")[0];
			var id = link.getAttribute("href").split("#")[1];
			resetColour(heads);
			toggle(id, this);
			return false;
		}
	}
}

function findParentNode(parentName, childObj) {



    var testObj = childObj.parentNode;
    var count = 1;
    while(testObj.getAttribute("id") != parentName) 
    {
        testObj = testObj.parentNode;
        count++;
    }
    if(testObj.getAttribute("id") == parentName) return parentName;
}

function toggle(id, divHead) {



    if (!document.getElementById) return false;

	var div = document.getElementById(id);

	var divName = div.getAttribute("id");



	var index = -1;

	for (var i = 0; i < elemIds.length; i++)

	    if (elemIds[i] == id) {

	        index = i;

	        break;

	    }



	//var index = elemIds.indexOf(id);

	var divHeight = elemHeights[index];

	if(div.style.height == "40px")
	{
		getHeights(document.getElementById("accordion"));
		changeHeight(divName, divHeight, intervalSpeed);
		addClass(divHead, "highlight");

    }
	else 
	{	
		getHeights(document.getElementById("accordion"));
		changeHeight(divName, 40, intervalSpeed);
		removeClass(divHead, "highlight");
    }
}

addLoadEvent(initAccordion);
