// source --> https://healthcityvistaar.com/wp-content/themes/health-city-vistar/assets/js/features.js?ver=1.0 
$(document).ready(function () {
  var doctor_page = 2;
  var doctor_loading = true;
  var gender = '';
  var language = '';
  var department = '';
  var ailment = '';
  var procedure = '';
  var doctor_search = '';
  var department_page = 2;
  var department_loading = true;
  var department_search = '';

  var health_page = 2;
  var health_loading = true;

  var lab_page = 2;
  var lab_loading = true;

  var diagnostic_page = 2;
  var diagnostic_loading = true;

  var homesample_page = 2;
  var homesample_loading = true;
  //console.log(helper_ajax.ajaxurl);

  function loadMorePosts() {
    if (doctor_loading) {
      doctor_loading = false;
      //alert("page=" + doctor_page);
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_doctors',
          page: doctor_page,
          gender: gender,
          language: language,
          department: department,
          ailment: ailment,
          procedure: procedure,
          search: doctor_search
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var doctorObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (doctorObject.hasOwnProperty('status') && doctorObject.status == '200') {
              //alert('success');
              if (doctorObject.hasOwnProperty('max_pages')){
                max_pages = doctorObject.max_pages;
              }
              var doctors = '';
              $.each(doctorObject.doctors_data, function (i, doctor) {
                doctors += `<div class="col-xl-4 col-lg-6">
                              <div class="doctor-card">`;
                if (doctor.department_name) {
                  doctors += `<span class="card-tag">`+doctor.department_name+`</span>`;
                }
                doctors += `<div class="doctor-specializes">`;
                if (doctor.doctor_image) {
                  doctors += `<div class="media-holder">
                                <img src="`+ doctor.doctor_image + `" alt="">
                              </div>`;
                }
                if (doctor.specializes) {
                  doctors += `<div class="info">
                                  <h6>Specializes in: </h6>
                                  <ul class="m-0">`+ doctor.specializes + `</ul>
                              </div>`;
                }
                doctors += `</div>`;

                doctors += `<div class="doctor-details">
                            <h5>`+ doctor.doctor_name + `</h5>
                            <ul class="m-0">`;

                if (doctor.designation) {
                  doctors += `<li>` + doctor.designation + `</li>`;
                }
                if (doctor.qualification) {
                  doctors += `<li>` + doctor.qualification + `</li>`;
                }
                if (doctor.experience) {
                  doctors += `<li>` + doctor.experience + ` years of experience</li>`;
                }

                doctors += `</ul></div>
                            <div class="action-holder">
                            <div class="left">
                              <a href="`+ doctor.view_more + `" class="btn btn-light">VIEW</a>
                          </div>`;
                if (doctor.book_appointment_url) {
                  doctors += `<div class="right"><a href="`+doctor.book_appointment_url+`" class="btn btn-success">Book an appointment</a></div>`;
                }
                doctors += `</div></div></div>`;
              });
              if (doctor_page == 1) {
                $('.doctor-listing-card .row').html(doctors);
              } else {
                $('.doctor-listing-card .row').append(doctors);
              }
              
              if(max_pages!='' && doctor_page >= max_pages) {
                $(".load-more-doctors").hide();
              }else{
                $('.load-more-doctors').show();
              }
              doctor_page++;
              doctor_loading = true;
            } else {
              if (doctor_page == 1) {
                $('.doctor-listing-card .row').html("<p>No records found</p>");
              }else{
                $('.doctor-listing-card .row').append("<p>No more records found</p>");
              }
              $('.load-more-doctors').hide();
              doctor_loading = false
            }

          }
        }
      });
    }
  }

  $('.load-more-doctors').on('click', function () {
    loadMorePosts();
  });

  $("#search_doctor_btn").on("click", function () {
    doctor_search = $("#search_doctor_input").val();
    if(doctor_search!=''){
      doctor_page = 1;
      doctor_loading = true;
      loadMorePosts();
    }
  });

  $("#gender_filter").on("change", function () {
    gender = $(this).val();
    doctor_page = 1;
    doctor_loading = true;
    loadMorePosts();
  });

  $("#language_filter").on("change", function () {
    language = $(this).val();
    doctor_page = 1;
    doctor_loading = true;
    loadMorePosts();
  });

  $("#department_filter").on("change", function () {
    department = $(this).val();
    doctor_page = 1;
    doctor_loading = true;
    loadMorePosts();
  });

  $("#ailments_filter").on("change", function () {
    ailment = $(this).val();
    doctor_page = 1;
    doctor_loading = true;
    loadMorePosts();
  });

  $("#procedure_filter").on("change", function () {
    procedure = $(this).val();
    doctor_page = 1;
    doctor_loading = true;
    loadMorePosts();
  });

  //load more departments
  $('.load-more-departments').on('click', function () {
    loadMoreDepartments();
  });

  $("#search_department_btn").on("click", function () {
    department_search = $("#search_department_input").val();
    if(department_search!=''){
      department_page = 1;
      department_loading = true;
      loadMoreDepartments();
    }
  });

  function loadMoreDepartments() {
    //alert("here1");
    if (department_loading) {
      department_loading = false;
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_departments',
          page: department_page,
          search: department_search
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var departmentObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (departmentObject.hasOwnProperty('status') && departmentObject.status == '200') {
              //alert('success');
              if (departmentObject.hasOwnProperty('max_pages')){
                max_pages = departmentObject.max_pages;
              }
              var departments = '';
              $.each(departmentObject.departments_data, function (i, department) {
                departments += `<div class="col-md-6">
                            <div class="doctor-card">
                                <div class="doctor-details">
                                    <div class="row g-0">`;
                if (department.department_icon) {
                  departments += `<div class="col-md-4"><img src="`+department.department_icon+`" class="rounded" alt="" /></div>`;
                }
                departments += `<div class="col-md-8"><h5>`+department.department_title+` </h5>`;

                if (department.features_group) {
                  departments += `<ul class="m-0 syringe-bulet-style">`;
                  $.each(department.features_group, function (i, feautre) {
                    if (feautre.department_feature) {
                      departments += `<li>`+feautre.department_feature+`</li>`;
                    }
                  });
                  departments += `</ul>`;
                }
                departments += `</div></div></div>`;

                departments += `<div class="action-holder">
                                    <div class="left">
                                        <!--<a href="/our-doctors" class="btn btn-light">VIEW DOCTORS</a>-->
                                    </div>    
                                    <div class="right">
                                        <a href="`+department.view_more+`" class="btn btn-success">View Details</a>
                                    </div>
                                </div>`;
                departments += `</div></div>`;

              });
              if (department_page == 1) {
                console.log("page1");
                $('.department-listing-card .department-row').html(departments);
              } else {
                console.log("page2");
                $('.department-listing-card .department-row').append(departments);
              }
              
              if(max_pages!='' && department_page >= max_pages) {
                $(".load-more-departments").hide();
              }else{
                $('.load-more-departments').show();
              }
              department_page++;
              department_loading = true;
            } else {
              if (department_page == 1) {
                $('.department-listing-card .department-row').html("<p>No records found</p>");
              }else{
                $('.department-listing-card .department-row').append("<p>No more records found</p>");
              }
              $('.load-more-departments').hide();
              department_loading = false
            }

          }
        }
      });
    }
  }

  $(".video-popup").on("click", function () {
    var embed_id = $(this).data("embed");
    console.log("embed="+embed_id);
    if(embed_id!=''){
      var src = 'https://www.youtube.com/embed/'+embed_id;
      $('#modalVideo iframe').attr('src',src);
    }
  });

  $(".text-popup").on("click", function () {
    var name = $(this).data("name");
    var surgery = $(this).data("surgery");
    var text = $(this).data("text");
    $('#exampleModal .patient-name').text('');
    $('#exampleModal .surgery-name').text('');
    $('#exampleModal .patient-description p').text('');
    if(name!=''){
      $('#exampleModal .patient-name').text(name);
    }
    if(surgery!=''){
      $('#exampleModal .surgery-name').text(surgery);
    }
    if(text!=''){
      $('#exampleModal .patient-description p').text(text);
    }
  });

  $(".close-popup").on("click", function () {
    $(this).parent().find('iframe').attr("src","");
  });

  //healt packages
  $(document).on("click",".load-more-health-package",function() {
    loadMoreHealth();
  });

  $(document).on("change","#health-gender",function() {
    gender = $(this).val();
    health_page = 1;
    health_loading = true;
    loadMoreHealth();
  });

  function loadMoreHealth() {
    if (health_loading) {
      health_loading = false;
      //alert("page=" + doctor_page);
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_health_packages',
          gender: gender,
          page: health_page,
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var healthObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (healthObject.hasOwnProperty('status') && healthObject.status == '200') {
              //alert('success');
              if (healthObject.hasOwnProperty('max_pages')){
                max_pages = healthObject.max_pages;
              }
              var healths = '';
              $.each(healthObject.health_data, function (i, health) {
                healths += `<div class="col-xl-4 col-lg-6">
                              <div class="packages-cards">
                                <div class="packages-content-top">`;
                if (health.price) {
                  healths += `<div class="packs-prices">
                                        <span class="packs-prices-text">Price</span>
                                        <span class="packs-prices-rupees">₹`+health.price+`</span>
                                    </div>`;
                }
                healths += `<img src="`+health.image_icon+`"
                                    alt="" class="packs-imgs">
                            </div>
                            <div class="packages-content-center">
                                <h4>`+health.title+`</h4>
                                <ul class="packages-lists">`;
                if (health.tests_included) {
                  healths += `<li>Test included: `+health.tests_included+`</li>`;
                }
                if (health.validity) {
                  healths += `<li>Validity: `+health.validity+`</li>`;
                }
                if (health.sessions) {
                  healths += `<li>Sessions: `+health.sessions+`</li>`;
                }
                if (health.gender || health.age_allowed) {
                  if(health.age_allowed){
                    healths += `<li>`+health.gender+` (`+health.age_allowed+`) </li>`;
                  }else{
                    healths += `<li>`+health.gender+`</li>`;
                  }
                }
                healths += `</ul>
                    </div>
                            <div class="action-holder">
                                <div class="left">
                                    <a href="`+health.link+`" class="btn btn-light">VIEW</a>
                                </div>
                                <div class="right">
                                    <button class="btn btn-success book-package-btn" data-package="`+health.title+`" data-bs-toggle="modal" data-bs-target="#healthModal">Book Now</button>
                                </div>
                            </div>
                        </div>
                    </div>`;
              });
              if (health_page == 1) {
                $('.doctor-listing-card .row').html(healths);
              } else {
                $('.doctor-listing-card .row').append(healths);
              }
              
              if(max_pages!='' && health_page >= max_pages) {
                $(".load-more-health-package").hide();
              }else{
                $('.load-more-health-package').show();
              }
              health_page++;
              health_loading = true;
            } else {
              if (health_page == 1) {
                $('.doctor-listing-card .row').html("<p>No records found</p>");
              }else{
                $('.doctor-listing-card .row').append("<p>No more records found</p>");
              }
              $('.load-more-health-package').hide();
              health_loading = false
            }

          }
        }
      });
    }
  }
  
  if($('[show-depart-list] ul li:first').length > 0){
    var first_select = $('[show-depart-list] ul li:first').find('.title').html();
    $('#jsSelectDepartment').html(first_select).removeClass('open');
  }

  $(document).on("click",".book-package-btn",function() {
    var package = $(this).data('package');
    $('#healthPackages').val(null).trigger('change');
    $('#healthPackages').val(package).trigger('change');
  })

  $(document).on("click",".book-labtest-btn",function() {
    var package = $(this).data('package');
    $('#labTest').val(null).trigger('change');
    $('#labTest').val(package).trigger('change');
  })

  $(document).on("click",".book-diagnostic-btn",function() {
    var package = $(this).data('package');
    $('#diagnosticTest').val(null).trigger('change');
    $('#diagnosticTest').val(package).trigger('change');
  })

  //lab test load more
  $(document).on("click",".load-more-lab-test",function() {
    loadMoreLabTest();
  });

  function loadMoreLabTest() {
    if (lab_loading) {
      lab_loading = false;
      //alert("page=" + doctor_page);
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_lab_tests',
          page: lab_page,
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var labObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (labObject.hasOwnProperty('status') && labObject.status == '200') {
              //alert('success');
              if (labObject.hasOwnProperty('max_pages')){
                max_pages = labObject.max_pages;
              }
              var labs = '';
              $.each(labObject.lab_data, function (i, lab) {
                labs += `<div class="col-xl-4 col-lg-6">
                              <div class="packages-cards">
                                <div class="packages-content-top">`;
                if (lab.price) {
                  labs += `<div class="packs-prices">
                                        <span class="packs-prices-text">Price</span>
                                        <span class="packs-prices-rupees">₹`+lab.price+`</span>
                                    </div>`;
                }
                labs += `<img src="`+lab.image_icon+`"
                                    alt="" class="packs-imgs">
                            </div>
                            <div class="packages-content-center">
                                <h4>`+lab.title+`</h4>
                            </div>
                            <div class="action-holder">
                                <div class="left">
                                    <a href="`+lab.link+`" class="btn btn-light">VIEW</a>
                                </div>
                                <div class="right">
                                    <button class="btn btn-success book-labtest-btn" data-package="`+lab.title+`" data-bs-toggle="modal" data-bs-target="#labtestModal">Book Now</button>
                                </div>
                            </div>
                        </div>
                    </div>`;
              });
              if (lab_page == 1) {
                console.log("labs="+labs);
                $('#Radiology .doctor-listing-card .row').html(labs);
              } else {
                console.log("labs1="+labs);
                $('#Radiology .doctor-listing-card .row').append(labs);
              }
              
              if(max_pages!='' && lab_page >= max_pages) {
                $(".load-more-lab-test").hide();
              }else{
                $('.load-more-lab-test').show();
              }
              lab_page++;
              lab_loading = true;
            } else {
              if (lab_page == 1) {
                $('#Radiology .doctor-listing-card .row').html("<p>No records found</p>");
              }else{
                $('#Radiology .doctor-listing-card .row').append("<p>No more records found</p>");
              }
              $('.load-more-lab-test').hide();
              lab_loading = false
            }

          }
        }
      });
    }
  }

  //diagnostic test load more
  $(document).on("click",".load-more-diagnostic-test",function() {
    loadMoreDiagnosticTest();
  });

  function loadMoreDiagnosticTest() {
    if (diagnostic_loading) {
      diagnostic_loading = false;
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_diagnostic_tests',
          page: diagnostic_page,
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var labObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (labObject.hasOwnProperty('status') && labObject.status == '200') {
              //alert('success');
              if (labObject.hasOwnProperty('max_pages')){
                max_pages = labObject.max_pages;
              }
              var labs = '';
              $.each(labObject.lab_data, function (i, lab) {
                labs += `<div class="col-xl-4 col-lg-6">
                              <div class="packages-cards">
                                <div class="packages-content-top">`;
                if (lab.price) {
                  labs += `<div class="packs-prices">
                                        <span class="packs-prices-text">Price</span>
                                        <span class="packs-prices-rupees">₹`+lab.price+`</span>
                                    </div>`;
                }
                labs += `<img src="`+lab.image_icon+`"
                                    alt="" class="packs-imgs">
                            </div>
                            <div class="packages-content-center">
                                <h4>`+lab.title+`</h4>
                            </div>
                            <div class="action-holder">
                                <div class="left">
                                    <a href="`+lab.link+`" class="btn btn-light">VIEW</a>
                                </div>
                                <div class="right">
                                    <button class="btn btn-success book-diagnostic-btn" data-package="`+lab.title+`" data-bs-toggle="modal" data-bs-target="#diagnostictestModal">Book Now</button>
                                </div>
                            </div>
                        </div>
                    </div>`;
              });
              if (diagnostic_page == 1) {
                $('#Diagnostic .doctor-listing-card .row').html(labs);
              } else {
                console.log("labs1="+labs);
                $('#Diagnostic .doctor-listing-card .row').append(labs);
              }
              
              if(max_pages!='' && diagnostic_page >= max_pages) {
                $(".load-more-diagnostic-test").hide();
              }else{
                $('.load-more-diagnostic-test').show();
              }
              diagnostic_page++;
              diagnostic_loading = true;
            } else {
              if (diagnostic_page == 1) {
                $('#Diagnostic .doctor-listing-card .row').html("<p>No records found</p>");
              }else{
                $('#Diagnostic .doctor-listing-card .row').append("<p>No more records found</p>");
              }
              $('.load-more-diagnostic-test').hide();
              diagnostic_loading = false
            }

          }
        }
      });
    }
  }

  //home sample test load more
  $(document).on("click",".load-more-home-test",function() {
    loadMoreHomeTest();
  });

  function loadMoreHomeTest() {
    if (homesample_loading) {
      homesample_loading = false;
      $.ajax({
        url: helper_ajax.ajaxurl,
        type: 'post',
        data: {
          action: 'load_home_tests',
          page: homesample_page,
        },
        beforeSend: function () {
          $('.full-page-loader-f').removeClass('d-none');
        },
        success: function (response) {
          //console.log(response);
          $('.full-page-loader-f').addClass('d-none');
          if (response) {
            var labObject = jQuery.parseJSON(response);
            var max_pages = '';
            if (labObject.hasOwnProperty('status') && labObject.status == '200') {
              //alert('success');
              if (labObject.hasOwnProperty('max_pages')){
                max_pages = labObject.max_pages;
              }
              var labs = '';
              $.each(labObject.lab_data, function (i, lab) {
                labs += `<div class="col-lg-4 col-md-6 test-cols-outer">
                              <div class="test-col-info">
                                <div class="test-img">
                                  <img src="`+lab.image_icon+`" alt="">
                                </div>
                                <h4 class="heading20">`+lab.title+`</h4>`;
                if (lab.price) {
                  labs += `<div class="compress-prices-md">
                            <p><span>Price</span> ₹`+lab.price+`</p>
                        </div>`;
                }
                labs += `</div>
                    </div>`;
              });
              if (homesample_page == 1) {
                $('.home-sample-collection .row').html(labs);
              } else {
                console.log("labs1="+labs);
                $('.home-sample-collection .row').append(labs);
              }
              
              if(max_pages!='' && homesample_page >= max_pages) {
                $(".load-more-home-test").hide();
              }else{
                $('.load-more-home-test').show();
              }
              homesample_page++;
              homesample_loading = true;
            } else {
              if (homesample_page == 1) {
                $('.home-sample-collection .row').html("<p>No records found</p>");
              }else{
                $('.home-sample-collection .row').append("<p>No more records found</p>");
              }
              $('.load-more-diagnostic-test').hide();
              homesample_loading = false
            }

          }
        }
      });
    }
  }
  
  //fetch doctors option list on selection of department
  $(document).on("change","#speciality",function() {
    var department = $(this).val();
    $.ajax({
      url: helper_ajax.ajaxurl,
      type: 'post',
      data: {
        action: 'department_doctors',
        department: department,
      },
      beforeSend: function () {
        $('.full-page-loader-f').removeClass('d-none');
      },
      success: function (response) {
        //console.log(response);
        $('.full-page-loader-f').addClass('d-none');
        if (response) {
          var doctorObject = jQuery.parseJSON(response);
          if (doctorObject.hasOwnProperty('doctors_data') && doctorObject.hasOwnProperty('status') && doctorObject.status == '200') {
            // Clear existing options
            $('#doctors').empty();
            // Insert an empty option as the first option
            var emptyOption = new Option('', '', true, true);
            $('#doctors').append(emptyOption);
            var doctors = '';
            $.each(doctorObject.doctors_data, function (i, doctor) {
              console.log(doctor.name);
              var newOption = new Option(doctor.name, doctor.name, false, false);
              $('#doctors').append(newOption);
            });
            // Trigger the change event to update Select2 with new options
            $('#doctors').trigger('change');
          }

        }
      },
      error: function(xhr, status, error) {
        console.log('Error: ' + error);
      }
    });
  });

  //$('#exampleModal').modal({backdrop: 'static', keyboard: false});
  //$('#modalVideo').modal({backdrop: 'static', keyboard: false});

});