// Kent Hide and Show Script
// Written by Simon Yeldon & Frank Gasking
// Inspired by http://alistapart.com/articles/domtricks2/
var count = 0;
var expandImg = "/javascript/hideshow/v1/expand.gif";
var shrinkImg = "/javascript/hideshow/v1/shrink.gif";

function findOwner( evt )
{
    var node;
    if (isNav6) {
        node = evt.target;
        while (node) {
            if ( node.nodeType == Node.ELEMENT_NODE && node.nodeName == "DT") {
                return node;
            }
            node = node.parentNode;
        }
    }
    else if (isIE4) {
        node = window.event.srcElement;
        while (node) {
            if (node.tagName == "DT") {
                return node;
            }
            node = node.parentElement;
        }
    }
    return null;
}

function showChild(evt) {
	//find the owner of the event
    var owner = findOwner( evt );
    var divNum;

    if (isNav6)
    {
        divNum = owner.attributes.getNamedItem("id").nodeValue;
    }
    else if (isIE4)
    {
        divNum = owner.id;
    }

    divNum = parseInt( divNum.substr(14));

    if (getIdProperty( "kentHideShowDd" + divNum, "display") != "block" )
    {
        setIdProperty("kentHideShowDd" + divNum, "display", "block");
        setIdProperty("kentHideShowDt" + divNum, "backgroundImage", "url("+shrinkImg+")");
        //document.images["KentHideShowImg" + divNum].src = shrinkImg;
		//document.images["KentHideShowImg" + divNum].alt = "Click to Shrink";
	
    }
    else
    {
        setIdProperty("kentHideShowDd" + divNum, "display", "none");
        //document.images["KentHideShowImg" + divNum].src = expandImg;
		//document.images["KentHideShowImg" + divNum].alt = "Click to Expand";
	setIdProperty("kentHideShowDt"+divNum, "backgroundImage", "url("+expandImg+")");
    }
}

function highlight(evt) {
    var dtObj = findOwner(evt);
    //if (isNav6) { dtObj.style.cursor = "pointer"; }
    dtObj.style.color = "#ff0000";
}

function dim(evt) {
    var dtObj = findOwner( evt );
    //if (isNav6) { dtObj.style.cursor = "default"; }
    dtObj.style.color = "#124265";
}

function addActions(dtElement) {
	//alert("isNav4 = "+isNav4+"; isNav6 = "+isNav6+"; isIE4 = "+isIE4);
    if (isNav6)
    {
        dtElement.addEventListener( "click", showChild, false);
        dtElement.addEventListener( "mouseover", highlight, false );
        dtElement.addEventListener( "mouseout", dim, false );
        //dtElement.style.fontWeight = "bold";
    }
    else if (isIE4)
    {
        dtElement.onclick = showChild;
        dtElement.onmouseover = highlight;
        dtElement.onmouseout = dim;
    }
}

function hideShow() {
	var dtObj;
	var ddObj;
	var i;
	//get all dl elements in the document.
	var dlElements = document.getElementsByTagName("dl");
	//check to see whether the element has the desired kentHideShow class assigned to it.
	//if it has the class assigned then add the listeners.
	for(i = 0; i < dlElements.length; i++) {
	//alert(dlElements.length);
		if(dlElements[i].className == "kentHideShow") {
			//debug
			//count++;
			dtObj = dlElements[i].getElementsByTagName("dt");
			ddObj = dlElements[i].getElementsByTagName("dd");
			//dlElements[i].id="kentHideShow"+count;
			if(dtObj.length != ddObj.length) {
				return false;
			}
			for(j=0; j<dtObj.length; j++) {
				dtObj[j].id="kentHideShowDt"+count;
				ddObj[j].id="kentHideShowDd"+count;
				
				//lets add in the image.
				/*
				var image = document.createElement("img");
				image.setAttribute("src", expandImg);
				image.setAttribute("alt", "Click to Expand");
				image.setAttribute("id", "KentHideShowImg"+count);
				//insert the image
				dtObj[j].insertBefore(image, dtObj[j].childNodes[0]);
				*/
				setIdProperty(dtObj[j].id, "backgroundImage", "url("+expandImg+")");
				addActions(dtObj[j]);
				
				//alert("in here");
				setIdProperty("kentHideShowDd" + count, "display", "none"); //hide all of the sub items in the setup
				
				count++;
			}
		}
	}
	
	
	//debug
	//alert(count);
}
setBrowser();