<?php
class bancos extends CI_Controller
{
	protected $_fechaActual;
	protected $_iduser;
	protected $_csstyle;
    protected $_tables;
    protected $_role;

	function __construct()
	{
		parent::__construct();

		if( ! $this->redux_auth->logged_in() )
		{
 			redirect(base_url().'login');
 		}

		$this->config->load('datatables', TRUE);
		$this->config->load('style', TRUE);
		$this->config->load('js',TRUE);
		
		$datestring   			= "%Y-%m-%d %H:%i:%s";
	    $this->_fechaActual 	= mdate($datestring,now());
		$this->_iduser		 	= $this->session->userdata('id');
		$this->_role 			= $this->session->userdata('role');
		$this->_csstyle 		= $this->config->item('style');
		$this->_tables 			= $this->config->item('datatables');
		$this->_table 			= $this->config->item('datatables');
		
		$this->_jss=$this->config->item('js');
		
		$this->load->model("modelousuario","modelousuario");
		$this->load->model("modelo_configuracion","configuracion");
		$this->load->model("bancos_model","bancos");
		
		if($this->session->userdata('matriz')=='1')
		{
			redirect('reportes/lista','refresh');
		}
     }

	public function index()
	{
		$Data['title']				= "Panel de Administración";
		$Data['cassadmin']			=$this->_csstyle["cassadmin"];
		$Data['csmenu']				=$this->_csstyle["csmenu"];
		$Data['csvalidate']			=$this->_csstyle["csvalidate"];
		$Data['csui']				=$this->_csstyle["csui"];
		$Data['nameusuario']		=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']		=$this->_fechaActual;
		$Data['Jry']				=$this->_jss['jquery'];
		$Data['JFuntBuscaClientes']	=$this->_jss['JFuntBuscaClientes'];
		$Data['jvalidate']			=$this->_jss['jvalidate'];
		$Data['Jqui']				=$this->_jss['jqueryui'];
		$Data['permisos']			=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']			='configuracion'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('19',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['bancos'] 		= $this->bancos->obtenerBancos();
		
		$this->load->view("bancos/index",$data);
		$this->load->view("pie",$data);
	}
	
	public function formularioBancos()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtNombre").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerBancosRepetidos",
				
