var isInternetExplorer = (navigator.appName.indexOf("Microsoft") != -1);


function ContarTexto(field, counter_field, maxlimit) {
	var lineBreaks = ContarQuebraLinha(field);
	var adjust = isInternetExplorer ? 1 : 0;
	if (field.value.length - lineBreaks * adjust > maxlimit){
		field.value = field.value.substring(0, maxlimit + lineBreaks * adjust);
		field.focus();
	} else {
		counter_field.value = maxlimit - field.value.length + lineBreaks * adjust;
	}
}



function ContarQuebraLinha(obj){
	var iLength = obj.value.length;
	var strLineBreaks = obj.value.match(new RegExp("(\\n)", "g"));
	var ContarQuebraLinha = strLineBreaks ? strLineBreaks.length : 0;
	return ContarQuebraLinha;
}


function ContarEspacos(obj){
	var iLength = obj.value.length;
	var strSpaces = obj.value.match(new RegExp("( )", "g"));
	var ContarEspacos = strSpaces ? strSpaces.length : 0;
        
	return ContarEspacos;
}

function showText(text) {
	return unescape(text);
}


function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

function upperCase(x) {
   var y=document.getElementById(x).value;
   document.getElementById(x).value=y.toUpperCase();
}

function VerificaEmail(mail){
  var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

  if(er.test(mail)) {
	return true;
  } else {
   	return false;
  }

}

function formatar(mascara, documento){
  var i = documento.value.length;
  var saida = mascara.substring(0,1);
  var texto = mascara.substring(i)

  if (texto.substring(0,1) != saida){
	documento.value += texto.substring(0,1);
  }

}

function abre(url, largura, altura) {
   open(url,'Janela','width='+largura+',height='+altura+',toolbar=no,scrollbars=yes,status=no');
}

function Confirmar(texto) {
  return confirm(texto);
}

function MascaraMoeda(z){
        v = z.value;
        v=v.replace(/\D/g,"")  //permite digitar apenas números
        v=v.replace(/[0-9]{12}/,"inválido")   //limita pra máximo 999.999.999,99
        v=v.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
        v=v.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
        v=v.replace(/(\d{1})(\d{1,2})$/,"$1,$2")        //coloca virgula antes dos últimos 2 digitos
        z.value = v;
}

function VerificaIntervalo(campo, minValor, maxValor) {
    valor = campo.value;

    if (valor < minValor)
    {
            alert ("Por favor digite um número maior ou igual a " + minValor);
            campo.select();
            campo.focus();
            return false;
    }

    if (valor > maxValor)
    {
            alert ("Por favor digite um número menor ou igual a " + maxValor);
            campo.select();
            campo.focus();
            return false;
    }
    return true;
}

function Mascara(e,src,mask) {
    if(window.event) { _TXT = e.keyCode; }
    else if(e.which) { _TXT = e.which; }
    if(_TXT > 47 && _TXT < 58) {
    var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
    if (texto.substring(0,1) != saida) { src.value += texto.substring(0,1); }
    return true; } else { if (_TXT != 8) { return false; }
      else { return true; }
    }
}

function VerificaCpf(Objcpf){
    var cpf = Objcpf.value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" );
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;

    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);

    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado) {
      return false;
    } else {
      return true;
    }

}

function MostraResposta(id) {
    var R  = document.getElementById('R-'+id);
    var DF = document.getElementById('DF-'+id);

    if (R.style.display == 'none') {
       R.style.display = '';
       DF.innerHTML = '[-] ';
    } else {
       R.style.display = 'none';
       DF.innerHTML = '[+]';
    }
}