
//Control de validaciones de  entidad formularios y otros
tipe_person();
function tipe_person(i){
	$('#active_services').remove();
	if ($('#persona').val()=='e'){ 
		$('.services_entidad').fadeIn(100).append('<input type="hidden" name="active_services" id="active_services" value="active">'); 
		$(".services_id").each(function(){
			$(this).attr('required','required');
		});
	}else{
		$(".services_id").each(function(){
			$(this).removeAttr('required');
		});
		$('.services_entidad').fadeOut(100);
	}
}
tipe_ciudadano();
function tipe_ciudadano(i){
	 var input = $('#tipe_c').val(),ruc = input.substr(0,2);
	 $('#active_ciudadano').remove();
	 if (ruc == 20) {
	 	$('.content-natural').fadeOut(100); 
	 }else{
	 	$('.content-natural').fadeIn(100).append('<input type="hidden" name="active_ciudadano" id="active_ciudadano" value="active">');
	 }
}

/*Funciones para  selects  dinamicos*/
function reset_inputs(){
	$("select[name*='departamentos_id']").empty().append('<option value="">Seleccionar..</option>').selectpicker('refresh');
   	$("select[name*='provincias_id']").empty().attr('disabled','disabled').selectpicker('refresh');
   	$("select[name*='distritos_id']").empty().attr('disabled','disabled').selectpicker('refresh');
}
var attr_names = function(){
	$( ".dynamic_selects" ).each(function( index ) {
	   if ($(this).attr('data-name')) {
	   	  	var input_name = $(this).attr('data-name');
	   		$(this).attr('name',input_name);
	   }
	});
	$('.edit_ubication_href').html('Ir atras');
	$('.edit_has_ubication').fadeOut(100);
	$('.edit_select').fadeIn(100);
}
$(document).ready(function() {

   //Obtener datos de departamentos
  var select = function() { 

	   $.each(departamentos, function(i, item) {
	   		$('#dynamic_selects').append('<option value="'+item.id+'">'+item.nombre+'</option>').selectpicker('refresh');
	   });
	   $(document).on("change",".dynamic_selects",function(event){
	    	//Obtener provincias, distritos y ubigeo
	    	var id = $(this).val(),tipe = $(this).attr('data-tipe'),result=false;
	    	$('#'+tipe).empty().selectpicker('refresh');
	    	switch(tipe) {
	    		case 'provincias':
	    			if($(this).val() == ''){
	    				$('#'+tipe).attr('disabled','disabled').selectpicker('refresh');
	    				$('#distritos').attr('disabled','disabled').empty().selectpicker('refresh');
	    			}else{
	    				$('#'+tipe).attr('disabled','disabled').selectpicker('refresh');
	    				$('#distritos').attr('disabled','disabled').empty().selectpicker('refresh');
			    		$.each(provincias, function(i, item) {
				   			if (item.departamentos_id == id) {
				   				$('#'+tipe).append('<option value="'+item.id+'">'+item.nombre+'</option>');
				   				result=true;
				   			}
				    	});
			    		if (result === true ) {
			    			$('#'+tipe).prepend('<option value="" selected>Provincias...</option>');
			    			$('#'+tipe).removeAttr('disabled').selectpicker('refresh');
			    		}
			    		result = false;
				    }
	    		break;
	    		case 'distritos':
	    		   	if($(this).val() == '' ){
	    		   		$('#'+tipe).attr('disabled','disabled').selectpicker('refresh');
	    		   	}else{
			    		$.each(distrito, function(i, item) {
				   			if (item.provincias_id== id) {
				   				$('#'+tipe).append('<option value="'+item.id+'" data-ubigeo="'+item.idubigeo+'">'+item.nombre+'</option>');
				   				result =true;
				   			}
				    	});
				    	if (result === true ) {
			    			$('#'+tipe).prepend('<option value="" selected>Distritos...</option>');
			    			$('#'+tipe).removeAttr('disabled').selectpicker('refresh');

			    		}
			    		result = false;
				    }
	    		break;
	    		case 'ubigeo':
	    			var ubigeo = $('option:selected', this).attr('data-ubigeo');
	    			$('input.ubigeo_input').val(ubigeo);
	    		break;
	    	}
	  	});

	};
	select();
	$(document).on("click","#reload_selects",function(event){		
		if ($(this).attr('data-tipe') == 'edit') {
			if ($(".edit_select").is(":visible")) {
				$(this).html('+ Editar ubicacion');
				$('.edit_select').fadeOut(100);
				$('.edit_has_ubication').fadeIn(100);
				$('.dynamic_selects').removeAttr('name');
				$('.content-href-reload').fadeOut(100);
			}else{
				attr_names();
			}
		}else if ($(this).attr('data-tipe') == 'add') {
			$('#dynamic_selects').focus();
			$(this).html('Ubicaciones cargadas..');
		}
		reset_inputs();
	   	select();
	   	event.preventDefault();
	});
});
change_document();
function change_document(){
	var codigo = $('option:selected', 'select[name*="identidad_document_id"]').attr('data-codigo');
	if (codigo == 1) {
		$('.btn-search').fadeIn(100).attr('data-tipe','dni').attr({
			'data-tipe': 'dni',
			'data-action': 'search_dni'
		});
	}else if (codigo == 6) {
		$('.btn-search').fadeIn(100).attr('data-tipe','ruc').attr({
			'data-tipe': 'ruc',
			'data-action': 'search_ruc'
		});;
	}else{
		$('.btn-search').fadeOut(100);
	}
}
function search_document(i){
	if ($('#tipe_c').val() != '') {
		$.ajaxblock();
		const formData = new FormData();
		formData.append('numero', $('#tipe_c').val());
		formData.append('action', 'getnumero');
		fetch('https://incared.com/api/apirest',{
			method:'POST', //metodo POST
			body:formData, // datos que se van a  enviar a php 
		
		})// validamos el tipo de metodo y los datos que van por el metodo post muy util el fetch este
		.then(res => res.json()) //Obtenemos la respuesta en formato tipo json
		.then(data => { // obtenemos la  data que nos  viene de  php y luego empezamos la  validaciones 
			if(jQuery.isEmptyObject(data.error)){
	  	    	$("input[name*='nsocial']").val(data.rs);
	  	    	$("input[name*='direccion']").val(data.tvia+' '+data.nvia);
	  	    	$("input[name*='ubigeo']").val(data.distrito.ubigeo);
	  	    }else{
	  	    	swal({title:data.error,icon:"warning"});
	  	    }
	  	    $.ajaxunblock();
		});
	}else{
		swal({title:'El campo numero esta vacio',icon:"warning"});
	}
}
/*Funcion para buscar el ubigeo*/
function search_ubigeo(i){
	var ubigeo = $('.ubigeo_input').val();
	if ($(i).attr('data-tipe') == 'add') {
		$('#reload_selects').html('Cargar ubicaciones para seleccion manual');
	}
	if ($('.reload_ubications').length > 0) {
		$('.content-href-reload').fadeIn(100);
	}
	$.ajax({
		url:ubigeourl,
		type: 'POST',
		data: {'action':'search_ubigeo','ubigeo':ubigeo,"_token": $('meta[name="csrf-token"]').attr('content')},
	})
	.done(function(data) {
		if ($(i).attr('data-tipe') == 'edit') {
			attr_names();
		}
		if (jQuery.isEmptyObject(data.distritos)) {
			swal({title:'El ubigeo ingresado no existe',icon:"info"});
			reset_inputs();
		}
		if(jQuery.isEmptyObject(data.error)){
			$.each(data.distritos, function(i, item) {
				if (jQuery.isEmptyObject(item)) {

				}else{
					$("select[name*='"+i+"']").empty().append('<option value="'+item.id+'">'+item.nombre+'</option>').removeAttr('disabled').selectpicker('refresh');
				}
			});
		}else{
			$('input[name*="ubigeo"]').focus();
			$.each( data.error, function( key, value ) {
				swal({title:value,icon:"warning"});
            });
		}
	})
	.fail(function() {
		console.log("error");
	})
	.always(function() {
		console.log("complete");
	});
}



