// JavaScript Document

//Área Privada

function verifica_valor(form)
{
  if (form.antiga.value.length < 5)
  {
    alert('O campo "senha antiga" deve conter no mínimo 5 caracteres.');
	form.antiga.focus();
    return (false);
  }
  if (form.senha.value.length < 5)
  {
    alert('O campo "nova senha" deve conter no mínimo 5 caracteres.');
	form.senha.focus();
    return (false);
  }
  if (form.confirme.value.length < 5)
  {
    alert('O campo "confirme a nova senha" deve conter no mínimo 5 caracteres.');
	form.confirme.focus();
    return (false);
  }  
  return(true);
}

function valida_pagamento(form)
{
  if (form.data_pagto.value == "")
  {
    alert('O campo data deve ser preenchido.');
	form.data_pagto.focus();
	return(false);  
  }
  if (form.valor_pagto.value == "")
  {
    alert('O campo valor deve ser preenchido.');
	form.valor_pagto.focus();
	return(false);  
  }
  else
  {
    if (isNaN(form.valor_pagto.value))
    {
      alert('O campo valor do pagamento deve ser numérico.');
	  form.valor_pagto.focus();
	  return(false);
    }
  }
  if (confirm('Confirma os valores alterados ?'))
    return(true);
  else
    return(false);
}

function apagar_arquivo(file_name,form)
{
  if (confirm('Você deseja realmente apagar o arquivo "'+file_name+'"?'))
  {
    form.action = '';
	form.apaga.value = '1';
	form.submit();
	return(true);
  }
  else
    return(false);
}

function habilita_textfield_inscricoes(form)
{
/*for(i=0;i<form.tipo.length;i++)
{
  if(form.tipo[i].checked) alert (i);
}
*/
  if ((form.tipo[1].checked) || (form.tipo[2].checked))
  {
     form.nome_cpf.disabled = false;
	 form.estado.disabled = true;
  }
  if (form.tipo[3].checked)
  {
     form.nome_cpf.disabled = true;
	 form.estado.disabled = false;
  }
  if ((form.tipo[0].checked) || (form.tipo[4].checked) || (form.tipo[5].checked))
  {
     form.nome_cpf.disabled = true;     
	 form.nome_cpf.value = "";	 
	 form.estado.disabled = true;
  }
}

function valida_sel_inscricoes(form)
{
  if (form.tipo[1].checked)
  {
    if (form.nome_cpf.value == "")
    {
      alert("Por favor digite um nome.");
      form.nome_cpf.focus();
      return (false);
    }
  }
  if (form.tipo[2].checked)
  {
    if (form.nome_cpf.value == "")
    {
      alert("Por favor digite o número do CPF.");
      form.nome_cpf.focus();
      return (false);
    }
    else
    {
       if (!isCPFCNPJ(form.nome_cpf.value,1))
	   {
          alert("Este CPF não é válido. Por favor redigite-o corretamente.");
          form.nome_cpf.focus();
	      return (false);
	   }
	   else
	      FormataCPF(form.nome_cpf);	  
    }
  }
  return(true);
}


//Área Pública
function confirma(texto)
{
  if (confirm(texto))
	return(true);
  else
	return(false);
}

function CPFFilter(field)
{
   if (!isCPFCNPJ(field.value,1))
   {
	 alert("Este CPF não é válido. Por favor redigite-o corretamente.");
	 field.focus();
	 return (false);
   }
   else
   {
	  FormataCPF(field);	
	  return (true);
   }
}

function auto_envia(form)
{
   form.action = "";
   form.submit();
}

function CNPJFilter(field)
{
   if ((!isCPFCNPJ(field.value,2)) && (field.value != ''))
   {
	 alert("Este CNPJ não é válido. Por favor redigite-o corretamente.");
	 field.focus();
	 return (false);
   }
   else
   {
	  if (field.value != '') 
	     FormataCNPJ(field);	
	  return (true);
   }

}

