//todo: decide to use image element id or name, use name for now
function ToggleSwitch(inID,inImageName,itsOnImage,itsOffImage)
{
	var self = this;
	var itsImage = document.images[inImageName];
	var itsControledElement = document.getElementById(inID);
	var itsControlState; //1 means show(on), 0 means hide(off)
	var itsName;


	self.initialize = function(inControlState)
	{
		self.setControlState(inControlState);
		if (itsControlState)
			self.show();
		else
			self.hide();
		Publisher(self);		
	};

	self.setControlState = function(inControlState)
	{
		itsControlState = inControlState;
	};

	self.getControlState = function()
	{
		return itsControlState;
	};

	self.setName = function(inName)
	{
		itsName = inName;
	};

	self.getName = function()
	{
		return itsName;
	};

	self.show = function()
	{
		itsControledElement.style.display ="";
    	itsImage.src = itsOnImage;
		self.setControlState(1);
	};

	self.hide = function()
	{
		itsControledElement.style.display ="none";
       	itsImage.src = itsOffImage;
		self.setControlState(0);
	}


	self.showHide = function()
	{
		if (itsControledElement.style.display == "none")
    	{
      		self.show();
		}
    	else
    	{
      		self.hide();
		}
		self.notifySubscribers(this);
	};
}
