<?php if ($_SERVER["REQUEST_METHOD" == "POST"]){ show_403();} ?>
<?php if (Session::get("tipo_usuario") != "1"){ show_403();} ?>
<?php import_file(DIR_TEMPLATES."header.php", ["title" => "Editar Usuário", "active_page" => "usuarios"]); ?>
<?php import_file(DIR_MODELS."Model.class.php"); ?>

<?php 

	$id_usuario = (int) encrypt_decode(filter_input(INPUT_POST, "id_usuario", FILTER_SANITIZE_STRING));

	$model = new Model();

	$result = $model->query("
		SELECT * FROM usuario 
		WHERE 
			id_usuario = :id
	", [
		":id" => $id_usuario
	]);

	$data = $result->fetch();

?>

<h4 class="mb-3">
	<i class="fa-regular fa-edit"></i> Editar Usuário
</h4>

<div class="content-box">
	<div class="alert alert-info mb-3">
		<strong><i class="fa-regular fa-info-circle"></i> Aviso:</strong> Preencha o campo senha apenas se for querer alterar a senha de acesso do sistema.
	</div>

	<form id="form-editar-usuario">
		<div class="form-row">
			<div class="col-xl-4 col-lg-4 col-md-4 col-sm-12">
				<div class="form-group">
					<label for="nome-usuario">Nome</label>
					<input type="text" name="nome_usuario" id="nome-usuario" class="form-control" maxlength="100" value="<?php echo $data->nome_usuario; ?>">
				</div>
			</div>
			<div class="col-xl-4 col-lg-4 col-md-4 col-sm-12">
				<div class="form-group">
					<label for="cpf-usuario">CPF/CNPJ</label>
					<input type="text" name="cpf_usuario" id="cpf-usuario" class="form-control" value="<?php echo $data->cpf_usuario; ?>">
				</div>
			</div>
			<div class="col-xl-4 col-lg-4 col-md-4 col-sm-12">
				<div class="form-group">
					<label for="telefone-usuario">Telefone</label>
					<input type="text" name="telefone_usuario" id="telefone-usuario" class="form-control" value="<?php echo $data->telefone_usuario; ?>">
				</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="data-nascimento-usuario">Data Nascimento</label>
					<input type="text" name="data_nascimento_usuario" id="data-nascimento-usuario" class="form-control" value="<?php echo convert_date($data->data_nascimento_usuario); ?>">
				</div>
			</div>
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="sexo-usuario">Sexo</label>
					<select name="sexo_usuario" id="sexo-usuario" class="form-control">
						<option value="">Selecione um...</option>
						<option value="M">Masculino</option>
						<option value="F">Feminino</option>
					</select>

					<script>
						$(function(){
							$("#sexo-usuario").val("<?php echo $data->sexo_usuario; ?>");
						});
					</script>
				</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="id-estado">Estado<span class="text-danger">*</span></label>
					<select name="id_estado" id="id-estado" class="form-control" required>
						<option value="">Selecione um...</option>

						<?php 

							$model = new Model();

							$estados = $model->query("SELECT * FROM estado ORDER BY nome_estado ASC");

							foreach ($estados->fetchAll() as $i):

						?>
							<option value="<?php echo $i->id_estado; ?>"><?php echo $i->nome_estado; ?></option>
						<?php endforeach; ?>
					</select>

					<script>
						$(function(){
							$("#id-estado").val("<?php echo $data->id_estado; ?>");
						});
					</script>
				</div>
			</div>

			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="id-cidade">Cidade<span class="text-danger">*</span></label>
					<select name="id_cidade" id="id-cidade" class="form-control" required>
						<option value="">Selecione um...</option>

						<?php 

							$model = new Model();

							$cidades = $model->query("
								SELECT * FROM cidade 
								WHERE
									id_estado = :id
								ORDER BY 
									nome_cidade ASC
							", [
								":id" => $data->id_estado
							]);

							foreach ($cidades->fetchAll() as $i):

						?>
							<option value="<?php echo $i->id_cidade; ?>"><?php echo $i->nome_cidade; ?></option>
						<?php endforeach; ?>
					</select>

					<script>
						$(function(){
							$("#id-cidade").val("<?php echo $data->id_cidade; ?>");
						});
					</script>
				</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="email-usuario">E-mail</label>
					<input type="email" name="email_usuario" id="email-usuario" class="form-control" maxlength="255" value="<?php echo $data->email_usuario; ?>">
				</div>
			</div>
			<div class="col-xl-6 col-lg-6 col-md-6 col-sm-12">
				<div class="form-group">
					<label for="senha-usuario">Senha<span class="text-danger">*</span></label>
					<div class="input-group">
						<input type="password" name="senha_usuario" id="senha-usuario" class="form-control" minlength="6" maxlength="32">
						<div class="input-group-append">
							<button type="button" id="btn-senha" class="btn btn-white">
								<i class="fa-regular fa-eye-slash"></i>
							</button>
						</div>
					</div>
				</div>	
			</div>
		</div>

		<input type="hidden" name="id_usuario" value="<?php echo encrypt_encode($id_usuario); ?>">

		<button type="submit" class="btn btn-primary">
			<i class="fa-regular fa-save"></i> Salvar
		</button>

		<a href="<?php echo show_link("/usuarios/"); ?>" class="btn btn-secondary">
			<i class="fa-regular fa-arrow-left"></i> Voltar
		</a>
	</form>
