// JavaScript Document

/**********************************************************************************************************************************
 * FUNO PARA PEGAR A REA TIL DA TELA       																					  *
 **********************************************************************************************************************************/
function teste(){

	var x,y;
	if (self.innerHeight){ // all except Explorer

		x = self.innerWidth;
		y = self.innerHeight;
	}else if (document.documentElement && document.documentElement.clientHeight){// Explorer 6 Strict Mode
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}else if (document.body){ // other Explorers
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	
	
	var doc = document.getElementById('containerAll').style;
	doc.backgroundColor="#ff0000";
	doc.display="none";
	doc.width=x;
	doc.height=y;
	AjaxObject.dom.bringToFront(document.getElementById('containerAll'));
}

/**********************************************************************************************************************************
 * VALIDAO PARA EMAIL       																							          *
 **********************************************************************************************************************************/
function validaEmail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
                    return true;
                }
    }else{
        return false;
    }
}

/**********************************************************************************************************************************
 * AJAX PARA PREENCHER OS COMBOS																						          *
 **********************************************************************************************************************************/
   function Dados(valor) {
      //verifica se o browser tem suporte a ajax
	  try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
	     catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
	        catch(exc) {
               alert("Esse browser nao tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
	  //se tiver suporte ajax
	  if(ajax) {
	     //deixa apenas o elemento 1 no option, os outros sao excludos
		 document.forms[0].cidade.options.length = 1;
	     
		 idOpcao  = document.getElementById("opcoes");
		 
	     ajax.open("POST", "ajax/cidades.php", true);
		 ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 
		 ajax.onreadystatechange = function() {
            //enquanto estiver processando...emite a msg de carregando
			if(ajax.readyState == 1) {
			   idOpcao.innerHTML = "Carregando...";   
	        }
			//aps ser processado - chama funao processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
			   if(ajax.responseXML) {
			      processXML(ajax.responseXML);
			   }
			   else {
			       //caso nao seja um arquivo XML emite a mensagem abaixo
				   idOpcao.innerHTML = "Primeiro selecione o estado";
			   }
            }
         }
		 //passa o cdigo do estado escolhido
	     var params = "estado="+valor;
         ajax.send(params);
      }
   }
   
   function processXML(obj){
      //pega a tag cidade
      var dataArray   = obj.getElementsByTagName("cidade");
      
	  //total de elementos contidos na tag cidade
	  if(dataArray.length > 0) {
	     //percorre o arquivo XML paara extrair os dados
         for(var i = 0 ; i < dataArray.length ; i++) {
            var item = dataArray[i];
			//contudo dos campos no arquivo XML
			var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
			var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
			
	        idOpcao.innerHTML = "Selecione uma cidade";
			
			//cria um novo option dinamicamente  
			var novo = document.createElement("option");
			    //atribui um ID a esse elemento
			    novo.setAttribute("id", "opcoes");
				//atribui um valor
			    novo.value = codigo;
				//atribui um texto
			    novo.text  = descricao;
				//finalmente adiciona o novo elemento
				document.forms[0].cidade.options.add(novo);
		 }
	  }
	  else {
	    //caso o XML volte vazio, printa a mensagem abaixo
		idOpcao.innerHTML = "Primeiro selecione o estado";
	  }	  
   }
   
/**********************************************************************************************************************************
 * EXCLUIR REGISTRO																										          *
 **********************************************************************************************************************************/
 function excluir(arquivo, id){
	if(confirm("Deseja realmente apagar este associado?")){
		window.location.href="controlador/"+arquivo+"Deletar-ctrl.php?id="+id;
	}
 }

/**********************************************************************************************************************************
 * MSCARA																												          *
 **********************************************************************************************************************************/
function Mascara(formato, keypress, objeto){
	campo = eval (objeto);
	
	// cep | 00000-000
	if (formato=='cep'){
		separador = '-';
		conjunto1 = 5;
		
		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador;
		}
		
	}
	
	// cpf | 000.000.000-00
	if (formato=='cpf'){
		separador1 = '.';
		separador2 = '-';
		conjunto1 = 3;
		conjunto2 = 7;
		conjunto3 = 11;

		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador1;
		}
	
		if (campo.value.length == conjunto2){
			campo.value = campo.value + separador1;
		}
		
		if (campo.value.length == conjunto3){
			campo.value = campo.value + separador2;
		}
	
	}

	// cnpj
	if (formato=='cnpj'){
		separador1 = '.';
		separador2 = '/';
		separador3 = '-';
		conjunto1 = 2;
		conjunto2 = 6;
		conjunto3 = 10;
		conjunto4 = 15;

		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador1;
		}
	
		if (campo.value.length == conjunto2){
			campo.value = campo.value + separador1;
		}
		
		if (campo.value.length == conjunto3){
			campo.value = campo.value + separador2;
		}
		
		if (campo.value.length == conjunto4){
			campo.value = campo.value + separador3;
		}
	
	}
	
	//inscrio estadual | 00.0.000.0000000-0
	if (formato=='inscricaoEstadual'){
		separador1 = '.';
		separador2 = '-';
		conjunto1 = 2;
		conjunto2 = 4;
		conjunto3 = 8;
		conjunto4 = 16;

		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador1;
		}
	
		if (campo.value.length == conjunto2){
			campo.value = campo.value + separador1;
		}
		
		if (campo.value.length == conjunto3){
			campo.value = campo.value + separador1;
		}
		
		if (campo.value.length == conjunto4){
			campo.value = campo.value + separador2;
		}
	
	}

	// data | 00/00/0000
	if (formato=='data'){
		separador = '/';
		conjunto1 = 2;
		conjunto2 = 5;
		
		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador;
		}
		
		if (campo.value.length == conjunto2){
			campo.value = campo.value + separador;
		}
	}
	
	// telefone | (00)0000-0000
	if (formato=='telefone'){
		separador1 = '(';
		separador2 = ')';
		separador3 = '-';
		conjunto1 = 0;
		conjunto2 = 3;
		conjunto3 = 8;
		
		if (campo.value.length == conjunto1){
			campo.value = campo.value + separador1;
		}
		
		if (campo.value.length == conjunto2){
			campo.value = campo.value + separador2;
		}
		
		if (campo.value.length == conjunto3){
			campo.value = campo.value + separador3;
		}
	}
}

