function validarHora(hora){
   if (hora.value!=''){
	padrao = /([01]\d|2[0-3]):[0-5]\d/ 
    OK = padrao.exec(hora.value)
	
    if(!OK){
    	alert("hora errada!")
    	hora.focus()
    	return false;
    }
   }
   	return true;
}

function janela(url,atributos) { 
    window.open(url,'cat',atributos);
}
function testa_cpf(campo_cpf){
    var campo = campo_cpf.value;
    var digito = campo.toString();
    if (campo_cpf.value == '000.000.000-00')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '111.111.111-11')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '222.222.222-22')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '333.333.333-33')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '444.444.444-44')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '555.555.555-55')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '666.666.666-66')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '777.777.777-777')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '888.888.888-88')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
    if (campo_cpf.value == '999.999.999-99')
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }	
	
    // DIGITO 1
    var soma1 = 0
    soma1 = soma1 + 10 * digito.charAt(0);
    soma1 = soma1 +  9 * digito.charAt(1);
    soma1 = soma1 +  8 * digito.charAt(2);
    soma1 = soma1 +  7 * digito.charAt(4);
    soma1 = soma1 +  6 * digito.charAt(5);
    soma1 = soma1 +  5 * digito.charAt(6);
    soma1 = soma1 +  4 * digito.charAt(8);
    soma1 = soma1 +  3 * digito.charAt(9);
    soma1 = soma1 +  2 * digito.charAt(10);
   
    var divisao1    = soma1 / 11
   
    var multiplica1 = parseInt(divisao1,10) * 11
   
    var resto1      = soma1 - multiplica1
   
    if (resto1 <= 1) 
    {
    var digi1 = 0
    } 
    else 
    {
    var digi1 = 11 - resto1
    }
 
    // DIGITO 2
    var soma2 = 0
    soma2 = soma2 + 11 * digito.charAt(0);
    soma2 = soma2 + 10 * digito.charAt(1);
    soma2 = soma2 +  9 * digito.charAt(2);
    soma2 = soma2 +  8 * digito.charAt(4);
    soma2 = soma2 +  7 * digito.charAt(5);
    soma2 = soma2 +  6 * digito.charAt(6);
    soma2 = soma2 +  5 * digito.charAt(8);
    soma2 = soma2 +  4 * digito.charAt(9);
    soma2 = soma2 +  3 * digito.charAt(10);
    soma2 = soma2 +  2 * digi1       
    var divisao2    = soma2 / 11
    var multiplica2 = parseInt(divisao2,10) * 11
    var resto2      = soma2 - multiplica2
    if (resto2 <= 1) 
    {
    var digi2 = 0
    } 
    else 
    {
    var digi2 = 11 - resto2
    }
   
    if (digito.charAt(12) == digi1.toString() & digito.charAt(13) == digi2.toString()) 
    {
    return(true)
    } 
    else 
    {
    alert("CPF inválido.");
    campo_cpf.focus();
    return(false)
    }
}

function DigitaCPF(campo) {
    var CPF = new String(campo.value);
    var wCPF = '';
    var cont = 0;
	
    for (i=0; i< CPF.length ; i++) {
    if (i <= 2) {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += CPF.charAt(i);
    }
    else
    {
    cont++;
    }
    }
	  
    if (i == 3) {	  
    if ( CPF.charAt(i) == '.' )	{
    wCPF += CPF.charAt(i);
    }	  
    else {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += '.';
    wCPF += CPF.charAt(i);
    cont ++;
    }
    else {
    wCPF += '.';			  
    cont ++;
    }
    }
    }
    if (i > 3 && i <= 6) {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += CPF.charAt(i);
    }
    else
    {
    cont++;
    }
    }	  
	  
    if (i == 7) {	  
    if ( CPF.charAt(i) == '.' )	{
    wCPF += CPF.charAt(i);
    }	  
    else {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += '.';
    wCPF += CPF.charAt(i);
    cont++;
    }
    else {
    wCPF += '.';
    cont++;
    }
    }
    }
    if (i > 7 && i <= 10) {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += CPF.charAt(i);
    }
    else
    {
    cont++;
    }
    }
	  
    if (i == 11) {	  
    if ( CPF.charAt(i) == '-' )	{
    wCPF += CPF.charAt(i);
    }	  
    else {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += '-';
    wCPF += CPF.charAt(i);
    cont++;
    }
    else {
    wCPF += '-';
    cont++;
    }
    }
    }
	  
    if (i > 11) {
    if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
    wCPF += CPF.charAt(i);
    }
    else
    {
    cont++;
    }
    }
	  
    }
	
    if ( cont > 0 )
    {
    // Atualiza o campo 
    campo.value = wCPF;
    }
}	
    
