<!--

/************************************************************************************************************

Show hide content with slide effect

Copyright (C) August 2010  DTHMLGoodies.com, Alf Magne Kalleland



This library is free software; you can redistribute it and/or

modify it under the terms of the GNU Lesser General Public

License as published by the Free Software Foundation; either

version 2.1 of the License, or (at your option) any later version.



This library is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU

Lesser General Public License for more details.



You should have received a copy of the GNU Lesser General Public

License along with this library; if not, write to the Free Software

Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA



Dhtmlgoodies.com., hereby disclaims all copyright interest in this script

written by Alf Magne Kalleland.



Alf Magne Kalleland, 2010

Owner of DHTMLgoodies.com



************************************************************************************************************/



var dhtmlgoodies_slideSpeed = 50;	// Higher value = faster

var dhtmlgoodies_timer = 1;	// Lower value = faster



var objectIdToSlideDown = false;

var dhtmlgoodies_activeId = false;

var dhtmlgoodies_slideInProgress = false;

var dhtmlgoodies_slideInProgress = false;

var dhtmlgoodies_expandMultiple = true; // true if you want to be able to have multiple items expanded at the same time.



function showHideContent(e,inputId)

{

	if(dhtmlgoodies_slideInProgress)return;

	dhtmlgoodies_slideInProgress = true;

	if(!inputId)inputId = this.id;

	inputId = inputId + '';

	var numericId = inputId.replace(/[^0-9]/g,'');

	var answerDiv = document.getElementById('dhtmlgoodies_a' + numericId);



	objectIdToSlideDown = false;



	if(!answerDiv.style.display || answerDiv.style.display=='none'){

		if(dhtmlgoodies_activeId &&  dhtmlgoodies_activeId!=numericId && !dhtmlgoodies_expandMultiple){

			objectIdToSlideDown = numericId;

			slideContent(dhtmlgoodies_activeId,(dhtmlgoodies_slideSpeed*-1));

		}else{



			answerDiv.style.display='block';

			answerDiv.style.visibility = 'visible';



			slideContent(numericId,dhtmlgoodies_slideSpeed);

		}

	}else{

		slideContent(numericId,(dhtmlgoodies_slideSpeed*-1));

		dhtmlgoodies_activeId = false;

	}

}



function slideContent(inputId,direction)

{



	var obj =document.getElementById('dhtmlgoodies_a' + inputId);

	var contentObj = document.getElementById('dhtmlgoodies_ac' + inputId);

	height = obj.clientHeight;

	if(height==0)height = obj.offsetHeight;

	height = height + direction;

	rerunFunction = true;

	if(height>contentObj.offsetHeight){

		height = contentObj.offsetHeight;

		rerunFunction = false;

	}

	if(height<=1){

		height = 1;

		rerunFunction = false;

	}



	obj.style.height = height + 'px';

	var topPos = height - contentObj.offsetHeight;

	if(topPos>0)topPos=0;

	contentObj.style.top = topPos + 'px';

	if(rerunFunction){

		setTimeout('slideContent(' + inputId + ',' + direction + ')',dhtmlgoodies_timer);

	}else{

		if(height<=1){

			obj.style.display='none';

			if(objectIdToSlideDown && objectIdToSlideDown!=inputId){

				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.display='block';

				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.visibility='visible';

				slideContent(objectIdToSlideDown,dhtmlgoodies_slideSpeed);

			}else{

				dhtmlgoodies_slideInProgress = false;

			}

		}else{

			dhtmlgoodies_activeId = inputId;

			dhtmlgoodies_slideInProgress = false;

		}

	}

}







function initShowHideDivs()

{

	var divs = document.getElementsByTagName('DIV');

	var divCounter = 1;

	for(var no=0;no<divs.length;no++){

		if(divs[no].className=='dhtmlgoodies_question'){

			divs[no].onclick = showHideContent;

			divs[no].id = 'dhtmlgoodies_q'+divCounter;

			var answer = divs[no].nextSibling;

			while(answer && answer.tagName!='DIV'){

				answer = answer.nextSibling;

			}

			answer.id = 'dhtmlgoodies_a'+divCounter;

			contentDiv = answer.getElementsByTagName('DIV')[0];

			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px';

			contentDiv.className='dhtmlgoodies_answer_content';

			contentDiv.id = 'dhtmlgoodies_ac' + divCounter;

			answer.style.display='none';

			answer.style.height='1px';

			divCounter++;

		}

	}

}

window.onload = initShowHideDivs;

//-->


