// JavaScript Document
// Abre o popup
function AbrePopUp(nomePagina, altura, largura)
{
  // Define a posicao a esquerda do popup
  var left = (screen.width - largura) / 2;

  // Define a posicao do topo do popup
  var top = (screen.height - altura) / 2;

  // Abre uma nova janela
  window.open(nomePagina,'_blank', 'menubar=no, toolbar=no, scrollbars=no, resizable=no, top=' + top + ', left=' + left + ', height=' + altura + ', width=' + largura);
}

// Abre o pop up de mensagens
function AbrePopUpMensagem(tipoMensagem)
{
	AbrePopUp('mensagem.php?tipoMensagem=' + tipoMensagem, 250, 300);
}

function AlterarEnderecoEntrega(opcao, idDiv1,idDiv2)
{
	objDiv1 = document.getElementById(idDiv1);

	if (opcao == 3)	
		objDiv1.style.display = 'block';
	else
		objDiv1.style.display = 'none';
		
	objDiv2 = document.getElementById(idDiv2);

	if (opcao == 3)	
		objDiv2.style.display = 'block';
	else
		objDiv2.style.display = 'none';
}

// Enviar Pedido
function EnviarPedido()
{
	var mensagem = '';
	var cont = 0;
	
	// Se o nome está vazio
	if (document.frmCart.txtName.value == '')
	{
		alert("O campo 'Nome' é obrigatório.")
		document.frmCart.txtName.focus();
		return false;
	}
	
	// Se o email está vazio
	if (document.frmCart.txtEmail.value == '')
	{
		alert("O campo 'E-mail' é obrigatório.")
		document.frmCart.txtEmail.focus();
		return false;
	}
	else
	{
		// Se email é inválido
		if (!IsEmail(document.frmCart.txtEmail.value))
		{
			cont++;
			mensagem += cont + ") E-mail inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um e-mail válido.\n\n";
		}
	}
	
	// Se CPF/CNPJ é invalido
	if (document.frmCart.txtRegistrationCode.value.length < 15 && !IsCPF(RetornarSomenteNumeros(document.frmCart.txtRegistrationCode.value)))
	{
		cont++;
		mensagem += cont + ") CPF inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um CPF válido.\n\n";
	}
	else
	{
		// Se o CNPJ não é válido
		if (document.frmCart.txtRegistrationCode.value.length >= 15 && !IsCNPJ(RetornarSomenteNumeros(document.frmCart.txtRegistrationCode.value)))
		{
			cont++;
			mensagem += cont + ") CNPJ inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um CNPJ válido.\n\n";
		}
	}
	
	// Se o Telefone está vazio
	if (document.frmCart.txtTelephone.value == '')
	{
		alert("O campo 'Telefone' é obrigatório.")
		document.frmCart.txtTelephone.focus();
		return false;
	}
	else
	{
		// Se o telefone não é válido
		if (document.frmCart.txtTelephone.value.length < 14)
		{
			cont++;
			mensagem += cont + ") Telefone inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um telefone válido.\n\n";
		}
	}
	
	// Se o Celular está vazio
	if (document.frmCart.txtTelephone.value == '' && document.frmCart.txtCellPhone.value == '')
	{
		alert("O campo 'Celular' é obrigatório.")
		document.frmCart.txtCellPhone.focus();
		return false;
	}
	else
	{
		// Se o celular não é válido
		if (document.frmCart.txtCellPhone.value.length < 14)
		{
			cont++;
			mensagem += cont + ") Celular inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um celular válido.\n\n";
		}
	}
	
	// Se o Logradouro está vazio
	if (document.frmCart.txtAddress.value == '')
	{
		alert("O campo 'Logradouro' é obrigatório.")
		document.frmCart.txtAddress.focus();
		return false;
	}
	
	// Se o Número está vazio
	if (document.frmCart.txtNumber.value == '')
	{
		alert("O campo 'Número' é obrigatório.")
		document.frmCart.txtNumber.focus();
		return false;
	}

	// Se o Endereço está vazio
	if (document.frmCart.txtDistrict.value == '')
	{
		alert("O campo 'Bairro' é obrigatório.")
		document.frmCart.txtDistrict.focus();
		return false;
	}

	// Se o CEP está vazio
	if (document.frmCart.txtZip.value == '')
	{
		alert("O campo 'CEP' é obrigatório.")
		document.frmCart.txtZip.focus();
		return false;
	}
	else
	{
		// Se o CEP não é válido
		if (!IsCEPUf(document.frmCart.ddlState.value, document.frmCart.txtZip.value))
		{
			cont++;
			mensagem += cont + ") CEP inválido.\n\n" +
								"Sugestão de solução:\n\n" +
								"Informe um CEP válido.\n\n";
		}
	}

	// Se o Estado está vazio
	if (document.frmCart.ddlState.value == '')
	{
		alert("O campo 'Estado' é obrigatório.")
		document.frmCart.ddlState.focus();
		return false;
	}

	// Se o Cidade está vazio
	if (document.frmCart.txtCity.value == '')
	{
		alert("O campo 'Cidade' é obrigatório.")
		document.frmCart.txtCity.focus();
		return false;
	}
	
	// Se existe mensagem de erro
	if (cont > 0)
	{
		alert(mensagem);
		return false;
	}
	
	return true;
}

function AtualizarQuantidade()
{
	document.frmCart.hdAcao.value = "Atualizar";
	
	return true;
}

function Limpar(valor, validos) {
	// retira caracteres invalidos da string
	var result = "";
	var aux;
	
	for (var i=0; i < valor.length; i++) {
		aux = validos.indexOf(valor.substring(i, i+1));
		if (aux>=0) {
			result += aux;
		}
	}
	
	return result;
}

function RetornarSomenteNumeros(valor)
{
	validos = "0123456789";
	return Limpar(valor, validos);
}
