function RoundNumber(f)
{
	var number1;
	var number_sign;
	var s;
	var nDecPart;

	if( f < 0){
		number_sign = 1;
		number1 = -f;
	}
	else{
		number1 = f;
		number_sign = 0;
	}
	s = Math.floor(number1);
	nDecPart = Math.round((number1 - Math.floor(number1))*100);

	if(parseInt(nDecPart) < 10)
		nDecPart = "0" + nDecPart;

	if(parseInt(nDecPart) > 99){
		s = Math.floor(number1 + 1.0);
		
		if( number_sign == 1 )
			return ("-" + s );
		else		
			return (s);
	}
	else{
		if( number_sign == 1 )
			return ("-" + s + "." + nDecPart);
		else		
			return (s + "." + nDecPart);
	}
}

function FormatNumber(f_in) // Format a float number (f) with group separators and 2 decimal digits
{
	var number_sign, f;
	var s;
	var nDecPart;
	var sRetVal;
	
	if(f_in < 0){
		number_sign = 1;
		f = -f_in;
	}
	else{
		number_sign = 0;
		f = f_in;
	}
	s = "" + Math.floor(f); // conver to a string
	nDecPart = Math.round((f - Math.floor(f))*100); // the decimal part
	sRetVal = "";  var i, nGroupCount=0;
    //added to handle correctly numbers as 12345.06 = 12,345.06 not 12,345.6
    if (parseInt(nDecPart) < 10)
    {
      nDecPart = "0" + nDecPart ;
    }  
	for (i=s.length-1; i>=0; i--){
	  sRetVal += s.charAt(i);
	  nGroupCount++;
	  if (i>0 && nGroupCount % 3 == 0 ) sRetVal += ",";
	}
	s = sRetVal; sRetVal = "";
	for (i=s.length-1; i>=0; i--){
		sRetVal += s.charAt(i);
	}
	sRetVal = sRetVal.replace('-,', '-');
	if(number_sign)
		return ("-" + sRetVal + "." + nDecPart);
	else
		return ( sRetVal + "." + nDecPart );
} 
function FormatNumberFr(f_in) // Format a float number (f) with group separators and 2 decimal digits
{
	var number_sign, f;
	var s;
	var nDecPart;
	var sRetVal;
	if(f_in < 0){
		number_sign = 1;
		f = -f_in;
	}
	else{
		number_sign = 0;
		f = f_in;
	}
	s = "" + Math.floor(f); // conver to a string
	nDecPart = Math.round((f - Math.floor(f))*100); // the decimal part
	sRetVal = "";  var i, nGroupCount=0;
    //added to handle correctly numbers as 12345.06 = 12.345,06 not 12.345,6
    if (parseInt(nDecPart) < 10)
    {
      nDecPart = "0" + nDecPart ;
    }
	for (i=s.length-1; i>=0; i--){
	  sRetVal += s.charAt(i);
	  nGroupCount++;
	  if (i>0 && nGroupCount % 3 == 0 ) sRetVal += " ";
	}
	s = sRetVal; sRetVal = "";
	for (i=s.length-1; i>=0; i--){
		sRetVal += s.charAt(i);
	}
	sRetVal = sRetVal.replace('-,', '-');
	if(number_sign)
		return ("-" + sRetVal + "," + nDecPart);
	else
		return ( sRetVal + "," + nDecPart );
} 
function getNumber( loc, s )
{
	var RetVal = 0, s2 = s;
	while(loc >= 0){
		
		var len = s2.length;
		var i = 0;

		while( i < len && i>=0 && s2.charAt(i) != ',' ) 
			i++;
		
		if(loc == 0){
			RetVal = parseInt(s2.substring( 0, i ), 10);
			return RetVal;
		}
		else{
			var s1;
			s1 = s2.substring( i + 1, len );
			s2 = s1;
		}
		loc--;
	}
	return RetVal;	
}

