//BUSQUEDA DE TABCATCLI
var formaTABCATCLI = null;
var panelTABCATCLI = null;
var intMode = 100;
var GridStoreTABCATCLI = null;
var gridTABCATCLI = null;

////////////////  FUNCION CONSTRUCTORA ////////////////////////////////////
function TABCATCLI_Constructor(){
	idTab = 'TABCATCLI';

	objClienteSel = null;
	
	var txtBoton = "";
		
	panelTABCATCLI = new Ext.Panel({
						width:'100%',
						height: '80%',
						autoScroll:false,
						disabled: false
	});
	
	formaTABCATCLI = new Ext.FormPanel({
		labelAlign: 'top',
        labelWidth: 75,
        frame:true,
		bodyStyle:'padding:0px',
        width: '100%',
		autoHeight: true,
        items: [
				panelTABCATCLI
			   ]
    });
	
	$("#divCatClientes").empty();
	formaTABCATCLI.render("divCatClientes");

	panelTABCATCLI.load({
		url: "vistas/tabCatClientes.php",
		params: {intMode:0, campo:'', order:''}, // or a URL encoded string
		callback: function(data){   
			
			//setAutocomplete("clientes", "txtBusCli");

			$("#divBotonesClientes").find("#btnInsertarCliente").click(function() {
				AddEditTABCATCLI(1);
			});
			
			getDataTABCATCLI(1);
						
		},
		discardUrl: false,
		nocache: false,
		text: 'Loading...',
		timeout: 30,
		scripts: false
	});
}

