'use strict';

window.addEventListener( 'load', function( event ) {  
    $('.js-example-basic-single').select2({
      width:'100%',
      language: {
      noResults: function() {
        return "No hay resultado";        
      },
      searching: function() {
        return "Buscando...";
      }
    }
    });

    if ($("#txtcliente").val()== $("#cliente1").val()) {
        buscarAdeudos($('#idcliente').val());
    }

    $(".readonly").keydown(function(e){
        e.preventDefault();
    });

    $.fn.datepicker.dates['en'] = {
        days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
        daysShort: ["Dom", "Lun", "Mar", "Mier", "Jue", "Vier", "Sab"],
        daysMin: ["D", "L", "Ma", "Mi", "J", "V", "S"],
        months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
        monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
        today: "Today",
        clear: "Clear",

        weekStart: 0
    };

    $.datepicker.setDefaults($.datepicker.regional['en']);
    console.log("sdafasdfasdf");
  
    var today = new Date();
    /* $(".date-picker").attr("data-date-end-date","today+2m");*/
    $(".date-picker").datepicker({
          isRTL: false,
          format: "yyyy-mm-dd",
          /* yearRange: "0000",*/
          viewMode: "months,days", 
          minViewMode: "months,days",
          autoclose: true,
      startDate: new Date(today.getFullYear(), today.getMonth(), today.getDate()),
      todayHighlight: true,
      /*setDate:"getDate",*/
      /*startDate: today,*/
      /*endDate: "+3d"*/
                       
    });

    $('.time-picker').clockpicker({
      autoclose: true,
      minutestep: 1,
    });

    cambioCliente();

    // funcion para boton de adeudos
    var botonAdeudos= document.querySelector('#bAdeudos');
    botonAdeudos.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);
          },//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  
      });

      $("#txtcliente").on("keyup", function() {
          if ($("#txtcliente").val() != $("#cliente1").val()) {
              document.getElementById("idcliente").value="";
              document.getElementById("botonAdeudos").classList.add('invisible');
            }
      });

      $("#guarda").on("click", function() {
          if (($("#idcliente").val()=="")) {//vaida el cliente
            //  alert("El cliente no esta registrado");              
              $("#txtcliente").notify('El cliente no esta registrado',{
              position:'top center',
              className:'error',
            });
            document.getElementById('txtcliente').focus();
              return false;
          }
          if($("#idservi").val()=="" && $("#idpromo").val()=="") {
            $("#servicioP").notify('Seleccione un servicio o promoción',{
              position:'top center',
              className:'error',
            });
            return false;
          }
      });

   
    $("#txtcliente").autocomplete({
        source: base_url+"/agenda/franquiciatario/agregarcitaF/clientes/?",

        select: function (event, ui) {
            $('[name="idcliente"]').val(ui.item.id);
            $('[name="cliente1"]').val(ui.item.label);
            $('[name="txtcliente"]').val(ui.item.label);
            // $('[name="cliente1"]').val(ui.item.label);
            buscarAdeudos(ui.item.id);
        }
    });

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

    console.log(JSON.stringify(data));
 
    AgendarCita(guardarCita, datos);
  }
});

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();
                              idCitaPop = datos[2].idCita;
                              idEstadosPop = datos[2].idEstados;
                              idCabinaPop = datos[2].idAreas;
                              numeroSesionPop = datos[2].numeroSesion;
                              idUsuarioPop = datos[2].idUsuario;
                              nombreClientePop = datos[2].nombreCliente;
                              nombreServicioPop = datos[2].nombreServicio;
                              personalDisponible();
                             }
                            });         
                           var eventos=[], eventos2=[];
                           eventos.push(datos[0]);
                           eventos2.push(datos[1]);
                           calendar.addEventSource(eventos); 
                           calendar2.addEventSource(eventos2); 
                         }else{
                             swal({
                               title: '¡No se registro ninguna cita!',
                               text:'Intente guardar de nuevo',
                               icon: 'warning',
                               showConfirmButton: true,
                               confirmButtonText: 'Aceptar',
                             })
                             //guardarCita.disabled=false;
                           }          
                       });
                     }else{
                       //guardarCita.disabled=false;
                     }
                 });
               }else{
                console.log("cita fuera de tiempo pero area libre");
                 $.post(base_url+"myagenda/franquiciatario/ListacitasF/insertCita",
                 datos, function(result) {
                  console.log(result);
                   var datos=JSON.parse(result);            
                   if(datos.length==2){            
                     limpiarM();
                     $('#modal-agendar').modal('hide');
                     //guardarCita.disabled=false;
                     swal({
                       title: 'Cita guardada correctamente',
                       icon: 'success',
                       showConfirmButton: false,
                       timer: 1500
                     })           
                     var eventos=[], eventos2=[];
                     eventos.push(datos[0]);
                     eventos2.push(datos[1]);
                     calendar.addEventSource(eventos); 
                     calendar2.addEventSource(eventos2); 
                   }else if(datos.length==3) {
                     limpiarM();
                     $('#modal-agendar').modal('hide');
                     //guardarCita.disabled=false;
                     swal({
                       title: '¡Cita guardada correctamente!',
                       html: '<h3>¿Desea agendar la siguiente sesión?</h3>',
                       icon: 'success',
                       buttons: ["Cancelar!", "Agendar!"],
                       //reverseButtons: true,
                      }).then((result) => {
                        if(result)
                        {
                         document.getElementById('divTemporizador').style.display="block";//.classList.remove('invisible');
                         validacion=true;
                         temporizador();
                         idCitaPop = datos[2].idCita;
                         idEstadosPop = datos[2].idEstados;
                         idCabinaPop = datos[2].idAreas;
                         numeroSesionPop = datos[2].numeroSesion;
                         idUsuarioPop = datos[2].idUsuario;
                         nombreClientePop = datos[2].nombreCliente;
                         nombreServicioPop = datos[2].nombreServicio;
                         personalDisponible();
                        }
                      });        
                     var eventos=[], eventos2=[];
                     eventos.push(datos[0]);
                     eventos2.push(datos[1]);
                     calendar.addEventSource(eventos); 
                     calendar2.addEventSource(eventos2); 
                   }else{
                       swal({
                         title: '¡No se registro ninguna cita!',
                         text:'Intente guardar de nuevo',
                         icon: 'warning',
                         showConfirmButton: true,
                         confirmButtonText: 'Aceptar',
                       })
                       //guardarCita.disabled=false;
                     }          
                 });
               }
             }else{
               //$('#modal-agendar').modal('hide');
             }
           }); 
         }else{
           if(res==1){
            console.log("dentro del tiempo permitido pero area o cabina recervada");
                 swal({
                     title: "Cabina reservada!",
                     text:"¿Está seguro de guardar está cita?",
                     icon: 'warning',
                     buttons: ["Cancelar", "Aceptar"],
                     //reverseButtons: true,
                 })
                 .then((result) => {
                  console.log("inserción en are reservada pero en tiempo");
                     if(result){
                       $.post(base_url+"myagenda/franquiciatario/ListacitasF/insertCita",
                       datos, function(result){
                         var datos=JSON.parse(result);
                         if(datos.length==2){            
                             limpiarM();
                             $('#modal-agendar').modal('hide');
                             //guardarCita.disabled=false;
                             swal({
                               title: 'Cita guardada correctamente',
                               icon: 'success',
                               showConfirmButton: false,
                               timer: 1500
                             })           
                             var eventos=[], eventos2=[];
                             eventos.push(datos[0]);
                             eventos2.push(datos[1]);
                             calendar.addEventSource(eventos); 
                             calendar2.addEventSource(eventos2); 
                         }else if(datos.length==3){
                           limpiarM();
                           $('#modal-agendar').modal('hide');
                           //guardarCita.disabled=false;
                           swal({
                             title: '¡Cita guardada correctamente!',
                             html: '<h3>¿Desea agendar la siguiente sesión?</h3>',
                             icon: 'success',
                             buttons: ["Cancelar", "Agendar"],
                             //reverseButtons: true,
                            }).then((result) => {
                             if(result){
                              document.getElementById('divTemporizador').style.display="block";//.classList.remove('invisible');
                              validacion=true;
                              temporizador();
                              idCitaPop = datos[2].idCita;
                              idEstadosPop = datos[2].idEstados;
                              idCabinaPop = datos[2].idAreas;
                              numeroSesionPop = datos[2].numeroSesion;
                              idUsuarioPop = datos[2].idUsuario;
                              nombreClientePop = datos[2].nombreCliente;
                              nombreServicioPop = datos[2].nombreServicio;
                              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();
                         idCitaPop = datos[2].idCita;
                         idEstadosPop = datos[2].idEstados;
                         idCabinaPop = datos[2].idAreas;
                         numeroSesionPop = datos[2].numeroSesion;
                         idUsuarioPop = datos[2].idUsuario;
                         nombreClientePop = datos[2].nombreCliente;
                         nombreServicioPop = datos[2].nombreServicio;
                         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;
                     }          
                 });
               }
         }
       }       
     });
  }
 });//fin window.load

