/*****************************************************************************
 *
 * File     : Label.js
 * 
 * Project  : WMS Viewer Client
 * 
 * Contents : This class implements the image behaviour. 
 * 
 * Author: Milan Trninic
 *
 * Copyright 1999-2005 Galdos Systems, Inc.
 * All rights reserved.
 * 
 ***|***************************|***********************|*******************|*/

/************************************************************************
*
*	Global declarations
*
*	
*
*************************************************************************/

/************************************************************************
*
*	function:	Label
*
*	purpose:	Constructor
*
*************************************************************************/
function Label(uiElement)
{
	// method assignments
	this.init = Label.init;
	this.setText = Label.setText;
	this.setClassName = Label.setClassName;
	this.setSelectable = Label.setSelectable;
	this.setEnabled = Label.setEnabled;
	this.isEnabled = Label.isEnabled;
	
	this.onTextEdit = Label.onTextEdit;
	this.onTextEditAdapter = Label.onTextEditAdapter;

	// instance field declarations
	this._uiElement;
	this._selectable;
	this._enabled;
	
	// initialization
	this.init(uiElement);
}

/************************************************************************
*
*	function:	init
*
*	purpose:	initializes the globals
*
*************************************************************************/
function Label.init(uiElement)
{
	this._uiElement = uiElement;
	this._uiElement.setAttribute("dataTransfer", this);
	this._uiElement.attachEvent("onselectstart", Label.onTextEditAdapter);
	this._selectable = false;
	this._enabled = true;
}

/************************************************************************
*
*	function:	onTextEdit
*
*	purpose:	
*
*************************************************************************/
function Label.onTextEdit(event)
{
	if (this._selectable == false) event.returnValue = false;
}

/************************************************************************
*
*	function:	setText
*
*	purpose:	
*
*************************************************************************/
function Label.setText(text)
{
	this._uiElement.value = text;
}

/************************************************************************
*
*	function:	setClassName
*
*	purpose:	
*
*************************************************************************/
function Label.setClassName(className)
{
	this._uiElement.className = className;
}


/************************************************************************
*
*	function:	setEnabled
*
*	purpose:	
*
*************************************************************************/
function Label.setEnabled(enable)
{
	this._enabled = enable;
	this._uiElement.disabled = !enable;
}

/************************************************************************
*
*	function:	isEnabled
*
*	purpose:	
*
*************************************************************************/
function Label.isEnabled()
{
	return this._enabled;
}

/************************************************************************
*
*	function:	setSelectable
*
*	purpose:	
*
*************************************************************************/
function Label.setSelectable(selectable)
{
	this._selectable = selectable;
}

/************************************************************************
*
*	function:	Event handler adapters
*
*	purpose:	
*
*************************************************************************/
function Label.onTextEditAdapter(){target(event, Label).onTextEdit(event);}

