function FiltraCampo(codigo) {
    var s = "";

	tam = codigo.length;
	for (i = 0; i < tam ; i++) {  
		if (codigo.substring(i,i + 1) == "0" || 
             codigo.substring(i,i + 1) == "1" ||
             codigo.substring(i,i + 1) == "2" ||
             codigo.substring(i,i + 1) == "3" ||
             codigo.substring(i,i + 1) == "4" ||
             codigo.substring(i,i + 1) == "5" ||
             codigo.substring(i,i + 1) == "6" ||
             codigo.substring(i,i + 1) == "7" ||
             codigo.substring(i,i + 1) == "8" ||
             codigo.substring(i,i + 1) == "9"  )
		 	s = s + codigo.substring(i,i + 1);
	}
	return s;
}

function FormataLi(e) {
    var r = "";

    s = FiltraCampo(e.value);
    tam =  s.length;
    
    r = s.substring(0,2) + "/" + s.substring(2,9) + "-" + s.substring(9,10);
	e.value = r;
    return r;
}

function DvCnpjOk(e) {
    var dv = false;

    controle = "";
    s = FiltraCampo(e.value);
    tam = s.length
    if ( tam  == 14 ) {
        dv_cnpj = s.substring(tam-2,tam);
        for ( i = 0; i < 2; i++ ) {
            soma = 0;
            for ( j = 0; j < 12; j++ ) 
                soma += s.substring(j,j+1)*((11+i-j)%8+2);
            if ( i == 1 ) soma += digito * 2;
            digito = 11 - soma  % 11;
            if ( digito > 9 ) digito = 0;
            controle += digito;
        }
        if ( controle == dv_cnpj )
            dv = true;
     }
     if ( ! dv && tam > 0) {
         mensagem = "           Erro de digitação:\n";
         mensagem+= "          ===============\n\n";
         mensagem+= " O CNPJ: " + e.value + " não existe!!\n";
         alert(mensagem);
     }
     return dv;
}

function FormataCnpj(e) {
    var s = "";
    var r = "";
    
    s = FiltraCampo(e.value);
    tam =  s.length;
    r = s.substring(0,2) + "." + s.substring(2,5) + "." + s.substring(5,8) 
    r += "/" + s.substring(8,12) + "-" + s.substring(12,14);
    if ( tam < 3 ) 
        s = r.substring(0,tam);
    else if ( tam < 6 ) 
        s = r.substring(0,tam+1);
    else if ( tam < 9 ) 
        s = r.substring(0,tam+2);
    else if ( tam < 13 ) 
        s = r.substring(0,tam+3);
    else 
        s = r.substring(0,tam+4);
    e.value = s;
    return s;
}

function DvCpfOk(e) {
    var dv = false;

    controle = "";
    s = FiltraCampo(e.value);
    tam = s.length;
    if ( tam == 11 ) {
        dv_cpf = s.substring(tam-2,tam);
        for ( i = 0; i < 2; i++ ) {
            soma = 0;
            for ( j = 0; j < 9; j++ )
                soma += s.substring(j,j+1)*(10+i-j);
            if ( i == 1 ) soma += digito * 2;
            digito = (soma * 10) % 11;
            if ( digito == 10 ) digito = 0;
            controle += digito;
        }
        if ( controle == dv_cpf )
            dv = true;
    }
     if ( ! dv && tam > 0) {
         mensagem = "           Erro de digitação:\n";
         mensagem+= "          ===============\n\n";
         mensagem+= " O CPF: " + e.value + " não existe!!\n";
         alert(mensagem);
     }
    return dv;
}

function FormataCpf(e) {
    var s = "";
    
    s = FiltraCampo(e.value);
    tam =  s.length;
    r = s.substring(0,3) + "." + s.substring(3,6) + "." + s.substring(6,9) 
    r += "-" + s.substring(9,11);
    if ( tam < 4 ) 
        s = r.substring(0,tam);
    else if ( tam < 7 ) 
        s = r.substring(0,tam+1);
    else if ( tam < 10 ) 
        s = r.substring(0,tam+2);
    else  
        s = r.substring(0,tam+3);
    e.value = s;
    return s;
}

function DataOk(e) {
    var dv = false;

    s = FiltraCampo(e.value);
    tam = s.length
    if ( tam == 8 ) {
        dia = parseInt(s.substring(0,2),10);
        mes = parseInt(s.substring(2,4),10);
        ano = parseInt(s.substring(4,8),10);
        if ( dia > 0 && dia < 32 &&
             mes > 0 && mes < 13 &&
             ano > 1900 && ano < 2100 ) dv=true;
    }
    if ( ! dv && tam > 0 ) {
         mensagem = "           Erro de digitação:\n";
         mensagem+= "          ===============\n\n";
         mensagem+= " A data tem a seguinte formatação: DD/MM/AAAA!!\n";
         mensagem+= "        onde DD é Dia do mês,\n";
         mensagem+= "             MM é o número do mês,e \n";
         mensagem+= "             AAAA é o Ano com 4 dígitos.\n\n";
         mensagem+= " Exemplo: 15/04/2001\n";
	alert(mensagem);
    }
    return dv;
}

