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

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

		if(!$this->redux_auth->logged_in())
		{
 			redirect(base_url().'login');
 		}
		
		$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->config->load('datatables', TRUE);
		$this->_tables = $this->config->item('datatables');

		$this->config->load('style', TRUE);
		$this->_csstyle = $this->config->item('style');

        $this->config->load('js',TRUE);
        $this->_jss=$this->config->item('js');

        $this->load->model("modelousuario","modelousuario");
        $this->load->model("modeloclientes","modeloclientes");
        $this->load->model("ventas_model","ventas");
		$this->load->model("compras_modelo","compras");
		$this->load->model("bancos_model","bancos");
		$this->load->model("proveedores_model","modeloproveedores");
		$this->load->model("proveedores_model","proveedores");
		$this->load->model('modelo_configuracion','configuracion');
		$this->load->model('inventarioproductos_modelo','inventario');
		$this->load->model('reportes_model','reportes');
		
		if($this->session->userdata('matriz')=='1')
		{
			redirect('reportes/lista','refresh');
		}
		
	}//construct

	function index($Limite=0)
	{
		
	}

	public function prebusquedaFecha($fecha)
	{
		if($fecha=='nada')
		{
			$fecha="";			
		}
		
		$this->session->set_userdata('fechaCompras',$fecha);
		
		redirect('compras/administracion','refresh');
	}
	
	#------------------------------OBTENER TODAS LAS COMPRAS---------------------------------#	 
	public function administracion($Limite=0)
	{
		redirect('compras/productos');
		
		$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['JFuntInventario']=$this->_jss['JFuntInventario'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='compras'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url		=base_url()."compras/administracion/";
		$registros	=$this->compras->contarCompras();
		$numero		=15;
		$links		=5;
		$uri		=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('3',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['compras'] 		= $this->compras->obtenerCompras($numero,$Limite);
		$data['proveedores'] 	= $this->modeloproveedores->obtenerProveedores();
		$data['unidades'] 		= $this->configuracion->obtenerUnidades();
		$data['inicio']  		= $Limite;

		$this->load->view("compras/index",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	#------------------------------OBTENER TODAS LAS COMPRAS DE PRODUCTOS---------------------------------#	 
	public function productos()
	{
		$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['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='compras'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('3',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['proveedores'] 	= $this->modeloproveedores->obtenerProveedores();
		$data['unidades'] 		= $this->configuracion->obtenerUnidades();
		$data['consecutivo']	= $this->compras->obtenerConsecutivoCompras();
		$data['folio']			= $this->compras->obtenerFolioCompras();

		$data['permisoBorrar']		= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,19):1;

		$this->load->view("compras/productos/productos",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	public function obtenerComprasProductos($limite=0)
	{
		
		$proveedor			= $this->input->post('proveedor');
		$inicio				= $this->input->post('inicio');
		$fin				= $this->input->post('fin');
		$factura			= $this->input->post('factura');
		$pendientes			= $this->input->post('pendientes');
		$fechas				= $this->input->post('fechas');
		
		#----------------------------------PAGINACION------------------------------------#
		$url			= base_url()."compras/obtenerComprasProductos";
		$registros		= $this->compras->contarComprasProductos($proveedor,$inicio,$fin,$factura,$pendientes,$fechas);
		$numero			= 15;
		$links			= 5;
		$uri			= 3;
		
		$paginador		= $this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('3',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['compras'] 		= $this->compras->obtenerComprasProductos($numero,$limite,$proveedor,$inicio,$fin,$factura,$pendientes,$fechas);
		$data['inicio']  		= $limite+1;
		$data['pendientes']  	= $pendientes;

		#$data['permisoCancelar']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,18):1;
		$data['permisoBorrar']		= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,19):1;

		$this->load->view("compras/productos/obtenerComprasProductos",$data); //principal lista de clientes
	}
	
	public function obtenerProductos()
	{
		if(!empty ($_POST))
		{
			$orden=$this->compras->obtenerProductos();
			if ($orden!=NULL)
			{
				foreach ($orden as $row)
				{
					echo '<li onClick="fill(\''.$row['id'].'\',\''.$row['descripcion'].'\',\''.$row['precio_a'].'\');">'.$row['descripcion'].'</li>';
				}
			}
		}
	}
	
	public function agregarCompra()
	{
		if(!empty($_POST))
		{
			$compra=$this->compras->agregarNuevaCompra();
			
			if($compra=="1")
			{
				$this->session->set_userdata('notificacion','La compra se ha registrado correctamente');
			}
			
			print($compra);
		}
	}
	
	public function realizarPago()
	{
		$pago	=$this->compras->agregarPago();
		echo $pago;
	}
   
   	public function borrarPago()
	{
		if(!empty($_POST))
		{
			$idPagoDetalle	=$this->input->post('idPago');
			$pago			=$this->compras->borrarPago($idPagoDetalle);
			
			echo $pago;
		}
	}
	
	public function borrarCompra($idCompras,$seccion)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('3',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$compra=$this->compras->comprasBorrar($idCompras);
		
		if($compra=="1")
		{
			$this->session->set_userdata('notificacion','La compra se ha borrado correctamente');
		}
		else
		{
			$this->session->set_userdata('errorNotificacion','Error al borrar la compra');
		}
		
		if($seccion=="compras")
		{
			redirect("compras/administracion","refresh");
		}
		
		if($seccion=="proveedores")
		{
			redirect("proveedores/compras","refresh");
		}
		
		if($seccion=="productos")
		{
			redirect("compras/productos","refresh");
		}
		
		if($seccion=="inventarios")
		{
			redirect("compras/inventarios","refresh");
		}
	}
	
	#-----------------------------Productos comprados------------------------------#
	
	public function obtenerProductosComprados()
	{
		if(!empty($_POST))
		{
			$idCompras	=$this->input->post('idCompras');
			$compras	=$this->compras->obtenerProductosComprados($idCompras);

			$i=1;
			
			echo '<input type="hidden" id="txtIdCompraRecibido" value="'.$idCompras.'" />';
			
			echo '<div class="ui-state-error" ></div>';
			if($compras!=null)
			{
				echo'<table class="admintable" style="width:99%" cellpadding="0" cellspacing="0">';
				
				echo
				'<tr>
					<th>#</th>
					<th>Producto</th>
					<th>Cantidad</th>
					<th>Recibidas</th>';
					echo'<th>Precio</th>
					<th>Total</th>
					<th>Recibido</th>
				</tr>';
				
				foreach($compras as $row)
				{
					$estilo		=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
					$recibidas	=$this->compras->totalRecibido($row->idDetalle);
					
					echo
					'<tr '.$estilo.'>
						<td>'.$i.'</td>
						<td>'.$row->nombre.'</td>
						<td align="right">'.$row->cantidad.'</td>
						<td align="right"> '.number_format($recibidas,2).'</td>';

						echo'
						<td align="right">$ '.number_format($row->precio,2).'</td>
						<td align="right">$ '.number_format($row->total,2).'
						<input type="hidden" id="txtProducto'.$row->idDetalle.'" value="'.$row->idMaterial.'" />
						<input type="hidden" id="txtCantidad'.$row->idDetalle.'" value="'.$row->cantidad.'" />
						</td>
						';
					
					echo '
					<td align="center">';
					
					$imagen=$recibidas==$row->cantidad?'success.png':'Cerrar.png';
					
					echo '<img onclick="productosRecibidos('.$row->idDetalle.')" src="'.base_url().'img/'.$imagen.'" width="20"
					 		title="Recibiendo compras" id="btnRecibirProductos'.$i.'" />';
					
					echo'
					</td>
					</tr>';
					
					echo '
					<script>
					$("#btnRecibirProductos'.$i.'").click(function(e)
					{
						$("#ventanaRecibirProducto").dialog("open");
					});
					</script>';
					
					$i++;
				}
				
				echo'</table>';
			}
		}
	}
	
	public function productosRecibidos()
	{
		$idDetalle	=$this->input->post('idDetalle');
		$recibidos	=$this->compras->productosRecibidos($idDetalle);
		$producto	=$this->compras->obtenerProductoCompra($idDetalle);
		
		echo '
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Producto:</td>
				<td>'.$producto->nombre.'</td>
			</tr>
			<tr>
				<td class="key">Cantidad comprada:</td>
				<td>'.number_format($producto->cantidad,2).'</td>
			</tr>';
			
			echo'
			<tr>
				<td class="key">Fecha:</td>
				<td>
					<input id="txtFechaRecibido" type="text" class="cajas" style="width:100px" />
					<script>
						$("#txtFechaRecibido").datepicker({ changeMonth: true });
					</script>
				</td>
			</tr>
			<tr>
				<td class="key">Cantidad a recibir:</td>
				<td>
					<input id="txtCantidadRecibir" 	type="text" class="cajas" style="width:100px" />
					<input id="txtIdDetalle"   		type="hidden" value="'.$idDetalle.'" />
					<input id="txtIdComprita"   		type="hidden" value="'.$producto->idCompra.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Remisión:</td>
				<td>
					<input id="txtRemision" type="text" class="cajas" style="width:200px" />
				</td>
			</tr>';
			
			
			echo'</table>';
		
		if($recibidos!=null)
		{
			echo '<table class="admintable" width="100%">
			<tr>
				<th>#</th>
				<th>Fecha</th>
				<th>Cantidad</th>
				<th>Recibio</th>
				<th>Remisión</th>
			</tr>';
			
			$i=1;
			foreach($recibidos as $row)
			{
				$estilo=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
				
				echo'
				<tr '.$estilo.'>
					<td>'.$i.'</td>
					<td>'.$row->fecha.'</td>
					<td>'.$row->cantidad.'</td>
					<td>'.$row->recibio.'</td>
					<td>'.$row->remision.'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Aun no se han recibido el producto</div>';
		}
	}
	
	/*public function obtenerProductosComprados()
	{
		if(!empty($_POST))
		{
			$compras=$this->compras->obtenerProductosComprados();
			
			#$bodegas=$this->bodegas->obtenerBodegas();
			
			$i=1;
			
			if($compras!=null)
			{
				print('<table class="admintable" style="width:100%">');
				
				echo
				'
					<tr>
						<th>#</th>
						<th>Producto</th>
						<th>Cantidad</th>
						<th>Recibidas</th>';
				  echo '<th>Recibir</th>';
						echo'<th>Precio</th>
						<th>Total</th>
						<th>Recibido</th>
					</tr>
				';
				
				foreach($compras as $row)
				{
					print
					'
					<tr>
						<td>'.$i.'</td>
						<td>'.$row->nombre.'</td>
						<td align="right">'.$row->cantidad.'</td>
						<td align="right"> '.number_format($row->totalRecibido,2).'</td>';
						
						if($row->totalRecibido < $row->cantidad)
						{
							echo '<td align="center">
							<input type="text" id="txtRecibir'.$row->idDetalle.'" class="cajas" style="width:100px" />
							</td>';
						}
						
						if($row->totalRecibido == $row->cantidad)
						{
							echo '<td align="center">Ok</td>';
						}
						
						echo'<td>$ '.number_format($row->precio,2).'</td>
						<td>$ '.number_format($row->total,2).'
						<input type="hidden" id="txtProducto'.$row->idDetalle.'" value="'.$row->idMaterial.'" />
						<input type="hidden" id="txtCantidad'.$row->idDetalle.'" value="'.$row->cantidad.'" />
						</td>
						';
					
					echo '
					<td align="center">
					 ';
					
					if($row->totalRecibido == $row->cantidad)
					{
						//print('checked="checked" ');
						print('<img src="'.base_url().'img/success.png" width="20" title="Se ha recibido completamente"');
					}
					else
					{
						print('<input type="checkbox" id="chkCompras'.$row->idDetalle.'" value="'.$row->idDetalle.'" 
						onchange="confirmarRecibirCompra('.$row->idDetalle.','.$row->idCompra.',\''.$row->cantidad.'\',\''.$row->totalRecibido.'\')" />');
					}
					
					print('
					</td>
					</tr>
					');
					
					$i++;
				}
				
				print('</table>');
			}
		}
	}
	*/
	#-----------------------------Obtener descuentos------------------------------#
	
	public function obtenerDescuentos()
	{
		if(!empty($_POST))
		{
			$descuentos=$this->compras->obtenerDescuentos();
			
			print
			('
				<table class="admintable" width="99%">
				<tr>
				<th colspan="2">Descuentos adicionales en las compras</th>
				</tr>
				<tr>
				<td class="key">Seleccione descuento</td>
				<td>
				<select class="cajas" style="width:auto" id="descuentosProveedor">
					<option value="B">'.$descuentos->descuentoB.'</option>
					<option value="C">'.$descuentos->descuentoC.'</option>
					<option value="D">'.$descuentos->descuentoD.'</option>
				</select>
				</td>
				</tr>
				</table>
			');
		}
	}
	
	#-----------------------------Confirmar la entrega------------------------------#
	
	public function confirmarRecibirCompra()
	{
		if(!empty($_POST))
		{
			$confirmar=$this->compras->confirmarRecibirCompra();
			print($confirmar);
		}
	}
	
	public function confirmarDescuento()
	{
		if(!empty($_POST))
		{
			$confirmar=$this->compras->confirmarDescuento();
			print($confirmar);
		}
	}
	
	public function comprasPDF($idCompra,$idLicencia)
	{
		$this->load->library('ccantidadletras');
		$this->load->library('mpdf/mpdf');

		$data['compra'] 	=$this->compras->obtenerCompra($idCompra);
		#$data['cliente'] =$this->modeloclientes->obtenerDatosCliente($data['factura']->cliente);
		$data['productos'] 	=$this->compras->obtenerProductosPDF($idCompra);
		$data['empresa'] 	=$this->configuracion->obtenerConfiguraciones($idLicencia);
		 
		#print($data['compra']->total);
		$this->ccantidadletras->setIdioma("ES");
        $this->ccantidadletras->setNumero($data['compra']->total);
		$this->ccantidadletras->setMoneda("pesos");//
		$CantidadLetras=$this->ccantidadletras->PrimeraMayuscula();
		
		$data['cantidadLetra']=$CantidadLetras;
		
		$html=$this->load->view('compras/pdfCompras',$data,true);
		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,5,47,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function comprasPDFProductos($idCompra,$opcion=0)
	{
		$this->load->library('ccantidadletras');
		$this->load->library('mpdf/mpdf');

		$data['compra'] 	= $this->compras->obtenerCompra($idCompra);
		$data['productos'] 	= $this->compras->obtenerPDFProductos($idCompra);
		$data['empresa'] 	= $this->configuracion->obtenerConfiguraciones($idLicencia);
		$data['reporte'] 	= sistemaActivo=='jenrab'?'compras/pdfCompras':'compras/perfectire/pdfCompras';
		 
		#print($data['compra']->total);
		$this->ccantidadletras->setIdioma("ES");
        $this->ccantidadletras->setNumero($data['compra']->total);
		$this->ccantidadletras->setMoneda("pesos");//
		$CantidadLetras=$this->ccantidadletras->PrimeraMayuscula();
		
		$data['cantidadLetra']=$CantidadLetras;
		
		$html	=$this->load->view('reportes/principal',$data,true);
		$pie	=$this->load->view('reportes/pie',$data,true);

		sistemaActivo=='jenrab'?$this->mpdf->mPDF('en-x','Letter','','',10,10,69,8,5,1):$this->mpdf->mPDF('en-x','Letter','','',10,10,35,8,5,1);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		
		if($opcion==0)
		{
			$this->mpdf->Output();
		}
		else
		{
			$this->orden	= $data['compra']->nombre;
			
			$this->mpdf->Output('media/cotizaciones/'.$data['compra']->nombre.'.pdf','F');
			
			return 'media/cotizaciones/'.$data['compra']->nombre.'.pdf';
		}
	}
	
	public function comprasPDFProductosss($idCompra,$idLicencia)
	{
		$this->load->library('ccantidadletras');
		$this ->load->plugin('to_pdf');

		$data['compra'] 	=$this->compras->obtenerCompra($idCompra);
		#$data['cliente'] =$this->modeloclientes->obtenerDatosCliente($data['factura']->cliente);
		$data['productos'] 	=$this->compras->obtenerPDFProductos($idCompra);
		$data['empresa'] 	=$this->configuracion->obtenerConfiguraciones($idLicencia);
		 
		#print($data['compra']->total);
		$this->ccantidadletras->setIdioma("ES");
        $this->ccantidadletras->setNumero($data['compra']->total);
		$this->ccantidadletras->setMoneda("pesos");//
		$CantidadLetras=$this->ccantidadletras->PrimeraMayuscula();
		
		$data['cantidadLetra']=$CantidadLetras;
		
		$html=$this->load->view('compras/pdfCompras',$data,true);

		pdf_create ($html,'Compras');
	}
	
	public function obtenerCosas($Limite=0)
	{
		$url		=base_url()."compras/obtenerCosas/";
		$registros	=$this->compras->contarMaterialesInventario();
		$numero		=6;
		$links		=5;
		$uri		=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$productos = $this->compras->obtenerMaterialesInventario($numero,$Limite);
		
		if($productos==null)
		{
			 print
			 ('
			 	<div class="Error_validar" style="margin-top:2px; width:95%; float:left margin-bottom: 5px;">
                	No hay registros de materia prima para este proveedor.
           		</div>
			');
			
			return;
		}
		
		echo'
		<div style="width:90%;">
			<ul id="pagination-digg" class="ajax-pag">'.$this->pagination->create_links().'</ul>
		</div>';
		
		 echo'
		<table class="admintable" style="width:100%">
			<tr>
				<th style="border-bottom-right-radius: 0px; border-top-right-radius: 0px;" width="3%" align="right">#</th>
				<th style="border-radius: 0px" align="left">Nombre</th>
				<th style="border-radius: 0px" align="left">Proveedor</th>
				<th style="border-radius: 0px" width="15%">Precio</th>
				<th style="border-radius: 0px" width="12%">Stock</th>
				<th style="border-bottom-left-radius: 0px; border-top-left-radius: 0px;" width="15%">Registro Unidades</th>
			</tr>';
		 
		 $i=1;
		 
		 #<th style="width:100px">Agregar</th>
		 #<td align="center"><input type="checkbox" value="'.$row->id.'" 
		 #id="agregar'.$i.'" onclick="agregarProductoKit('.$i.')" /></td>
		 
		 foreach($productos as $row)
		 {
			 $precio=$row->costo;
			 
			 if($this->input->post('pagina')=='0')
			 {
				 $precio=$row->costo;
			 }
			 
			$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
	
			 print
			 ('
			 	<tr '.$estilo.'>
					<td align="right">'.$i.'</td>
					<td>'.$row->nombre.' 
					<input type="hidden"  id="descripcion'.$i.'" value="'.$row->nombre.'"/></td>
					<td>'.$row->empresa.' 
					<input type="hidden"  id="txtProveedor'.$i.'" value="'.$row->idProveedor.'"/></td>
					<td align="right" valign="middle">
						$ <input type="text" class="cajas" style="width:100px"  id="precio'.$i.'" value="'.$precio.'"/> 
						&nbsp;
						<img title="Actualizar precio" src="'.base_url().'img/guardar.png" width="22" 
						id="imgGuardar" onclick="precioMaterial('.$i.','.$row->idMaterial.','.$row->idProveedor.')" 
						style="cursor:pointer" />
					</td>
					<td align="center">'.number_format($row->stock,2).' 
						<input type="hidden"  id="txtNombreProveedor'.$i.'" value="'.$row->empresa.'"/></td>
					<td align="center">
					<input onchange="agregarProductoKit('.$i.')" type="text" value="0" 
					style="width:50px" class="cajas" id="cantidad'.$i.'" />
					<input type="hidden" value="'.$row->idMaterial.'" id="agregar'.$i.'" />
					</td>
				</tr>
			 ');
			 
			 $i++;
		 }
		 
		 print('</table>');
		 $i=1;
	}
	
	#==============================================================================================#
	#=============================COMPRAS DE PRODUCTOS DE REVENTA==================================#
	#==============================================================================================#
	
	public function confirmarRecibirCompraProductos()
	{
		if(!empty($_POST))
		{
			echo $this->compras->confirmarRecibirCompraProductos();
		}
		else
		{
			echo "0";
		}
	}
	
	public function obtenerProductosRecibidos()
	{
		$idDetalle	=$this->input->post('idDetalle');
		$recibidos	=$this->compras->productosRecibidos($idDetalle);
		$producto	=$this->compras->obtenerdDetalleProductoCompra($idDetalle);
		
		echo '
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Producto:</td>
				<td>'.$producto->nombre.'</td>
			</tr>
			<tr>
				<td class="key">Cantidad comprada:</td>
				<td>'.number_format($producto->cantidad,2).'</td>
			</tr>';
			
			echo'
			<tr>
				<td class="key">Fecha:</td>
				<td>
					<input value="'.date('Y-m-d H:i').'" readonly="readonly" id="txtFechaRecibido" type="text" class="cajas" style="width:120px" />
					<script>
						$("#txtFechaRecibido").datetimepicker({ changeMonth: true });
					</script>
				</td>
			</tr>
			<tr>
				<td class="key">Cantidad a recibir:</td>
				<td>
					<input id="txtCantidadRecibir" 	type="text" class="cajas" style="width:100px" />
					<input id="txtIdDetalle"   		type="hidden" value="'.$idDetalle.'" />
					<input id="txtIdComprita"   	type="hidden" value="'.$producto->idCompra.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Remisión:</td>
				<td>
					<input id="txtRemision" type="text" class="cajas" style="width:200px" />
				</td>
			</tr>
			<tr>
				<td class="key">Factura:</td>
				<td>
					<input id="txtFactura" type="text" class="cajas" style="width:200px" />
				</td>
			</tr>';
			
			echo'</table>';
		
		if($recibidos!=null)
		{
			echo '<table class="admintable" width="100%">
			<tr>
				<th>#</th>
				<th>Fecha</th>
				<th>Cantidad</th>
				<th>Recibio</th>
				<th>Remisión</th>
				<th>Factura</th>
			</tr>';
			
			$i=1;
			foreach($recibidos as $row)
			{
				$estilo=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
				
				echo'
				<tr '.$estilo.'>
					<td>'.$i.'</td>
					<td>'.$row->fecha.'</td>
					<td>'.$row->cantidad.'</td>
					<td>'.$row->recibio.'</td>
					<td>'.$row->remision.'</td>
					<td>'.$row->factura.'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Aun no se han recibido el producto</div>';
		}
	}
	
	public function obtenerCompradosProductos()
	{
		if(!empty($_POST))
		{
			$idCompras	=$this->input->post('idCompras');
			$compras	=$this->compras->obtenerCompradosProductos($idCompras);
			$i			=1;
			
			if($compras!=null)
			{
				echo'<table class="admintable" style=" margin-top:2px; width:100%">';
				
				echo
				'<tr>
					<th>#</th>
					<th>Código</th>
					<th>Producto</th>
					<th>Medidas</th>
					<th>Cantidad</th>
					<th>Recibidas</th>
					<th>Precio</th>
					<th>Total</th>
					<th>Recibido</th>
				</tr>';
				
				foreach($compras as $row)
				{
					$estilo=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
					
					$totalRecibido=$this->compras->totalRecibido($row->idDetalle);
					
					echo
					'<tr '.$estilo.'>
						<td>'.$i.'</td>
						<td>'.$row->codigoInterno.'</td>
						<td>'.$row->nombre.'</td>
						<td>'.$row->medida.'</td>
						<td align="center">'.$row->cantidad.'</td>
						<td align="center"> '.number_format($totalRecibido,2).'</td>
						<td align="right">$ '.number_format($row->precio,2).'</td>
						<td align="right">$ '.number_format($row->total,2).'
						<input type="hidden" id="txtProducto'.$row->idDetalle.'" value="'.$row->idMaterial.'" />
						<input type="hidden" id="txtCantidad'.$row->idDetalle.'" value="'.$row->cantidad.'" />
						</td>';
					
					echo '
					<td align="center">';
						
						$imagen=$totalRecibido==$row->cantidad?'success.png':'Cerrar.png';
						
						echo'<img onclick="obtenerProductosRecibidos('.$row->idDetalle.')" src="'.base_url().'img/'.$imagen.'" width="20" title="Recepción de productos" />';
					
					echo'
						</td>
					</tr>';
					
					$i++;
				}
				
				echo'</table>';
			}
		}
	}
	
	public function agregarCompraProducto()
	{
		if(!empty($_POST))
		{
			$compra=$this->compras->agregarCompraProducto();
			
			if($compra=="1")
			{
				$this->session->set_userdata('notificacion','La compra se ha registrado correctamente');
			}
			
			print($compra);
		}
	}
	
	public function actualizarPrecioProducto()
	{
		if(!empty($_POST))
		{
			$precio=$this->compras->actualizarPrecioProducto();
			echo $precio;
		}
	}
	
	public function obtenerCosasProductos($limite=0)
	{
		$url				= base_url()."compras/obtenerCosasProductos/";
		$registros			= $this->compras->contarProductosReventa();
		$numero				= 6;
		$links				= 5;
		$uri				= 3;
		
		$paginador			= $this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$data['productos'] 	= $this->compras->obtenerProductosReventa($numero,$limite);
		$data['limite'] 	= $limite+1;
		$data['permiso']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,16):1;
		
		$this->load->view('compras/productos/obtenerCosasProductos',$data);
	}
	
	public function obtenerPagosCompras()
	{
		$idCompra			= $this->input->post('idCompra');
		$data['compra']		= $this->compras->comprasPagos($idCompra);
		$data['bancos']		= $this->bancos->obtenerBancos();
		$data['total']		= $this->compras->obtenerTotal($idCompra);
		$data['pagos']		= $this->compras->obtenerPagos($idCompra);
		$data['cuentas'] 	= $this->configuracion->obtenerCuentasContables();
		$data['idCompra'] 	= $idCompra;
		
		$this->load->view('compras/pagos/obtenerPagosCompras',$data);
	}
	
	/*public function obtenerPagosCompras()
	{
		$idCompra=$this->input->post('idCompra');
		
		$compra		=$this->compras->comprasPagos($idCompra);
		$bancos		=$this->bancos->getAll();
		$total		=$this->compras->obtenerTotal($idCompra);
		$Pagos		=$this->compras->obtenerPagos($idCompra);
		$cuentas 	=$this->configuracion->obtenerCuentasContables();
		
		echo
		'
			<table class="admintable" width="100%" >
				<tr>
					<td colspan="2" style="font-size:10pt;font-weight:bold; background-color:#EBEBEB;" 
					height="30">Detalles de la compra</td>
				</tr>
				<tr>
				
				<tr>
					<td class="key">Compra: </td>
					<td>'.$compra['nombre'].'</td>
				</tr>
				<tr>
					<td class="key">Pago total: </td>
					<td>$ '.number_format($compra['total'],2).'</td>
				</tr>
				
				<tr>
					<td class="key">Monto pagado: </td>
					<td>$ '.number_format($total->pago,2).'</td>
				</tr>
				
				<tr>
					<td class="key">Deuda: </td>
					<td>$ '.number_format($compra['total']-$total->pago,2).'</td>
				</tr>
				
				<tr>
					<td class="key">Monto a pagar: </td>
					<td>
						<input type="text" class="cajas" id="montoPagar" style="width:80px" />
						<input type="hidden" value="'.($compra['total']-$total->pago).'" class="cajas" id="T3" style="width:80px" />
						<input type="hidden" value="'.$idCompra.'" class="cajas" id="idCompras" style="width:80px" />
					</td>
				</tr>
				
				<tr>
					<td class="key">Cuenta contable:</td>
					<td>
						<select id="selectCuentaContable" name="selectCuentaContable" class="cajas" style="width:200px;">
							<option value="0">Seleccione</option>';
							
							foreach($cuentas as $row)
							{
								echo '<option value="'.$row->idCuenta.'">'.$row->nombre.'</option>';
							}
						
						echo'
                        </select>
					 </td>
				</tr>
				
				<tr>
				<td class="key">Seleccionar forma de pago:</td>
				<td>
				 <select id="TipoPago" name="TipoPago" class="cajas" style="width:20%;" onchange="mostrarDatos()">
						<option value="1">Efectivo</option>
						<option value="2">Cheque</option>
						<option value="3">Transferencia</option>
					</select>   
					 </td>
				</tr>
				<tr style="display:none;" id="mostrarCheques">
					<td class="key">Número cheque:</td>
					<td>
						<input type="text" class="cajas" id="numeroCheque" name="numeroCheque" />   
					</td>
				</tr>
				
				<tr style="display:none;" id="mostrarTransferencia">
					<td class="key">Número Transferencia:</td>
					<td>
					<input type="text" class="cajas" id="numeroTransferencia" name="numeroTransferencia" />    </td>
				</tr>
				
				<tr>
				<td class="key">Bancos:</td>
				<td> 
				 <select id="listaBancos" name="listaBancos" class="cajas" style="width:auto;" onchange="buscarCuentas()" >
					<option value="0">Seleccione</option>
					';
					
					   foreach($bancos as $row)
					   {
						   print('<option value="'.$row['id'].'" >'.$row['nombre'].'</option>');
					   }
					 
					echo'</select>
					</td>
					</tr>
					<tr>
					<td class="key">Cuentas</td>
				 <td id="cargarCuenta">
				  <select id="cuentasBanco" name="cuentasBanco" class="cajas" style="width:auto;" >
					 <option value="0">Seleccione</option>
					</select>
				</td>     
			</tr>

			</table>
		';
	
	echo
	'<script>
		$("#tdPagado'.$idCompra.'").html("$'.number_format($total->pago,2).'");
		$("#tdSaldo'.$idCompra.'").html("$'.number_format($compra['total']-$total->pago,2).'");
	</script>';
		
	 if(!empty ($Pagos))
	 {
		echo'<table class="admintable" width="100%" style="margin-top:3px" >
		<thead>
		<th style="width:130px;">Fecha Hora/Pago</th>
		<th>Forma de pago</th>
		<th>No Transferencia</th>
		<th>No.Cheque</th>
		<th>Banco</th>
		<th>Cuenta contable</th>
		<th style="width:130px;">Pago</th>
		<th>Acciones</th>';
		
		$i=1;
		
		foreach($Pagos as $Pago)
		{
	 		
			$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
			print
			('
				<tr '.$estilo.'>
					<td align="center" valign="middle">'.$Pago->fecha.' </td>
					<td align="center" valign="middle">'.$Pago->formaPago.' </td>
					<td align="center" valign="middle">'.$Pago->transferencia.' </td>
					<td align="center" valign="middle">'.$Pago->cheque.' </td>
					<td align="center" valign="middle">'.$Pago->banco.' </td>
					<td align="center" valign="middle">'.$Pago->nombre.'/'.$Pago->clave1.' </td>
					<td align="center" valign="middle">$ '.number_format($Pago->cantidad,2).' </td>
					<td align="center">
					<a onclick="borrarPago('.$Pago->idPagoDetalle.','.$idCompra.')" style="cursor:pointer"
					title="Borrar pago"> 
					<img src="'.base_url().'img/borrar.png" width="18" />
					</a>
					</td>
				</tr>
			');
				
				$i++;
			}

		echo'</table>';
		}
	}*/
	
	public function precioMaterial()
	{
		if(!empty($_POST))
		{
			$material=$this->compras->precioMaterial();
			echo $material;
		}
	}
	
	public function formularioEnviarCompra()
	{
		if(!empty($_POST))
		{
			$data['compra']=$this->compras->obtenerCompra($this->input->post('idCompra'));
			
			$this->load->view('compras/enviar/formularioEnviarCompra',$data);
		}
	}
	
	function enviarCompra()
	{
		if(!empty($_POST))
		{
			
			$configuracion=$this->configuracion->obtenerConfiguracion();
			
			if($configuracion!=null)
			{
				$email		=$configuracion['correo'];
				$nombre		=$configuracion['nombre'];
				
				$to			=$this->input->post('correo');
				$mensaje	=$this->input->post('mensaje');
				$asunto		='Compra ';
				$idCompra	=$this->input->post('idCompra');
				
				$this->load->library('email');
				$this->email->from($email,$nombre);

				$this->email->to($to);
				
				$imagen	="";
			
				if(file_exists('img/logos/'.$this->session->userdata('logotipo')))
				{
					$imagen='<img src="'.base_url().'img/logos/'.$this->session->userdata('logotipo').'" width="200" /><br /><br />';
				}
			
				#$this->email->attach($this->comprasPDFProductos($idCompra,1));
				$this->email->attach($this->reportes->hojaValeCompraPdf($idCompra,1));
				
				$this->email->subject($asunto);
				
				$this->email->message
				(
					$mensaje.'<br /><br /> <strong>Por favor consulte el adjunto</strong>'
				);
				
				if (!$this->email->send())
				{
					print("0");
				}
				else
				{
					$data=array
					(
						'enviado'=>1
					);
					
					//$this->db->where('idCompras',$idCompra);
					//$this->db->update('compras',$data);
					
					$this->configuracion->registrarBitacora('Enviar compra','Compras',$this->orden.', Email: '.$to); //Registrar bitácora
					
					print("1");
				}
					
			}
			else
			{
				print("2");
			}
		}
	}
	
	public function inventarios($Limite=0)
	{
		redirect('compras/productos');
		
		$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['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='compras'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url		=base_url()."compras/inventarios/";
		$registros	=$this->compras->contarComprasInventarios();
		$numero		=15;
		$links		=5;
		$uri		=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		#---------------------------------------------------------------------------------#
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('3',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['compras'] 		= $this->compras->obtenerComprasInventarios($numero,$Limite);
		$data['proveedores'] 	= $this->modeloproveedores->obtenerProveedores();
		$data['unidades'] 		= $this->configuracion->obtenerUnidades();
		$data['inicio']  		= $Limite;

		$this->load->view("compras/inventarios",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	public function obtenerCosasInventarios($Limite=0)
	{
		$url		=base_url()."compras/obtenerCosasInventarios/";
		$registros	=$this->compras->contarInventarios();
		$numero		=6;
		$links		=5;
		$uri		=3;
		
		$paginador	=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$productos = $this->compras->obtenerInventarios($numero,$Limite);
		
		if($productos==null)
		{
			echo'
			<div class="Error_validar" style="margin-top:2px; width:95%; float:left margin-bottom: 5px;">
				No hay registros de productos para este proveedor.
			</div>';
			
			return;
		}
		
		echo'
		<div style="width:90%; margin-bottom:1%;">
			<ul id="pagination-digg" class="ajax-pag">'.$this->pagination->create_links().'</ul>
		</div>';
		
		echo'
		<table class="admintable" style="width:100%">
			<tr>
				<th style="border-bottom-right-radius: 0px; border-top-right-radius: 0px;" width="3%" align="right">#</th>
				<th style="border-radius: 0px" align="left">Nombre</th>
				<th style="border-radius: 0px" align="left">Proveedor</th>
				<th style="border-radius: 0px" width="15%">Precio</th>
				<th style="border-radius: 0px" width="12%">Stock</th>
				<th style="border-bottom-left-radius: 0px; border-top-left-radius: 0px;" width="15%">Registro Unidades</th>
			</tr>';
		
		 $i=1;
		 
		 #<th style="width:100px">Agregar</th>
		 #<td align="center"><input type="checkbox" value="'.$row->id.'" 
		 #id="agregar'.$i.'" onclick="agregarProductoKit('.$i.')" /></td>
		 
		 foreach($productos as $row)
		 {
			$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
	
			 echo'
			<tr '.$estilo.'>
				<td align="right">'.$i.'</td>
				<td>'.$row->nombre.' 
				<input type="hidden"  id="descripcion'.$i.'" value="'.$row->nombre.'"/></td>
				<td>'.$row->empresa.' 
				<input type="hidden"  id="txtProveedor'.$i.'" value="'.$row->idProveedor.'"/></td>
				<td align="center" valign="middle">
					$ '.number_format($row->costo,2).'
					<input type="hidden" class="cajas" style="width:100px"  id="precio'.$i.'" value="'.$row->costo.'"/> 
					
				</td>
				<td align="center">'.number_format($row->cantidad,2).' 
				<input type="hidden"  id="sanitario'.$i.'" value="'.$row->cantidad.'"/></td>
				<td align="center">
				<input onchange="agregarProductoKit('.$i.')" type="text" value="0" 
				style="width:50px" class="cajas" id="cantidad'.$i.'" />
				<input type="hidden" value="'.$row->idInventario.'" id="agregar'.$i.'" />
				</td>
			</tr>';
			 
			 $i++;
		 }
		 
		 #&nbsp;
		#<img title="Actualizar precio" src="'.base_url().'img/guardar.png" width="22" 
		#id="imgGuardar" onclick="precioMaterial('.$i.','.$row->idMaterial.','.$row->idProveedor.')" 
		#style="cursor:pointer" />
		 
		 print('</table>');
		 $i=1;
	}
	
	public function comprasPDFInventarios($idCompra,$idLicencia)
	{
		$this->load->library('ccantidadletras');
		$this->load->library('mpdf/mpdf');

		$data['compra'] 	=$this->compras->obtenerCompra($idCompra);
		$data['productos'] 	=$this->compras->obtenerPDFInventarios($idCompra);
		$data['empresa'] 	=$this->configuracion->obtenerConfiguraciones($idLicencia);
		 
		$this->ccantidadletras->setIdioma("ES");
        $this->ccantidadletras->setNumero($data['compra']->total);
		$this->ccantidadletras->setMoneda("pesos");//
		$CantidadLetras=$this->ccantidadletras->PrimeraMayuscula();
		
		$data['cantidadLetra']=$CantidadLetras;
		
		$html=$this->load->view('compras/pdfCompras',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,5,47,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function agregarCompraInventario()
	{
		if(!empty($_POST))
		{
			$compra=$this->compras->agregarCompraInventario();
			
			$compra==1?$this->session->set_userdata('notificacion','La compra se ha registrado correctamente'):'';
			
			print($compra);
		}
	}
	
	public function obtenerInventariosComprados()
	{
		if(!empty($_POST))
		{
			$idCompras	=$this->input->post('idCompras');
			$compras	=$this->compras->obtenerInventariosComprados($idCompras);

			$i=1;
			
			echo '<input type="hidden" id="txtIdCompraRecibido" value="'.$idCompras.'" />';
			
			if($compras!=null)
			{
				print('<table class="admintable" style="width:99%" cellpadding="0" cellspacing="0">');
				
				echo
				'<tr>
					<th>#</th>
					<th>Producto</th>
					<th>Cantidad</th>
					<th>Recibidas</th>';
					echo'<th>Precio</th>
					<th>Total</th>
					<th>Recibido</th>
				</tr>';
				
				foreach($compras as $row)
				{
					$estilo=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
					
					$recibidas=$this->compras->totalRecibido($row->idDetalle);
					
					echo
					'<tr '.$estilo.'>
						<td>'.$i.'</td>
						<td>'.$row->nombre.'</td>
						<td align="right">'.$row->cantidad.'</td>
						<td align="right"> '.number_format($recibidas,2).'</td>';

						echo'
						<td align="right">$ '.number_format($row->precio,2).'</td>
						<td align="right">$ '.number_format($row->total,2).'
						<input type="hidden" id="txtProducto'.$row->idDetalle.'" value="'.$row->idMaterial.'" />
						<input type="hidden" id="txtCantidad'.$row->idDetalle.'" value="'.$row->cantidad.'" />
						</td>
						';
					
					echo '
					<td align="center">';
					
					echo '<img onclick="inventariosRecibidos('.$row->idDetalle.')" src="'.base_url().'img/success.png" width="20"
					 		title="Recibiendo compras" id="btnRecibirProductos'.$i.'" />';
					
					echo'
					</td>
					</tr>';
					
					echo '
					<script>
					$("#btnRecibirProductos'.$i.'").click(function(e)
					{
						$("#ventanaRecibirProducto").dialog("open");
					});
					</script>';
					
					$i++;
				}
				
				echo'</table>';
			}
		}
	}
	
	public function inventariosRecibidos()
	{
		$idDetalle	=$this->input->post('idDetalle');
		$recibidos	=$this->compras->productosRecibidos($idDetalle);
		$producto	=$this->compras->obtenerInventarioCompra($idDetalle);
		
		echo '
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Producto:</td>
				<td>'.$producto->nombre.'</td>
			</tr>
			<tr>
				<td class="key">Cantidad comprada:</td>
				<td>'.number_format($producto->cantidad,2).'</td>
			</tr>';
			
			echo'
			<tr>
				<td class="key">Fecha:</td>
				<td>
					<input id="txtFechaRecibido" type="text" class="cajas" style="width:100px" />
					<script>
						$("#txtFechaRecibido").datepicker({ changeMonth: true });
					</script>
				</td>
			</tr>
			<tr>
				<td class="key">Cantidad a recibir:</td>
				<td>
					<input id="txtCantidadRecibir" 	type="text" class="cajas" style="width:100px" />
					<input id="txtIdDetalle"   		type="hidden" value="'.$idDetalle.'" />
					<input id="txtIdComprita"   		type="hidden" value="'.$producto->idCompra.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Remisión:</td>
				<td>
					<input id="txtRemision" type="text" class="cajas" style="width:200px" />
				</td>
			</tr>';
			
			
			echo'</table>';
		
		if($recibidos!=null)
		{
			echo '<table class="admintable" width="100%">
			<tr>
				<th>#</th>
				<th>Fecha</th>
				<th>Cantidad</th>
				<th>Recibio</th>
				<th>Remisión</th>
			</tr>';
			
			$i=1;
			foreach($recibidos as $row)
			{
				$estilo=$i%2>0?' class="sinSombra" ':' class="sombreado" ';
				
				echo'
				<tr '.$estilo.'>
					<td>'.$i.'</td>
					<td>'.$row->fecha.'</td>
					<td>'.$row->cantidad.'</td>
					<td>'.$row->recibio.'</td>
					<td>'.$row->remision.'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Aun no se han recibido el producto</div>';
		}
	}
	
	public function confirmarRecibirInventario()
	{
		if(!empty($_POST))
		{
			$confirmar=$this->compras->confirmarRecibirInventario();
			print $confirmar;
		}
	}
	
	public function obtenerInventarios()
	{
		if(!empty ($_POST))
		{
			$orden=$this->compras->obtenerProductos();
			if ($orden!=NULL)
			{
				foreach ($orden as $row)
				{
					echo '<li onClick="fill(\''.$row['id'].'\',\''.$row['descripcion'].'\',\''.$row['precio_a'].'\');">'.$row['descripcion'].'</li>';
				}
			}
		}
	}
	
	//PARA LOS COMPROBANTES DE EGRESOS
	public function borrarComprobanteCompra()
	{
		if(!empty($_POST))
		{
			$idComprobante		=$this->input->post('idComprobante');
			$comprobante		=$this->compras->borrarComprobanteCompra($idComprobante);
			
			echo $comprobante;
		}
	}
	
	public function obtenerComprobantesCompras()
	{
		$idCompra	=$this->input->post('idCompra');
		$ficheros	=$this->compras->obtenerComprobantesCompras($idCompra);
		
		echo'
		<script src="'.base_url().'js/ficherosCompras.js"></script>
		<table class="admintable" width="100%">
			<tr>
				<th colspan="2">Cargar comprobante</th>
			</tr>
			<tr>
				<td class="key">Comprobante:</td>
				<td>
					<div class="custom-input-file" title="Subir comprobante" onclick="seleccionarFichero(1,'.$idCompra.')">
						<input class="input-file" type="file" id="archivo1"/>
						
						<img src="'.base_url().'img/subir.png" width="34"   title="Subir comprobante" />
					</div>
				</td>
			</tr>
		</table>';
			
		if($ficheros!=null)
		{
			$i=1;
			
			echo'
			<table class="admintable" width="100%">
				<tr>
					<th colspan="4">Lista de comprobantes</th>
				</tr>
				<tr>
					<th>#</th>
					<th>Fecha</th>
					<th width="45%">Nombre</th>
					<th>Tamaño</th>
					<th>Acciones</th>
				</tr>';
			
			foreach($ficheros as $row)
			{
				$estilo	=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				echo '
				<tr '.$estilo.'>
					<td align="right">'.$i.'</td>
					<td align="center">'.$row->fecha.'</td>
					<td>
						<a title="Descargar '.$row->nombre.'" href="'.base_url().'compras/descargarFicheroCompra/'.$row->idComprobante.'">'.$row->nombre.'</a>
					</td>
					<td align="center">'.number_format($row->tamano/1024,1).' KB</td>
					<td align="center">
						<img onclick="borrarComprobanteCompra('.$row->idComprobante.','.$idCompra.')" src="'.base_url().'img/borrar.png" width="22" title="Borrar comprobante" /><br />
						<a>Borrar</a>
					</td>
				</tr>';	
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Sin registro de comprobantes</div>';
		}
	}
	
	public function subirFicherosCompra($idCompra)
	{
		if (array_key_exists('HTTP_X_FILE_NAME', $_SERVER) && array_key_exists('CONTENT_LENGTH', $_SERVER)) 
		{
			$fileName 		= $_SERVER['HTTP_X_FILE_NAME'];
			$contentLength 	= $_SERVER['CONTENT_LENGTH'];
		} 
		else throw new Exception("Error retrieving headers");
		
		$path = 'media/ficheros/comprobantesCompras/';
		
		if (!$contentLength > 0) 
		{
			throw new Exception('Error al subir el comprobante!');
		}
		
		$fileName		=obtenerMinusculas($fileName);
		$idComprobante	=$this->compras->subirFicherosCompra($idCompra,$fileName,$contentLength);
		
		#echo 'Fichero: '.$fileName;
		if($idComprobante>0)
		{
			$fileName	=$idComprobante.'_'.$fileName;
			
			file_put_contents
			(
				$path . $fileName,
				file_get_contents("php://input")
			);
			
			chmod($path.$fileName, 0777);
		}
	}
	
	public function descargarFicheroCompra($idComprobante) #Descargar el archivo XML
	{
		$this->load->helper('download');

		$comprobante	=$this->compras->obtenerComprobanteCompra($idComprobante);

		$fichero 		= $comprobante->idComprobante.'_'.$comprobante->nombre;
		$descarga 		= $comprobante->nombre;
		$data 			= file_get_contents("media/ficheros/comprobantesCompras/$fichero"); 
		
		force_download($descarga, $data); 
	}
	
	public function revisarXmlCompra() #Descargar el archivo XML
	{
		$this->load->helper('xml');

		$comprobante	=procesarXmlCfdi(carpetaFicheros.'xml.xml');
		
		#print_r($comprobante[34]);
		
		/*foreach($comprobante[34] as $row)
		{
			echo '<br>Cantidad: '.$row[2];
		}*/
		
		echo 'Emisor: '.$comprobante[35];

	}
	
	//SUBIR EL ARCHICO XML
	
	public function formularioFichero()
	{
		$this->load->view('compras/xml/formularioFichero');
	}
	
	public function subirFicheroXml()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0);
		
		$nombreArchivo 		= '';
		if (array_key_exists('HTTP_X_FILE_NAME', $_SERVER) && array_key_exists('CONTENT_LENGTH', $_SERVER)) 
		{
			$nombreArchivo 		= $_SERVER['HTTP_X_FILE_NAME'];
			$contentLength 		= $_SERVER['CONTENT_LENGTH'];
		} 
		else 
		{
			echo json_encode(array('0','El archivo se ha cargado correctamente'));
			
			return;
		};
		
		#$fileName		= obtenerMinusculas($fileName);
		
		$extension 	= pathinfo($_SERVER['HTTP_X_FILE_NAME'], PATHINFO_EXTENSION);
		
		if($extension!='xml')
		{
			echo json_encode(array('0','El archivo debe ser un xml'));
			
			return;
		}
		
		if(strlen($nombreArchivo)>0)
		{
			file_put_contents(carpetaXml.$nombreArchivo,file_get_contents("php://input"));
			
			chmod(carpetaXml.$nombreArchivo, 0777);

			echo json_encode(array('1','El archivo se ha cargado correctamente',$nombreArchivo));
		}
	}
	
	public function obtenerCompraXml()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0);
		
		$this->load->helper('xml');
		
		$data['archivo']		= $this->input->post('archivo');
		$data['comprobante']	= procesarXmlCfdi(carpetaXml.$data['archivo']);
		$data['folio']			= $this->compras->obtenerFolioCompras();
		$data['proveedor']		= $this->modeloproveedores->obtenerProveedorCompra($data['comprobante'][16],$data['comprobante'][15]);
		$data['lineas']			= $this->configuracion->obtenerLineas();	
		
		#print_r($data['comprobante'][34]);
		
		$this->load->view('compras/xml/obtenerCompraXml',$data);
	}
	
	public function registrarCompraXml()
	{
		if(!empty($_POST))
		{
			ini_set("memory_limit","1500M");
			set_time_limit(0);
			
			echo json_encode($this->compras->registrarCompraXml());
		}
		else
		{
			echo json_encode(array('0'));
		}
	}

	public function registrarComprasCotizaciones()
	{
		if(!empty($_POST))
		{
			ini_set("memory_limit","1500M");
			set_time_limit(0);
			
			echo json_encode($this->compras->registrarComprasCotizaciones());
		}
		else
		{
			echo json_encode(array('0'));
		}
	}
}
?>
