//____________________________________________________________________
function i_Input(parent_h,property,label_str,textarea_bool){
// creates an input pair value and, if provided, binds to a property
	
	var self				= this;
	var stringLimit_int		= 255;
	var warningIssued_bool 	= false;
	
	var broadcaster			= new Broadcaster(this);
	broadcaster.createEventType('returnPress');
	
	var XHTML_h;
	var input_h;
	if(!label_str){
		label_str			= property? property.label : label_str;
	}
	createXHTML();

	this.__defineGetter__('XHTML_h',function(){return XHTML_h;});
	this.__defineGetter__('input_h',function(){return input_h;});
	this.__defineGetter__('label_h',function(){return label_h;});
	this.__defineGetter__('value',function(){return input_h.value;});

	//----------------------------------------------------------------
	function handleKeydown(evt){
		
		if(evt.keyCode==13){
			broadcaster.triggerEvent('returnPress');
		}
	};
	//----------------------------------------------------------------
	function createXHTML(){
		
		var container_h		= parent_h.createChild('div','i_input');
		
		var label_h			= container_h.createChild('label');
		var labelStr_h		= label_h.createChild('div',null,null,label_str);
		
		var element_str		= textarea_bool? 'textarea' : 'input';
		input_h				= label_h.createChild(element_str);
		input_h.addEventListener('keydown',handleKeydown,false);
		property? property.bindValueToInput(input_h,textarea_bool) : null;
		
		XHTML_h			= container_h;
	};
};	//________________________________________________________________
//____________________________________________________________________