/**********************************************************************************************************************************
 * VALIDAO TODOS OS CAMPOS DEVEM SER PREENCHIDOS																		          *
 **********************************************************************************************************************************/
function ValidaTodos(formulario){
	
	var doc = formulario;

	for (var i=0; i<doc.elements.length; i++){
		var valida = doc.elements[i].value;
	
		if (valida == ''){
			alert('o campo ' +  doc.elements[i].id + ' deve ser preenchido!');
			doc.elements[i].focus();
			return false;
		}
	}
	
	return true;

}



/**********************************************************************************************************************************
 * VALIDAO DE DATA																										          *
 **********************************************************************************************************************************/
function validarData(campo){
	var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
	var msgErro = 'Data invlida';
	
	if ((campo.value.match(expReg)) && (campo.value!='')){
		var dia = campo.value.substring(0,2);
		var mes = campo.value.substring(3,5);
		var ano = campo.value.substring(6,10);
		
	if(mes==4 || mes==6 || mes==9 || mes==11 && dia > 30){
		alert("Dia incorreto !!! O ms especificado contm no mximo 30 dias.");
		return false;
	}else{
		if(ano%4!=0 && mes==2 && dia>28){
			alert("Data incorreta!! O ms especificado contm no mximo 28 dias.");
			return false;
		}else{
			if(ano%4==0 && mes==2 && dia>29){
				alert("Data incorreta!! O ms especificado contm no mximo 29 dias.");
				return false;
			}else{
				//alert ("Data correta!");
				return true;
			}//fecha else
		
		}//fecha else
		
	}//fecha else
	
	}
	
}

/**********************************************************************************************************************************
 * VALIDAAO CAMPOS VAZIOS																								          *
 **********************************************************************************************************************************/
function ValidaTodosVazios(campo, nome){
	
	if(campo.value==""){
		alert("O campo "+ nome +" deve ser preenchido!");
		campo.focus();
		return false;
	}
	
}

/**********************************************************************************************************************************
 * VALIDAO CNPJ																										          *
 **********************************************************************************************************************************/
 function validaCNPJ(CNPJ) {
	 //CNPJ = document.validacao.CNPJID.value;
	 erro = new String;

	 if (CNPJ.length < 18) erro += " necessario preencher corretamente o nmero do CNPJ! \n\n";
	 
	 if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
	 	if (erro.length == 0) erro += " necessrio preencher corretamente o nmero do CNPJ! \n\n";
	 }
	 
	 //substituir os caracteres que nao sao nmeros
	 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çao 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;
 }

