{"id":1075,"date":"2025-07-29T15:45:01","date_gmt":"2025-07-29T20:45:01","guid":{"rendered":"https:\/\/rogansya.com\/testing_medical\/?page_id=1075"},"modified":"2026-01-08T15:46:55","modified_gmt":"2026-01-08T20:46:55","slug":"examenes","status":"publish","type":"page","link":"https:\/\/rogansya.com\/testing_medical\/examenes\/","title":{"rendered":"Ex\u00e1menes"},"content":{"rendered":"    <div class=\"clinova-exams-archive-container\" id=\"clinova-exams-6a2e15996d40c\">\n      <h1 class=\"clinova-exams-archive-title\">Ex\u00e1menes M\u00e9dicos<\/h1>\n      \n      <!-- Tabs -->\n      <div class=\"clinova-tabs-wrapper\">\n        <div class=\"clinova-exams-tabs\">\n          <button class=\"clinova-tab-button\" data-tab=\"individuales\" data-active=\"true\">\n            Ex\u00e1menes individuales          <\/button>\n          <button class=\"clinova-tab-button\" data-tab=\"paquetes\" data-active=\"false\">\n            Paquetes de ex\u00e1menes          <\/button>\n        <\/div>\n      <\/div>\n\n      <div class=\"clinova-exams-results-count\">\n        <span class=\"clinova-exams-count-number\">0<\/span> Resultados      <\/div>\n      \n      <!-- Contenedor de b\u00fasqueda y filtros -->\n      <div class=\"clinova-exams-filters-wrapper\">\n        <!-- Categor\u00edas para paquetes (solo visible en tab paquetes) -->\n        <div class=\"clinova-exams-categories-wrapper for-paquetes\" style=\"display: none;\">\n                      <div class=\"clinova-exams-categories\">\n              <button class=\"clinova-category-filter active\" data-category=\"\">\n                Todo              <\/button>\n                              <button class=\"clinova-category-filter\" data-category=\"203\">\n                  Prueba                <\/button>\n                          <\/div>\n                  <\/div>\n\n        <div class=\"clinova-exams-search-wrapper\">\n          <input type=\"text\" class=\"clinova-exams-search-input\" placeholder=\"\u00bfQu\u00e9 quieres buscar?\" autocomplete=\"off\">\n          <button type=\"button\" class=\"clinova-exams-search-button\">\n            <i class=\"fa-solid fa-magnifying-glass\"><\/i>\n          <\/button>\n        <\/div>\n      <\/div>\n      \n      <!-- Contenedor de resultados -->\n      <div class=\"clinova-exams-results-wrapper\">\n        <!-- Loading -->\n        <div class=\"clinova-exams-loading\" style=\"display: none;\">\n          <div class=\"clinova-loader-spinner\"><\/div>\n          <p>Cargando ex\u00e1menes...<\/p>\n        <\/div>\n        \n        <!-- Grid de productos -->\n        <div class=\"clinova-exams-grid-wrapper\">\n          <ul class=\"products columns-4 clinova-exams-grid\">\n            <!-- Los productos se cargar\u00e1n aqu\u00ed v\u00eda AJAX -->\n          <\/ul>\n        <\/div>\n        \n        <!-- Paginaci\u00f3n -->\n        <div class=\"clinova-exams-pagination-wrapper\">\n          <div class=\"clinova-exams-pagination-info\">\n            <!-- Se actualizar\u00e1 v\u00eda AJAX -->\n          <\/div>\n          <nav class=\"woocommerce-pagination clinova-exams-pagination\">\n            <!-- La paginaci\u00f3n se cargar\u00e1 aqu\u00ed v\u00eda AJAX -->\n          <\/nav>\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    <script type=\"text\/javascript\">\n    jQuery(document).ready(function($) {\n      'use strict';\n      \n      \/\/ Datos AJAX (definidos localmente para este shortcode)\n      var clinovaExamsData = {\"ajax_url\":\"https:\\\/\\\/rogansya.com\\\/testing_medical\\\/wp-admin\\\/admin-ajax.php\",\"nonce\":\"0fae5c0fd6\"};\n      \n      var $container = $('#clinova-exams-6a2e15996d40c');\n      var currentTab = 'individuales';\n      var currentPage = 1;\n      var currentSearch = '';\n      var currentCategory = '';\n      var isLoading = false;\n      \n      \/\/ Funci\u00f3n para cargar ex\u00e1menes\n      function loadExams() {\n        if (isLoading) return;\n        \n        isLoading = true;\n        $container.find('.clinova-exams-loading').show();\n        $container.find('.clinova-exams-grid').html('');\n        $container.find('.clinova-exams-pagination').html('');\n        \n        $.ajax({\n          url: clinovaExamsData.ajax_url,\n          type: 'POST',\n          data: {\n            action: 'clinova_load_exams',\n            nonce: clinovaExamsData.nonce,\n            tab: currentTab,\n            page: currentPage,\n            search: currentSearch,\n            category: currentCategory\n          },\n          success: function(response) {\n            if (response.success) {\n              $container.find('.clinova-exams-grid').html(response.data.html);\n              $container.find('.clinova-exams-pagination').html(response.data.pagination);\n              $container.find('.clinova-exams-count-number').text(response.data.count);\n              \n              \/\/ Actualizar informaci\u00f3n de paginaci\u00f3n\n              if (response.data.total > 0) {\n                var start = response.data.start || 1;\n                var end = response.data.end || response.data.total;\n                var total = response.data.total;\n                var formattedTotal = total.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, '.');\n                $container.find('.clinova-exams-pagination-info').text('Mostrando ' + start + '\u2013' + end + ' de ' + formattedTotal + ' resultados');\n              } else {\n                $container.find('.clinova-exams-pagination-info').text('');\n              }\n            } else {\n              $container.find('.clinova-exams-grid').html('<li class=\"no-exams-found\">' + (response.data.message || 'No se encontraron ex\u00e1menes') + '<\/li>');\n              $container.find('.clinova-exams-pagination-info').text('');\n            }\n          },\n          error: function() {\n            $container.find('.clinova-exams-grid').html('<li class=\"error-loading\">Error al cargar los ex\u00e1menes. Por favor, intenta nuevamente.<\/li>');\n          },\n          complete: function() {\n            isLoading = false;\n            $container.find('.clinova-exams-loading').hide();\n          }\n        });\n      }\n      \n      \/\/ Cambiar tab\n      $container.find('.clinova-tab-button').on('click', function() {\n        var $button = $(this);\n        var tab = $button.data('tab');\n        \n        if (tab === currentTab) return;\n        \n        currentTab = tab;\n        currentPage = 1;\n        currentCategory = '';\n        \n        \/\/ Actualizar botones\n        $container.find('.clinova-tab-button').removeClass('active').attr('data-active', 'false');\n        $button.addClass('active').attr('data-active', 'true');\n        \n        \/\/ Mostrar\/ocultar categor\u00edas y actualizar clase\n        var $categoriesWrapper = $container.find('.clinova-exams-categories-wrapper');\n        if (tab === 'paquetes') {\n          $categoriesWrapper.removeClass('for-individuales').addClass('for-paquetes').show();\n        } else {\n          $categoriesWrapper.removeClass('for-paquetes').addClass('for-individuales').hide();\n        }\n        \n        \/\/ Resetear filtros de categor\u00eda\n        $container.find('.clinova-category-filter').removeClass('active');\n        $container.find('.clinova-category-filter[data-category=\"\"]').addClass('active');\n        \n        loadExams();\n      });\n      \n      \/\/ B\u00fasqueda\n      var searchTimeout;\n      $container.find('.clinova-exams-search-input').on('input', function() {\n        clearTimeout(searchTimeout);\n        var $input = $(this);\n        searchTimeout = setTimeout(function() {\n          currentSearch = $input.val().trim();\n          currentPage = 1;\n          loadExams();\n        }, 500);\n      });\n      \n      $container.find('.clinova-exams-search-button').on('click', function() {\n        currentSearch = $container.find('.clinova-exams-search-input').val().trim();\n        currentPage = 1;\n        loadExams();\n      });\n      \n      \/\/ Filtro por categor\u00eda\n      $container.on('click', '.clinova-category-filter', function() {\n        var $filter = $(this);\n        var category = $filter.data('category');\n        \n        if (category === currentCategory) return;\n        \n        currentCategory = category;\n        currentPage = 1;\n        \n        $container.find('.clinova-category-filter').removeClass('active');\n        $filter.addClass('active');\n        \n        loadExams();\n      });\n      \n      \/\/ Paginaci\u00f3n\n      $container.on('click', '.woocommerce-pagination a', function(e) {\n        e.preventDefault();\n        var href = $(this).attr('href');\n        var match = href.match(\/page[=\\\/](\\d+)\/);\n        if (match) {\n          currentPage = parseInt(match[1]);\n          loadExams();\n          $('html, body').animate({ scrollTop: $container.offset().top - 100 }, 300);\n        }\n      });\n      \n      \/\/ Cargar ex\u00e1menes al iniciar\n      \/\/ Inicializar clase de categor\u00edas seg\u00fan el tab inicial\n      var $categoriesWrapper = $container.find('.clinova-exams-categories-wrapper');\n      if (currentTab === 'paquetes') {\n        $categoriesWrapper.removeClass('for-individuales').addClass('for-paquetes');\n      } else {\n        $categoriesWrapper.removeClass('for-paquetes').addClass('for-individuales');\n      }\n      \n      loadExams();\n    });\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"page-examenes.php","meta":{"footnotes":""},"class_list":["post-1075","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/pages\/1075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/comments?post=1075"}],"version-history":[{"count":4,"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/pages\/1075\/revisions"}],"predecessor-version":[{"id":9638,"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/pages\/1075\/revisions\/9638"}],"wp:attachment":[{"href":"https:\/\/rogansya.com\/testing_medical\/wp-json\/wp\/v2\/media?parent=1075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}