function birtFilter(field)
{
 erro = 0;
 hoje = new Date();
 anoAtual = hoje.getFullYear();
 barras = field.value.split("/");
 if (barras.length == 3)
 {
   dia = barras[0];
   mes = barras[1];
   ano = barras[2];
   resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
 }
/*
   if (!resultado) 
   {
      alert("Formato ou data inválida.");
      field.focus();
      return (false);
   }
 } 
 else 
 {
    alert("Formato ou data inválida.");
    field.focus();
    return (false);
  }
  return (true);
*/
  return(resultado);
}

function phoneFilter(form) {
	var input = form.value;
	if(input.length > 0) { //do not perform if empty input
		var numbers = ""; //store all the numbers here
		//process to remove non-numbers and spaces
		for(var i = 0; i < input.length; i++) {
			var char = input.charAt(i);
			if(!(isNaN(char) || char == " ")) numbers += char;
		}
		//remove country code, if any
//		if(numbers.substring(0, 2) == "47") numbers = numbers.substring(2, numbers.length);
		var output = ""; //assign numbers here
		//assign numbers to chosen format
		var n = 0, i = 0;
		if (numbers.length == 10)
		{
		  format = "(##)####-####";		
  		  while(i < format.length && n < numbers.length) {
			  var char = format.charAt(i);
			  if(char == "#") {
			  	  output += numbers.charAt(n++)
			  } else {
				  output += char;
			  }
			  i++;
		  }
		}
		if (numbers.length == 9)
		{
		  format = "(##)###-####";
  		  while(i < format.length && n < numbers.length) {
			  var char = format.charAt(i);
			  if(char == "#") {
			  	  output += numbers.charAt(n++)
			  } else {
				  output += char;
			  }
			  i++;
		  }
		}
		//give alert if length is less than 8.
		if ((numbers.length != 9) && (numbers.length != 10)) {
			alert("O seu número de telefone deve conter somente 9 ou 10 números (incluindo o DDD).");
			form.focus();
		}

		form.value = output; //output to form
	}
}

function cepFilter(form) 
{
	var input = form.value;
	if(input.length > 0) 
	{ //do not perform if empty input
		var numbers = ""; //store all the numbers here
		//process to remove non-numbers and spaces
		for(var i = 0; i < input.length; i++) 
		{
			var char = input.charAt(i);
			if(!(isNaN(char) || char == " ")) 
			   numbers += char;
		}
		//remove country code, if any
//		if(numbers.substring(0, 2) == "47") numbers = numbers.substring(2, numbers.length);
		var output = ""; //assign numbers here
		//assign numbers to chosen format
		var n = 0, i = 0;
		if (numbers.length == 8)
		{
		  format = "#####-###";		
  		  while(i < format.length && n < numbers.length) 
		  {
			  var char = format.charAt(i);
			  if(char == "#") 
			  	  output += numbers.charAt(n++)
			  else 
				  output += char;
			  i++;
		  }
		}
		//give alert if length is less than 8.
		if (numbers.length != 8) 
		{
			alert("O seu número de CEP não é válido. O Seu CEP deve conter somente números (8 dígitos).");
			form.focus();
		}

		form.value = output; //output to form
	}
}

//Validar CNPJ
function isEmpty(pStrText){ 
   var   len = pStrText.length; 
   var pos; 
   var vStrnewtext = ""; 

   for (pos=0; pos<len; pos++){ 
      if (pStrText.substring(pos, (pos+1)) != " "){ 
         vStrnewtext = vStrnewtext + pStrText.substring(pos, (pos+1)); 
      } 
   } 

   if (vStrnewtext.length > 0) 
      return false; 
   else 
      return true; 
}

function isCPFCNPJ(campo,pType){
   if( isEmpty( campo ) ){return false;}
   var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
   var valido = false;
        
   for (i = 0; i < campo.length; i++){
      ch = campo.substring(i, i + 1);
      if (ch >= "0" && ch <= "9"){
         campo_filtrado = campo_filtrado.toString() + ch.toString()
         valor_1 = valor_2;
         valor_2 = ch;
      }
      if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
   }
   if (!valido) campo_filtrado = "12345678912";

   if (campo_filtrado.length < 11){
//      for (i = 1; i <= (11 - campo_filtrado.length); i++){campo_filtrado = "0" + campo_filtrado;}
//     alert("CPF deve possuir 11 dígitos numéricos");
	 return(false);
   }
	if(pType <= 1){
		if ( ( campo_filtrado.substring(9,11) == checkCPF( campo_filtrado.substring(0,9) ) ) && ( campo_filtrado.substring(11,12)=="") ){return true;}
	}

	if((pType == 2) || (pType == 0)){
		if (campo_filtrado.length >= 14){
			if ( campo_filtrado.substring(12,14) == checkCNPJ( campo_filtrado.substring(0,12) ) ){ return true;}
		}
	}
	
	return false;
}

