var	contagricola = 0;
var id_fila_agricola_seleccionada;

// Variables información pecuaria
var	contpecuaria = 0;
var id_fila_pecuaria_seleccionada;

// Variables asistencia técnica
var	contasistenciatecnica = 0;
var id_fila_asistenciatecnica;

// Variables capacitación.
var	contcapacitacion = 0;
var fila_capacitacion;

$(function(){

	// Botones informacíon pecuaria.
	$('#btn_agregar_agricola').click(function(){
		agregarfilaagricola();
	});

	$('#btn_eliminar_agricola').click(function(){
		eliminarfilaagricola(id_fila_agricola_seleccionada);
	})

	// Botones información pecuaria.
	$('#btn_agregar_pecuaria').click(function(){
		agregarfilapecuaria();
	});

	$('#btn_eliminar_pecuaria').click(function(){
		eliminarfilapecuaria(id_fila_pecuaria_seleccionada);
	})

	// Botones asistencia técnica.
	$('#btn_agregar_asistencia_tecnica').click(function(){
		agregarfilaasistenciatecnica();
	});

	$('#btn_eliminar_asistencia_tecnica').click(function(){
		eliminarfilaasistenciatecnica(id_fila_asistenciatecnica);
	})

	// Botones asistencia técnica.
	$('#btn_agregar_capacitacion').click(function(){
		agregarfilacapacitacion();
	});

	// Elimina fila de la tabla capacitación
	$('#btn_eliminar_capacitacion').click(function(){
		eliminarfilacapacitacion(fila_capacitacion);
	});

	$('#codigo_pais').change(function(){
		
		let codigo_pais = $('#codigo_pais').val();
		cargaDepartamentos('consultar_departamentos', '../controlador/gestion.formulario.controlador.php', codigo_pais);
		cargaMunicipios(0);
		cargaVeredas(0);
	});

})

function cargaDepartamentos(accion, controlador, codigo_pais){

	$.ajax({
        url: controlador,
        type: 'POST',
        data: "codigo_pais="+codigo_pais+"&accion="+accion+"&peticion=ajax",
        dataType: 'json',
        success:function(data){

        	console.log(data['data']);	
        	let html = '<select class="selectproceso form-control text-uppercase" name="codigo_departamento" id="codigo_departamento" style="width: 100%;" onchange="cargaMunicipios(this.value);">'+
	                        '<option value="0">DEPARTAMENTO</option>';
        	for (var i = 0; i < data['data'].length; i++) {
        			
 				html += '<option value="'+data['data'][i][1]+'">'+data['data'][i][2]+'</option>';

        	}

        	html += '</select>';

        	$('#carga_departamento').html(html);

        }
    });

}

function cargaMunicipios(codigo_departamento){
	
	// Cargamos veredas en cero.
	cargaVeredas(0);

	$.ajax({
        url: '../controlador/gestion.formulario.controlador.php',
        type: 'POST',
        data: "codigo_departamento="+codigo_departamento+"&accion=consultar_municipio&peticion=ajax",
        dataType: 'json',
        success:function(data){

        	console.log(data['data']);
  			
        	let html = '<select class="selectproceso form-control text-uppercase" name="codigo_municipio" id="codigo_municipio" style="width: 100%;" onchange="cargaVeredas(this.value);">'+
	                        '<option value="0">MUNICIPIO</option>';
        	for (var i = 0; i < data['data'].length; i++) {
        			
 				html += '<option value="'+data['data'][i][1]+'">'+data['data'][i][2]+'</option>';

        	}

        	html += '</select>';

        	$('#carga_municipio').html(html);

        }
    });

}

function cargaVeredas(codigo_municipio){

	$.ajax({
        url: '../controlador/gestion.formulario.controlador.php',
        type: 'POST',
        data: "codigo_municipio="+codigo_municipio+"&accion=consultar_vereda&peticion=ajax",
        dataType: 'json',
        success:function(data){

        	console.log(data['data']);
  			
        	let html = '<select class="selectproceso form-control text-uppercase" name="id_zona" id="id_zona" style="width: 100%;">'+
	                        '<option value="0">VEREDAS</option>';
        	for (var i = 0; i < data['data'].length; i++) {
        			
 				html += '<option value="'+data['data'][i][0]+'">'+data['data'][i][1]+'</option>';

        	}

        	html += '</select>';

        	$('#carga_vereda').html(html);

        }
    });

}

