// modified October 24th, 2007

function IsInt(text) {
	var ValidChars = "0123456789";
	var IsInt=true;
	var Char;
 
	for (i = 0; i < text.length && IsInt == true; i++) { 
		Char = text.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsInt = false;
		}
	}
	return IsInt;
}


// function leaves only charcters used for math formulas and numbers
function strip_bad_characters(string)
{
    for (var i=0, output='', valid="eE+/*-0123456789.()"; i<string.length; i++)
       if (valid.indexOf(string.charAt(i)) != -1)
          output += string.charAt(i)
    return output;
}


// Returns a SI standard space separated number, easier to read.
// in: 123456789.123456789
// out: 123 456 789.123 456 789
function SI_space(num)
{
	num = num + '';
	// exit if scientific notation
	if (num.indexOf('e') > -1){ return num; }

	var dec = num.indexOf('.');

	var left, right = '';
	if (dec >= 0)
	{
		left = num.substring(0, dec);
		right = num.substring(dec + 1);
	}
	else
		left = num;

	var new_left = '', new_right = '';
	for (var i = 0; i < right.length; i++)
	{
		new_right += right.charAt(i);
		if (i % 3 == 2 && i != right.length - 1)
			new_right += ' ';
	}
	for (var i = left.length - 1; i >= 0; i--)
	{
		new_left = left.charAt(i) + new_left;
		if ((left.length - 1 - i) % 3 == 2 && i != 0)
			new_left = ' ' + new_left;
	}

	return (dec >= 0) ? new_left + '.' + new_right : new_left;
}
