function limpa(str){
 var s1 = "ÁÀÂÄÃáàâäãÉÈËÊéèëêÍÌÏÎíìïîÓÒÖÔÕóòöôõÚÙÜÛúùüûÇçÑñÝý?ÿºª";
 var s2 = "AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNnYyYyoa";
 var Pos = 0;
	 
 sFinal = str;
 vStr = str;
	 
 for(var i = 0; i< vStr.length; i++){
  // pega letra a letra e procura no string acentuado
  Pos = s1.indexOf(vStr.charAt(i));
  // no caso de ser um carater acentuado, troca ele pelo seu equivalente não acentuado
   if(Pos != -1){
	 str1 = sFinal.substring(0, i);
     str2 = s2.substring(Pos, Pos + 1);
     str3 = sFinal.substring(i + 1, sFinal.length);
     sFinal = str1.concat(str2);
	 sFinal = sFinal.concat(str3);
   }
 }
 return sFinal;
}

function CaracteresValidos(CharsValidos,objeto,msg){
// Retorna TRUE se o string str for composto somente
// por caracteres contidos no string CharsValidos.
// Chamada CaracteresValidos('0123456789/',this)
var fc_i;
var fc_char1;
var flag;
var fc_a=objeto.value.length - 1;
for (fc_i=0; fc_i<=fc_a; fc_i++) {
  fc_char1 = objeto.value.substring(fc_i, fc_i+1)
	flag=CharsValidos.indexOf(fc_char1)
		if (flag==-1){
			objeto.value='';
			alert(msg);
			objeto.focus();
			return(false);
	}
}
return(true);
}

