<?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_moneda.php");

function moneda_lista(){
		$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>array());
		if (isset($_POST["buscar"]) && isset($_POST["orden"])){
			$items_pagina = 0;
			$items_cantidad = 0;
			$buscar = $_POST["buscar"];
			$ordencambio = $_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_Moneda::Buscar($buscar, $ordencambio);
			$datos->cargar_datos($items_pagina, $items_cantidad);
			$lista = array();
			for ($idx=0; $idx<$datos->get_cantidad_cargados(); $idx++){
				array_push($lista, array(
					"moneda_id"=>$datos->get_moneda_id($idx),
					"nombre"=>$datos->get_nombre($idx),
					"codigo"=>$datos->get_codigo($idx),
					"simbolo"=>$datos->get_simbolo($idx),
					"cambio"=>$datos->get_cambio($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 moneda_datos(){
		$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>array());
		if (isset($_POST["buscar"])){
			$codigo = $_POST["buscar"];
			$datos = cls_Moneda::Indice($codigo);
			$respuestas["datos"] = array(
					"moneda_id"=>$datos->get_moneda_id(),
					"nombre"=>$datos->get_nombre(),
					"codigo"=>$datos->get_codigo(),
					"simbolo"=>$datos->get_simbolo(),
					"cambio"=>$datos->get_cambio(),
			);
			$respuestas["estado"]  = "ok";
			$respuestas["mensaje"]  = "Los datos se cargaron correctamente";
		} else {
			$respuestas["mensaje"]  = "Ocurrió un error recibiendo los datos.";
		}
		echo(json_encode($respuestas));
}
function moneda_registrar(){
		$respuestas = array("estado"=>"error", "mensaje"=>"", "codigo"=>0);
		$usuario_editor = 0;
		$codigo_id = 0;
		$activo = true;
		if (isset($_SESSION["usuario_editor"])){
			$usuario_editor = $_SESSION["usuario_editor"];
		}
		if (isset($_POST["txt_id"])){
			$codigo_id = $_POST["txt_id"];
		}
		if (isset($_POST["activo"])){
			$codigo_id = $_POST["activo"];
		}
		$nombre = $_POST["txt_nombre"];
		$codigo = $_POST["txt_codigo"];
		$simbolo = $_POST["txt_simbolo"];
		$cambio = $_POST["txt_cambio"];
		$datos = cls_Moneda::Indice($codigo_id);
		$registrar = true;
		if ($datos->get_moneda_id() == 0){
			$existente = cls_Moneda::Codigo($codigo);
			if ($existente->get_moneda_id() > 0){
				$registrar = false;
				$respuestas["mensaje"] = "El codigo de la moneda ya se encuentra en uso.";
			}
		} else if ($datos->get_moneda_id() > 0){
			$existente = cls_Group_Moneda::Codigo($codigo);
			$existente->cargar_datos(0, 0);
			if ($existente->get_cantidad_cargados() > 0){
				for ($idx=0; $idx<$existente->get_cantidad_cargados(); $idx++){
					if ($existente->get_codigo($idx) == $codigo && $existente->get_moneda_id($idx) != $datos->get_moneda_id()){
						$registrar = false;
						$respuestas["mensaje"] = "El codigo de la moneda ya se encuentra en uso.";
					}
				}
			}
		}
		if ($registrar) {
			$datos->set_nombre($nombre);
			$datos->set_codigo($codigo);
			$datos->set_simbolo($simbolo);
			$datos->set_cambio($cambio);
			$datos->set_activo($activo);
			if ($datos->registrar($usuario_editor)){
				$respuestas["codigo"] = $datos->get_moneda_id();
				$respuestas["estado"] = "ok";
				$respuestas["mensaje"] = "Los datos se cargaron correctamente";
			} else {
				$respuestas["mensaje"] = "Ocurrió un error recibiendo los datos.";
			}
		}
		echo(json_encode($respuestas));
}
function moneda_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_Moneda::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"){
		moneda_lista();
	} else if ($_POST["accion"] == "datos"){
		moneda_datos();
    } else if ($_POST["accion"] == "registrar"){
		moneda_registrar();
    } else if ($_POST["accion"] == "eliminar"){
		moneda_eliminar();
	}
}
?>