/**********************************************************************************************************************************
 * VALIDAO DO ARQUIVO INDEX.PHP(ADM)																					          *
 **********************************************************************************************************************************/
function validaAdm() {
	
	var doc = document.login;
		
	if(!ValidaTodos(doc)){
		return false;
	}
	
	return true;
	
}

/**********************************************************************************************************************************
 * VALIDAO DO ARQUIVO ASSOCIE-SE.PHP(/SITE)																	          			   *
 **********************************************************************************************************************************/
function validaAssociadosAdicionar(formulario) {
	
	_onload(formulario, 'cnpj');
	_onload(formulario, 'inscricaoEstadual');
	_onload(formulario, 'cep');
	_onload(formulario, 'fone1');
	_onload(formulario, 'fone2');
	_onload(formulario, 'fone3');
	_onload(formulario, 'fax');
	_onload(formulario, 'fundacao');	
	
	var doc = formulario;
		
	/*if(!ValidaTodos(formulario)){
		return false;
	}*/
	
	if(doc.razaoSocial.value==""){
		alert("O campo Razao Social deve ser preenchido!");
		doc.razaoSocial.focus();
		return false;
	}
	
	if(doc.nomeFantasia.value==""){
		alert("O campo Nome Fantasia deve ser preenchido!");
		doc.nomeFantasia.focus();
		return false;
	}
	
	if(doc.cnpj.value==""){
		alert("O campo CNPJ deve ser preenchido!");
		doc.cnpj.focus();
		return false;
	}
	
	if (!validaCNPJ(doc.cnpj.value)) {
		doc.cnpj.focus();
		return false;	
	}	
	
	if(doc.inscricaoEstadual.value==""){
		alert("O campo Inscriao Estadual deve ser preenchido!");
		doc.inscricaoEstadual.focus();
		return false;
	}
	
	if(doc.endereco.value==""){
		alert("O campo Endereo deve ser preenchido!");
		doc.endereco.focus();
		return false;
	}
	
	if(doc.bairro.value==""){
		alert("O campo Bairro deve ser preenchido!");
		doc.bairro.focus();
		return false;
	}
		
	if(doc.estado.value==0){
		alert("O campo Estado deve ter uma opao selecionada!");
		doc.estado.focus();
		return false;
	}
	
	if(doc.cidade.value==0){
		alert("O campo Cidade deve ter uma opao selecionada!");
		doc.cidade.focus();
		return false;
	}
	
	if(doc.cep.value==""){
		alert("O campo CEP deve ser preenchido!");
		doc.cep.focus();
		return false;
	}
	
	if(doc.fone1.value==""){
		alert("O campo Fone 1 deve ser preenchido!");
		doc.fone1.focus();
		return false;
	}
	
	if(doc.email.value==""){
		alert("O campo Email deve ser preenchido!");
		doc.email.focus();
		return false;
	}
	
	if (!validaEmail(doc.email)) {
		alert("Email invlido");
		doc.email.focus();
		return false;	
	}
		
	if(doc.login.value==""){
		alert("O campo Login deve ser preenchido!");
		doc.login.focus();
		return false;
	}
	
	if(doc.senha.value==""){
		alert("O campo Senha deve ser preenchido!");
		doc.senha.focus();
		return false;
	}
	
	if(doc.confirmarSenha.value==""){
		alert("O campo Confirmar Senha deve ser preenchido!");
		doc.confirmarSenha.focus();
		return false;
	}
	
	if(doc.senha.value!=doc.confirmarSenha.value){
		alert("A confirmaao de senha est diferente da senha informada!");	
		doc.confirmarSenha.focus();
		doc.confirmarSenha.value="";
		return false;	
	}
		
	if(doc.ramoAtividade.value==0){
		alert("O campo Ramo de Atividade deve ter uma opao selecionada!");
		doc.ramoAtividade.focus();
		return false;
	}
	
	if(doc.fundacao.value==""){
		alert("O campo Data da Fundaao deve ser preenchido!");
		doc.fundacao.focus();
		return false;
	}
	
	if (!validarData(doc.fundacao)) {
		alert("Data invlida");
		doc.fundacao.focus();
		return false;	
	}
		
	if(doc.descricao.value==""){
		alert("O campo Descriao deve ser preenchido!");
		doc.descricao.focus();
		return false;
	}
	
	return true;
	
}
