function soloCaracteresValidos(email,e, sExc)
{
	var code = 0; 
	if(IE || OPERA) code = event.keyCode; 
	else
	{
		if (e!=null)
			code = e.charCode;

	}
	
	if (code==0) return;

	var caracter = String.fromCharCode(code);
	var plant;
	var eliminar = false;
	
	//sExc: String de caracteres sí permitidos.
	if (sExc)
	{
		plant = new RegExp('[' + sExc + ']');
		if (plant.test(caracter))
		{//si el caracter es uno de los permitidos lo vaciamos para que no se encuentre entre los nos permitidos
			caracter = '';
		}
	}
	
	if (!email)
	{
		plant = new RegExp('[\"\#\$\&\'\/\<\>\x5B\xAA\xAC@\\x5D\u20AC\~\^]');
		eliminar = plant.test(caracter);
	}	
	else
	{
		plant = new RegExp('[\\w@\\.-]');
		eliminar = !plant.test(caracter);
	}
	

	if (eliminar)
	{
		if(IE) event.keyCode = 0;
		else
		{
			e.stopPropagation();
			e.preventDefault();
		}
	}


}

function QuitaCaracteresNoValidos(control, email)
{
	var ctrl = document.getElementById(control);		
	if (ctrl != null)
	{
		var plant;
		if (!email)
			plant = new RegExp('[\"\#\$\&\'\/\<\>\x5B\xAA\xAC@\\x5D\u20AC\~\^]','gi');
		else
			plant = new RegExp('[\"\#\$\&\'\/\<\>\x5B\xAA\xAC\\x5D\u20AC\~\^]','gi');

		ctrl.value = ctrl.value.replace(plant,'');
	}
}

//Evitar inciar el texto con carácteres no válidos
//Añadidos * y - respecto a "soloCaracteresValidos"
function soloCaracteresValidosPrimerCaracter(texto)
{
	var code = 0; 
	if(IE || OPERA) code = event.keyCode; 
	if (code==0) return;

	var caracter = String.fromCharCode(code);
	var plant;
	var eliminar = false;
	if (texto.length==0) //Sólo para el primer caracter
	{
		plant = new RegExp('[\"\#\$\&\'\/\<\>\x5B\xAA\xAC@\\x5D\u20AC\~\^\*\-]');
		eliminar = plant.test(caracter);
	}	
	
	if (eliminar)
	{
		if(IE) event.keyCode = 0;
		else
		{
			e.stopPropagation();
			e.preventDefault();
		}
	}
}

function QuitaCaracteresNoValidosPrimerCaracter(control)
{
	var i;
	var texto = control.value;
	//var plant = new RegExp('[\"\#\$\&\'\/\<\>\x5B\xAA\xAC@\\x5D\u20AC\~\^\*\-\_]');
	var plant = new RegExp('[\"\#\$\&\'\/\<\>\@\~\^\*\-\_]');
	
	var mayusculas = new RegExp('\[A-Z]');
	if (mayusculas.test(texto.charAt(0))) return;
	
	for(i=0; i<texto.length; i++){
		if(!plant.test(texto.charAt(i))){ break; }
		else if(mayusculas.test(texto.charAt(i))){ break; }
	}
	if(i==texto.length){ control.value = ''; }
	else{ control.value = texto.substring(i,texto.length); }
}
