<?php
header("Content-Type: text/html;charset=utf-8");
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

require_once("../data/Conexion.php");
require_once("../data/Tablas.php");
require_once("../clases/cls_categoria.php");

function categoria_lista(){
	$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>array());
	if (isset($_POST["buscar"])){
		$items_pagina = 0;
		$items_cantidad = 0;
		$buscar = $_POST["buscar"];
		$ordendireccion = "ASC";
		if (isset($_POST["orden"])){
			$ordendireccion = $_POST["orden"];
		}
		if (isset($_POST["items_pagina"])){
			$items_pagina = $_POST["items_pagina"];
		}
		if (isset($_POST["items_cantidad"])){
			$items_cantidad = $_POST["items_cantidad"];
		}
		$datos = cls_Group_Categoria::Buscar($buscar, $ordendireccion);
		$datos->cargar_datos($items_pagina, $items_cantidad);
		$lista = array();
		for ($idx=0; $idx<$datos->get_cantidad_cargados(); $idx++){
			array_push($lista, array(
				"categoria_id"=>$datos->get_categoria_id($idx),
				"codigo"=>$datos->get_codigo($idx),
				"nombre"=>$datos->get_nombre($idx),
			));
		}
		$respuestas["datos"] = $lista;
		$respuestas["estado"]  = "ok";
		$respuestas["mensaje"]  = "Los datos se cargaron correctamente";
	} else {
		$respuestas["mensaje"]  = "Ocurrió un error recibiendo los datos.";
	}
	echo(json_encode($respuestas));
}
function categoria_datos(){
	$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>array());
	if (isset($_POST["buscar"])){
		$codigo = $_POST["buscar"];
		$datos = cls_Categoria::Indice($codigo);
		$respuestas["datos"] = array(
				"categoria_id"=>$datos->get_categoria_id(),
				"codigo"=>$datos->get_codigo(),
				"nombre"=>$datos->get_nombre(),
		);
		$respuestas["estado"]  = "ok";
		$respuestas["mensaje"]  = "Los datos se cargaron correctamente";
	} else {
		$respuestas["mensaje"]  = "Ocurrió un error recibiendo los datos.";
	}
	echo(json_encode($respuestas));
}
function categoria_registrar(){
	$respuestas = array("estado"=>"error", "mensaje"=>"", "codigo"=>0);
	$usuario_editor = 0;
	$codigo = 0;
	$activo = true;
	if (isset($_SESSION["usuario_editor"])){
		$usuario_editor = $_SESSION["usuario_editor"];
	}
	if (isset($_POST["txt_codigo"])){
		$codigo = $_POST["txt_codigo"];
	}
	if (isset($_POST["activo"])){
		$activo = $_POST["activo"];
	}
	$codigo_reg = $_POST["txt_cat_codigo"];
	$nombre = $_POST["txt_cat_nombre"];
	$registrar = true;
	$datos = cls_Categoria::Indice($codigo);
	if ($registrar === true){
		$datos->set_codigo($codigo_reg);
		$datos->set_nombre($nombre);
		$datos->set_activo($activo);
		if ($datos->registrar($usuario_editor)){
			$respuestas["codigo"] = $datos->get_categoria_id();
			$respuestas["estado"]  = "ok";
			$respuestas["mensaje"]  = "Los datos se cargaron correctamente";
		} else {
			$respuestas["mensaje"]  = "Ocurrió un error registrando los datos.";
		}
	}
	echo(json_encode($respuestas));
}
function categoria_eliminar(){
	$respuestas = array("estado"=>"error", "mensaje"=>"");
	if (isset($_POST["buscar"])){
		$usuario_editor = 0;
		if (isset($_SESSION["usuario_editor"])){
			$usuario_editor = $_SESSION["usuario_editor"];
		}
		$codigo = $_POST["buscar"];
		$datos = cls_Categoria::Indice($codigo);
		if ($datos->eliminar($usuario_editor)){
			$respuestas["estado"]  = "ok";
			$respuestas["mensaje"]  = "Los datos se eliminaron correctamente";
		} else {
			$respuestas["mensaje"]  = "No se pudo eliminar los datos correctamente";
		}
	} else {
		$respuestas["mensaje"]  = "Ocurrió un error recibiendo los datos.";
	}
	echo(json_encode($respuestas));
}

if (isset($_POST["accion"])){
    if ($_POST["accion"] == "lista"){
		categoria_lista();
	} else if ($_POST["accion"] == "datos"){
		categoria_datos();
    } else if ($_POST["accion"] == "registrar"){
		categoria_registrar();
    } else if ($_POST["accion"] == "eliminar"){
		categoria_eliminar();
	}
}
?>
