/* 	
	------------------------------------------------------------------------------
	/framework/classes/js/label.js
	
	Een label
	
 	------------------------------------------------------------------------------
*/

function Label(_id, _value) {

	// standard properties
	this.id = _id;	
	this.value = _value;
	
	this.containerelementid = "C_" + this.id;
	this.containerelement = document.getElementById(this.containerelementid);
	
	// appearance
	this.width = 0;
	this.visible = true;
	
	// events
	this.onclick = "";
	
	// extra properties
	this.error = "";
	
	
	// methods
	this.show = Label_show;
	this.hide = Label_hide;
	
	this.registerEvents = Label_registerEvents;
	this.addEvent = Label_addEvent;
	this.getEventName = Label_getEventName;
	
	this.getValue = Label_getValue;
	this.setValue = Label_setValue;
	
	// extra events
	this.beforeEvent = Label_beforeEvent;
	this.afterEvent = Label_afterEvent;
	
	// effects
	this.highlight = Label_highlight;
	
}

function Label_highlight() {
	new Effect.Highlight(this.containerelementid);	
}

function Label_beforeEvent(ev) {
	
}

function Label_afterEvent(ev) {
}

function Label_hide() {
	if (this.containerelement) {
		this.visible = false;
		this.containerelement.style.display = "none";
	}
}

function Label_show() {
	if (this.containerelement) {
		this.visible = true;
		this.containerelement.style.display = "block";
	}
}

function Label_getValue() {
	if (this.containerelement) {
		return this.containerelement.innerHTML;
	}
}
function Label_setValue(newValue) {
	if (this.containerelement) {
		this.containerelement.innerHTML = newValue;
	}
}

function Label_getEventName(whichevent) {
	//alert("eval dit " + eval("this." + whichevent));
	return (eval("this.on" + whichevent));
	
}

function Label_registerEvents() {
	if (this.formelement) {
		if (this.onclick.length > 0) {
			this.addEvent('click');
		}
		
		if (this.onkeyup.length > 0) {
			this.addEvent('keyup');
		}
		
		if (this.onblur.length > 0) {
			this.addEvent('blur');
		}
	}
	
}
	
function Label_addEvent(eventtype) {
	
	//W3C
	if(this.formelement.addEventListener) {
		//alert('W3C event added');
		this.formelement.addEventListener(eventtype, handle_event, false);
	}

	//Microsoft
	else if(this.formelement.attachEvent){
		//alert("MS event added");
		this.formelement.attachEvent("on" + eventtype, handle_event);
	}
}



