var erro = false
var field = document.formulario;
//Testa campos contra entrada de tipos de arquivos invalidos
function validaCaracter(campo,fieldname){
    erro = false
    var caracteresValidos = "abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZÁÉÍÓÚàÀáéíóúÃÕãõÂÊÎÔÛâêîôÇç "
    eval('Ocampo = field.'+campo+'.value')
    for (i = 0; i < Ocampo.length; i++){ 
        var teste = Ocampo.charAt(i);
        if (caracteresValidos.indexOf(teste) == -1){
            alert("Por favor não use caracteres especiais no campo "+fieldname);
            eval('field.'+campo+'.focus();')
            erro = true
        }
        if (erro == true){return false}
    }
}//fim validaCaracter

//Testa campos verificando se existe a string passada
function CharInString(campo,string,errormessage){
    erro = false
    eval('Ocampo = field.'+campo+'.value')
    eval('TestField = /'+string+'/i');//Busca pela extensao do arquivo passada no parametro stringtype case insensitive
    if (TestField.test(Ocampo) == false){//se nao tem gera erro
        erro = true;
        alert(errormessage);
    }
    if (erro == true){return false}
}//fim CharInString


//Testa campos verificando se existe a string passada
function CharNotInString(campo,string,errormessage){
    erro = false
    eval('Ocampo = field.'+campo+'.value')
    eval('TestField = /'+string+'/i');//Busca pela extensao do arquivo passada no parametro stringtype case insensitive
    if (TestField.test(Ocampo) == true){//se tem gera erro
        erro = true;
        alert(errormessage);
    }
    if (erro == true){return false}
}//fim CharNotInString

function checkEmail(campo,errormessage) {
    erro = false
    if (/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(eval('field.'+campo+'.value'))){
        return (true)
    }
    alert('Preencha corretamente o campo \"E-mail\" '+errormessage+' com um endereço de correio eletrônico válido (ex.: seunome@provedor.com.br)')
    erro = true
}

function noCharacter(campo,caracter){//remove caracter invalido caso ele esteja como ultimo na string  
    while(eval('field.'+campo).value.charAt(eval('field.'+campo).value.length-1)==caracter){
        eval('field.'+campo).value=eval('field.'+campo).value.substring(0,eval('field.'+campo).value.length-1);
    }
} 

function clearSpaces(campo){
    eval('Ocampo = field.'+campo+'.value')
    Pattern = /(\s+)/g;//Busca pela por espaços em toda a extensao da string
    Ocampo = Ocampo.replace(Pattern," ")//Troca espaços extras por um so espaco
    eval('field.'+campo+'.value = Ocampo')
}

function validaCheckBox(){//testa se existe um checkbox marcado
   var ok = 0;
   for (i =0; i < field.length; i++){
        if (field.elements[i].type == 'checkbox'){
            if (field.elements[i].checked == true){ok++}
        }
    }   
   if (ok == 0){
       alert("Por favor selecione pelo menos uma opção para alterar");
       return false;
   }
}//end function

function textCounter(campo, countcampo, maxlimit){//conta/mostra caracteres restantes e limita o tamanho do campo
    if (campo.value.length > maxlimit) //se passar do limite nao deixa entrar o caracter
        campo.value = campo.value.substring(0, maxlimit);
        //reduz o valor do campo de contadem
    else 
        countcampo.value = maxlimit - campo.value.length;
}

function removeEnter(campo){
    eval('Ocampo = field.'+campo+'.value')
    Pattern = /[\n\r]/g;//Busca pela por quebras de linhas em toda a extensao da string
    Ocampo = Ocampo.replace(Pattern," ")
    eval('field.'+campo).value = Ocampo//troca valor do campo pelo novo sem quebras de linha
}
