/*---------------------------------------------------------------------
	JavaScript DOM Rollover function

	REQUIREMENTS:
		Image needs to have class="RolloverImg"
		3 versions of image need to be created and stored in same directory:
			imagename.ext
			imagename_on.ext
			imagename_over.ext
		(where .ext can be .gif, .jpg, .png)
	
	USAGE:
		Make sure function initRollovers() is called in the window.onload event (found in /assets/js/init.js).
-----------------------------------------------------------------------*/

function initToggles() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');
	var aTRs = document.getElementsByTagName('img');
	var sTreeImgPath = "/assets/images/icons/tree/";
	
	for (var i = 0; i < aTRs.length; i++) {
		if (cssClassActions('check',aTRs[i],'DetailRow')) {
			//aTRs[i].style.visibility = 'visible';
			aTRs[i].style.display = 'block';
			Element.hide(aTRs[i]);
		
		}
	}

	for (var i = 0; i < aImages.length; i++) {
		x = i;
		if (cssClassActions('check',aImages[i],'Toggle')) {

			aImages[i].onclick = function() {
				var src = this.getAttribute('src');
				var tempSrc;
				var iTreeImgPathLength;
				
				iTempTreePathLoc = src.indexOf(sTreeImgPath)
				if (iTempTreePathLoc > 0) {
					iTreeImgPathLength = sTreeImgPath.length;
					if (iTreeImgPathLength > 0) {
						tempSrc = src.substring(iTempTreePathLoc + iTreeImgPathLength, src.length);
					} else {
						tempSrc = src.substring(iTempTreePathLoc, src.length);
					}
				}

				if (tempSrc == "collapse.gif") {
					this.src = sTreeImgPath + "expand.gif";
				} else {
					this.src = sTreeImgPath + "collapse.gif";
				}
				oToggleImg = getFirstChild(this);
				oParentTR = this.parentNode.parentNode;
				oSiblingTR = getNextSibling(oParentTR);
				if (oSiblingTR.style.display == 'none') {
					//oSiblingTR.style.display = '';
					new Effect.Appear(oSiblingTR);
				} else {
					//oSiblingTR.style.display = 'none';
					new Effect.Fade(oSiblingTR);
				}
			}	
			
		}
	}
}

/*---------------
	Add to window.onload event
---------------*/
addEvent(window, 'load', initToggles, false);
