function filter_input_keypress(e,allowed)
{
	var key;
	var keychar;
	var xallowed;
	xallowed = allowed;
	
	if (allowed == "xAlpha")
		xallowed = 'abcdefghijklmnopqurstuvwxyz';
	else if (allowed == "xAlphaNumeric")
		xallowed = 'abcdefghijklmnopqurstuvwxyz0123456789';
	else if (allowed == "xNumeric")
		xallowed = '0123456789';
	else if (allowed == "xDecimal")
		xallowed = '0123456789.';
	else if (allowed == "xEmail")
		xallowed = 'abcdefghijklmnopqurstuvwxyz0123456789.@';
	else if (allowed == "xDate")
		xallowed = '0123456789/';
	
	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	(key==9) || (key==13) || (key==27) )
	return true;
	// alphas and numbers
	else if (((xallowed).indexOf(keychar) > -1))	
		return true;
	else
	return false;
}