/******************************************************************
	TRABALHE CONOSCO
******************************************************************/

function validaCurriculo()
{
	with (document.formulario)
	{
		
		if (isEmpty(cargo))
		{
			abreAlerta("Selecione o cargo pretendido.");
			cargo.focus();
			return;
		}
		
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.");
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.", 1000);
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.", 1000);
			email.focus();
			return;
		}
		
		if (isEmpty(nascimento))
		{
			abreAlerta("Preencha sua data de nascimento.");
			nascimento.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha seu telefone.");
			telefone.focus();
			return;
		}
		
		if (isEmpty(cidade_nascimento))
		{
			abreAlerta("Preencha sua cidade de nascimento.");
			cidade_nascimento.focus();
			return;
		}
		
		if (isEmpty(sexo))
		{
			abreAlerta("Selecione seu sexo.");
			sexo.focus();
			return;
		}
		
		if (isEmpty(estado_civil))
		{
			abreAlerta("Selecione seu estado civil.");
			estado_civil.focus();
			return;
		}
		
		if (isEmpty(pai))
		{
			abreAlerta("Preencha o nome do seu pai.");
			pai.focus();
			return;
		}
		
		if (isEmpty(mae))
		{
			abreAlerta("Preencha o nome de sua mãe.");
			mae.focus();
			return;
		}
		
		if (isEmpty(endereco_residencial))
		{
			abreAlerta("Preencha seu endereço residencial.");
			endereco_residencial.focus();
			return;
		}
		
		if (isEmpty(bairro))
		{
			abreAlerta("Preencha seu bairro.");
			bairro.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione seu estado.");
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione sua cidade.");
			cidade.focus();
			return;
		}
		
		if (isEmpty(cep))
		{
			abreAlerta("Preencha seu CEP.");
			cep.focus();
			return;
		}
		
		if (isEmpty(residencia))
		{
			abreAlerta("Você mora em residência.");
			residencia.focus();
			return;
		}
		
		if (isEmpty(parceiro))
		{
			abreAlerta("Preencha o nome do(a) esposo(a).");
			parceiro.focus();
			return;
		}
		
		if (isEmpty(profissao))
		{
			abreAlerta("Preencha sua profissão.");
			profissao.focus();
			return;
		}
		
		if (isEmpty(ensino_fundamental))
		{
			abreAlerta("Selecione uma opção em Ensino Fundamental");
			ensino_fundamental.focus();
			return;
		}
		
		if (isEmpty(ensino_medio))
		{
			abreAlerta("Selecione uma opção em Ensino Médio");
			ensino_medio.focus();
			return;
		}
		
		if (isEmpty(ensino_superior))
		{
			abreAlerta("Selecione uma opção em Ensino Fundamental");
			ensino_superior.focus();
			return;
		}
		
		var dados = $("#formulario").serialize();
		
		$.post("acoes.php?acao=trabalhe", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Seu currículo foi enviado com sucesso para nosso banco de dados.<br><br>Obrigado<br>Equipe Transduarte.', null);
				clearForm("#formulario");
			}
			
			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seus dados, tente novamete.', null);
			}
			
		});
	}	
}


/******************************************************************
	CONTATO
******************************************************************/

function validaContato()
{
	with (document.formulario)
	{
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.", 1000);
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.", 1000);
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.", 1000);
			email.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha um telefone de contato.", 1000);
			telefone.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado onde reside.", 1000);
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade onde reside.", 1000);
			cidade.focus();
			return;
		}
		
		/*if (isEmpty(setor))
		{
			abreAlerta("Selecione o setor desejado.", 1000);
			setor.focus();
			return;
		}*/
		
		if (isEmpty(mensagem))
		{
			abreAlerta("Preencha a mensagem.", 1000);
			mensagem.focus();
			return;
		}
				
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("acoes.php?acao=contato", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Contato enviado com sucesso.<br><br>Obrigado<br>Equipe Transduarte.', null);
				clearForm("#formulario");
			}
			
			if (msg == "codigo_invalido")
			{
				abreAlerta('Código digitado não confere com a imagem.', null);
			}

			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seu contato, tente novamete.', null);
			}
			
		});
	}	
}




/******************************************************************
	VALIDA CNPJ
******************************************************************/

function validaCnpj()
{
	with (document.formCnpj)
	{
		if (!isCpfCnpj(cnpj.value))
		{
			abreAlerta("Preencha o CNPJ da empresa corretamente.", 1000);
			cnpj.focus();
			return;
		}
		
		
		//Capta os dados do formulário
		document.formCnpj.action = 'index.php?pagina=cliente.solicitacao';
		document.formCnpj.submit();
	}	
}



