//'use strict';

var validacion = false;

var calendar;

var calendar2;

var numeroSesionPop, idClientePop, nombreClientePop, nombreServicioPop, idCabinaPop, idCitaPop, idEstadosPop, idUsuarioPop, duracionSesionPop;

addEventListener("DOMContentLoaded", event => {

  $('.js-example-basic-single').select2({

    width: '100%',

    language: {

      noResults: function () {

        return "No hay resultado";

      },

      searching: function () {

        return "Buscando...";

      }

    }

  });



  var href = location.href;

  href = href.match(/([^\/]*)\/*$/)[1]; 

  

  if (href!='listacitasF') {

    var clientSelect= document.getElementById('clienteNC').value;

    $(function() {

      $("#clienteNC").keyup();

    });  

    

    $('[name="idClienteO"]').val(href);

      $('[name="nombreClienteO"]').val(clientSelect);

      var boton = "adeudoClienteMC";

      cambioCliente();

      buscarAdeudos(href, 'adeudoClienteMC');

      var cabina = document.getElementById('cabinaNC');

      var todasCabinas = $.cabinas();

      cabina.innerHTML = "";

      cabina.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione cabina</option>`);



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

        cabina.insertAdjacentHTML('beforeend', `<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

      } 

    

    $('#modal-agendar').modal('show');

  }else{

    var cabina = document.getElementById('cabinaNC');

      var todasCabinas = $.cabinas();

      cabina.innerHTML = "";

      cabina.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione cabina</option>`);



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

        cabina.insertAdjacentHTML('beforeend', `<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

      } 

  }



  let vista = 4;

  if (vista == 5) {

    document.getElementById('calendarF').style.display = "none";

    document.getElementById('calendarF2').style.display = "block";

  } else {

    document.getElementById('calendarF2').style.display = "none";

    document.getElementById('calendarF').style.display = "block";

  }



 /* console.log("horarioNoLab");

  console.log($.horarioNoLab());

  console.log(diasNoLab);*/



  var calendarEl = document.getElementById('calendarF');



  calendar = new FullCalendar.Calendar(calendarEl, {

    schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',

    plugins: ['interaction', 'dayGrid', 'timeGrid', 'resourceTimeGrid'],

    timeZone: 'local',

    locale: 'es',

    defaultDate: new Date(),

    defaultView: 'timeGridWeek',

    editable: false,

    selectable: true,

    selectMirror: true,

    selectLongPressDelay: 30,

    displayEventEnd: true,

    slotEventOverlap: false,

    slotLabelFormat: { hour12: true, hour: '2-digit', minute: '2-digit' },

    eventTimeFormat: { hour12: true, hour: '2-digit', minute: '2-digit' },

    firstDay: 0,

    minTime: horaIniEst,//"07:00:00",

    maxTime: horaFinEst,//"22:00:00",

    hiddenDays: diasNoLab,

    businessHours: $.horarioNoLab(),

    selectConstraint: $.horarioNoLab(),

    nowIndicator: true,

    buttonText: {

      today: 'Hoy',

      month: 'Mes',

      week: 'Semana',

      day: 'Día',

      resourceTimeGrid: 'Cabina'

    },

    customButtons: {

      personalButton: {

        text: 'Personal',

        click: function () {

          cambio();

        }

      }

    },

    header: {

      left: 'prev,next today',

      center: 'title',

      right: 'timeGridWeek,timeGridDay,resourceTimeGrid,personalButton'

    },

    resources: $.cabinas(),

    events: $.eventosCabina(),

    select: function (arg) {

      contenidoSelect(arg);

    },

    eventClick: function (info) {

      //alert('Event: ' + info.event.id);

      $('#txtHoraI').val(moment(info.event.start, ["HH:mm:ss"]).format("h:mm A"));

      $('#txtHoraF').val(event.hof);

      editarCita(info.event.id, info.event.start, info.event.end);

      $('#modalEvento').modal();

      // change the border color just for fun

      //info.el.style.borderColor = 'red';

    },

    eventRender: function (info) {

      info.el.innerHTML = "<em class='estado-evento fas fa-circle' style='color:" + info.event.extendedProps.scolor + "'></em>" + info.el.innerHTML;

      $(info.el).tooltip({

        title: info.event.extendedProps.description,

        placement: 'auto',

        trigger: 'hover',

        container: 'body',

      });



    }

  });



  calendar.render();



  function contenidoSelect(arg) {

    limpiarM();

    var inicio = moment(arg.startStr).format('YYYY-MM-DD HH:mm:ss');

    var tipo = calendar.view.type;

    

    if (tipo != 'dayGridMonth' && inicio < (moment().format('YYYY-MM-DD HH:mm:ss'))) {

      newCita(arg, inicio);

      return true;

    } else if (tipo == 'dayGridMonth' && inicio < (moment().format('YYYY-MM-DD HH:mm:ss'))) {

      newCita(arg, inicio);

      return true;

    }



    console.log(

      'select',

      arg.startStr,

      arg.endStr,

      arg.resource ? arg.resource.id : '(no resource)'

    );



    newCita(arg, inicio);

  }



  function newCita(arg, inicio) {

    if (validacion == false) {

      document.getElementById('fechaNC').value = moment(inicio).format('DD-MM-YYYY');

      if (arg.startStr == '24:00:00') {

        document.getElementById('inicioNC').value = moment('12:00:00').format('h:mm A');

        //document.getElementById('finNC').value=moment('12:00:00').format('h:mm A');

      } else {

        document.getElementById('inicioNC').value = moment(arg.startStr).format('h:mm A');

        //document.getElementById('finNC').value=moment(arg.endStr).format('h:mm A');            

      }

      var dt1 = moment(arg.startStr).format("HH:mm:ss");

      //var dt2 = moment(arg.endStr).format("HH:mm:ss");

      //document.getElementById('duracionNC').innerHTML = duracion(dt1, dt2);

      agendar('fullcal');

      if (arg.resource !== void 0) {

        document.getElementById('cabinaNC').value = arg.resource.id;

        $('.selectpicker').selectpicker('refresh');

      }

    } else {

      //console.log(duracionSesionPop);

      $('.cerrarPop').trigger('click');

      $(arg.jsEvent.toElement).popover({

        appendToBody: true,

        html: true,

        title: '<button type="button" class="close margenCerrar cerrarPop" ><span class="cerrarPopover">&times;</span></button><br>',

        content: 'Cliente: ' + nombreClientePop + '<br> Servicio: ' + nombreServicioPop + '<br>' +

          'Sesión: ' + numeroSesionPop + '<br>' +

          'Duración: ' + duracionSesionPop + '<br>' +

          'Fecha <input class="form-control date-picker fechaCita" data-provide="datepicker" data-date-format="yyyy/mm/dd" placeholder="dd - mm - yyyy" autocomplete="off" onchange="personalDisponible();">' +

          'Hora Inicio <input type="text" class="form-control timepicker inicioCita" placeholder="12 : 00 AM" onchange="personalDisponible();">' +

          //'Hora Fin <input type="text" class="form-control timepicker finCita" placeholder="11 : 59 PM" onchange="personalDisponible();">' +

          'Cosmetolog@ <select class="form-control personal" id="personalSiguiente" name="personalSiguiente"></select>' +

          'Cabina <select class="form-control selectpicker cabinaC" id ="cabinaCS" name="cabinaCS"></select>' +

          'Estado <select class="form-control selectpicker estadosC" id ="estadoCS" name="estadoCS"></select>' +

          'Comentario <input type="text" class="form-control comentarioCita comentarioPop" maxlength="120"  placeholder="Escribir comentario" autocomplete="off"><br>' +

          '<button type="button" class="col-md-5 btn btn-danger cerrarPop boton-modal-cerrar letra-boton-pop">Cancelar</button>' +

          '<button type="button" class="col-md-5 agendar btn btn-primary pull-right boton-modal-actualizar letra-boton-pop" id="agendarSiguiente" onclick="modalAagenSig(); ">Agendar</button>'

        ,

        placement: 'auto',

        container: 'body',

      }).popover('show');

      var today = new Date();

      $(".date-picker").datepicker({

        startDate: new Date(today.getFullYear(), today.getMonth(), today.getDate()),

      });

      $('.timepicker').timepicker({

        timeFormat: 'h:i A',

        minTime: '12:00 AM',

        maxTime: '11:59 PM',

      });

      // $('.cabinaC option').remove();

      // $('.estadosC option').remove();

      // $('li').remove();

      //  $('li').remove();



      var todasCabinas = $.cabinas();

      $('.cabinaC').append("<option value='' selected disabled>Seleccione área</option>");

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

        $('.cabinaC').append(`<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

      }

      $('.cabinaC').val(idCabinaPop);

      var todosEstados = $.estados();

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

        $('.estadosC').append(`<option data-icon="colores ` + todosEstados[i].clase + `" value="` + todosEstados[i].id + `"> ` + todosEstados[i].title + `</option>`);

      }

      $('.estadosC').val(idEstadosPop);

      $('.fechaCita').val(moment(inicio).format('DD-MM-YYYY'));

      $('.inicioCita').val(moment(arg.startStr).format('h:mm A'));

      //$('.finCita').val(moment(arg.endStr).format('h:mm A'));

      $('.selectpicker').selectpicker('refresh');

      personalDisponible();

      //personalDisponible();

    }

  }



  var calendarEl2 = document.getElementById('calendarF2');



  calendar2 = new FullCalendar.Calendar(calendarEl2, {

    schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',

    plugins: ['interaction', 'dayGrid', 'timeGrid', 'resourceTimeGrid'],

    timeZone: 'local',

    locale: 'es',

    defaultDate: new Date(),

    defaultView: 'timeGridWeek',

    editable: false,

    selectable: true,

    selectMirror: true,

    selectLongPressDelay: 30,

    displayEventEnd: true,

    slotEventOverlap: false,

    slotLabelFormat: { hour12: true, hour: '2-digit', minute: '2-digit' },

    eventTimeFormat: { hour12: true, hour: '2-digit', minute: '2-digit' },

    firstDay: 0,

    minTime: horaIniEst,//"07:00:00",

    maxTime: horaFinEst,//"22:00:00",

    hiddenDays: diasNoLab,

    businessHours: $.horarioNoLab(),

    selectConstraint: $.horarioNoLab(),

    nowIndicator: true,

    buttonText: {

      today: 'Hoy',

      month: 'Mes',

      week: 'Semana',

      day: 'Día',

      resourceTimeGrid: 'Personal'

    },

    customButtons: {

      cabinaButton: {

        text: 'Cabina',

        click: function () {

          document.getElementById('calendarF2').style.display = "none";

          document.getElementById('calendarF').style.display = "block";

          $('.fc-resourceTimeGrid-button').trigger('click');

          $('.fc-timeGridDay-button').trigger('click');

          $('.fc-resourceTimeGrid-button').trigger('click');

        }

      }

    },

    header: {

      left: 'prev,next today',

      center: 'title',

      right: 'timeGridWeek,timeGridDay,cabinaButton,resourceTimeGrid'

    },

    resources: $.personal(),

    events: $.eventosPersonal(),

    select: function (arg) {

      contenidoSelect2(arg);

    },

    eventClick: function (info) {

      editarCita(info.event.id, info.event.start, info.event.end);

      $('#modalEvento').modal();

      // change the border color just for fun

      //info.el.style.borderColor = 'red';

    },

    eventRender: function (info) {

      info.el.innerHTML = "<em class='estado-evento fas fa-circle' style='color:" + info.event.extendedProps.scolor + "'></em>" + info.el.innerHTML;

      $(info.el).tooltip({

        title: info.event.extendedProps.description,

        placement: 'auto',

        trigger: 'hover',

        container: 'body',

      });



    }

  });



  calendar2.render();



  function contenidoSelect2(arg) {

    limpiarM();

    var inicio = moment(arg.startStr).format('YYYY-MM-DD HH:mm:ss');

    var tipo = calendar2.view.type;

    if (tipo != 'dayGridMonth' && inicio < (moment().format('YYYY-MM-DD HH:mm:ss'))) {

      newCita2(arg, inicio);

      return true;

    } else if (tipo == 'dayGridMonth' && inicio < (moment().format('YYYY-MM-DD'))) {

      newCita2(arg, inicio);

      return true;

    }



    newCita2(arg, inicio);

  }



  function newCita2(arg, inicio) {

    if (validacion == false) {

      document.getElementById('fechaNC').value = moment(inicio).format('DD-MM-YYYY');

      document.getElementById('inicioNC').value = moment(arg.startStr).format('h:mm A');

      //document.getElementById('finNC').value=moment(arg.endStr).format('h:mm A');

      var dt1 = moment(arg.startStr).format("HH:mm:ss");

      var dt2 = moment(arg.endStr).format("HH:mm:ss");

      document.getElementById('duracion').value = duracion(dt1, dt2);

      agendar('fullcal');

      if (arg.resource !== void 0) {

        document.getElementById('cosmetologoNC').value = arg.resource.id;

        $('.selectpicker').selectpicker('refresh');

      }

    } else {

      //console.log(duracionSesionPop);

      $('.cerrarPop').trigger('click');

      $(arg.jsEvent.toElement).popover({

        html: true,

        title: '<button type="button" class="close margenCerrar cerrarPop" ><span class="cerrarPopover">&times;</span></button><br>',

        content: 'Cliente: ' + nombreClientePop + '<br> Servicio: ' + nombreServicioPop + '<br>' +

          'Sesión: ' + numeroSesionPop + '<br>' +

          'Duración: ' + duracionSesionPop + '<br>' +

          'Fecha <input class="form-control date-picker fechaCita" data-provide="datepicker" data-date-format="yyyy/mm/dd" placeholder="dd - mm - yyyy" autocomplete="off" onchange="personalDisponible();">' +

          'Hora Inicio <input type="text" class="form-control timepicker inicioCita" placeholder="12 : 00 AM" onchange="personalDisponible();">' +

          //'Hora Fin <input type="text" class="form-control timepicker finCita" placeholder="11 : 59 PM" onchange="personalDisponible();">' +

          'Cosmetog@ <select class="form-control personal" id ="personalSiguiente" name="personalSiguiente"></select>' +

          'Cabina <select class="form-control selectpicker cabinaC" id ="cabinaCS" name="cabinaCS"></select>' +

          'Estado <select class="form-control selectpicker estadosC" id ="estadoCS" name="estadoCS"></select>' +

          'Comentario <input type="text" class="form-control comentarioCita comentarioPop" maxlength="120"  placeholder="Escribir comentario" autocomplete="off"><br>' +

          '<button type="button" class="col-md-5 btn btn-danger cerrarPop boton-modal-cerrar letra-boton-pop">Cancelar</button>' +

          '<button type="button" class="col-md-5 agendar btn btn-primary pull-right boton-modal-actualizar letra-boton-pop" id="agendarSiguiente" onclick="modalAagenSig();">Agendar</button>'

        ,

        placement: 'auto',

        container: 'body'

      }).popover('show');

      var today = new Date();

      $(".date-picker").datepicker({

        startDate: new Date(today.getFullYear(), today.getMonth(), today.getDate()),

      });

      $('.timepicker').timepicker({

        timeFormat: 'h:i A',

        minTime: '12:00 AM',

        maxTime: '11:59 PM',

      });



      var todasCabinas = $.cabinas();

      $('.cabinaC').append("<option value='' selected disabled>Seleccione área</option>");

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

        $('.cabinaC').append(`<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

      }

      $('.cabinaC').val(idCabinaPop);

      var todosEstados = $.estados();

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

        $('.estadosC').append(`<option data-icon="colores ` + todosEstados[i].clase + `" value="` + todosEstados[i].id + `"> ` + todosEstados[i].title + `</option>`);

      }

      $('.estadosC').val(idEstadosPop);

      $('.fechaCita').val(moment(inicio).format('DD-MM-YYYY'));

      $('.inicioCita').val(moment(arg.startStr).format('h:mm A'));

      $('.finCita').val(moment(arg.endStr).format('h:mm A'));

      $('.selectpicker').selectpicker('refresh');

      personalDisponible();

      if (arg.resource !== void 0) {

        document.getElementById('personalSiguiente').value = arg.resource.id;

        $('.selectpicker').selectpicker('refresh');

      }

    }

  }



  var guardarCita = document.getElementById('guardarCita');

  guardarCita.addEventListener('click', function () {



    if (validacionCita() == true) {

      var tipo = document.getElementById('tratamientoNC').value;

      var nuevoValor = tipo.slice(-2);

      var id = tipo.slice(0, -2);

      let idPromo = null;

      let idServ = null;

      //alert(id);

      var idDetalle = 0;

      if (nuevoValor == 'VG' || nuevoValor == 'VF') {

        idDetalle = id;

        idServ = $.idServicio();

      } else if (nuevoValor == 'VP') {

        idDetalle = id;

        idPromo = $.idServicio();

      } else if (nuevoValor == 'SP') {

        idPromo = id;

      } else {

        idServ = id;

      }



      var combo = document.getElementById("tratamientoNC");

      let nombreSer = combo.options[combo.selectedIndex].text



      if (nuevoValor != 'SF' || nuevoValor != 'SG' || nuevoValor != 'SP') {

        const nombreSerF = nombreSer.split(", Fecha");

        nombreSer = nombreSerF[0];

      }

      //alert(id);

      var datos = {

        idCliente: document.getElementById('idClienteO').value,

        nombreCliente: document.getElementById('clienteNC').value,

        idServicio: idServ,

        tipo: nuevoValor,

        fecha: document.getElementById('fechaNC').value,

        horaInicio: moment(inicioNC.value, ["h:mm A"]).format("HH:mm:ss"),

        //horaFina:moment(finNC.value, ["h:mm A"]).format("HH:mm:ss"),

        idCabina: document.getElementById('cabinaNC').value,// area.value,

        isEstatus: document.getElementById('statusNC').value,

        observaciones: document.getElementById('observacionesNC').value,

        numeroSesiones: document.getElementById('numeroSesiones').length,

        idUsuario: document.getElementById("cosmetologoNC").value,//personal.value,

        idDetalleVentas: idDetalle,

      }



      var combo = document.getElementById("tratamientoNC");



      const dataA = {

        idPromo: idPromo,

        nombreSer: nombreSer,//$("#tratamientoNC").text(),//document.getElementById('tratamientoNC').text,           

        duracion: $("#duracionNC").text(),

        numeroSesion: $("#numeroSesiones").val(),//numeroSesiones.value,

      };

      const data = Object.assign(datos, dataA);

      //console.log(data);



      //guardarCita.disabled=true;



      AgendarCita(guardarCita, datos);

    }

  });



  function AgendarCita(guardarCita, datos) {

    $.post(base_url + "myagenda/franquiciatario/ListacitasF/buscarCitasAgenda",

      datos, function (res) {

        //console.log(datos);

        var hoy = new Date();

        var fecha2 = hoy.getDate() + '-' + (hoy.getMonth() + 1) + '-' + hoy.getFullYear();

        var hora = hoy.getHours() + ':' + hoy.getMinutes() + ':' + hoy.getSeconds();

        var fechaYHora = fechaHoraAct();//document.getElementById('fechaFooter').value;//fecha2+' '+hora;

        var fecha = document.getElementById('fechaNC').value;

        var inicio = document.getElementById('inicioNC').value;

        //var fin = document.getElementById('finNC').value;

        var horaI = get24hTime(inicio) + ':00';

        var fechaYHoraElegida = fecha + ' ' + horaI;

        // horaF = get24hTime(fin)+':00';

        /*console.log(fechaYHora);

        console.log(fechaYHoraElegida);

        console.log(horaI);*/



        if (fecha != '' && inicio != '') {

          // console.log(compare_dates(fechaYHora, fechaYHoraElegida));

          if (compare_dates(fechaYHora, fechaYHoraElegida)) {

            swal({

              title: "¡Cita fuera de tiempo!",

              text: "Estás intentado registrar una cita en un horario pasado ¿estás seguro?",

              icon: 'warning',

              buttons: ["Cancelar!", "Aceptar!"],

              //dangerMode: true

            })

              .then((result) => {

                if (result) {

                  //console.log("antes de cabina reservada fuera de tiempo");

                  //console.log(res);

                  if (res == 1) {

                    //console.log("dentro de cabina reservada fuera de tiempo");

                    //console.log(res);

                    swal({

                      title: "Cabina reservada!",

                      text: "¿Está seguro de guardar está cita?",

                      icon: 'warning',

                      buttons: ["Cancelar!", "Aceptar!"],

                    })

                      .then((result) => {

                        //console.log("Si acepta agendar en cabina ya reservada y fuera de tiempo");

                        if (result) {

                          $.post(base_url + "myagenda/franquiciatario/ListacitasF/insertCita",

                            datos, function (result) {

                              var datos = JSON.parse(result);

                              if (datos.length == 2) {

                                limpiarM();

                                $('#modal-agendar').modal('hide');

                                //guardarCita.disabled=false;

                                swal({

                                  title: 'Cita guardada correctamente',

                                  icon: 'success',

                                  showConfirmButton: false,

                                  timer: 1500

                                })

                                var eventos = [], eventos2 = [];

                                eventos.push(datos[0]);

                                eventos2.push(datos[1]);

                                calendar.addEventSource(eventos);

                                calendar2.addEventSource(eventos2);

                              } else if (datos.length == 3) {

                                limpiarM();

                                $('#modal-agendar').modal('hide');

                                //guardarCita.disabled=false;

                                swal({

                                  title: '¡Cita guardada correctamente!',

                                  html: '<h3>¿Desea agendar la siguiente sesión?</h3>',

                                  icon: 'success',

                                  buttons: ["Cancelar", "Agendar"],

                                  //reverseButtons: true,

                                }).then((result) => {

                                  if (result) {

                                    document.getElementById('divTemporizador').style.display = "block";//.classList.remove('invisible');

                                    validacion = true;

                                    temporizador();

                                    idCitaPop = datos[2].idCita;

                                    idEstadosPop = datos[2].idEstados;

                                    idCabinaPop = datos[2].idAreas;

                                    numeroSesionPop = datos[2].numeroSesion;

                                    idUsuarioPop = datos[2].idUsuario;

                                    nombreClientePop = datos[2].nombreCliente;

                                    nombreServicioPop = datos[2].nombreServicio;

                                    duracionSesionPop = datos[2].duracion;

                                    //console.log(duracionSesionPop);

                                    //personalDisponible();

                                  }

                                });

                                var eventos = [], eventos2 = [];

                                eventos.push(datos[0]);

                                eventos2.push(datos[1]);

                                calendar.addEventSource(eventos);

                                calendar2.addEventSource(eventos2);

                              } else {

                                swal({

                                  title: '¡No se registro ninguna cita!',

                                  text: 'Intente guardar de nuevo',

                                  icon: 'warning',

                                  showConfirmButton: true,

                                  confirmButtonText: 'Aceptar',

                                })

                                //guardarCita.disabled=false;

                              }

                            });

                        } else {

                          //guardarCita.disabled=false;

                        }

                      });

                  } else {

                    //console.log("cita fuera de tiempo pero area libre");

                    $.post(base_url + "myagenda/franquiciatario/ListacitasF/insertCita",

                      datos, function (result) {

                        //console.log(result);

                        var datos = JSON.parse(result);

                        if (datos.length == 2) {

                          limpiarM();

                          $('#modal-agendar').modal('hide');

                          //guardarCita.disabled=false;

                          swal({

                            title: 'Cita guardada correctamente',

                            icon: 'success',

                            showConfirmButton: false,

                            timer: 1500

                          })

                          var eventos = [], eventos2 = [];

                          eventos.push(datos[0]);

                          eventos2.push(datos[1]);

                          calendar.addEventSource(eventos);

                          calendar2.addEventSource(eventos2);

                        } else if (datos.length == 3) {

                          limpiarM();

                          $('#modal-agendar').modal('hide');

                          //guardarCita.disabled=false;

                          swal({

                            title: '¡Cita guardada correctamente!',

                            html: '<h3>¿Desea agendar la siguiente sesión?</h3>',

                            icon: 'success',

                            buttons: ["Cancelar!", "Agendar!"],

                            //reverseButtons: true,

                          }).then((result) => {

                            if (result) {

                              document.getElementById('divTemporizador').style.display = "block";//.classList.remove('invisible');

                              validacion = true;

                              temporizador();

                              idCitaPop = datos[2].idCita;

                              idEstadosPop = datos[2].idEstados;

                              idCabinaPop = datos[2].idAreas;

                              numeroSesionPop = datos[2].numeroSesion;

                              idUsuarioPop = datos[2].idUsuario;

                              nombreClientePop = datos[2].nombreCliente;

                              nombreServicioPop = datos[2].nombreServicio;                              

                              duracionSesionPop = datos[2].duracion;

                              //console.log(duracionSesionPop);

                              //personalDisponible();

                            }

                          });

                          var eventos = [], eventos2 = [];

                          eventos.push(datos[0]);

                          eventos2.push(datos[1]);

                          calendar.addEventSource(eventos);

                          calendar2.addEventSource(eventos2);

                        } else {

                          swal({

                            title: '¡No se registro ninguna cita!',

                            text: 'Intente guardar de nuevo',

                            icon: 'warning',

                            showConfirmButton: true,

                            confirmButtonText: 'Aceptar',

                          })

                          //guardarCita.disabled=false;

                        }

                      });

                  }

                } else {

                  //$('#modal-agendar').modal('hide');

                }

              });

          } else {

            if (res == 1) {

              //console.log("dentro del tiempo permitido pero area o cabina recervada");

              swal({

                title: "Cabina reservada!",

                text: "¿Está seguro de guardar está cita?",

                icon: 'warning',

                buttons: ["Cancelar", "Aceptar"],

                //reverseButtons: true,

              })

                .then((result) => {

                  //console.log("inserción en are reservada pero en tiempo");

                  if (result) {

                    $.post(base_url + "myagenda/franquiciatario/ListacitasF/insertCita",

                      datos, function (result) {

                        var datos = JSON.parse(result);

                        if (datos.length == 2) {

                          limpiarM();

                          $('#modal-agendar').modal('hide');

                          //guardarCita.disabled=false;

                          swal({

                            title: 'Cita guardada correctamente',

                            icon: 'success',

                            showConfirmButton: false,

                            timer: 1500

                          })

                          var eventos = [], eventos2 = [];

                          eventos.push(datos[0]);

                          eventos2.push(datos[1]);

                          calendar.addEventSource(eventos);

                          calendar2.addEventSource(eventos2);

                        } else if (datos.length == 3) {

                          limpiarM();

                          $('#modal-agendar').modal('hide');

                          //guardarCita.disabled=false;

                          swal({

                            title: '¡Cita guardada correctamente!',

                            html: '<h3>¿Desea agendar la siguiente sesión?</h3>',

                            icon: 'success',

                            buttons: ["Cancelar", "Agendar"],

                            //reverseButtons: true,

                          }).then((result) => {

                            if (result) {

                              document.getElementById('divTemporizador').style.display = "block";//.classList.remove('invisible');

                              validacion = true;

                              temporizador();

                              idCitaPop = datos[2].idCita;

                              idEstadosPop = datos[2].idEstados;

                              idCabinaPop = datos[2].idAreas;

                              numeroSesionPop = datos[2].numeroSesion;

                              idUsuarioPop = datos[2].idUsuario;

                              nombreClientePop = datos[2].nombreCliente;

                              nombreServicioPop = datos[2].nombreServicio;

                              duracionSesionPop = datos[2].duracion;

                              //console.log(duracionSesionPop);

                              //personalDisponible();

                            }

                          });

                          var eventos = [], eventos2 = [];

                          eventos.push(datos[0]);

                          eventos2.push(datos[1]);

                          calendar.addEventSource(eventos);

                          calendar2.addEventSource(eventos2);

                        } else {

                          swal({

                            title: '¡No se registro ninguna cita!',

                            text: 'Intente guardar de nuevo',

                            icon: 'warning',

                            showConfirmButton: true,

                            confirmButtonText: 'Aceptar',

                          })

                          //guardarCita.disabled=false;

                        }

                      });

                  } else {

                    //guardarCita.disabled=false;

                  }

                });

            } else {

             // console.log("cita agendada dentro del tiempo y area libre");



              $.post(base_url + "myagenda/franquiciatario/ListacitasF/insertCita",

                datos, function (result) {

                  console.log(result);

                  var datos = JSON.parse(result);

                  /*console.log(datos);

                  console.log(datos[2]);

                  console.log(datos[2].duracion);*/

                  if (datos.length == 2) {

                    limpiarM();

                    $('#modal-agendar').modal('hide');

                    //guardarCita.disabled=false;

                    swal({

                      title: 'Cita guardada correctamente',

                      icon: 'success',

                      showConfirmButton: false,

                      timer: 1500

                    })

                    var eventos = [], eventos2 = [];

                    eventos.push(datos[0]);

                    eventos2.push(datos[1]);

                    calendar.addEventSource(eventos);

                    calendar2.addEventSource(eventos2);

                  } else if (datos.length == 3) {

                    limpiarM();

                    $('#modal-agendar').modal('hide');

                    //guardarCita.disabled=false;

                    swal({

                      title: '¡Cita guardada correctamente!',

                      html: '<h3>¿Desea agendar la siguiente sesión?</h3>',

                      icon: 'success',

                      buttons: ["Cancelar", "Agendar"],

                      //reverseButtons: true,

                    }).then((result) => {

                      if (result) {

                        document.getElementById('divTemporizador').style.display = "block";//.classList.remove('invisible');

                        validacion = true;

                        temporizador();

                        idCitaPop = datos[2].idCita;

                        idEstadosPop = datos[2].idEstados;

                        idCabinaPop = datos[2].idAreas;

                        numeroSesionPop = datos[2].numeroSesion;

                        idUsuarioPop = datos[2].idUsuario;

                        nombreClientePop = datos[2].nombreCliente;

                        nombreServicioPop = datos[2].nombreServicio;

                        duracionSesionPop = datos[2].duracion;

                        //console.log(duracionSesionPop);

                        //personalDisponible();

                      }

                    });

                    var eventos = [], eventos2 = [];

                    eventos.push(datos[0]);

                    eventos2.push(datos[1]);

                    calendar.addEventSource(eventos);

                    calendar2.addEventSource(eventos2);

                  } else {

                    swal({

                      title: '¡No se registro ninguna cita!',

                      text: 'Intente guardar de nuevo',

                      icon: 'warning',

                      showConfirmButton: true,

                      confirmButtonText: 'Aceptar',

                    })

                    //guardarCita.disabled=false;

                  }

                });

            }

          }

        }

      });

  }



  //  boton editar citas

  var editarCitas = document.getElementById('btnUpdEvento');

  editarCitas.addEventListener('click', function () {

    if (validacionCitaUpdate() == true) {

      var fechaActual = fechaHoraAct();//document.getElementById('fechaFooter');

      var tipo = document.getElementById('selecttratamiento').value;

      var nuevoValor = tipo.slice(-2);

      var id = tipo.slice(0, -2);

      let idPromo = null;

      let idServ = null;

      var idDetalle = 0;



      if (nuevoValor == 'VG' || nuevoValor == 'VF') {

        idDetalle = id;

        idServ = $.idServicio();

      } else if (nuevoValor == 'VP') {

        idDetalle = id;

        idPromo = $.idServicio();

      } else if (nuevoValor == 'SP' || nuevoValor == 'PA') {

        idPromo = id;

      } else {

        idServ = id;

      }



      var combo = document.getElementById("selecttratamiento");

      let nombreSer = combo.options[combo.selectedIndex].text



      if (nuevoValor != 'SF' || nuevoValor != 'SG' || nuevoValor != 'SP') {

        const nombreSerF = nombreSer.split(", Fecha");

        nombreSer = nombreSerF[0];

      }



      var datos = {

        idDetalle: document.getElementById('idActualizar').value,

        idCliente: idClientEdit.value,

        nombreCliente: document.getElementById('txtClientes').value,

        idServicio: idServ,

        idPromo: idPromo,

        idEstados: txtEstado.value,

        idCabina: document.getElementById('txtBandaRP').value,

        numeroSesiones: document.getElementById('numeroSesionesEditar').length,

        numeroSesion: $("#numeroSesionesEditar").val(),

        fecha: txtFecha.value,

        horaInicio: moment(txtHoraIni.value, ["h:mm A"]).format("HH:mm:ss"),

        //horaFina: moment(txtHoraFin.value, ["h:mm A"]).format("HH:mm:ss"),

        idUsuario: txtUsuario.value,

        nombreUsuario: txtUsuario.options[txtUsuario.selectedIndex].text,

        observaciones: txtObservaciones.value,

        nombreSer: nombreSer,//$("#tratamientoNC").text(),//document.getElementById('tratamientoNC').text,           

        duracion: $("#duracionEditar").text(),

        fechaActual: fechaActual,

      }



      $.post(base_url + "myagenda/franquiciatario/ListacitasF/editarCita/",

        datos, function (result) {

          //console.log(result);

          

          var data = JSON.parse(result);

          /*console.log(data);

          console.log(data[1]);

          console.log(data['scolor']);

          console.log(data[1]['scolor']);*/

          if (data == 'error0') {

            swal({

              icon: 'warning',

              title: '¡No se realizo ningun cambio!',

              text: 'Actualizar fecha y hora',

              showConfirmButton: true,

              confirmButtonText: 'Aceptar',

            });

          } else if (data == 'error1') {

            swal({

              icon: 'warning',

              title: '¡No se realizo ningun cambio!',

              text: 'La cita excede el tiempo permitido para reagendar',

              showConfirmButton: true,

              confirmButtonText: 'Aceptar',

            });

          } else if (data == 'error2') {

            swal({

              icon: 'warning',

              title: '¡No se realizo ningun cambio!',

              text: 'La nueva fecha excede el tiempo permitido para reagendar',

              showConfirmButton: true,

              confirmButtonText: 'Aceptar',

            });

          } else if (data == 'error3') {

            /*var data={

              idDetalle:idActualizar.value,

              idCliente:idClienteEditar.value, 

              idServicio:idServicioEdit,         

              idEstados:estadoEditar.value,

              idAreas:areaEditar.value,

              numeroSesiones:numeroSesionesEditar.length,

              numeroSesion:numeroSesionesEditar.value,

              fecha:fechaEditar.value,

              horaInicio:moment(horaIEditar.value, ["h:mm A"]).format("HH:mm:ss"),

              horaFina:moment(horaFEditar.value, ["h:mm A"]).format("HH:mm:ss"),

              idUsuario:personalEditar.value,

              comentario:comentariosEditar.value,

              fechaActual:fecha.value,

            }*/

            //console.log(datos);

            swal({

              title: "¡La cita excede el tiempo permitido para cancelar!",

              text: "¿Está seguro de cancelar esta cita?",

              icon: "warning",

              buttons: ["Tomada por sistema!", "Aceptar!"],

            })

              .then((result) => {

                var estado = 3;

                if (result) {

                  $.post(base_url + "myagenda/franquiciatario/ListacitasF/estadoCancelarTS/" + estado,

                    datos, function (result) {

                      $('#modalEvento').modal('hide');

                      var datos = JSON.parse(result);

                      if (datos == 1) {

                        swal({

                          icon: 'success',

                          title: '¡Cita cancelada correctamente!',

                          showConfirmButton: true,

                          confirmButtonText: 'Aceptar',

                        }).then(function () {

                          $('#modalEvento').modal('hide');

                          var event = calendar.getEventById(document.getElementById('idActualizar').value);

                          var event2 = calendar2.getEventById(document.getElementById('idActualizar').value);



                          event.remove();

                          event2.remove();

                        });

                      } else {

                        swal({

                          icon: 'warning',

                          title: '¡No se realizo ningun cambio!',

                          showConfirmButton: true,

                          confirmButtonText: 'Aceptar',

                        });

                      }

                    });

                } else {

                  var estado = 7;

                  $.post(base_url + "myagenda/franquiciatario/ListacitasF/estadoCancelarTS/" + estado,

                    datos, function (result) {

                      $('#modalEvento').modal('hide');

                      var datos = JSON.parse(result);

                      if (datos == 1) {

                        swal({

                          icon: 'success',

                          title: '¡Cita tomada por sistema!',

                          text: 'Se ha descontado una sesión del paquete.',

                          showConfirmButton: true,

                          confirmButtonText: 'Aceptar',

                        }).then(function () {

                          $('#modalEvento').modal('hide');

                          var eventos = [], eventos2 = [];

                          var event = calendar.getEventById(document.getElementById('idActualizar').value);

                          var event2 = calendar2.getEventById(document.getElementById('idActualizar').value);



                          if (data[1]['scolor'] == '#FF0000') {

                            event.remove();

                            event2.remove();

                          } else {

                            event.remove();

                            event2.remove();

                            eventos.push(data[0]);

                            eventos2.push(data[1]);

                            calendar.addEventSource(eventos);

                            calendar2.addEventSource(eventos2);

                          }

                        });

                      } else {

                        swal({

                          icon: 'warning',

                          title: '¡No se realizo ningun cambio!',

                          showConfirmButton: true,

                          confirmButtonText: 'Aceptar',

                        });

                      }

                    });

                }

              });

          } else if (data == 'error4') {

            swal({

              icon: 'warning',

              title: '¡No se realizo ningun cambio!',

              text: 'La cita excede el tiempo permitido',

              //showConfirmButton: true,

              //confirmButtonText: 'Aceptar',

            });

          } else if (data.length == 2) {

            swal({

              title: 'Cita actualizada correctamente',

              icon: 'success',

              showConfirmButton: false,

              timer: 1500

            })

            $('#modalEvento').modal('hide');

            var eventos = [], eventos2 = [];

            var event = calendar.getEventById(document.getElementById('idActualizar').value);

            var event2 = calendar2.getEventById(document.getElementById('idActualizar').value);



            if (data[1]['scolor'] == '#FF0000') {

              event.remove();

              event2.remove();

            } else {

              event.remove();

              event2.remove();

              eventos.push(data[0]);

              eventos2.push(data[1]);

              calendar.addEventSource(eventos);

              calendar2.addEventSource(eventos2);

            }

          } else if (data == 1) {

            swal({

              title: 'Cita actualizada correctamente',

              icon: 'success',

              showConfirmButton: false,

              timer: 1500

            }).then(function () {

              $('#modalEvento').modal('hide');

              var eventos = [], eventos2 = [];

              var event = calendar.getEventById(document.getElementById('idActualizar').value);

              var event2 = calendar2.getEventById(document.getElementById('idActualizar').value);



              if (data[1]['scolor'] == '#FF0000') {

                event.remove();

                event2.remove();

              } else {

                event.remove();

                event2.remove();

                eventos.push(data[0]);

                eventos2.push(data[1]);

                calendar.addEventSource(eventos);

                calendar2.addEventSource(eventos2);

              }

            });

          } else {

            //console.log(datos);

            swal({

              title: '¡No se actualizo ninguna cita!',

              text: 'Intente de nuevo',

              icon: 'warning',

              showConfirmButton: true,

              confirmButtonText: 'Aceptar',

            })

          }

        });



    }

  });



  // boton para eliminar cita

  var eliminarCita = document.getElementById('deleteCita');

  eliminarCita.addEventListener('click', function () {

    var id = document.getElementById("idActualizar").value;

    swal({

      title: "¿Está seguro de eliminar esta cita?",

      text: "Una vez eliminado, no hay vuelta atras!",

      icon: "warning",

      buttons: ["Cancelar", "Aceptar"],

    })

      .then((result) => {

        if (result) {

          $.post(base_url + "myagenda/franquiciatario/ListacitasF/deleteEvento",

            { id: id }, function (result) {

              if (result) {

                $('#modalEvento').modal('hide');

                var event = calendar.getEventById(id);

                var event2 = calendar2.getEventById(id);

                event.remove();

                event2.remove();

                swal({

                  title: 'Cita eliminada correctamente',

                  icon: 'success',

                  showConfirmButton: false,

                  timer: 1500

                })

              }

            });

        } else {

          swal({

            title: "¡Cita no eliminada!",

            showConfirmButton: false,

            timer: 1500

          });

        }

      });

  });


  // Boton para agenda la siguiente sesión
  
  /*var agendarSiguiente = document.getElementById('agendarSiguiente');

  $(document).on('click', '.agendar', function () {
     
     alert('.agendar', agendarSiguiente)


  });*/

});





