//'use strict';
var validacion=false;
addEventListener("DOMContentLoaded", event => {
    $('.js-example-basic-single').select2({
      width:'100%',
      language: {
      noResults: function() {
        return "No hay resultado";        
      },
      searching: function() {
        return "Buscando...";
      }
    }
    });

    let vista=5;
    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";
    }

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

    var 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: 'resourceTimeGrid', 
        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) {
            //alert("Hello");
            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) {
      //alert("contenidoSelect");
      limpiarM();
      var inicio=moment(arg.startStr).format('YYYY-MM-DD HH:mm:ss');
      var tipo=calendar.view.type;
      //alert("antes del if")
      //alert(tipo)
      //alert(inicio)
      if(tipo!='dayGridMonth' && inicio<(moment().format('YYYY-MM-DD HH:mm:ss'))) {  
        //alert("tipo!='dayGridMonth'")   
        newCita(arg,inicio);
        return true;
      }else if(tipo=='dayGridMonth' && inicio<(moment().format('YYYY-MM-DD HH:mm:ss'))){
        //alert("tipo=='dayGridMonth'")
        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){
      //alert("entrando a new cita")
        if(validacion==false){
        //  alert("validación 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{
          //alert("validacion true")
          $('.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.value+'<br> Servicio: '+nombreServicioPop.value+'<br>'+
                    'Sesión: '+numeroSesionPop.value+'<br>'+
                    'Fecha <input class="form-control date-picker fechaCita" data-provide="datepicker" data-date-format="dd-mm-yyyy" 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();">'+
                    'Personal <select class="form-control personal" id="personalSiguiente" name="personalSiguiente"></select>'+
                    'Cabina <select class="form-control selectpicker cabinaC"></select>'+
                    'Estado <select class="form-control selectpicker estadosC"></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 cerrarPop boton-modal-cerrar letra-boton-pop">Cancelar</button>'+
                    '<button type="button" class="col-md-5 agendar pull-right boton-modal-actualizar letra-boton-pop">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 todasAreas=$.cabinas();
              $('.cabinaC').append("<option value='' selected disabled>Seleccione área</option>");
              for(var i=0; i<todasAreas.length; i++)
              {
                  $('.cabinaC').append(`<option data-content="<i class='fa fa-circle' style='color:`+todasAreas[i].eventColor+`'> </i>`+todasAreas[i].title+`">`+todasAreas[i].id+`</option>`);
              }
              $('.cabinaC').val(idAreas.value);
            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(idEstados.value);
            $('.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();
        }  
    }

    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 agendar(valor){
      var personal=document.getElementById('personal');
      var todosPersonal=$.personal();
      var area=document.getElementById('area');
      var todasCabinas=$.cabinas();
      area.innerHTML="";
      area.insertAdjacentHTML('beforeend', `<option value="" selected disabled>Seleccione área</option>`);

      for(var i=0; i<todasCabinas.length; i++){
        area.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 fechaCitaC(){
      //alert("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+"*"+horaF+"-"+horaI+"*"+fecha);
      if (dia != '' && dia != undefined && inicio != '' && fin != '') {
        $.ajax({
            type: "POST",
            url:base_url+"myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",
            data:{'dia':dia, 'inicio':horaI, 'fin':horaF, '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 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)
         });   
     }
   }

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

    var 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: 'resourceTimeGrid', 
        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) {
            //alert("Hello");
            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{
        $('.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.value+'<br> Servicio: '+nombreServicioPop.value+'<br>'+
                  'Sesión: '+numeroSesionPop.value+'<br>'+
                  'Fecha <input class="form-control date-picker fechaCita" data-provide="datepicker" data-date-format="dd-mm-yyyy" 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();">'+
                  'Personal <select class="form-control personal" id ="personalSiguiente" name="personalSiguiente"></select>'+
                  'Área <select class="form-control selectpicker cabinaC"></select>'+
                  'Estado <select class="form-control selectpicker estadosC"></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 cerrarPop boton-modal-cerrar letra-boton-pop">Cancelar</button>'+
                  '<button type="button" class="col-md-5 agendar pull-right boton-modal-actualizar letra-boton-pop">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(idAreas.value);
        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(idEstados.value);
        $('.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();
      }
    }
    //Filtra por cabina
    $('#filtrarCabinas').click(function() {
        var idCabina = $('#queryCabina').val();
        if(idCabina != ''){
            $.ajax({
                url:base_url+"myagenda/franquiciatario/listacitasF/getEventos",
                type:'POST',
                dataType: 'json',
                data:{codecabina : idCabina},
                success:function(responseCabina){
                    // Access the JSON response //
                    //console.log("aqui buscacabina");
                    var json_events = responseCabina;
                    
                    var events = calendar.getEventSources('calendarF');
                    
                    events.forEach(event => { 
                      event.remove();
                      event.refetch();
                    });

                    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();
                    alert("No hay resultados para " + selectedOption.toUpperCase());
                },
            });//end ajax
        }//end if
        else {
          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();
      //console.log(nameclient);
      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){
                      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 {  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 {  
                                  //
                                  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(){
                  alert("No hay resultados para el nombre " + nameclient.toUpperCase());
              },                       
          });//end ajax
          return false; //para q no haga reload 
      }// end if
      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);                   
      }
    });

    $("#clienteNC").on("keyup", function() {
              
      if ($("#clienteNC").val() != $("#nombreClienteO").val()) {
         document.getElementById("idClienteO").value="";
         document.getElementById("adeudoClienteMC").classList.add('invisible');
       }
    });

    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;
      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  
    });

    botonAdeudosE.addEventListener('click', function(e){
      //alert("clickeo");
      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();
      console.log('sdsds');
    });

    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   
      }
    }); //Fin botonNuevoCliente
    /*botonCancelarNuevoCliente.addEventListener('click', function(e){
      document.getElementById("nombreCompleto").value="";
      document.getElementById("celular").value="";
    });*/

    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 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   
    }

    var guardarCita = document.getElementById('guardarCita');
    guardarCita.addEventListener('click', function(){
      //alert('hello');
      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;
    
        //alert(JSON.stringify(data));
     
        AgendarCita(guardarCita, datos);
      }
    });

    //  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,
          }

          console.log(datos);
          // alert(datos);
          // alert('idDetalle:'+idActualizar.value);
          // alert('idCliente:'+idClienteEditar.value);
          // alert('idServicio'+idServicioEdit);
          // alert('idEstados:'+estadoEditar.value);
          // alert('idAreas:'+document.getElementById('areaEditar').value);
          // alert('numeroSesiones:'+numeroSesionesEditar.length);
          // alert('numeroSesion:'+numeroSesionesEditar.value);
          // alert('fecha:'+fechaEditar.value);
          // alert('horaInicio:'+moment(horaIEditar.value, ["h:mm A"]).format("HH:mm:ss"));
          // alert('horaFina:'+moment(horaFEditar.value, ["h:mm A"]).format("HH:mm:ss"));
          // alert('idUsuario:'+personalEditar.value);
          // alert('comentario:'+comentariosEditar.value);
        // alert('fechaActual:'+fecha.value);

          $.post(base_url+"myagenda/franquiciatario/ListacitasF/editarCita/",
          datos, function(result) {
            console.log(result);
            $('#modalEvento').modal('hide');
            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 horas',
                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(){
                                    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){
                            // console.log(datos);
                            // alert(datos);
                              $('#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(){
                                  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
              })

              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(){
                  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',
                })
            }
          });

      }
    });

    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();
        /*idCita.value = datos[0].IdAgenda;
        idEstados.value = datos[0].idEstado;
        cabinaC.value = datos[0].idCabina;
        numeroSesionPop.value = Number(datos[0].SesionActual)+1;
        idUsuario.value = datos[0].idPersonal;
        nombreClientePop.value = datos[0].nombreCliente;
        nombreServicioPop.value = datos[0].nombreServicio;

        console.log(idCita);
        console.log(idEstados);
        console.log(cabinaC);
        console.log(numeroSesionPop);
        console.log(idUsuario);
        console.log(nombreClientePop);
        console.log(nombreServicioPop);
        personalDisponible();*/
      });
    });
    
    function AgendarCita(guardarCita, datos){
    $.post(base_url+"myagenda/franquiciatario/ListacitasF/buscarCitasAgenda",
         datos, function(res){
    
         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!='' && fin!='') {
           // 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();
                                idCita.value = datos[2].idCita;
                                idEstados.value = datos[2].idEstados;
                                idAreas.value = datos[2].idAreas;
                                numeroSesionPop.value = datos[2].numeroSesion;
                                idUsuario.value = datos[2].idUsuario;
                                nombreClientePop.value = datos[2].nombreCliente;
                                nombreServicioPop.value = datos[2].nombreServicio;
                                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();
                           idCita.value = datos[2].idCita;
                           idEstados.value = datos[2].idEstados;
                           idAreas.value = datos[2].idAreas;
                           numeroSesionPop.value = datos[2].numeroSesion;
                           idUsuario.value = datos[2].idUsuario;
                           nombreClientePop.value = datos[2].nombreCliente;
                           nombreServicioPop.value = datos[2].nombreServicio;
                           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();
                                idCita.value = datos[2].idCita;
                                idEstados.value = datos[2].idEstados;
                                idAreas.value = datos[2].idAreas;
                                numeroSesionPop.value = datos[2].numeroSesion;
                                idUsuario.value = datos[2].idUsuario;
                                nombreClientePop.value = datos[2].nombreCliente;
                                nombreServicioPop.value = datos[2].nombreServicio;
                                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);            
                     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();
                           idCita.value = datos[2].idCita;
                           idEstados.value = datos[2].idEstados;
                           idAreas.value = datos[2].idAreas;
                           numeroSesionPop.value = datos[2].numeroSesion;
                           idUsuario.value = datos[2].idUsuario;
                           nombreClientePop.value = datos[2].nombreCliente;
                           nombreServicioPop.value = datos[2].nombreServicio;
                           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;
                       }          
                   });
                 }
           }
         }       
       });
    }
    
});

  //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;
      }
  });

  //cabinas
  $.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;
    }
  });

  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');    
  }

  //eventosCabina
  $.extend({
      eventosCabina: function() {  
      var result = false;
      $.ajax({
          type: "POST",
          url:base_url+"myagenda/franquiciatario/listacitasF/getEventos",
          data:{codecabina : "all"},
          dataType: "json",
          async: false,
          success: function(data) {
            console.log(data);
            result = dataCalendar(data, "cabinas");
          },
          error: function(xhr, textStatus, errorThrown, error) {
              console.log(xhr.responseText);
          }
      });
      return result;
    }
  });

  //eventosPersonal
  $.extend({
    eventosPersonal: function() {
      
    var result = false;
    $.ajax({
        type: "POST",
        url:base_url+"myagenda/franquiciatario/listacitasF/getEventos",
        dataType: "json",
        data:{codecabina : "all"},
        async: false,
        success: function(data) {
          //console.log(dataCalendar(data, "personal"));
          result = dataCalendar(data, "personal");
        },
        error: function(xhr, textStatus, errorThrown, error) {
            console.log(xhr.responseText);
        }
    });
    return result;
  }
  });

  function dataCalendar(data, vista){
    console.log("datacalendar");
    console.log(data);
    var eventos=[];
          if(data!=null){         
            for(var i=0; i<data.length; 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;
  }

  //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 cambioCliente(){
    var id = document.getElementById('idClienteO').value;
    //alert(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;
  }
  });

  //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";
      }
    });
  }

  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{
     // 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 fechaCitaCO() {
    //alert("antes de fechacitaC");
    var fecha, inicio, fin, diasSemana, horaI, horaF, dia, fechaElegida, idCita, idPersonal;
        fecha = document.getElementById('fechaNC').value;
        inicio = document.getElementById('inicioNC').value;
        fin = document.getElementById('finNC').value;
        if (fecha=='' ) {
          console.log(fecha);
          fecha = document.getElementById('txtFecha').value;
          inicio = document.getElementById('txtHoraIni').value;
          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+"*"+horaF+"-"+horaI+"*"+fecha);
        if (dia != '' && dia != undefined && inicio != '' && fin != '') {
          $.ajax({
              type: "POST",
              url:base_url+"myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",
              data:{'dia':dia, 'inicio':horaI, 'fin':horaF, 'fechaElegida':fechaElegida, 'idCita':idCita, 'idPersonal':idPersonal},
              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 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 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 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');
    }

  });
}

