<?php
class Clientes extends Controller
{
	protected $_fechaActual;
	protected $_iduser;
	protected $_csstyle;
    protected $_tables;
    protected $_role;

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

		if( ! $this->redux_auth->logged_in() )
		{//verificar si el el usuario ha iniciado sesion
 			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("modelo_configuracion","configuracion");
  	}
	
	#========================================================================================================#
	#==========================================LECTURA DE ARCHIVOS EN TXT====================================#
	#========================================================================================================#
	
	public function subirFichero($idCliente)
	{
		$directorio  = "media/ficheros/";
		$fichero = $directorio . basename($_FILES['userfile']['name']);

		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $fichero)) 
		{
			$this->leerFichero($fichero,$idCliente);
		  	echo "success";
		} 
		else 
		{
		  	echo "error";
		}
	}
	
	public function leerFichero($fichero,$idCliente)
	{
		#$fichero=str_replace("_",".",$fichero);
		
		#$filas=file('media/ficheros/'.$fichero); 
		$filas=file($fichero); 
		$productos=array();
		$i=0;
		$numero_fila=count($filas);
		
		// mientras exista una fila
		while($filas[$i]!=NULL)
		{
			$row = $filas[$i]; 
			$sql = explode(",",$row); //Cada concepto esta separado por comas
			
			$productos[$i]["idProducto"]=$sql[1];
			$productos[$i]["cantidad"]=$sql[4];
			
			$i++;

			if(($i)==$numero_fila)
			{
				break;
			
			} 
		}

		$this->modeloclientes->realizarVenta($productos,$idCliente);
	}
	
	#========================================================================================================#
	#==========================================DETALLES DE LAS REMISIONES====================================#
	#========================================================================================================#
	
	public function obtenerDetalleMateriales()
	{
		if(!empty($_POST))
		{
			echo '
			<table class="admintable" style=" border-collapse: collapse;width:99%">
				<tr>
					<th colspan="9">Detalle de material</th>
				</tr>
				<tr>
					<th style="-moz-border-radius-bottomright: 0px;-moz-border-radius-topright: 0px">#</th>
					<th style="border-radius: 0px">Material</th>
					<th style="border-radius: 0px">Unidad</th>
					<th style="border-radius: 0px">Conversión</th>
					<th style="border-radius: 0px">Costo</th>
					<th style="border-radius: 0px" align="right">Stock</th>
					<th style="border-radius: 0px" align="right">Requerido</th>
					<th style="border-radius: 0px" align="right">Faltante</th>
					<th style="-moz-border-radius-bottomleft: 0px;-moz-border-radius-topleft: 0px;" align="right">Costo compra</th>
					
				</tr>';
			$i=1;
			#<th>Acciones</th>

			$idProducto=$this->input->post('idProducto');
			$cantidad=$this->input->post('cantidad');
			
			$sql="select * from rel_producto_produccion
							where idProducto='".$idProducto."'";
							#echo $sql;
			
			$query = $this->db->query($sql);
			
			if($query->num_rows()>0)
			{
				$velas=$query->row();

				$sql="select piezas
				from produccion_productos as a
				where idProducto='$velas->idProductoProduccion'
				limit 1";
				
				$velasDatos=$this->db->query($sql);
				$velasDatos=$velasDatos->row(); #velasDatos contiene la fila con los datos
				$numeroVelas=$velasDatos->piezas;
				$query=$query->result(); // Result
				
				foreach($query as $row)
				{
					$sql="select a.idMaterial, a.nombre, 
						a.idUnidad, a.stock, a.costo, b.idConversion,
						 b.cantidad, b.idMaterial as relMaterial,
						 c.descripcion as unidad
					  from produccion_materiales as a
					  inner join rel_producto_material as b
						on (a.idMaterial=b.idMaterial) 
						inner join unidades as c
						on a.idUnidad=c.idUnidad
					   where b.idProducto='".$row->idProductoProduccion."'";
					   
					 $relacion = $this->db->query($sql);
					 $material=$relacion->result();
					 $cantidadVelas=$row->cantidad;
					 
					foreach($material as $mat)
					{
						$conversion="Sin conversión";
						$precioUnitario=$mat->costo;
						
						$total=($mat->cantidad)*($cantidad)*$cantidadVelas;
						$total=$total/$numeroVelas;
						$cantidadConversion=$mat->stock;
						
						if($mat->idConversion>0)
						{
							$sql="select * from unidades_conversiones
							where idConversion='$mat->idConversion'";
							
							$conversiones=$this->db->query($sql)->row();
							$conversion=$conversiones->nombre;
							$precioUnitario=$mat->costo/$conversiones->valor;
							$cantidadConversion=$mat->stock*$conversiones->valor;
							#$importe=$precioUnitario*$row->cantidad;
						}
						#$importe=$row->costo*$row->cantidad;
			
						if($total>($cantidadConversion))
						{
							$estilo='class="sombreado"';
		
							if($i%2>0)
							{
								$estilo="class='sinSombra'";
							}
							
							echo 	
							'<tr '.$estilo.'>
								<td>'.$i.'</td>
								<td>'.$mat->nombre.'</td>
								<td align="center">'.$mat->unidad.'</td>
								<td>'.$conversion.'</td>
								<td>'.number_format($precioUnitario,4).'</td>
								<td align="right">'.number_format($cantidadConversion,4).'</td>
								<td align="right">'.number_format($total,4).'</td>
								<td align="right">'.number_format($total-$cantidadConversion,4).'</td>
								<td align="right">$ '.number_format($precioUnitario*($total-$cantidadConversion),2).'
								<input type="hidden" id="idMaterial'.$i.'" value="'.$mat->idMaterial.'" />
								<input type="hidden" id="cantidadecitas'.$i.'" value="'.($total-$cantidadConversion).'" />
								<input type="hidden" id="total'.$i.'" value="'.($mat->costo*($total-$mat->stock)).'" />
								</td>
								
							</tr>';
							
							#$ban=1;
							#<td align="center">
									#<input type="checkbox" id="chkCompra'.$i.'" onchange="realizarCompra('.$i.')" /><br />
									#<a>Comprar</a>
								#</td>
							$i++;
							#break;
						}
					}
				}
			}
			
			#$remision=$this->modeloclientes->detalleProductosRemision($idCotizacion);
		}
	}
	
	public function detalleProductosRemision()
	{
		if(!empty($_POST))
		{
			$idCotizacion=$this->input->post('idCotizacion');
			
			$remision=$this->modeloclientes->detalleProductosRemision($idCotizacion);
			
			echo '
			<table class="admintable" style="width:99%">
				<tr>
					<th colspan="5">Detalle de venta</th>
				</tr>
				<tr>
					<th>#</th>
					<th>Producto</th>
					<th>Cantidad</th>
					<th>Orden de venta</th>
					<th>Acciones</th>
				</tr>
			';
			$i=1;
			foreach($remision as $dato)
			{
				$estilo='class="sombreado"';
		
				if($i%2>0)
				{
					$estilo="class='sinSombra'";
				}
							
				echo 
				'
					<tr '.$estilo.'>
						<td>'.$i.'</td>
						<td>'.$dato->descripcion.'</td>
						<td>'.$dato->cantidad.'</td>
						<td align="center">'.$dato->ordenCompra.'</td>
						<td align="center" id="filaOrden'.$i.'">
							<input type="hidden" id="idProducto'.$i.'" value="'.$dato->idProducto.'"/>
							<input type="hidden" id="cantidad'.$i.'" value="'.$dato->cantidad.'"/>
							<input type="hidden" id="idProductoCotizado'.$i.'" value="'.$dato->id.'"/>';
						
						$ban=0;
						if($dato->produccion=='0')
						{
							echo
							'
								<input type="checkbox" value="" id="chkProduccion'.$i.'" onchange="agregarOrdenProduccion('.$i.')" />
							';
							
							#================================================================================#
							
							$sql="select * from rel_producto_produccion
							where idProducto='".$dato->idProducto."'";
							#echo $sql;
							$query = $this->db->query($sql);
							
							if($query->num_rows()>0)
							{
								$velas=$query->row();
		
								$sql="select piezas
								from produccion_productos as a
								where idProducto='$velas->idProductoProduccion'
								limit 1";
								
								$velasDatos=$this->db->query($sql);
								
								$velasDatos=$velasDatos->row();
								
								$numeroVelas=$velasDatos->piezas;
								
								$query=$query->result(); // Result
								
								foreach($query as $row)
								{
									$sql="select a.idMaterial, a.nombre, 
										a.stock, a.costo, 
										 b.cantidad, b.idMaterial as relMaterial,
										 b.idConversion
									  from produccion_materiales as a
									  inner join rel_producto_material as b
										on (a.idMaterial=b.idMaterial) 
									   where b.idProducto='".$row->idProductoProduccion."'";
									   
									 $relacion = $this->db->query($sql);
									 $material=$relacion->result();
									 $cantidadVelas=$row->cantidad;
									 
									foreach($material as $mat)
									{
										$total=($mat->cantidad)*($dato->cantidad)*$cantidadVelas;
										$total=$total/$numeroVelas;
										
										$cantidadConversion=$mat->stock;
						
										if($mat->idConversion>0)
										{
											$sql="select * from unidades_conversiones
											where idConversion='$mat->idConversion'";
											
											$conversiones=$this->db->query($sql)->row();
											$cantidadConversion=$mat->stock*$conversiones->valor;
										}
						
										if($total>($cantidadConversion))
										{
											$ban=1;
											break;
										}
									}
								}
				
							  #============================================================================#
							}
							
							if($ban==1)
							{
								echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								<img style="cursor:pointer" src="'.base_url().'img/warning.png" width="16" 
								title="Requiere materiales" id="compraMaterial'.$i.'" 
								onclick="obtenerDetalleMateriales('.$dato->idProducto.','.$dato->cantidad.')" />
								
								<input type="hidden" id="" value="'.$dato->idProducto.'" />
								';
							}
						}
						else
						{
							echo'<img  src="'.base_url().'img/success.png" width="16" />';
						}
							echo 
							'<br />
							<a>Producir</a> ';
							if($ban==1)
							{
								echo '<a>Alerta</a>';
							}
						echo'</td>
				</tr>
				';
				$i++;
			}
			
			echo 
			"
			<script>
			$(document).ready(function()
			{
				for(i=1;i<100;i++)
				{
					$('#compraMaterial'+i).click(function(e)
					{
						$('#ventanaMateriales').dialog('open');
					});
				}
			});
			</script>
			";
			
			echo '</table>';
		}
	}
	
	function enviar()
	{
		if(!empty($_POST))
		{
			$configuracion=$this->configuracion->obtenerConfiguracion();
			
			$email=$configuracion['correo'];
			$nombre=$configuracion['nombre_empresa'];
			
			//$to="licfloresdejesus@gmail.com";
			
			$correoAdicional=$this->input->post('nombre');
			
			if(strlen($correoAdicional)<5)
			{
				$correoAdicional="";
			}
			
			$idCozacion=$this->input->post('idCotizacion');
			$mensaje=$this->input->post('mensaje');
			$destinatario=$this->input->post('correo');
			#$nombre=$this->input->post('nombre');
			$asunto=$this->input->post('asunto');
			
			$this->load->library('email');
			$this->email->from($email,$nombre);
			#$this->email->to($this->system_library->settings['request_email']);
			$this->email->to($destinatario);
			
			
			//$mensaje.='Hola de click en este link descargar la cotizacion: ';
			
			$link='<a href="'.base_url().'pdf/nuevaVenta/'.$idCozacion.'/'.$this->session->userdata('idLicencia').'">Descargar orden de venta</a>';
			
			$cuerpo=$mensaje.': '.$link;
			#echo $destinatario;
			
			//$asunto.=base_url()."login/confirmacion/".$password->password."/".$password->username; 
			
			$this->email->subject($asunto);
			$this->email->message
			(
				$cuerpo
			);
			
			if (!$this->email->send())
			{
				print("0");
			}
			else
			{
				print("1");
			}
				
		}
		else
		{
			print("2");
		}
	}//function
	
	#========================================================================================================#
	#=========================================CRITERIOS DE ORDENANAMIENTO====================================#
	#========================================================================================================#
	
	public function ordenamiento($criterio)
	{
		$this->session->set_userdata('criterioClientes',$criterio);
		$this->session->set_userdata('criterioIdClientes','');
		
		redirect('clientes','refresh');
	}
	
	public function ordenamientoProspectos($criterio)
	{
		$this->session->set_userdata('criterioProspectos',$criterio);
		
		redirect('clientes/prospectos','refresh');
	}
	
	#========================================================================================================#
	#=============================================  SEGUIMIENTO  ============================================#
	#========================================================================================================#
	
	public function seguimiento($idCliente)
	{
		$Data['title']= "Panel de Administración";
		$Data['cassadmin']=$this->_csstyle["cassadmin"];
		$Data['csmenu']=$this->_csstyle["csmenu"];
		$Data['csui']=$this->_csstyle["csui"];
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$Data['menuActivo']='clientes'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#

		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			$this->load->view('accesos/index');
			$this->load->view("pie",$Data);
			
			return;
		}
		
		$Datos=$this->modeloclientes->getNameCliente($idCliente);
		
		$data["dclientes"]=$this->modeloclientes->getNameCliente($idCliente);
		$data["seguimientos"]=$this->modeloclientes->obtenerSeguimientoCliente($idCliente);
		$data["cliente"]=$this->modeloclientes->obtenerCliente($idCliente);
		$data["IDC"]=$idCliente;
		
		$this->load->view("clientes/seguimiento",$data);
		
		$this->load->view("pie",$Data);
	}
	
	public function agregarSeguimiento()
	{
		if(!empty($_POST))
		{
			$seguimiento=$this->modeloclientes->agregarSeguimiento();
			
			$seguimiento=="1"?
				$this->session->set_userdata('notificacion','El seguimiento se ha registrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al registrar el seguimiento');
				
			echo $seguimiento;
		}
	}
	
	public function registrarSeguimiento()
	{
		if(!empty($_POST))
		{
			$seguimiento=$this->modeloclientes->agregarSeguimiento();
			echo $seguimiento;
		}
	}
	
	public function confirmarSeguimiento()
	{
		if(!empty($_POST))
		{
			$seguimiento=$this->modeloclientes->confirmarSeguimiento();
			
			$seguimiento=="1"?
				$this->session->set_userdata('notificacion','El seguimiento se ha confirmado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al confirmar el seguimiento');
				
			echo $seguimiento;
		}
	}
	
	
	public function confirmarmandoSeguimiento()
	{
		if(!empty($_POST))
		{
			$seguimiento=$this->modeloclientes->confirmarSeguimiento();
			echo $seguimiento;
		}
	}
	
	public function obtenerSeguimiento()
	{
		if(!empty($_POST))
		{
			$idSeguimiento=$this->input->post('idSeguimiento');
			
			$seguimiento=$this->modeloclientes->obtenerSeguimiento($idSeguimiento);
		
			echo '
			<table class="admintable" width="99%">
			<tr>
				<th colspan="2">Seguimiento del cliente '.$seguimiento->empresa.'</th>
			</tr>
				<tr>
					<td class="key">Fecha</td>
					<td><label>'.$seguimiento->fecha.'</label></td>
				</tr>
				<tr>
					<td class="key">Comentarios</td>
					<td><label>'.$seguimiento->comentarios.'</label></td>
				</tr>
				
				<tr>
					<td class="key">Observaciones</td>
					<td><label>'.$seguimiento->comentariosExtra.'</label>
					';
					if(strlen($seguimiento->comentariosExtra)==0)
					{
						echo '<label>--Ninguna--</label>';
					}
					echo'</td>
				</tr>
			<table>';
		}
	}
	
	#========================================================================================================#
	#=============================================AUTOCOMPLETADOS============================================#
	#========================================================================================================#
	
	public function autoCompletadoClientes()
	{
		if(!empty ($_POST))
		{
			$clientes=$this->configuracion->autoCompletadoClientes();
			
			if ($clientes!=NULL)
			{
				foreach ($clientes as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->id.'\',\''.str_replace('"',"",$row->empresa).'\');">'.$row->empresa.'</li>';
				}
			}
		}
	}
	
	public function prebusqueda($idCliente)
	{
		if($idCliente=="nada")
		{
			$idCliente='';
		}
		
		$this->session->set_userdata('idClienteBusqueda',$idCliente);
		
		redirect('clientes','refresh');
	}
	
	public function autoCompletadoCotizacion()
	{
		if(!empty ($_POST))
		{
			$clientes=$this->configuracion->autoCompletadoCotizacion();
			
			if ($clientes!=NULL)
			{
				foreach ($clientes as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->idCotizacion.'\',\''.$row->serie.'\');">'.$row->serie.'</li>';
				}
			}
		}
	}
	
	public function prebusquedaCotizacion($idCotizacion)
	{
		if($idCotizacion=="nada")
		{
			$idCotizacion='';
		}
		
		$this->session->set_userdata('idSerieCotizacion',$idCotizacion);
		
		redirect('clientes/ficha','refresh');
	}
	
	function index($Limite=0)
	{
		$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['jvalidate']=$this->_jss['jvalidate'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente']; 
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['Jqui']=$this->_jss['jqueryui'];   
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$Data['menuActivo']='clientes';   
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#

		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			$this->load->view('accesos/index');
			$this->load->view("pie",$Data);
			
			return;
		}
				
		#----------------------------------PAGINACION------------------------------------#
		$url=base_url()."clientes/index/";
		$registros=$this->modeloclientes->contarClientes();
		$numero=20;
		$links=5;
		$uri=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		#---------------------------------------------------------------------------------#
		
		$data['zonas']=$this->configuracion->obtenerZonas();
		$data['clientes']=$this->modeloclientes->getAllUsuario($numero,$Limite);
		$data['inicio']  = $Limite;
		$num_r = count($data['clientes']);
		$data['per_page']= $num_r;
	
		$this->load->view("clientes/index",$data); //principal lista de clientes
	
		$this->load->view("pie",$Data);
	}//function
	
	
	function prospectos($Limite=0)
	{
		$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['jvalidate']=$this->_jss['jvalidate'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente']; 
		$Data['Jqui']=$this->_jss['jqueryui'];   
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$Data['menuActivo']='prospectos'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url=base_url()."clientes/prospectos/";
		$registros=$this->modeloclientes->contarProspectos();
		$numero=20;
		$links=5;
		$uri=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('15',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['zonas']=$this->configuracion->obtenerZonas();	
		$data['Clientes']=$this->modeloclientes->obtenerProspectos($numero,$Limite);
		$data['inicio']  = $Limite;
		$num_r = count($data['Clientes']);
		$Conte['per_page']= $num_r;
	
		$this->load->view("clientes/prospectos",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}//function
	
	public function agregarCliente()
	{
		if(!empty($_POST))
		{
			$cliente=$this->modeloclientes->agregarCliente();
			
			if($cliente=="1")
			{
				$this->session->set_userdata('notificacion','Se ha registrado correctamente al cliente');
			}
			
			echo $cliente;
		}
	}
	
	public function editarCliente()
	{
		if(!empty($_POST))
		{
			$cliente=$this->modeloclientes->editarCliente();
		
			if($cliente=="1")
			{
				$this->session->set_userdata('notificacion','Se ha editado correctamente el registro del cliente');
			}
			
			echo $cliente;
		}
	}
	
	public function obtenerCliente()
	{
		$idCliente=$this->input->post('idCliente');
		
		$cliente=$this->modeloclientes->obtenerDatosCliente($idCliente);
		$zonas=$this->configuracion->obtenerZonas();
		
		echo
		'
			<table class="admintable" width="99%;">
			<tr>
				<td class="key">Empresa</td>
				<td>
				<textarea class="TextArea" style="width:205px" name="empresa" id="empresa1">'.$cliente->empresa.'</textarea>
				</td>
			</tr>
		 <tr>
		 
    	<td class="key">Tipo de precio</td>
			<td>
				<select name="txtPrecioClienteEditar" id="txtPrecioClienteEditar" class="cajas" style="width:200px">';
					
					$a='';
					$b='';
					$c='';
					$d='';
					$e='';
					
					if($cliente->precio=="1")
						$a='selected="selected"';
					
					if($cliente->precio=="2")
						$b='selected="selected"';
					
					if($cliente->precio=="3")
						$c='selected="selected"';
					
					if($cliente->precio=="4")
						$d='selected="selected"';
					
					if($cliente->precio=="5")
						$e='selected="selected"';
				
					echo'
					<option value="1" '.$a.'>A</option>
					<option value="2" '.$b.'>B</option>
					<option value="3" '.$c.'>C</option>
					<option value="4" '.$d.'>D</option>
					<option value="5" '.$e.'>E</option>
				</select>
			
			</td>
		</tr>
			
			<tr>
			<td class="key" align="right">'.$this->session->userdata('identificador').':</td>
			<td>
			 <select name="zonita1" id="zonita1" class="cajasSelect">';

			    if(count($zonas) > 0)
			    { 
					foreach($zonas as $zona) 
				    { 
					 	echo' <option  value="'.$zona['idZona'].'"';
							
							if($cliente->idZona==$zona['idZona']) echo 'selected="selected"';
						
						echo'>'.$zona['descripcion'].'</option>';
					} 
				} 
				
		   echo'</select> 
			</td>
		   </tr>
		   
		    <tr>
				<td class="key">RFC</td>
				<td>
				<input type="text" class="cajas" value="'.$cliente->rfc.'"  name="rfc" id="rfc1" style="width:200px"/>
				</td>
			</tr>
			
			<tr>
				<td class="key">Calle</td>
				<td>
					<textarea class="TextArea" name="direccion" id="direccion1" style="width:205px">'.$cliente->direccion.'</textarea>
				</td>
			</tr>
			
			 <tr>
				<td class="key">Número</td>
				<td>
				<input type="text" class="cajas" value="'.$cliente->no_direccion.'" name="numero1" id="numero1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Colonia</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->colonia.'" name="colonia" id="colonia1" style="width:200px"/>
				</td>
			</tr>
			
			<tr>
				<td class="key">Localidad</td>
				<td>
				<input type="text" class="cajas" value="'.$cliente->localidad.'" name="localidad" id="localidad1" style="width:200px" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Municipio</td>
				<td>
				<input type="text" class="cajas" value="'.$cliente->municipio.'" name="txtMunicipio1" id="txtMunicipio1" style="width:200px" />
				</td>
			</tr>
			
			 <tr>
				<td class="key">Estado</td>
				<td>
				<input type="text" class="cajas" value="'.$cliente->estado.'" name="estado" id="estado1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Código Postal</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->cp.'" name="codigoPostal" id="codigoPostal1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Teléfono</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->telefono.'" name="telefono" id="telefono1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Fax</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->fax.'" name="fax" id="fax1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Email</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->email.'" name="email" id="email1" style="width:200px"/>
				</td>
			</tr>
			
			 <tr>
				<td class="key">Pagina web</td>
				<td>
				<input type="text" class="cajas"  value="'.$cliente->web.'" name="pagina" id="pagina1" style="width:200px"/>
				</td>
			</tr>
			<tr>
				<td class="key">Días de crédito</td>
				<td>
				<input type="text" class="cajas"  value="'.number_format($cliente->limiteCredito,0).'" name="pagina" id="limiteCredito1" style="width:200px"/>
				</td>
			</tr>';

			echo'
			<tr>
				<th colspan="2" align="center" class="key">Dirección de envio</th>
			 </tr>
			 
			  <tr>
				<td class="key">Dirección</td>
				<td>
					
					<textarea class="TextArea" name="direccionEnvio1" id="direccionEnvio1" style="width:205px">'.$cliente->direccion_envio.'</textarea>
				</td>
			</tr>
			
			 <tr>
				<td class="key">Código postal</td>
				<td>
					<input type="text" class="cajas"  value="'.$cliente->cp_envio.'" name="codigoPostalEnvio" 
					id="codigoPostalEnvio1" style="width:200px"/>
				</td>
			</tr>
			
			 <tr>
				<td class="key">Estado</td>
				<td>
					<input type="text" class="cajas"  value="'.$cliente->estado_x.'" name="estadoEnvio" 
					id="estadoEnvio1" style="width:200px"/>
				</td>
			</tr>
			 <tr>
				<td class="key">Ciudad</td>
				<td>
					<input type="text" class="cajas"  value="'.$cliente->ciudad.'" name="ciudadEnvio" 
					id="ciudadEnvio1" style="width:200px"/>
				</td>
			</tr>
		</table>
		';
	}
	
	function busquedaZona($filtro)
	{
		$consulta=$filtro;
		
		if($filtro=='nada')
		{
			$filtro="";
			$$consulta="";
			$this->session->set_userdata("nombreZona",$filtro);
		}
		
		$this->session->set_userdata("nombreZona",$filtro);
		$this->session->set_userdata('busquedaCliente','');

		redirect('clientes/index','refresh');
	}
	
	function borrarCliente($idCliente)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$cliente=$this->modeloclientes->borrarCliente($idCliente);
		
		$cliente=="1"?
				$this->session->set_userdata('notificacion','El cliente se ha borrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al borrar al cliente porque esta asociado a cotizaciones, facturas y/o seguimientos');
				
		redirect('clientes/index','refresh');
	}

	public function contactos_clientes($id)
	{
		$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['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['Jparacontactos']=$this->_jss['jparacontactos'];
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#

		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		#-------------------------------------------------------------------------------#
		
		$data['Categoria']=$this->uri->segment(1);
		$data['idcliente']=$id;
		$data['contactos'] = $this->modeloclientes->get_Allcontactos($id);
		
		$this->load->view("clientes/contactos/index",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}//index

	public function saveNewCliente()
	{
		if(!empty ($_POST))
		{
			if($this->modeloclientes->addCliente() != NULL)
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'success','Message' => 'El registro se ha almacenado correctamente.'));
				}
			else
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'error','Message' => 'Ocurrio un error al guardar el registro.'));
			}
			redirect('clientes','refresh');
		}
		else 
		{
			redirect('clientes/add','refresh');
		}
	}

	public function busquedaClienteFicha($idCliente)
	{
		$this->session->set_userdata('idClienteFicha',$idCliente);
		
		redirect('clientes/ficha','refresh');
	}

	public function ficha($Limite=0)
	{
		$id=$this->session->userdata('idClienteFicha');
		
		$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['Jqui']=$this->_jss['jqueryui'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		$Data['jFicha_historial']=$this->_jss['jFicha_historial'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];
		$Data['JFunMensajeria']=$this->_jss['JFunMensajeria'];
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$Data['menuActivo']='clientes';
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#

		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			$this->load->view('accesos/index');
			$this->load->view("pie",$Data);
			
			return;
		}
		
		#----------------------------------PAGINACION------------------------------------#
		$url=base_url()."clientes/ficha/";
		$registros=$this->modeloclientes->contarClienteCotizaciones();
		$numero=7;
		$links=5;
		$uri=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		#---------------------------------------------------------------------------------#
		
		#$data=$this->modeloclientes->getNameCliente($id);
		$data['Cotizaciones'] = $this->modeloclientes->obtenerClienteCotizaciones($numero,$Limite);
		$data['totalRemision'] = $this->modeloclientes->obtenerTotalRemisiones();
		$data["dclientes"]=$this->modeloclientes->getNameCliente($id);
		$data["cliente"]=$this->modeloclientes->obtenerCliente($id);
 		$data["IDC"]=$id;
		
		$this->load->view("clientes/ficha",$data);
		$this->load->view("pie",$Data);
	}//Fin de public d
	
	public function ventas($Limite=0)
	{
		$id=$this->session->userdata('idClienteFicha');
		
		$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['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);  
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		$Data['jFicha_historial']=$this->_jss['jFicha_historial'];
		$Data['JFuntPagClien']=$this->_jss['JFuntPagClien'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];
		$Data['JFunMensajeria']=$this->_jss['JFunMensajeria'];
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$Data['menuActivo']='clientes';
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#

		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			$this->load->view('accesos/index');
			$this->load->view("pie",$Data);
			
			return;
		}
		
		#----------------------------------PAGINACION------------------------------------#
		$url=base_url()."clientes/ventas/";
		$registros=$this->modeloclientes->contarCotizacionesClientes();
		$numero=7;
		$links=5;
		$uri=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		#---------------------------------------------------------------------------------#
		
		#$Conte=$this->modeloclientes->getNameCliente($id);
		$data['ventas'] = $this->modeloclientes->obtenerVentasClientes($numero,$Limite);
		#$Conte['totalRemision'] = $this->modeloclientes->obtenerTotalRemisiones();
		$data["dclientes"]=$this->modeloclientes->getNameCliente($id);
		$data["cliente"]=$this->modeloclientes->obtenerCliente($id);
		$data["IDC"]=$id;
		
		$this->load->view("clientes/ventas",$data);
		$this->load->view("pie",$Data);
	}//Fin de public d


	public function saveCliente()
	{
		if(!empty ($_POST))
		{
			$id = intval($this->input->post('id'));		
			
			if($this->modeloclientes->SaveCliente($id) != NULL)
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'success','Message' => 'El registro se ha almacenado correctamente.'));
			}
			else
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'error','Message' => 'Ocurrio un error al guardar el registro.'));
			}
			
			redirect('clientes','refresh');
		}
		else 
		{
			redirect('clientes/add','refresh');
		}
	}
	
	public function SaveNewContactoCliente()
	{
		if(!empty($_POST))
		{
			if($this->modeloclientes->SaveNewContactoCliente()!=NULL)
			{
				print("1");
			}//Comparacion SaveNewContactoCliente
			else
			{
				print("0");
			}
		}//Datos del POST
	}//SaveNewContactoCliente

	public function editar_contacto($id)
	{
		$Data['title']= "Panel de Administración";
		$Data['cassadmin']=$this->_csstyle["cassadmin"];
		$Data['csmenu']=$this->_csstyle["csmenu"];
		$Data['csvalidate']=$this->_csstyle["csvalidate"];
		
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		$Data['permisos']=$this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Conte['Categoria']=$this->uri->segment(1);
		$Conte['Serie']=$this->modeloclientes->getGeneraSerieID();
		
		$Conte['contactos']=$this->modeloclientes->get_contacto($id);
		//$Conte['u']=$id;
		//echo $Conte['contactos'];
		$this->load->view("clientes/contactos/editar",$Conte);
		
		$this->load->view("pie",$Data);
	}

	public function update_contacto($id)
	{
		if(!empty ($_POST))
		{
			$idcliente=$this->input->post('oculto');
			
			if($this->modeloclientes->update_contacto($id) != NULL)
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'success','Message' => 'El registro se ha actualizado correctamente.'));
			}
			else
			{
				$this->session->set_flashdata('message', 
				array('messageType' => 'error','Message' => 'Ocurrio un error al actualizar el registro.'));
			}
			
			redirect('clientes/contactos_clientes/'.$idcliente,'refresh');
		}
		else 
		{
			redirect('clientes/editar_contacto/'.$id,'refresh');
		}
	}

	public function del_contacto($id,$idcliente)
	{
		$del=$this->db->query('delete from clientes_contactos where id = '.$id);
		
		if($del)
		{
			$this->session->set_flashdata('message', 
			array('messageType' => 'success','Message' => 'El registro se ha borrado correctamente.'));
		}
		else
		{
			$this->session->set_flashdata('message', 
			array('messageType' => 'error','Message' => 'Ocurrio un error al actualizar el registro.'));
		}
		
		redirect('clientes/contactos_clientes/'.$idcliente,'refresh');
	}

	public function numberFormat()
	{
		$Retorna="";
		
		if(!empty($_POST))
		{
			$Retorna=number_format(floatval($this->input->post('numero')),$this->input->post('decimal'));
		}
		else
		{
			$Retorna="0";
		}
		
		print($Retorna);
	}//numberFormat


	public function FechActual()
	{
		$T=$this->input->post('Fecha');
		
		switch($T)
		{
			case "n": print(date("d-m-Y")); break;
			case "m": print(date("Y-m-d")); break;
		}//switch
	}