function Valida_Formulario(Funcao){
	if (Funcao == "Excluir" && confirm ("Confirma a Exclusão?") == false)
	{
		return false;
	}
	else
	{
		return true;
	}       
        
}
function UpperCase(Texto) {
  var Text = new String(Texto.value) ;
  Text=Text.toUpperCase();
  Texto.value=Text;
}

function ValidarExtensaoArquivo()
	{
                if (form1.arqtxt.value == '')
		{
			alert('Informe o Arquivo txt');
			form1.arqtxt.focus();
			return false;
		}
	
		var i, Extensao, Pesquisa;

		Pesquisa = false;
		Extensao = form1.arqtxt.value + ' ';
		Extensao = Extensao.toLowerCase();
                          
                
		
		if (Extensao.indexOf('.' + form1.Extensao.value + ' ') != -1)
                {
                    Pesquisa = true;                    
		}
		
		if (Pesquisa == false)
		{
			alert("Tipo de Arquivo nao permitido.");
			return false;
		}
                
                
		form1.submit();
		return true;
	}
function SenhasIguais(){   
   var novasenha = document.form1.nsenha.value;
   var confirmasenha = document.form1.strSenha.value;   
   if (novasenha=="") { alert ("Digite a nova senha!"); document.form1.nsenha.focus(); return false;}
   if (confirmasenha==""){ alert ("Confirme a senha!"); document.form1.strSenha.focus(); return false;}   
   if (novasenha==confirmasenha){
     return true;
   }
   else{
     alert ("As senhas são diferentes! Digite novamente!");
     document.form1.nsenha.focus();
     return false;
   }   
}
function ValidaLogin(){
  var strcpf = document.form1.cpf.value;
  var password = document.form1.senha.value;
  if (strcpf=="") {
      alert ("Informe o CPF "); 
      document.form1.cpf.focus(); 
      return false;
  }
  if (password=="") {
    alert ("Informe a Senha"); 
    document.form1.senha.focus(); 
    return false;
  }
  return true;
}
function setMask(src, mask) { 
 var i = src.value.length;  
 var saida = mask.charAt(0); 
 var texto = mask.charAt(i); 
    
    if (texto.charAt(0) != saida) {         
         src.value += texto.charAt(0);    
        
    }   
   
}
function validaCNPJ(cnpj) {
		var CNPJ = cnpj.value;
		erro = new String;
		if (CNPJ.length < 18) erro += "Preencha corretamente o CNPJ (Ex:00.000.000/0000-00)!\n\n";
                if (CNPJ=="00.000.000/0000-00") erro += "CNPJ inválido! \n\n";
		if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
			if (erro.length == 0) erro += "Preencha corretamente o CNPJ (Ex:00.000.000/0000-00)! \n\n";
		}
		//substituir os caracteres que nao sao numeros
		if(document.layers && parseInt(navigator.appVersion) == 4){
			x = CNPJ.substring(0,2);
			x += CNPJ.substring(3,6);
			x += CNPJ.substring(7,10);
			x += CNPJ.substring(11,15);
			x += CNPJ.substring(16,18);
			CNPJ = x;	
		} else {
			CNPJ = CNPJ.replace(".","");
			CNPJ = CNPJ.replace(".","");
			CNPJ = CNPJ.replace("-","");
			CNPJ = CNPJ.replace("/","");
		}
		var nonNumbers = /\D/;
		if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";	
		var a = [];
		var b = new Number;
		var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
		for (i=0; i<12; i++){
			a[i] = CNPJ.charAt(i);
			b += a[i] * c[i+1];
		}
		if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
		b = 0;
		for (y=0; y<13; y++) {
			b += (a[y] * c[y]); 
		}
		if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
		if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			erro +="Dígito verificador com problema!";
		}
		if (erro.length > 0){
			alert(erro);                        
			return false;
		} 
		return true;
	}