function agregarfilaagricola(){

	contagricola++;

	var filaagricola = '<tr class="selectedagricola" id="filaagricola'+contagricola+'" onclick="seleccionaragricola(this.id);">'+
					   		'<td>'+
					   			'<input type="hidden" id="idagricola'+contagricola+'" name="idagricola'+contagricola+'">'+
					   			'<textarea class="form-control" rows="1" id="cultivo'+contagricola+'" name="cultivo'+contagricola+'"></textarea>'+
					   		'</td>'+	
					   		'<td><input type="text" class="form-control" id="edad_cultivo'+contagricola+'" name="edad_cultivo'+contagricola+'"></td>'+
					   		'<td><input type="text" class="form-control" id="total_sembrado'+contagricola+'" name="total_sembrado'+contagricola+'"></td>'+
					   		'<td><input type="text" class="form-control" id="total_produccion'+contagricola+'" name="total_produccion'+contagricola+'"></td>'+
					   		'<td><input type="text" class="form-control" id="produccion_ton'+contagricola+'" name="produccion_ton'+contagricola+'"></td>'+
					   		'<td><input type="text" class="form-control" id="rendimiento_ton'+contagricola+'" name="rendimiento_ton'+contagricola+'"></td>'+
					   		'<td><input type="text" class="form-control" id="costos_produccion'+contagricola+'" name="costos_produccion'+contagricola+'"></td>'+
					   		'<td><textarea class="form-control" rows="1" id="canal_comercializacion'+contagricola+'" name="canal_comercializacion'+contagricola+'"></textarea></td>'+
					   '</tr>';
	
	$('#body_agricola').append(filaagricola);

	$('#contadorfilaagricola').val(contagricola);			   

}

function seleccionaragricola(id_fila_agricola){

	if($('#'+id_fila_agricola).hasClass('seleccionadaagricola')){
		$('#'+id_fila_agricola).removeClass('seleccionadaagricola')
	}else{
		$('#'+id_fila_agricola).addClass('seleccionadaagricola');
	}

	id_fila_agricola_seleccionada = id_fila_agricola;

}

function eliminarfilaagricola(id_fila_agricola){

	$('#'+id_fila_agricola).remove();

}

// Tabla Informacíon pecuaria...
function agregarfilapecuaria(){

	contpecuaria++;

	var filapecuaria = '<tr class="selectedpecuaria" id="filapecuaria'+contpecuaria+'" onclick="seleccionarpecuaria(this.id);">'+
                          	'<td>'+
                            	'<input type="hidden" id="id_informacion_pecuaria'+contpecuaria+'" name="id_informacion_pecuaria'+contpecuaria+'" value="'+contpecuaria+'">'+
      	  						'<input type="text" class="form-control" id="especie'+contpecuaria+'" name="especie'+contpecuaria+'">'+
      	  					'</td>'+
      	  					'<td>'+
                            	'<input type="text" class="form-control" id="raza'+contpecuaria+'" name="raza'+contpecuaria+'">'+         
                          		'</td>'+
      	  					'<td>'+
      	  						'<input type="number" class="form-control" min="0" id="edad'+contpecuaria+'" name="edad'+contpecuaria+'">'+
      	  					'</td>'+
      	  					'<td>'+
      	  						'<input type="text" class="form-control" id="produccion_predio'+contpecuaria+'" name="produccion_predio'+contpecuaria+'">'+
      	  					'</td>'+
      	  					'<td>'+
      	  						'<input type="number" class="form-control" min="0" id="costos_produccion_pecuaria'+contpecuaria+'" name="costos_produccion_pecuaria'+contpecuaria+'">'+
      	  					'</td>'+
      	  					'<td>'+
      	  						'<input type="text" class="form-control" id="canal_comercializacion_pecuaria'+contpecuaria+'" name="canal_comercializacion_pecuaria'+contpecuaria+'">'+
      	  					'</td>'+
      	  				'</tr>';

	
	$('#body_pecuaria').append(filapecuaria);					   
	$('#contadorfilainfopecuaria').val(contpecuaria);

}

