<?php if (Session::get("tipo_usuario") != "1"){ show_403();} ?>
<?php if ($_SERVER["REQUEST_METHOD"] != "POST"){ show_403();} ?>
<?php import_file(DIR_TEMPLATES."header.php", ["title" => "Editar Plano de Produto", "active_page" => "planos"]); ?>
<?php import_file(DIR_MODELS."Model.class.php"); ?>
<?php import_file(DIR_LIBRARIES."functions.php"); ?>

<?php 

	$id_plano = encrypt_decode(filter_input(INPUT_POST, "id_plano", FILTER_SANITIZE_STRING));

	$model = new Model();

	$result = $model->query("SELECT * FROM plano WHERE id_plano = :id AND status_plano = 'S'", [":id" => $id_plano]);

	$dados = $result->fetch();

	$config = obter_configuracao();

?>

<h4 class="mb-3">
	<i class="fa-regular fa-edit"></i> Editar Plano de Produto
</h4>

<div class="content-box">
	<form id="form-plano">
		<div class="form-row">
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="nome-plano">Nome<span class="text-danger">*</span></label>
					<input type="text" name="nome_plano" id="nome-plano" class="form-control" value="<?php echo $dados->nome_plano; ?>" required>
				</div>
			</div>
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="porcentagem-valor-plano">Porcentagem do Valor do Produto<span class="text-danger">*</span></label>
					<div class="input-group">
						<div class="input-group-prepend">
							<div class="input-group-text">
								<i class="fa-regular fa-percentage"></i>
							</div>
						</div>
						<input type="number" name="porcentagem_valor_plano" id="porcentagem-valor-plano" class="form-control" min="0.01" max="100" step="0.01" value="<?php echo $dados->porcentagem_valor_plano; ?>" required>
					</div>
				</div>
			</div>
		</div>

		<div class="form-row">
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="cor-plano">Cor<span class="text-danger">*</span></label>
					<div class="input-group">
						<div class="input-group-prepend">
							<div class="input-group-text">
								<div id="campo-cor-plano" style="background-color: <?php echo $dados->cor_plano; ?>; border: 1px solid #ced4da; width: 23px; height: 23px; border-radius: 5px;"></div>
							</div>
						</div>
						<input type="text" id="hexadecimal-plano" class="form-control color-mask" value="<?php echo $dados->cor_plano; ?>" required>
						<div class="input-group-append ">
							<button type="button" id="escolher-cor-plano" class="btn btn-secondary">
								<i class="fa-regular fa-palette"></i> Escolher Cor
							</button>
						</div>
					</div>
					<input type="color" name="cor_plano" id="cor-plano" class="d-none" value="<?php echo $dados->cor_plano; ?>" required>
				</div>
			</div>

			<?php if ($config->comissao_indicacao == "S"): ?>
				<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
					<div class="form-group">
						<label for="porcentagem-comissao-plano">Porcentagem da Comissão<span class="text-danger">*</span></label>
						<div class="input-group">
							<div class="input-group-prepend">
								<div class="input-group-text">
									<i class="fa-regular fa-percentage"></i>
								</div>
							</div>
							<input type="number" name="porcentagem_comissao_plano" id="porcentagem-comissao-plano" class="form-control" min="0.01" max="100" step="0.01" value="<?php echo $dados->porcentagem_comissao_plano; ?>" required>
						</div>
					</div>
				</div>
			<?php endif; ?>
		</div>

		<?php

			$result = $model->query("
				SELECT * FROM nivel 
				WHERE 
					id_plano = :id 
				ORDER BY 
					id_nivel ASC 
			", [
				":id" => $id_plano
			]);

			if ($config->nivel_arvore > 0):
				echo "
					<hr>
					<h5 class='mb-3'>
						Distribuição por Níveis<br>
						<small>A divisão por nível é feita em cima da <i>Porcentagem do Valor do Produto</i>, onde esse valor assume o valor de 100% que será distribuído entre os níveis.</small>
					</h5>
					<div class='form-row'>
				";

				for ($i=0; $i < $config->nivel_arvore; $i++):
					$value = $result->fetch();

		?>
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="<?php echo "niveis-".($i+1); ?>">Porcentagem do Nível <?php echo ($i+1); ?><span class="text-danger">*</span></label>
					<div class="input-group">
						<div class="input-group-prepend">
							<div class="input-group-text">
								<i class="fa-regular fa-percentage"></i>
							</div>
						</div>
						<input type="number" name="niveis[]" id="<?php echo "niveis-".($i+1); ?>" class="form-control niveis" min="0" max="100" step="0.01" value="<?php echo $value->porcentagem_nivel; ?>" required>
					</div>
				</div>
			</div>
		<?php 

				endfor;
				echo "</div>";
			endif; 

		?>
		
		<input type="hidden" name="id_plano" class="d-none" value="<?php echo encrypt_encode($id_plano); ?>">

		<button type="submit" class="btn btn-primary">
			<i class="fa-regular fa-save"></i> Salvar
		</button>
		
		<a href="<?php echo show_link("/planos/"); ?>" class="btn btn-secondary">
			<i class="fa-regular fa-arrow-left"></i> Voltar
		</a>
	</form>
