


function CC_ToggleInternal(self) {

	var el = document.getElementById(self.id);
	var img = document.getElementById(self.imgId);
	var style = 'none';
	var path = self.closedImgPath;
	var defaultHidden;
	
	if(el.style.display=='none') {
	// we are collapsed
		path = self.openImagePath
		style = self.displayStyle;
		if (is_ie) {
			style = 'block';
		}
	}
	
	if (img != null) {
		img.src = path;
	}
	el.style.display = style;


}

function CC_toggle() {
	var self = this;
	CC_ToggleInternal(this);
}

function hideIfDefaulted(self){
		if (self.defaultHidden == true){
			if (document.getElementById(self.id).style.display!='none'){
				CC_ToggleInternal(self);
			} else {
				document.getElementById(self.imgId).src = self.closedImgPath;
			}
		}
}
function CollapsibleComponent(id, imgId, openImagePath, closedImgPath, onLoadArray, displayStyle) {
	CollapsibleComponent(id, imgId, openImagePath, closedImgPath, onLoadArray, displayStyle, true);
}

function CollapsibleComponent(id, imgId, openImagePath, closedImgPath, onLoadArray, displayStyle, other, defaultHidden) {
	this.id = id;
	this.imgId = imgId;
	this.openImagePath = openImagePath;
	this.closedImgPath = closedImgPath;
	this.toggle = CC_toggle;
	this.displayStyle = displayStyle;
	this.defaultHidden = defaultHidden;
	var self = this;
	onLoadArray.push(function() {
			hideIfDefaulted(self);
	});
}