function FormataData(e) {
    var s = "";
    
    s = FiltraCampo(e.value);
    tam =  s.length;

    r = s.substring(0,2) + "/" + s.substring(2,4) + "/";
    r+= s.substring(4,8);
    if ( tam < 3 ) 
        s = r.substring(0,tam);
    else if ( tam < 5 ) 
        s = r.substring(0,tam+1);
    else  
        s = r.substring(0,tam+2);
    e.value = s;
    return s;
}
 
function CepOk(e) {
    var dv = false;

    s = FiltraCampo(e.value);
    tam = s.length
    if ( tam == 8 ) {
        dv=true;
    }
    if ( ! dv && tam > 0 ) {
        mensagem = "           Erro de digitação:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= " O Cep: " + e.value + " não existe!!\n\n\n";
	mensagem+= " Use o seguinte formato: ddddd-ddd\n\n";
        mensagem+= " Exemplo: 70800-200\n";
        alert(mensagem);
    }
    return dv;
}
function FormataCep(e) {
    var s = "";
    
    s = FiltraCampo(e.value);
    tam =  s.length;

    r = s.substring(0,5) + "-" + s.substring(5,8);
    if ( tam < 6 ) 
        s = r.substring(0,tam);
    else  
        s = r.substring(0,tam+1);
    e.value = s;
    return s;
}
 
function FormataFoneFax(e) {
    var s = "";
    var res = "";

    s = FiltraCampo(e.value);
    while ( s.substring(0,1) == "0" ) {
        s1 = s.substring(1,s.length);
        s = s1;
    }
    if ( s.length == 14 || s.length == 12 )
        s = s.substring(s.length-10,s.length);
    if ( s.length == 13 || s.length == 11 )
        s = s.substring(s.length-9,s.length);

    res = s.substring(s.length-4,s.length);
    if ( s.length > 4  && s.length < 9 )
        res = s.substring(0,s.length-4)+"-"+res;
    if ( s.length > 8  )
        res = "(0XX" + s.substring(0,2) + ") " +
                   s.substring(2,s.length-4) + "-" + res;
    e.value = res;
    return res;
}

function FormataCpfCnpj(e) {
    var s = "";
    s = FiltraCampo(e.value);
    if ( s.length == 11 ) {
        DvCpfOk(e);
        s=FormataCpf(e);
    }
    else if ( s.length == 14 ) {
        DvCnpjOk(e);
        s=FormataCnpj(e);
    }
    else {
         mensagem = "           Erro de digita\347\343o:\n";
         mensagem+= "          ===============\n\n";
         mensagem+= " O CNPJ ou CPF: " + e.value + " n\343o existe!!\n";
         alert(mensagem);
     }
    return s;
}

function FormataCpfCnpjCadastro(e) {
    var s = "";
    s = FiltraCampo(e.value);
    if ( s.length == 11 ) {
        DvCpfOk(e);
        s=FormataCpf(e);
    }
    else if ( s.length == 14 ) {
        DvCnpjOk(e);
        s=FormataCnpj(e);
    }
    return s;
}

function IntOk(e,min,max) {
    var v = parseInt(e.value,10);
    var v2 = parseFloat(e.value);
    if ( ( v < min || v > max ) && e.value.length > 0 ) {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não é um valor entre ";
        mensagem+= min + " e " + max + "!!\n";
        alert(mensagem);
        return false;
    }
    if ( v != v2 ) {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não é é um número inteiro!!\n ";
        alert(mensagem);
        return false;
    }
    if ( e.value.length > 0 && v >= min && v <= max && v == v2 ) {
        e.value = parseInt(e.value,10);
	return true;
    }
    else {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não é é um número!!\n ";
        alert(mensagem);
        return false;
    }
    e.value = parseInt(e.value,10);
}

function FloatOk(e,min,max) {
    var v = parseFloat(e.value);
    if ( ( v < min || v > max ) && e.value.length > 0 ) {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não é um valor entre ";
        mensagem+= min + " e " + max + "!!\n";
        alert(mensagem);
        return false;
    }
    if ( e.value.length > 0 && v >= min && v <= max  ) { 
    	e.value = parseFloat(e.value);
	return true;
    }
    else {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não é é um número!!\n ";
        alert(mensagem);
        return false;
    }
}

function PreencherOk(e,min) {
    var j=0;
    for (var i=0; i<e.value.length; i++) {
        var c=e.value.charAt(i);
        if ((c!=' ') && (c != '\n') && (c != '\t')) j++;
    }
    if ( j < min ) {
        mensagem = "           Erro de digita\347\343o:\n";
        mensagem+= "          ===============\n\n";
        mensagem+= e.value + " não contém o número mínimo de  ";
        mensagem+= "carateres!!\n";
        alert(mensagem);
        return false;
    }
    else return true;
}