				select:function( event, ui)
				{
					notify("El banco ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtNombre").reset();
				}
			});
		});
		</script>
		<form id="frmBancos" name="frmBancos" method="post" action="'.base_url().'bancos/registrarBanco" enctype="multipart/form-data">
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre:</td>
				<td>
					<input type="text" class="cajasNormales" id="txtNombre" name="txtNombre" />
				</td>
			</tr>	
			
			<tr>
				<td class="key">Sucursal:</td>
				<td>
					<input type="text" class="cajasNormales" id="txtSucursal" name="txtSucursal" />
				</td>
			</tr>	
			
			<tr>
				<td class="key">Logotipo:</td>
				<td>
					<input type="file" class="cajasNormales" id="txtLogotipo" name="txtLogotipo" style="height:24px" />
				</td>
			</tr>	
			
			<tr style="display:none">
				<td class="key">Factura:</td>
				<td>
					<input type="checkbox" id="chkFactura" name="chkFactura" value="1" />
				</td>
			</tr>	
			
		</table>
		</form>';
	}
	
	public function registrarBanco()
	{
		if(!empty($_POST))
		{
			$banco=$this->bancos->registrarBanco();
			
			$banco=="1"?
				$this->session->set_userdata('notificacion','El banco se ha registrado correctamente'):'';
				
			redirect('bancos');
		}
	}
	
	public function editarBanco()
	{
		if(!empty($_POST))
		{
			$banco=$this->bancos->editarBanco();
			
			$banco=="1"?
				$this->session->set_userdata('notificacion','El banco se ha editado correctamente'):'';
				
			redirect('bancos');
		}
	}
	
	public function obtenerBanco()
	{
		$idBanco	=$this->input->post('idBanco');
		$banco		=$this->bancos->obtenerBanco($idBanco);
		
		echo'
		<form id="frmBancos" name="frmBancos" method="post" action="'.base_url().'bancos/editarBanco" enctype="multipart/form-data">
		<table class="admintable" width="100%">
			<tr>
			<td class="key">Nombre:</td>
			<td>
				<input type="text" class="cajasNormales" value="'.$banco->nombre.'" id="txtNombre" name="txtNombre" />
				<input type="hidden" value="'.$idBanco.'" id="txtIdBanco" name="txtIdBanco" />
			</td>
			</tr>	
			
			<tr>
				<td class="key">Sucursal:</td>
				<td>
					<input type="text" class="cajasNormales" id="txtSucursal" name="txtSucursal" value="'.$banco->sucursal.'" />
				</td>
			</tr>	
			
			<tr>
				<td class="key">Logotipo:</td>
				<td>
					<input type="file" class="cajasNormales" id="txtLogotipo" name="txtLogotipo" style="height:24px" />';
					if(strlen($banco->logotipo)>2)
					{
						if(file_exists('media/'.$banco->idBanco.'_'.$banco->logotipo))
						{
							echo '<img src="'.base_url().'media/'.$banco->idBanco.'_'.$banco->logotipo.'" style="width:50px; height:50px;" />';
						}
					}
				echo'
				</td>
			</tr>';
			
			$checado=$banco->factura==1?'checked="checked"':'';
			
			echo'
			<tr style="display:none">
				<td class="key">Factura:</td>
				<td>
					<input '.$checado.' type="checkbox" id="chkFactura" name="chkFactura" value="1" />
				</td>
			</tr>	
			
		</table>
		</form>';
	}
	
	public function cuentas()
	{
		$Data['title']				= "Panel de Administración";
		$Data['cassadmin']			=$this->_csstyle["cassadmin"];
		$Data['csmenu']				=$this->_csstyle["csmenu"];
		$Data['csvalidate']			=$this->_csstyle["csvalidate"];
		$Data['csui']				=$this->_csstyle["csui"];
		$Data['nameusuario']		=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']		=$this->_fechaActual;
		$Data['Jry']				=$this->_jss['jquery'];
		$Data['JFuntBuscaClientes']	=$this->_jss['JFuntBuscaClientes'];
		$Data['jvalidate']			=$this->_jss['jvalidate'];
		$Data['Jqui']				=$this->_jss['jqueryui'];
		$Data['permisos']			=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']='configuracion'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('19',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas'] 	= $this->bancos->obtenerCuentas();
		$data['bancos'] 	= $this->bancos->obtenerBancos();
		
		$this->load->view("bancos/cuentas",$data);
		$this->load->view("pie",$data);
	}
	
	public function formularioCuentas()
	{
		$bancos 	= $this->bancos->obtenerBancos();
		
		echo'
		<table class="admintable" width="100%">
			<tr>
			  <td class="key">Banco:</td>
			  <td>
				<select class="cajas" id="selectBancos" name="selectBancos">';
					foreach($bancos as $row)
					{
						print('<option value="'.$row->idBanco.'">'.$row->nombre.'</option>');	
					}
				
				echo'
                </select>
			  </td>
			</tr>	
			<tr>
			  <td class="key">No. Cuenta:</td>
			  <td>
				<input name="txtCuenta" id="txtCuenta" type="text" class="cajasNormales" style="width:70%" />
			  </td>
			</tr>	
			<tr>
			  <td class="key">Clabe:</td>
			  <td>
			 <input name="txtClabe" id="txtClabe" type="text" class="cajasNormales" style="width:70%" />
			  </td>
			</tr>	
			<tr >
				<td class="key">Factura:</td>
				<td>
					<input type="checkbox" id="chkFactura" name="chkFactura" value="1" />
				</td>
			</tr>	
		</table>';
	}
	
	public function obtenerCuenta()
	{
		$idCuenta	=$this->input->post('idCuenta');
		$bancos 	= $this->bancos->obtenerBancos();
		$cuenta 	= $this->bancos->obtenerCuenta($idCuenta);
		
		echo'
		<table class="admintable" width="100%">
			<tr>
			  <td class="key">Banco:</td>
			  <td>
				<select class="cajas" id="selectBancos" name="selectBancos">';
					foreach($bancos as $row)
					{
						$seleccionado=$row->idBanco==$cuenta->idBanco?'selected="selected"':'';
						
						echo '<option '.$seleccionado.' value="'.$row->idBanco.'">'.$row->nombre.'</option>';	
					}
				
				echo'
                </select>
			  </td>
			</tr>	
			<tr>
			  <td class="key">No. Cuenta:</td>
			  <td>
				<input name="txtCuenta" value="'.$cuenta->cuenta.'" id="txtCuenta" type="text" class="cajasNormales" style="width:70%" />
				<input name="txtIdCuenta" value="'.$idCuenta.'" id="txtIdCuenta" type="hidden"/>
			  </td>
			</tr>	
			<tr>
			  <td class="key">Clabe:</td>
			  <td>
			 <input name="txtClabe" value="'.$cuenta->clabe.'" id="txtClabe" type="text" class="cajasNormales" style="width:70%" />
			  </td>
			</tr>';
			
			$checado=$cuenta->factura==1?'checked="checked"':'';
			
			echo'
			<tr>
				<td class="key">Factura:</td>
				<td>
					<input '.$checado.' type="checkbox" id="chkFactura" name="chkFactura" value="1" />
				</td>
			</tr>	
		</table>';
	}
	
	public function registrarCuenta()
	{
		if(!empty($_POST))
		{
			$cuenta=$this->bancos->registrarCuenta();
			
			$cuenta=="1"?
				$this->session->set_userdata('notificacion','La cuenta se ha registrado correctamente'):'';
				
			echo $cuenta;
		}
	}
	
	public function editarCuenta()
	{
		if(!empty($_POST))
		{
			$cuenta	=$this->bancos->editarCuenta();
			
			$cuenta=="1"?
				$this->session->set_userdata('notificacion','La cuenta se ha editado correctamente'):'';
				
			echo $cuenta;
		}
	}
	
	public function borrarCuenta($idCuenta)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('19',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$cuenta=$this->bancos->borrarCuenta($idCuenta);
		
		$cuenta=="1"?
				$this->session->set_userdata('notificacion','La cuenta se ha borrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al borrar la cuenta porque esta asociada ingresos o egresos');
				
		redirect('bancos/cuentas','refresh');
	}

	public function borrarBanco($idBanco)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('19',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$banco=$this->bancos->borrarBanco($idBanco);
		
		#echo $banco;
		
		$banco=="1"?
				$this->session->set_userdata('notificacion','El banco se ha borrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al borrar el banco porque esta asociado a una o más cuentas');
		
		redirect('bancos', 'refresh');
	}
}
?>