/*
** Funcion global para crear un formulario
*/
$.ajaxSetup({
  headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});
function createform(i){
	var action = $(i).attr('action');
    $.ajax({
       type:'POST',
       url:action,
       data:$(i).serialize(),
        beforeSend:function(){
          $('form').block({ 
              message: '<i class="icon-spinner2 spinner"></i>',
              overlayCSS: {
                  backgroundColor: '#fff',
                  opacity: 0.8,
                  cursor: 'wait',
                  'box-shadow': '0 0 0 1px #ddd'
              },
              css: {
                  border: 0,
                  padding: 0,
                  backgroundColor: 'none'
              }
          }); 
       },
       success:function(data){
          $('form').unblock();

           	if(jQuery.isEmptyObject(data.error)){
              
           		if (!jQuery.isEmptyObject(data.url)) {
           			location.href=data.url;
           		}
           		if (!jQuery.isEmptyObject(data.tablereload)) {
           			  /*$('.datatable').DataTable().clear().destroy();
                  DatatableBasic.init();*/
                  $('.datatable').DataTable().ajax.reload();
           		}
              $('.response-data').removeClass('alert alert-danger').addClass('alert alert-success').html(data.success).show(500);
           		if (jQuery.isEmptyObject(data.noreload)) {
                  $(i).trigger("reset"); 
              }
           	}else{
              $('.response-data').html('');
           		$.each( data.error, function( key, value ) {
                $('.response-data').removeClass('alert alert-success').addClass('alert alert-danger').append('<p>* '+value+'</p>').show(500);
              });
           	}
            $('html, body').animate({scrollTop:0}, 'slow'); 
       },
        error: function(jqXHR, textStatus, errorThrown) 
        {	


        }
    });
}
/*FIN/ Funcion global para crear un formulario*/

/*Submit para  archivos */
function submitFile(i){
  var formData = new FormData(document.getElementById($(i).attr('id')));
  $.ajax({
    type:$(i).attr("method"),
    url: $(i).attr("action"),
    dataType: "html",
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    beforeSend:function(){
      $(i).block({ 
          message: '<i class="icon-spinner2 spinner"></i>',
          overlayCSS: {
              backgroundColor: '#fff',
              opacity: 0.8,
              cursor: 'wait',
              'box-shadow': '0 0 0 1px #ddd'
          },
          css: {
              border: 0,
              padding: 0,
              backgroundColor: 'none'
          }
      }); 
    },
     success: function(data)
     {
        $(i).unblock();
	      var  datos = JSON.parse(data);
	      if(jQuery.isEmptyObject(datos.error)){
	        if(!jQuery.isEmptyObject(datos.updateprocess)){
	          
	        }else{
	          $(i).trigger("reset"); 
	        }
	        if (!jQuery.isEmptyObject(datos.list_archive)) {
	          list_archive(); //listo nuevamente los archivos actualizados
	        }
          if (!jQuery.isEmptyObject(datos.url)) {
            location.href=datos.url;
          }else{
            $('.response-files').removeClass('alert alert-danger').addClass('alert alert-info').html(datos.success);
            $.noty_success(datos.success);
          }
	      }else{
          $('.response-files').val();
	        $.each( datos.error, function( key, value ) {
	          $('.response-files').removeClass('alert alert-info').addClass('alert alert-danger').append('<p>* '+value+'</p>').show(500);
            $.noty_error(value);
	        });
	      }
     }
  });
}
/*
*Listar archivos
*/
function list_archive(){
  var data = {'action':'list_archivos','tipe_archivos':$('#tipefile').val(),'id_files':$('#idfile').val()}, url_file= $('#urlfile').val();
  $.ajax({
    url: url_file,
    type:'POST',
    dataType: 'json',
    data: data,
  })
  .done(function(data) {
    $('.img-file-content ol').html('');$('.pdf-file-content ol').html('');$('.xls-file-content ol').html('');

    $.each(data, function(i, item) {
        if (item.tipe_archivo == 'jpg' || item.tipe_archivo == 'png') {
            $('.img-file-content ol').append(`<li id="codenv${item.id}"><a href="#">${item.tipe_archivo}</a> <a href="#" data-url="${url_file}/${item.id}" onclick="edit(this); return false"><i class="icon-pencil"></i></a> <a href="#" data-url="${url_file}/${item.id}" data-id="${item.id}" onclick="deletreg(this); return false"><i class="icon-trash"></i></a> </li>`);
        }else{
            $(`.${item.tipe_archivo}-file-content ol`).append(`<li id="codenv${item.id}"><a href="#">${item.tipe_archivo}</a> <a href="#" data-url="${url_file}/${item.id}" onclick="edit(this); return false"><i class="icon-pencil"></i></a> <a href="#" data-url="${url_file}/${item.id}" data-id="${item.id}" onclick="deletreg(this); return false"><i class="icon-trash"></i></a></li>`);
        }
    });
  })
  .fail(function() {
    console.log("error");
  })
  .always(function() {
    console.log("complete");
  });
  
}
/** Funcion global para actualizar un formulario
*/
function updatingform(i) {
  $.ajax({
     type:'PUT',
     url:$(i).attr('action'),
     data:$(i).serialize(),
     beforeSend:function(){
        $('form').block({ 
            message: '<i class="icon-spinner2 spinner"></i>',
            overlayCSS: {
                backgroundColor: '#fff',
                opacity: 0.8,
                cursor: 'wait',
                'box-shadow': '0 0 0 1px #ddd'
            },
            css: {
                border: 0,
                padding: 0,
                backgroundColor: 'none'
            }
        }); 
     },
     success:function(data){
        //alert(data);
        $('form').unblock();

        if(jQuery.isEmptyObject(data.error)){
            if (!jQuery.isEmptyObject(data.url)) {
              location.href=data.url;
            }
            if (!jQuery.isEmptyObject(data.tablereload)) {
                $('.datatable').DataTable().ajax.reload();
            }
            $('.response-data').removeClass('alert alert-danger').addClass('alert alert-success').html(data.success).show(500);
          }else{
            $.each( data.error, function( key, value ) {
              $('.response-data').removeClass('alert alert-success').addClass('alert alert-danger').append('<p>* '+value+'</p>').show(500);
            });
          }
          $('html, body').animate({scrollTop:0}, 'slow'); 
      },
      error: function(jqXHR, textStatus, errorThrown) 
      { 
        
      }
  });
}
/*FIN/ Funcion global para actualizar un formulario*/