window.addEventListener('load', function (event) {

  // configuraciones de datepiker

  $.fn.datepicker.dates['en'] = {

    days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],

    daysShort: ["Dom", "Lun", "Mar", "Mier", "Jue", "Vier", "Sab"],

    daysMin: ["D", "L", "Ma", "Mi", "J", "V", "S"],

    months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],

    monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],

    today: "Today",

    clear: "Clear",



    weekStart: 0

  };



  $.datepicker.setDefaults($.datepicker.regional['en']);



  var today = new Date();

  $(".date-picker").datepicker({

    isRTL: false,

    format: "dd-mm-yyyy",

    viewMode: "months,days",

    minViewMode: "months,days",

    autoclose: true,

    // startDate: new Date(today.getFullYear(), today.getMonth(), today.getDate()),

    todayHighlight: true,

    daysOfWeekDisabled: diasNoLab,

  });



  var cancelarSiguiente = document.getElementById('cancelarSiguiente');

  cancelarSiguiente.addEventListener('click', function () {

    validacion = false;

    tiempoEspera.setHours(0, 1, 1);

    document.getElementById('divTemporizador').style.display = "none";//.classList.add('invisible');

  });



  var botonSiguiente = document.getElementById('botonSiguiente');

  botonSiguiente.addEventListener('click', function () {

    var id = document.getElementById('idActualizar').value;

    $.get(base_url + "myagenda/franquiciatario/ListacitasF/obtenerDatos", { id: id }, function (result) {

      var datos = JSON.parse(result);

      //console.log(result);

      document.getElementById('divTemporizador').style.display = "block";

      validacion = true;

      temporizador();

      idCitaPop = datos.IdAgenda;

      idEstadosPop = datos.idEstado;

      idCabinaPop = datos.idCabina;

      numeroSesionPop = Number(datos.numeroSesion) + 1;

      idUsuarioPop = datos.idPersonal;

      idClientePop = datos.idCliente;

      nombreClientePop = datos.nombreCliente;

      nombreServicioPop = datos.nombreServicio;

      duracionSesionPop = datos.duracion;

      //console.log(duracionSesionPop);

      /*console.log(idCita);

      console.log(idEstados);

      console.log(cabinaC);

      console.log(numeroSesionPop);

      console.log(idUsuario);

      console.log(nombreClientePop);

      console.log(nombreServicioPop);

      personalDisponible();*/

    });

  });



  //Filtra por cabina

  $('#filtrarCabinas').click(function () {

    var idCabina = $('#queryCabina').val();

    if (idCabina != '') {

      var href = location.href;

      href = href.match(/([^\/]*)\/*$/)[1];

      var idClient;

      if (href != 'listacitasF') {

        idClient = href;

      }else{

        idClient = null;

      }

      $.ajax({

        type: "POST",

        url: base_url + "myagenda/franquiciatario/listacitasF/getEventos",

        data: { codecabina: idCabina, 'idClient':idClient},

        dataType: "json",

        async: false,

        success: function (responseCabina) {

          // Access the JSON response //

          //console.log("aqui buscacabina",responseCabina,idCabina,idClient);

          var json_events = responseCabina;



          var events = calendar.getEventSources('calendarF');



          events.forEach(event => {

            event.remove();

            event.refetch();

          });

          console.log(dataCalendar(json_events, "cabinas"));

          calendar.addEventSource(dataCalendar(json_events, "cabinas"));



          var events2 = calendar2.getEventSources('calendarF2');



          events2.forEach(event2 => {

            event2.remove();

            event2.refetch();

          });



          calendar2.addEventSource(dataCalendar(json_events, "personal"));

        },//end success ajax response

        error: function () {

          var selectedOption = $('#queryCabina  option:selected').text();

          swal({

            icon: 'error',

            title: "No hay resultados para " + selectedOption.toUpperCase(),

            showConfirmButton: true,

            confirmButtonText: 'Aceptar',

          });

          //alert("No hay resultados para " + selectedOption.toUpperCase());

        },

      });//end ajax

    }//end if

    else {

      swal({

        icon: 'warning',

        title: "Selecciona una cabina",

        showConfirmButton: true,

        confirmButtonText: 'Aceptar',

      });

      //alert("Selecciona una cabina");

    }

    return false; //para q no haga reload 

  });//end click filtrar cabinas



  $("#buscarCitasboton").click(function () {

    $('#siguenteCitaCliente').css('display', 'none');

    $('#AnteriorCitaCliente').css('display', 'none');

    var i = 0;

    //console.log( "Handler for .click() called." );

    var nameclient = $('#buscarCitasCliente').val();

    

    if (nameclient != '') {

      $.ajax({

        url: base_url + "/myagenda/franquiciatario/BuscarcitasF/buscarporcliente",

        type: 'POST',

        dataType: 'json',

        data: { name: nameclient },

        success: function (response) {

          //console.log("success",response);

          //Access the JSON response //

          var json_events = response;

          //Cambiar por sweetAlert

          if (response.length == 0) {

            swal({

              icon: 'warning',

              title: "No se han encontrado resultados para " + nameclient,

              showConfirmButton: true,

              confirmButtonText: 'Aceptar',

            });

            //alert("No se han encontrado resultados para " + nameclient)

            return false;

          }



          if (response.length == 1) {

            calendar.gotoDate(json_events[i].Fecha);

            var events = calendar.getEventSources('calendarF');

            events.forEach(event => {

              event.remove();

            });

            calendar.addEventSource(dataCalendar(json_events, "cabinas"));



            calendar2.gotoDate(json_events[i].Fecha);

            var events2 = calendar2.getEventSources('calendarF2');

            events2.forEach(event2 => {

              event2.remove();

            });

            calendar2.addEventSource(dataCalendar(json_events, "personal"));

            /*$('#calendarF').fullCalendar('gotoDate',responseclienteName[0].fecha );

            $('#calendarF').fullCalendar( 'removeEvents' );

            $('#calendarF').fullCalendar( 'refetchEvents' );

            $('#calendarF').fullCalendar( 'addEventSource',json_events );*/

            return false;

          }

          //inicio

          if (response.length > 1) {

            if (i <= response.length) {

              $('#siguenteCitaCliente').css('display', 'block');

              $('#siguenteCitaCliente').addClass('fadeInDown animated');



              calendar.gotoDate(json_events[i].Fecha);

              var events = calendar.getEventSources('calendarF');

              events.forEach(event => {

                event.remove();

              });

              calendar.addEventSource(dataCalendar(json_events, "cabinas"));



              calendar2.gotoDate(json_events[i].Fecha);

              var events2 = calendar2.getEventSources('calendarF2');

              events2.forEach(event2 => {

                event2.remove();

              });

              calendar2.addEventSource(dataCalendar(json_events, "personal"));

              /*$('#calendarF').fullCalendar('gotoDate',responseclienteName[i].fecha );

                $('#calendarF').fullCalendar( 'removeEvents' );

                $('#calendarF').fullCalendar( 'refetchEvents' );

              $('#calendarF').fullCalendar( 'addEventSource',json_events );*/



              //console.log("i ->" + i);

              /*if( i <= responseclienteName.length ){*/

              $("#siguenteCitaCliente").click(function () {

                if (i < response.length - 1 && i >= 0) {

                  i++;



                  calendar.gotoDate(response[i].Fecha);

                  var events = calendar.getEventSources('calendarF');

                  events.forEach(event => {

                    event.remove();

                  });

                  calendar.addEventSource(dataCalendar(json_events, "cabinas"));



                  calendar2.gotoDate(response[i].Fecha);

                  var events2 = calendar2.getEventSources('calendarF2');

                  events2.forEach(event2 => {

                    event2.remove();

                  });

                  calendar2.addEventSource(dataCalendar(json_events, "personal"));

                  /*$('#calendarF').fullCalendar('gotoDate',responseclienteName[i].fecha );

                    $('#calendarF').fullCalendar( 'removeEvents' );

                    $('#calendarF').fullCalendar( 'refetchEvents' );

                  $('#calendarF').fullCalendar( 'addEventSource',json_events );*/



                  //console.log("Incremento " + i);

                  //console.log(dataCalendar(json_events, "personal siguiente cliente"));

                  $('#AnteriorCitaCliente').css('display', 'block');

                  $('#AnteriorCitaCliente').addClass('fadeInDown animated');

                  return false;

                } else {

                  swal({

                    icon: 'warning',

                    title: "No Existen más eventos",

                    showConfirmButton: true,

                    confirmButtonText: 'Aceptar',

                  });

                  //alert("No Existen más eventos");

                  console.log("i ->" + i);

                  return false;

                }

              });//end function click al hacer click en next



              $("#AnteriorCitaCliente").click(function () {

                if (i > 0 && i <= response.length - 1) {

                  i--;

                  calendar.gotoDate(response[i].Fecha);

                  var events = calendar.getEventSources('calendarF');

                  events.forEach(event => {

                    event.remove();

                  });

                  calendar.addEventSource(dataCalendar(json_events, "cabinas"));



                  calendar2.gotoDate(response[i].Fecha);

                  var events2 = calendar2.getEventSources('calendarF');

                  events2.forEach(event2 => {

                    event2.remove();

                  });

                  calendar2.addEventSource(dataCalendar(json_events, "personal"));

                  return false;

                } else {

                  swal({

                    icon: 'warning',

                    title: "No Existen más eventos anteriores",

                    showConfirmButton: true,

                    confirmButtonText: 'Aceptar',

                  });

                  //alert("No existen más eventos Anteriores");

                  console.log("abt i ->" + i);

                  return false;

                }

              });//end function click al hacer click en next

              /*console.log("no hay mas");*/

            }//end else 2 o mas clientesen citas cambie por if

            return false;

          }//end else 1 raiz

          //inicio - fin

        },//end success ajax response

        error: function () {

          swal({

            icon: 'warning',

            title: "No hay resultados para el nombre " + nameclient.toUpperCase(),

            showConfirmButton: true,

            confirmButtonText: 'Aceptar',

          });

          //alert("No hay resultados para el nombre " + nameclient.toUpperCase());

        },

      });//end ajax

      return false; //para q no haga reload 

    }// end if

    swal({

      icon: 'warning',

      title: "Escribe un nombre",

      showConfirmButton: true,

      confirmButtonText: 'Aceptar',

    });

    //alert("Escribe un nombre");

    return false; //para q no haga reload 

  });//end#buscarcitasboton



  // Autocompletado---------------------------------

  $("#clienteNC").autocomplete({

    source: base_url + "/agenda/franquiciatario/AgregarcitaF/clientes/?",



    select: function (event, ui) {

      $('[name="idClienteO"]').val(ui.item.id);

      $('[name="nombreClienteO"]').val(ui.item.label);

      $('[name="clienteNC"]').val(ui.item.label);

      //console.log(ui.item.label);

      var boton = "adeudoClienteMC";

      buscarAdeudos(ui.item.id, boton);
      
      cambioCliente()

    }

  });



  $("#clienteNC").on("keyup", function () {

    if ($("#clienteNC").val() != $("#nombreClienteO").val()) {

      document.getElementById("idClienteO").value = "";

      document.getElementById("adeudoClienteMC").classList.add('invisible');

    }

  });



  $(document).on('click', '.cerrarPop', function () {

    $(this).parent().parent().popover('hide');

  });

}); //Fin load

