
var com_javapepper_widget_PepInput = 
{
	// ============================================================
	// Functions
	// ============================================================

	trim : function( s )
	{
	    return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
	},
	
	isEmpty : function(s)
	{
	    return ( ( s == null ) || ( s.length == 0 ) );
	},
	
	validateInteger : function( item, nullable, origValue, minValue, maxValue )
	{
		var value = this.trim( item.value );
		if ( this.isEmpty( value ) && nullable )
		{
		    value = "";
		}
		else
		{
		    value = parseInt( value );
		    if ( isNaN( value ) || value < minValue || value > maxValue )
		    {
		        if ( item.lastValue )
		        {
		            value = item.lastValue;
		        }
		        else
		        {
		            value = origValue;
		        }
		    }
		}
		item.value = value;
		item.lastValue = value;
	},
	
	validateFloat : function( item, nullable, origValue, minValue, maxValue, numDecimals )
	{
	    var value = this.trim( item.value );
	    if ( this.isEmpty( value ) && nullable )
	    {
	        value = "";
	    }
	    else
	    {
	        value = parseFloat( value );
	        if ( isNaN( value ) || value < minValue || value > maxValue)
	        {
	            if (item.lastValue)
	            {
	                value = item.lastValue;
	            }
	            else
	            {
	                value = origValue;
	            }
	        }
	        else
	        {
	            if ( numDecimals )
	            {
	                value = value.toFixed( numDecimals );
	            }
	        }
	    }
	    item.value = value;
	    item.lastValue = value;
	}
};

