/*functions to set the text feilds numeric
  triggered when the value change*/

function setNumeric(obj1)
	{
	val=obj1.value
	val = val.replace(/[^0-9.-]/g, ''); // strip non-digit chars
	val = stripDuplicateChars(val, '.', 1, 0); // strip excess decimals
	val = stripDuplicateChars(val, '-', 0, 1); // strip excess minus signs
	obj1.value = val> 0 ? val: "0" ; // replace textbox value

	if (!isFloatingPointNumber(val))
		{ alert('This is not a valid number, please correct it...');}

	}
function isFloatingPointNumber(val)
	{
	var fpnum = /^-{0,1}\d*\.{0,1}\d*$/g;
	if (fpnum.test(val))
		{return true;} 
	else {return false;}
	}
function stripDuplicateChars(str, strip, n, s)
	{
	var count=0; var stripped=str.substring(0, s); var chr;
	for (var i=s; i<str.length; i++)
		{ 
		chr = str.substring(i, i+1);
		if (chr == strip)
			{ 
			count++; 
			if (count<n+1)
				{ 
				stripped = stripped + chr;
				}
			}
		else 
			{
			stripped = stripped + chr;}
		} 
	return stripped;
	}
function roundVal(original_number, decimals) 
	{

	var result1 = original_number * Math.pow(10, decimals)
	var result2 = Math.round(result1)
	var result3 = result2 / Math.pow(10, decimals)
	return pad_with_zeros(result3, decimals)
	}

function pad_with_zeros(rounded_value, decimal_places) 
	{
	// Convert the number to a string
	var value_string = rounded_value.toString()
    
	// Locate the decimal point
	var decimal_location = value_string.indexOf(".")

	// Is there a decimal point?
	if (decimal_location == -1) 
		{
        
		// If no, then all decimal places will be padded with 0s
		decimal_part_length = 0
        
		// If decimal_places is greater than zero, tack on a decimal point
		value_string += decimal_places > 0 ? "." : ""
		}
	else 
		{

		// If yes, then only the extra decimal places will be padded with 0s
		decimal_part_length = value_string.length - decimal_location - 1
		}
    
	// Calculate the number of decimal places that need to be padded with 0s
	var pad_total = decimal_places - decimal_part_length
    
	if (pad_total > 0) 
		{
        
		// Pad the string with 0s
		for (var counter = 1; counter <= pad_total; counter++) 
			value_string += "0"
		}
	return value_string
	}
