/**
 * @author buenger
 */
function StepButton (a_activeSrc, a_inactiveSrc, a_completedSrc, a_firstRun) {
	
	this.id;
	this.element;
	
	var activeSrc;
	var inactiveSrc;
	var completedSrc;
	
	var _self = this;
	
	this.setActive = function () {
		_self.element.style.cursor = "";
		_self.element.src = activeSrc;
		_self.element.removeEvent ("click", handleClick);
	}
	
	this.setInactive = function () {
		_self.element.style.cursor = "";
		_self.element.src = inactiveSrc;
		_self.element.removeEvent ("click", handleClick);
	}
	
	this.setCompleted = function () {
		_self.element.style.cursor = "pointer";
		_self.element.src = completedSrc;
		_self.element.addEvent ("click", handleClick);
	}

	function createElement () {
		_self.element = new Element("img");
		_self.element.className  = 'pageButtonContainer_steps';
		_self.element.border = '0';
		_self.element.alt = '';
		_self.element.src = activeSrc;
		_self.fireEvent("creationComplete")
	}
	
	function handleClick () {
		_self.fireEvent("pageClick", _self.id);
		return false;
	}
	
	function init (a_activeSrc, a_inactiveSrc, a_completedSrc, a_firstRun) {
		
		activeSrc = a_activeSrc;
		inactiveSrc = a_inactiveSrc;
		completedSrc = a_completedSrc;
		
		if (a_firstRun == undefined) window.addEvent("load", handleWindowLoad);
		else createElement();
	}
	
	function handleWindowLoad () {
		window.removeEvent("load", handleWindowLoad);
		createElement();
	}
	
	
	$extend(this, new Events());
	
	init (a_activeSrc, a_inactiveSrc, a_completedSrc, a_firstRun);
}