function buscarPorCliente(strTermino){
	getDataTABCATCLI(2, strTermino);
}
//////////////////////// CARGA GRID ///////////////////////////////////////
var intPaginacionCATCLI = 30;
function getDataTABCATCLI(intCase, strTermino, strFunctionCallback){
	console.log("getDataTABCATCLI", intCase, strTermino);

	if(objUsuario.empresa!=null){
		
		$( "#divClientesGrid" ).html("<div style='width:400px; margin-top:25px; margin-left:auto; margin-right:auto;'><img src='css/images/loading.gif'/></div>");
		
		var strUrlCli = "data/catClientes.php?method=consultar&intEmpresa="+ objUsuario.empresa +"&intCase="+ intCase ;
		if(intCase===1){
			//strUrlCli += "&strCliente="+ strTermino;
		}else if(intCase===2 || intCase===4 || intCase===5){
			strUrlCli += "&strCliente="+ strTermino;
		}else if(intCase===3){
			strUrlCli += "&intCliente="+ strTermino;
		}
		
		strUrlCli += "&start=0&limit=" + intPaginacionCATCLI;
		strUrlCli += "&rnd="+ Math.random()

		//console.log(strUrlCli);
		
		/*
		$.get(strUrlCli, function(dataNew){
			if(	dataNew.toLowerCase().indexOf("error") < 0 ){		
				if(	dataNew.length > 20 ){							 
						  
					var data = $.parseJSON(dataNew);
					var arrItems = data.Items;	
		*/		
			
		GridStoreTABCATCLI = new Ext.data.JsonStore({
		  root: 'Items',
		  idProperty: 'intCliente',
		  fields: [ 'intCliente', 'strNombres', 'strApellidos', 'strFecNac', 'strEdad', 'strSexo', 'strCompania', 'strEmail', 'strRfc', 'strPais', 'strEstado', 'strMunicipio',
				   'intCodigoPostal','strColonia','strCalle', 'strNumInt', 'strNumExt', 'strTelefono', 'strMovil', 'strUltCita', 'strProxCita','strImagen' ]
		  ,proxy: new Ext.data.HttpProxy({
				url: strUrlCli
		  })
		});   
	
		var arrColumns = [];

		//var colId = {header: "Id", width: 40, dataIndex: 'intCliente', sortable: true};
		var colNombres = {header: "Nombre", width: 240, dataIndex: 'strNombres', sortable: true, 
			renderer: function (value, metaDat, record) {
				var strImg = "<img src='images/icoHombre.png' style='width:40px; vertical-align:middle;'>";
				var strImagen = record.data["strImagen"];
				if(strImagen!=""){
					strImg = "<img src='"+ strImagen +"'  style='width:50px;  vertical-align:middle;'>";

				}
				if(intCase===4 || intCase===5){
					var newValue = "<a href='javascript: verExpediente("+ intCase +","+ record.data["intCliente"] +");' style='color:#C60;'>";
				}else{
					var newValue = "<a href='javascript: verExpediente(1,"+ record.data["intCliente"] +");' style='color:#C60;'>";
				}
				newValue += strImg +" "+ value +' '+ record.data["strApellidos"] +"</a>";
				return newValue;
			} 
		};
		var colSexo = {header: "Sexo", width: 35, dataIndex: 'strSexo', sortable: true};
		var colEdad = {header: "Edad", width: 35, dataIndex: 'strEdad', sortable: true};
		var colEmail = {header: "Email", width: 170, dataIndex: 'strEmail', sortable: true};
		var colTelefono = {header: "Telefono", dataIndex: 'strTelefono', sortable: true};
		//var colMovil = {header: "Movil", dataIndex: 'strMovil', sortable: true};*/
		var colProximaCita = {header: "Proxima Cita", dataIndex: 'strProxCita', sortable: true};
		var colUltimaCita = {header: "Ultima Cita", dataIndex: 'strUltCita', sortable: true};

		arrColumns.push(colNombres);
		arrColumns.push(colSexo);
		arrColumns.push(colEdad);


		//intPaginacionCATCLI = 30;
		var heightDoc = $(document).height();
		heightDoc = heightDoc - 100;

		var strIdDivCon = "divClientesGrid";
		if(intCase===1 || intCase===2 || intCase===3){
			arrColumns.push(colEmail);
			arrColumns.push(colTelefono);
			arrColumns.push(colProximaCita);
			arrColumns.push(colUltimaCita);

		}else if(intCase===4 || intCase===5){
		//	arrColumns.push(colNombres);
			strIdDivCon = "divGridPacientes";
			heightDoc = 500;

		}
		
		$( "#"+strIdDivCon ).html("");

		gridTABCATCLI = new Ext.grid.GridPanel({
			renderTo: document.getElementById(strIdDivCon),
			frame: true,
			title: 'Pacientes',
			width:'100%',
			height: heightDoc,
			store: GridStoreTABCATCLI,
			autoScroll: true,
			loadMask: true,
			columns: arrColumns
			,bbar: new Ext.PagingToolbar({
				pageSize: intPaginacionCATCLI,
				store: GridStoreTABCATCLI,
				displayInfo: true,
				displayMsg: 'Mostrando {0} - {1} de {2}',
				emptyMsg: "0 Registros que mostrar"
			})

			}
		);

		//store: GridStoreTABCATCLI,
		//GridStoreTABCATCLI.load({ params:{start:0, limit:intPaginacionCATCLI} });

		GridStoreTABCATCLI.load({
			params:{start:0, limit:intPaginacionCATCLI},
		    callback: function () {
		       var cnt = GridStoreTABCATCLI.getCount();
		       console.log("cnt: "+ cnt);

		       if(strFunctionCallback!=null && strFunctionCallback!="" && strFunctionCallback!="undefined"){
		       	   var objPac = verExpediente(2, strTermino);
		       	   var strPac = objPac.nombres +" "+ objPac.apellidos;
		       	   var strUrlImg = objPac.foto;

				   strFunctionCallback(strTermino, strPac, strUrlImg);
		       }
		    }
		});

					//strFunctionCallback(strTermino, strPac, strUrlImg);
			
			/*	
				}else{
					$( "#divClientesGrid" ).html("<p align='center' style='margin-top:100px;'>No hay registros para esta consulta</p>");
				}
			}else{
				$( "#divClientesGrid" ).html("<p align='center' style='margin-top:100px;'>Existe un error: "+ dataNew +"</p>");
			}
		});
		*/


	}else{
		alert("Todos los campos son requeridos");
	}
}

function buscarPaciente(intOrigen){ //1-registro diario, 2-expediente
	console.log("buscarPaciente / intOrigen: " + intOrigen);


	//onchange="getDataTABCATCLI(4, this.value)"
	$( "#dialog-buscar-cliente" ).find("#txtPaciente").off("change").on("change","", function(){ getDataTABCATCLI(intOrigen, $( "#dialog-buscar-cliente" ).find("#txtPaciente").val() ); });
	$( "#dialog-buscar-cliente" ).dialog("open");

}

