// JavaScript Document
function veri_aceito() {
	
	if (document.getElementById('ck_aceito').checked) {
		document.getElementById('btn_gravar').disabled = false;
	} else {
		document.getElementById('btn_gravar').disabled = true;
		
	}
	
}

function validaCNPJ(vcnpj) {
		CNPJ = vcnpj;
		erro = new String;
		if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! ";
		if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
	   if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ2! ";
	   }
	   //substituir os caracteres que não são números
	  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! ";
	  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!";
	  }
	  return erro;
	  
}

function formataCPF(fld, 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;
if (whichCode == 13) return true;  // Enter
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;

if((len+1) > fld.maxLength || (len+1) > 14)
	return false;

switch(len)
{
	case 3:
	case 7:
		fld.value = fld.value+'.';
		break;
	case 11:
		fld.value = fld.value + '-';
		break;
	default:
		break;
}

return true;
}

/*
Exemplo de utilização.
<input name="cnpj" type="text" id="cnpj" size="18" maxlength="18" onKeyPress="return formataCNPJ(this,event);">
*/
function formataCNPJ(fld, 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;
if (whichCode == 13 || whichCode == 8) return true;  // Enter
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;

if((len+1) > fld.maxLength || (len+1)>18)
	return false;

switch(len)
{
	case 2:
	case 6:
		fld.value = fld.value+'.';
		break;
	case 10:
		fld.value = fld.value + '/';
		break;
	case 15:
		fld.value = fld.value + '-';
		break;
	default:
		break;
}

return true;
}

function isValidEmail(str) {
	
	if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);
    if (!reg1.test(str) && reg2.test(str)) {
      return true;
    }
    //field.focus();
    //field.select();
    return false;
  } else {
    if(str.indexOf("@") >= 0)
      return true;
    //field.focus();
    //field.select();
    return false;
  }
  
}

function add_client(vtipo,qualacao) {
	
	var vNomeCampo = '';
	var vNome = '';
	var vNome2 = '';
	var vAcao = '';
	var vAcaoNome = '';
	var vVariavel = '';
	var vUrl = '';
	
	if (vtipo == 0) {
		vNome = 'um Cliente';
		vNome2 = 'este Cliente';
		vNomeCampo = 'sel_cliente';	
		vVariavel = 'cli_codigo';
	}

	vAcao = 'cli';
	vUrl = 'add_client';
	
	if (qualacao == 0) {
		vAcaoNome = 'Incluir';
		window.open('add_client_pop.php?acao=I','addclient','scrollbars=yes,menubar=yes,resizable=yes,status=no,width=780,height=555');

	} else if (qualacao == 1) {
		vAcaoNome = 'Alterar';
		if (document.getElementById(vNomeCampo).options[document.getElementById(vNomeCampo).selectedIndex].value == 0) {
			alert("Escolha "+vNome+" para "+vAcaoNome+".");
			document.getElementById(vNomeCampo).focus();
		} else {
			window.open('add_client_pop.php?acao=A&'+vVariavel+'='+document.getElementById(vNomeCampo).value,'addclient','scrollbars=yes,menubar=yes,resizable=yes,status=no,width=780,height=555');

		}
	} else if (qualacao == 2) {
		vAcaoNome = 'Excluir';
		if (document.getElementById(vNomeCampo).options[document.getElementById(vNomeCampo).selectedIndex].value == 0) {
			alert("Escolha "+vNome+" para "+vAcaoNome+".");
			document.getElementById(vNomeCampo).focus();
		} else {
			a = confirm("Deseja realmente "+vAcaoNome+" "+vNome2+"?");
			
			if (a) {
				location.href = vUrl+'.php?acao=excluir&'+vVariavel+'='+document.getElementById(vNomeCampo).value;
			}
		}

	}

}

