function Footer(footerID)
{
	this.footer = document.getElementById(footerID);
	this.href = this.footer.href;
	this.addListener(this.footer,"click");
	
}
Footer.prototype.addListener = function(obj,typ)
{
	if(obj.addEventListener)
	{
		if("transitionend" == typ)
		{
			obj.addEventListener("webkitTransitionEnd",this,false);
			
			obj.addEventListener("oTransitionEnd",this,false);
		}
		obj.addEventListener(typ,this,false);
	}
	else if(obj.attachEvent)
	{
		var self = this;
		obj.self = this;
		obj.attachEvent("on"+typ,self.handleEvent);
	}
	if("transitionend" == typ && false == this.transitionSupport)
	{
	  var event = new Object();
	  event.target = obj;
	  event.type = typ;
	  this.handleEvent(event);
	}
}

Footer.prototype.handleEvent = function(event)
{
	
	var target = (event.target)? event.target: event.srcElement;
	var type = ("on" == event.type.substr(0,1))? event.type.substr(2): event.type;
	var self = (target.self) ? target.self:this;
	switch(type)
	{
		case "click":
			switch (target)
			{
				case self.footer:
					self.toggleHref();
					break;
			}
			break;
	}
	
}

Footer.prototype.prevent = function(event)
{
if(event.stopPropagation)
	{
		event.stopPropagation();
	}
	if(event.preventDefault)
	{
		event.preventDefault();
	}
	else
	{
		event.returnValue = false;
	}	
}

Footer.prototype.removeListener = function(obj,typ,func)
{
	if(obj.removeEventListener)
	{
		if("transitionend" == typ)
		{
			obj.removeEventListener("webkitTransitionEnd",this,false);
			obj.removeEventListener("oTransitionEnd",this,false);
		}
		obj.removeEventListener(typ,this,false);
	}
	else if (obj.detachEvent)
	{
		var self = this;
		obj.detachEvent("on"+typ,self.handleEvent);
	}
}
Footer.prototype.toggleHref = function()
{
	if(window.location.hash)
	{
		this.footer.href = "#";
	}
	else
	{
		this.footer.href = this.href;
	}
}


