Label = function(name, parentDiv, w, h, Caption, parentObj) {
	this.lblPositions = { 'top' : 0, 'left': 1, 'right': 2, 'bottom': 3 };
	
	this.name = name;
	this.Caption = Caption;
	this.parentObj = parentObj;
	
	// Html elements
	this.html = new Object();
	this.html.parentDiv = parentDiv;
	if (this.html.parentDiv == null) { this.html.parentDiv = document.body; }	
	
	this.html.div = document.createElement('div');
	this.html.parentDiv.appendChild(this.html.div);
	this.html.div.style.position = 'absolute';
	this.html.div.style.verticalAlign = 'middle';
	this.html.div.style.textAlign = 'center';
	this.html.div.style.fontSize = '11px';
	//this.html.div.style.border = '1px red solid';
	this.style = this.html.div.style;
	
	this.setSize(w, h);
	this.setCaption(this.Caption);
}

Label.prototype = {
	setCaption : function(sValue){
		this.Caption = sValue;
		this.html.div.innerHTML = this.Caption;
	},
	
	getCaption : function(){
		return this.Caption;
	},	
	
	setSize : function(w, h) {
		this.w = w;
		this.h = h;
		this.html.div.style.width  = this.w + 'px';
		this.html.div.style.height = this.h + 'px';
	},
	
	getSize : function() {
		return {height: this.h, width: this.w};
	},
	
	setPosition : function(x, y) {
		this.html.div.style.left = x + 'px';
		setPositionAbsoluteTop(this.html.div, y);
	},
	
	setParentObjPosition : function(lblPositions) {
		this.x = this.parentObj.x;
		this.y = this.parentObj.y;
		
		switch (this.lblPositions[lblPositions]) {
			case this.lblPositions.left:
				this.setPosition(this.x, this.y);
				this.parentObj.setPosition(this.x + this.getSize().width, this.y);
				break;
			case this.lblPositions.top:
				this.setPosition(this.x, this.y);
				this.parentObj.setPosition(this.x + parseInt(((this.w - this.parentObj.w)/2), 10), this.y  + this.getSize().height);
				break;
			case this.lblPositions.bottom:
				this.setPosition(this.x, this.y + this.parentObj.getSize().height + 2);
				this.parentObj.setPosition(this.x + parseInt(((this.w - this.parentObj.w)/2), 10), this.y);				
				break;
			case this.lblPositions.right:
				this.setPosition(this.x + this.parentObj.getSize().width, this.y);
				break;
		}
	}
}