function compare_dates(fecha, fecha2) {

    var xYear = fecha.substring(0, 4);

    var xMonth = fecha.substring(5, 7);

    var xDay = fecha.substring(8, 10);



    var xMinute = fecha.substring(11, 13);

    var xSecond = fecha.substring(14, 16);

    var xMillisecond = fecha.substring(17, 19);



    var yDay = fecha2.substring(0, 2);

    var yMonth = fecha2.substring(3, 5);

    var yYear = fecha2.substring(6, 10);



    var yMinute = fecha2.substring(11, 13);

    var ySecond = fecha2.substring(14, 16);

    var yMillisecond = fecha2.substring(17, 19);



    if (xYear > yYear) {

      return (true)

    } else if (xYear < yYear) {

      return (false)

    } else if (xYear == yYear) {

      if (xMonth > yMonth) {

        return (true)

      } else if (xMonth < yMonth) {

        return (false)

      } else if (xMonth == yMonth) {

        if (xDay > yDay) {

          return (true);

        } else if (xDay < yDay) {

          return (false);

        } else if (xDay == yDay) {

          if (xMinute > yMinute) {

            return (true);

          } else if (xMinute < yMinute) {

            return (false);

          } else if (xMinute == yMinute) {

            if (xSecond > ySecond) {

              return (true);

            } else if (xSecond < ySecond) {

              return (false);

            } else if (xSecond == ySecond) {

              if (xMillisecond > yMillisecond) {

                return (true);

              } else if (xMillisecond < yMillisecond) {

                return (false);

              } else if (xMillisecond == yMillisecond) {

                return (false);

              }

            }

          }

        }

      }

    } else {

      return (false);

    }

  }