function seleccionarpecuaria(id_fila_pecuaria){

	if($('#'+id_fila_pecuaria).hasClass('seleccionadapecuaria')){
		$('#'+id_fila_pecuaria).removeClass('seleccionadapecuaria')
	}else{
		$('#'+id_fila_pecuaria).addClass('seleccionadapecuaria');
	}

	id_fila_pecuaria_seleccionada = id_fila_pecuaria;

}

function eliminarfilapecuaria(id_fila_pecuaria){

	$('#'+id_fila_pecuaria).remove();

}

// Tabla asistencia técnica...
function agregarfilaasistenciatecnica(){

	contasistenciatecnica++;

	var filaasistenciatecnica = '<tr class="selectedasistenciatecnica" id="filaasistenciatecnica'+contasistenciatecnica+'" onclick="seleccionarasistenciatecnica(this.id);">'+
                            		'<td>'+
                              			'<input type="hidden" class="form-control" id="idasistenciatecnica'+contasistenciatecnica+'" name="idasistenciatecnica'+contasistenciatecnica+'" value="'+contasistenciatecnica+'">'+
      	  								'<input type="text" class="form-control" id="nombre_producto'+contasistenciatecnica+'" name="nombre_producto'+contasistenciatecnica+'">'+
      	  							'</td>'+
      	  							'<td>'+
      	  								'<input type="number" class="form-control" min="0" id="dosisrecomendada'+contasistenciatecnica+'" name="dosisrecomendada'+contasistenciatecnica+'">'+
      	  							'</td>'+
      	  							'<td>'+
      	  								'<input type="text" class="form-control" id="metodoaplicacion'+contasistenciatecnica+'" name="metodoaplicacion'+contasistenciatecnica+'">'+
      	  							'</td>'+
      	  						'</tr>';
	
	$('#body_asistencia_tecnica').append(filaasistenciatecnica);
	$('#contadorasistenciatecnica').val(contasistenciatecnica);					   

}

function seleccionarasistenciatecnica(id_fila_asistencia_tecnica){

	if($('#'+id_fila_asistencia_tecnica).hasClass('seleccionadaasistenciatecnica')){
		$('#'+id_fila_asistencia_tecnica).removeClass('seleccionadaasistenciatecnica')
	}else{
		$('#'+id_fila_asistencia_tecnica).addClass('seleccionadaasistenciatecnica');
	}

	id_fila_asistenciatecnica = id_fila_asistencia_tecnica;

}

function eliminarfilaasistenciatecnica(id_fila_asistenciatecnica){

	$('#'+id_fila_asistenciatecnica).remove();

}

// Tabla asistencia técnica...
function agregarfilacapacitacion(){

	contcapacitacion++;

	var filacapacitacitacion = '<tr class="selectedcapacitacion" id="filacapacitacitacion'+contcapacitacion+'" onclick="seleccionarcapacitacion(this.id);">'+
							   		'<td>'+
							   			'<input type="hidden" class="form-control" id="idcapacitacion'+contcapacitacion+'" name="idcapacitacion'+contcapacitacion+'" value="'+contcapacitacion+'">'+
	                      				'<select class="form-control" id="tipocapacitacion'+contcapacitacion+'" name="tipocapacitacion'+contcapacitacion+'">'+
	                      					'<option>Individual</option>'+
	                      					'<option>Grupal</option>'+
	                      				'</select>'+
	                      			'</td>'+
	                      			'<td>'+
	                      				'<input type="" class="form-control" id="temacapacitacion'+contcapacitacion+'" name="temacapacitacion'+contcapacitacion+'">'+
	                      				'</td>'+
	                      			'<td>'+
	                      				'<select class="form-control" id="generocapacitacion'+contcapacitacion+'" name="generocapacitacion'+contcapacitacion+'">'+
	                      					'<option>Masculino</option>'+
	                      					'<option>Femenino</option>'+
	                      				'</select>'+
	                      			'</td>'+
	                      			'<td>'+
	                      				'<input type="number" class="form-control" name="numeropersonas'+contcapacitacion+'"  id="numeropersonas'+contcapacitacion+'">'+
	                      			'</td>'+
							   '</tr>';

	$('#body_capacitacion').append(filacapacitacitacion);					   

	$('#contadorfilascapacitacion').val(contcapacitacion);

}