//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;
}
});

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") : "");
}

$.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;
}
});

function personalDisponible(){
  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';
  horaF = get24hTime(fin)+':00';
  dia = diasSemana[fecha.getUTCDay()-1];
  fechaElegida = $('.fechaCita').val();
  idCita = null; 
 
  if (dia != '' && dia != undefined && inicio != '' && fin != '') {
    $.ajax({
        type: "POST",
        url:base_url+"myagenda/franquiciatario/ListacitasF/personalExistentesCambio/",
        data:{'dia':dia, 'inicio':horaI, 'fin':horaF, 'fechaElegida':fechaElegida, 'idCita':idCita},
        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>");
        }
    });
  }
}

//  boton para guardar cita
/*var guardarCita = document.getElementById('guardarCita');
guardarCita.addEventListener('click', function(){
if(validacionCita()==true){
   var tipo = document.getElementById('tratamientoNC').value;
   var nuevoValor = tipo.slice(-1);
   var id = tipo.slice(0,-1);

   var idDetalle = 0;
   if (nuevoValor == 'V') {
     idDetalle = id;
     //id=$.idServicio();
   }

   var datos={
       idCliente:document.getElementById('idClienteO').value,
       nombreCliente:document.getElementById('clienteNC').value,
       idServicio:id,  
       tipo:nuevoValor,  
       idDetalleVentas: idDetalle,    
       idEstados:document.getElementById('statusNC').value,
       idAreas:document.getElementById('cabinaNC').value,// area.value,
       numeroSesiones:numeroSesiones.length,
       numeroSesion:numeroSesiones.value,
       fecha:document.getElementById('fechaNC').value,
       horaInicio:moment(horaI.value, ["h:mm A"]).format("HH:mm:ss"),
       horaFina:moment(horaF.value, ["h:mm A"]).format("HH:mm:ss"),
       idUsuario:document.getElementById('cosmetologoNC').value,//personal.value,
       comentario:document.getElementById('observacionesNC').value,
   }
   
   guardarCita.disabled=true;

   alert(guardarCita, datos);

   //AgendarCita(guardarCita, datos);
 }
});*/