</div>

<script>
	$("#cpf-usuario").mask("000.000.000-00", {
		onKeyPress : function(cpfcnpj, e, field, options) {
			const masks = ["000.000.000-000", "00.000.000/0000-00"];
			const mask = (cpfcnpj.length > 14) ? masks[1] : masks[0];
			$("#cpf-usuario").mask(mask, options);
		}
	});

	$("#data-nascimento-usuario").mask("00/00/0000");
	$("#telefone-usuario").mask("(00) 00000-0000");

	$("#id-estado").change(function(){
		var id = $(this).val();

		$(".option-cidade").remove();

		if ($(this).val() != "") {
			$.ajax({
				type: "POST",
				data: {id_estado: id},
				url: "<?php echo show_link("/obter-cidades/"); ?>",
				async: true
			}).then(function(response){
				var result = $.parseJSON(response);

				if (result.status == true) {
					var html = "";

					$.each(result.dados, function(i, data){
						html += '<option value="'+data.id_cidade+'" class="option-cidade">'+data.nome_cidade+'</option>';
						console.log(data);
					});

					$("#id-cidade").append(html);
				}
			}, function(error){
				console.log("Erro: "+error);
			});
		}
	});

	$("#btn-senha").click(function(){
		if ($("#senha-usuario").attr("type") == "password") {
			$("#senha-usuario").attr("type", "text");
			$(this).html('<i class="fa-regular fa-eye"></i>');
		}
		else{
			$("#senha-usuario").attr("type", "password");
			$(this).html('<i class="fa-regular fa-eye-slash"></i>');
		}
	});

	$("#form-editar-usuario").submit(function(event){
		event.preventDefault();
		var form = $(this);
		$.ajax({
			type: "POST",
			data: form.serialize(),
			url: "<?php echo show_link("/editar-usuario/"); ?>",
			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.reason == "cpf") {
				$("#cpf-usuario").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "Esse CPF ou CNPJ já foi cadastrado no sistema!",
					icon: "warning",
					loader: true
				});
				$("#cpf-usuario").keyup(function(){
					$(this).removeClass("is-warning");
					$(this).off("keyup");
				});
			}
			else if (result.status == false && result.reason == "cpf_false") {
				$("#cpf-usuario").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "CPF ou CNPJ Inválido!",
					icon: "warning",
					loader: true
				});
				$("#cpf-usuario").keyup(function(){
					$(this).removeClass("is-warning");
					$(this).off("keyup");
				});
			}
			else if (result.status == false && result.reason == "data_false") {
				$("#data-nascimento-usuario").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "Data de Nascimento Inválida!",
					icon: "warning",
					loader: true
				});
				$("#data-nascimento-usuario").keyup(function(){
					$(this).removeClass("is-warning");
					$(this).off("keyup");
				});
			}
			else if (result.status == false && result.reason == "email") {
				$("#email-usuario").addClass("is-warning");
				$.toast({
					heading: "Aviso",
					text: "Esse e-mail já foi cadastrado no sistema!",
					icon: "warning",
					loader: true
				});
				$("#email-usuario").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);
		});
	});
</script>

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