function seleccionarcapacitacion(id_fila_capacitacion){

	if($('#'+id_fila_capacitacion).hasClass('seleccionadacapacitacion')){
		$('#'+id_fila_capacitacion).removeClass('seleccionadacapacitacion');
	}else{
		$('#'+id_fila_capacitacion).addClass('seleccionadacapacitacion');
	}

	fila_capacitacion = id_fila_capacitacion;

}

function eliminarfilacapacitacion(id_fila_capacitacion){

	$('#'+id_fila_capacitacion).remove();

}

// Consulta formulario.
function consultaFormulario(id_formulario){

	$.ajax({
		url: '../controlador/gestion.formulario.controlador.php',
		type: 'POST',
		data: 'id_formulario='+id_formulario+'&accion=consulta_formulario&peticion=ajax',
		dataType: 'json',
		success:function(data){
			console.log(data);
			if(data != null ){

				$('#nombre').val(data['nombre']);
				$('#descripcion').val(data['descripcion']);
				$('#codigo').val(data['codigo']);
				$('#estado').val(data['estado']).trigger('change.select2');
				$('#version').val(data['version']);
				$('#id_opcion_proceso').val(data['id_opcion_proceso']);

			}else{

				console.log('Formulario no encontrado...');

			}
		}
	})

}

function consultaDatosFormulariosRegistrados(id_formulario){

	let fecha_desde = $('#fecha_desde').val();
	let fecha_hasta = $('#fecha_hasta').val();
	
	$.ajax({
		url: '../controlador/gestion.formulario.controlador.php',
		type: 'POST',
		data: 'id_formulario='+id_formulario+'&fecha_desde='+fecha_desde+'&fecha_hasta='+fecha_hasta+'&accion=consulta_datos_formulario&peticion=ajax',
		dataType: 'json',
		success:function(data){
			console.log(data);

			let html = '';
			if(data.datos != null){

				if(data.datos[0]['id_formulario_atencion']!=undefined){
					html = '<thead>'+
	              				'<tr class="text-center">'+
	              					'<th>Nombre</th>'+
	              					'<th>Usuario registra</th>'+
	              					'<th>Fecha registro</th>'+
	              					'<th>Descargar pdf</th>'+
	              				'</tr>'+
	              			'</thead>'+
	              			'<tbody>';

	              	for (var i = 0; i < data.datos.length; i++) {

						html += '<tr>'+
									'<td>'+data.datos[i]['nombre']+
										'<input type="hidden" name="id_formulario_" id="id_formulario_" value="'+data.datos[i]['id_formulario']+'">'+
										'<input type="hidden" name="id_formulario_asistencia" id="id_formulario_asistencia" value="'+data.datos[i]['id_formulario_atencion']+'">'+
									'</td>'+
									'<td>'+data.datos[i]['nombre_usuario']+'</td>'+ //id_usuario_registra
									'<td>'+data.datos[i]['fecha_registro']+'</td>'+
									'<td class="text-center">'+
										'<a href="../vista/modulos/formulario_atencion_productorespdf.php?id_formulario='+data.datos[i]['id_formulario']+'&id_formulario_asistencia_atencion='+data.datos[i]['id_formulario_atencion']+'&nombre_formulario='+data.datos[i]['nombre']+'&fecha_registro='+data.datos[i]['fecha_registro']+'" class="btn btn-success text-white"><i class="far fa-file-pdf"></i></a>'+
									'</td>'+
								'</tr>'

					}

					html += '</tbody>';
		
				}else{

					html = '';

					html = '<thead>'+
	              				'<tr class="text-center">'+
	              					'<th>Nombre</th>'+
	              					'<th>Usuario registra</th>'+
	              					'<th>Fecha registro</th>'+
	              					'<th>Descargar pdf</th>'+
	              				'</tr>'+
	              			'</thead>'+
	              			'<tbody>';

	              	for (var i = 0; i < data.datos.length; i++) {

						html += '<tr>'+
									'<td>'+data.datos[i]['nombre']+
										'<input type="hidden" name="id_formulario_" id="id_formulario_" value="'+data.datos[i]['id_formulario']+'">'+
										'<input type="hidden" name="id_formulario_asistencia" id="id_formulario_asistencia" value="'+data.datos[i]['id_formulario_asistencia']+'">'+
									'</td>'+
									'<td>'+data.datos[i]['nombre_usuario']+'</td>'+ //id_usuario_registra
									'<td>'+data.datos[i]['fecha_registro']+'</td>'+
									'<td class="text-center">'+
										'<a href="../vista/modulos/formulario_atencion_productorespdf.php?id_formulario='+data.datos[i]['id_formulario']+'&id_formulario_asistencia_atencion='+data.datos[i]['id_formulario_asistencia']+'&nombre_formulario='+data.datos[i]['nombre']+'&fecha_registro='+data.datos[i]['fecha_registro']+'"" class="btn btn-success text-white"><i class="far fa-file-pdf"></i></a>'+
									'</td>'+
								'</tr>'

					}

					html += '</tbody>';

				}

				// Habilitamos botón descargar Excel
				$('#btn_descarga_formulario_excel').attr('disabled', false);

			}else{
				
				// Deshabilitamos botón descargar Excel
				$('#btn_descarga_formulario_excel').attr('disabled', true);

				html = '<p class="text-center">No se encontró información registrada en las fechas indicadas.</p>';

			}

			$('#lista_formularios').html(html);

		}
	})

}


