var collapseIntervales = new Array();
var collapsingElements = new Array();

function setCollapsed(elementId) {
	if (document.getElementById(elementId) == null) return;
	var element = document.getElementById(elementId);

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		var ieversion=new Number(RegExp.$1); // capture x.x portion and store as a number
		if (ieversion >= 6){
			//alert("You are using IE6!");
			element.style.display = "none";
		}else{
			element.style.height = element.clientHeight + "px";
			element.style.display = 'none';
		}
	}else{
		element.style.height = element.clientHeight + "px";
		element.style.display = 'none';
	}
}

function collapse(elementId, speed, imageId, openCSSValue, closeCSSValue) {
	if (typeof(imageId) == 'undefined'){
			if (document.getElementById(elementId) == null) return;
			if (document.getElementById(elementId).style.display == 'none') slideOpen(elementId, speed);
			else slideClose(elementId, speed);
	}else{
		if(document.getElementById(elementId+"editor").style.display == "none"){
			if (document.getElementById(elementId) == null) return;
			//alert("You are using IE6! Collapse...");
			if (document.getElementById(elementId).style.display == 'none') {
				//alert("You are using IE6! Collapse display none...");
				slideOpen(elementId, speed, imageId, openCSSValue, closeCSSValue);
			}else{
				//alert("You are using IE6! Collapse display block...");
				slideClose(elementId, speed, imageId, openCSSValue, closeCSSValue);
			}
		}
	}
}

function slideOpen(elementId, speed, imageId, openCSSValue, closeCSSValue) {
	if (collapsingElements[elementId]) {
		//return;
	}
	//if (typeof(imageId) != 'undefined') document.getElementById(imageId).src = "/images/collapseArrowOpen.gif";
	if (typeof(imageId) != 'undefined' && typeof(openCSSValue) != 'undefined') {
		//document.getElementById(imageId).setAttribute('className',openCSSValue);
		document.getElementById(imageId).className = openCSSValue;
	}
	var element = document.getElementById(elementId);
	collapsingElements[elementId] = {direction:"down", endHeight:parseInt(element.style.height), speed:speed, current:1}

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
	 var ieversion=new Number(RegExp.$1); // capture x.x portion and store as a number
		if (ieversion >= 6){
			//alert("You are using IE6!");
			//element.style.height = "600px";
			element.style.display = "block";
		}else{
			element.style.height = "1px";
			element.style.display = "block";
			collapseIntervales[elementId] = setInterval("resize('"+elementId+"');", 8);	
		}
	}else{
		element.style.height = "1px";
		element.style.display = "block";
		collapseIntervales[elementId] = setInterval("resize('"+elementId+"');", 8);	
	}
}

function slideClose(elementId, speed, imageId, openCSSValue, closeCSSValue) {
	if (collapsingElements[elementId]) {
		//return;
	}

	//alert("You are using IE6! slideClose 1...");

	//if (typeof(imageId) != 'undefined') document.getElementById(imageId).src = "/images/collapseArrowClose.gif";
	if (typeof(imageId) != 'undefined' && typeof(closeCSSValue) != 'undefined') {
		//document.getElementById(imageId).setAttribute('className',closeCSSValue);
		document.getElementById(imageId).className = closeCSSValue;
	}
	//alert("You are using IE6! slideClose...");

	var element = document.getElementById(elementId);
	
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
	 var ieversion=new Number(RegExp.$1); // capture x.x portion and store as a number
		if (ieversion >= 6){
			//alert("You are using IE6! slideClose 2...");
			//element.style.height = "600px";
			collapsingElements[elementId] = {direction:"up", endHeight:parseInt(element.style.height), speed:speed, current:parseInt(element.style.height)}
			element.style.display = "none";
		}else{
			collapsingElements[elementId] = {direction:"up", endHeight:element.clientHeight, speed:speed, current:element.clientHeight}
			collapseIntervales[elementId] = setInterval("resize('"+elementId+"');", 8);
		}
	}else{
		collapsingElements[elementId] = {direction:"up", endHeight:element.clientHeight, speed:speed, current:element.clientHeight}
		collapseIntervales[elementId] = setInterval("resize('"+elementId+"');", 8);
	}
}

function resize(elementId) {
	var element = document.getElementById(elementId);
	
	if (collapsingElements[elementId].direction == "up") {
		var nextHeight = collapsingElements[elementId].current - collapsingElements[elementId].speed;
		var continueSlide = (nextHeight > 0);
	} else {
		var nextHeight = collapsingElements[elementId].current + collapsingElements[elementId].speed;
		var continueSlide = (nextHeight < collapsingElements[elementId].endHeight);
	}
	if (continueSlide) {
		collapsingElements[elementId].current = nextHeight;
		document.getElementById(elementId).style.height = nextHeight + "px";
	} else {
		clearTimeout(collapseIntervales[elementId]);
		if (collapsingElements[elementId].direction == "up") element.style.display = "none";
		element.style.height = collapsingElements[elementId].endHeight + "px";
		delete(collapsingElements[elementId]);
	}
}
