{"id":54573,"date":"2024-08-30T18:38:58","date_gmt":"2024-08-30T18:38:58","guid":{"rendered":"https:\/\/podreg.ro\/?page_id=54573"},"modified":"2026-04-24T14:50:16","modified_gmt":"2026-04-24T14:50:16","slug":"configurator-cabane-lemn","status":"publish","type":"page","link":"https:\/\/podreg.ro\/en\/configurator-cabane-lemn\/","title":{"rendered":"Configurator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"54573\" class=\"elementor elementor-54573\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-44d837ac elementor-section-boxed elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"44d837ac\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-428179d9 sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"428179d9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c3ac02d sc_height_huge sc_fly_static elementor-widget elementor-widget-spacer\" data-id=\"3c3ac02d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c042fa sc_fly_static elementor-widget elementor-widget-shortcode\" data-id=\"0c042fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<style>\n#podreg-configurator *{box-sizing:border-box}\n#podreg-configurator{\n  max-width:920px;\n  margin:30px auto;\n  padding:14px;\n  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\n  color:#111827;\n}\n#podreg-configurator .pc-card{\n  background:#fff;\n  border:1px solid #e5e7eb;\n  border-radius:18px;\n  box-shadow:0 10px 30px rgba(17,24,39,.08);\n  overflow:hidden;\n}\n#podreg-configurator .pc-head{\n  text-align:center;\n  padding:24px 22px 16px;\n  background:linear-gradient(180deg,#fff,#f8fafc);\n  border-bottom:1px solid #e5e7eb;\n}\n#podreg-configurator .pc-logo{max-height:75px}\n#podreg-configurator .pc-title{font-size:22px;font-weight:900;margin:10px 0 4px}\n#podreg-configurator .pc-sub{font-size:13px;color:#6b7280;margin:0}\n#podreg-configurator .pc-body{background:#f6f7fb;padding:22px}\n#podreg-configurator .pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n@media(max-width:760px){#podreg-configurator .pc-grid{grid-template-columns:1fr}}\n#podreg-configurator .pc-field{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:13px}\n#podreg-configurator .pc-field.full{grid-column:1\/-1}\n#podreg-configurator label,#podreg-configurator .pc-label{display:block;font-weight:800;margin-bottom:8px}\n#podreg-configurator input,#podreg-configurator select{\n  width:100%;\n  padding:12px;\n  border:1px solid #e5e7eb;\n  border-radius:12px;\n  font-size:15px;\n  outline:none;\n}\n#podreg-configurator input:focus,#podreg-configurator select:focus{\n  border-color:#9fd0ee;\n  box-shadow:0 0 0 4px rgba(0,124,186,.12);\n}\n#podreg-configurator .pc-row{display:flex;gap:12px;flex-wrap:wrap}\n#podreg-configurator .pc-check{\n  display:flex;\n  align-items:center;\n  gap:9px;\n  background:#fff;\n  border:1px dashed #d1d5db;\n  border-radius:12px;\n  padding:10px 12px;\n  font-weight:700;\n}\n#podreg-configurator .pc-check input{width:auto}\n#podreg-configurator .pc-error{display:none;color:#dc2626;font-size:13px;font-weight:700;margin-top:7px}\n#podreg-configurator .pc-preview{\n  margin-top:16px;\n  background:#fff;\n  border:1px solid #e5e7eb;\n  border-radius:14px;\n  overflow:hidden;\n}\n#podreg-configurator .pc-preview-title{\n  padding:12px 14px;\n  background:#f3f4f6;\n  font-weight:900;\n}\n#podreg-configurator .pc-table{width:100%;border-collapse:collapse}\n#podreg-configurator .pc-table th,#podreg-configurator .pc-table td{\n  padding:10px 12px;\n  border-top:1px solid #e5e7eb;\n  text-align:left;\n}\n#podreg-configurator .pc-table th{width:230px;background:#fafafa}\n#podreg-configurator .pc-actions{\n  padding:18px 22px;\n  background:#fff;\n  border-top:1px solid #e5e7eb;\n  display:flex;\n  justify-content:space-between;\n  gap:12px;\n  flex-wrap:wrap;\n  align-items:center;\n}\n#podreg-configurator button{\n  background:#007cba;\n  color:#fff;\n  border:0;\n  padding:13px 18px;\n  border-radius:14px;\n  font-weight:900;\n  font-size:15px;\n  cursor:pointer;\n}\n#podreg-configurator button:hover{background:#005fa3}\n#podreg-configurator .secondary{background:#111827}\n#podreg-configurator .note{font-size:12px;color:#6b7280}\n#podreg-configurator .pc-status{padding:0 22px 18px}\n#podreg-configurator .pill{display:inline-flex;padding:10px 12px;border-radius:14px;font-weight:900}\n#podreg-configurator .ok{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}\n#podreg-configurator .err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}\n#podreg-configurator a{color:#007cba}\n<\/style>\n\n<div id=\"podreg-configurator\" data-endpoint=\"https:\/\/podreg.ro\/en\/wp-json\/podreg\/v1\/oferta-submit-v104\">\n  <div class=\"pc-card\">\n    <div class=\"pc-head\">\n      <img decoding=\"async\" class=\"pc-logo\" src=\"https:\/\/podreg.ro\/wp-content\/uploads\/2024\/04\/Case-Lemn-4.png\">\n      <div class=\"pc-title\">Configurator Cabane<\/div>\n      <p class=\"pc-sub\">Completeaza datele si primesti oferta pe email.<\/p>\n    <\/div>\n\n    <div class=\"pc-body\">\n      <div class=\"pc-grid\">\n        <div class=\"pc-field\">\n          <label>Nume si prenume *<\/label>\n          <input id=\"pc_nume\" type=\"text\" placeholder=\"Ex: Popescu Ion\">\n          <div id=\"err_nume\" class=\"pc-error\">Numele este obligatoriu.<\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label>Telefon *<\/label>\n          <input id=\"pc_telefon\" type=\"tel\" placeholder=\"Ex: 07xx xxx xxx\">\n          <div id=\"err_telefon\" class=\"pc-error\">Telefonul este obligatoriu.<\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label>E-mail *<\/label>\n          <input id=\"pc_email\" type=\"email\" placeholder=\"exemplu@email.ro\">\n          <div id=\"err_email\" class=\"pc-error\">Email invalid.<\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label>Tip cabana<\/label>\n          <select id=\"pc_tip\">\n            <option value=\"standard\" data-price=\"468.125\">Cabana Standard<\/option>\n            <option value=\"premium\" data-price=\"601.875\">Cabana Premium<\/option>\n            <option value=\"eco\" data-price=\"361.125\">Cabana ECO<\/option>\n          <\/select>\n          <p id=\"pc_desc\" style=\"font-size:13px;color:#6b7280;font-weight:700;margin:8px 0 0\"><\/p>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label>Suprafata cabana (m2) *<\/label>\n          <input id=\"pc_suprafata\" type=\"number\" min=\"1\" placeholder=\"Ex: 45\">\n          <div id=\"err_suprafata\" class=\"pc-error\">Suprafata este obligatorie.<\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label>TVA<\/label>\n          <select id=\"pc_tva\">\n            <option value=\"0\">Fara TVA<\/option>\n            <option value=\"0.21\">TVA 21%<\/option>\n          <\/select>\n        <\/div>\n\n        <div class=\"pc-field full\">\n          <div class=\"pc-label\">Optiuni<\/div>\n          <div class=\"pc-row\">\n            <label class=\"pc-check\"><input id=\"pc_manopera\" type=\"checkbox\"> Adauga manopera<\/label>\n            <label class=\"pc-check\"><input id=\"pc_terasa_cb\" type=\"checkbox\"> Adauga terasa<\/label>\n            <label class=\"pc-check\">\n              <input id=\"pc_gdpr\" type=\"checkbox\">\n              Sunt de acord cu <a href=\"https:\/\/www.podreg.ro\/politica-de-confidentialitate\" target=\"_blank\">politica GDPR<\/a>\n            <\/label>\n          <\/div>\n          <div id=\"err_gdpr\" class=\"pc-error\">Trebuie bifat GDPR.<\/div>\n\n          <div id=\"terasa_box\" style=\"display:none;margin-top:12px\">\n            <input id=\"pc_terasa_m2\" type=\"number\" min=\"0\" placeholder=\"Suprafata terasa (m2)\">\n          <\/div>\n        <\/div>\n\n        <div class=\"pc-field full\">\n          <label>Observatii<\/label>\n          <input id=\"pc_obs\" type=\"text\" placeholder=\"Ex: locatie, termen, detalii...\">\n        <\/div>\n      <\/div>\n\n      <div class=\"pc-preview\">\n        <div class=\"pc-preview-title\">Rezumat cerere<\/div>\n        <table class=\"pc-table\">\n          <tbody id=\"preview\"><\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n\n    <div class=\"pc-actions\">\n      <button id=\"send\" type=\"button\">Trimite oferta pe email<\/button>\n      <button id=\"reset\" type=\"button\" class=\"secondary\">Reset<\/button>\n      <span class=\"note\">Pretul nu este afisat in pagina, dar este inclus in email.<\/span>\n    <\/div>\n\n    <div class=\"pc-status\">\n      <div id=\"status\"><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const desc = {\n    standard: 'Pereti din grinzi lemn masiv 100x200 mm',\n    premium: 'Dublaj in structura Timberframe, izolatie vata bazaltica 100 mm, spatiu tehnic\/capsula de aer',\n    eco: 'Structura Timberframe cu izolatie vata bazaltica 100 mm, OSB 12 mm, membrana difuzie vapori'\n  };\n\n  const root = document.getElementById('podreg-configurator');\n  const endpoint = root.dataset.endpoint;\n  const $ = id => document.getElementById(id);\n\n  function calc(){\n    const tip = $('pc_tip');\n    const pret_m2 = Number(tip.selectedOptions[0].dataset.price);\n    const suprafata = Number($('pc_suprafata').value || 0);\n    const manopera = $('pc_manopera').checked;\n    const terasa = $('pc_terasa_cb').checked;\n    const terasa_m2 = terasa ? Number($('pc_terasa_m2').value || 0) : 0;\n    const tva = Number($('pc_tva').value || 0);\n\n    const cost_manopera = manopera ? 156.875 * suprafata : 0;\n    const pret_terasa = 102.9875;\n    const cost_terasa = terasa ? terasa_m2 * pret_terasa : 0;\n    const subtotal = pret_m2 * suprafata + cost_manopera + cost_terasa;\n    const valoare_tva = subtotal * tva;\n    const total = subtotal + valoare_tva;\n\n    return {pret_m2,suprafata,manopera,terasa,terasa_m2,tva,cost_manopera,pret_terasa,cost_terasa,subtotal,valoare_tva,total};\n  }\n\n  function preview(){\n    const c = calc();\n    $('pc_desc').textContent = desc[$('pc_tip').value];\n    $('preview').innerHTML = `\n      <tr><th>Client<\/th><td>${$('pc_nume').value || '-'}<\/td><\/tr>\n      <tr><th>Telefon<\/th><td>${$('pc_telefon').value || '-'}<\/td><\/tr>\n      <tr><th>E-mail<\/th><td>${$('pc_email').value || '-'}<\/td><\/tr>\n      <tr><th>Tip cabana<\/th><td>${$('pc_tip').selectedOptions[0].text}<\/td><\/tr>\n      <tr><th>Suprafata<\/th><td>${c.suprafata || 0} m2<\/td><\/tr>\n      <tr><th>Manopera<\/th><td>${c.manopera ? 'Da' : 'Nu'}<\/td><\/tr>\n      <tr><th>Terasa<\/th><td>${c.terasa ? 'Da - ' + c.terasa_m2 + ' m2' : 'Nu'}<\/td><\/tr>\n      <tr><th>TVA<\/th><td>${Math.round(c.tva * 100)}%<\/td><\/tr>\n      <tr><th>Observatii<\/th><td>${$('pc_obs').value || '-'}<\/td><\/tr>\n    `;\n  }\n\n  function isValidEmail(value) {\n    value = String(value || '').trim();\n    return value.includes('@') && value.includes('.') && value.indexOf('@') > 0 && value.lastIndexOf('.') > value.indexOf('@') + 1;\n  }\n\n  function validate(){\n    let ok = true;\n    const rules = [\n      ['err_nume', $('pc_nume').value.trim().length >= 2],\n      ['err_telefon', $('pc_telefon').value.trim().length >= 3],\n      ['err_email', isValidEmail($('pc_email').value)],\n      ['err_suprafata', Number($('pc_suprafata').value) > 0],\n      ['err_gdpr', $('pc_gdpr').checked]\n    ];\n\n    rules.forEach(r => {\n      if(!r[1]) ok = false;\n      $(r[0]).style.display = r[1] ? 'none' : 'block';\n    });\n\n    return ok;\n  }\n\n  async function send(){\n    if(!validate()){\n      $('status').innerHTML = '<span class=\"pill err\">Verifica campurile marcate.<\/span>';\n      return;\n    }\n\n    const c = calc();\n    const payload = {\n      nume: $('pc_nume').value.trim(),\n      telefon: $('pc_telefon').value.trim(),\n      email: $('pc_email').value.trim(),\n      gdpr: $('pc_gdpr').checked,\n      tip_cabana: $('pc_tip').value,\n      tip_text: $('pc_tip').selectedOptions[0].text,\n      descriere: desc[$('pc_tip').value],\n      suprafata: c.suprafata,\n      include_manopera: c.manopera,\n      include_terasa: c.terasa,\n      terasa_m2: c.terasa_m2,\n      observatii: $('pc_obs').value.trim(),\n      pret_m2: c.pret_m2,\n      cost_manopera: c.cost_manopera,\n      pret_terasa: c.pret_terasa,\n      cost_terasa: c.cost_terasa,\n      subtotal: c.subtotal,\n      cota_tva: c.tva,\n      valoare_tva: c.valoare_tva,\n      total: c.total,\n      currency: 'EUR'\n    };\n\n    $('send').disabled = true;\n    $('send').textContent = 'Se trimite...';\n\n    try {\n      const res = await fetch(endpoint, {\n        method:'POST',\n        headers:{'Content-Type':'application\/json'},\n        body:JSON.stringify(payload)\n      });\n      const data = await res.json();\n      if(data.status === 'ok'){\n        $('status').innerHTML = '<span class=\"pill ok\">Oferta a fost trimisa. Referinta: '+data.offer_ref+'<\/span>';\n      } else {\n        $('status').innerHTML = '<span class=\"pill err\">Eroare: '+(data.error || 'la trimitere')+'<\/span>';\n      }\n    } catch(e) {\n      $('status').innerHTML = '<span class=\"pill err\">Eroare de retea.<\/span>';\n    }\n\n    $('send').disabled = false;\n    $('send').textContent = 'Trimite oferta pe email';\n  }\n\n  function reset(){\n    ['pc_nume','pc_telefon','pc_email','pc_suprafata','pc_terasa_m2','pc_obs'].forEach(id => $(id).value = '');\n    $('pc_tip').value = 'standard';\n    $('pc_tva').value = '0';\n    $('pc_manopera').checked = false;\n    $('pc_terasa_cb').checked = false;\n    $('pc_gdpr').checked = false;\n    $('terasa_box').style.display = 'none';\n    $('status').innerHTML = '';\n    preview();\n  }\n\n  ['pc_nume','pc_telefon','pc_email','pc_tip','pc_suprafata','pc_tva','pc_manopera','pc_terasa_cb','pc_terasa_m2','pc_obs'].forEach(id => {\n    $(id).addEventListener('input', preview);\n    $(id).addEventListener('change', preview);\n  });\n\n  $('pc_terasa_cb').addEventListener('change', function(){\n    $('terasa_box').style.display = this.checked ? 'block' : 'none';\n  });\n\n  $('send').addEventListener('click', send);\n  $('reset').addEventListener('click', reset);\n\n  preview();\n})();\n<\/script>\n\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-54573","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/pages\/54573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/comments?post=54573"}],"version-history":[{"count":4,"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/pages\/54573\/revisions"}],"predecessor-version":[{"id":58929,"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/pages\/54573\/revisions\/58929"}],"wp:attachment":[{"href":"https:\/\/podreg.ro\/en\/wp-json\/wp\/v2\/media?parent=54573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}