function modalAagenSig(){
        
    var hoy = new Date();

    var fecha = hoy.getDate() + '-' + (hoy.getMonth() + 1) + '-' + hoy.getFullYear();

    var hora = hoy.getHours() + ':' + hoy.getMinutes() + ':' + hoy.getSeconds();

    var fechaYHora = fechaHoraAct();// document.getElementById('fechaFooter').value;//fecha+' '+hora;

    var inicio = document.getElementById('horaI').value;

    var fin = document.getElementById('horaF').value;





    var fechaYHoraElegida = $('.fechaCita').val() + ' ' + moment($('.inicioCita').val(), ["h:mm A"]).format("HH:mm:ss");



    //console.log(fechaYHora);

    //console.log(fechaYHoraElegida);

    var datos = {

      idCita: idCitaPop,

      idEstado: $('.estadosC').selectpicker('val'),

      idCabina: $('.cabinaC').selectpicker('val'),

      numeroSesion: numeroSesionPop,

      fecha: $('.fechaCita').val(),

      horaInicio: moment($('.inicioCita').val(), ["h:mm A"]).format("HH:mm:ss"),

      horaFin: moment($('.finCita').val(), ["h:mm A"]).format("HH:mm:ss"),

      observaciones: $('.comentarioPop').val(),

      idUsuario: $('.personal').val(),

    };

    //console.log(datos);



    if ($('.fechaCita').val() != '' && moment($('.inicioCita').val(), ["h:mm A"]).format("HH:mm:ss") != '' && document.getElementById('personalSiguiente').value != "" && document.getElementById('cabinaCS').value != "" && document.getElementById('estadoCS').value != "") {

      $.post(base_url + "myagenda/franquiciatario/ListacitasF/buscarCitasAgenda",

        datos, function (res) {

          if (compare_dates(fechaYHora, fechaYHoraElegida)) {

            swal({

              title: "¡Cita fuera de tiempo!",

              text: "Estás intentado registrar una cita en un horario pasado ¿estás seguro?",

              icon: 'warning',

              buttons: ["Cancelar", "Aceptar"],

            })

              .then((result) => {

                if (result) {

                  agendarSigCita(res, datos);

                } else {

                  $('.cerrarPop').trigger('click');

                }

              });

          } else {

            agendarSigCita(res, datos)

          }

        });

    } else {

      if ($('.fechaCita').val() === ''){

        $(".fechaCita").notify("Seleccione fecha",{

          position:'top center',

          className:'error',

        });

      } else if($('.inicioCita').val() === ''){

        $(".inicioCita").notify("Seleccione hora inicio",{

          position:'top center',

          className:'error',

        });

      } else if (document.getElementById('personalSiguiente').value === "") {

        $("#personalSiguiente").notify("Seleccione cosmetolog@",{

          position:'top center',

          className:'error',

        });        

      }  else if(document.getElementById('cabinaCS').value === "") {

        $("#cabinaCS").notify("Seleccione cabina",{

          position:'top center',

          className:'error',

        });

      } else if (document.getElementById('estadoCS').value === "") {

        $("#estadoCS").notify("Seleccione estado",{

          position:'top center',

          className:'error',

        });

      }



      /*swal({

        title: "¡Datos obligatorios faltantes!",

        text: "Verifique que todos los campos obligatorios esten llenos",

        icon: 'warning',

        //buttons: ["Cancelar", "Aceptar"],

      })*/

    }
    }

