function validatenip(nip) {
var nip_bez_kresek = String(nip).replace(/-/g, "");
var reg = /^[0-9]{10}$/;
if (reg.test(nip_bez_kresek) == false) {
return false;
} else {
var dig = ("" + nip_bez_kresek).split("");
var kontrola = (6 * parseInt(dig[0]) + 5 * parseInt(dig[1]) + 7 * parseInt(dig[2]) + 2 * parseInt(dig[3]) + 3 * parseInt(dig[4]) + 4 * parseInt(dig[5]) + 5 * parseInt(dig[6]) + 6 * parseInt(dig[7]) + 7 * parseInt(dig[8])) % 11;
if (parseInt(dig[9]) == kontrola) {
return true;
} else {
return false;
}
}
}
function formatToNumber(inp) {
return +(String(inp).replace(/\s+/g, '').replace(',', '.'));
}
function formatToPrice(inp) {
return formatToNumber(inp).toFixed(2) + ' zł';
}
$(function () {
$('#contactFormSend').on('submit', function(evt){
evt.preventDefault();
var k = [ 'name', 'question' ],
good = true;
$(this).find('[name]').removeClass('error');
$(this).find('p.ajaxInfo').hide();
if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( $(this).find('[name="mail"]').val() ) == false ){
$(this).find('[name="mail"]').addClass('error');
good = false;
}
if ( $(this).find('[name="phone"]').val().replace(/[^\d]/, '').length < 9 ){
$(this).find('[name="phone"]').addClass('error');
good = false;
}
for ( var i = 0; i < k.length; i++ ){
var obj = $(this).find('[name="'+ k[i] +'"]');
if ( obj.val().length <= 1 ){
good = false;
obj.addClass('error');
}
}
if ( good ){
$.post( $(this).attr('action'), $(this).serialize(), (function(response){
if (response.indexOf('false') === -1) {
$(this).find('input, textarea').val('');
$(this).find('p.ajaxInfo.ok').show();
} else {
$(this).find('p.ajaxInfo.error_send').show();
}
}).bind(this));
} else {
$(this).find('p.ajaxInfo.error').show();
}
});
$('#shopAskForm').on('submit', function(evt){
evt.preventDefault();
var k = [ 'question' ],
good = true;
$(this).find('.error').removeClass('error');
$(this).find('p.ajaxInfo').hide();
if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( $(this).find('[name="mail"]').val() ) == false ){
$(this).find('[name="mail"]').addClass('error');
good = false;
}
for ( var i = 0; i < k.length; i++ ){
var obj = $(this).find('[name="'+ k[i] +'"]');
if ( obj.val().length <= 1 ){
good = false;
obj.addClass('error');
}
}
if ( good ){
$.post( $(this).attr('action'), $(this).serialize(), (function(response){
if (response.indexOf('false') === -1) {
$(this).find('input:not([type="hidden"]), textarea').val('');
$(this).find('p.ajaxInfo.ok').show();
} else {
$(this).find('p.ajaxInfo.error_send').show();
}
}).bind(this));
} else {
$(this).find('p.ajaxInfo.error').show();
}
});
/*
* FORMULARZ REJESTRACJI
*/
$(document).on('change', '#r_addressData', function(evt){
if ( $(this).prop('checked') ){
// pokazujemy adres w formularzu
$('.address-switch').show(250);
} else {
// ukrywamy adres w formularzu
$('.address-switch').hide(250);
}
});
$('#cookiebtn').click(function(){
$('#cookieinfo').load(__URL__ +'acceptcookie.php').remove();
return false;
});
$('#registerFrm').on('submit', function(evt){
var good = true,
form = $(this),
fieldNames = [ 'name','surname','street','town','company' ];
form.find('[name]').removeClass('error');
form.find('p.ajaxInfo').hide();
// wymagane
if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( form.find('[name="email"]').val() ) == false ){
good = false;
form.find('[name="email"]').addClass('error');
}
if ( form.find('[name="pass"]').val().length < 6 || form.find('[name="pass"]').val() !== form.find('[name="pass2"]').val() ){
good = false;
form.find('[name="pass"], [name="pass2"]').addClass('error');
}
if ( form.find('[name="regulamin"]').prop('checked') === false ){
good = false;
form.find('[name="regulamin"]').addClass('error');
}
if ( form.find('[name="zgoda"]').prop('checked') === false ){
good = false;
form.find('[name="zgoda"]').addClass('error');
}
// opcjonalne
if ( form.find('[name="addressData"]').prop('checked') === true ){
if ( form.find('[name="phone"]').val().length > 0 && form.find('[name="phone"]').val().replace(/[^\d+]/gi, '').length < 9 ){
good = false;
form.find('[name="phone"]').addClass('error');
}
if ( form.find('[name="zipCode"]').val().length > 0 && /^[\d]{2}-[\d]{3}$/.test( form.find('[name="zipCode"]').val() ) === false ){
good = false;
form.find('[name="zipCode"]').addClass('error');
}
if ( form.find('[name="nip"]').val().length > 0 && !validatenip( form.find('[name="nip"]').val() ) ){
good = false;
form.find('[name="nip"]').addClass('error');
}
}
if ( !good ){
evt.preventDefault();
return false;
}
});
});
/*
* BASKET DISCOUNTS
*/
$(function () {
var $message_box = $('#basket-discount-success');
var hideMessage = function () {
$message_box.addClass('hidden');
};
var showMessage = function (message, is_error) {
$message_box.removeClass('hidden');
if (is_error) {
$message_box.addClass('alert-danger');
$message_box.removeClass('alert-success');
} else {
$message_box.removeClass('alert-danger');
$message_box.addClass('alert-success');
}
$message_box.text(message);
};
if (!$('#basket-form') || $('#basket-form').length !== 1) {
return false;
}
$(document).on('keydown', '.discount-box input[name="discount_code"]', function (evt) {
if (evt.keyCode === 13) {
evt.preventDefault();
evt.stopPropagation();
$('#basket-discount-submit').trigger('click');
}
});
$(document).on('click', '#basket-discount-submit', function (evt) {
var elem = $('.discount-box input[name="order_value"]');
var data = {
code: $('.discount-box input[name="discount_code"]').val(),
order_value: +elem.val(),
prices: {
can: +elem.data('can'),
cannot: +elem.data('cannot'),
new_can: +elem.data('new-can'),
new_cannot: +elem.data('new-cannot'),
}
};
var handleErrors = function (resp) {
if (resp.hasOwnProperty('code') && $('#login-popup .alert-placerholder').length.length > 0) {
// alert( resp.error );
$('#mainheader [data-popup="login-popup"]').click();
$('#login-popup').addClass('with-msg');
$('#login-popup .alert-placerholder').html('
' + resp.error + '
');
} else {
showMessage(resp.error, true);
// alert(resp.error);
}
};
var getFreeShippingInfo = function (resp) {
var html = '';
if (!resp.free_shipping_ids || resp.free_shipping_ids.length === 0 || !resp.free_shipping_names || resp.free_shipping_names.length === 0) {
return false;
}
html += '';
$(resp.free_shipping_names).each(function (_ignore, name) {
html += '- ' + name + '
';
});
html += '
';
return html;
};
var getRowHtml = function (display_name, display_value) {
var html = '\
\
| \
| \
' + display_name + ' | \
' + display_value + ' | \
| \
';
return html;
};
var updateDiscountInfo = function (resp) {
var new_collection_only = false;
var value = 0;
var value_type = '%';
var order_value = parseFloat($('.discount-box input[name="order_value"]').val());
var end_value = order_value;
var display_value = '';
var display_name = '';
var free_shipping_info = getFreeShippingInfo(resp);
var html = '';
$('#discount-price-regular .totalPrice').removeClass('line-through');
$('#discount-price-discounted .totalPrice').text('');
$('#discount-price-discounted').addClass('hidden');
value = parseFloat(resp.value);
value_type = resp.value_type;
new_collection_only = +resp.new === 1 ? true : false;
if (value > 0) {
display_name = 'Rabat';
if (value_type === '%') {
if (new_collection_only) {
end_value = order_value - data.prices.new_can;
end_value += data.prices.new_can * (1 - (value / 100));
} else {
end_value = order_value - data.prices.can;
end_value += data.prices.can * (1 - (value / 100));
}
display_value = value + value_type;
} else if (value_type === 'pln') {
end_value = order_value - value;
display_value = value.toFixed(2).replace('.', ',') + value_type.replace('pln', ' zł');
}
html += getRowHtml(display_name, display_value);
}
if (free_shipping_info) {
display_name = 'Darmowa dostawa dla opcji: ' + free_shipping_info;
display_value = '';
html += getRowHtml(display_name, display_value);
}
if (resp.price_after_discount) {
$('#discount-price-regular .totalPrice').addClass('line-through');
$('#discount-price-discounted .totalPrice').text(formatToPrice(resp.price_after_discount)).removeClass('hidden');
$('#discount-price-discounted').removeClass('hidden');
}
$('.basket-table tbody tr:last-of-type').before(html);
showMessage('Kod rabatowy został uznany');
};
var handleResponse = function (resp) {
if (resp.hasOwnProperty('error')) {
handleErrors(resp);
} else if (resp.hasOwnProperty('value') && resp.hasOwnProperty('value_type') && resp.hasOwnProperty('new')) {
updateDiscountInfo(resp);
} else {
$('#discount-price-regular .totalPrice').removeClass('line-through');
$('#discount-price-discounted .totalPrice').text('');
$('#discount-price-discounted').addClass('hidden');
hideMessage();
}
};
hideMessage();
evt.preventDefault();
$.post(__URL__ + 'ajax/checkRabat.php', data, function (resp) {
var order_value = parseFloat($('.discount-box input[name="order_value"]').val());
$('.basket-table tbody .discountRow').remove();
$('#basket-form .totalPrice').text(order_value.toFixed(2).toString().replace('.', ',') + ' zł');
handleResponse(resp);
}, 'json');
});
if ($('.discount-box input[name="discount_code"]').length > 0 && $('.discount-box input[name="discount_code"]').val().length > 1) {
$('#basket-discount-submit').trigger('click');
}
});
/*
* // BASKET DISCOUNTS
*/
/*
* ORDER FORM
*/
$(function () {
var form = $('#zamowienieForm');
var tableDelivery = $('.tableDelivery');
var tablePayment = $('.tablePayment');
var invoiceSwitch = $('#zamowienieForm input[name="invoice"]');
var invoiceContent = $('.js--invoiceContent');
var copyToInvoice = $('.js--copyToInvoice');
var need_full_address = true;
var full_address_fields = [
form.find('[name="street"]'),
form.find('[name="number"]'),
form.find('[name="zipCode"]'),
form.find('[name="town"]')
];
var full_address_field_names = ['street', 'number', 'zipCode', 'town'];
var payment_tables = {};
var summary_elems = {
delivery: form.find('#order-summary-delivery'),
payment: form.find('#order-summary-payment'),
address: form.find('#order-summary-address'),
invoice: form.find('#order-summary-invoice'),
invoice_wrap: form.find('#order-summary-invoice-wrap')
};
var getFormatted = (function () {
var row_template = form.find('#order-summary-address .template');
var fieldNames = ['name', 'surname', 'street', 'town', 'number'];
var fieldNamesCompany = ['company', 'nip', 'invoice_street', 'invoice_number', 'invoice_zipCode', 'invoice_town'];
var delivery = function () {
var shipping_input = form.find('[name="shipping_id"]:checked');
var table = shipping_input.closest('table');
var details_html = table.find('.tableDelivery--details label').eq(0).text();
var image_html = table.find('.tableDelivery--img img').html();
var point = table.find('.shipping-point-label');
if (point.length > 0 && point.text()) {
details_html += '
' + point.text() + '';
}
return details_html;
};
var payment = function () {
var payment_input = form.find('[name="payment_id"]:checked');
var table = payment_input.closest('table');
var details_html = table.find('.tablePayment--label').html();
var image_html = table.find('.tablePayment--img img').html();
return details_html.replace('