/*----------------------------------------------------------------------
   (c) Copyright 2005 - Seasia Consulting.  All rights reserved.
----------------------------------------------------------------------*/

// Returns 0 If Success
// Returns 1 If Blank
// Returns 2 If Starts with blank
// Returns 3 If Invalid Chars
 
function i_ValidChars(s_Num, v_Valid)
{
	if (IsBlank(s_Num))
		return 1;

	s_Num = new String(s_Num);
	
	if (s_Num.charAt(0) == " ")
		return 2;
	
	var i_Valid = 0;
	var a_Chars;
	var b_NotInString = true;	// true - The character is invalid if not present in a_Chars
	var i;
	
	a_Chars = v_Valid;
	
	switch (v_Valid)
	{
		case "EMAIL":
			a_Chars = new String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-_@.");
			break;
		case "PHONE":
			a_Chars = new String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-() ");
			break;
		case "PHONE_NUM":
			a_Chars = new String("1234567890-");
			break;
		case "PASSWORD":
			a_Chars = new String("/\\;:[]|=,+*?><`~\" ");
			b_NotInString = false;
			break;
		case "ALPHABETS":
			a_Chars = new String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
			break;
		case "NUMBERS":
			a_Chars = new String("1234567890");
			break;
		case "DECIMAL":
			a_Chars = new String("1234567890.");
			break;	
	}

	i_Valid = 0;
	for(i=0; i < s_Num.length; i++)
	{
		i_Valid = 3;
		if (b_NotInString)
		{
			if (a_Chars.indexOf(s_Num.charAt(i)) == -1)
				break;
		}
		else
		{
			if (a_Chars.indexOf(s_Num.charAt(i)) != -1)
				break;
		}
		
		i_Valid = 0;
	}
	
	return i_Valid;
}