function dataCalendar(data, vista) {

  console.log("datacalendar", vista);

  console.log(data);

  var eventos = [];

  if (data != null) {

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

      //console.log(data[i]);

      var estado = "";

      var nombreEstado = "";

      switch (data[i].estatuscitas_IdEstatusCita) {

        case '1': //CONFIRMADA

          estado = '#5F04B4';

          nombreEstado = "CONFIRMADA";

          break;

        case '2': //PENDIENTE POR CONFIRMAR

          estado = '#6b6b6f';

          nombreEstado = "PENDIENTE";

          break;

        case '3': //CANCELADA

          estado = '#FF0000';

          nombreEstado = "CANCELADA";

          break;

        case '4': //REAGENDADA

          estado = '#DF01A5';

          nombreEstado = "REAGENDADA";

          break;

        case '5'://ABIERTO

          estado = '#00FFFF';

          nombreEstado = "ABIERTO";

          break;

        case '6': //REALIZADA

          estado = '#04B404';

          nombreEstado = "REALIZADO";

          break;

        case '7': //TOMADO POR SISTEMA

          estado = '#F7FE2E';

          nombreEstado = "TOMADO POR SISTEMA";

          break;

        case '8': //ONLINE

          estado = '#FF8000';

          nombreEstado = "ONLINE";

          break;

      }



      if (vista === "personal") {

        eventos[i] = {

          id: data[i].IdAgenda,

          resourceId: data[i].Usuarios_IdUsuarios,

          start: data[i].Fecha + ' ' + data[i].HoraInicio,

          end: data[i].Fecha + ' ' + data[i].HoraFin,

          title: data[i].SP_Agendado,

          description: 'Inicio: ' + moment(data[i].Fecha).format('DD-MM-YYYY') + ' ' + moment(data[i].HoraInicio, ["HH:mm:ss"]).format("h:mm A") + '\n Fin: ' + moment(data[i].Fecha).format('DD-MM-YYYY') + ' ' + moment(data[i].HoraFin, ["HH:mm:ss"]).format("h:mm A") +

            '\n Cliente: ' + data[i].NombreCliente + '\n Servicio: ' + data[i].SP_Agendado + '\n Estado: ' + nombreEstado,

          scolor: estado,

          color: data[i].colorCabina

        };

      } else {

        eventos[i] = {

          id: data[i].IdAgenda,

          resourceId: data[i].IdCabina,

          start: data[i].Fecha + ' ' + data[i].HoraInicio,

          end: data[i].Fecha + ' ' + data[i].HoraFin,

          title: data[i].SP_Agendado,

          description: 'Inicio: ' + moment(data[i].Fecha).format('DD-MM-YYYY') + ' ' + moment(data[i].HoraInicio, ["HH:mm:ss"]).format("h:mm A") + '\n Fin: ' + moment(data[i].Fecha).format('DD-MM-YYYY') + ' ' + moment(data[i].HoraFin, ["HH:mm:ss"]).format("h:mm A") +

            '\n Cliente: ' + data[i].NombreCliente + '\n Servicio: ' + data[i].SP_Agendado + '\n Estado: ' + nombreEstado,

          scolor: estado,

        };

      }

    }

  }

  //console.log(eventos);

  return eventos;

}



function agendarSigCita(res, datos) {

  if (res == 1) {

    //console.log("dentro de cabina reservada fuera de tiempo");

    //console.log(res);

    swal({

      title: "Cabina reservada!",

      text: "¿Está seguro de guardar está cita?",

      icon: 'warning',

      buttons: ["Cancelar!", "Aceptar!"],

    })

      .then((result) => {

        if (result) {

          //$('.cerrarPop').trigger('click');

          insertNext(datos);

        } else {

          $('.cerrarPop').trigger('click');

        }

      });

  } else {

    insertNext(datos);

  }

}



function insertNext(datos) {

  $(this).parent().parent().popover('hide');

  $.post(base_url + "myagenda/franquiciatario/ListacitasF/agendarSigCita",

    datos, function (result) {

      $('.cerrarPop').trigger('click');

      var datos = JSON.parse(result);

      //console.log(datos);

      if (datos.length == 2) {

        swal({

          title: 'Cita guardada correctamente',

          icon: 'success',

          showConfirmButton: false,

          timer: 1500

        });

        var eventos = [], eventos2 = [];

        eventos.push(datos[0]);

        eventos2.push(datos[1]);

        calendar.addEventSource(eventos);

        calendar2.addEventSource(eventos2);

        cancelarSiguiente.click();

      } else if (datos.length == 3) {

        $('.cerrarPop').trigger('click');

        swal({

          title: '¡Cita guardada correctamente!',

          html: '<h3>¿Desea agendar la siguiente sesión?</h3>',

          icon: 'success',

          buttons: ["Cancelar", "Agendar"],

        }).then((result) => {

          if (result) {

            document.getElementById('divTemporizador').style.display = "block";

            validacion = true;

            temporizador();

            idCitaPop = datos[2].idCita;

            idEstadosPop = datos[2].idEstados;

            idCabinaPop = datos[2].idCabina;

            numeroSesionPop = datos[2].numeroSesion;

            idUsuarioPop = datos[2].idUsuario;

            nombreClientePop = datos[2].nombreCliente;

            nombreServicioPop = datos[2].nombreServicio;

            personalDisponible();

          }

        });

        var eventos = [], eventos2 = [];

        eventos.push(datos[0]);

        eventos2.push(datos[1]);

        calendar.addEventSource(eventos);

        calendar2.addEventSource(eventos2);

        cancelarSiguiente.click();

      } else {

        $('.cerrarPop').trigger('click');

        swal({

          title: '¡No se registro ninguna cita!',

          text: 'Intente guardar de nuevo',

          icon: 'warning',

          showConfirmButton: true,

          confirmButtonText: 'Aceptar',

        })

      }

    });

}



function agendar(valor) {

  var personal = document.getElementById('personal');

  var todosPersonal = $.personal();

  var cabina = document.getElementById('cabinaNC');

  var todasCabinas = $.cabinas();

  cabina.innerHTML = "";

  cabina.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione cabina</option>`);



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

    cabina.insertAdjacentHTML('beforeend', `<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

  }

  $('.selectpicker').selectpicker('refresh');

  if (valor != 'btnCita') {

    //alert(valor+"linea 2307");

    fechaCitaC();

  } else {

    //alert(valor+"linea 2307");

  }

  $('#modal-agendar').modal();

}



function editarCita(id, eventIni, eventFin) {

  var personal = document.getElementById('txtUsuario');

  var todosPersonal = $.personal();

  var cabina = document.getElementById('txtBandaRP');

  var todasCabinas = $.cabinas();

  //console.log(todasCabinas);

  cabina.innerHTML = "";

  cabina.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione cabina</option>`);



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

    cabina.insertAdjacentHTML('beforeend', `<option data-content="<i class='fa fa-circle' style='color:` + todasCabinas[i].eventColor + `'> </i>` + todasCabinas[i].title + `">` + todasCabinas[i].id + `</option>`);

  }

  personal.innerHTML = "";

  personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

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

    personal.insertAdjacentHTML('beforeend', `<option value="` + todosPersonal[i].id + `">` + todosPersonal[i].title + `</option>`);

  }



  $.get(base_url + "myagenda/franquiciatario/ListacitasF/obtenerDatos", { id: id },

    function (result) {

      //console.log(result);

      var datosCita = JSON.parse(result);

      //console.log(datosCita);

      document.getElementById('txtClientes').value = datosCita.nombreCliente;

      document.getElementById('idClientEdit').value = datosCita.idCliente;

      var ventaEditar = document.getElementById('selecttratamiento');

      var todasVentas = $.ventas();

      var todosServicios = $.serviciosTodos();

      ventaEditar.innerHTML = "";

      ventaEditar.insertAdjacentHTML('beforeend', `<option value=""disabled>Seleccione servicio</option>`);

      ventaEditar.insertAdjacentHTML('beforeend', `<optgroup label="Servicio agendado">`);

      ventaEditar.insertAdjacentHTML('beforeend', `<option value="` + datosCita.idServicio + `" selected><b>` + datosCita.nombreServicio + ', Fecha Agendada:' + datosCita.fecha + '</b><br></option>');

      ventaEditar.insertAdjacentHTML('beforeend', `</optgroup>`);

      ventaEditar.insertAdjacentHTML('beforeend', `<optgroup label="Servicios vendidos">`);

      if (todasVentas != false) {

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

          ventaEditar.insertAdjacentHTML('beforeend', `<option value="` + todasVentas[i].id + `"><b>` + todasVentas[i].title + '</b><br>, Fecha venta:' + todasVentas[i].fVenta + `</option>`);

        }

      }



      /*venta.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione servicio</option>`);

      if (todasVentas!=false) {

        venta.insertAdjacentHTML('beforeend', `<optgroup label="Servicios vendidos">`);



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

          venta.insertAdjacentHTML('beforeend', `<option value="`+todasVentas[i].id+`"><b>`+todasVentas[i].title+'</b><br>, Fecha venta:'+todasVentas[i].fVenta+`</option>`);

        }

        venta.insertAdjacentHTML('beforeend', `</optgroup>`);      

      }*/



      ventaEditar.insertAdjacentHTML('beforeend', `</optgroup>`);



      ventaEditar.insertAdjacentHTML('beforeend', `<optgroup label="Servicios generales">`);

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

        //console.log(todosServicios[i]);

        if (todosServicios[i].tipo == "sergen") {

          //console.log(todosServicios[i]);

          ventaEditar.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SG">` + todosServicios[i].title + `</option>`);

        }

      }

      ventaEditar.insertAdjacentHTML('beforeend', `</optgroup>`);



      ventaEditar.insertAdjacentHTML('beforeend', `<optgroup label="Servicios franquicia">`);

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

        if (todosServicios[i].tipo == "serfranq") {

          //console.log(todosServicios[i]);

          ventaEditar.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SF">` + todosServicios[i].title + `</option>`);

        }

      }

      ventaEditar.insertAdjacentHTML('beforeend', `</optgroup>`);



      ventaEditar.insertAdjacentHTML('beforeend', `<optgroup label="Promociones">`);

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

        if (todosServicios[i].tipo == "promo") {

          //console.log(todosServicios[i]);

          ventaEditar.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SP">` + todosServicios[i].title + `</option>`);

        }

      }

      ventaEditar.insertAdjacentHTML('beforeend', `</optgroup>`);



      /*document.getElementById('buscadorClienteEditar').classList.add("invisible");

      document.getElementById('tarjetaClienteEditar').classList.remove("invisible");

      document.getElementById('nombreClienteEditar').innerHTML=datosCita.nombreCliente;

      document.getElementById('datosClienteEditar').innerHTML=datosCita.datosCliente;*/

      //document.getElementById('nombreServicioEditar').value=datosCita.nombreServicio;

      //document.getElementById('idServicioEditar').value=datosCita.idServicio;

      var sesion = document.getElementById('numeroSesionesEditar');

      sesion.innerHTML = "";

      for (var i = 1; i <= datosCita.sesiones; i++) {

        if (datosCita.numeroSesion == i) {

          sesion.insertAdjacentHTML('beforeend', `<option value="` + i + `" selected>` + i + `</option>`);

        } else {

          sesion.insertAdjacentHTML('beforeend', `<option value="` + i + `">` + i + `</option>`);

        }



      }



      document.getElementById('txtFecha').value = moment(datosCita.fecha).format("DD-MM-YYYY");

      document.getElementById('txtHoraIni').value = moment(eventIni).format('h:mm A');

      document.getElementById('txtHoraFin').value=moment(eventFin).format('h:mm A');

      document.getElementById('duracionEditar').innerHTML = datosCita.duracion;//duracion(datosCita.horaInicio, datosCita.horaFin);

      fechaCitaCO();

      //console.log(datosCita.idPersonal, datosCita.nombrePersonal);

      document.getElementById('txtUsuario').insertAdjacentHTML('beforeend', `<option value="` + datosCita.idPersonal + `">` + datosCita.nombrePersonal + `</option>`);



      document.getElementById('txtUsuario').value = datosCita.idPersonal;

      document.getElementById('txtBandaRP').value = datosCita.idCabina;

      document.getElementById('txtEstado').value = datosCita.idEstado;

      document.getElementById('txtObservaciones').value = datosCita.Observaciones;

      document.getElementById('idActualizar').value = datosCita.IdAgenda;



      var infoLaboral = $.infoLaboral();

      var inicioL = infoLaboral.inicioDiaL;

      var finL = infoLaboral.finDiaL;



      var v1 = inicioL.slice(0, -3);

      var v2 = finL.slice(0, -3);

      /**************************************************/

      $('.timepicker').timepicker({

        timeFormat: 'h:i A',

        minTime: tConvert(v1),//'12:00 AM',

        maxTime: tConvert(v2),//'11:59 PM',

        startTime: tConvert(v1)

      });



      $('.selectpicker').selectpicker('refresh');

      $('#modalEvento').modal();



      if (datosCita.sesionesFaltantesAgendar > 0) {

        document.getElementById('botonSiguiente').style.display = "block";

      } else {

        document.getElementById('botonSiguiente').style.display = "none";

      }



      if (datosCita.idEstado != 6) {

        $('#selecttratamiento').attr('disabled', false);

        $('#numeroSesionesEditar').attr('disabled', false);

        $('#txtFecha').attr('disabled', false);

        $('#txtHoraIni').attr('disabled', false);

        //$('#txtHoraFin').attr('disabled',false);

        $('#duracionEditar').attr('disabled', false);

        $('#txtUsuario').attr('disabled', false);

        $('#txtBandaRP').attr('disabled', false);

        $('#txtEstado').attr('disabled', false);

        $('#txtObservaciones').attr('disabled', false);

        $('#editarCita').attr('disabled', false);

        //document.getElementById('eliminarCita').classList.remove('invisible');

        document.getElementById('editarCita').classList.remove('invisible');

      } else if (datosCita.idEstado == 6) {

        $('#selecttratamiento').attr('disabled', 'disabled');

        $('#numeroSesionesEditar').attr('disabled', 'disabled');

        $('#txtFecha').attr('disabled', 'disabled');

        $('#txtHoraIni').attr('disabled', 'disabled');

        //$('#txtHoraFin').attr('disabled','disabled');

        $('#duracionEditar').attr('disabled', 'disabled');

        $('#txtUsuario').attr('disabled', 'disabled');

        $('#txtBandaRP').attr('disabled', 'disabled');

        $('#txtEstado').attr('disabled', 'disabled');

        $('#txtObservaciones').attr('disabled', 'disabled');

        $('#editarCita').attr('disabled', 'disabled');

        document.getElementById('eliminarCita').classList.add('invisible');

        document.getElementById('editarCita').classList.add('invisible');

      }



    });

}



function sumarDuracion(duracionServicio) {

  var hora = moment(document.getElementById('horaI').value, ["h:mm A"]).format("HH:mm:ss");

  var hora1 = (hora).split(":");

  var t1 = new Date();

  var hora2 = "";

  t1.setHours(hora1[0], hora1[1], hora1[2]);

  if (duracionServicio.split('*')[1] == 'min') {

    t1.setMinutes(t1.getMinutes() + Number(duracionServicio.split('*')[0]));

    hora2 = moment(t1).format("HH:mm:ss");

  } else if (duracionServicio.split('*')[1] == 'hrs') {

    t1.setHours(t1.getHours() + Number(duracionServicio.split('*')[0]));

    hora2 = moment(t1).format("HH:mm:ss");

  }

  if (hora !== 'Invalid date') {

    document.getElementById('horaF').value = moment(t1).format("h:mm A");

    document.getElementById('duracion').value = duracion(hora, hora2);

    $('#duracion').notify("Duración actualizada", "warn");

  }



}