/* Funcion global para editar un formulario con modal*/
$(document).on("click",".fn_edit",function(event){
  $.ajax({
   type:'GET',
   url:$(this).attr('data-url'),
   success:function(data){
      $('.response-ajax').html(data);
      $('#updateModal').modal('toggle');
    },
    error: function(jqXHR, textStatus, errorThrown) 
    { 
      
    }
  });
  event.preventDefault();
})
function edit(i){
  $.ajax({
       type:'GET',
       url:$(i).attr('data-url'),
       success:function(data){
          $('.response-ajax').html(data);
          $('#updateModal').modal('toggle');
        },
        error: function(jqXHR, textStatus, errorThrown) 
        { 
          
        }
    });
}
/*FIN\ Funcion global para editar un formulario con modal*/

/* Funcion global para eliminar un registro*/
$(document).on("click",".fn_delete",function(event){
  var id = $(this).attr('data-id');
  swal({
    title: "Estas seguro ?",
    text: "Vas a eliminar el registro seleccionado",
    icon: "warning",
    buttons: true,
    dangerMode: true,
    closeModal: false,
  }).then((willDelete) => {
    if (willDelete) {
      $.ajax({
           type:'DELETE',
           url:$(this).attr('data-url'),
           success:function(data){
              if(jQuery.isEmptyObject(data.error)){
                $('#codenv'+id).hide(200).remove();
                swal({title:"Registro eliminado con exito...",icon:"success"});
              }else{
                alert(data);
              }
            },
            error: function(jqXHR, textStatus, errorThrown) 
            { 
              
            }
        });
    }
  });
  event.preventDefault();
})
function deletreg(i){
  var id = $(i).attr('data-id');
  swal({
    title: "Estas seguro ?",
    text: "Vas a eliminar el registro seleccionado",
    icon: "warning",
    buttons: true,
    dangerMode: true,
    closeModal: false,
  }).then((willDelete) => {
    if (willDelete) {
      $.ajax({
           type:'DELETE',
           url:$(i).attr('data-url'),
           success:function(data){
              if(jQuery.isEmptyObject(data.error)){
                $('#codenv'+id).hide(200).remove();
                swal({title:"Registro eliminado con exito...",icon:"success"});
              }else{
                alert(data);
              }
            },
            error: function(jqXHR, textStatus, errorThrown) 
            { 
              
            }
        });
    }
  });

}
/*FIN\ Funcion global para eliminar un registro*/

/* Funcion global para enviar email*/
function emailsend(i){
  $.ajaxblock();
  var id = $(i).attr('data-id');
  $.ajax({
     type:'POST',
     url:$(i).attr('action'),
     data:$(i).serialize(),
     success:function(data){
        $.ajaxunblock();
        if(jQuery.isEmptyObject(data.error)){
          swal({title:data.success,icon:"success"});
        }else{
          swal({title:data.error,icon:"warning"});
        }
      },
      error: function(jqXHR, textStatus, errorThrown) 
      { 
        
      }
  });
}
/*FIN\ Funcion global para enviar emails*/