function buscarAdeudos(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')
       {
         document.getElementById("botonAdeudos").classList.remove('invisible');
         $('#bAdeudos').notify('Cliente con adeudos',{
           position:'bottom center',
           className:'error',
         });
       }else{
         document.getElementById("botonAdeudos").classList.add('invisible');
       }
     },//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) {
    $("#listaAdeudos tr").remove();
     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);
         }
     }
     $("#modal-adeudos").modal();
}

function cambioCliente(){
  alert("cambio cliente");
  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>`);
}

//serviciosTodos
$.extend({
  serviciosTodos: function() {
    alert("serviciosTodos");
    var result;
    $.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;
  }
});

//ventas
$.extend({
  ventas: function() {
    alert("ventas");
  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=[];
        var serviciosVendidosG=[];
        var serviciosVendidosP=[];
        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;
}
});

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 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 = "";
      idPersonal="";
      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 get24hTime(str){
  str = String(str).toLowerCase().replace(/\s/g, '');
  var has_am = str.indexOf('am') >= 0;
  var has_pm = str.indexOf('pm') >= 0;
  // first strip off the am/pm, leave it either hour or hour:minute
  str = str.replace('am', '').replace('pm', '');
  // if hour, convert to hour:00
  if (str.indexOf(':') < 0) str = str + ':00';
  // now it's hour:minute
  // we add am/pm back if striped out before
  if (has_am) str += ' am';
  if (has_pm) str += ' pm';
  // now its either hour:minute, or hour:minute am/pm
  // put it in a date object, it will convert to 24 hours format for us
  var d = new Date("1/1/2011 " + str);
  // make hours and minutes double digits
  var doubleDigits = function(n){
      return (parseInt(n) < 10) ? "0" + n : String(n);
  };
  return doubleDigits(d.getHours()) + ':' + doubleDigits(d.getMinutes());
}

function tConvert (time) {        
  // Check correct time format and split into components
  time = time.toString ().match (/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];

    if (time.length > 1) { // If time format correct
        
      time = time.slice (1);  // Remove full string match value
      time[5] = +time[0] < 12 ? 'AM' : 'PM'; // Set AM/PM
      time[0] = +time[0] % 12 || 12; // Adjust hours
    }
    //return time; // return adjusted time or original string
      var tel = document.getElementById ('rzlt');
      
      return time.join ('');
}

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

//idServicio
$.extend({
  idServicio: function() {
  var result = false;
  var tipo = document.getElementById('tratamientoNC').value;
  if (tipo=="") {
    tipo = document.getElementById('selecttratamiento').value;
  }
  var nuevoValor = tipo.slice(-2);
  var id = tipo.slice(0,-2);

  $.ajax({
      type: "POST",
      url:base_url+"myagenda/franquiciatario/ListacitasF/sesiones/",
      data:{'tipo':nuevoValor, 'id':id},
      dataType: "json",
      async: false,
      success: function(data) {
        var idServicios = data['idServicio'];
          result = idServicios;
      },
      error: function(xhr, textStatus, errorThrown, error) {
          console.log(xhr.responseText);
      }
  });
  return result;
}
});


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