// Consulta formulario.
function cargarArcvhivoExcel(id_controlador, accion, controlador, modulo){

	let parametros = new FormData($('#'+id_controlador)[0]);
	parametros.append('accion', accion);
	parametros.append('peticion', 'ajax');

	parametros.forEach(function(value, key){
		console.log('Key: '+key+' value: '+value);
	})

	let registrosmalrelacionados = $('#registrosmalrelacionados').val();

	if(accion == 'guardar_info' && registrosmalrelacionados > 0 ){

		Swal.fire({
          icon: 'info',
          // title: 'Error',
          html: '<p>Los registros marcados de color naranja están mal relacionados, asegúrate de relacionarlos correctamente e intenta subir el archivo nuevamente</p>',
          confirmButtonText: 'Aceptar',
          confirmButtonColor: '#28A745',
          showConfirmButton: true,
          // footer: '<a href>Why do I have this issue?</a>'
        })
		return false;

	}

	$.ajax({
		url: controlador,
		type:'POST',
		data: parametros,
		cache:false,
		processData: false,
		contentType:false,
		dataType:'json',
	}).done(function(data){
		
		console.log(data);

		if(data.hasOwnProperty('success')){

			 Swal.fire({
                icon: 'success',
                title: 'Proceso exitoso',
                html: data.success,
                showConfirmButton: false,
                timer: 2000
              })

			if(data.hasOwnProperty('ultimoid_registrado')){

				document.getElementById('guardar_info').style.display='block';
				document.getElementById('head_vista_previa').style.display='block';
				$('#registrosmalrelacionados').val(data.registrosmalrelacionados);
				
			}

		}else if(data.hasOwnProperty('register_success')){

			 Swal.fire({
                icon: 'success',
                title: 'Proceso exitoso',
                html: data.success,
                showConfirmButton: false,
                timer: 2000
              })

			setTimeout(function(){ cargarVista('contenido', modulo); }, 1000);

		}else{

			Swal.fire({
              icon: 'info',
              // title: 'Error',
              html: data.error,
              confirmButtonText: 'Aceptar',
              confirmButtonColor: '#28A745',
              showConfirmButton: true,
              // footer: '<a href>Why do I have this issue?</a>'
            })

		}

		$('#vita_previa').html(data.html);

	});

}