function duracion(dt1, dt2) {

  var hora1 = (dt2).split(":"),

    hora2 = (dt1).split(":"),

    t1 = new Date(),

    t2 = new Date();

  t1.setHours(hora1[0], hora1[1], hora1[2]);

  t2.setHours(hora2[0], hora2[1], hora2[2]);

  t1.setHours(t1.getHours() - t2.getHours(), t1.getMinutes() - t2.getMinutes(), t1.getSeconds() - t2.getSeconds());

  // document.getElementById('duracion').value=(t1.getHours() ? t1.getHours() + (t1.getHours() > 1 ? " horas" : " hora") : "") + (t1.getMinutes() ? "  " + t1.getMinutes() + (t1.getMinutes() > 1 ? " minutos" : " minuto") : "") + (t1.getSeconds() ? (t1.getHours() || t1.getMinutes() ? " y " : "") + t1.getSeconds() + (t1.getSeconds() > 1 ? " segundos" : " segundo") : "")

  return (t1.getHours() ? t1.getHours() + (t1.getHours() > 1 ? " hrs" : " hrs") : "") + (t1.getMinutes() ? "  " + t1.getMinutes() + (t1.getMinutes() > 1 ? " min" : " min") : "") + (t1.getSeconds() ? (t1.getHours() || t1.getMinutes() ? " y " : "") + t1.getSeconds() + (t1.getSeconds() > 1 ? " seg" : " seg") : "");

}



function validacionCita() {

  var tipo = document.getElementById('tratamientoNC').value;



  if (document.getElementById('clienteNC').value == "") {

    $("#clienteNC").notify("Seleccione un cliente",{

      position:'top center',

      className:'error',

    });

    return false

  } else if (tipo == "") {

    $("#tratamientoNC").notify("Seleccione servicio",{

      position:'top center',

      className:'error',

    });

    return false

  } else if (document.getElementById('fechaNC').value == "") {

    $("#fechaNC").notify("Seleccione fecha",{

      position:'top center',

      className:'error',

    });//alert("Ingrese fecha");

    return false;

  } else if (document.getElementById("inicioNC").value == "") {

    $("#inicioNC").notify("Seleccione hora inicio",{

      position:'top center',

      className:'error',

    });//alert("Ingrese hora inicio");

    return false;

  } else if (document.getElementById("cosmetologoNC").value == "") {

    $("#cosmetologoNC").notify("Seleccione cosmetolog@",{

      position:'top center',

      className:'error',

    });//alert("Ingrese cosmetolog@");

    return false;

  } else if (document.getElementById("cabinaNC").value == "") {

    $("#cabinaNC").notify("Seleccione cabina",{

      position:'top center',

      className:'error',

    });//alert("Ingrese cabina");

    return false;

  } else  if(document.getElementById("statusNC").value == ""){

    $("#statusNC").notify("Seleccione estado",{

      position:'top center',

      className:'error',

    });

    return false;

  } else {

    return true;

  }

}



function validacionCitaUpdate() {

  var tipo = document.getElementById('selecttratamiento').value;

  if (document.getElementById('txtClientes').value == "") {

    $("#txtClientes").notify("Seleccione un cliente",{

      position:'top center',

      className:'error',

    });

    return false

  } else if (tipo == "") {

    $("#selecttratamiento").notify("Seleccione servicio",{

      position:'top center',

      className:'error',

    });//alert("Ingrese servicio");

    return false;

  } else if (document.getElementById('txtFecha').value == "") {

    $("#txtFecha").notify("Seleccione fecha",{

      position:'top center',

      className:'error',

    });//alert("Ingrese fecha");

    return false;

  } else if (document.getElementById("txtHoraIni").value == "") {

    $("#txtHoraIni").notify("Seleccione hora inicio",{

      position:'top center',

      className:'error',

    });//alert("Ingrese hora inicio");

    return false;

  } else if (document.getElementById("txtUsuario").value == "") {

    $("#txtUsuario").notify("Seleccione cosmetolog@",{

      position:'top center',

      className:'error',

    });//alert("Ingrese cosmetolog@");

    return false;

  } else if (document.getElementById("txtBandaRP").value == "") {

    $("#txtBandaRP").notify("Seleccione cabina",{

      position:'top center',

      className:'error',

    });//alert("Ingrese cabina");

    return false;

  } else  if(document.getElementById("txtEstado").value == ""){

    $("#txtEstado").notify("Seleccione estado",{

      position:'top center',

      className:'error',

    });

    return false;

  } else {

    return true;

  }

}



var tiempoEspera = new Date();

tiempoEspera.setHours(0, 1, 1);

function temporizador() {

  tiempoEspera.setSeconds(tiempoEspera.getSeconds() - 1);

  tiempoRestante.innerHTML = 'Tiempo restante: ' + moment(tiempoEspera).format('HH:mm:ss');

  if (moment(tiempoEspera).format('HH:mm:ss') != '00:00:00' && validacion == true) {

    validacion = true;

    setTimeout("temporizador()", 1000);

  } else {

    validacion = false;

    tiempoEspera.setHours(0, 1, 1);

    document.getElementById('divTemporizador').style.display = 'none';

  }

  //console.log(validacion);  

}



function limpiarM() {

  document.getElementById('clienteNC').value = '';

  document.getElementById('idClienteO').value = '';

  document.getElementById('tratamientoNC').innerHTML = "";

  document.getElementById('idServicio').value = '';

  document.getElementById('idPromocion').value = '';

  document.getElementById('cosmetologoNC').value = '';
  

  document.getElementById('numeroSesiones').value = '';

  document.getElementById('fechaNC').value = '';

  document.getElementById('inicioNC').value = '';
  

  $('#cabinaNC').selectpicker('val', '');

  document.getElementById('observacionesNC').value = '';

  document.getElementById('statusNC').value = '';

  document.getElementById("div-cliente").classList.remove("has-error");

  document.getElementById("div-tratamiento").classList.remove("has-error");

  document.getElementById("div-fecha").classList.remove("has-error");

  document.getElementById("div-inicio").classList.remove("has-error");

  //document.getElementById("div-fin").classList.remove("has-error");

  document.getElementById("div-cabina").classList.remove("has-error");

  document.getElementById("div-status").classList.remove("has-error");

  document.getElementById("div-cosmetologo").classList.remove("has-error");

  document.getElementById("adeudoClienteMC").classList.add("invisible");

  $('.notifyjs-wrapper').trigger('notify-hide');

}



function cambio() {

  document.getElementById('calendarF').style.display = "none";

  document.getElementById('calendarF2').style.display = "block";

  $('.fc-resourceTimeGrid-button').trigger('click');

  $('.fc-timeGridWeek-button').trigger('click');

  $('.fc-resourceTimeGrid-button').trigger('click');

}



$.extend({

  cabinas: function () {

    var result = false;

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/cabinasExistentes/",

      dataType: "json",

      async: false,

      success: function (data) {

        var cabinas = [];

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

          cabinas[i] = {

            id: data[i].IdCabina,

            title: data[i].NombreCabina,

            eventColor: data[i].colorCabina

          };

        }

        result = cabinas;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//personal

$.extend({

  personal: function () {

    var result = false;

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/personalExistentes/",

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data, "listado de personal");

        var personal = [];

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

          personal[i] = {

            id: data[i].IdUsuarios,

            title: data[i].NombreUsuario.substring(0, 15)

          };

        }

        result = personal;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



$.extend({

  estados: function () {

    var result = false;

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/estados/",

      dataType: "json",

      async: false,

      success: function (data) {

        var estados = [];

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

          estados[i] = {

            'id': data[i].id,

            'title': data[i].nombre,

            'clase': data[i].clase,

          };

        }

        result = estados;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//eventosCabina

$.extend({

  eventosCabina: function () {

    var result = false;

    var href = location.href;

    href = href.match(/([^\/]*)\/*$/)[1];

    var idClient;

    if (href != 'listacitasF') {

      idClient = href;

    }else{

      idClient = null;

    }

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/getEventos",

      data: { codecabina: null, 'idClient':idClient},

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data);

        result = dataCalendar(data, "cabinas");

        //console.log(result);

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//eventosPersonal

$.extend({

  eventosPersonal: function () {



    var result = false;

    var href = location.href;

    href = href.match(/([^\/]*)\/*$/)[1];

    var idClient;

    if (href != 'listacitasF') {

      idClient = href;

    }else{

      idClient = null;

    }

    console.log(idClient);

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/getEventos",

      data: { codecabina: null, 'idClient':idClient},

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data, "personal");

        result = dataCalendar(data, "personal");

        //console.log(result);

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



function get24hTime(str) {

  str = String(str).toLowerCase().replace(/\s/g, '');

  var has_am = str.indexOf('am') >= 0;

  var has_pm = str.indexOf('pm') >= 0;

  // first strip off the am/pm, leave it either hour or hour:minute

  str = str.replace('am', '').replace('pm', '');

  // if hour, convert to hour:00

  if (str.indexOf(':') < 0) str = str + ':00';

  // now it's hour:minute

  // we add am/pm back if striped out before

  if (has_am) str += ' am';

  if (has_pm) str += ' pm';

  // now its either hour:minute, or hour:minute am/pm

  // put it in a date object, it will convert to 24 hours format for us

  var d = new Date("1/1/2011 " + str);

  // make hours and minutes double digits

  var doubleDigits = function (n) {

    return (parseInt(n) < 10) ? "0" + n : String(n);

  };

  return doubleDigits(d.getHours()) + ':' + doubleDigits(d.getMinutes());

}



function tConvert(time) {

  // Check correct time format and split into components

  time = time.toString().match(/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];



  if (time.length > 1) { // If time format correct



    time = time.slice(1);  // Remove full string match value

    time[5] = +time[0] < 12 ? 'AM' : 'PM'; // Set AM/PM

    time[0] = +time[0] % 12 || 12; // Adjust hours

  }

  //return time; // return adjusted time or original string

  var tel = document.getElementById('rzlt');



  return time.join('');

}



function horaTimePicker() {

  /****************TIMEPICKERT**********************/

  var fecha = document.getElementById('fechaNC').value;

  var fecha2 = document.getElementById('fechaNC2').value;

  //console.log(fecha2);

  // console.log(document.getElementById('fecha').value);

  if (fecha2 != '') {

    if (fecha2 != fecha) {

      $('#inicioNC').timepicker('remove').timepicker();

      //$('#finNC').timepicker('remove').timepicker();

      $('#fecha2').val(fecha);

      // console.log(fecha2);

      var infoLaboral = $.infoLaboral();

      var inicioL = infoLaboral.inicioDiaL;

      var finL = infoLaboral.finDiaL;



      $('#inicioNC').val(inicioL);

      //$('#finNC').val(finL);



      var v1 = inicioL.slice(0, -3);

      var v2 = finL.slice(0, -3);

      /**************************************************/

      $('.timepicker').timepicker({

        timeFormat: 'h:i A',

        minTime: tConvert(v1),//'12:00 AM',

        maxTime: tConvert(v2),//'11:59 PM',

        startTime: tConvert(v1)

      });

    }

  } else {

    // console.log(fecha2);

    $('#fecha2').val(fecha);

    // console.log(fecha2);

    var infoLaboral = $.infoLaboral();

    var inicioL = infoLaboral.inicioDiaL;

    var finL = infoLaboral.finDiaL;



    var v1 = inicioL.slice(0, -3);

    var v2 = finL.slice(0, -3);

    /**************************************************/

    $('.timepicker').timepicker({

      timeFormat: 'h:i A',

      minTime: tConvert(v1),//'12:00 AM',

      maxTime: tConvert(v2),//'11:59 PM',

      startTime: tConvert(v1)

    });

  }

}



function fechaCitaC() {

  var fecha, inicio, fin, diasSemana, horaI, horaF, dia, fechaElegida, idCita;

  fecha = document.getElementById('fechaNC').value;

  inicio = document.getElementById('inicioNC').value;

  //fin = document.getElementById('finNC').value;

  //alert(fecha+'***'+inicio+'***'+fin);

  horaTimePicker();



  fecha = fecha.split('-').reverse().join('/');

  fecha = new Date(fecha);

  diasSemana = new Array("Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo");

  horaI = get24hTime(inicio) + ':00';

  //horaF = get24hTime(fin)+':00';



  dia = diasSemana[fecha.getUTCDay() - 1];

  //console.log(dia);

  fechaElegida = $('#fechaNC').val();

  idCita = "";

  idCita = document.getElementById('idCitaEdit').value;

  //alert(idCita, fechaElegida, dia, horaF, horaI, fecha);

  //console.log(idCita + "*" + fechaElegida + "-" + dia + "*" + "-" + horaI + "*" + fecha);

  if (dia != '' && dia != undefined && inicio != '') {

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",

      data: { 'dia': dia, 'inicio': horaI, 'fechaElegida': fechaElegida, 'idCita': idCita },

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data);

        var personal = document.getElementById('cosmetologoNC');



        //personal.innerHTML="";

        if (data == null) {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

        } else {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

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

            personal.insertAdjacentHTML('beforeend', `<option value="` + data[i].IdUsuarios + `">` + data[i].NombreUsuario + `</option>`);

          }

        }

      },

      error: function (xhr, textStatus, errorThrown, error) {

        var personal = document.getElementById('cosmetologoNC');



        personal.innerHTML = "";

        personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

      }

    });

  }

  //return result;

}



function fechaCitaCO() {

  var fecha, inicio, fin, diasSemana, horaI, horaF, dia, fechaElegida, idCita, idPersonal, duracion;

  fecha = document.getElementById('fechaNC').value;

  inicio = document.getElementById('inicioNC').value;

  duracion = $("#duracionNC").text();

  //fin = document.getElementById('finNC').value;

  if (fecha == '') {

    //console.log(fecha);

    fecha = document.getElementById('txtFecha').value;

    inicio = document.getElementById('txtHoraIni').value;

    duracion = $("#duracionEditar").text();

    //fin = document.getElementById('txtHoraFin').value;

  }

  //alert(fecha+'***'+inicio+'***'+fin);

  horaTimePicker2();



  fecha = fecha.split('-').reverse().join('/');

  fecha = new Date(fecha);

  diasSemana = new Array("Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo");

  horaI = get24hTime(inicio) + ':00';

  //horaF = get24hTime(fin)+':00';



  dia = diasSemana[fecha.getUTCDay() - 1];

  //console.log(dia);

  fechaElegida = $('#fechaNC').val();

  if (fechaElegida == '') {

    fechaElegida = $('#txtFecha').val();

  }

  idCita = "";

  idCita = document.getElementById('idCitaEdit').value;

  idPersonal = document.getElementById('txtUsuario').value;

  //alert(idCita, fechaElegida, dia, horaF, horaI, fecha);

  //console.log(idCita + "*" + fechaElegida + "-" + dia + "-" + horaI + "*" + fecha);

  if (dia != '' && dia != undefined && inicio != '') {

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",

      data: { 'dia': dia, 'inicio': horaI, 'fechaElegida': fechaElegida, 'idCita': idCita, 'idPersonal': idPersonal, 'duracion':duracion},

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data);

        var personal = document.getElementById('cosmetologoNC');

        if (document.getElementById('fechaNC').value == '') {

          personal = document.getElementById('txtUsuario');

        }

        //console.log(personal);

        for (let i = personal.options.length; i >= 0; i--) {

          personal.remove(i);

        }

        //console.log(personal);



        //personal.innerHTML="";

        if (data == null) {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

        } else {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

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

            personal.insertAdjacentHTML('beforeend', `<option value="` + data[i].IdUsuarios + `">` + data[i].NombreUsuario + `</option>`);

          }

        }

      },

      error: function (xhr, textStatus, errorThrown, error) {

        var personal = document.getElementById('cosmetologoNC');

        if (personal == '') {

          personal = document.getElementById('txtUsuario');

        }

        personal.innerHTML = "";

        personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

      }

    });

  }

}



