//***********************
//** Matthew M. Osborn **
//**  www.osbornm.com  **
//***********************


//Configuration section
//********************************************************
var ExpandImageSrc      = '/images/icons/plus.gif'; 
var CollapseImageSrc    = '/images/icons/minus.gif'; 
var speed               = 15; //how often the div refreshes to the new height
var increment           = 5; //each time hte div refreshes height will be increased or deceased by this amount
//********************************************************


//Code
//********************************************************
var iTimer;
var calcHeight;
function toggleDiv(divToShow, imgID){
	var help = document.getElementById(divToShow);
	if(help.style.display != "block") {
		if(imgID){
			document.getElementById(imgID).setAttribute('src',CollapseImageSrc);
		}
		setCookie('collapse_' + divToShow, 'expand', 365);
		showDiv(divToShow);
		Expand(divToShow);
	}
	else {
		if(imgID){
			document.getElementById(imgID).setAttribute('src',ExpandImageSrc);
		}
		setCookie('collapse_' + divToShow, 'collapse', 365);
		collapse(divToShow);
	}
}
function Expand(divName) {
	var help = document.getElementById(divName);		
	var height = help.offsetHeight;
	if(height < calcHeight){
	    increment = Math.min(increment, calcHeight-height);
		help.style.height = height + increment + "px";
		iTimer = setTimeout( "Expand('" + divName +"')" , speed);
	}
	else{
		clearTimeout(iTimer);
	}	
}		
function collapse(divName) {
	var help = document.getElementById(divName);		
	var height = help.offsetHeight;
	if(height > increment){
		help.style.height = height - increment + "px";
		iTimer = setTimeout( "collapse('" + divName +"')" , speed);
	}
	else{
		clearTimeout(iTimer);
		help.style.height ="100%";
		help.style.display = "none";
	}	
}		
function showDiv(divName){
	var div = document.getElementById(divName);
	div.style.display = "block";
	calcHeight = div.offsetHeight;
	div.style.height = "0px";
}
