const buttonActiveCal = document.getElementById("buttonActivateCalculator"); const buttonFromBannerActive = document.getElementById("button_active_calculator_from_banner"); function evalueActiveCalculator() { const containerCalculator = document.getElementById("modal_calculator"); if (containerCalculator.classList[1]) { if (containerCalculator.classList[1] == "active_calculator") { containerCalculator.style.display = "none"; containerCalculator.className = "modal_shadow"; containerCalculator.innerHTML = ""; } } else { contentDisplayCalcu = `
x
Selecciona el clima de su ciudad
  • 0 - 18°
  • 19° - 25°
  • 26° - 33°
  • 34° o más
Habitación

Largo (m)

1

Ancho (m)

1
Ventanas

Ancho (m)

1

Alto (m)

1

Personas

Computadoras

Lámparas

Electrodomésticos

`; containerCalculator.innerHTML = contentDisplayCalcu; containerCalculator.style.display = "block"; containerCalculator.className = "modal_shadow active_calculator"; const closeTapCalculatorUI = document.getElementById("close_calculator_products_ui"); closeTapCalculatorUI.addEventListener("click", (_) => { containerCalculator.style.display = "none"; containerCalculator.className = "modal_shadow"; containerCalculator.innerHTML = ""; }); const buttonTriggerPlus = document.querySelectorAll(".plus"); const buttonTriggerSubstract = document.querySelectorAll(".substract"); const active_change_weather_mobile = document.querySelectorAll( ".active_change_weather_mobile" ); const inputByClime = document.getElementById("selectedWeather_mobile"); const buttonTriggerCalculator = document.getElementById("buttonTriggerCalculatorMobil"); // Size animation const allRanges = document.querySelectorAll(".range-wrap"); allRanges.forEach((wrap) => { const range = wrap.querySelector(".range"); const bubble = wrap.querySelector(".bubble"); range.addEventListener("input", () => { setBubble(range, bubble); }); setBubble(range, bubble); }); function setBubble(range, bubble) { const val = range.value; const min = range.min ? range.min : 0; const max = range.max ? range.max : 100; const newVal = Number(((val - min) * 100) / (max - min)); bubble.innerHTML = val; } // Size animation // Default active weather const defaultClimeActive = document.getElementById("weather3_mobile"); defaultClimeActive.className = "active_change_weather_mobile active_weather"; inputByClime.value = 3; // Choice Weather for (let i = 0; i < active_change_weather_mobile.length; i++) { active_change_weather_mobile[i].addEventListener("click", () => { for (let x = 0; x < active_change_weather_mobile.length; x++) { active_change_weather_mobile[x].className = "active_change_weather_mobile"; } switch (active_change_weather_mobile[i].id) { case "weather1_mobile": inputByClime.value = 1; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather2_mobile": inputByClime.value = 2; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather3_mobile": inputByClime.value = 3; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather4_mobile": inputByClime.value = 4; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; } }); } for (let i = 0; i < buttonTriggerPlus.length; i++) { buttonTriggerPlus[i].addEventListener("click", (e) => { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) + 1; }); } for (let i = 0; i < buttonTriggerSubstract.length; i++) { buttonTriggerSubstract[i].addEventListener("click", (e) => { if (Number(e.target.parentNode.parentNode.children[0].value) > 0) { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) - 1; } }); } // Choice Weather // Calculator trigger buttonTriggerCalculator.addEventListener("click", async () => { // Calculator container let contentCalculator = document.getElementById("content_calculator"); // Space size let sizeWidth = document.getElementById("sizeWidth_mobile"); let sizeLong = document.getElementById("sizeLong_mobile"); // Number of people let people = document.getElementById("people_mobile"); // Number of electrodomestics let electrodomestics = document.getElementById("electrodomestics_mobile"); // Number of computers let computers = document.getElementById("computers_mobile"); // Number of lapms let lapms = document.getElementById("lapms_mobile"); // Window Size let windowWidth = document.getElementById("window_width_mobile"); let windowSize = document.getElementById("window_size_mobile"); // This is a temporal variable, this save the weather temp + total charge let r; // Total charge let finalChargeTemp; const valuePerPeople = 500; const valuePerLamps = 200; const valuePerPc = 400; const valuePerElectro = 400; const valuePerWindow = 700; function calculateTemperatureCharge() { let finalTempCharge = 0; finalTempCharge += Number(people.value) > 0 ? Number(people.value) * valuePerPeople : 0; finalTempCharge += Number(computers.value) > 0 ? Number(computers.value) * valuePerPc : 0; finalTempCharge += Number(lapms.value) > 0 ? Number(lapms.value) * valuePerLamps : 0; finalTempCharge += Number(electrodomestics.value) > 0 ? Number(electrodomestics.value) * valuePerElectro : 0; finalTempCharge += Number(windowWidth.value) * Number(windowSize.value) * valuePerWindow; return finalTempCharge; } switch (inputByClime.value) { case "1": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 500; r = finalTemp + finalChargeTemp; break; case "2": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 550; r = finalTemp + finalChargeTemp; break; case "3": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 600; r = finalTemp + finalChargeTemp; break; case "4": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 650; r = finalTemp + finalChargeTemp; break; } contentCalculator.style.display = "flex"; const formData = new FormData(); formData.append("category_product", r); const configureHeaders = { method: "POST", body: formData, }; let current_page = 1; let currentPageButton = 1; let products_per_page = 3; let buttons_per_page = 5; let product_taxonomy = 0; let is_show_taxonomy_accesor = false; let htmlPrev = '
'; htmlPrev += '

Estamos cargando los productos

'; htmlPrev += "
"; contentCalculator.innerHTML = htmlPrev; const getInputData = await fetch( "https://iprpartesyrepuestos.com/btu_calculator/getAllProducts.php", configureHeaders ); const finalInformation = await getInputData.json(); // Sorting produc var sortingArr = []; finalInformation.forEach((e) => { sortingArr.push(e); }); var sortByPrice = sortingArr.slice(0); sortByPrice.sort(function (a, b) { return a.price - b.price; }); // Sorting produc function countNumberOfPages() { return Math.ceil(sortByPrice.length / products_per_page); } let getTotalPagesToShow = countNumberOfPages(); var showButtonsNextPrev = []; for (let i = 0; i < getTotalPagesToShow; i++) { showButtonsNextPrev.push( "" ); } function countNumberOfButtonsPerPage() { return Math.ceil(showButtonsNextPrev.length / buttons_per_page); } let totalPageButtonsfinal = countNumberOfButtonsPerPage(); function getAllTotalProducts(page) { current_page = page; let totalArr = sortByPrice.slice( (current_page - 1) * products_per_page, current_page * products_per_page ); return totalArr; } function getAllTotalButtons(pageBut) { currentPageButton = pageBut; let totalButtons = showButtonsNextPrev.slice( (currentPageButton - 1) * buttons_per_page, currentPageButton * buttons_per_page ); return totalButtons; } switch (true) { case r < 9000: product_taxonomy = "9000 BTU"; break; case r >= 9000 && r <= 12999: product_taxonomy = "12000 BTU"; break; case r >= 13000 && r <= 18999: product_taxonomy = "18000 BTU"; break; case r >= 19000 && r <= 25999: product_taxonomy = "24000 BTU"; break; case r >= 26000 && r <= 37999: product_taxonomy = "36000 BTU"; break; case r >= 38000 && r <= 49999: product_taxonomy = "48000 BTU"; break; case r >= 50000 && r <= 59999: product_taxonomy = "60000 BTU"; break; default: product_taxonomy = "No contamos con esta capacidad"; is_show_taxonomy_accesor = true; break; } let html = '
'; html += '"; html += '
x
'; if (!is_show_taxonomy_accesor) { html += '
LA CAPACIDAD DEL EQUIPO PARA EL AMBIENTE SELECCIONADO ES:
'; html += '

' + product_taxonomy + "

"; html += '
Tenemos disponibles los siguientes equipos
'; html += '
    '; let firstRender = getAllTotalProducts(current_page); firstRender.map((element) => { html += "
  • "; html += element.content; html += "
  • "; }); html += "
"; let buttonsToShow = getAllTotalButtons(currentPageButton); let classButtons = buttonsToShow.length == 1 ? 'hidden_class' : ''; html += "
"; html += ""; html += "
"; if (buttonsToShow.length > 1) { buttonsToShow.forEach((but) => { html += but; }); } html += "
"; html += ""; html += "
"; } else { html += '
'; html += "

Tu necesidad requiere una asesoría personalizada

"; html += ' Contactar'; html += "
"; } html += "
"; contentDisplay = html; contentCalculator.innerHTML = contentDisplay; if (!is_show_taxonomy_accesor) { const getButtonListFirst = document.getElementById("pagination_products_list"); if (getButtonListFirst.children[0]) { getButtonListFirst.children[0].className = "pagination_button_item active_button"; } const getContentPaginations = document.getElementById("pagination_products_list"); const getNextPage = document.getElementById("goTonextPage"); const getPrevPage = document.getElementById("goToprevPage"); getNextPage.addEventListener("click", (e) => { if (currentPageButton < totalPageButtonsfinal) { currentPageButton++; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById( "pagination_products_list" ); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getPrevPage.addEventListener("click", (e) => { if (currentPageButton !== 1) { currentPageButton--; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById( "pagination_products_list" ); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getContentPaginations.addEventListener("click", (e) => { const getButtonListT = document.getElementById("pagination_products_list"); for (let x = 0; x < getButtonListT.children.length; x++) { getButtonListT.children[x].className = "pagination_button_item"; } if (e.target.tagName === "BUTTON") { e.target.className = "pagination_button_item active_button"; let totalArrShow = getAllTotalProducts(e.target.id.split("-")[1]); let getContainer = document.getElementById("products_change_list"); let html1 = ""; totalArrShow.map((element) => { html1 += "
  • "; html1 += element.content; html1 += "
  • "; }); getContainer.innerHTML = html1; } }); } const getAcceptButton = document.getElementById("btn_policy_accept"); const getModalContainerPolicy = document.getElementById( "modal_accept_or_reject_policy" ); const getRejectButton = document.getElementById("btn_policy_reject"); getRejectButton.addEventListener("click", (_) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); getAcceptButton.addEventListener("click", (_) => { getModalContainerPolicy.style.display = "none"; }); const closeTabTrigger = document.getElementById("close_tab_products_ui"); closeTabTrigger.addEventListener("click", (e) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); contentCalculator.addEventListener("click", (e) => { if (e.target.id == "content_calculator") { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; } }); }); } } function evalueActiveCalculatorOnCategory() { const containerCalculator = document.getElementById("modal_calculator_on_category"); if (containerCalculator.classList[1]) { if (containerCalculator.classList[1] == "active_calculator") { containerCalculator.style.display = "none"; containerCalculator.className = "modal_shadow"; containerCalculator.innerHTML = ""; } } else { contentDisplayCalcu = `
    x
    Selecciona el clima de su ciudad
    • 0 - 18°
    • 19° - 25°
    • 26° - 33°
    • 34° o más
    Habitación

    Largo (m)

    1

    Ancho (m)

    1
    Ventanas

    Ancho (m)

    1

    Alto (m)

    1

    Personas

    Computadoras

    Lámparas

    Electrodomésticos

    `; containerCalculator.innerHTML = contentDisplayCalcu; containerCalculator.style.display = "flex"; containerCalculator.className = "modal_shadow active_calculator"; const closeTapCalculatorUI = document.getElementById("close_calculator_products_ui"); closeTapCalculatorUI.addEventListener("click", (_) => { containerCalculator.style.display = "none"; containerCalculator.className = "modal_shadow"; containerCalculator.innerHTML = ""; }); const buttonTriggerPlus = document.querySelectorAll(".plus"); const buttonTriggerSubstract = document.querySelectorAll(".substract"); const active_change_weather_mobile = document.querySelectorAll( ".active_change_weather_mobile" ); const inputByClime = document.getElementById("selectedWeather_mobile"); const buttonTriggerCalculator = document.getElementById("buttonTriggerCalculatorMobil"); // Size animation const allRanges = document.querySelectorAll(".range-wrap"); allRanges.forEach((wrap) => { const range = wrap.querySelector(".range"); const bubble = wrap.querySelector(".bubble"); range.addEventListener("input", () => { setBubble(range, bubble); }); setBubble(range, bubble); }); function setBubble(range, bubble) { const val = range.value; const min = range.min ? range.min : 0; const max = range.max ? range.max : 100; const newVal = Number(((val - min) * 100) / (max - min)); bubble.innerHTML = val; } // Size animation // Default active weather const defaultClimeActive = document.getElementById("weather3_mobile"); defaultClimeActive.className = "active_change_weather_mobile active_weather"; inputByClime.value = 3; // Choice Weather for (let i = 0; i < active_change_weather_mobile.length; i++) { active_change_weather_mobile[i].addEventListener("click", () => { for (let x = 0; x < active_change_weather_mobile.length; x++) { active_change_weather_mobile[x].className = "active_change_weather_mobile"; } switch (active_change_weather_mobile[i].id) { case "weather1_mobile": inputByClime.value = 1; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather2_mobile": inputByClime.value = 2; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather3_mobile": inputByClime.value = 3; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; case "weather4_mobile": inputByClime.value = 4; active_change_weather_mobile[i].className = "active_change_weather_mobile active_weather"; break; } }); } for (let i = 0; i < buttonTriggerPlus.length; i++) { buttonTriggerPlus[i].addEventListener("click", (e) => { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) + 1; }); } for (let i = 0; i < buttonTriggerSubstract.length; i++) { buttonTriggerSubstract[i].addEventListener("click", (e) => { if (Number(e.target.parentNode.parentNode.children[0].value) > 0) { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) - 1; } }); } // Choice Weather // Calculator trigger buttonTriggerCalculator.addEventListener("click", async () => { // Calculator container let contentCalculator = document.getElementById("content_calculator"); // Space size let sizeWidth = document.getElementById("sizeWidth_mobile"); let sizeLong = document.getElementById("sizeLong_mobile"); // Number of people let people = document.getElementById("people_mobile"); // Number of electrodomestics let electrodomestics = document.getElementById("electrodomestics_mobile"); // Number of computers let computers = document.getElementById("computers_mobile"); // Number of lapms let lapms = document.getElementById("lapms_mobile"); // Window Size let windowWidth = document.getElementById("window_width_mobile"); let windowSize = document.getElementById("window_size_mobile"); // This is a temporal variable, this save the weather temp + total charge let r; // Total charge let finalChargeTemp; const valuePerPeople = 500; const valuePerLamps = 200; const valuePerPc = 400; const valuePerElectro = 400; const valuePerWindow = 700; function calculateTemperatureCharge() { let finalTempCharge = 0; finalTempCharge += Number(people.value) > 0 ? Number(people.value) * valuePerPeople : 0; finalTempCharge += Number(computers.value) > 0 ? Number(computers.value) * valuePerPc : 0; finalTempCharge += Number(lapms.value) > 0 ? Number(lapms.value) * valuePerLamps : 0; finalTempCharge += Number(electrodomestics.value) > 0 ? Number(electrodomestics.value) * valuePerElectro : 0; finalTempCharge += Number(windowWidth.value) * Number(windowSize.value) * valuePerWindow; return finalTempCharge; } switch (inputByClime.value) { case "1": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 500; r = finalTemp + finalChargeTemp; break; case "2": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 550; r = finalTemp + finalChargeTemp; break; case "3": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 600; r = finalTemp + finalChargeTemp; break; case "4": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 650; r = finalTemp + finalChargeTemp; break; } contentCalculator.style.display = "flex"; const formData = new FormData(); formData.append("category_product", r); const configureHeaders = { method: "POST", body: formData, }; let current_page = 1; let currentPageButton = 1; let products_per_page = 3; let buttons_per_page = 5; let product_taxonomy = 0; let is_show_taxonomy_accesor = false; let htmlPrev = '
    '; htmlPrev += '

    Estamos cargando los productos

    '; htmlPrev += "
    "; contentCalculator.innerHTML = htmlPrev; const getInputData = await fetch( "https://iprpartesyrepuestos.com/btu_calculator/getAllProducts.php", configureHeaders ); const finalInformation = await getInputData.json(); // Sorting produc var sortingArr = []; finalInformation.forEach((e) => { sortingArr.push(e); }); var sortByPrice = sortingArr.slice(0); sortByPrice.sort(function (a, b) { return a.price - b.price; }); // Sorting produc function countNumberOfPages() { return Math.ceil(sortByPrice.length / products_per_page); } let getTotalPagesToShow = countNumberOfPages(); var showButtonsNextPrev = []; for (let i = 0; i < getTotalPagesToShow; i++) { showButtonsNextPrev.push( "" ); } function countNumberOfButtonsPerPage() { return Math.ceil(showButtonsNextPrev.length / buttons_per_page); } let totalPageButtonsfinal = countNumberOfButtonsPerPage(); function getAllTotalProducts(page) { current_page = page; let totalArr = sortByPrice.slice( (current_page - 1) * products_per_page, current_page * products_per_page ); return totalArr; } function getAllTotalButtons(pageBut) { currentPageButton = pageBut; let totalButtons = showButtonsNextPrev.slice( (currentPageButton - 1) * buttons_per_page, currentPageButton * buttons_per_page ); return totalButtons; } switch (true) { case r < 9000: product_taxonomy = "9000 BTU"; break; case r >= 9000 && r <= 12999: product_taxonomy = "12000 BTU"; break; case r >= 13000 && r <= 18999: product_taxonomy = "18000 BTU"; break; case r >= 19000 && r <= 25999: product_taxonomy = "24000 BTU"; break; case r >= 26000 && r <= 37999: product_taxonomy = "36000 BTU"; break; case r >= 38000 && r <= 49999: product_taxonomy = "48000 BTU"; break; case r >= 50000 && r <= 59999: product_taxonomy = "60000 BTU"; break; default: product_taxonomy = "No contamos con esta capacidad"; is_show_taxonomy_accesor = true; break; } let html = '
    '; html += '"; html += '
    x
    '; if (!is_show_taxonomy_accesor) { html += '
    LA CAPACIDAD DEL EQUIPO PARA EL AMBIENTE SELECCIONADO ES:
    '; html += '

    ' + product_taxonomy + "

    "; html += '
    Tenemos disponibles los siguientes equipos
    '; html += '
      '; let firstRender = getAllTotalProducts(current_page); firstRender.map((element) => { html += "
    • "; html += element.content; html += "
    • "; }); html += "
    "; let buttonsToShow = getAllTotalButtons(currentPageButton); let classButtons = buttonsToShow.length == 1 ? 'hidden_class' : ''; html += "
    "; html += ""; html += "
    "; if (buttonsToShow.length > 1) { buttonsToShow.forEach((but) => { html += but; }); } html += "
    "; html += ""; html += "
    "; } else { html += '
    '; html += "

    Tu necesidad requiere una asesoría personalizada

    "; html += ' Contactar'; html += "
    "; } html += "
    "; contentDisplay = html; contentCalculator.innerHTML = contentDisplay; if (!is_show_taxonomy_accesor) { const getButtonListFirst = document.getElementById("pagination_products_list"); if (getButtonListFirst.children[0]) { getButtonListFirst.children[0].className = "pagination_button_item active_button"; } const getContentPaginations = document.getElementById("pagination_products_list"); const getNextPage = document.getElementById("goTonextPage"); const getPrevPage = document.getElementById("goToprevPage"); getNextPage.addEventListener("click", (e) => { if (currentPageButton < totalPageButtonsfinal) { currentPageButton++; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById( "pagination_products_list" ); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getPrevPage.addEventListener("click", (e) => { if (currentPageButton !== 1) { currentPageButton--; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById( "pagination_products_list" ); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getContentPaginations.addEventListener("click", (e) => { const getButtonListT = document.getElementById("pagination_products_list"); for (let x = 0; x < getButtonListT.children.length; x++) { getButtonListT.children[x].className = "pagination_button_item"; } if (e.target.tagName === "BUTTON") { e.target.className = "pagination_button_item active_button"; let totalArrShow = getAllTotalProducts(e.target.id.split("-")[1]); let getContainer = document.getElementById("products_change_list"); let html1 = ""; totalArrShow.map((element) => { html1 += "
  • "; html1 += element.content; html1 += "
  • "; }); getContainer.innerHTML = html1; } }); } const getAcceptButton = document.getElementById("btn_policy_accept"); const getModalContainerPolicy = document.getElementById( "modal_accept_or_reject_policy" ); const getRejectButton = document.getElementById("btn_policy_reject"); getRejectButton.addEventListener("click", (_) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); getAcceptButton.addEventListener("click", (_) => { getModalContainerPolicy.style.display = "none"; }); const closeTabTrigger = document.getElementById("close_tab_products_ui"); closeTabTrigger.addEventListener("click", (e) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); contentCalculator.addEventListener("click", (e) => { if (e.target.id == "content_calculator") { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; } }); }); } } const getCalculatorOnSlider = document.getElementById("modal_shadow_slider"); if (getCalculatorOnSlider) { contentDisplayCalcu = `
    USE LA CALCULADORA Y ENCUENTRE LA CAPACIDAD DEL AIRE ACONDICIONADO QUE NECESITA
    Selecciona el clima de su ciudad
    • 0 - 18°
    • 19° - 25°
    • 26° - 33°
    • 34° o más
    Habitación

    Largo (m)

    1

    Ancho (m)

    1
    Ventanas

    Ancho (m)

    1

    Alto (m)

    1

    Personas

    Computadoras

    Lámparas

    Electrodomésticos

    `; getCalculatorOnSlider.innerHTML = contentDisplayCalcu; const buttonTriggerPlus = document.querySelectorAll(".plus"); const buttonTriggerSubstract = document.querySelectorAll(".substract"); const active_change_weather = document.querySelectorAll(".active_change_weather"); const inputByClime = document.getElementById("selectedWeather"); const buttonTriggerCalculator = document.getElementById("buttonTriggerCalculator"); // Size animation const allRanges = document.querySelectorAll(".range-wrap"); allRanges.forEach((wrap) => { const range = wrap.querySelector(".range"); const bubble = wrap.querySelector(".bubble"); range.addEventListener("input", () => { setBubble(range, bubble); }); setBubble(range, bubble); }); function setBubble(range, bubble) { const val = range.value; const min = range.min ? range.min : 0; const max = range.max ? range.max : 100; const newVal = Number(((val - min) * 100) / (max - min)); bubble.innerHTML = val; } // Size animation // Default active weather const defaultClimeActive = document.getElementById("weather3"); defaultClimeActive.className = "active_change_weather active_weather"; inputByClime.value = 3; // Choice Weather for (let i = 0; i < active_change_weather.length; i++) { active_change_weather[i].addEventListener("click", () => { for (let x = 0; x < active_change_weather.length; x++) { active_change_weather[x].className = "active_change_weather"; } switch (active_change_weather[i].id) { case "weather1": inputByClime.value = 1; active_change_weather[i].className = "active_change_weather active_weather"; break; case "weather2": inputByClime.value = 2; active_change_weather[i].className = "active_change_weather active_weather"; break; case "weather3": inputByClime.value = 3; active_change_weather[i].className = "active_change_weather active_weather"; break; case "weather4": inputByClime.value = 4; active_change_weather[i].className = "active_change_weather active_weather"; break; } }); } for (let i = 0; i < buttonTriggerPlus.length; i++) { buttonTriggerPlus[i].addEventListener("click", (e) => { if (Number(e.target.parentNode.parentNode.children[0].value) < 10) { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) + 1; } }); } for (let i = 0; i < buttonTriggerSubstract.length; i++) { buttonTriggerSubstract[i].addEventListener("click", (e) => { if (Number(e.target.parentNode.parentNode.children[0].value) > 0) { e.target.parentNode.parentNode.children[0].value = Number(e.target.parentNode.parentNode.children[0].value) - 1; } }); } // Choice Weather // Calculator trigger buttonTriggerCalculator.addEventListener("click", async () => { // Calculator container let contentCalculator = document.getElementById("content_calculator"); // Space size let sizeWidth = document.getElementById("sizeWidth"); let sizeLong = document.getElementById("sizeLong"); // Number of people let people = document.getElementById("people"); // Number of electrodomestics let electrodomestics = document.getElementById("electrodomestics"); // Number of computers let computers = document.getElementById("computers"); // Number of lapms let lapms = document.getElementById("lapms"); // Window Size let windowWidth = document.getElementById("window_width"); let windowSize = document.getElementById("window_size"); // This is a temporal variable, this save the weather temp + total charge let r; // Total charge let finalChargeTemp; const valuePerPeople = 500; const valuePerLamps = 200; const valuePerPc = 400; const valuePerElectro = 400; const valuePerWindow = 700; function calculateTemperatureCharge() { let finalTempCharge = 0; finalTempCharge += Number(people.value) > 0 ? Number(people.value) * valuePerPeople : 0; finalTempCharge += Number(computers.value) > 0 ? Number(computers.value) * valuePerPc : 0; finalTempCharge += Number(lapms.value) > 0 ? Number(lapms.value) * valuePerLamps : 0; finalTempCharge += Number(electrodomestics.value) > 0 ? Number(electrodomestics.value) * valuePerElectro : 0; finalTempCharge += Number(windowWidth.value) * Number(windowSize.value) * valuePerWindow; return finalTempCharge; } switch (inputByClime.value) { case "1": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 500; r = finalTemp + finalChargeTemp; break; case "2": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 550; r = finalTemp + finalChargeTemp; break; case "3": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 600; r = finalTemp + finalChargeTemp; break; case "4": finalChargeTemp = calculateTemperatureCharge(); finalTemp = Number(sizeWidth.value) * Number(sizeLong.value) * 650; r = finalTemp + finalChargeTemp; break; } contentCalculator.style.display = "flex"; const formData = new FormData(); formData.append("category_product", r); const configureHeaders = { method: "POST", body: formData, }; let current_page = 1; let currentPageButton = 1; let products_per_page = 3; let buttons_per_page = 5; let product_taxonomy = 0; let is_show_taxonomy_accesor = false; let htmlPrev = '
    '; htmlPrev += '

    Estamos cargando los productos

    '; htmlPrev += "
    "; contentCalculator.innerHTML = htmlPrev; const getInputData = await fetch( "https://iprpartesyrepuestos.com/btu_calculator/getAllProducts.php", configureHeaders ); const finalInformation = await getInputData.json(); // Sorting produc var sortingArr = []; finalInformation.forEach((e) => { sortingArr.push(e); }); var sortByPrice = sortingArr.slice(0); sortByPrice.sort(function (a, b) { return a.price - b.price; }); // Sorting produc function countNumberOfPages() { return Math.ceil(sortByPrice.length / products_per_page); } let getTotalPagesToShow = countNumberOfPages(); var showButtonsNextPrev = []; for (let i = 0; i < getTotalPagesToShow; i++) { showButtonsNextPrev.push( "" ); } function countNumberOfButtonsPerPage() { return Math.ceil(showButtonsNextPrev.length / buttons_per_page); } let totalPageButtonsfinal = countNumberOfButtonsPerPage(); function getAllTotalProducts(page) { current_page = page; let totalArr = sortByPrice.slice( (current_page - 1) * products_per_page, current_page * products_per_page ); return totalArr; } function getAllTotalButtons(pageBut) { currentPageButton = pageBut; let totalButtons = showButtonsNextPrev.slice( (currentPageButton - 1) * buttons_per_page, currentPageButton * buttons_per_page ); return totalButtons; } switch (true) { case r < 9000: product_taxonomy = "9000 BTU"; break; case r >= 9000 && r <= 12999: product_taxonomy = "12000 BTU"; break; case r >= 13000 && r <= 18999: product_taxonomy = "18000 BTU"; break; case r >= 19000 && r <= 25999: product_taxonomy = "24000 BTU"; break; case r >= 26000 && r <= 37999: product_taxonomy = "36000 BTU"; break; case r >= 38000 && r <= 49999: product_taxonomy = "48000 BTU"; break; case r >= 50000 && r <= 59999: product_taxonomy = "60000 BTU"; break; default: product_taxonomy = "No contamos con esta capacidad"; is_show_taxonomy_accesor = true; break; } let html = '
    '; html += '"; html += '
    x
    '; if (!is_show_taxonomy_accesor) { html += '
    LA CAPACIDAD DEL EQUIPO PARA EL AMBIENTE SELECCIONADO ES:
    '; html += '

    ' + product_taxonomy + "

    "; html += '
    Tenemos disponibles los siguientes equipos:
    '; html += '
      '; let firstRender = getAllTotalProducts(current_page); firstRender .map((element) => { html += "
    • "; html += element.content; html += "
    • "; }) .join(""); html += "
    "; let buttonsToShow = getAllTotalButtons(currentPageButton); let classButtons = buttonsToShow.length == 1 ? 'hidden_class' : ''; html += "
    "; html += ""; html += "
    "; if (buttonsToShow.length > 1) { buttonsToShow.forEach((but) => { html += but; }); } html += "
    "; html += ""; html += "
    "; } else { html += '
    '; html += "

    Tu necesidad requiere una asesoría personalizada

    "; html += ' Contactar'; html += "
    "; } html += "
    "; contentDisplay = html; contentCalculator.innerHTML = contentDisplay; if (!is_show_taxonomy_accesor) { const getButtonListFirst = document.getElementById("pagination_products_list"); if (getButtonListFirst.children[0]) { getButtonListFirst.children[0].className = "pagination_button_item active_button"; } const getContentPaginations = document.getElementById("pagination_products_list"); const getNextPage = document.getElementById("goTonextPage"); const getPrevPage = document.getElementById("goToprevPage"); getNextPage.addEventListener("click", (e) => { if (currentPageButton < totalPageButtonsfinal) { currentPageButton++; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById("pagination_products_list"); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getPrevPage.addEventListener("click", (e) => { if (currentPageButton !== 1) { currentPageButton--; let buttonsToShow = getAllTotalButtons(currentPageButton); const getContainerButtons = document.getElementById("pagination_products_list"); let html2 = ""; buttonsToShow.forEach((but) => { html2 += but; }); getContainerButtons.innerHTML = html2; } }); getContentPaginations.addEventListener("click", (e) => { const getButtonListT = document.getElementById("pagination_products_list"); for (let x = 0; x < getButtonListT.children.length; x++) { getButtonListT.children[x].className = "pagination_button_item"; } if (e.target.tagName === "BUTTON") { e.target.className = "pagination_button_item active_button"; let totalArrShow = getAllTotalProducts(e.target.id.split("-")[1]); let getContainer = document.getElementById("products_change_list"); let html1 = ""; totalArrShow.map((element) => { html1 += "
  • "; html1 += element.content; html1 += "
  • "; }); getContainer.innerHTML = html1; } }); } const getAcceptButton = document.getElementById("btn_policy_accept"); const getModalContainerPolicy = document.getElementById("modal_accept_or_reject_policy"); const getRejectButton = document.getElementById("btn_policy_reject"); getRejectButton.addEventListener("click", (_) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); getAcceptButton.addEventListener("click", (_) => { getModalContainerPolicy.style.display = "none"; }); const closeTabTrigger = document.getElementById("close_tab_products_ui"); closeTabTrigger.addEventListener("click", (e) => { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; }); contentCalculator.addEventListener("click", (e) => { if (e.target.id == "content_calculator") { contentCalculator.innerHTML = ""; contentCalculator.style.display = "none"; } }); }); } const evaluateCalculatorOnSpecificCategory = document.getElementById( "buttonActivateCalculatorOnCategory" ); if (evaluateCalculatorOnSpecificCategory) { evaluateCalculatorOnSpecificCategory.addEventListener("click", (_) => { evalueActiveCalculatorOnCategory(); }); } if (buttonActiveCal) { buttonActiveCal.addEventListener("click", (e) => { evalueActiveCalculator(); }); } if (buttonFromBannerActive) { buttonFromBannerActive.addEventListener("click", (e) => { evalueActiveCalculator(); }); }