function checkCNPJ(vCNPJ){
   var mControle = "";
   var aTabCNPJ = new Array(5,4,3,2,9,8,7,6,5,4,3,2);
   for (i = 1 ; i <= 2 ; i++){
      mSoma = 0;
      for (j = 0 ; j < vCNPJ.length ; j++)
         mSoma = mSoma + (vCNPJ.substring(j,j+1) * aTabCNPJ[j]);
      if (i == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10 ) mDigito = 0;
      mControle1 = mControle ;
      mControle = mDigito;
      aTabCNPJ = new Array(6,5,4,3,2,9,8,7,6,5,4,3);
   }
   return( (mControle1 * 10) + mControle );
}

function checkCPF(vCPF){
   var mControle = ""
   var mContIni = 2, mContFim = 10, mDigito = 0;
   for (j = 1 ; j <= 2 ; j++){
      mSoma = 0;
      for (i = mContIni ; i <= mContFim ; i++)
         mSoma = mSoma + (vCPF.substring((i-j-1),(i-j)) * (mContFim + 1 + j - i));
      if (j == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10) mDigito = 0;
      mControle1 = mControle;
      mControle = mDigito;
      mContIni = 3;
      mContFim = 11;
   }
   return( (mControle1 * 10) + mControle );
}

function FormataCNPJ(el) 
{ 
  vr = el.value; 
  tam = vr.length; 
  
  vr = vr.replace(".", "");
  vr = vr.replace(".", "");
  vr = vr.replace("/", "");
  vr = vr.replace("-", "");

  if ((vr.indexOf(".") == -1)  && (vr.indexOf("/") == -1)  && (vr.indexOf("-") == -1))
  { 
    if (tam == 14)
       el.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4) + '-' + vr.substr(12,2); 
	else
	{
	   if (tam != 18)
	   {
	     alert('Tamanho inválido do CNPJ');
	     return(false);
	   }
	}
   } 
  return(el); 
}

function FormataCPF(el) 
{ 
  vr = el.value; 
  tam = vr.length; 
  
  vr = vr.replace(".", "");
  vr = vr.replace(".", "");
  vr = vr.replace("-", "");
  if ((vr.indexOf(".") == -1) && (vr.indexOf("-") == -1))
  { 
     if (tam == 11)
       el.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,3) + '-' + vr.substr(9,2); 
	 else
	 {
	   if (tam != 14)
	   {
	     alert('Tamanho inválido do CPF');
	     return(false);
	   }
	 }
   } 
  return(el); 
}

function openWindow(pagina,target,width,height)
{
  var newWidth;
  var newHeight;
  var win;
  if ((width == 0) && (height == 0))
    win = window.open(pagina,target);	
  else
  {
    newWidth = (screen.availWidth-10 - width) / 2;
    newHeight = (screen.availHeight-20 - height) / 2;    
    win = window.open(pagina,target,"width="+width+",height="+height+",location=no,scrollbars=yes,menubars=no,directores=no,copyhistory=no,toolbars=no,resizable=no,left=" + newWidth + ",top=" + newHeight);
    win.moveTo(newWidth, newHeight);
    win.focus();
  }
  return(true);
}

function ir(arquivo)
{
//   if (tipo == 2)
   if (arquivo == 'principal.php')
     window.open(arquivo,"_parent");	
   else
     window.open(arquivo,"_self");	
}

function sel_tipo(nacionalidade, field)
{
  if (nacionalidade == 0) 
     CPFFilter(field);
  return(true);
}

