Refactor breadcrumb margins and add reCAPTCHA validation to contact forms

This commit is contained in:
Roman Pyrih
2025-04-22 15:28:06 +02:00
parent e05749bfda
commit 651d2f61f2
12 changed files with 307 additions and 506 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@ strong {
} }
.breadcrumbs { .breadcrumbs {
margin: 24px 0; margin: 14px 0;
} }
.box-0 { .box-0 {

View File

@@ -20,7 +20,7 @@ p {
padding: 0; padding: 0;
} }
.breadcrumbs { .breadcrumbs {
margin: 24px 0; margin: 14px 0;
} }
.section-title { .section-title {

View File

@@ -8801,6 +8801,10 @@ div[class^='col-'] {
position: absolute; position: absolute;
bottom: 40px; bottom: 40px;
right: 30px; right: 30px;
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
.form-send-content { .form-send-content {
background-color: $cBlack; background-color: $cBlack;
@@ -9258,6 +9262,7 @@ div[class^='col-'] {
right: 0; right: 0;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center;
.step-send { .step-send {
position: relative !important; position: relative !important;

View File

@@ -22,7 +22,8 @@ function saveContactData(
$title = '', $title = '',
$company = '', $company = '',
$invoiceNumber = '', $invoiceNumber = '',
$address = '') { $address = '',
$formId = '') {
$contactHistoryFile = $_SERVER['DOCUMENT_ROOT'] . '/autoinstalator/wordpress9/contact.csv'; $contactHistoryFile = $_SERVER['DOCUMENT_ROOT'] . '/autoinstalator/wordpress9/contact.csv';
@@ -36,7 +37,8 @@ function saveContactData(
'Company' => str_replace( [ '\'', '"' ], '', $company ), 'Company' => str_replace( [ '\'', '"' ], '', $company ),
'Invoice_number' => str_replace( [ '\'', '"' ], '', $invoiceNumber ), 'Invoice_number' => str_replace( [ '\'', '"' ], '', $invoiceNumber ),
'Address' => str_replace( [ '\'', '"' ], '', $address ), 'Address' => str_replace( [ '\'', '"' ], '', $address ),
'Timestamp' => date('Y-m-d H:i:s', time()) 'Timestamp' => date('Y-m-d H:i:s', time()),
'Form_id' => str_replace( [ '\'', '"' ], '', $formId ),
); );
if (!file_exists($contactHistoryFile)) { if (!file_exists($contactHistoryFile)) {
@@ -94,7 +96,18 @@ if ( \S::get( 'action' ) == 'send-contact' and \S::get( 'token' ) == \S::get_ses
$text .= '<p><b>Wiadomość:</b> ' . nl2br(\S::get('message')) . '</p>'; $text .= '<p><b>Wiadomość:</b> ' . nl2br(\S::get('message')) . '</p>';
$text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>'; $text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>';
saveContactData( \S::get( 'inputName' ), \S::get( 'inputEmail' ), '', \S::get('message'), '', \S::get( 'inputTitle' ), '', '', '' ); saveContactData(
\S::get( 'inputName' ),
\S::get( 'inputEmail' ),
'',
\S::get('message'),
'',
\S::get( 'inputTitle' ),
'',
'',
'',
'contact'
);
if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) ) if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) )
{ {
@@ -116,8 +129,28 @@ if ( \S::get( 'action' ) == 'send-contact' and \S::get( 'token' ) == \S::get_ses
if ( \S::get('action') == 'send-contact-modal' and \S::get( 'token' ) == \S::get_session( 'modal-token' ) and !\S::get( 'website' ) ) if ( \S::get('action') == 'send-contact-modal' and \S::get( 'token' ) == \S::get_session( 'modal-token' ) and !\S::get( 'website' ) )
{ {
$countfiles = count($_FILES['files']['name']); $captcha = $_POST['g-recaptcha-response'] ?? null;
if (!$captcha) {
\S::alert("Weryfikacja reCaptcha nie powiodła się. Proszę spróbować ponownie.");
header('Location: ' . $_SERVER['REQUEST_URI']);
exit;
}
$secretKey = "6LfaovglAAAAAAz84QLdbONodP1yJUpSOVTnFMt4";
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($secretKey) . '&response=' . urlencode($captcha);
$response = file_get_contents($url);
$responseKeys = json_decode($response, true);
if (!$responseKeys['success']) {
\S::alert("Jesteś robotem!");
header('Location: ' . $_SERVER['REQUEST_URI']);
exit;
}
$countfiles = count($_FILES['files']['name']);
for ($i = 0; $i < $countfiles; $i++) for ($i = 0; $i < $countfiles; $i++)
{ {
$filename = $_FILES['files']['name'][$i]; $filename = $_FILES['files']['name'][$i];
@@ -157,11 +190,23 @@ if ( \S::get('action') == 'send-contact-modal' and \S::get( 'token' ) == \S::get
$text .= '<p><b>wymiary swojej stolarki:</b> ' . nl2br(\S::get('wymiaryStolarki')) . '</p>'; $text .= '<p><b>wymiary swojej stolarki:</b> ' . nl2br(\S::get('wymiaryStolarki')) . '</p>';
$text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>'; $text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>';
saveContactData( \S::get('name'), \S::get('email'), \S::get('phone'), \S::get('information'), \S::get('address'), '', '', '', '', ); saveContactData(
\S::get('name'),
\S::get('email'),
\S::get('phone'),
\S::get('information'),
\S::get('address'),
'',
'',
'',
'',
'modal-contact-form'
);
if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) ) if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) )
{ {
\S::alert( \S::lang('wiadomosc-zostala-wyslana' ) ); \S::alert( \S::lang('wiadomosc-zostala-wyslana' ) );
header('Location: ' . $_SERVER['REQUEST_URI'] . '?modal_form_sent=1');
} }
else else
\S::alert( \S::lang('wiadomosc-niezostala-wyslana' ) ); \S::alert( \S::lang('wiadomosc-niezostala-wyslana' ) );
@@ -221,7 +266,8 @@ if ( \S::get( 'action' ) == 'send-services' and \S::get( 'token' ) == \S::get_se
'', '',
\S::get( 'inputCompanyName' ), \S::get( 'inputCompanyName' ),
\S::get( 'inputInvoiceNumber' ), \S::get( 'inputInvoiceNumber' ),
\S::get( 'inputAdres' ) \S::get( 'inputAdres' ),
'services form'
); );
if ( \S::send_email( 'zgloszenia@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) ) if ( \S::send_email( 'zgloszenia@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) )
@@ -292,7 +338,8 @@ if ( \S::get('action') == 'send-contact-landing' and \S::get( 'token' ) == \S::g
'', '',
'', '',
'', '',
'' '',
'landing form'
); );
if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) ) if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) )
@@ -374,11 +421,24 @@ if ( \S::get('action') == 'send-contact-form-new' and \S::get( 'token' ) == \S::
$text .= '<p><b>Wiadomość:</b> ' . nl2br(\S::get('message')) . '</p>'; $text .= '<p><b>Wiadomość:</b> ' . nl2br(\S::get('message')) . '</p>';
$text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>'; $text .= '<p style="font-size: 13px; color: #ccc; margin-top: 50px;"><b>Wysłano:</b> ' . date( 'Y-m-d H:i:s' ) . '</p>';
saveContactData( \S::get('name'), \S::get('email'), \S::get('phone'), \S::get('message'), \S::get('postal_code'), '', '', '', '', ); saveContactData(
\S::get('name'),
\S::get('email'),
\S::get('phone'),
\S::get('message'),
\S::get('postal_code'),
'',
'',
'',
'',
'contact-form'
);
if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) ) if ( \S::send_email( 'marketing@vidok.com', 'Wiadomość ze strony vidok.com', $text, \S::get('email'), $files_to_send ) )
{ {
\S::alert( \S::lang('wiadomosc-zostala-wyslana' ) ); \S::alert( \S::lang('wiadomosc-zostala-wyslana' ) );
header('Location: ' . $_SERVER['REQUEST_URI'] . '?form_sent=1');
exit;
} }
else else
\S::alert( \S::lang('wiadomosc-niezostala-wyslana' ) ); \S::alert( \S::lang('wiadomosc-niezostala-wyslana' ) );

View File

@@ -4,4 +4,7 @@ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P3LTD4T');</script> })(window,document,'script','dataLayer','GTM-P3LTD4T');</script>
<!-- End Google Tag Manager --> <!-- End Google Tag Manager -->
<script src='https://www.google.com/recaptcha/api.js' async defer></script>

View File

@@ -0,0 +1,5 @@
<div class="button-contact">
<a href="/kontakt#contact-form-new">
<img alt="" src="/upload/filemanager/icon/koperta.png" />
</a>
</div>

View File

@@ -175,6 +175,7 @@
<button class="step-prev-to-quick-form2">&lt; Powrót</button> <button class="step-prev-to-quick-form2">&lt; Powrót</button>
</div> </div>
<div class="step-send"> <div class="step-send">
<div class="g-recaptcha" data-sitekey="6LfaovglAAAAAAieLVC7i4xGkQA5ufXUbWLipSbp"></div>
<input type="submit" value="Wyślij zapytanie &nbsp;>" class="form-send-content"> <input type="submit" value="Wyślij zapytanie &nbsp;>" class="form-send-content">
</div> </div>
</div> </div>
@@ -187,117 +188,141 @@
<link class="footer" href="/plugins/fileuploader/jquery.fileuploader.min.css" rel="stylesheet" type="text/css"> <link class="footer" href="/plugins/fileuploader/jquery.fileuploader.min.css" rel="stylesheet" type="text/css">
<link class="footer" href="/plugins/fileuploader/font/font-fileuploader.css" rel="stylesheet" type="text/css"> <link class="footer" href="/plugins/fileuploader/font/font-fileuploader.css" rel="stylesheet" type="text/css">
<script class="footer" type="text/javascript" src="/plugins/fileuploader/jquery.fileuploader.min.js"></script> <script class="footer" type="text/javascript" src="/plugins/fileuploader/jquery.fileuploader.min.js"></script>
<script class="footer" type="text/javascript"> <script class="footer" type="text/javascript">
$('body').on('submit', '#modal-contact-form', function(e) { let modalContactForm_Started = false;
window.dataLayer = window.dataLayer || []; $('#modal-contact-form input, #modal-contact-form textarea, #modal-contact-form select').one('input change', function() {
window.dataLayer.push({ if (!modalContactForm_Started) {
'event': 'formSent' modalContactForm_Started = true;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "form_start",
form_name: "Kontakt (Modal)",
form_id: "modal-contact-form",
form_step: "1"
});
}
}); });
});
// Popup open $(function () {
$(".header-container .btn-popup-oferta").on(click_event, function() { const urlParams = new URLSearchParams(window.location.search);
$(".box-popup").show(); if (urlParams.get('modal_form_sent') === '1') {
$(".box-popup .modal-step-1").show(); window.dataLayer = window.dataLayer || [];
}); window.dataLayer.push({
// Popup close event: "form_submit",
$(".box-popup .modal-close img").on(click_event, function() { form_name: "Kontakt (Modal)",
$(".box-popup").hide(); form_id: "modal-contact-form",
$(".box-popup .modal-step-1").hide(); submission_status: "success"
$(".box-popup .modal-step-2").hide(); });
$(".box-popup .modal-step-3").hide(); }
}); });
// Okno start (1) </script>
$(".box-popup .modal-step-1-wrap .box-left").on(click_event, function() {
$(".box-popup .modal-step-1").hide(); <script class="footer" type="text/javascript">
$(".box-popup .modal-step-2").show(); // Popup open
kontaktTogle(); $(".header-container .btn-popup-oferta").on(click_event, function() {
}); $(".box-popup").show();
$(".box-popup .modal-step-1-wrap .box-right").on(click_event, function() { $(".box-popup .modal-step-1").show();
$(".box-popup .modal-step-1").hide(); });
$(".box-popup .modal-step-3").show(); // Popup close
}); $(".box-popup .modal-close img").on(click_event, function() {
// Okno 'szybki kontakt' (2) $(".box-popup").hide();
$(".box-popup .modal-step-2 .modal-tabs .item").on(click_event, function() { $(".box-popup .modal-step-1").hide();
$(".box-popup .modal-step-2 .modal-tabs .item").removeClass("active"); $(".box-popup .modal-step-2").hide();
$(this).addClass("active"); $(".box-popup .modal-step-3").hide();
kontaktTogle(); });
}) // Okno start (1)
$(".box-popup .modal-step-2 .step-prev-to-quick-form2").on(click_event, function() { $(".box-popup .modal-step-1-wrap .box-left").on(click_event, function() {
$(".box-popup .modal-step-1").show(); $(".box-popup .modal-step-1").hide();
$(".box-popup .modal-step-2").hide(); $(".box-popup .modal-step-2").show();
}) kontaktTogle();
// Okno 'szybki kontakt' nav tab });
function kontaktTogle() { $(".box-popup .modal-step-1-wrap .box-right").on(click_event, function() {
if ($(".box-popup .modal-step-2 .modal-tabs .item:nth-child(1)").hasClass("active")) { $(".box-popup .modal-step-1").hide();
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-1").css("display", "flex"); $(".box-popup .modal-step-3").show();
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-2").hide(); });
} else if ($(".box-popup .modal-step-2 .modal-tabs .item:nth-child(2)").hasClass("active")) { // Okno 'szybki kontakt' (2)
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-2").css("display", "flex"); $(".box-popup .modal-step-2 .modal-tabs .item").on(click_event, function() {
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-1").hide(); $(".box-popup .modal-step-2 .modal-tabs .item").removeClass("active");
$(this).addClass("active");
kontaktTogle();
})
$(".box-popup .modal-step-2 .step-prev-to-quick-form2").on(click_event, function() {
$(".box-popup .modal-step-1").show();
$(".box-popup .modal-step-2").hide();
})
// Okno 'szybki kontakt' nav tab
function kontaktTogle() {
if ($(".box-popup .modal-step-2 .modal-tabs .item:nth-child(1)").hasClass("active")) {
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-1").css("display", "flex");
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-2").hide();
} else if ($(".box-popup .modal-step-2 .modal-tabs .item:nth-child(2)").hasClass("active")) {
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-2").css("display", "flex");
$(".box-popup .modal-step-2 .modal-step-2-wrap .content-1").hide();
}
} }
} // Okno 'wycenana podstawie projektu' (3)
// Okno 'wycenana podstawie projektu' (3) $(".box-popup .modal-step-3 .step-prev-to-quick-form2").on(click_event, function() {
$(".box-popup .modal-step-3 .step-prev-to-quick-form2").on(click_event, function() { $(".box-popup .modal-step-1").show();
$(".box-popup .modal-step-1").show(); $(".box-popup .modal-step-3").hide();
$(".box-popup .modal-step-3").hide(); })
})
function wycenaNaPodstawieProjektu(event) { function wycenaNaPodstawieProjektu(event) {
event.preventDefault(); event.preventDefault();
$(".box-popup").show(); $(".box-popup").show();
$(".box-popup .modal-step-3").show(); $(".box-popup .modal-step-3").show();
} }
</script> </script>
<!-- Form action --> <!-- Form action -->
<script class="footer" type="text/javascript"> <script class="footer" type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
$('#modal-contact-form input.files').fileuploader({ $('#modal-contact-form input.files').fileuploader({
fileMaxSize: 10, fileMaxSize: 10,
extensions: ['jpg', 'jpeg', 'png', 'pdf', 'text/plain', 'csv', 'xml', 'xls', 'xlsx', 'doc', 'dot', 'docx'], extensions: ['jpg', 'jpeg', 'png', 'pdf', 'text/plain', 'csv', 'xml', 'xls', 'xlsx', 'doc', 'dot', 'docx'],
addMore: true, addMore: true,
captions: { captions: {
button: function(e) { button: function(e) {
return "WYBIERZ PLIKI"; return "WYBIERZ PLIKI";
}, },
feedback: function(e) { feedback: function(e) {
return ( return (
"PRZYCIĄGNIJ I UPUŚĆ LUB" "PRZYCIĄGNIJ I UPUŚĆ LUB"
); );
}, },
feedback2: function(e) { feedback2: function(e) {
return ( return (
e.length + e.length +
" " + " " +
(1 < e.length ? "pliki są wybrane" : "plik jest wybrany") (1 < e.length ? "pliki są wybrane" : "plik jest wybrany")
); );
}, },
confirm: "Potwierdzenie", confirm: "Potwierdzenie",
cancel: "Anuluj", cancel: "Anuluj",
name: "Nazwa", name: "Nazwa",
type: "Typ pliku", type: "Typ pliku",
size: "Rozmiar pliku", size: "Rozmiar pliku",
dimensions: "Wymiary", dimensions: "Wymiary",
duration: "Czas", duration: "Czas",
crop: "Utnij to", crop: "Utnij to",
rotate: "Koło", rotate: "Koło",
sort: "Sortować", sort: "Sortować",
open: "Otwierasz", open: "Otwierasz",
download: "Ściągnij", download: "Ściągnij",
remove: "Usunąć", remove: "Usunąć",
drop: "Umieść plik tutaj do przesłania", drop: "Umieść plik tutaj do przesłania",
paste: '<div class="fileuploader-pending-loader"></div> Wklej plik, kliknij tutaj, aby usunąć', paste: '<div class="fileuploader-pending-loader"></div> Wklej plik, kliknij tutaj, aby usunąć',
removeConfirmation: "Czy na pewno chcesz usunąć plik??", removeConfirmation: "Czy na pewno chcesz usunąć plik??",
errors: { errors: {
filesLimit: "Sam ${limit} pliki można przesyłać.", filesLimit: "Sam ${limit} pliki można przesyłać.",
filesType: "Sam ${extensions} pliki można przesyłać.", filesType: "Sam ${extensions} pliki można przesyłać.",
fileSize: "${name} jest zbyt duży! Wybierz plik do ${fileMaxSize} MB.", fileSize: "${name} jest zbyt duży! Wybierz plik do ${fileMaxSize} MB.",
filesSizeAll: "Wybrane pliki są za duże! Wybierz plik do ${maxSize} MB.", filesSizeAll: "Wybrane pliki są za duże! Wybierz plik do ${maxSize} MB.",
fileName: "Plik o tej samej nazwie ${name} jest już wybrany.", fileName: "Plik o tej samej nazwie ${name} jest już wybrany.",
remoteFile: "Pliki zdalne są niedozwolone.", remoteFile: "Pliki zdalne są niedozwolone.",
folderUpload: "Foldery są niedozwolone.", folderUpload: "Foldery są niedozwolone.",
}
} }
} });
}); });
});
</script> </script>