function checkall(form){     
    vet = document.forms[0].ckbx;   
    for (i = 0; i < vet.length; i++){
        vet[i].checked=true; 
    }    
}
function checkall2(form){    
    for (i = 0; i < form.ckbx.length; i++) {
          form.ckbx[i].checked=false; 
    }  
}
function selecionaTudo(check) {  
  vet = document.forms[0].ckbx;
  for (i=0;i<vet.length;i++) {
    if (check) {
       document.forms[0].ckbx[i].checked=true;
    }
    else {
       document.forms[0].ckbx[i].checked=false;
    }
  }
}
  
function validaData(pStr)
{
        var reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
                
	if (reDate.test(pStr.value)) {
		//alert(pStr.value + " é uma data válida.");
                return true;  
	} else if (pStr.value != null && pStr.value != "") {
		alert(pStr.value + " NÃO é uma data válida.");
                pStr.focus();  
	} 
} 

function desabilitar(){    
 document.getElementById("kamikase").disabled = true;   
 document.form1.submit();  
}

function validarEmail(campo){ 
    var email = campo.value;
    if (email == ""){
        //alert("O campo email deve ser preenchido!");
        //campo.focus();
        return true;
    }    
    else{    
        parte1 = email.indexOf("@");
        parte2 = email.indexOf(".");
        parte3 = email.length;
        if (!(parte1 >= 3 && parte2 >= 3 && parte3 >= 9)) {
          alert ("Você informou: "+ email +"\nO campo email deve conter um endereco eletrônico válido.\nExemplo: seunome@provedor.com.br" );
          campo.focus();
          return false;
        }
    return true;
    }    
 }

