bc_ValidarCaracter = function (evt, re) {
	try {
		evt = evt ? evt : window.event;
		t = typeof(evt.which) != 'undefined' ? evt.which : evt.keyCode;
		
		if (!re || t == 8 || t == 0) 
			return true;

		// Intentar limpiar el texto seleccionado
		textbox = evt.target ?  evt.target : evt.srcElement;
		if (document.selection && document.selection.createRange().text != '')
				document.selection.clear();
		else if ((textbox.selectionEnd - textbox.selectionStart) == textbox.value.length)
			textbox.value = '';
	
		evt.returnValue = new RegExp(re).test(String.fromCharCode(t));		
		if ( !evt.returnValue && typeof(evt.preventDefault) == 'function')
			evt.preventDefault();
		return evt.returnValue;
    }	
    catch (e) {}
}

bc_LimpiarValor = function (textbox, re) {
	try {
		re = new RegExp(re)
		if (!re.test(textbox.value))
			textbox.value = "";
	}
	catch (e) {}
}