// Name: GBPatil
// Date: 14 OCT 2009
// Desc: Common Javascript Functions For Website

//================================================================================================================
// Function to validate Characters in Input Element 
function fncValidateCharacters(e, strValidationType)
{
	var keynum;
	var keychar;
	var strValidCharacters;

	if (strValidationType == "Email")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._- "
	}
	else if (strValidationType == "Characters")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
	}
	else if (strValidationType == "Numeric")
	{
		strValidCharacters = "0123456789"
	}
	else if (strValidationType == "Userid")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._ "
		keynumber = e.which;
		keycharacter = String.fromCharCode(keynumber);

		// Below Code is written to alert user that he is exceeding character limit
		var txtUserID;
		if (window.event)
		{
			if (keynumber != 8)
			{
				txtUserID = e.srcElement.value;
			}
		}
		else if (e.which)
		{
			
			// Below code is used to allow backspace key when user already filled in limit characters
			// as Firefox doesnt allow backspace key (for IE not needed!)
			if(strValidCharacters.indexOf(keycharacter) != -1 && keynumber != 8 )
			{
				txtUserID = e.target.value;	
			}
			else
			{
				txtUserID = "";
			}
		}
		else
		{
			txtUserID = "";
		}

		if (txtUserID.length == 10 && txtUserID != "")
		{
			alert("User ID should not be greater than 10 Characters!");
			return false;
		}
		// End Character Limit Alert Code
	}
	else if (strValidationType == "password")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._@!#$%^&*-+=,/\?;: ";
		keynumber = e.which;
		keycharacter = String.fromCharCode(keynumber);
		
		// Below Code is written to alert user that he is exceeding character limit
		var txtPassword;
		if (window.event)
		{
			if (keynumber != 8)
			{
				txtPassword = e.srcElement.value;
			}
		}
		else if (e.which)
		{
			
			// Below code is used to allow backspace key when user already filled in limit characters
			// as Firefox doesnt allow backspace key (for IE not needed!)
			if(strValidCharacters.indexOf(keycharacter) != -1 && keynumber != 8 )
			{
				txtPassword = e.target.value;	
			}
			else
			{
				txtPassword = "";
			}
		}
		else
		{
			txtPassword = "";
		}
		
		
		if (txtPassword.length == 8)
		{
			alert("Password should not be greater than 8 Characters!");
			return false;
		}
		
	}
	else if (strValidationType == "alphanumeric")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 "
	}
	else if (strValidationType == "idnumbers")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789(),@_.- "
	}
	else if (strValidationType == "MsgBoard")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_?!&.,;-:$'`/()@^~\\%#+| "
	}
	else if (strValidationType == "address")
	{
		strValidCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_?!&.,;-:$'`/()@^~\\%#+| "
	}

	if(window.event)	// IE
	{
		keynum = e.keyCode;
	}
	else if(e.which)	// Netscape/Firefox/Opera
	{	
		keynum = e.which;
		if(keynum == 8 || keynum == 9 || keynum == 13)	// 8 = backspace, 13 = enterkey, space = 32 For Tabs, enter keys.
		{
			return true;
		}
	}
	else
	{	
		return true; // returning true as not event match found with the browser. userful for enter, tab & other keys
	}

	
	if(keynum == 8 || keynum == 9 || keynum == 13)	// For Tabs, enter keys.
	{
		return true;
	}
	
	keychar = String.fromCharCode(keynum);

	if(strValidCharacters.indexOf(keychar) != -1)
	{
		return keychar;
	}
	else
	{
		alert("Character ` " + keychar + " ´ is invalid!\nPlease enter valid characters only!");
		return false;
	}
}
//================================================================================================================
//================================================================================================================
// Function to validate Input Field with Special Characters or Invalid Characters
function fncValidateSplCharacters(e)
{		
	var strInvalidCharacters = "#<>%=][{}+*"

	if(window.event) // IE
	{	
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	else
	{	
		return true; // for those keys not tracked by browser events such as tab, enter.
	}
	
	keychar = String.fromCharCode(keynum);

	if (strInvalidCharacters.indexOf(keychar) != -1)
	{
		alert("This field can't contain invalid characters like: #, < , > , % , ] , [ , { , } , + , * , = ");
		return false;	
	}
	return true;
}

//===================================================================================================================
//===============================================================================
// Function to validate Numeric Fields
function ValidateNumeric(e)
{
	var keynum;
	var keychar;
	var Validstr="0123456789"
	if(window.event) // IE
	  {	
		  keynum = e.keyCode;
	  }
	else if(e.which) // Netscape/Firefox/Opera
	  {
		  keynum = e.which;
		  if(keynum=9)
		  {
		  	return keynum
		  }		  
	  }
	keychar = String.fromCharCode(keynum);
	if(Validstr.indexOf(keychar) != -1)
	{
		return keychar
	}
	return false
}
//===============================================================================
// Function to Trim the string
function trim(str) 
{
	return str.replace(/^\s+|\s+$/g,"");
}

//===============================================================================
// Function to Trim the string

function refreshParent() 
{
	window.opener.location.reload();
	if (window.opener.progressWindow)
	{
		window.opener.progressWindow.close();
	}
	window.close();
}
