<!--

chr = {};
kbd = {};

chr.toupper = function(kc)
{
	if ((kc >= 90) && (kc <= 122))
		kc = kc - 32;
		
	return (kc);
}

chr.tolower = function(kc)
{
	if ((kc >= 65) && (kc <= 90))
		kc = kc + 32;
		
	return (kc);
}

chr.isalpha = function(kc)
{
	if ((kc < 65) || (kc > 122))
		return (false);
		
	if ((kc > 90) && (kc < 95))
		return (false);
			
	return (true);
}

chr.isdigit = function(kc)
{
	if ((kc < 48) || (kc > 57))
		return (false);
		
	return (true);
}

chr.isalnum = function(kc)
{
	var v = false;
	
	if (this.isalpha(kc))		
		v = true;
	else if (this.isdigit(kc))		
		v = true;
		
	return (v);
}

chr.isspace = function(kc)
{
	if (kc == 32)		
		return (true);
		
	return (false);
}

chr.isslash = function(kc)
{
	if (kc != 47)
		return (false);
		
	return (true);
}

chr.ishyphen = function(kc)
{
	if (kc != 45)
		return (false);
		
	return (true);
}

chr.isapostrophe = function(kc)
{
	if (kc != 39)
		return (false);
		
	return (true);
}

// ---------------------------

kbd.keyup = function(evt, str)
{
	if (!isIE)
		str.value = str.value.toUpperCase();	
}

kbd.numfld = function(kc)
{
	var v = chr.isdigit(kc);
	
	return (v);
}

kbd.alphafld = function(evt, kc, cse)
{
	if (!chr.isalpha(kc))
		return (false);
		
	if (!isIE)
		return (true); // Firefox cannot change the key code
		
	if (cse == 'UPPER')
		evt.keyCode = chr.toupper(kc);
	else if (cse == 'LOWER')
		evt.keyCode = chr.tolower(kc);
			
	return (true);
}

kbd.textentry = function(evt, str, fldtype, cse)
{
	evt = (evt) ? evt : event;

	var keyCode = evt.charCode | evt.keyCode;

//	JS.dbg('keyCode = ' + keyCode);	
	
	switch (keyCode)
	{
		case  8 :
		case  9 :
		case 37 :
		case 39 :
		case 46 :
			return (true);
	}

	var v = App.kbdinput(evt, str, keyCode, fldtype, cse);
	
	if (isIE)
	{
		if (v == false)
			evt.keyCode = 0;
	}
	
	return (v);
}

	
//-->