function personalDisponible() {

  //alert('entrando a funcion personal disponible');

  var fecha, inicio, fin, diasSemana, horaI, horaF, dia, fechaElegida, idCita;

  fecha = $('.fechaCita').val();

  fecha = fecha.split('-').reverse().join('/');

  fecha = new Date(fecha);

  inicio = $('.inicioCita').val();

  //fin = $('.finCita').val();

  diasSemana = new Array("Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo");

  horaI = get24hTime(inicio) + ':00';

  //console.log(horaI);

  //horaF = get24hTime(fin)+':00';

  dia = diasSemana[fecha.getUTCDay() - 1];

  //console.log(dia);

  fechaElegida = $('.fechaCita').val();

  idCita = null;

  //console.log(fechaElegida);

  if (dia != '' && dia != undefined && inicio != '') {

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",

      data: { 'dia': dia, 'inicio': horaI, 'fechaElegida': fechaElegida, 'idCita': idCita, 'duracion':duracionSesionPop},

      dataType: "json",

      async: false,

      success: function (data) {

        var personal = document.getElementById('personalSiguiente');



        //personal.innerHTML="";

        if (data == null) {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

        } else {

          personal.innerHTML = "";

          personal.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione personal</option>`);

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

            personal.insertAdjacentHTML('beforeend', `<option value="` + data[i].IdUsuarios + `">` + data[i].NombreUsuario + `</option>`);

          }

        }

      },

      error: function (xhr, textStatus, errorThrown, error) {

        $('.personal').append("<option value='' disabled>Seleccione personal</option>");

      }

    });

  }

}



function buscarAdeudos(id, boton) {

  //console.log(id);

  $.ajax({

    url: base_url + "caja/Franquiciatario/CajaF/buscarAdeudos/",

    type: 'POST',

    dataType: 'json',

    data: { id: id },

    success: function (result) {

      //console.log(result);

      if (result == 'adeudo') {

        if ($('#div-cancelar').hasClass('cosmetologo')) {

          document.getElementById(boton).classList.remove('invisible');

          document.getElementById('div-cancelar').classList.add('col-md-3');

          document.getElementById('div-cancelar').classList.remove('col-md-4');

          document.getElementById('div-ver').classList.add('col-md-3');

          document.getElementById('div-ver').classList.remove('col-md-4');

          document.getElementById('div-guardar').classList.add('col-md-3');

          document.getElementById('div-guardar').classList.remove('col-md-4');

        } else {

          document.getElementById(boton).classList.remove('invisible');

          document.getElementById('div-cancelar').classList.add('div-boton');

          document.getElementById('div-cancelar').classList.remove('col-md-3');

          document.getElementById('div-eliminar').classList.add('div-boton');

          document.getElementById('div-eliminar').classList.remove('col-md-3');

          document.getElementById('div-adeudoE').classList.add('div-boton');

          document.getElementById('div-adeudoE').classList.remove('col-md-3');

          document.getElementById('div-ver').classList.add('div-boton');

          document.getElementById('div-ver').classList.remove('col-md-3');

          document.getElementById('div-guardar').classList.add('div-boton');

          document.getElementById('div-guardar').classList.remove('col-md-3');

        }

      } else {

        if ($('#div-cancelar').hasClass('cosmetologo')) {

          document.getElementById(boton).classList.add('invisible');

          document.getElementById('div-cancelar').classList.remove('col-md-3');

          document.getElementById('div-cancelar').classList.add('col-md-4');

          document.getElementById('div-ver').classList.remove('col-md-3');

          document.getElementById('div-ver').classList.add('col-md-4');

          document.getElementById('div-guardar').classList.remove('col-md-3');

          document.getElementById('div-guardar').classList.add('col-md-4');

        } else {

          document.getElementById(boton).classList.add('invisible');

          document.getElementById('div-cancelar').classList.remove('div-boton');

          document.getElementById('div-cancelar').classList.add('col-md-3');

          document.getElementById('div-eliminar').classList.remove('div-boton');

          document.getElementById('div-eliminar').classList.add('col-md-3');

          document.getElementById('div-ver').classList.remove('div-boton');

          document.getElementById('div-ver').classList.add('col-md-3');

          document.getElementById('div-guardar').classList.remove('div-boton');

          document.getElementById('div-guardar').classList.add('col-md-3');

        }

      }

    },//end success ajax response

    error: function () {

      console.log("No hay resultados");

      swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

        .then((value) => {

          location.href = "";

        });

    },

  });//end ajax   

}



var botonAdeudosE = document.getElementById("adeudoCliente");//document.querySelector('#adeudoCliente');

var botonAdeudosNC = document.querySelector('#adeudoClienteMC');

var botonNuevoCliente = document.querySelector('#nuevoClienteMC');

var botonGuardarCliente = document.querySelector('#guardarNuevoCliente');



$('#adeudoClienteMC').on('shown.bs.tooltip', function () {

  $('.tooltip-inner').css('background-color', 'black');

});



botonAdeudosNC.addEventListener('click', function (e) {

  var id = document.getElementById('idClienteO').value;

  $.ajax({

    url: base_url + "caja/Franquiciatario/CajaF/todosAdeudos/",

    type: 'POST',

    dataType: 'json',

    data: { id: id },

    success: function (result) {

      //console.log(result);

      ventanaAdeudos(result, rol);

    },//end success ajax response

    error: function (xhr, textStatus, errorThrown, error) {

      console.log(xhr.responseText);

      swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

        .then((value) => {

          // location.href="";

        });

    },

  });//end ajax  

});



botonAdeudosE.addEventListener('click', function (e) {

  var id = document.getElementById('id-cliente').innerHTML;

  //console.log('clickeo adeudo');

  $.ajax({

    url: base_url + "caja/Franquiciatario/CajaF/todosAdeudos/",

    type: 'POST',

    dataType: 'json',

    data: { id: id },

    success: function (result) {

      //console.log(result);

      ventanaAdeudos(result, rol);

    },//end success ajax response

    error: function (xhr, textStatus, errorThrown, error) {

      console.log(xhr.responseText);

      swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

        .then((value) => {

          // location.href="";

        });

    },

  });//end ajax  

});



botonNuevoCliente.addEventListener('click', function (e) {

  $('#modal-nuevoCliente').modal();

});



botonGuardarCliente.addEventListener('click', function (e) {

  var nombre = document.getElementById("nombreCompleto").value;

  var telefono = document.getElementById("celular").value;

  var correoE = document.getElementById("correoE").value;

  var datos = "nombre=" + nombre + "&telefono=" + telefono + "&correoE=" + correoE;

  if (nombre == "" && telefono == "" && correoE == "") {

    document.getElementById("ayudaNombre").innerHTML = "Ingresar los datos completos";

    document.getElementById("contenedorNc").classList.add("has-error");

  } else {

    //console.log(datos);

    document.getElementById("ayudaNombre").innerHTML = "";

    document.getElementById("contenedorNc").classList.remove("has-error");

    var nombreA = "nombre=" + nombre;

    $.ajax({

      url: base_url + "caja/Franquiciatario/CajaF/buscarCliente/",

      type: 'POST',

      dataType: 'json',

      data: nombreA,

      success: function (result) {

        console.log(result);

        if (result == 1) {

          guardaCliente(datos, nombre);

        } else {

          swal({

            title: "¡Nombre de cliente existente!",

            text: "¿Está seguro de guardar esté cliente?",

            icon: "warning",

            buttons: ["Cancelar", "Aceptar"],

            confirm: true,

          })

            .then((confirm) => {

              if (confirm) {

                //console.log('acepto');

                guardaCliente(datos, nombre);

              }

            });

        }



      },//end success ajax response

      error: function () {

        console.log("No hay resultados");

        swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

          .then((value) => {

            location.href = "";

          });

      },

    });//end ajax   

  
      cambioCliente();
  }

}); //Fin botonNuevoCliente

/*botonCancelarNuevoCliente.addEventListener('click', function(e){

  document.getElementById("nombreCompleto").value="";

  document.getElementById("celular").value="";

});*/



function guardaCliente(datos, nombre) {

  $.ajax({

    url: base_url + "caja/Franquiciatario/CajaF/guardarCliente/",

    type: 'POST',

    dataType: 'json',

    data: datos,

    success: function (id) {
      $('#modal-nuevoCliente').modal('hide');

      $.notify("CLIENTE GUARDADO CORRECTAMENTE !!", {

        position: "top center",

        className: 'success cambia-letra',

      });

      if (id != '' && nombre != '') {

        $(function () {

          $("#clienteNC").keyup();

        });

        $('[name="idClienteO"]').val(id);

        $('[name="clienteNC"]').val(nombre);

        $('[name="nombreClienteO"]').val(nombre);


      }

      document.getElementById("nombreCompleto").value = "";

      document.getElementById("celular").value = "";

    },//end success ajax response

    error: function () {

      //console.log("No hay resultados");

      swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

        .then((value) => {

          location.href = "";

        });

    },

  });//end ajax   

}



function ventanaAdeudos(result, rol) {

  $("#listaAdeudos tr").remove();

  //console.log(result);

  //console.log(rol);

  var fila, tr, editar;

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

    if (result[i] != '') {

      if (rol == 2) {

        switch (result[i][6]) {

          case 'PROD':

            editar = "<a href='" + base_url + "pagos/franquiciatario/PagosF/editar/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'SA':

            editar = "<a href='" + base_url + "pagos/franquiciatario/PagosF/editar2/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'SG':

            editar = "<a href='" + base_url + "pagos/franquiciatario/PagosF/editar3/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'PROM':

            editar = "<a href='" + base_url + "pagos/franquiciatario/PagosF/editarPro/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          default:

            editar = "";

            break;

        }

      } else if (rol == 3) {

        switch (result[i][6]) {

          case 'PROD':

            editar = "<a href='" + base_url + "pagos/cosmetologo/PagosC/editar/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'SA':

            editar = "<a href='" + base_url + "pagos/cosmetologo/PagosC/editar2/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'SG':

            editar = "<a href='" + base_url + "pagos/cosmetologo/PagosC/editar3/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          case 'PROM':

            editar = "<a href='" + base_url + "pagos/cosmetologo/PagosC/editarPro/" + result[i][0] + "/" + result[i][7] + "' class='label label-primary'><span class='glyphicon glyphicon-pencil'></a></span>";

            break;

          default:

            editar = "";

            break;

        }

      }

      fila = "<tr><td class='invisible'>" + result[i][0] + "</td><td>" + result[i][8] + "</td><td>" + result[i][2] + "</td><td>$ " + result[i][3] + "</td><td>$ " + result[i][4] + "</td><td>" + editar + "</td><tr>";

      tr = document.createElement("TR");

      tr.innerHTML = fila;

      document.getElementById("listaAdeudos").appendChild(tr);

      //console.log(result[i][8]);

    }

  }

  $("#modal-adeudos").modal();

}



function guardaCliente(datos, nombre) {

  //console.log(nombre);

  $.ajax({

    url: base_url + "caja/Franquiciatario/CajaF/guardarCliente/",

    type: 'POST',

    dataType: 'json',

    data: datos,

    success: function (id) {

      //console.log(id);

      $('#modal-nuevoCliente').modal('hide');

      $.notify("CLIENTE GUARDADO CORRECTAMENTE !!", {

        position: "top center",

        className: 'success cambia-letra',

      });

      if (id != '' && nombre != '') {

        $(function () {

          $("#clienteNC").keyup();

        });

        $('[name="idClienteO"]').val(id);

        $('[name="clienteNC"]').val(nombre);

        $('[name="nombreClienteO"]').val(nombre);



      }

      document.getElementById("nombreCompleto").value = "";

      document.getElementById("celular").value = "";

    },//end success ajax response

    error: function () {

      //console.log("No hay resultados");

      swal("¡No se pudo conectar con el servidor!", "contacte al departamento de sistemas", "error")

        .then((value) => {

          location.href = "";

        });

    },

  });//end ajax   

}



function cambioCliente() {

  var id = document.getElementById('idClienteO').value;

  //alert("cambio cliente",id);

  var venta = document.getElementById('tratamientoNC');

  var todosServicios = $.serviciosTodos();



  if (id != '') {

    var todasVentas = $.ventas();

    venta.innerHTML = "";

    venta.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione servicio</option>`);

    if (todasVentas != false) {

      venta.insertAdjacentHTML('beforeend', `<optgroup label="Servicios vendidos">`);



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

        venta.insertAdjacentHTML('beforeend', `<option value="` + todasVentas[i].id + `"><b>` + todasVentas[i].title + '</b><br>, Fecha venta:' + todasVentas[i].fVenta + `</option>`);

      }

      venta.insertAdjacentHTML('beforeend', `</optgroup>`);

    }

  }



  venta.insertAdjacentHTML('beforeend', `<optgroup label="Servicios generales">`);

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

    //console.log(todosServicios[i]);

    if (todosServicios[i].tipo == "sergen") {

      //console.log(todosServicios[i]);

      venta.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SG">` + todosServicios[i].title + `</option>`);

    }

  }

  venta.insertAdjacentHTML('beforeend', `</optgroup>`);



  venta.insertAdjacentHTML('beforeend', `<optgroup label="Servicios franquicia">`);

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

    if (todosServicios[i].tipo == "serfranq") {

      //console.log(todosServicios[i]);

      venta.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SF">` + todosServicios[i].title + `</option>`);

    }

  }

  venta.insertAdjacentHTML('beforeend', `</optgroup>`);



  venta.insertAdjacentHTML('beforeend', `<optgroup label="Promociones">`);

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

    if (todosServicios[i].tipo == "promo") {

      //console.log(todosServicios[i]);

      venta.insertAdjacentHTML('beforeend', `<option value="` + todosServicios[i].id + `SP">` + todosServicios[i].title + `</option>`);

    }

  }

  venta.insertAdjacentHTML('beforeend', `</optgroup>`);

}



