function HeaderControl(control, associatedControl, hidden)
{
	this.control = $(control);

	if (associatedControl)
	{
		this.associatedControl = $(associatedControl);
	}
	else
	{
		
		this.associatedControl = $(control).next("div");
	}

	this.hidden = false;
	if (hidden)
	{
		this.SetAssociatedControlState(true);
	}

	this.Initialise();
}


HeaderControl.prototype.Initialise = function()
{
	this.control.click(CallInContext(this, this.Click));
};



HeaderControl.prototype.Click = function()
{
	this.SetAssociatedControlState(!this.hidden);
};

HeaderControl.prototype.SetAssociatedControlState = function(hide)
{
	if (hide)
	{
		this.associatedControl.hide("fast");
		this.control.addClass("Collapsed");
	}
	else
	{
		this.associatedControl.show("fast");
		this.control.removeClass("Collapsed");
	}

	this.hidden = hide;
};
