var  trigger, target, targets, height, objHeights, objOldnode; 
var newHeight=0;
	
function showWithLinks(theParent) {
	if (document.getElementById && document.appendChild && document.removeChild && theParent != null) {
		var triggers = theParent.getElementsByTagName('a');
	   	var objHeights = new Object (triggers.length);
		var targets = new Object (triggers.length);
	
		// Iterate through all anchors in theParent
		for (var iCounter=0; iCounter<triggers.length; iCounter++) {
			trigger = triggers[iCounter];
                  target = document.getElementById(getIDFromHref(trigger.href));
							
			if (target) {
				objOldnode = target.parentNode;   	 
				objHeight = target.offsetHeight;
				objHeights[target.id] = objHeight;
				targets[trigger] = target;
	
				target.style.display = 'none';
				target.className +=" specs";
				
				//targetHdr = target.childNodes[0];
				targetHdr = target.getElementsByTagName("h3")[0];

				var open = document.createElement("img")
				open.className="arrow";
				open.setAttribute ("src", "/media/img/icons/open.png");
				//open.innerHTML="[open &darr;]";
				//trigger.appendChild(open);
				trigger.insertBefore(open, trigger.firstChild);                                

				var close = document.createElement("img")
				close.className="arrow";
				close.setAttribute ("src", "/media/img/icons/close.png");
				targetHdr.appendChild(close);
				targetHdr.insertBefore(close, targetHdr.firstChild);    
					
				trigger.parentNode.insertBefore(target, trigger.nextSibling);
		
				trigger.onclick = function(){
					expandHelp(this, objHeights, targets);
					return false;
				}
				closeIt = "closeHelp(trigger,"+ objHeights +",target); return false";
				targetHdr.onclick = new Function(closeIt);
                	}
          	}
		// Remove the old help section
                if (objOldnode != null) {
		     objOldnode.parentNode.removeChild(objOldnode);
                }
			
		 // Release memory to prevent IE memory leak
		theParent = null;
		target = null;
		triggers = null;
	} // end if
} // end showWithLinks
	
function expandHelp(trigger, objHeights, targets) {
 	target = targets[trigger];
  	objHeight = objHeights[getIDFromHref(trigger.href)];
	newHeight = target.offsetHeight;	
	if (newHeight==0 || newHeight== null) {
		//trigger.style.display="none";
		grow(trigger);
	}
}
function closeHelp(trigger, objHeights, target) {
	
  	objHeight = objHeights[target];
	newHeight = target.offsetHeight;	
		
	if (newHeight!=0 || newHeight!= null) {
		//trigger.style.display="block";
		shrink(trigger);
		//setTimeout('trigger.style.display="block";',100); 
	}
}
function grow(trigger) {
	newHeight= (newHeight+35);
	target.style.height = (newHeight)+'px';
	if  (newHeight<(objHeight+40)) {	
		setTimeout(grow,1); 
	}
	else {
		target.style.height = "auto"; 
	}
	target.style.display="block";
}
function shrink(trigger) {
	newHeight = (newHeight-40);
	target.style.height = newHeight+'px';
	if  (newHeight>45) {	
		setTimeout(shrink,1); 
	}
	else {
		target.style.display="none"; 
	}
 
}

// Return the ID of the element from the "href" attribute
function getIDFromHref(strHref) {
	if (strHref) {
		var iOffset = strHref.indexOf('#') + 1;
		var iEnd = strHref.length;
		return strHref.substring(iOffset, iEnd);
	}
}
function initform() {
	if (document.getElementById("detailList")) {
 		var detailList = document.getElementById("detailList");
		showWithLinks(detailList);
	}
}
window.onload = initform;