function validacionCita(){
  var tipo = document.getElementById('tratamientoNC').value;
  
  if(tipo =="") {
    alert("Ingrese servicio");
    //$('#tratamientoNC').notify('Selecione un servicio');
    return false
  }else if(document.getElementById('fechaNC').value=="") {
      alert("Ingrese fecha");
      //$('#fechaNC2').notify('Ingrese fecha');
      return false;
  }else if(document.getElementById("inicioNC").value=="") {
    alert("Ingrese hora inicio")
    //$('#inicioNC').notify('Ingrese hora inicio');
    return false;
  }else if(document.getElementById("finNC").value=="") {
    alert("Ingrese hora fin")
    //$('#finNC').notify('Ingrese hora fin');
    return false;
  }else if(document.getElementById("cosmetologoNC").value=="")  {
    alert("Ingrese cosmetolog@")
    //$('#cosmetologoNC').notify('Seleccione personal');
    return false;
  }else if(document.getElementById("cabinaNC").value=="") {
    alert("Ingrese cabina")//$('#cabinaNC').notify('Seleccione área');
    return false;
  }else{
    return true;
  }  
}

function validacionCitaUpdate(){
  //alert("VALIDACIÓN");
  var tipo = document.getElementById('selecttratamiento').value;
 if (tipo =="" ) {
    alert("Ingrese servicio");
    return false;
  } else if(document.getElementById('txtFecha').value=="") {
    alert("Ingrese fecha");
    //$('#fechaNC2').notify('Ingrese fecha');
    return false;
  }else if(document.getElementById("txtHoraIni").value=="") {
    alert("Ingrese hora inicio")
    //$('#inicioNC').notify('Ingrese hora inicio');
    return false;
  }else if(document.getElementById("txtHoraFin").value=="") {
    alert("Ingrese hora fin")
    //$('#finNC').notify('Ingrese hora fin');
    return false;
  }else if(document.getElementById("txtUsuario").value=="")  {
    alert("Ingrese cosmetolog@")
    //$('#cosmetologoNC').notify('Seleccione personal');
    return false;
  }else if(document.getElementById("txtBandaRP").value=="") {
    alert("Ingrese cabina")//$('#cabinaNC').notify('Seleccione área');
    return false;
  }else{
    return true;
  }  
}

$.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;
}
});

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;
}

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);
  }   
}

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').value='';
  document.getElementById('idServicio').value='';
  document.getElementById('idPromocion').value='';
  document.getElementById('cosmetologoNC').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 modalAgregar() {
  $('#modal-agendar').modal();
}