function veriFrm(frm) {
	
	vAcao = document.getElementById('acao').value;
	
	if (document.getElementById('cli_razao').value == '') {
		alert("Preencha a Razao Social.");
		document.getElementById('cli_razao').focus();
		return false;
	}
	
	if (vAcao == 'incluir') {
		
		if (document.getElementById('cli_cnpj').value == '') {
			alert("Preencha o CNPJ.");
			document.getElementById('cli_cnpj').focus();
			return false;
		}
	
		vcnpj = document.getElementById('cli_cnpj').value;
		erro = validaCNPJ(vcnpj);
		
		if (erro.length > 0){
			alert(erro);
			document.getElementById('cli_cnpj').focus();
			return false;
		}
		
	}
	
	if (document.getElementById('cli_atividade_principal').value == '') {
		alert("Preencha a principal atividade desenvolvida.");
		document.getElementById('cli_atividade_principal').focus();
		return false;
	}
	
	if (document.getElementById('cli_dt_constituicao').value == '') {
		alert("Preencha a Data de constituição.");
		document.getElementById('cli_dt_constituicao').focus();
		return false;
	}
	
	if (document.getElementById('cli_nire').value == '') {
		alert("Preencha o NIRE.");
		document.getElementById('cli_nire').focus();
		return false;
	}
	
	if (document.getElementById('cli_endereco').value == '') {
		alert("Preencha o endereço.");
		document.getElementById('cli_endereco').focus();
		return false;
	}
	
	if (document.getElementById('cli_bairro').value == '') {
		alert("Preencha o bairro.");
		document.getElementById('cli_bairro').focus();
		return false;
	}
	
	if (document.getElementById('cli_cep').value == '') {
		alert("Preencha o CEP.");
		document.getElementById('cli_cep').focus();
		return false;
	}
	
	if (document.getElementById('cli_cidade').value == '') {
		alert("Preencha a cidade.");
		document.getElementById('cli_cidade').focus();
		return false;
	}
	
	vEst = document.getElementById('cli_estado');
	if (vEst.options[vEst.selectedIndex].value == 0) {
		alert("Escolha o Estado.");
		vEst.focus();
		return false;
	}
	
	if (document.getElementById('cli_pais').value == '') {
		alert("Informe o País.");
		document.getElementById('cli_pais').focus();
		return false;
	}
	
	if (document.getElementById('cli_telefone').value == '') {
		alert("Informe o Telefone com DDD.");
		document.getElementById('cli_telefone').focus();
		return false;
	}
	
	if (document.getElementById('cli_email').value == '') {
		alert("Preencha o E-mail.");
		document.getElementById('cli_email').focus();
		return false;
	}

	if (!isValidEmail(document.getElementById('cli_email').value)) {
		alert("Preencha corretamente o E-mail");
		document.getElementById('cli_email').focus();
		return false;
	}
	
	if (document.getElementById('cli_tipo_sociedade').value == '') {
		alert("Informe o Tipo de Sociedade.");
		document.getElementById('cli_tipo_sociedade').focus();
		return false;
	}
	
	if (vAcao == 'incluir') {
		
		if (document.getElementById('cnpjok').value == 1) {
			alert("Inform outro CNPJ, este já está cadastrado.");
			document.getElementById('cli_cnpj').focus();
			return false;
		}
	}
	
	a = confirm("Conferiu todos os dados informados ?\nDeseja realmente enviar?");
	
	if (!a) {
		return false;
	}

}

function ChecaCnpj(x,nomediv,estcodigo) {
	
	document.getElementById(nomediv).innerHTML = "";
	
	if (x[0].getElementsByTagName('resultado')[0].firstChild.nodeValue == 0) {
		var tx = document.createTextNode(x[0].getElementsByTagName('mensagem')[0].firstChild.nodeValue);
		document.getElementById('cnpjok').value = 0;
	} else {
		var tx = document.createTextNode(x[0].getElementsByTagName('mensagem')[0].firstChild.nodeValue);
		document.getElementById('cnpjok').value = 1;
	}
	
	document.getElementById(nomediv).appendChild(tx);
	document.getElementById(nomediv).style.display='';
}

function EnviaDadosCnpj(myUrl,myParam,nomediv,cidcodigo) 
{
	var xmlCnpj = objRequest();
	xmlCnpj.open("POST", myUrl, true);
	xmlCnpj.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // sending it as encoded formdata
	xmlCnpj.setRequestHeader("Content-length",myParam.length); // we need to specify the length of the contents

	xmlCnpj.onreadystatechange=function() {
		if (xmlCnpj.readyState == 1) {
			
		}
		if (xmlCnpj.readyState == 4) { // Wait until everything is fetched!
			var xmlCnpjDoc = xmlCnpj.responseXML;
			ChecaCnpj(xmlCnpjDoc.documentElement.getElementsByTagName('item'),nomediv,cidcodigo);
		}
	}
	xmlCnpj.send(myParam); // This time, we need to send the text.
}

function buscacnpj(vcnpj) {
	if (vcnpj != '' && vcnpj.length > 17) {
			document.getElementById("ckcnpj").style.display='none';
			enviacnpj(vcnpj);
	} else {
		document.getElementById("ckcnpj").style.display='none';		
	}
}

function enviacnpj(vcnpj) {
	document.getElementById("ckcnpj").style.display='none';
	var paramas = "cnpj="+vcnpj;
	EnviaDadosCnpj("busca_cnpj.php",paramas,"ckcnpj",0);
}

function reloadpage_pop(vacaofeita,vmsgk) {
	
	if (vmsgk == 1) {
		vmsgk = 'ok';
	} else {
		vmsgk = 'nok';
	}
	opener.document.location.href = 'add_client.php?acao=L&dn='+vacaofeita+'&msg='+vmsgk;
	this.close();
	
}