View File

@@ -1086,79 +1086,79 @@ $klienci_instytucjonalni = [
</div> </div>
<div class="c-row c-row-2"> <div class="c-row c-row-2">
<form method="POST" action="" enctype="multipart/form-data" id="contact-form-new"> <form method="POST" action="" enctype="multipart/form-data" id="contact-form-new">
<input type="hidden" name="action" value="send-contact-form-new"> <input type="hidden" name="action" value="send-contact-form-new">
<input type="hidden" name="token" value="<?= \S::get_session('contact-form-token'); ?>"> <input type="hidden" name="token" value="<?= \S::get_session('contact-form-token'); ?>">
<input type="hidden" name="website" value=""> <input type="hidden" name="website" value="">
<div class="_2_columns"> <div class="_2_columns">
<input type="text" name="name" placeholder="Imię" required> <input type="text" name="name" placeholder="Imię" required>
<input type="email" name="email" placeholder="Adres e-mail" required> <input type="email" name="email" placeholder="Adres e-mail" required>
</div>
<div class="_2_columns">
<input type="text" name="phone" placeholder="Telefon" required>
<input type="text" name="postal_code" placeholder="Kod pocztowy" required>
</div>
<div class="_2_columns">
<div class="voivodeship__wrapper">
<select name="voivodeship" required>
<option value="" disabled selected>Województwa</option>
<option value="dolnoslaskie">dolnośląskie</option>
<option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
<option value="lubelskie">lubelskie</option>
<option value="lubuskie">lubuskie</option>
<option value="lodzkie">łódzkie</option>
<option value="malopolskie">małopolskie</option>
<option value="mazowieckie">mazowieckie</option>
<option value="opolskie">opolskie</option>
<option value="podkarpackie">podkarpackie</option>
<option value="podlaskie">podlaskie</option>
<option value="pomorskie">pomorskie</option>
<option value="slaskie">śląskie</option>
<option value="swietokrzyskie">świętokrzyskie</option>
<option value="warminsko-mazurskie">warmińsko-mazurskie</option>
<option value="wielkopolskie">wielkopolskie</option>
<option value="zachodniopomorskie">zachodniopomorskie</option>
</select>
</div> </div>
<div class="_2_columns">
<input type="text" name="phone" placeholder="Telefon" required>
<input type="text" name="postal_code" placeholder="Kod pocztowy" required>
</div>
<div class="_2_columns">
<div class="voivodeship__wrapper">
<select name="voivodeship" required>
<option value="" disabled selected>Województwa</option>
<option value="dolnoslaskie">dolnośląskie</option>
<option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
<option value="lubelskie">lubelskie</option>
<option value="lubuskie">lubuskie</option>
<option value="lodzkie">łódzkie</option>
<option value="malopolskie">małopolskie</option>
<option value="mazowieckie">mazowieckie</option>
<option value="opolskie">opolskie</option>
<option value="podkarpackie">podkarpackie</option>
<option value="podlaskie">podlaskie</option>
<option value="pomorskie">pomorskie</option>
<option value="slaskie">śląskie</option>
<option value="swietokrzyskie">świętokrzyskie</option>
<option value="warminsko-mazurskie">warmińsko-mazurskie</option>
<option value="wielkopolskie">wielkopolskie</option>
<option value="zachodniopomorskie">zachodniopomorskie</option>
</select>
</div>
<div class="_radios"> <div class="_radios">
<div class="_radio"> <div class="_radio">
<input type="radio" id="client-private" name="client" value="Klient prywatny" required> <input type="radio" id="client-private" name="client" value="Klient prywatny" required>
<label for="client-private">Klient prywatny</label> <label for="client-private">Klient prywatny</label>
</div>
<div class="_radio">
<input type="radio" id="client-business" name="client" value="Klient biznesowy" required>
<label for="client-business">Klient biznesowy</label>
</div>
</div>
</div> </div>
<div class="_radio"> <div class="_1_column">
<input type="radio" id="client-business" name="client" value="Klient biznesowy" required> <textarea name="message" placeholder="Jeżeli masz jakieś uwagi, wytyczne możesz wpisać je tutaj. Możesz także wpisać wymiary i rodzaje okien jakimi jesteś zainteresowany."></textarea>
<label for="client-business">Klient biznesowy</label>
</div> </div>
<div class="_text">Chcesz przesłać nam wizualizacje, projekt lub inne materiały? Skorzystaj z pola poniżej i dodaj plik do wiadomości.</div>
<div class="_file fileuploader fileuploader-theme-default">
<input type="hidden" name="fileuploader-list-files" value="[]">
<input type="file" name="files[]" class="files" multiple="multiple">
<div class="fileuploader-items">
<ul class="fileuploader-items-list"></ul>
</div>
</div> </div>
</div> <div class="_1_column">
<div class="_1_column"> <div class="_checkbox">
<textarea name="message" placeholder="Jeżeli masz jakieś uwagi, wytyczne możesz wpisać je tutaj. Możesz także wpisać wymiary i rodzaje okien jakimi jesteś zainteresowany."></textarea> <input type="checkbox" name="zgoda_1" id="zgoda_1">
</div> <label for="zgoda_1">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu przygotowania stosownej oferty.</label>
<div class="_text">Chcesz przesłać nam wizualizacje, projekt lub inne materiały? Skorzystaj z pola poniżej i dodaj plik do wiadomości.</div> </div>
<div class="_file fileuploader fileuploader-theme-default">
<input type="hidden" name="fileuploader-list-files" value="[]">
<input type="file" name="files[]" class="files" multiple="multiple">
<div class="fileuploader-items">
<ul class="fileuploader-items-list"></ul>
</div> </div>
</div> <div class="_1_column">
<div class="_1_column"> <div class="_checkbox">
<div class="_checkbox"> <input type="checkbox" name="zgoda_2" id="zgoda_2">
<input type="checkbox" name="zgoda_1" id="zgoda_1"> <label for="zgoda_2">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu otrzymywania materiałów reklamowych.</label>
<label for="zgoda_1">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu przygotowania stosownej oferty.</label> </div>
</div> </div>
</div> <div class="_1_column form_actions">
<div class="_1_column"> <div class="g-recaptcha" data-sitekey="6LfaovglAAAAAAieLVC7i4xGkQA5ufXUbWLipSbp"></div>
<div class="_checkbox"> <button type="submit">Wyślij<img src="/images/contact-icon-check.svg"></button>
<input type="checkbox" name="zgoda_2" id="zgoda_2">
<label for="zgoda_2">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu otrzymywania materiałów reklamowych.</label>
</div> </div>
</div>
<div class="_1_column form_actions">
<div class="g-recaptcha" data-sitekey="6LfaovglAAAAAAieLVC7i4xGkQA5ufXUbWLipSbp"></div>
<button type="submit">Wyślij<img src="/images/contact-icon-check.svg"></button>
</div>
</form> </form>
</div> </div>
</div> </div>
@@ -1423,331 +1423,34 @@ $klienci_instytucjonalni = [
<script class="footer" type="text/javascript" src="/plugins/fileuploader/jquery.fileuploader.min.js"></script> <script class="footer" type="text/javascript" src="/plugins/fileuploader/jquery.fileuploader.min.js"></script>
<script class="footer" type="text/javascript"> <script class="footer" type="text/javascript">
// const fullScreenPolygon = [ let contactFormNew_Started = false;
// { lat: 85, lng: -179.999 }, $('#contact-form-new input, #contact-form-new textarea, #contact-form-new select').one('input change', function() {
// { lat: -85, lng: -179.999 }, if (!contactFormNew_Started) {
// { lat: -85, lng: 179.999 }, contactFormNew_Started = true;
// { lat: 85, lng: 179.999 }
// ];
// const polandHolePolygon = [ window.dataLayer = window.dataLayer || [];
// [23.605273437500017, 51.517919921875], window.dataLayer.push({
// [23.65888671875001, 51.448974609375], event: "form_start",
// [23.6796875, 51.394921875], form_name: "Kontakt",
// [23.657617187500023, 51.352490234375], form_id: "contact-form-new",
// [23.664453125000023, 51.31005859375], form_step: "1"
// [23.712207031250017, 51.26513671875], });
// [23.86347656250001, 51.126220703125], }
// [23.938085937500006, 50.992529296875], });
// [23.985742187500023, 50.9404296875],
// [24.095800781250006, 50.87275390625], const urlParams = new URLSearchParams(window.location.search);
// [24.105761718750017, 50.844970703125], if (urlParams.get('form_sent') === '1') {
// [24.061621093750006, 50.81953125], window.dataLayer = window.dataLayer || [];
// [24.025976562500006, 50.816162109375], window.dataLayer.push({
// [23.9970703125, 50.809375], event: "form_submit",
// [23.978417968750023, 50.785595703125], form_name: "Kontakt",
// [24.00732421875, 50.76015625], form_id: "contact-form-new",
// [24.046289062500023, 50.722802734374994], submission_status: "success"
// [24.0947265625, 50.617041015625], });
// [24.089941406250006, 50.53046875],
// [24.052636718750023, 50.508447265624994], const newUrl = window.location.origin + window.location.pathname;
// [24.004980468750006, 50.45703125], window.history.replaceState({}, document.title, newUrl);
// [23.97265625, 50.410058593749994], }
// [23.711718750000017, 50.37734375],
// [23.649023437500006, 50.327050781249994],
// [23.506152343750017, 50.229833984375],
// [23.408593750000023, 50.17392578125],
// [23.264453125000017, 50.0728515625],
// [23.03632812500001, 49.899072265624994],
// [22.952246093750006, 49.8263671875],
// [22.890722656250006, 49.766259765624994],
// [22.706152343750006, 49.606201171875],
// [22.6494140625, 49.539013671875],
// [22.66064453125, 49.483691406249996],
// [22.71992187500001, 49.353808593749996],
// [22.732421875, 49.295166015625],
// [22.721972656250017, 49.240966796875],
// [22.70234375000001, 49.192724609375],
// [22.705664062500006, 49.171191406249996],
// [22.760156250000023, 49.13623046875],
// [22.847070312500023, 49.08125],
// [22.85205078125, 49.062744140625],
// [22.839746093750023, 49.038916015625],
// [22.80976562500001, 49.020751953125],
// [22.701269531250006, 49.039941406249994],
// [22.579980468750023, 49.077197265624996],
// [22.538671875, 49.072705078125],
// [22.473046875000023, 49.081298828125],
// [22.202539062500023, 49.153222656249994],
// [22.020117187500006, 49.209521484374996],
// [22.00214843750001, 49.24609375],
// [21.967675781250023, 49.299072265625],
// [21.89013671875, 49.34345703125],
// [21.71210937500001, 49.38193359375],
// [21.6396484375, 49.411962890625],
// [21.350488281250023, 49.428759765624996],
// [21.225, 49.429443359375],
// [21.136132812500023, 49.417041015624996],
// [21.079394531250017, 49.418261718749996],
// [21.00117187500001, 49.33984375],
// [20.947265625, 49.31708984375],
// [20.868457031250017, 49.314697265625],
// [20.79951171875001, 49.328662109374996],
// [20.72900390625, 49.369921875],
// [20.616113281250023, 49.39169921875],
// [20.534570312500023, 49.381201171875],
// [20.474511718750023, 49.390185546874996],
// [20.422656250000017, 49.392333984375],
// [20.404687500000023, 49.384082031249996],
// [20.36298828125001, 49.38525390625],
// [20.302539062500017, 49.365527343749996],
// [20.23652343750001, 49.337646484375],
// [20.163671875, 49.31640625],
// [20.10761718750001, 49.270751953125],
// [20.0576171875, 49.181298828124994],
// [19.916113281250006, 49.22138671875],
// [19.868945312500017, 49.204003906249994],
// [19.80224609375, 49.192333984375],
// [19.756640625000017, 49.204394531249996],
// [19.767382812500017, 49.235205078125],
// [19.787988281250023, 49.269970703125],
// [19.787011718750023, 49.3185546875],
// [19.77392578125, 49.37216796875],
// [19.730078125, 49.389599609375],
// [19.664160156250006, 49.396044921874996],
// [19.630273437500023, 49.406640625],
// [19.62666015625001, 49.424365234374996],
// [19.593066406250017, 49.447119140625],
// [19.534765625, 49.504785156249994],
// [19.47968750000001, 49.5763671875],
// [19.44160156250001, 49.597705078124996],
// [19.38623046875, 49.563623046874994],
// [19.30234375, 49.524853515625],
// [19.25019531250001, 49.51142578125],
// [19.1494140625, 49.4],
// [18.968359375, 49.396240234375],
// [18.95722656250001, 49.448291015624996],
// [18.93818359375001, 49.498291015625],
// [18.83222656250001, 49.510791015624996],
// [18.82929687500001, 49.54013671875],
// [18.806933593750017, 49.613720703125],
// [18.594628906250023, 49.7578125],
// [18.56884765625, 49.817919921874996],
// [18.5771484375, 49.841113281249996],
// [18.562402343750023, 49.879345703125],
// [18.516210937500006, 49.902392578124996],
// [18.348437500000017, 49.929833984374994],
// [18.305273437500006, 49.9140625],
// [18.26630859375001, 49.9302734375],
// [18.20527343750001, 49.964746093749994],
// [18.09921875, 49.9927734375],
// [18.087695312500017, 50.007275390625],
// [18.04951171875001, 50.03193359375],
// [18.0283203125, 50.03525390625],
// [18.0146484375, 50.020263671875],
// [17.983789062500023, 49.999072265624996],
// [17.874804687500017, 49.972265625],
// [17.83125, 49.983300781249994],
// [17.79169921875001, 50.006591796875],
// [17.74658203125, 50.056787109374994],
// [17.681054687500023, 50.10078125],
// [17.627050781250006, 50.11640625],
// [17.596289062500006, 50.139501953125],
// [17.58935546875, 50.157470703125],
// [17.709277343750017, 50.1935546875],
// [17.735449218750006, 50.230761718749996],
// [17.720117187500023, 50.298632812499996],
// [17.702246093750006, 50.307177734374996],
// [17.654687500000023, 50.284228515624996],
// [17.554589843750023, 50.2640625],
// [17.462304687500023, 50.254785156249994],
// [17.41523437500001, 50.254785156249994],
// [17.151953125, 50.378320312499994],
// [16.980761718750017, 50.41611328125],
// [16.88007812500001, 50.427050781249996],
// [16.869140625, 50.414501953125],
// [16.91474609375001, 50.34521484375],
// [16.99335937500001, 50.259716796875],
// [16.989648437500023, 50.2369140625],
// [16.895312500000017, 50.201953125],
// [16.841796875, 50.18671875],
// [16.778613281250017, 50.15703125],
// [16.72529296875001, 50.116064453125],
// [16.679101562500023, 50.097460937499996],
// [16.63916015625, 50.1021484375],
// [16.5966796875, 50.121923828125],
// [16.487597656250017, 50.248388671875],
// [16.350488281250023, 50.34521484375],
// [16.33417968750001, 50.36689453125],
// [16.291308593750017, 50.371875],
// [16.230761718750017, 50.394091796874996],
// [16.210351562500023, 50.423730468749994],
// [16.24072265625, 50.4546875],
// [16.282519531250017, 50.4830078125],
// [16.35664062500001, 50.50048828125],
// [16.37910156250001, 50.516894531249996],
// [16.39228515625001, 50.541650390624994],
// [16.419726562500017, 50.573632812499994],
// [16.4125, 50.58515625],
// [16.359960937500006, 50.621386718749996],
// [16.2822265625, 50.655615234375],
// [16.06640625, 50.629931640624996],
// [16.007226562500023, 50.611621093749996],
// [15.973828125000011, 50.63544921875],
// [15.948535156250017, 50.670263671875],
// [15.893945312500023, 50.676904296874994],
// [15.819238281250023, 50.70869140625],
// [15.730566406250006, 50.739697265625],
// [15.643945312500023, 50.748876953125],
// [15.463964843750006, 50.793847656249994],
// [15.394628906250006, 50.796289062499994],
// [15.354394531250023, 50.811767578125],
// [15.312597656250006, 50.845751953124996],
// [15.277050781250011, 50.8830078125],
// [15.258593750000017, 50.958544921874996],
// [15.1259765625, 50.99287109375],
// [14.99375, 51.01435546875],
// [14.984472656250006, 51.00341796875],
// [14.989941406250011, 50.92724609375],
// [14.98291015625, 50.886572265625],
// [14.895800781250017, 50.861376953124996],
// [14.809375, 50.858984375],
// [14.814257812500017, 50.871630859374996],
// [14.91748046875, 51.008740234375],
// [14.9638671875, 51.095117187499994],
// [15.0166015625, 51.252734375],
// [14.953125, 51.3771484375],
// [14.935546875, 51.435351562499996],
// [14.905957031250011, 51.463330078125],
// [14.724707031250006, 51.523876953125],
// [14.7109375, 51.544921875],
// [14.738671875000023, 51.6271484375],
// [14.724902343750017, 51.66171875],
// [14.681347656250011, 51.698193359375],
// [14.623925781250023, 51.770800781249996],
// [14.601660156250006, 51.832373046875],
// [14.674902343750006, 51.904833984374996],
// [14.69296875, 51.9580078125],
// [14.724804687500011, 52.030859375],
// [14.748144531250006, 52.07080078125],
// [14.752539062500006, 52.081835937499996],
// [14.70458984375, 52.110205078125],
// [14.6923828125, 52.150048828125],
// [14.705371093750017, 52.207470703125],
// [14.679882812500011, 52.25],
// [14.615625, 52.277636718749996],
// [14.573925781250011, 52.31416015625],
// [14.554589843750023, 52.359667968749996],
// [14.569726562500023, 52.431103515625],
// [14.619433593750017, 52.528515625],
// [14.514062500000023, 52.64560546875],
// [14.253710937500017, 52.782519531249996],
// [14.128613281250011, 52.878222656249996],
// [14.138867187500011, 52.932861328125],
// [14.193652343750017, 52.98232421875],
// [14.293164062500011, 53.0267578125],
// [14.368554687500023, 53.10556640625],
// [14.410937500000017, 53.199023437499996],
// [14.412304687500011, 53.216748046875],
// [14.41455078125, 53.283496093749996],
// [14.298730468750023, 53.556445312499996],
// [14.279882812500006, 53.624755859375],
// [14.26611328125, 53.70712890625],
// [14.258886718750006, 53.729638671875],
// [14.487597656250017, 53.671875],
// [14.58349609375, 53.63935546875],
// [14.571582031250017, 53.67587890625],
// [14.552148437500023, 53.707324218749996],
// [14.56494140625, 53.753515625],
// [14.558398437500017, 53.823193359375],
// [14.350878906250017, 53.858740234375],
// [14.213671875000017, 53.870751953125],
// [14.1982421875, 53.91904296875],
// [14.21142578125, 53.950341796875],
// [14.249316406250017, 53.931933593749996],
// [14.384179687500023, 53.92470703125],
// [14.715722656250023, 54.018310546875],
// [15.288378906250017, 54.139892578125],
// [15.9, 54.253955078124996],
// [16.042773437500017, 54.266357421875],
// [16.186328125000017, 54.290380859375],
// [16.239355468750006, 54.333056640624996],
// [16.292285156250017, 54.361621093749996],
// [16.375585937500006, 54.436865234375],
// [16.55976562500001, 54.55380859375],
// [16.88544921875001, 54.59638671875],
// [17.00703125000001, 54.65185546875],
// [17.26191406250001, 54.729541015624996],
// [17.84296875000001, 54.816699218749996],
// [18.08564453125001, 54.83583984375],
// [18.32343750000001, 54.838183593749996],
// [18.53515625, 54.76943359375],
// [18.75927734375, 54.6845703125],
// [18.799609375000017, 54.633349609374996],
// [18.678320312500006, 54.665283203125],
// [18.5015625, 54.741503906249996],
// [18.43623046875001, 54.7447265625],
// [18.58710937500001, 54.512890625],
// [18.66962890625001, 54.430908203125],
// [18.83642578125, 54.369580078125],
// [18.97626953125001, 54.348925781249996],
// [19.407128906250023, 54.386083984375],
// [19.56015625, 54.434619140624996],
// [19.604394531250023, 54.4591796875],
// [19.64423828125001, 54.447070312499996],
// [19.92431640625, 54.433984375],
// [20.20820312500001, 54.420751953125],
// [20.66474609375001, 54.406640625],
// [21.140527343750023, 54.391796875],
// [21.634179687500023, 54.37646484375],
// [22.16845703125, 54.35986328125],
// [22.731835937500023, 54.35009765625],
// [22.766210937500006, 54.356787109375],
// [22.82373046875, 54.395800781249996],
// [22.893945312500023, 54.39052734375],
// [22.97675781250001, 54.366357421875],
// [23.015527343750023, 54.34833984375],
// [23.03193359375001, 54.327880859375],
// [23.04218750000001, 54.30419921875],
// [23.0875, 54.299462890625],
// [23.170312500000023, 54.2814453125],
// [23.282324218750006, 54.24033203125],
// [23.3701171875, 54.200488281249996],
// [23.45361328125, 54.14345703125],
// [23.481347656250023, 54.07900390625],
// [23.483007812500006, 54.00595703125],
// [23.477636718750006, 53.958935546875],
// [23.484667968750017, 53.939794921875],
// [23.598925781250017, 53.59921875],
// [23.78925781250001, 53.270947265625],
// [23.859179687500017, 53.112109375],
// [23.887109375000023, 53.0275390625],
// [23.909375, 52.9048828125],
// [23.916308593750017, 52.81875],
// [23.915429687500023, 52.770263671875],
// [23.901269531250023, 52.70361328125],
// [23.8447265625, 52.664208984375],
// [23.479589843750006, 52.5515625],
// [23.410937500000017, 52.5162109375],
// [23.303320312500006, 52.428369140625],
// [23.2041015625, 52.337890625],
// [23.18125, 52.306982421875],
// [23.175097656250017, 52.28662109375],
// [23.19697265625001, 52.25693359375],
// [23.3271484375, 52.208447265625],
// [23.458398437500023, 52.16953125],
// [23.50117187500001, 52.140380859375],
// [23.597949218750017, 52.103076171874996],
// [23.63330078125, 52.069580078125],
// [23.652441406250006, 52.040380859375],
// [23.65107421875001, 51.972998046875],
// [23.607421875, 51.87978515625],
// [23.62568359375001, 51.809326171875],
// [23.581347656250017, 51.76240234375],
// [23.544824218750023, 51.710253906249996],
// [23.539648437500006, 51.618896484375],
// [23.605273437500017, 51.517919921875]
// ].map(([lng, lat]) => ({ lat, lng }));
$(function(){ $(function(){
$('body').on('click', '#tabs-box #tabs-box-nav li a', function(e){ $('body').on('click', '#tabs-box #tabs-box-nav li a', function(e){