//var intClienteSelected = null;
function verExpediente(intCase, id){
	console.log("verExpediente / intCase: " + intCase +" / id: " + id);

	GridStoreTABCATCLI.each(function(rd){  // REGRESA EL NOMBRE DE USUARIO
	    console.log("id: "+ id +" / rd.data[intCliente]: "+ rd.data["intCliente"]);
		if( parseInt(id) == parseInt(rd.data["intCliente"]) ){
			record = rd;
		}
	});

	if(record != null){
		//objClienteSel = null;
		
		objClienteSel = new Object();
		objClienteSel.id = record.data["intCliente"];
		objClienteSel.nombres = record.data["strNombres"];
		objClienteSel.apellidos = record.data["strApellidos"];
		objClienteSel.sexo = record.data["strSexo"];
		objClienteSel.fecnac = record.data["strFecNac"];
		objClienteSel.email = record.data["strEmail"];
		objClienteSel.telefono = record.data["strTelefono"];
		objClienteSel.foto = record.data["strImagen"];
		objClienteSel.compania = record.data["strCompania"];
		
		if(intCase===1){

			showPage('tabExp', id);

		}else if(intCase===2){

			return objClienteSel;

		}else if(intCase===4 || intCase===5){
		    
			console.log("\n Establezco Cliente en busqueda de cliente en registro diario o en busqueda de cliente en expediente");

			$("#divExpedientePaciente").find("#txtId").val(objClienteSel.id);
			$("#divExpedientePaciente").find("#txtNombres").val(objClienteSel.nombres);
			$("#divExpedientePaciente").find("#txtApellidos").val(objClienteSel.apellidos);
			$("#divExpedientePaciente").find("#selectSexo").val(objClienteSel.sexo);
			$("#divExpedientePaciente").find("#txtFecNac").val(objClienteSel.fecnac);
			$("#divExpedientePaciente").find("#txtEmail").val(objClienteSel.email);
			$("#divExpedientePaciente").find("#txtTelefono").val(objClienteSel.telefono);
			$("#divExpedientePaciente").find("#imgFotoPaciente").prop("src", objClienteSel.foto);
			$("#divExpedientePaciente").find("#txtCompania").val( objClienteSel.compania );

			console.log("objClienteSel.id: "+ objClienteSel.id +" / objClienteSel.nombres: "+ objClienteSel.nombres);
			
			if(intCase===4){ //Busqueda de cliente en expediente
			    
			    //setTimeout( function(){
    				getDataConsulta("");
    
    				if(objClienteSel.sexo.toUpperCase()=="F"){
    					$("#divExpedienteTabs").find("#divGinecoobstetricos").css({"visibility":"visible","display":"block"});
    				}else{
    					$("#divExpedienteTabs").find("#divGinecoobstetricos").css({"visibility":"hidden","display":"none"});					
    				}
			    //}, 5000);
			}

			$( "#dialog-buscar-cliente" ).dialog("close");

		}

	}else{
		
		console.log("Cliente no encontrado");
		objClienteSel = null;

	}
	
}

////////////////////// LIMPIA CAMPOS ////////////////////////////////
function limpiarTextboxesTABCATCLI(){

	$( "#dialog-cliente" ).find( "#txtIntUsuario" ).val('');
	$( "#dialog-cliente" ).find( "#txtNombreUsuario" ).val('');
	$( "#dialog-cliente" ).find( "#txtLoginUsuario" ).val('');
	$( "#dialog-cliente" ).find( "#txtPasswordUsuario" ).val('');
	$( "#dialog-cliente" ).find( "#selectDepartamento" ).val('');

}
function ver(chk) {
     $("#txtCalle2").val('');
     $("#txtNumInt2").val('');
     $("#txtNumExt2").val('');
	 $("#txtColonia2").val('');
     $("#txtCodigoPostal2").val('');
     $("#selectMunicipio2").val('');
	 $("#selectEstado2").val('');
     $("#selectPais2").val('');
	 
  if (chk.checked) {
    $("#txtCalle2").val($("#txtCalle").val());
	$("#txtNumInt2").val($("#txtNumInt").val());
	$("#txtNumExt2").val($("#txtNumExt").val());
	$("#txtColonia2").val($("#txtColonia").val());
	$("#txtCodigoPostal2").val($("#txtCodigoPostal").val());
	$("#selectMunicipio2").val($("#selectMunicipio").val());
	$("#selectEstado2").val($("#selectEstado").val());
	$("#selectPais2").val($("#selectPais").val());
  }
}