//********* Regresa la Lista de Contactos del Cliente ***********

	function ListaContactos()
	{
		if(!empty($_POST))
		{
			$Contactos=$this->modeloclientes->getContactosCliente($this->input->post('Idc'));
			$HTML=""; 	 
			 	 	 
			if($Contactos!=NULL)
			{
				$No=0;	   
				foreach($Contactos as $Contacto)
				{	   
					$HTML.='<input type="checkbox"  name="CheckboxC[]" checked="checked" 
					class="CheckboxC" value="'.$Contacto['id'].'" /> '.$Contacto["nombre"];	   		 
				}//Foreach	  
				$HTML.='<input type="hidden" id="NoCheck" name="NoCheck" value="'.$No.'" />';  
			}//If 
			print($HTML);
		}//POST
	}

	public function buscarCliente($idCliente)
	{
		$cliente=$this->modeloclientes->obtenerCliente($idCliente);
		$contactos=$this->modeloclientes->obtenerContactos($idCliente);
		print
		('
			<table class="admintable" width="99%;">
			<tr>
			<th colspan="3"> Datos del cliente</th>
			</tr>
			<tr>
			<td class="key">Empresa:</td>
			<td colspan="2"><input type="text" name="empresa" readonly id="empresa" class="cajas" style="width:98%;" 
			value="'.$cliente->empresa.'"   /> </td>
			</tr>
			
			<tr>
			<td class="key">Dirección</td>
			<td colspan="2"><input type="text" name="T3" id="T3" class="cajas" style="width:98%;"  
			value="'.$cliente->direccion.'" readonly  /> </td>
			</tr>
			
			<tr>
			<td class="key">Teléfono:</td>
			<td colspan="2"><input name="T4" style="width:160px;" type="text" class="cajas" id="T4" 
			value="'.$cliente->telefono.'" readonly /> </td>
			</tr>

			<tr>
			 <td class="key">Email:</td>
			 <td colspan="2"><input type="text" name="extension" id="extension" class="cajas" style="width:300px;" 
			 value="'.$cliente->email.'" readonly></td>
			</tr>
			
			<tr>
			 <td class="key">Página:</td>
			 <td colspan="2"><input type="text" name="extension" id="extension" class="cajas" style="width:300px;" 
			 value="'.$cliente->web.'" readonly></td>
			</tr>
			
			<tr>
			<th colspan="3"> Contactos</th>
			</tr>
			<tr>
			<th align="center">Nombre</th>
			<th align="center">Email</th>
			<th align="center">Teléfono</th>
			</tr>');
			
			foreach($contactos as $contacto)
			{
				print
				('
					<tr>
					 <td align="center">'.$contacto->nombre.'</td>
					 <td align="center">'.$contacto->email.'</td>
					 <td align="center">'.$contacto->telefono.'</td>
					</tr>'
				);
			}
			
		print('</table>');
	}
	
	//SEGUIMIENTO A CLIENTES 
	//=============================================================================================================
	
	public function seguimientoClientes()
	{
		$idCliente=$this->input->post('idCliente');
		$seguimientos=$this->modeloclientes->obtenerSeguimientoCliente($idCliente);
		$permiso=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		echo'<input type="hidden" id="txtIdCliente" value="'.$idCliente.'" />';
		
		
	 	echo 
	 	'<div align="right" style="margin-left:60%; padding-right:20px">
		 Normal<img src="'.base_url().'img/GreenBall.png" width="25" />
		 Proximo<img src="'.base_url().'img/YellowBall.png" width="25" />
		 Pendiente<img src="'.base_url().'img/RedBall.png" width="25" />';
		 
 		echo'</div>'; 
		
		if(!empty($seguimientos))
		{
			echo'
			<table class="admintable" width="97%;" style=" margin-left:1.5%;">
			<tr>
				<th class="encabezadoPrincipal">#</th>
				<th class="encabezadoPrincipal">Fecha</th>
				<th class="encabezadoPrincipal">Comentarios</th>
				<th class="encabezadoPrincipal">Status</th>
				<th class="encabezadoPrincipal">Acciones</th>
			</tr>';
			  
		 	$i=1;
			$fecha=date('Y-m-d');
			
			foreach ($seguimientos as $row)
			{
				$estilo='class="sombreado"';
				
				if($i%2>0)
				{
				$estilo="class='sinSombra'";
				}
				
				print'
				<tr '.$estilo.'>
				<td align="center" valign="middle">'.$i.'</td>
				<td align="center" valign="middle">'.$row->fecha.'</td>
				<td align="center" valign="middle">
				<a onclick="detallesSeguimiento('.$row->idSeguimiento.')" style="cursor:pointer" id="lblSeguimiento'.$i.'">'.
				substr($row->comentarios,0,50).'</a>
				<input type="hidden" value="'.$row->idSeguimiento.'" id="idSeguimiento'.$i.'" />
				</td>
				<td align="center" valign="middle">';
				
				$sql="SELECT DATEDIFF('$row->fecha', '$fecha') AS diferencia "; #Obtener la diferencia de dias
				$query=$this->db->query($sql);
				
				$query=$query->row();
				
				if ($query->diferencia>3)
				{
					print('<img src="'.base_url().'img/GreenBall.png" width="25" />');
				}
				
				if ($query->diferencia==3 or $query->diferencia==2 or $query->diferencia==1)
				{
					print('<img src="'.base_url().'img/YellowBall.png" width="25" />');
				}
				
				if ($query->diferencia<1 )
				{
					print('<img src="'.base_url().'img/RedBall.png" width="25" />');
				}
				
				echo'</td>
				<td align="center" valign="middle" id="tdSeguimiendo'.$i.'">';
				
				if($permiso->escribir=='1')
				{ 
					if($row->activo=="1")
					{
						echo '<input type="checkbox" id="chkConfirmarSeguimiento'.$i.'"  onchange="confirmarSeguimientos('.$i.')" title="Confirmar" />
						<br />
						<a>Confirmar</a>';
					}
					else
					{
						echo '<img src="'.base_url().'img/success.png" width="25" title="Confirmado" />';
					}
				}
				echo'</td>
				</tr>';
				
				echo'<script>
				$("#lblSeguimiento'.$i.'").click(function(e)
				{
					$("#ventanaDetallesSeguimiento").dialog("open");
				});
				
				
			
				</script>';
				
				$i++;
			}
			
			echo'</table>';
		}
		else
		{
			echo'
			<div class="Error_validar" style="margin-top:2px; width:67%; margin-left:2px; margin-bottom: 5px;">
			No hay registro de seguimientos.</div>';
		}
	}
}//Clase de Clientes
?>
