function $(id)
{
	return document.getElementById(id);
}

function Coalesce(Value, Default)
{
	if(Value == null)
		return Default;
		
	return Value;
}

function Switcher(numberOfSections, sectionContainerID, activeClass, inactiveClass)
{
    this.NumberOfSections 	= Coalesce(numberOfSections, 1) - 1;
	this.SectionContainerID = Coalesce(sectionContainerID, "sectionContainer");
	this.ActiveClass 		= Coalesce(activeClass, "active");
	this.InactiveClass 		= Coalesce(inactiveClass, "");
}

Switcher.prototype.Switch = function(TheLink, SectionID)
{
	// Make sure all sections are hidden
	var SectionContainer = $(this.SectionContainerID);
	for(var ct = 0; ct < SectionContainer.childNodes.length; ct++)
	{
		var node = SectionContainer.childNodes[ct];
		if(node.nodeType != 1)
			continue;

		node.style.display = "none";
	}
	
	var First = true;
	// Reset button styles
	for(var ct = 0; ct < TheLink.parentNode.childNodes.length; ct++)
	{
		if(TheLink.parentNode.childNodes[ct].nodeType != 1)
			continue;
		else node = TheLink.parentNode.childNodes[ct];

	    node.className = this.InactiveClass;
	    
	    if(First)
	    {
		    node.className += " firstCell";
		    First = false;
		}
	}

	// Show the selected section
	$(SectionID).style.display 	= "block";
	
	TheLink.className = this.ActiveClass;
	if(TheLink == node)
	    TheLink.className += " lastCell";
}

