function TextBox_Init() 
{
	for( var i=0; i<TextBox_Inputs.length; i++ ) 
	{
		var o = TextBox_Inputs[i];
		var input = xGetElementById(o.input);
		if ( input != null ) {
			input.postback	= o.postback;
			input.validate	= o.validate;
			input.required	= o.required;
			input.requiredClassName	= o.requiredClassName;
			if ( input.required )
			{
				TextBox_CheckRequiredInput(input);
				xAddEventListener(input, "keyup", TextBox_OnKeyUp); 
				xAddEventListener(input, "blur", TextBox_OnBlur); 
			}
			if ( input.postback.length > 0 ){ xAddEventListener(input, "keypress", TextBox_OnEnter); }
			xAddEventListener(input.form, "reset", TextBox_FormReset);
		}
	}
}

function TextBox_FormReset(e)
{
	for( var i=0; i<TextBox_Inputs.length; i++ ) 
	{
		var input = xGetElementById(TextBox_Inputs[i].input);
		if ( input.required )
			addClassName(input, input.requiredClassName);
	}
}

function TextBox_OnKeyUp(e)
{
	var el = e.target || window.event.srcElement;
	TextBox_CheckRequiredInput(el);
}

function TextBox_OnBlur(e)
{
	var el = e.target || window.event.srcElement;
	TextBox_CheckRequiredInput(el);
}

function TextBox_CheckRequiredInput(el)
{
	if ( el && el.required )
	{
		if ( el.value.length > 0 ) 
			removeClassName(el, el.requiredClassName);
		else
			addClassName(el, el.requiredClassName);
	}
}


function TextBox_OnEnter(e)
{
	var el = e.target || window.event.srcElement;
	var keyCode = e.keyCode || e.which;

	if ( keyCode == 13 ) 
	{
		if ( !el.validate || typeof(Page_ClientValidate) != 'function' || ( el.validate && Page_ClientValidate() ) )
		{
			eval(el.postback);
			xPreventDefault(e);
		} 
	}
}

