// ======================================================================================================================================== value
function	___trim	(s)
{
	return s.replace(/^\s+|\s+$/g, '');
}

// -------------------------------------------------------------------------------------------------------------------- field value
function	field_value	(name)
{
	var	o	=document.getElementsByName	(name);
	
	if (o	!=null)
	{
		o	=o[0].value;
	}

	return	o;
}

// -------------------------------------------------------------------------------------------------------------------- field required
function	field_required	(name)
{
	return	___trim	(field_value	(name)	)	!='';
}

// ======================================================================================================================================== checkers

// -------------------------------------------------------------------------------------------------------------------- field date
function	field_date	(name)
{
	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- field datetime
function	field_datetime	(name)
{
	return	true;
}

//-------------------------------------------------------------------------------------------------------------------- field email
function	field_email	(name)
{
        emailRegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/;
        
        return	emailRegExp.test	(field_value	(name)	);
}

// -------------------------------------------------------------------------------------------------------------------- field float
function	field_float	(name)
{
	var	a	=field_value	(name);

//	return	((string)	(float)	a)==a;
	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- field integer
function	field_integer	(name)
{
	var	a	=field_value	(name);

	return	(a	=='')	|| (!isNaN	(a)	);
//	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- field haltid
function	field_haltid	(name)
{
	var	a	=field_value	(name);

	return	!isNaN	(a);
//	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- field time
function	field_time	(name)
{
	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- field htmltext
function	field_htmltext	(name)
{
	return	true;
}

// -------------------------------------------------------------------------------------------------------------------- input index
function	input_index	(obj)
{
	var	form	=obj.form;
	var	c	=form.length;
	
    	for (	var	i	=0;
    			i	<c;
    			i	++
    	)
    	{
    		if (form[i]	==obj)
    		{
    			return	i;
   		}
   	}
    
    	return	null;
}

// -------------------------------------------------------------------------------------------------------------------- next_input
function	next_input	(obj)
{
	var	idx	=input_index	(obj);
	var	form	=obj.form;
	var	c	=form.length;

    	for (	var	i	=idx	+1;
    			i	!=idx;
    			i	=(i	+1)	%c
    	)
    	{
    		if (form[i].type	!='hidden')
    		{
    			return	form[i];
   		}
   	}
    
    	return	obj;
}


// -------------------------------------------------------------------------------------------------------------------- enterer
function	enterer	(obj, e)
{
	var	code	=0;
	
	if (!e)
	{
		var	e	=window.event;
	}
	
	if (e.keyCode)
	{
		code	=e.keyCode;
	}
	else
	if (e.which)
	{
		code	=e.which;
	}
	
	if (e.keyCode	==13)
	{
		var	o	=next_input	(obj);

		if (o.select)
		{
			o.select	();
		}
		
		o.focus	();
		
		return	false;
	}
}