///////////////////////CARGA EL DETALLE DEL CLIENTE Y LLENA COMBOS///////////////////////////////


function AddEditTABCATCLI(intCase, id){
	$( "#divLoading" ).css({ "visibility":"visible", "display":"inherit" });
	
	var strUrl1 = "vistas/dialog-cliente.php?rnd="+ Math.random();
	
	$.get(strUrl1, function(data){
		
		$("#divCatClientes").html(data);					
		//cargarTipoClientes($( "#dialog-cliente" ).find("#selectDepartamento"));

		$( "#dialog-cliente" ).find( "#selectEstado" ).change(function() {
			llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio" ), $( "#dialog-cliente" ).find( "#selectEstado" ).val(), 'MEX', '');
			llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio2" ), $( "#dialog-cliente" ).find( "#selectEstado2" ).val(), 'MEX', '');
		});
		
		llenarCombo("paises", $( "#dialog-cliente" ).find( "#selectPais" ), '', '', '');
		llenarCombo("estados", $( "#dialog-cliente" ).find( "#selectEstado" ), 'MEX', '', '');
		llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio" ), 'Distrito Federal', 'MEX', '');
		
		llenarCombo("paises", $( "#dialog-cliente" ).find( "#selectPais2" ), '', '', '');
		llenarCombo("estados", $( "#dialog-cliente" ).find( "#selectEstado2" ), 'MEX', '', '');
		llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio2" ), 'Distrito Federal', 'MEX', '');

		setTimeout( function(){ cargarDataDialogTABCATCLI(intCase, id); }, 1000);
	});
}


///////////////////////// CARGA DATOS EN EL DIALOG ///////////////////////////////////////


function cargarDataDialogTABCATCLI(intCase, id){
	
	$( "#btnGuardar" + idTab).unbind( "click" );
	$( "#btnCancelar" + idTab).unbind( "click" );
	$( "#btnEliminar" + idTab).unbind( "click" );
	
	if(intCase===1){
		
		limpiarTextboxesTABCATCLI();

		$( "#btnGuardar" + idTab ).click(function() {
			abcTABCATCLI(1);
		});
		
		$( "#btnCancelar" + idTab ).click(function() {
			TABCATCLI_Constructor();
		});
		
		$( "#btnEliminar" + idTab ).css({ visibility:"hidden", display:"none" });
		
	}else{
		
		var record = null;

		GridStoreTABCATCLI.each(function(rd){  // REGRESA EL NOMBRE DE USUARIO
			if( parseInt(id) == parseInt(rd.data["intCliente"]) ){
				record = rd;
			}
		});

		if(record != null){

			$( "#dialog-cliente" ).find( "#txtIntCliente" ).val( record.data["intCliente"] );
			$( "#dialog-cliente" ).find( "#txtNombres" ).val( record.data["strNombres"] );
			$( "#dialog-cliente" ).find( "#txtApellidos" ).val( record.data["strApellidos"] );
			$( "#dialog-cliente" ).find( "#txtFecNac" ).val( record.data["strFecNac"] );
			$( "#dialog-cliente" ).find( "#selectSexo" ).val( record.data["strSexo"] );
			$( "#dialog-cliente" ).find( "#txtEmail" ).val( record.data["strEmail"] );
			$( "#dialog-cliente" ).find( "#txtTelefono" ).val( record.data["strTelefono"] );
			$( "#dialog-cliente" ).find( "#txtMovil" ).val( record.data["strMovil"] );
			$( "#dialog-cliente" ).find( "#txtCompania" ).val( record.data["strCompania"] );
			$( "#dialog-cliente" ).find( "#txtRfc" ).val( record.data["strRfc"] );
			
			$( "#dialog-cliente" ).find( "#txtColonia" ).val( record.data["strColonia"] );
			$( "#dialog-cliente" ).find( "#txtCalle" ).val( record.data["strCalle"] );
			$( "#dialog-cliente" ).find( "#txtNumExt" ).val( record.data["strNumExt"] );
			$( "#dialog-cliente" ).find( "#txtNumInt" ).val( record.data["strNumInt"] );
			$( "#dialog-cliente" ).find( "#txtCodigoPostal" ).val( record.data["intCodigoPostal"] );
			$( "#dialog-cliente" ).find( "#txtMovil" ).val( record.data["strMovil"] );

			$( "#dialog-cliente" ).find( "#selectPais" ).val( record.data["strPais"] );
			$( "#dialog-cliente" ).find( "#selectEstado" ).val( record.data["strEstado"] );
			//$( "#dialog-cliente" ).find( "#selectMunicipio" ).val( record.data["strMunicipio"] );
			llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio" ), record.data["strEstado"], 'MEX', record.data["strMunicipio"]);
			llenarCombo("ciudades", $( "#dialog-cliente" ).find( "#selectMunicipio2" ), record.data["strEstado"], 'MEX', record.data["strMunicipio"]);

			$( "#btnGuardar"  + idTab).click(function() {
				abcTABCATCLI(2);
			});
			
			$( "#btnCancelar" + idTab ).click(function() {
				TABCATCLI_Constructor();
			});
			
			$( "#btnEliminar" + idTab).css({ visibility:"visible" });
			$( "#btnEliminar" + idTab).click(function() {
				abcTABCATCLI(3);
			});
				
		}
	}
	$( "#divLoading" ).css({ "visibility":"hidden", "display":"none" });
}