/******************************************************************
	SOLICITAÇÃO
******************************************************************/

function validaSolicitacao()
{
	with (document.formulario)
	{
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.", 1000);
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.", 1000);
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.", 1000);
			email.focus();
			return;
		}
		
		if (isEmpty(empresa))
		{
			abreAlerta("Preencha o nome da empresa.", 1000);
			empresa.focus();
			return;
		}
		
		if (isEmpty(cnpj))
		{
			abreAlerta("Preencha o cnpj da empresa.", 1000);
			cnpj.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha o campo telefone.", 1000);
			telefone.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado.", 1000);
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade.", 1000);
			cidade.focus();
			return;
		}
		
		if (isEmpty(endereco))
		{
			abreAlerta("Preencha seu endereço.", 1000);
			endereco.focus();
			return;
		}
		
		if (isEmpty(cep))
		{
			abreAlerta("Preencha seu cep.", 1000);
			cep.focus();
			return;
		}
		
		if (isEmpty(empresa_destino))
		{
			abreAlerta("Preencha o nome da empresa de destino.", 1000);
			empresa_destino.focus();
			return;
		}
		
		
		if (isEmpty(estado_destino))
		{
			abreAlerta("Selecione o estado de destino.", 1000);
			estado_destino.focus();
			return;
		}
		
		if (isEmpty(cidade_destino))
		{
			abreAlerta("Selecione a cidade de destino.", 1000);
			cidade_destino.focus();
			return;
		}
		
		if (isEmpty(endereco_destino))
		{
			abreAlerta("Preencha o endereço de destino.", 1000);
			endereco_destino.focus();
			return;
		}
		
		if (isEmpty(cep_destino))
		{
			abreAlerta("Preencha o cep de destino.", 1000);
			cep_destino.focus();
			return;
		}
		
		
		if (isEmpty(tipo_mercadoria))
		{
			abreAlerta("Descreva o tipo de mercadoria.", 1000);
			tipo_mercadoria.focus();
			return;
		}
		
		
		if (isEmpty(largura))
		{
			abreAlerta("Especifique a(s) largura(s) do(s) volume(s).", 1000);
			largura.focus();
			return;
		}
		
		if (isEmpty(altura))
		{
			abreAlerta("Especifique a(s) altura(s) do(s) volume(s).", 1000);
			altura.focus();
			return;
		}
		
		if (isEmpty(peso))
		{
			abreAlerta("Especifique o(s) peso(s) do(s) volume(s).", 1000);
			peso.focus();
			return;
		}
		
		if (isEmpty(num_volumes))
		{
			abreAlerta("Escreva a quantidade de volumes.", 1000);
			num_volumes.focus();
			return;
		}
		
		
		if (isEmpty(valor_nf))
		{
			abreAlerta("Preencha o valor da nota fiscal.", 1000);
			valor_nf.focus();
			return;
		}
				
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("acoes.php?acao=solicitacao", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Sua solicitação de coleta foi enviada com sucesso, em breve retornaremos seu contato.<br><br>Obrigado<br>Equipe Transduarte.', null);
				clearForm("#formulario");
			}
			
			if (msg == "codigo_invalido")
			{
				abreAlerta('Código digitado não confere com a imagem.', null);
			}

			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seu contato, tente novamete.', null);
			}
			
		});
	}	
}


/*************************************************************************************
	COTAÇÃO
*************************************************************************************/

