function _isMozilla()
{
	return ( navigator.userAgent.toLowerCase().indexOf( 'gecko')!=-1) ? true : false;
}

function k_getkeycode( ev)
{
	return ((ev.keyCode) ? ev.keyCode : ev.charCode);
}

function k_gettarget( ev)
{
	return ((ev.target) ? ev.target : ev.srcElement);
}

function k_preventDefault( ev)
{
	if( ev.preventDefault) ev.preventDefault();
	else ev.returnValue = false;
}

function k_changecode( ev, code)
{
	if( ev.keyCode) {
		ev.keyCode = code;
	} else {
		var target   = k_gettarget( ev);
		var selStart = target.selectionStart;
		target.value = target.value.substr( 0, target.selectionStart) + String.fromCharCode( code) + target.value.substr( ev.target.selectionEnd);
		target.selectionStart = selStart + 1;
		target.selectionEnd   = selStart + 1;
		k_preventDefault( ev);
	}
}

function ev_onkeypress_AZ09( ev)
{
	if( _isMozilla()) {
		if(( ev.keyCode!=0) || ev.ctrlKey) return;
	}

	var evCode = k_getkeycode( ev);

	if(( evCode>=97) && ( evCode<=122)) {
		k_changecode( ev, evCode-32);
	} else if( evCode==39) {
		k_changecode( ev, 32);
	} else if( ! ((( evCode>=65) && ( evCode<=90)) ||
							 	(( evCode>=48) && ( evCode<=57)) || ( evCode==32) || ( evCode==0))) {
		k_preventDefault( ev);
	}
}