function getFNumber( loc, s )
{
	var RetVal = 0, s2 = s;
	while(loc >= 0){
		var len = s2.length;
		var i = 0;
		while( i < len && i>=0 && s2.charAt(i) != ',' ) 
			i++;
		if(loc == 0){
			RetVal = parseFloat(s2.substring( 0, i ));
			return RetVal;
		}
		else{
			var s1;
			s1 = s2.substring( i + 1, len );
			s2 = s1;
		}
		loc--;
	}
	return RetVal;	
}
function roundOff(value, precision)
{
	var neg = 0
	if(parseFloat(value) < 0){
		neg = 1;
		value = -parseFloat(value);
	}
   value = "" + value //convert value to string
   precision = parseInt(precision);
   
   var whole = "" + Math.round(value * Math.pow(10, precision));
   var decPoint = whole.length - precision;
 
	if(decPoint > 0){
        result = whole.substring(0, decPoint);
        result += ".";
        result += whole.substring(decPoint, whole.length);
    }
    else{
		result = "0.";
		while(decPoint < 0){
			result += "0";
			decPoint++;
		}
		result += whole;
    }
    if(neg == 1)
		result = "-" + result;
    return result;
}
function parseFloat1(s)
{
	var ret = 0.0;
	s = trim(s);
	if(s != '')
		ret = parseFloat(s);
	return ret;
}
function parseFloatFr(s)
{
	var ret = 0.0;
	var str = s.toString().trim();
	str = str.replace(',', '.');
	str = str.replace(' ', '');
	if(str != '')
		ret = parseFloat(str);
	return ret;
}
function parseFloat2Fr(s)
{
	var ret = trim(s);
	ret = ret.replace(',', ' ');
	ret = ret.replace('.', ',');
	return ret;
}

function parseInt1(s)
{
	var ret = 0;
	s = trim(s);
	if(s != '')
		ret = parseInt(s);
	return ret;
}

function NumberFilter( ctrl )
{
	var sTemp = "";
	var str = ctrl.value;
	var len = str.length;
	var i = 0;
	for(i = 0; i < len; i++)
	{
		var c = str.charAt(i);
		if( c >= '0' && c <= '9' )
		{
			sTemp += c;
		}
	}
	if(str != sTemp)
	    ctrl.value = sTemp;
}
function MoneyFilterNoCent( ctrl )
{
	var sTemp = "";
	var str = ctrl.value;
	var len = str.length;
	var i = 0;
	for(i = 0; i < len; i++)
	{
		var c = str.charAt(i);
		if( (c >= '0' && c <= '9') || c == '$' )
		{
			sTemp += c;
		}
	}
	if(str != sTemp)
	    ctrl.value = sTemp;
}
function TimeFilter( ctrl )
{
	var sTemp = "";
	var str = ctrl.value;
	var len = str.length;
	var c;
	var i;
	for(i = 0; i < len; i++){
		c = str.charAt(i);
		switch(i)
		{
		    case 0:
		        if( c >= '0' && c <= '2' )
		            sTemp += c;
		        break;
		    case 1:
                if( c >= '0' && c <= '9' )
		            sTemp += c;
		        break;
            case 2:
		        if( c == ':')
		            sTemp += c;
		        break;
            case 3:
		        if( c >= '0' && c <= '5' )
		            sTemp += c;
		        break;
            case 4:
		        if( c >= '0' && c <= '9' )
		            sTemp += c;
		        break;
		}
	}
	if(str != sTemp)
	    ctrl.value = sTemp;
}
function parseFloatLg( s, lg )
{
	return lg != 1 ? parseFloat(s) : parseFloatFr(s);
}

function GetFloatStrLg( s, lg )
{
	return lg != 1 ? GetFloatStr(s) : GetFloatStrFr(s);
}

function GetFloatStr(s)
{
	var ret = trim(s);
	ret = ret.replace(' ', '');
	return ret;
}

function GetFloatStrFr(s)
{
	var ret = trim(s);
	ret = ret.replace(',', '.');
	ret = ret.replace(' ', '');
	return ret;
}

function FloatPercentFilter( obj )
{
	var sTemp = "";
	var str = obj.value;
	var len = str.length;
	var i = 0;
	for(i = 0; i < len; i++){
		var c = str.charAt(i);
		if( (c >= '0' && c <= '9') || ( c == '.' || (FrenchLanguage == 1 && c == ',') || (c == '%' && i == len -1)) )
		{
			sTemp += c;
		}
	}
	obj.value = sTemp;
}