//ventas

$.extend({

  ventas: function () {

    var result = false;

    //var href = location.href;

    var id = document.getElementById('idClienteO').value;

    if (id == "") {

      id = document.getElementById('idClientEdit').value;

    }

    //alert(id+"*");

    $.ajax({

      type: "POST",

      url: base_url + "clientes/franquiciatario/ClienteF/servVendidos/" + id,

      dataType: "json",

      async: false,

      success: function (data) {

        var serviciosVendidos = [];

        for (var i = 0; i < data["consulta1"].length; i++) {

          serviciosVendidos[i] = {

            'idServicio': data["consulta1"][i].serviciosfranquicias_IdServiciosFranquicias,

            'id': data["consulta1"][i].IdVentasServicios + "VF",

            'title': data["consulta1"][i].NombreServicio,

            'cantidad': data["consulta1"][i].SesionesS,

            'fVenta': data["consulta1"][i].FechaVenta

          };

        }



        for (var i = 0; i < data["consulta2"].length; i++) {

          serviciosVendidosG = {

            'idServicio': data["consulta2"][i].serviciosfranquicias_IdServiciosFranquicias,

            'id': data["consulta2"][i].IdVentasServicios + "VG",

            'title': data["consulta2"][i].NombreServicio,

            'cantidad': data["consulta2"][i].SesionesS,

            'fVenta': data["consulta2"][i].FechaVenta

          };

          serviciosVendidos.push(serviciosVendidosG);

        }



        for (var i = 0; i < data["consulta3"].length; i++) {

          serviciosVendidosP = {

            'idServicio': data["consulta3"][i].promociones_IdPromociones,

            'id': data["consulta3"][i].IdVentasPromociones + "VP",

            'title': data["consulta3"][i].NombrePromocion,

            'cantidad': data["consulta3"][i].SesionesPr,

            'fVenta': data["consulta3"][i].FechaVenta

          };

          serviciosVendidos.push(serviciosVendidosP);

        }

        result = serviciosVendidos;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.error);

      }

    });

    return result;

  }

});



//ventas2

$.extend({

  ventas2: function () {

    var result = false;

    //var href = location.href;

    var id = document.getElementById('idClienteEditar').value;



    $.ajax({

      type: "POST",

      url: base_url + "Clientes/Establecimiento/Cliente/ventasClient/" + id,

      dataType: "json",

      async: false,

      success: function (data) {

        var serviciosVendidos = [];

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

          var nombre;

          if (data[i].descripcionTarjetasRegalo != null) {

            nombre = data[i].servicios_nombreServicios + ': ' + data[i].descripcionTarjetasRegalo;

          } else {

            nombre = data[i].servicios_nombreServicios;

          }



          serviciosVendidos[i] = {

            'idServicio': data[i].servicios_idServicios,

            'id': data[i].idDetalleVentas,

            'title': nombre,

            'cantidad': data[i].cantidadDetalleVentas,

            'fVenta': data[i].fechaCreacionDetalleVentas

          };

        }

        result = serviciosVendidos;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//serviciosTodos

$.extend({

  serviciosTodos: function () {

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/ServProm/",

      dataType: "json",

      async: false,

      success: function (data) {

        //console.log(data);

        var servicios = [];

        var serviciosF = [];

        var serviciosP = [];



        for (var i = 0; i < data["sergen"].length; i++) {

          servicios[i] = {

            'tipo': 'sergen',

            'id': data["sergen"][i].Codigo_Servicios,

            'title': data["sergen"][i].NombreServicio

          };

        }



        for (var i = 0; i < data["serfranq"].length; i++) {

          serviciosF = {

            'tipo': 'serfranq',

            'id': data["serfranq"][i].IdServiciosFranquicias,

            'title': data["serfranq"][i].NombreServicio

          };

          servicios.push(serviciosF);

        }



        for (var i = 0; i < data["promociones"].length; i++) {

          serviciosP = {

            'tipo': 'promo',

            'id': data["promociones"][i].IdPromociones,

            'title': data["promociones"][i].NombrePromocion

          };

          servicios.push(serviciosP);

        }

        //console.log(servicios);

        result = servicios;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



function onchangeSesiones() {

  var tipo = document.getElementById('tratamientoNC').value;

  if (tipo == '' || tipo == "") {

    tipo = document.getElementById('nombreServicioEditar').value;

  }

  var nuevoValor = tipo.slice(-2);

  var id = tipo.slice(0, -2);

  //alert(id+'***'+nuevoValor);



  $.ajax({

    type: "POST",

    url: base_url + "myagenda/franquiciatario/ListacitasF/sesiones/",

    data: { 'tipo': nuevoValor, 'id': id },

    dataType: "json",

    async: false,

    success: function (data) {

      //console.log(data);

      //sumarDuracion(data);

      var sesion = document.getElementById('numeroSesiones');

      sesion.innerHTML = "";

      for (var i = 1; i <= data.sesionesServicio; i++) {

        sesion.insertAdjacentHTML('beforeend', `<option value="` + i + `">` + i + `</option>`);

      }

      //console.log(data.duracionServicio);

      document.getElementById('duracionNC').innerHTML = data.duracionServicio + " min";

    }

  });

}



//idServicio

$.extend({

  idServicio: function () {

    var result = false;

    var tipo = document.getElementById('tratamientoNC').value;

    if (tipo == "") {

      tipo = document.getElementById('selecttratamiento').value;

    }

    var nuevoValor = tipo.slice(-2);

    var id = tipo.slice(0, -2);



    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/sesiones/",

      data: { 'tipo': nuevoValor, 'id': id },

      dataType: "json",

      async: false,

      success: function (data) {

        var idServicios = data['idServicio'];

        result = idServicios;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//horarioNoLab

$.extend({

  horarioNoLab: function () {

    var result = false;



    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/horarioNoLab/",

      dataType: "json",

      async: false,

      success: function (data) {

        var businessHours = [];

        var dia1 = [0];

        var dia2 = [1];

        var dia3 = [2];

        var dia4 = [3];

        var dia5 = [4];

        var dia6 = [5];

        var dia7 = [6];



        if (data.domingo === 1) {

          var domingo = { daysOfWeek: dia1, startTime: data.horaIniDomingo, endTime: data.horaFinDomingo };

          businessHours.push(domingo);

        }



        if (data.lunes == 1) {

          var lunes = { daysOfWeek: dia2, startTime: data.horaIniLunes, endTime: data.horaFinLunes };

          businessHours.push(lunes);

        }



        if (data.martes == 1) {

          var martes = { daysOfWeek: dia3, startTime: data.horaIniMartes, endTime: data.horaFinMartes };

          businessHours.push(martes);

        }



        if (data.miercoles == 1) {

          var miercoles = { daysOfWeek: dia4, startTime: data.horaIniMiercoles, endTime: data.horaFinMiercoles };

          businessHours.push(miercoles);

        }



        if (data.jueves == 1) {

          var jueves = { daysOfWeek: dia5, startTime: data.horaIniJueves, endTime: data.horaFinJueves };

          businessHours.push(jueves);

        }



        if (data.viernes == 1) {

          var viernes = { daysOfWeek: dia6, startTime: data.horaIniViernes, endTime: data.horaFinViernes };

          businessHours.push(viernes);

        }



        if (data.sabado == 1) {

          var sabado = { daysOfWeek: dia7, startTime: data.horaIniSabado, endTime: data.horaFinSabado };

          businessHours.push(sabado);

        }

        result = businessHours;

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



//infoLaboral

$.extend({

  infoLaboral: function () {

    var result = false;

    var fecha, diasSemana, dia;

    fecha = document.getElementById('fechaNC').value;

    //console.log(fecha);

    if (fecha == '') {

      //console.log(fecha);

      fecha = document.getElementById('txtFecha').value;

    }

    //console.log(fecha);

    //alert("**infoLaboral**");

    //alert(fecha);



    fecha = fecha.split('-').reverse().join('/');

    //console.log(fecha);

    fecha = new Date(fecha);

    //console.log(fecha);

    diasSemana = new Array("Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo");

    //console.log(diasSemana);

    dia = diasSemana[fecha.getUTCDay() - 1];

    //console.log(dia);

    //alert(dia);

    $.ajax({

      type: "POST",

      url: base_url + "myagenda/franquiciatario/ListacitasF/infoLaboral/",

      data: { 'dia': dia },

      dataType: "json",

      async: false,

      success: function (data) {

        if (data != false) {

          var horario = [];

          horario = {

            'inicioDiaL': data.horaInicio,

            'finDiaL': data.horaFin

          };

          result = horario;

        } else {

          result = false;

        }

      },

      error: function (xhr, textStatus, errorThrown, error) {

        console.log(xhr.responseText);

      }

    });

    return result;

  }

});



function horaTimePicker2() {

  /****************TIMEPICKERT**********************/

  var fecha = document.getElementById('fechaNC').value;

  var fecha2 = document.getElementById('fechaNC2').value;

  if (fecha == '') {

    //console.log(fecha);

    fecha = document.getElementById('txtFecha').value;

  }

  //console.log(fecha2);

  //console.log(document.getElementById('').value);

  if (fecha2 != '') {

    if (fecha2 != fecha) {

      $('#inicioNC').timepicker('remove').timepicker();

      //$('#finNC').timepicker('remove').timepicker();

      $('#fecha2').val(fecha);

      // console.log(fecha2);

      var infoLaboral = $.infoLaboral();

      var inicioL = infoLaboral.inicioDiaL;

      var finL = infoLaboral.finDiaL;



      $('#inicioNC').val(inicioL);

      //$('#finNC').val(finL);



      var v1 = inicioL.slice(0, -3);

      var v2 = finL.slice(0, -3);

      /**************************************************/

      $('.timepicker').timepicker({

        timeFormat: 'h:i A',

        minTime: tConvert(v1),//'12:00 AM',

        maxTime: tConvert(v2),//'11:59 PM',

        startTime: tConvert(v1)

      });

    }

  } else {

    $('#fecha2').val(fecha);

    // console.log(fecha2);

    var infoLaboral = $.infoLaboral();

    var inicioL = infoLaboral.inicioDiaL;

    var finL = infoLaboral.finDiaL;



    var v1 = inicioL.slice(0, -3);

    var v2 = finL.slice(0, -3);

    /**************************************************/

    $('.timepicker').timepicker({

      timeFormat: 'h:i A',

      minTime: tConvert(v1),//'12:00 AM',

      maxTime: tConvert(v2),//'11:59 PM',

      startTime: tConvert(v1)

    });

  }

}



function fechaHoraAct() {

  var momentoActual = new Date()

  var hora = momentoActual.getHours()

  var minuto = momentoActual.getMinutes()

  var segundo = momentoActual.getSeconds()

  var dia = momentoActual.getDate()

  var mes = momentoActual.getMonth() + 1

  var anio = momentoActual.getFullYear()

  if (dia < 10) {

    dia = '0' + dia;

  }

  if (mes < 10) {

    mes = '0' + mes;

  }

  var str_segundo = new String(segundo)

  if (str_segundo.length == 1)

    segundo = "0" + segundo



  var str_minuto = new String(minuto)

  if (str_minuto.length == 1)

    minuto = "0" + minuto



  var str_hora = new String(hora)

  if (str_hora.length == 1)

    hora = "0" + hora



  var horaImprimible = hora + ":" + minuto + ":" + segundo

  var fecha = anio + "-" + mes + "-" + dia;

  var fecha = fecha + " " + horaImprimible;

  return fecha;

}



var botonVerCliente= document.querySelector('#verCliente');



botonVerCliente.addEventListener('click', function(e){

  var cliente=document.getElementById('idClientEdit').value;

  /*console.log(cliente);

  console.log(cliente, rol);*/

  if(rol==2){

    location.href=base_url+'/clientes/franquiciatario/ClienteF/editar/'+cliente;

  }else if(rol==3){

    location.href=base_url+'/clientes/cosmetologo/ClienteC/editar/'+cliente;

  }

});



function modalAgregar() {
    limpiarM();
  $('#modal-agendar').modal();

}



/*

function duracion(dt1, dt2){

  var hora1 = (dt2).split(":"),

  hora2 = (dt1).split(":"),

  t1 = new Date(),

  t2 = new Date();

  t1.setHours(hora1[0], hora1[1], hora1[2]);

  t2.setHours(hora2[0], hora2[1], hora2[2]);

  t1.setHours(t1.getHours() - t2.getHours(), t1.getMinutes() - t2.getMinutes(), t1.getSeconds() - t2.getSeconds());

  // document.getElementById('duracion').value=(t1.getHours() ? t1.getHours() + (t1.getHours() > 1 ? " horas" : " hora") : "") + (t1.getMinutes() ? "  " + t1.getMinutes() + (t1.getMinutes() > 1 ? " minutos" : " minuto") : "") + (t1.getSeconds() ? (t1.getHours() || t1.getMinutes() ? " y " : "") + t1.getSeconds() + (t1.getSeconds() > 1 ? " segundos" : " segundo") : "")

  return (t1.getHours() ? t1.getHours() + (t1.getHours() > 1 ? " hrs" : " hrs") : "") + (t1.getMinutes() ? "  " + t1.getMinutes() + (t1.getMinutes() > 1 ? " min" : " min") : "") + (t1.getSeconds() ? (t1.getHours() || t1.getMinutes() ? " y " : "") + t1.getSeconds() + (t1.getSeconds() > 1 ? " seg" : " seg") : "");

}*/