function validaCotacao()
{
	with (document.formulario)
	{
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.", 1000);
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.", 1000);
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.", 1000);
			email.focus();
			return;
		}
		
		if (isEmpty(empresa))
		{
			abreAlerta("Preencha o nome da empresa.", 1000);
			empresa.focus();
			return;
		}
		
		if (isEmpty(cnpj))
		{
			abreAlerta("Preencha o cnpj da empresa.", 1000);
			cnpj.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha o campo telefone.", 1000);
			telefone.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado onde reside.", 1000);
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade onde reside.", 1000);
			cidade.focus();
			return;
		}
		
		if (isEmpty(endereco))
		{
			abreAlerta("Preencha seu endereço.", 1000);
			endereco.focus();
			return;
		}
		
		if (isEmpty(cep))
		{
			abreAlerta("Preencha seu cep.", 1000);
			cep.focus();
			return;
		}
		
		if (isEmpty(empresa_destino))
		{
			abreAlerta("Preencha o nome da empresa de destino.", 1000);
			empresa_destino.focus();
			return;
		}
		
		
		if (isEmpty(estado_destino))
		{
			abreAlerta("Selecione o estado de destino.", 1000);
			estado_destino.focus();
			return;
		}
		
		if (isEmpty(cidade_destino))
		{
			abreAlerta("Selecione a cidade de destino.", 1000);
			cidade_destino.focus();
			return;
		}
		
		if (isEmpty(endereco_destino))
		{
			abreAlerta("Preencha o endereço de destino.", 1000);
			endereco_destino.focus();
			return;
		}
		
		if (isEmpty(cep_destino))
		{
			abreAlerta("Preencha o cep de destino.", 1000);
			cep_destino.focus();
			return;
		}
		
		if (isEmpty(tipo_mercadoria))
		{
			abreAlerta("Descreva o tipo de mercadoria.", 1000);
			tipo_mercadoria.focus();
			return;
		}		
		
		if (isEmpty(largura))
		{
			abreAlerta("Especifique a(s) largura(s) do(s) volume(s).", 1000);
			largura.focus();
			return;
		}
		
		if (isEmpty(altura))
		{
			abreAlerta("Especifique a(s) altura(s) do(s) volume(s).", 1000);
			altura.focus();
			return;
		}
		
		if (isEmpty(peso))
		{
			abreAlerta("Especifique o(s) peso(s) do(s) volume(s).", 1000);
			peso.focus();
			return;
		}
		
		if (isEmpty(num_volumes))
		{
			abreAlerta("Escreva a quantidade de volumes.", 1000);
			num_volumes.focus();
			return;
		}
		
		
		if (isEmpty(valor_nf))
		{
			abreAlerta("Preencha o valor da nota fiscal.", 1000);
			valor_nf.focus();
			return;
		}
		
		if (isEmpty(tipo_frete))
		{
			abreAlerta("Selecione o tipo de frete.", 1000);
			return;
		}
				
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("acoes.php?acao=cotacao", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Sua cotação online foi enviada com sucesso, em breve retornaremos seu contato.<br><br>Obrigado<br>Equipe Transduarte.', null);
				clearForm("#formulario");
			}
			
			if (msg == "codigo_invalido")
			{
				abreAlerta('Código digitado não confere com a imagem.', null);
			}

			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seu contato, tente novamete.', null);
			}
			
		});
	}	
}


/******************************************************************
	CADASTRO
******************************************************************/

function validaCadastro()
{
	with (document.formulario)
	{
		if (isEmpty(nome) || !isNotEqual(nome, 'Nome:'))
		{
			abreAlerta('Preencha seu nome.', 1000);
			nome.focus();
			return;
		}
		
		if (isEmpty(email) || !isNotEqual(email, 'E-mail:'))
		{
			abreAlerta('Preencha seu e-mail.', 1000);
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta('E-mail digitado é inválido.', 1000);
			email.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha um telefone de contato.", 1000);
			telefone.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade onde reside.", 1000);
			cidade.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado onde reside.", 1000);
			estado.focus();
			return;
		}
		
		if (isEmpty(cargo))
		{
			abreAlerta("Digite o cargo desejado.", 1000);
			cargo.focus();
			return;
		}	
		
		if (isEmpty(arquivo))
		{
			abreAlerta("Anexe seu currículo.", 1000);
			arquivo.focus();
			return;
		}
		
		if (!testFileType(arquivo.value, ['doc', 'docx', 'rtf', 'pdf', 'odt']))
		{
			abreAlerta("A extensão do arquivo selecionado é inválida.");
			arquivo.focus();
			return;								  
		}
				
		submit();		
	}	
}



/******************************************************************
	LOGIN
******************************************************************/

function validaLogin()
{
	with (document.formulario)
	{
		if (isEmpty(usuario))
		{
			abreAlerta('Preencha seu login.', 1000);
			usuario.focus();
			return;
		}
		
		if (isEmpty(senha))
		{
			abreAlerta('Digite sua senha.', 1000);
			senha.focus();
			return;
		}
		
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("acesso.php", dados, function(msg){
	
			if (msg == "erro_senha")
			{
				abreAlerta('Sua senha é inválida.', null);
			}
			
			if (msg == "erro")
			{
				abreAlerta('O usuário digitado é inválido.', null);
			}
			
			if (msg == "ok")
			{
				location.href = 'index.php?pg=arearestrita';
			}
						
		});
	}	
}


/******************************************************************
	ALERTA
******************************************************************/