function VerificarForm(f) {
    for (var i=0; i<f.length; i++) {
        var e = f.elements[i];
        var sbmt = true;
        if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
            if ((e.value == null) || (e.value == "") || ( !PreencherOk(e,1))) {
                sbmt = false;
            }
        }
        if ((e.type == "select-one")  && !e.optional 
               && e.selectedIndex == 0 ) {
            sbmt = false;
        }
    }
    alert("Type: " + e.type);
    if ( ! sbmt ) {
        mensagem = "           Falta preencher dados\n";
        mensagem+= "          ===============\n\n";
        mensagem+= "Este formulário tem campos obrigatórios que";
        mensagem+= " não foram preenchidos!!\n";
        alert(mensagem);
        return false;
    }
    else return true;
}

/*** 
 * Descrição.: Permite que o usuário digite apenas números para o campo.
 * Uso.......: <input type="textbox" name="xxx" onkeypress="return soNumero();"> 
 ***/
function soNumero() { 
  // if((event.keyCode < 48 && event.keyCode != 46) || (event.keyCode > 57)) { 
  if((event.keyCode < 48) || (event.keyCode > 57)) { 
     event.returnValue = false; 
  } 
}

/*** 
* Descrição.: formata um campo do formulário de 
* acordo com a máscara informada... 
* Parâmetros: - objForm (o Objeto Form) 
* - strField (string contendo o nome 
* do textbox) 
* - sMask (mascara que define o 
* formato que o dado será apresentado, 
* usando o algarismo "9" para 
* definir números e o símbolo "!" para 
* qualquer caracter... 
* - evtKeyPress (evento) 
* Uso.......: <input type="textbox" 
* name="xxx"..... 
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> 
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* E por aí vai... 
***/

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; 
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}

	sValue = objForm[strField].value;

	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;

	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;

	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; 
		} else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}

		i++;
	}

	objForm[strField].value = sCod;

	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); // números de 0 a 9
		} else { // qualquer caracter...
			return true;
		} 
	} else {
		return true;
	}
}

/*
 * fld    - Objeto com o valor.
 * milSep - Separador de milhar.
 * decSep - Separador de decimal.
 * e      - Evento.
 *
 * <form>
 *     Defina o Valor em Reais : 
 *     <input type=text name=test length=15 onKeyPress="return(currencyFormat(this,',','.',event))"> 
 * </form> 
 */

function currencyFormat(fld, milSep, decSep, e) { 
	var sep = 0; 
	var key = ''; 
	var i = j = 0; 
	var len = len2 = 0; 
	var strCheck = '0123456789'; 
	var aux = aux2 = ''; 
	var whichCode = (window.Event) ? e.which : e.keyCode; 
	
	var ie = ( document .all) ? true : false
	
	if (whichCode == 13) return true; // Enter 

	if (!ie) {
		if (whichCode == 8) return true; // Backspace
		if (whichCode == 0) return true; // Delete
	}
	
	key = String.fromCharCode(whichCode); // Get key value from key code 

	if (strCheck.indexOf(key) == -1) return false; // Not a valid key 
	
	len = fld.value.length; 
	
	for(i = 0; i < len; i++) 
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break; 
		
	aux = ''; 
	for(; i < len; i++) 
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); 
		
	aux += key; 
	len = aux.length; 
	if (len == 0) fld.value = ''; 
	if (len == 1) fld.value = '0'+ decSep + '0' + aux; 
	if (len == 2) fld.value = '0'+ decSep + aux; 
	if (len > 2) { 
		aux2 = ''; 
		for (j = 0, i = len - 3; i >= 0; i--) { 
			if (j == 3) { 
				aux2 += milSep; 
				j = 0; 
			} 
			aux2 += aux.charAt(i); 
			j++; 
		} 
		fld.value = ''; 
		len2 = aux2.length; 
		for (i = len2 - 1; i >= 0; i--) 
			fld.value += aux2.charAt(i); 
		fld.value += decSep + aux.substr(len - 2, len); 
	} 
	return false; 
} 

function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=250,height=350,left = 80,top = 60');");
}

function validatamanho(field, nr) {
 if (field.value.length <= nr) {
   alert('Você deve digitar mais que ' + nr + ' caracteres para fazer a busca.');
   field.focus();
   return false;
 }
}

function ClientWindow() {
window.open("","clientwindow","toolbar=no,scrollbars=no,directories=no, status=no,menubar=no,resizable=no,width=200,height=300")
}

function validate_radio()
    {
        var f =  document.forms['enquete'];
          var isChecked =  false;
          with (f)
          {
            for (i=0; i<elements.length; i++)
            {
              if (elements[i].type == "radio" && elements[i].checked)
              {
                 isChecked =  true;
                 break;
              }//end if

            }//end for
          }//end with

     if (isChecked) return true
    else{
// [!!!] removed { here
     alert("Selecione uma opção se quiser votar.");
     return false;
     }
  }//end validate_button

function borderit(which,color){
//if IE 4+ or NS 6+
if (document.all||document.getElementById){
which.style.borderColor=color
}
}