//////////////////////ENVIA DATOS PARA AGREGAR, ACTUALIZAR O BORRAR////////////////////////


function abcTABCATCLI(intCase){

	if( $( "#dialog-cliente" ).find( "#txtNombres" ).val() != ""
	&& $( "#dialog-cliente" ).find( "#txtApellidos" ).val() != "" && $( "#dialog-cliente" ).find( "#txtFecNac" ).val() != ""
	&& $( "#dialog-cliente" ).find( "#selectSexo" ).val() != "" && $( "#dialog-cliente" ).find( "#txtEmail" ).val() != ""
	&& $( "#dialog-cliente" ).find( "#txtTelefono" ).val() != "" && $( "#dialog-cliente" ).find( "#txtMovil" ).val() != ""){
		
		var sQuery = "data/catClientes.php?method=abc&intMode="+ intCase 
		+"&intCliente="+ $( "#dialog-cliente" ).find( "#txtIntCliente" ).val() 
		+"&txtNombres="+ $( "#dialog-cliente" ).find( "#txtNombres" ).val() 
		+"&txtApellidos="+ $( "#dialog-cliente" ).find( "#txtApellidos" ).val() 
		+"&txtFecNac="+ $( "#dialog-cliente" ).find( "#txtFecNac" ).val() 
		+"&selectSexo="+ $( "#dialog-cliente" ).find( "#selectSexo" ).val() 
		+"&txtCompania="+ $( "#dialog-cliente" ).find( "#txtCompania" ).val() 
		+"&selectFormaContacto="+ $( "#dialog-cliente" ).find( "#selectFormaContacto" ).val() 
		+"&selectPais="+ $( "#dialog-cliente" ).find( "#selectPais" ).val() 
		+"&selectEstado="+ $( "#dialog-cliente" ).find( "#selectEstado" ).val() 
		+"&selectMunicipio="+ $( "#dialog-cliente" ).find( "#selectMunicipio" ).val() 
		+"&txtEmail="+ $( "#dialog-cliente" ).find( "#txtEmail" ).val() 
		+"&txtRfc="+ $( "#dialog-cliente" ).find( "#txtRfc" ).val() 
		+"&txtColonia="+ $( "#dialog-cliente" ).find( "#txtColonia" ).val() 
		+"&txtCalle="+ $( "#dialog-cliente" ).find( "#txtCalle" ).val() 
		+"&txtNumExt="+ $( "#dialog-cliente" ).find( "#txtNumExt" ).val() 
		+"&txtNumInt="+ $( "#dialog-cliente" ).find( "#txtNumInt" ).val() 
		+"&txtCodigoPostal="+ $( "#dialog-cliente" ).find( "#txtCodigoPostal" ).val() 
		+"&txtTelefono="+ $( "#dialog-cliente" ).find( "#txtTelefono" ).val() 
		+"&txtMovil="+ $( "#dialog-cliente" ).find( "#txtMovil" ).val()
		+"&intEmpresa="+ objUsuario.empresa +"&rnd="+ Math.random();
		
		console.log(sQuery);
		
		$.post(sQuery, function(dataNew){
			
			TABCATCLI_Constructor();

		});
		
	}else{
		alert("Todos los campos son requeridos.");
	}
}

