// ajeitarString.js
function ajeitarString(campo) {
    var texto = campo.value + ""; // armazena o texto original
    campo.value = ajeitarPalavraString(texto);
}

function ajeitarPalavraString(texto) {

    var novoTexto = "";  // armazena o novo texto
    var caracter;        // o caracter a ser processado
    var posicaoCaracter; // a posicao do caracter

    var modificaveis; // lista dos caracteres substituiveis
    var equivalentes; // lista de caracteres equivalentes
    var indesejaveis; // lista de caracteres indesejaveis

    modificaveis = "ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ"
    equivalentes = "AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn";

    // ~  {  }  ¿  ^  (  )  &  %  $  [  ] @ ¦  `  |  \  ?  _  ¦  ¬  º  #  !  "  ' < >
    indesejaveis = "+_*/"
                   + unescape("%7E%7B%7D%A8%5E%28%29%26%25%24%5B%5D@%B4%60%7C%5C%3F%B0%BA%AA%A7%23%21%22%27%3C%3E");

    if (texto == "") // validar
        novoTexto = "";

    for (var j = 0; j < texto.length; j++) {
        caracter = texto.charAt(j);

        if (indesejaveis.indexOf(caracter) != -1) // testar se eh indesejavel
            continue;                             // se eh, entao continuar

        posicaoCaracter = modificaveis.indexOf(caracter); // se nao, verificar se eh um
                                                          // caracter substituivel
        if (posicaoCaracter != -1)
            caracter = equivalentes.charAt(posicaoCaracter); // caso sim, substitui-lo
                                                             // pelo equivalente
        novoTexto = novoTexto + caracter; // finalmente, acrescenta-lo no novo texto
    }

    return novoTexto; // Atualizar o valor do campo
}

// removerCaracteresEspeciais.js
function removerCaracteresEspeciais(campo) {
    var texto = campo.value;
    campo.value = removerCaracteresEspeciaisPalavra(texto);
}

function removerCaracteresEspeciaisPalavra(texto) {
    var novoTexto = ""; // armazena o novo texto
    var caracter;       // o caracter a ser processado

    var indesejaveis;   // lista de caracteres idesejaveis

    // ~  {  }  ¿  ^  (  )  &  %  $  [  ] @ ¦  `  |  \  ?  _  ¦  ¬  º  #  !  "  ' < >
    indesejaveis = "+_*/"
                   + unescape("%7E%7B%7D%A8%5E%28%29%26%25%24%5B%5D@%B4%60%7C%5C%3F%B0%BA%AA%A7%23%21%22%27%3C%3E");

    if (texto == "") // validar
        return "";

    for (var j = 0; j < texto.length; j++) {
        caracter = texto.charAt(j);
        if (indesejaveis.indexOf(caracter) != -1) // testar se eh indesejavel
            continue;                             // se eh, entao continuar
        novoTexto = novoTexto + caracter; // finalmente, acrescenta-lo no novo texto
    }
    return novoTexto;
}

function retirarPontos(campo){
	var s = "";
	var cp = "";
	vr = campo.value;
	tam = vr.length;
	for (i = 0; i < tam ; i++) {
		if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "."){
		 	s = s + vr.substring(i,i + 1);}
	}
	campo.value = s;
	return cp = campo.value
}

function removerHifens(campo) {
    var texto = campo.value;
    campo.value = removerHifensPalavra(texto);
}

function removerHifensPalavra(texto) {
    var novoTexto = "";  // armazena o novo texto
    var caracter;        // o caracter a ser processado
    var indesejaveis; // lista de caracteres indesejaveis

    // (-)
    indesejaveis = unescape("%2D");

    if (texto == "") // validar
        return "";

    for (var j = 0; j < texto.length; j++) {
        caracter = texto.charAt(j);
        if (indesejaveis.indexOf( caracter ) != -1) // testar se eh indesejavel
            continue;                               // se eh, entao continuar
        novoTexto = novoTexto + caracter; // finalmente, acrescenta-lo no novo texto
    }
    return novoTexto;
}

// removerEspacosMeio.js
function removerEspacosMeio(campo) {
    var valor = campo.valor;
    var tamanho = campo.value.length;

     for (i = 0; i < tamanho; i++) {
    	if (campo.value.charAt(i) == "%20") {
    	    if (i == 0) {
    		valor = valor.substring(1,tamanho);
    	    } else {
    		valor = valor.substring(0,i-1) + valor.substring(i+1,tamanho);
	    }
    	}
    }
}


// removerAspas.js
function removerAspas(campo) {
    var texto = campo.value;
    campo.value = removerAspasPalavra(texto);
}
function removerAspasPalavra(texto) {
    var novoTexto = "";  // armazena o novo texto
    var caracter;        // o caracter a ser processado
    var indesejaveis; // lista de caracteres indesejaveis
    indesejaveis = unescape("%22%27"); //("')
    if (texto == "") // validar
        return "";
    for (var j = 0; j < texto.length; j++) {
        caracter = texto.charAt(j);
        if (indesejaveis.indexOf(caracter) != -1) // testar se eh indesejavel
            continue;                             // se eh, entao continuar
        novoTexto = novoTexto + caracter; // finalmente, acrescenta-lo no novo texto
    }
    return novoTexto;
}

function removerEspacosFinais(texto) {
    tamanhoTexto = texto.length;
    for (i = tamanhoTexto-1; i >= 0; i--) {
        if (texto.charAt(i) == ' ') {
            texto = texto.substring(0,i);
        } else {
            break;
        }
    }
    return texto;
}

function trocaCaracter( rString, original, novo ) {
    var novaString = "";
    var c;
    for( var i = 0; i < rString.length; i++ ) {
        c = rString.charAt( i );
        if( c == original )
            c = novo;
        novaString = novaString + c;
    }
    return novaString;
}