function filterNumber(f)
{
	var res = new String();
	var num = "0123456789";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNumberAndSpl(f)
{
	var res = new String();
	var num = "0123456789!@#$%^&*()~`-_+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNonNumber(f)
{
	var res = new String();
	var num = "0123456789";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) != -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNonNumberDot(f)
{
	var res = new String();
	var num = "0123456789.";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) != -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNonNumberDotMinus(f)
{
	var res = new String();
	var num = "0123456789.-";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) != -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterPassSpl(f)
{
	var res = new String();
	var num = " !@#$%^&*()~`-_+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNoSpl(f)
{
	var res = new String();
	var num = " !@#$%^&*()~`+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNoSplBSpace(f)
{
	var res = new String();
	var num = "0123456789!@#$%^&*()~`-+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNoSplc(f)
{
	var res = new String();
	var num = "!@#$%^&*()~`-_+={}[]\"':;?><,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function filterNoSple(f)
{
	var res = new String();
	var num = " !#$%^&*()~`+={}[]\"':;?/><,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

function IsEmailAddress(s)
{
	re = /\s+/g
	if (re.test(s))
	{
		return false;
	}
	//validate email address syntax and remove any emails that don't 
	//match the basic syntax pattern below.
	re = /^(\w|[^_]\.|[\-])+((\@){1}([^_]))(([a-z]|[\d]|[\-]|\.)+|([^_]\.[^_])*)+\.[a-z]{2,6}$/i
	if (!re.test(s))
	{
		return false;
	}

	//fix the .. problem...
	re = /\.\./
	if (re.test(s))
	{
		return false;
	}

	//fix the @@ problem...
	re = /\@\@/
	return(!re.test(s));
}

function changeCase(f)
{
	f.value = f.value.toUpperCase();
}

function filterNoSplBlkChgCase(f)
{
	var res = new String();
	var num = " !@#$%^&*()~`+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
	f.value = f.value.toUpperCase();
}

function filterNoSplBlkNumChgCase(f)
{
	var res = new String();
	var num = "1234567890 !@#$%^&*()~`+={}[]\"':;?/>.<,\\";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
	f.value = f.value.toUpperCase();
}

function filterForPassword(f)
{
	var res = new String();
	var num = " !#$%^&*()~`+={}[]\"':;?/><,\\@";
	var chars = f.value.split("");
	
	for(i=0; i<chars.length; i++)
	{
		if(num.indexOf(chars[i]) == -1)
			res += chars[i];
	}
	if(f.value != res)
		f.value = res;
}

// Data validation constants
var defaultEmptyOK = false
// BOI, followed by one of these two patterns:
// (a) one or more digits, followed by ., followed by zero or more digits
// (b) zero or more digits, followed by ., followed by one or more digits
// ... followed by EOI.
var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/

// Data Validation functions
function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

function isFloat (s)
{
	if (isEmpty(s))
	{
       		if (isFloat.arguments.length == 1)
       		{
       			return defaultEmptyOK;
       		}
       		else
       		{
       			return (isFloat.arguments[1] == true);
       		}
       	}
	return reFloat.test(s)
}

function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;

	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}