</div>

<script>
	$("#escolher-cor-plano").click(function(){
		$("#cor-plano").click();
		$("#cor-plano").change(function(){
			var color = $("#cor-plano").val();
			$("#campo-cor-plano").css("background", color);
			$("#hexadecimal-plano").val(color);
		});
	});

	$("#hexadecimal-plano").keyup(function(){
		var color = $(this).val();
		$("#cor-plano").val(color);
		$("#campo-cor-plano").css("background", color);
	});

	$("#form-plano").submit(function(event){
		event.preventDefault();
		var form = $(this);
		$.ajax({
			type: "POST",
			data: form.serialize(),
			url: "<?php echo show_link("/editar-plano/"); ?>",
			async: true
		}).then(function(response){
			var result = $.parseJSON(response);
			if (result.status == true) {
				$.toast({
					heading: "Aviso",
					text: "Dados Atualizado com Sucesso!",
					icon: "success",
					loader: true
				});
			}
			else if (result.status == false && result.motivo == "nome") {
				$("#nome-plano").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "Um plano com esse nome já foi cadastrado no sistema!",
					icon: "warning",
					loader: true
				});
				$("#nome-plano").keyup(function(){
					$(this).removeClass("is-warning");
					$(this).off("keyup");
				});
			}
			else if (result.status == false && result.motivo == "cor") {
				$("#cor-plano").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "Um plano com essa cor já foi cadastrado no sistema!",
					icon: "warning",
					loader: true
				});
				$("#cor-plano").keyup(function(){
					$(this).removeClass("is-warning");
					$(this).off("keyup");
				});
			}
			else{
				$.toast({
					heading: "Aviso",
					text: "Erro ao Atualizar os Dados!",
					icon: "error",
					loader: true
				});
			}
		}, function(error){
			console.log("Erro: "+error);
		});
	});

	$(".niveis").keyup(function(){
		var total_p = 0;
		$(".niveis").each(function(){
			total_p += Number(this.value);
		});

		if (total_p > 100 || total_p < 0) {
			$("#form-plano > button[type=submit]").attr("disabled", true);
			$("#form-plano > input[type=submit]").attr("disabled", true);

			$.toast({
				heading: "Aviso",
				text: "O total de porcentagem não pode ser maior que 100% e nem menor do que 0%!",
				icon: "warning",
				hideAfter: 5000,
				loader: true
			});
		}
		else{
			$("#form-plano > button[type=submit]").attr("disabled", false);
			$("#form-plano > input[type=submit]").attr("disabled", false);
		}
	});

	$(".color-mask").mask("SFFFFFF", {'translation': {
		S: {pattern: /[#]/},
		F: {pattern: /[ A-Fa-f0-9]/}}
	});
</script>

<?php import_file(DIR_TEMPLATES."footer.php"); ?>