function mostrarOrgao(){
    var emp = document.form1.strConcGD.value;
    var element = document.getElementById("orgao");
    var element2 = document.getElementById("ug");
    var element3 = document.getElementById("ugsefaz");
   
    //element.style.display = displayMode;
     if (emp == 6) {//UNIDADE GESTORA
       document.form1.strOrgao.disabled = false;
       document.form1.strOrgao.selectedIndex = 0;
       document.form1.strUG.disabled = true;
       document.form1.strUG.selectedIndex = -1;       
       element.style.display = "inline";
       element2.style.display = "none";
       element3.style.display = "none";       
       document.form1.labelorgao.value = "Órgão"; 
       document.form1.nivel_usu[0].disabled = true;
       document.form1.nivel_usu[1].disabled = true;
       document.form1.nivel_usu[2].disabled = true;
       document.form1.nivel_usu[3].disabled = true;
       document.form1.nivel_usu[4].disabled = true;
       document.form1.nivel_usu[5].disabled = false;
       document.form1.nivel_usu[5].checked = true;
       document.form1.nivel_usu[6].disabled = true;
       document.form1.nivel_usu[7].disabled = true;
     }else
     if (emp == 8) {//G-COMPRAS
       document.form1.strUG.disabled = false;
       document.form1.strUG.selectedIndex = 0;   
       document.form1.strOrgao.disabled = true;
       document.form1.strOrgao.selectedIndex = -1; 
       element.style.display = "none";
       element3.style.display = "none";       
       element2.style.display = "inline";       
       document.form1.labelorgao.value = "UG"; 
       document.form1.nivel_usu[0].disabled = true;
       document.form1.nivel_usu[0].checked = false; 
       document.form1.nivel_usu[1].disabled = false;       
       document.form1.nivel_usu[2].disabled = false;       
       document.form1.nivel_usu[3].disabled = true;
       document.form1.nivel_usu[3].checked = false; 
       document.form1.nivel_usu[4].disabled = true;       
       document.form1.nivel_usu[4].checked = false; 
       document.form1.nivel_usu[5].disabled = true;
       document.form1.nivel_usu[5].checked = false; 
       document.form1.nivel_usu[6].disabled = false;
       document.form1.nivel_usu[7].disabled = false;
       
     }
     else if (emp == 0){//sefaz
       document.form1.strOrgao.disabled = true; 
       document.form1.strOrgao.selectedIndex = -1;       
       document.form1.strUG.selectedIndex = -1;
       document.form1.strUG.disabled = true; 
       document.form1.labelorgao.value = "UG"; 
       element.style.display = "none";
       element2.style.display = "none";
       element3.style.display = "inline";       
       document.form1.nivel_usu[0].disabled = false;
       document.form1.nivel_usu[1].disabled = false;
       document.form1.nivel_usu[2].disabled = false;
       document.form1.nivel_usu[3].disabled = false;       
       document.form1.nivel_usu[4].checked = false;
       document.form1.nivel_usu[4].disabled = true;
       document.form1.nivel_usu[5].checked = false;
       document.form1.nivel_usu[5].disabled = true;       
       document.form1.nivel_usu[6].disabled = false;
       document.form1.nivel_usu[7].disabled = true;
     }
     else if (emp == -1){
       document.form1.strOrgao.selectedIndex = -1;
       document.form1.strOrgao.disabled = true;     
       document.form1.strUG.selectedIndex = -1;
       document.form1.strUG.disabled = true; 
       element.style.display = "none";
       element2.style.display = "none";
       element3.style.display = "none";       
       document.form1.labelorgao.value = ""; 
       document.form1.nivel_usu[0].checked = false;
       document.form1.nivel_usu[1].checked = false;
       document.form1.nivel_usu[2].checked = false;
       document.form1.nivel_usu[3].checked = false;
       document.form1.nivel_usu[4].checked = false;       
       document.form1.nivel_usu[5].checked = false;
       document.form1.nivel_usu[6].checked = false;
       document.form1.nivel_usu[7].checked = false;
       document.form1.nivel_usu[0].disabled = true;
       document.form1.nivel_usu[1].disabled = true;
       document.form1.nivel_usu[2].disabled = true;
       document.form1.nivel_usu[3].disabled = true;       
       document.form1.nivel_usu[4].disabled = true;
       document.form1.nivel_usu[5].disabled = true;       
       document.form1.nivel_usu[6].disabled = true;       
       document.form1.nivel_usu[7].disabled = true;       
     } 
    else{
       document.form1.strOrgao.selectedIndex = -1;
       document.form1.strOrgao.disabled = true;
       document.form1.strUG.selectedIndex = -1;
       document.form1.strUG.disabled = true; 
       element.style.display = "none";
       element2.style.display = "none";
       element3.style.display = "none";       
       document.form1.labelorgao.value = ""; 
       document.form1.nivel_usu[0].disabled = true;
       document.form1.nivel_usu[1].disabled = true;
       document.form1.nivel_usu[2].disabled = true;
       document.form1.nivel_usu[3].disabled = true;
       document.form1.nivel_usu[4].disabled = false;
       document.form1.nivel_usu[4].checked = true;
       document.form1.nivel_usu[5].disabled = true;       
       document.form1.nivel_usu[6].disabled = true;
       document.form1.nivel_usu[7].disabled = true;
    }
     return true;
}
function FormatoDecimal(e) {
    if(window.event) {
        // for IE, e.keyCode or window.event.keyCode can be used
        key = e.keyCode;
    }
    else if(e.which) {
    // netscape
        key = e.which;
    }
    if (key!=8 || key < 48 || key > 57 || key!=46) 
            return (((key > 47) && (key < 58)) || (key==8) || (key==46));
    {
        return true;
    }
}

function BuscaInput(frm,nome_input,nome_select)
	{
		a = eval('document.'+frm+'.'+nome_input);
		b = eval('document.'+frm+'.'+nome_select);
		a.value = b.value;
	}
function BuscaSelect(frm,nome_input,nome_select)
	{
		a = eval('document.'+frm+'.'+nome_input);
		b = eval('document.'+frm+'.'+nome_select);
		if (a.value != '')
			b.value = a.value;
		else
			b.selectedIndex = 0;
	}

