
// requires getObject and showHide metods within the general.js 

ToggleGroup = function(pName){
	this._name = pName; // reference to defining variable name
	this._toggleItems = []; // array of toggle items
};

ToggleGroup.prototype.add = function(toggleID, linkString){
	var userLinkID = "user" + toggleID;
	this._toggleItems[this._toggleItems.length] = toggleID;
	
	if(linkString.length){
		document.write("<a id=\"" + userLinkID + "\" href=\"javaScript:" + this._name + ".toggle(\'" + toggleID + "\');\">" + linkString + "<\/a>");
	}
};

ToggleGroup.prototype.toggle = function(toggleID){
	showHide(toggleID);
	
	//we need to change show or hide text as well
	var userLinkID = "user" + toggleID;

	oToggledElement = getObject(toggleID);
	oLinkElement = getObject(userLinkID);
	
	if(oToggledElement && oLinkElement){
		if(oToggledElement.style.display == ""){
			oLinkElement.innerHTML = "Hide details";
		}
		
		if(oToggledElement.style.display == "none"){
			oLinkElement.innerHTML = "More details";
		}
	}
		
};

ToggleGroup.prototype.show = function(toggleID){
	var toggleItem = getObject(toggleID);
	toggleItem.style.display = "";
};

ToggleGroup.prototype.hide = function(toggleID){
	var toggleItem = getObject(toggleID);
	toggleItem.style.display = "none";
};


ToggleGroup.prototype.hideAll = function(toggleID){
	for(var i=0; i<this._toggleItems.length; i++){
		this.hide(this._toggleItems[i]);
	}
};

ToggleGroup.prototype.showAll = function(toggleID){
	for(var i=0; i<this._toggleItems.length; i++){
		this.show(this._toggleItems[i]);
	}
};