// Copyright 2006 | Thierry Koblentz - www.TJKDesign.com All Rights reserved
// TJK_ToggleDL() Version 1.5.5 (the CSS file has changed from previous version) report bugs or errors to thierry@tjkdesign.com

//Modified by ML 10/01/10, to expand and contract the containing highslide, when elements are toggled
//did this by adding the lines of code as shown below, which basically call hs.getExpander(id).reflow(), where id is a valid id name within the highslide.
//Didn't really know what I was doing, but managed to get it to work

if (document.getElementById && document.getElementsByTagName){			
document.write("<link href=\"TJK_ToggleDL/TJK_ToggleDL.css\" type=\"text/css\" rel=\"stylesheet\" />")
document.write("<link href=\"TJK_ToggleDL/TJK_ToggleDL_ie5mac.css\" type=\"text/css\" rel=\"stylesheet\" />")
}
function TJK_doToggleDL(x){
	var zDD=document.getElementById('TJK_DL').getElementsByTagName('dd');
	var zDT=document.getElementById('TJK_DL').getElementsByTagName('dt');	
		zDD[x].className=(zDD[x].className=='hideDD')?'showDD':'hideDD';
		zDT[x].className=(zDT[x].className=='DTplus')?'DTminus':'DTplus';	
   hs.getExpander(document.getElementById("TJK_DL")).reflow();									// Added by ML, to expand the highslide, using the TJK_DL id that is already in use, this one does the toggle, currently untested in multiple highslides though
}
function TJK_ToggleDLopen(){//we open all of them
	var zDD=document.getElementById('TJK_DL').getElementsByTagName('dd');
	var zDT=document.getElementById('TJK_DL').getElementsByTagName('dt');	
	for(var i=0;i<zDT.length;i++){
		zDD[i].className='showDD';
		zDT[i].className='DTminus';
	}
   hs.getExpander(document.getElementById("TJK_DL")).reflow();									// Added by ML, this one does the highslide reflow, if all DD elements are opened
	return false;
}
function TJK_ToggleDLclose(){//we close all of them	
	var zDD=document.getElementById('TJK_DL').getElementsByTagName('dd');
	var zDT=document.getElementById('TJK_DL').getElementsByTagName('dt');	
	for(var i=0;i<zDT.length;i++){
		zDD[i].className='hideDD';
		zDT[i].className='DTplus';
	}
   hs.getExpander(document.getElementById("TJK_DL")).reflow();									// Added by ML, this one does the highslide reflow, if all DD elements are closed
	return false;	
}
function TJK_ToggleDL(){
if (document.getElementById && document.getElementsByTagName){			
	var zDT=document.getElementById('TJK_DL').getElementsByTagName('dt');
	var zDD=document.getElementById('TJK_DL').getElementsByTagName('dd');
	var ToggleON = document.getElementById('TJK_ToggleON');
	var ToggleOFF = document.getElementById('TJK_ToggleOFF');
	if (ToggleON && ToggleOFF){// Show All - Hide All "links"
		ToggleON.onclick = TJK_ToggleDLopen;
		ToggleON.title = "Show all answers";
		ToggleON.href = "#";		
		ToggleOFF.onclick = TJK_ToggleDLclose;	
		ToggleOFF.title = "Hide all answers";
		ToggleOFF.href = "#";		
	}
	for(var i=0;i<zDT.length;i++){
		var zContent = zDT[i].innerHTML;
		var zHref = "<a href='#' onclick=\"TJK_doToggleDL("+i+");return false\" title=''>";		// Use 'Show/hide the answer' in the title if required
		zDT[i].innerHTML = zHref + zContent + "</a>";
		zDD[i].className='hideDD';
		zDT[i].className='DTplus';
		}
	}
}