function setup() {
        //Set up the date parsers
        var dateParser = new DateParser("dd/MM/yyyy HH:mm");
    
        //Set up the InputMask    
        var numericMask = new InputMask(JST_MASK_NUMBERS, "numeric");
        var decimalMask = new InputMask(JST_MASK_DECIMAL, "decimal");
        var upperMask = new InputMask(fieldBuilder.upperAll(), "upper");
        var lowerMask = new InputMask(fieldBuilder.lowerAll(), "lower");
        var capitalizeMask = new InputMask(fieldBuilder.capitalizeAll(), "capital");
        var dateMask = new InputMask(JST_MASK_DATE, "date");
        var dateTimeMask = new InputMask(JST_MASK_DATE_TIME, "dateTime");
        var dateTimeSecMask = new InputMask(JST_MASK_DATE_TIME_SEC, "dateTimeSec");
        var phoneMask = new InputMask("(##) ####-####", "phone");
        var customMask = new InputMask("AA.UU.LL.CC-##", "custom");
    
        //Set up the NumberMasks
        var decimalSeparator = ",";
        var groupSeparator = ".";
        
        var numParser1 = new NumberParser(0, decimalSeparator, groupSeparator, true);
        var numMask1 = new NumberMask(numParser1, "num1");
        var numParser2 = new NumberParser(-1, decimalSeparator, groupSeparator, true);
        numParser2.negativeParenthesis = true;
        var numMask2 = new NumberMask(numParser2, "num2");
        numMask2.leftToRight = true;
    
        var numParser3 = new NumberParser(3, decimalSeparator, groupSeparator, true);
        var numMask3 = new NumberMask(numParser3, "num3", 6);
        numMask3.allowNegative = false;
        numMask3.leftToRight = true;
    
        var numParser4 = new NumberParser(2, decimalSeparator, groupSeparator, true);
        numParser4.currencySymbol = "R$"
        numParser4.useCurrency = true;
        numParser4.negativeParenthesis = true;
        numParser4.currencyInside = true;
        var numMask4 = new NumberMask(numParser4, "num4", 6);
    
        //Set up the DateMasks
        var errorMessage = "Invalid date: ${value}. Expected format: ${mask}";
    
        var dateParser1 = new DateParser("dd/MM/yyyy");
        var dateMask1 = new DateMask(dateParser1, "date1");
        dateMask1.validationMessage = errorMessage;
    
        var dateParser2 = new DateParser("dd/MM/yyyy HH:mm");
        var dateMask2 = new DateMask(dateParser2, "date2");
        dateMask2.validationMessage = errorMessage;
    
        var dateParser3 = new DateParser("dd/MM/yyyy HH:mm", false);
        var dateMask3 = new DateMask(dateParser3, "date3");
        dateMask3.validationMessage = errorMessage;
        dateMask3.blurFunction = function(event, mask) {
            var control = mask.control;
            var valid = inArray(control.value.length, [0, 10, 16]);
            if (!valid) {
                alert("The date should be informed as dd/MM/yyyy or dd/MM/yyyy HH:mm");
                if (control.value.length < 10) {
                    control.value = "";
                } else {
                    control.value = left(control.value, 10);
                }
            }
            return valid;
        };
    
        var dateParser4 = new DateParser("HH:mm:ss");
        var dateMask4 = new DateMask(dateParser4, "date4");
        dateMask4.validationMessage = errorMessage;
    
        //Set up the SizeLimits
        function updateLimit4(control, size, max, left) {
            var gauge = getObject("limit4Gauge");
            var width = Math.round(size * 100 / max) + "%";
            gauge.style.width = width;
            gauge.style.backgroundColor = (width == '100%' ? 'red' : 'blue');
            gauge.innerHTML = width;
        }
        new SizeLimit("limit1", 50, "limit1Out");
        new SizeLimit("limit2", 50, "limit2Out", "${size} / ${max}");
        new SizeLimit("limit3", 50, "limit3Out", "You typed ${size} characters of a total of ${max}.<br>You have ${left} more characters to type.<br>This field only accepts alphanumeric characters and spaces.");
        new InputMask(new Input(JST_CHARS_ALPHA + JST_CHARS_WHITESPACE), "limit3");
        var limit = new SizeLimit("limit4", 50);
        limit.updateFunction = updateLimit4;
        limit.update();
    }

  //formata um text diacordo com a mascara definida na vairavel mask
  function formatador(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; }
            }
  }
/**
 * Funcao para controle de estilo de exibicao de um elemento
 * @param elementId
 *      Identificador do elemento
 * @param newDisplay
 *      Novo valor para o controle de estilo 'display'
        valores do display: none, block, inline, inherit. 
 */
function display(elementId, displayMode) {
  var element = document.getElementById(elementId);   
  element.style.display = displayMode;
}
  /*validacao de hora: hh:mm*/
  function verifica_hora(h){
              var hh = h.value;  
              
              hrs = (hh.substring(0,2));
              min = (hh.substring(3,5));
              
              //alert('hrs '+ hrs);
              //alert('min '+ min);
              
              situacao = "";
              // verifica data e hora
              if ((hrs < 00 ) || (hrs > 23) || ( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
              
              if (situacao == "falsa") {
                  alert("Hora inválida!");
                  h.focus();
              }
    } 

function putFlash(str) {
	document.write(str);
}