function abreAlerta(msg, tempo)
{
	tm = (tempo==null || tempo=="") ? 2000 : tempo;
	
	$.blockUI({ 
		message: '<h2>'+msg+'</h2>',
		fadeIn: 400, 
        fadeOut: 200,
		timeout: 2000
	}); 	
}


/******************************************************************
	FOCUS E BLUR
******************************************************************/

function onFocus(campo, valor)
{
	if (campo.value == valor)
	{
		campo.value = "";
	}
}

function onBlur(campo, valor)
{
	if (campo.value == "")
	{
		campo.value = valor;
	}
}


/******************************************************************
	VALIDAÇÕES PADRÃO
******************************************************************/


function clearForm(form) 
{
	// iterate over all of the inputs for the form
	// element that was passed in
	$(':input', form).each(function() {
		
		var type = this.type;
		var tag = this.tagName.toLowerCase(); // normalize case
		
		// it's ok to reset the value attr of text inputs,
		// password inputs, and textareas
		if (type == 'text' || type == 'password' || tag == 'textarea')
			this.value = "";
		
		// checkboxes and radios need to have their checked state cleared
		// but should *not* have their 'value' changed
		else if (type == 'checkbox' || type == 'radio')
			this.checked = false;
		
		// select elements need to have their 'selectedIndex' property set to -1
		// (this works for both single and multiple select elements)
		else if (tag == 'select')
			this.selectedIndex = -1;
		
	});
}

function isEmpty(str)
{
	if (str.value == "" || str.value.length == 0)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isDefValue(str, def)
{
	if (str.value == def)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isInvalidFormat(str)
{
	var er = new RegExp(/[@!#$%&*+=?|-]/);
	
	if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isEqual(str1, str2)
{
	if (str2.value == str1.value)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isNotEqual(str, val)
{
	if (str.value != val)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isDate(str) 
{
	var dia = str.value.substr(0,2);
	var mes = str.value.substr(3,2);
	var ano = str.value.substr(6,4);
	
	var data = new Date();
	var intDia;
	var intMes;
	var intAno;

	data.setFullYear(ano, mes-1, dia);

	intDia = (data.getDate() == dia);
	intMes = (data.getMonth() == mes-1);
	intAno = (data.getFullYear() == ano);

	if (intDia && intMes && intAno)
	{
		return true;
	}
	else
	{
		return false;	
	}
}

function isEmail(str)
{
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
   
    if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isImage(str)
{
    var er = new RegExp(/[\w]+\.(gif|jpg|bmp|png|jpeg)$/gi);
   
    if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isDDD(str)
{
	var ddd = str.value.substr(1,2);
	
	if (ddd == "00" || str.length == 0 || str == "")
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isPhoneNumber(str)
{
	var fone   = str.value.substr(5,9);
	var digito = str.value.substr(5,1);
	var numero = fone.replace(".", "");	
	
	if (numero == "00000000" || numero == "11111111" || numero == "22222222" || numero == "33333333" || numero == "44444444" || numero == "55555555" || numero == "66666666" || numero == "77777777" || numero == "88888888" || numero == "99999999" || str.value.length < 14 || str.value == "" || digito == 0 || digito == 8 || digito == 9)
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isCelularNumber(str)
{
	var fone   = str.value.substr(5,9);
	var digito = str.value.substr(5,1);
	var numero = fone.replace(".", "");
	
	if (numero == "00000000" || numero == "11111111" || numero == "22222222" || numero == "33333333" || numero == "44444444" || numero == "55555555" || numero == "66666666" || numero == "77777777" || numero == "88888888" || numero == "99999999" || str.value.length < 14 || str.value == "" || digito < 8)
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isInteger(str)
{
	var er = new RegExp(/^[0-9]+$/);
	
	if (er.test(str.value)) 
	{
		return true;
	} 
	else 
	{
		return false;
	}
}

function testFileType(fileName, fileTypes) //['gif', 'jpg', 'png', 'jpeg']
{
	if (!fileName) return;
	
	dots = fileName.split(".");
	
	//get the part AFTER the LAST period.
	fileType = "." + dots[dots.length-1];
	
	return (fileTypes.join(".").indexOf(fileType) != -1) ? true : false;
}

function calculaIdade(d, m, y)
{
	var dia = parseInt(d);
	var mes = parseInt(m)-1;
	var ano = parseInt(y);
	
	var age;
	var now = new Date();
	
	diaAtual = now.getDate();
	mesAtual = now.getMonth();
	anoAtual = now.getFullYear();
	
	if ((mesAtual > mes)||(mesAtual == mes & diaAtual >= dia))
	{
		age = ano;
	}
	else
	{
		age = ano+1;
	}
	
	return anoAtual-age;
}