/* *@desc  check if var is empty
 *  
 *  @param [string] str 
 */
function empty(str) {
	return (!str || 0 === str.length);
}

/* *@desc  create loader on button to show action in progress
 *  
 *  @param [boolean] handler | handler to obj to make manipulation
 */
function makeLoader(handler) {
	var text = handler.text();
	handler.prop('disabled', true);
	handler.html('<span class="content">' + text + '</span><span class="progresik"><span class="progress-inner notransition"></span></span>');
	handler.addClass('state-loading');
}

function removeLoader(handler) {
	handler.prop('disabled', false);
	handler.removeClass('state-loading');
	handler.find('.progresik').remove();
	handler.addClass('state-success');
	setTimeout(function () {
		handler.removeClass('state-success');
	}, 900);
}

function goTo(handle, speed = 'fast', minus = 0) {
	if ($(handle).length > 0) {
		$('html,body').animate({
			scrollTop: $(handle).offset().top - minus
		}, speed);
	}
}

function strstr(haystack, needle, bool) {
	// *     example 1: strstr(‘Kevin van Zonneveld’, ‘van’);returns 1: ‘van Zonneveld’    
	// *     example 2: strstr(‘Kevin van Zonneveld’, ‘van’, true); returns 2: ‘Kevin ‘
	var pos = 0;

	haystack += "";
	pos = haystack.indexOf(needle);
	if (pos == -1) {
		return false;
	} else {
		if (bool) {
			return haystack.substr(0, pos);
		} else {
			return haystack.slice(pos);
		}
	}
}

/* *@desc  show error or success messages
 *  
 *  @param [JSON] data | tablica w JSON winna zawierac msg
 */
function msg(data) {
	if (empty(data.msg)) return null;

	toastr.options = {
		"closeButton": true,
		"debug": false,
		"newestOnTop": true,
		"progressBar": true,
		"positionClass": "toast-top-right",
		"preventDuplicates": false,
		// "onclick": null,
		"showDuration": "300",
		"hideDuration": "1000",
		"timeOut": "7000",
		"extendedTimeOut": "1000",
		"showEasing": "swing",
		"hideEasing": "linear",
		"showMethod": "slideDown",
		"hideMethod": "slideUp"
	};

	if (!$.isArray(data.msg)) {
		var newArray = new Array();
		newArray.push(data.msg);
		data.msg = newArray;
	}

	var ile = data.msg.length;

	if (data.status) {
		for (i = 0; i < ile; i++) {
			toastr.success(data.msg[i]);
		}
	} else if (!data.status) {
		for (i = 0; i < ile; i++) {
			toastr.error(data.msg[i]);
		}
	}
}

/* *@desc  fast message showing in js
 *  
 *  @param [string] msg | alias from conan database for message to shown
 *  @param [string] status | true to success or false to error type of message
 */
function message(massage, status) {
	var data = new Array();
	data.status = status;
	data.msg = translation[massage];
	msg(data);
}

// make refresh cart view
function refreshCart(pid, quantity, stockname) {
	$('.toggle_cart').addClass('holdon');
	$.ajax({
		type: "POST",
		url: "index.php",
		data: "ajax=refreshCart&pid=" + pid +
			"&quantity=" + quantity +
			"&stockname=" + stockname,
		success: function (data) {
			msg(data);
			if (data.status) {
				$('.cartContent').html(data.data);
				$('.sumCart').html(data.data2);
				$('.cartContentsCount').html(data.data3);
				if ($('.productPrice' + pid).length > 0) $('.productPrice' + pid).html(data.data4);
				if ($('.totalSumCart').length > 0) $('.totalSumCart').html(data.data5);
				if ($('.toFreeShipping').length > 0) $('.toFreeShipping').html(data.data6);
				if ($('.deliveryCost').length > 0) $('.deliveryCost').html(data.data7);

				var deliveryCost = parseInt(data.data7);
				if (deliveryCost == 0) $('.freeShipp').removeClass('d-none');
				else $('.freeShipp').addClass('d-none');

				$('.deliveryMethods').html(data.data8);
			}
			$('.toggle_cart').removeClass('holdon');
		},
		error: function (xhr, ajaxOptions, thrownError) {
			console.log(xhr);
			console.log(ajaxOptions);
			console.log(thrownError);
		},
		dataType: 'json'
	});
}

function strpos(haystack, needle, offset) {
	var i = (haystack + '').indexOf(needle, (offset || 0));
	return i === -1 ? false : i
}

function checkPhoneNumber($number) {

	$number = replaceAll($number, ' ', '');

	$firstThree = $number.substr(0, 3);

	if ($firstThree == '+48') {
		$number = replaceAll($number, '+48', '');
	}

	$firstChar = $number.charAt(0);
	if ($firstChar == 0) {
		$number = $number.substr(1)
	}

	if ($number.length == 9) {
		return true;
	} else return false;
}

function replaceAll(string, search, replace) {
	return string.split(search).join(replace);
}

$(document).ready(function () {
	$(document).on('click', '.animated-icon1', function () {
		$('.animated-icon1').toggleClass('open');
		$(this).next().slideToggle();
		if ($(this).hasClass('open')) {
			$('body').addClass('overflowbody');
		} else {
			$('body').removeClass('overflowbody');
		}
	});


	$('.scrollTo').on('click', function (e) {
		e.preventDefault();
		var href = $(this).attr('href');
		$('html, body').animate({
			scrollTop: $(href).offset().top + 'px'
		}, 1500, function () {
			// Dodajemy hash do adresu
			location.hash = href;
		});
	});

	// } ( jQuery ) );


	// // First we get the viewport height and we multiple it by 1% to get a value for a vh unit
	// let vh = window.innerHeight * 0.01;
	// // Then we set the value in the --vh custom property to the root of the document
	// document.documentElement.style.setProperty('--vh', `${vh}px`);



	//$('.bxslider').bxSlider({
	//	auto: false,
	//	mode: 'fade',
	//	autoControls: false,
	//	moveSlides: 1,
	//	controls:true,
	//	touchEnabled:false,
	//	
	//	pager: false
	//
	//});

	//

	$(document).on('click', '.filter_icon', function (e) {
		$('.filtrowanie').toggleClass('show');
	});

	$(document).on('click', '.mob_back', function () {
		$('.navbar-nav').removeClass('hide');
		$('.mobile_category_ul').removeClass('show');
		$(this).removeClass('show');
		$('.navbar-my').css('opacity', '1');
	});

	if ($('.galeria').length > 0) {
		baguetteBox.run('.galeria', {});
	}


	$(document).on('click', '.main_ul li a.lashes', function (e) {
		e.preventDefault();
		$(this).next().slideToggle();
		$(this).toggleClass('open');
	});

	$('.ul_details a').on('click', function (e) {

		$('.product_details a').removeClass('details_hov');
		$(this).addClass('details_hov');


		var div = $(this).data('div');
		$('.text_box').removeClass('activee');
		$('.text_box[data-div="' + div + '"]').addClass('activee');
	});


	$(document).on('click', '.number_div .down', function () {
		var $this = $(this);
		var hanQty = $this.parent().find('input[name="quantity"]');
		var pid = hanQty.attr('data-pid');
		var quantity = parseInt(hanQty.val());
		var stockname = $(this).parent().data('stock');
		if (quantity > 1) {
			quantity = quantity - 1;
			hanQty.val(quantity);

			//we nedd reload cart when change quantity of product
			if (!hanQty.prop('id')) {
				refreshCart(pid, quantity, stockname);
			}

		} else {
			$this.parent().addClass('border border-danger');
			setTimeout(function () {
				$this.parent().removeClass('border border-danger');
			}, 500);
		}
	});

	$(document).on('click', '.number_div .up', function () {
		var $this = $(this);
		var hanQty = $this.parent().find('input[name="quantity"]');
		var pid = hanQty.attr('data-pid');
		var max = hanQty.attr('max');
		var quantity = parseInt(hanQty.val());
		var stockname = $(this).parent().data('stock');
		if (max > quantity && quantity >= 0) {
			quantity = quantity + 1;
			hanQty.val(quantity);

			//we nedd reload cart when change quantity of product
			if (!hanQty.prop('id')) {
				refreshCart(pid, quantity,stockname);
			}


		} else {
			$this.parent().addClass('border border-danger');
			setTimeout(function () {
				$this.parent().removeClass('border border-danger');
			}, 500);
		}
	});


	$(document).on('keyup', 'input[name="quantity"]', function () {
		var $this = $(this);
		var hanQty = $(this);
		var max = $(this).data('max');
		var pid = $this.attr('data-pid');
		var quantity = $(this).val();
		var stockname = $(this).parent().data('stock');
		if (quantity >= max) $(this).val(max);
		else if (quantity == 0) {
			$(this).val('1');
			quantity = 1;
		}
		else {

			$this.parent().addClass('border border-danger');
		setTimeout(function () {
			$this.parent().removeClass('border border-danger');
		}, 500);

		}
	
		

		//we nedd reload cart when change quantity of product
		if(quantity <= max){
			if (!hanQty.prop('id')) {
				refreshCart(pid, quantity, stockname);
			}

			}

	});


	$(document).on('click', '.removeFromCart', function (e) {
		e.preventDefault();
		$('.siteCart').addClass('holdon');
		var pid = $(this).attr('data-pid');
		$('.loader-callendar3').css('display','flex');

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=removeFromCart&pid=" + pid,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('.product' + pid).remove();
					$('.cartContent').html(data.data);
					$('.sumCart').html(data.data2);
					$('.cartContentsCount').html(data.data3);
					if ($('.totalSumCart').length > 0) $('.totalSumCart').html(data.data4);
					if ($('.deliveryMethods').length > 0) $('.deliveryMethods').html(data.data5);
					if ($('.deliveryCost').length > 0) $('.deliveryCost').html(data.data6);
					if ($('.toFreeShipping').length > 0) $('.toFreeShipping').html(data.data7);
				}
				$('.siteCart').removeClass('holdon');
				$('.loader-callendar3').css('display','none');

			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	if ($('.select2').length > 0) {
		$('.select2').select2();
	}


	//$(document).on('click', '.favdiv .cart', function () {
	// $('.mask-overlay').addClass('vis');
	//$('.toggle_cart').addClass('vis');

	//});

	$(document).on('click', '.toggle_cart .cart_title', function () {
		$('.toggle_cart').removeClass('vis');

	});

	$(document).on('click', '.button.addToCart ', function () {
		$('.toggle_cart').addClass('vis');
	});


	$(document).on('click', '#firmaBtn', function () {
		$('#osobaBtn').removeClass('buttonbord');
		$(this).addClass('buttonbord');
		$('.firma').css('display', 'block');
		$('.osoba').css('display', 'none');
	});

	$(document).on('click', '#osobaBtn', function () {
		$('#firmaBtn').removeClass('buttonbord');
		$(this).addClass('buttonbord');
		$('.osoba').css('display', 'block');
		$('.firma').css('display', 'none');
	});



	/* partners */
	if ($(window).width() > 768) {
		var slidesToShow = 7;
	} else {
		var slidesToShow = 3;
	}

	if ($('.markidiv').length > 0) {
		$('.markidiv').slick({
			autoplay: true,
			arrows: false,
			dots: false,
			pauseOnFocus: false,
			infinite: true,
			slidesToShow: slidesToShow,
			autoplaySpeed: 1000,
			slidesToScroll: 1
		});
	}

	if ($(window).width() < 1100) {
		$('.mobile_clicked').removeAttr('href');
		$(document).on('click', '.mobile_clicked', function () {
			$(this).next().toggleClass('open');
		});
	}

	$(document).on('click', '.clean_filtr a', function () {
		$('#sort').prop('selectedIndex', 0);
		$('#mark input').prop("checked", false);
		$('#price').prop('selectedIndex', 0);
		$('#strefa input').prop("checked", false);

		$('#input-with-keypress-0').val('0');
		$('#input-with-keypress-1').val('100');
	});

	$(document).on('click', '.all_page .number', function () {
		$('.all_page .number').removeClass('active');
		$(this).addClass('active');
	});

	$(document).on('click', '.filtername', function () {
		if ($(this).parent().hasClass('active')) {
			$(this).parent().removeClass('active');
		} else {
			$('.mytogle').removeClass('active');

			$(this).parent().toggleClass('active');
		}
	});


	$(document).on('click', '#price .filtername', function rangeslider() {
		var rangeslider = document.getElementById('rangeslider');
		var input0 = document.getElementById('input-with-keypress-0');
		var input1 = document.getElementById('input-with-keypress-1');
		var inputs = [input0, input1];

		if (!$('#price').hasClass('createdslider')) {
			noUiSlider.create(rangeslider, {
				start: [0, 150],
				connect: true,
				range: {
					'min': 0,
					'max': 500
				}
			});
		}
		$(this).parent().addClass('createdslider');

		rangeslider.noUiSlider.on('update', function (values, handle) {
			inputs[handle].value = values[handle];
		});


		// Listen to keydown events on the input field.
		inputs.forEach(function (input, handle) {

			input.addEventListener('change', function () {
				rangeslider.noUiSlider.setHandle(handle, this.value);
			});

			input.addEventListener('keydown', function (e) {

				var values = rangeslider.noUiSlider.get();
				var value = Number(values[handle]);

				// [[handle0_down, handle0_up], [handle1_down, handle1_up]]
				var steps = rangeslider.noUiSlider.steps();

				// [down, up]
				var step = steps[handle];

				var position;

				// 13 is enter,
				// 38 is key up,
				// 40 is key down.
				switch (e.which) {

					case 13:
						rangeslider.noUiSlider.setHandle(handle, this.value);
						break;

					case 38:

						// Get step to go increase slider value (up)
						position = step[1];

						// false = no step is set
						if (position === false) {
							position = 1;
						}

						// null = edge of slider
						if (position !== null) {
							rangeslider.noUiSlider.setHandle(handle, value + position);
						}

						break;

					case 40:

						position = step[0];

						if (position === false) {
							position = 1;
						}

						if (position !== null) {
							rangeslider.noUiSlider.setHandle(handle, value - position);
						}

						break;
				}
			});
		});
	});




	$(document).on('click', '.all_page .page, .all_page .pageNext, .all_page .pagePrev', function (e) {
		e.preventDefault();
		$('#mainLoader').show();
		var page = $(this).val();
		if (empty(page)) page = $(this).data('value');
		if (empty(page)) return null;
		var $this = $(this);
		var sort = $('select[name="sort"]').val();
		var manufacturer = new Array();
		$('input[name="manufacturer"]').each(function () {
			if ($(this).prop('checked')) manufacturer.push($(this).val());
		});
		var type = new Array();
		$('input[name="type"]').each(function () {
			if ($(this).prop('checked')) type.push($(this).val());
		});
		var zone = new Array();
		$('input[name="zone"]').each(function () {
			if ($(this).prop('checked')) zone.push($(this).val());
		});
		var lastCID = $('body').attr('data-lastCID');
		var priceFrom = $('#input-with-keypress-0').val();
		var priceTo = $('#input-with-keypress-1').val();
		var search = $('input[name="search"]').val();

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=paginator&page=" + page + "&lastCID=" + lastCID + "&sort=" + sort + "&manufacturer=" + manufacturer + "&type=" + type + "&zone=" + zone + "&priceFrom=" + priceFrom + "&priceTo=" + priceTo + "&search=" + search,
			success: function (data) {
				$this.addClass('active');
				if (data.status) {
					$('.productsView').html(data.data);
					$('.conanPaginator').html(data.data2['info']);
					$('.all_page').html(data.data2['pagination']);
					var href = window.location.href;
					var nHref = href.split(';');
					nHref = nHref[0] + ';' + page;
					goTo('.filtrowanie');
					window.history.pushState({
						nHref: nHref
					}, '', nHref);
					$('#mainLoader').fadeOut();
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.noclick', function (e) {
		e.preventDefault();
	});

	$(document).on('click', '.showResults', function (e) {
		$('#mainLoader').show();
		var $this = $(this);
		makeLoader($(this));

		e.preventDefault();
		var sort = $('select[name="sort"]').val();
		var manufacturer = new Array();
		$('input[name="manufacturer"]').each(function () {
			if ($(this).prop('checked')) manufacturer.push($(this).val());
		});
		var type = new Array();
		$('input[name="type"]').each(function () {
			if ($(this).prop('checked')) type.push($(this).val());
		});
		var zone = new Array();
		$('input[name="zone"]').each(function () {
			if ($(this).prop('checked')) zone.push($(this).val());
		});
		var lastCID = $('body').attr('data-lastCID');
		var priceFrom = $('#input-with-keypress-0').val();
		var priceTo = $('#input-with-keypress-1').val();
		var keyword = $('input[name="keyword"]').val();
		var search = $('input[name="search"]').val();


		// mark all using filters
		if (!empty(sort)) $('#sort').next().addClass('actived');
		if (!empty(manufacturer)) $('#mark').addClass('actived');
		if (!empty(type)) $('#type').addClass('actived');
		if (!empty(zone)) $('#zone').addClass('actived');
		if (!empty(priceTo)) $('#price').addClass('actived');
		if (!empty(keyword)) $('.search_input').addClass('actived');
		$('.clearFiltr').addClass('actived');

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=showResults&sort=" + sort + "&lastCID=" + lastCID + "&manufacturer=" + manufacturer + "&priceFrom=" + priceFrom + "&priceTo=" + priceTo + "&keyword=" + keyword + "&type=" + type + "&zone=" + zone + "&search=" + search,
			success: function (data) {
				removeLoader($this);
				if (data.status) {
					$('.productsView').html(data.data);
					$('.conanPaginator').html(data.data2['info']);
					$('.all_page').html(data.data2['pagination']);
					$('#mainLoader').fadeOut();
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.clearFiltr', function (e) {
		e.preventDefault();
		$('#sort').val("");
		$('input[name="manufacturer"]').each(function () {
			$(this).val("");
		});
		$('input[name="actionzone"]').each(function () {
			$(this).val("");
		});
		$('#input-with-keypress-0').val("");
		$('#input-with-keypress-1').val("");
		$('input[name="keyword"]').val("");

		$('#sort').next().removeClass('actived');
		$('#mark').removeClass('actived');
		$('#strefa').removeClass('actived');
		$('#price').removeClass('actived');
		$('.search_input').removeClass('actived');
		$('.showResults').click();
		$('.clearFiltr').removeClass('actived');
	});

	$(document).on('click', '.nozoom', function (e) {
		e.preventDefault();
	});

	$(document).on('click', '.addToCart', function () {
		var pid = $(this).attr('data-pid');
		// var quantity = $('#quantity').val();
		var quantity = $(this).parent().find('#quantity'+pid).val();
		var stockname = $(this).data('stock');
		if (empty(quantity)) quantity = 1;
		$('.loader-callendar3').css('display','flex');
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=addToCart&pid=" + pid +
				"&quantity=" + quantity +
				"&stockname=" + stockname,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('.cartContent').html(data.data);
					$('.sumCart').html(data.data2);
					$('.cartContentsCount').html(data.data3);
					if ($('.toFreeShipping').length > 0) $('.toFreeShipping').html(data.data6);
					$('.toggle_cart').addClass('vis');
				}
				$('.loader-callendar3').css('display','none');
				// console.log(data);
				// console.log('succes addcart');
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log('error addcart');
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});



	$(document).on('click', 'input[name="delivery"]', function (e) {
		var deliveryPaymentID = $(this).val();
		var deliveryID = $(this).data('delid');
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=setDelivery&deliveryPaymentID=" + deliveryPaymentID,
			success: function (data) {
				if (data.status) {
					$('.deliveryCost').html(data.data);
					$('.totalSumCart').html(data.data2);
					if(deliveryID == 5){
						$('.paymentDelSelect').toggle();
					}
					else {
						$('.paymentDelSelect').hide();
					}
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('change', '.paymentDelSelect', function () {
		var placeName = $(this).val();
		
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=setDeliveryPlace&deliveryPlaceName=" + placeName,
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});


	$(document).on('click', '.showSiteCart', function (e) {
		e.preventDefault();
		$('#siteCart').toggleClass('vis');
	});

	$(document).on('click', '.shopWithoutAccount', function (e) {
		$this = $(this);
		e.preventDefault();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=shopWithoutAccount",
			success: function (data) {
				setTimeout(function () {
					msg(data);
					if (data.status) {
						location.href = $this.attr('href');
					} else {
						setTimeout(function () {
							location.reload();
						}, 2000);
					}
				}, 1000);

				console.log(data);

			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});
	$(document).on('click', '.saveDelivery', function (e) {
		$this = $(this);
		e.preventDefault();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=saveDelivery",
			success: function (data) {
				setTimeout(function () {
					msg(data);
					if (data.status) {
						location.href = $this.attr('href');
					} else {
						setTimeout(function () {
							location.reload();
						}, 2000);
					}
				}, 1000);

				console.log(data);

			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.saveAllDelivery', function (e) {
		$this = $(this);
		e.preventDefault();

		var newAdress = 0;
		if ($('#newAddress').prop("checked")) {
			newAdress = 1;
		}

		var wannaInvoice = 0;
		if ($('#wannaInvoice').prop("checked")) {
			wannaInvoice = 1;
		}

		var newInvoice = 0;
		if ($('#newInvoice').prop("checked")) {
			newInvoice = 1;
		}

		var nameSurnameCompanyDelivery = $('#nameSurnameCompanyDelivery').val();
		var email = $('#email').val();
		var addressDelivery = $('#addressDelivery').val();
		var zipCodeDelivery = $('#zipCodeDelivery').val();
		var cityDelivery = $('#cityDelivery').val();
		var phoneDelivery = $('#phoneDelivery').val();


		var companyPrivate = $('input[name="companyPrivate"]:checked').val();
		var nameSurname = $('#nameSurname').val();
		var company = $('#companyName').val();
		var address = $('#address').val();
		var zipCode = $('#zipCode').val();
		var city = $('#city').val();
		var nip = $('#nip').val();

		$('.invoiceSet').find('input').each(function () {
			if ($(this).prop('required')) {
				if (empty($(this).val())) {
					$(this).addClass('requiredEmpty');
					stop++;
				}
			}
		});

		var dataAddressOk = 1;
		var dataInvoiceOk = 1;

		if (newAdress == 1) {
			if (nameSurnameCompanyDelivery == '' ||
				email == '' ||
				addressDelivery == '' ||
				zipCodeDelivery == '' ||
				cityDelivery == '' ||
				phoneDelivery == ''
			) {
				var data = {};
				data.status = false;
				data.msg = 'Uzupełnij wszytskie dane adresowe';
				msg(data);
				dataAddressOk = 0;
			}
		}

		// console.log('companyPrivate');
		// console.log(companyPrivate);

		// console.log('wannaInvoice');
		// console.log(wannaInvoice);
		// console.log('newInvoice');
		// console.log(newInvoice);

		if (wannaInvoice == 1 && newInvoice == 1) {
			if (companyPrivate == 'company') {
				console.log('companyPrivate == company');
				console.log(newInvoice);

				if (company == '' ||
					address == '' ||
					zipCode == '' ||
					city == '' ||
					nip == ''
				) {
					var data = {};
					data.status = false;
					data.msg = 'Uzupełnij wszytskie dane do faktury';
					msg(data);
					dataInvoiceOk = 0;
				}
			} else {
				if (nameSurname == '' ||
					address == '' ||
					zipCode == '' ||
					city == ''
				) {
					var data = {};
					data.status = false;
					data.msg = 'Uzupełnij wszytskie dane do faktury';
					msg(data);
					dataInvoiceOk = 0;
				}
			}
		}

		setTimeout(() => {
			if (dataAddressOk == 1 && dataInvoiceOk == 1) {

				console.log('wchodzi');
				$.ajax({
					type: "POST",
					url: "index.php",
					data: "ajax=saveAllDelivery" +
						"&newAdress=" + newAdress +
						"&nameSurnameCompanyDelivery=" + nameSurnameCompanyDelivery +
						"&email=" + email +
						"&addressDelivery=" + addressDelivery +
						"&zipCodeDelivery=" + zipCodeDelivery +
						"&cityDelivery=" + cityDelivery +
						"&phoneDelivery=" + phoneDelivery +
						"&wannaInvoice=" + wannaInvoice +
						"&newInvoice=" + newInvoice +
						"&companyPrivate=" + companyPrivate +
						"&nameSurname=" + nameSurname +
						"&company=" + company +
						"&address=" + address +
						"&zipCode=" + zipCode +
						"&city=" + city +
						"&nip=" + nip,

					success: function (data) {
						// setTimeout(function () {
						// msg(data);
						console.log(data);
						if (data.status) {
							console.log('data status ok');
							location.href = $this.attr('href');

						} else {
							msg(data);
							console.log('data status else');
						}
						// }, 1000);

						console.log(data);

					},
					error: function (xhr, ajaxOptions, thrownError) {
						console.log(xhr);
						console.log(ajaxOptions);
						console.log(thrownError);
					},
					dataType: 'json'
				});
			}

		}, 300);

	});

	$(document).on('click', '.showClassNewAdress', function (e) {
		$('.newAddress').removeClass('d-none');
		if ($('#newAddress').prop("checked")) {} else {
			$("#newAddress").prop("checked", true);
		}
	});


	$(document).on('change', 'input[name="customerDataID"]', function (e) {
		if (!$('.newAddress').hasClass('d-none')) {
			$('.newAddress').addClass('d-none');
		}

		if ($('#newAddress').prop("checked")) {
			$("#newAddress").prop("checked", false);
		}
	});



	 

	$(document).on('click', '.showClassInvoiceAddress', function (e) {
		$('.invoiceSet').removeClass('d-none');
		if ($('#newInvoice').prop("checked")) {} else {
			$("#newInvoice").prop("checked", true);
		}



		$('input[name="customerDataID2"]').each(function () {
			if ($(this).prop('checked')) {
				$(this).prop("checked", false);
			}
		});
	});

	$(document).on('change', 'input[name="customerDataID2"]', function (e) {
		if (!$('.invoiceSet').hasClass('d-none')) {
			$('.invoiceSet').addClass('d-none');
		}

		if ($('#newInvoice').prop("checked")) {
			$("#newInvoice").prop("checked", false);
		}
	});


	$(document).on('click', '.savePayments', function (e) {
		$this = $(this);
		e.preventDefault();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=savePayments",
			success: function (data) {
				setTimeout(function () {
					msg(data);
					if (data.status) {
						location.href = $this.attr('href');
					} else {
						setTimeout(function () {
							location.reload();
						}, 2000);
					}
				}, 1000);

				console.log(data);

			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.savePaymentsAndDelivery', function (e) {
		$this = $(this);
		e.preventDefault();

		var delivery = new Array();
		$('input[name="delivery"]').each(function () {
			if ($(this).prop('checked')) delivery.push($(this).val());
		});

		var paydelivery = new Array();
		$('input[name="paydelivery"]').each(function () {
			if ($(this).prop('checked')) paydelivery.push($(this).val());
		});

		if (empty(delivery)) {
			var data = {};
			data.status = false;
			data.msg = 'Wybierz sposób dostawy';
			msg(data);
		} else if (empty(delivery)) {
			var data = {};
			data.status = false;
			data.msg = 'Wybierz sposób płatności';
			msg(data);
		} else {
			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=savePaymentsAndDelivery&delivery=" + delivery[0] +
					"&paydelivery=" + paydelivery[0],
				success: function (data) {
					setTimeout(function () {
						msg(data);
						if (data.status) {
							location.href = $this.attr('href');
						} else {
							// setTimeout(function () {
							// 	location.reload();
							// }, 2000);
						}
					}, 1000);

					console.log(data);

				},
				error: function (xhr, ajaxOptions, thrownError) {
					console.log(xhr);
					console.log(ajaxOptions);
					console.log(thrownError);
				},
				dataType: 'json'
			});
		}
	});

	$(document).on('click', '.doOrder', function (e) {
		$this = $(this);
		e.preventDefault();
		var deliveryPlace = '0';
		if($('[name="deliveryPlace"]').length>0) {
			var deliveryPlace = $('[name="deliveryPlace"]').val();
		}
		
		
		
		//if(deliveryPlace == 'Marki' || deliveryPlace == 'Warszawa - Bemowo' || deliveryPlace == 'Warszawa - Gocław' || deliveryPlace == 'Warszawa - Mokotów' || deliveryPlace == 'Warszawa - Piaseczno' || deliveryPlace == 'Warszawa - Tarchomin' || deliveryPlace == 'Warszawa - Ursus' || deliveryPlace == 'Warszawa - Ursynów' || deliveryPlace == 'Warszawa - Wilanów' || deliveryPlace == 'Warszawa - Wola'){
			
		
		
		$('.doOrder').html(translation['pleaseWait']);
		// console.log(translation['pleaseWait']);
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=doOrder&deliveryPlace="+deliveryPlace,
			success: function (data) {
				// $('.doOrder').html(translation['pleaseWait']);
				console.log(translation['pleaseWait']);
				setTimeout(function () {
					$('.loaderAfterSubmit').removeClass('disabled').prop('disabled', false);
					// $('.loaderAfterSubmit').removeClass('disabled').prop('disabled', false);

					msg(data);
					if (data.status) {
						location.href = $this.attr('href');
					} else {
						setTimeout(function () {
							location.reload();
						}, 2000);
					}
				}, 1000);
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
//	}
	});

	$(document).on('click', '.loaderAfterSubmit', function (e) {
		e.preventDefault();
		if ($(this).is('input')) {
			$(this).prop('disabled', true);
		} else {
			$(this).addClass('disabled');
		}
	});


	// funkcja uniwersalna potrafiaca pokazac dowolna klase po kliku
	// nalezy do elementu klikalnego przypiac klase showClass
	// do tego samego elementu przypisac data-class o wartosci klasy
	// do pokazania x. [cos]
	// klase .cos przypisac do elementu ktory bedzie pokazywany
	$(document).on('click', '.showClass', function (e) {
		e.preventDefault();
		var classN = $(this).attr('data-class');

		if ($(this).hasClass('open')) {
			$(this).removeClass('open');
			$('.' + classN).addClass('open');
			$('.' + classN).addClass('d-none');
		} else {
			$(this).addClass('open');
			$('.' + classN).removeClass('open');
			$('.' + classN).removeClass('d-none');
		}

		if ($(this).hasClass('goTo')) {
			goTo('.' + classN, 'slow', '180');
		}
	});

	$(document).on('click', '.showClassAccount', function (e) {
		e.preventDefault();
		var classN = $(this).attr('data-class');
		$('.showClassAccount').removeClass('open');
		$(this).addClass('open');

		$('.acconut-content').addClass('d-none');
		$('.' + classN).removeClass('d-none');

		if ($(this).hasClass('goTo')) {
			goTo('.' + classN, 'slow', '180');
		}
	});

	$(document).on('change', '#wannaInvoice', function (e) {
		e.preventDefault();
		var classN = $(this).attr('data-class');
		if ($(this).prop("checked")) {
			$('.' + classN).removeClass('open');
			$('.' + classN).removeClass('d-none');
		} else {
			$('.' + classN).addClass('open');
			$('.' + classN).addClass('d-none');
		}

	});

	$("input[name='companyPrivate'], input[name='customerDataID2'],  input[name='delivery']").on('click', function () {
		// in the handler, 'this' refers to the box clicked on
		var $box = $(this);
		if ($box.is(":checked")) {
			var group = "input:checkbox[name='" + $box.attr("name") + "']";
			$(group).prop("checked", false);
			$box.prop("checked", true);
		} else {
			$box.prop("checked", false);
		}
	});


	$(document).on('click', '.invoiceOrNot', function () {
		var val = $(this).val();

		if (val == 'company') {
			$('.noprivate').removeClass('d-none');
			$('#nameSurname').addClass('d-none').removeAttr('required');
			$('#company, #nip').attr('required', true);
		} else {
			$('.noprivate').addClass('d-none');
			$('#nameSurname').removeClass('d-none');
			$('#company, #nip').removeAttr('required');
			$('#nameSurname').attr('required', true);
		}
	});

	$(document).on('click', '.copyDataToInvoice', function (e) {
		e.preventDefault();

		var newAdress = 0;
		if ($('#newAddress').prop("checked")) {
			newAdress = 1;
		}

		if (newAdress == 1) {
			var nameSurnameCompanyDelivery = $('#nameSurnameCompanyDelivery').val();
			var addressDelivery = $('#addressDelivery').val();
			var zipCodeDelivery = $('#zipCodeDelivery').val();
			var cityDelivery = $('#cityDelivery').val();

			$('#companyName').val(nameSurnameCompanyDelivery);
			$('#nameSurname').val(nameSurnameCompanyDelivery);
			$('#company').val(nameSurnameCompanyDelivery);
			$('#address').val(addressDelivery);
			$('#zipCode').val(zipCodeDelivery);
			$('#city').val(cityDelivery);

		} else {

			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=copyDataToInvoice",
				success: function (data) {
					msg(data);
					console.log(data.data);
					if (data.status) {
						$('#nameSurname').val(data.data.name);
						$('#companyName').val(data.data.name);
						// $('#company').val(data.data.name);
						$('#address').val(data.data.address);
						$('#zipCode').val(data.data.zipCode);
						$('#city').val(data.data.city);
					}
				},
				error: function (xhr, ajaxOptions, thrownError) {
					console.log(xhr);
					console.log(ajaxOptions);
					console.log(thrownError);
				},
				dataType: 'json'
			});
		}

	});

	$(document).on('click', '.addNewDeliveryAddress', function (e) {
		e.preventDefault();
		var stop = -0;

		$('.newAddress').find('input').each(function () {
			if ($(this).prop('required')) {
				if (empty($(this).val())) {
					$(this).addClass('requiredEmpty');
					stop++;
				}
			}
		});

		if (stop > 0) return null;

		var nameSurnameCompanyDelivery = $('#nameSurnameCompanyDelivery').val();
		var email = $('#email').val();
		var addressDelivery = $('#addressDelivery').val();
		var zipCodeDelivery = $('#zipCodeDelivery').val();
		var cityDelivery = $('#cityDelivery').val();
		var phoneDelivery = $('#phoneDelivery').val();



		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=addNewDeliveryAddress&nameSurnameCompanyDelivery=" +
				nameSurnameCompanyDelivery +
				"&email=" + email +
				"&addressDelivery=" + addressDelivery +
				"&zipCodeDelivery=" + zipCodeDelivery +
				"&cityDelivery=" + cityDelivery +
				"&phoneDelivery=" + phoneDelivery,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('#deliveryAddress').html(data.data);
					$('.newAddress').find('input').each(function () {
						$(this).val('');
					});
					$('.newAddress').addClass('d-none');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});

	});

	$(document).on('click', '.addAddressAccount', function () {
		$('.newAddress').removeClass('d-none');
	});
	$(document).on('click', '.editDane ', function () {
		$(this).parent().parent().toggleClass('hide');
		$(this).parent().parent().next().toggleClass('show');
	});
	$(document).on('click', '.editDaneFormBtn', function () {
		var $this = $(this);
		var cid = $(this).parent().data('customerid');
		var cdaid = $(this).parent().data('customerdeliveryid');
		var name = $(this).parent().find('.name').val();
		var email = $(this).parent().find('.email').val();
		var adres = $(this).parent().find('.adres').val();
		var zipcode = $(this).parent().find('.zipcode').val();
		var city = $(this).parent().find('.city').val();
		var phone = $(this).parent().find('.phone').val();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=editDaneFormBtn&cid=" +
				cid + "&name=" + name +
				 "&email=" + email +
				"&adres=" + adres +
				"&zipcode=" + zipcode +
				"&city=" + city + 
				"&cdaid=" + cdaid + 
				"&phone=" + phone,
			success: function (data) {
				if (data.status) {
					
					// console.log('weldone');
					$this.parent().find('.name').val(data.data.name);
					$this.parent().find('.email').val(data.data.email);
					$this.parent().find('.adres').val(data.data.address);
					$this.parent().find('.zipcode').val(data.data.zipCode);
					$this.parent().find('.city').val(data.data.city);
					$this.parent().find('.phone').val(data.data.phone);

					$this.parent().prev().find('.name').html(data.data.name);
					$this.parent().prev().find('.email').html(data.data.email);
					$this.parent().prev().find('.adres').html(data.data.address);
					$this.parent().prev().find('.zipcode').html(data.data.zipCode);
					$this.parent().prev().find('.city').html(data.data.city);
					$this.parent().prev().find('.phone').html(data.data.phone);
					$this.parent().removeClass('show');
					$this.parent().prev().removeClass('hide');
					// $('.deliveryAddressAccountId' + id).remove();
					// $('.newAddress').removeClass('d-none');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});
	
 

	$(document).on('click', '.productbuttons', function () {
		$('.productbuttons').removeClass('active');
		$(this).addClass('active');
		if($(this).hasClass('button1')){
			$('.productshow1').addClass('active');
			$('.productshow2').removeClass('active');
		}
		if($(this).hasClass('button2')){
			$('.productshow2').addClass('active');
			$('.productshow1').removeClass('active');
		}
	});


	$(document).on('click', '.editAddressAccount', function () {
		var id = $(this).data('id');
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=editAddressAccount&id=" +
				id,
			success: function (data) {
				if (data.status) {
					$('#nameSurnameCompanyDelivery').val(data.data.name);
					$('#email').val(data.data.email);
					$('#addressDelivery').val(data.data.address);
					$('#zipCodeDelivery').val(data.data.zipCode);
					$('#cityDelivery').val(data.data.city);
					$('#phoneDelivery').val(data.data.phone);

					$('.deliveryAddressAccountId' + id).remove();
					$('.newAddress').removeClass('d-none');
					$('.addNewDeliveryAddressAccount').attr('data-cdid',data.data2);
					
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});


	$(document).on('click', '.addNewDeliveryAddressAccount', function (e) {
		var nameSurnameCompanyDelivery = $('#nameSurnameCompanyDelivery').val();
		var email = $('#email').val();
		var addressDelivery = $('#addressDelivery').val();
		var zipCodeDelivery = $('#zipCodeDelivery').val();
		var cityDelivery = $('#cityDelivery').val();
		var phoneDelivery = $('#phoneDelivery').val();
		var cdid = $(this).data('cdid');

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=addNewDeliveryAddressAccount&nameSurnameCompanyDelivery=" +
				nameSurnameCompanyDelivery +
				"&email=" + email +
				"&addressDelivery=" + addressDelivery +
				"&zipCodeDelivery=" + zipCodeDelivery +
				"&cityDelivery=" + cityDelivery +
				"&cdid=" + cdid +
				"&phoneDelivery=" + phoneDelivery,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('.row-adressAccount').html(data.data);
					$('.newAddress').addClass('d-none');

					$('#nameSurnameCompanyDelivery').val('');
					$('#email').val('');
					$('#addressDelivery').val('');
					$('#zipCodeDelivery').val('');
					$('#cityDelivery').val('');
					$('#phoneDelivery').val('');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});

	});

	$(document).on('click', '.removeAddressAccount', function () {
		var id = $(this).data('id');

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=removeAddressAccount&id=" +
				id,
			success: function (data) {
				// msg(data);
				if (data.status) {
					// $('.row-adressAccount').html(data.data);
					$('.deliveryAddressAccountId' + id).remove();
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});

	});

	$(document).on('click', '.editMailAccount', function () {
		$('.updateNewAddress').removeClass('d-none');
		$('.editMailAccount').addClass('d-none');
	});
	$(document).on('change', '.sizeOptions', function () {
	var val = $(this).val();
	window.location = val+".html";
	});
	

	$(document).on('click', '.saveMailAccount ', function () {
		var email = $('.input-new-email').val();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=saveMailAccount&email=" +
				email,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('.updateNewAddress').addClass('d-none');
					$('.input-new-email').val(' ');
					$('.actual-mail').html(email);
					$('.editMailAccount').removeClass('d-none');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.editPasswordAccount', function () {
		$('.updateNewPassword').removeClass('d-none');
		$('.editPasswordAccount').addClass('d-none');
	});

	$(document).on('click', '.savePasswordAccount ', function () {
		var password = $('.input-new-password').val();
		var passwordRepeat = $('.input-new-password-repeat').val();

		if (password == passwordRepeat) {
			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=savePasswodAccount&password=" +
					password,
				success: function (data) {
					msg(data);
					if (data.status) {
						$('.updateNewPassword').addClass('d-none');
						$('.input-new-password').val(' ');
						$('.editPasswordAccount').removeClass('d-none');
					}
				},
				error: function (xhr, ajaxOptions, thrownError) {
					console.log(xhr);
					console.log(ajaxOptions);
					console.log(thrownError);
				},
				dataType: 'json'
			});
		} else {
			message('passwordNotCorrect');
		}

	});




	$(document).on('click', 'input[name="customerDataID"]', function () {
		var cdaID = $(this).val();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=setDeliveryAddress&cdaID=" + cdaID,
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});
	

	$(document).on('click', 'input[name="customerDataID2"]', function () {
		var ciID = $(this).val();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=setInvoiceAddress&ciID=" + ciID,
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});
	$(document).on('click', '.mobil_filter_toggle', function () {
		$(this).next().slideToggle();
	});
	

	$(document).on('click', '.saveInvoiceData', function () {
		var companyPrivate = $('input[name="companyPrivate"]:checked').val();
		var nameSurname = $('#nameSurname').val();
		var company = $('#company').val();
		var address = $('#address').val();
		var zipCode = $('#zipCode').val();
		var city = $('#city').val();
		var nip = $('#nip').val();

		$('.invoiceSet').find('input').each(function () {
			if ($(this).prop('required')) {
				if (empty($(this).val())) {
					$(this).addClass('requiredEmpty');
					stop++;
				}
			}
		});

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=saveInvoiceData&companyPrivate=" +
				companyPrivate +
				"&nameSurname=" + nameSurname +
				"&company=" + company +
				"&address=" + address +
				"&zipCode=" + zipCode +
				"&city=" + city +
				"&nip=" + nip,
			success: function (data) {
				msg(data);

				console.log(data);
				if (data.status) {
					$('#invoiceData').html(data.data);
					// $('#deliveryAddress').html(data.data2);
					// $('#invoiceData').html(data.data2);
					$('.wannaInvoice').find('input').each(function () {
						$(this).val('');
					});
					$('.invoiceSet').addClass('d-none');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	
	// Funkcja do przetwarzania URL
function parseCustomUrl(url) {
    // Usuń protokół (http:// lub https://) oraz domenę
    const path = url.replace(/^https?:\/\/[^\/]+/, '');
    
    // Rozdziel URL na części po "/"
    const parts = path.split('/').filter(part => part); // Filtrujemy puste części

    // Zdefiniuj obiekt do przechowywania wyników
    const results = {
        one: null,
        two: null,
        three: null,
        four: null,
        five: null,
        six: null
    };

    // Sprawdź, czy mamy wystarczająco wiele części
    if (parts.length >= 6) {
        results.one = parts[0]; // "opony"
        results.two = parts[1]; // "letnie"
        
        // Przetwórz "car=" i usuń ten prefiks
        const carPart = parts[2];
        if (carPart.startsWith('car=')) {
            results.three = carPart.substring(4); // Usuń "car=" i zachowaj wartość
        }
        
        // Przypisz pozostałe części
        results.four = parts[3]; // "146"
        results.five = parts[4]; // "2001"
        results.six = parts[5]; // "b7fede84c2"
    }

    return results;
}

// Funkcja do selekcji kroków samochodu
// Funkcja do przetwarzania URL
function parseCustomUrl(url) {
    // Usuń protokół (http:// lub https://) oraz domenę
    const path = url.replace(/^https?:\/\/[^\/]+/, '');
    
    // Rozdziel URL na części po "/"
    const parts = path.split('/').filter(part => part); // Filtrujemy puste części

    // Zdefiniuj obiekt do przechowywania wyników
    const results = {
        one: null,
        two: null,
        three: null,
        four: null,
        five: null,
        six: null
    };

    // Sprawdź, czy mamy wystarczająco wiele części
    if (parts.length >= 6) {
        results.one = parts[0]; // "opony"
        results.two = parts[1]; // "letnie"
        
        // Przetwórz "car=" i usuń ten prefiks
        const carPart = parts[2];
        if (carPart.startsWith('car=')) {
            results.three = carPart.substring(4); // Usuń "car=" i zachowaj wartość
        }
        
        // Przypisz pozostałe części
        results.four = parts[3]; // "146"
        results.five = parts[4]; // "2001"
        results.six = parts[5]; // "b7fede84c2"
    }

    return results;
}

// Funkcja do selekcji kroków samochodu
function parseCustomUrl(url) {
    // Usuń protokół (http:// lub https://) oraz domenę
    const path = url.replace(/^https?:\/\/[^\/]+/, '');
    
    // Rozdziel URL na części po "/"
    const parts = path.split('/').filter(part => part); // Filtrujemy puste części

    // Zdefiniuj obiekt do przechowywania wyników
    const results = {
        one: null,
        two: null,
        three: null,
        four: null,
        five: null,
        six: null
    };

    // Sprawdź, czy mamy wystarczająco wiele części
    if (parts.length >= 6) {
        results.one = parts[0]; // "opony"
        results.two = parts[1]; // "letnie"
        
        // Przetwórz "car=" i usuń ten prefiks
        const carPart = parts[2];
        if (carPart.startsWith('car=')) {
            results.three = carPart.substring(4); // Usuń "car=" i zachowaj wartość
        }
        
        // Przypisz pozostałe części
        results.four = parts[3]; // "146"
        results.five = parts[4]; // "2001"
        results.six = parts[5]; // "b7fede84c2"
    }

    return results;
}

function selectCarSteps() {
    const currentUrl = window.location.href; // Pobierz aktualny URL
    const parsedUrl = parseCustomUrl(currentUrl); // Przetwórz URL

    // Wyciągnięcie danych
    const one = parsedUrl.one;
    const two = parsedUrl.two;
    const three = parsedUrl.three;
    const four = parsedUrl.four;
    const five = parsedUrl.five;
    const six = parsedUrl.six;

    // console.log("Parsed Data:", { one, two, three, four, five, six });

    // Pobierz dane z sessionStorage
    const carMakes = JSON.parse(sessionStorage.getItem("carMakes")) || [];
    const carModels = JSON.parse(sessionStorage.getItem("carModels")) || [];
    const carYears = JSON.parse(sessionStorage.getItem("carYears")) || [];
    const carGenerations = JSON.parse(sessionStorage.getItem("carGenerations")) || [];

    if (three) {
        // Znajdź select o name="car_brand"
        const carBrandSelect = document.querySelector('select[name="car_brand"]');
        
        if (carBrandSelect) {
            const optionToSelectBrand = Array.from(carBrandSelect.options).find(option => option.value === three);
            if (optionToSelectBrand) {
                carBrandSelect.value = optionToSelectBrand.value; // Ustaw jako wybrany
                carBrandSelect.dispatchEvent(new Event('change')); // Wywołaj zdarzenie 'change'
            } else {
                console.warn(`Option with value "${three}" not found in car_brand select.`);
            }
        } else {
            console.warn('Select element with name "car_brand" not found.');
        }
    }

    if (four) {
        // Znajdź select o name="car_model"
        const carModelSelect = document.querySelector('select[name="car_model"]');
        
        if (carModelSelect) {
            const optionToSelectModel = Array.from(carModelSelect.options).find(option => option.value === four);
            if (optionToSelectModel) {
                carModelSelect.value = optionToSelectModel.value; // Ustaw jako wybrany
                carModelSelect.dispatchEvent(new Event('change')); // Wywołaj zdarzenie 'change'
            } else {
                console.warn(`Option with value "${four}" not found in car_model select.`);
            }
        } else {
            console.warn('Select element with name "car_model" not found.');
        }
    }

    if (five) {
        // Znajdź select o name="car_year"
        const carYearSelect = document.querySelector('select[name="car_year"]');
        
        if (carYearSelect) {
            const optionToSelectYear = Array.from(carYearSelect.options).find(option => option.value === five);
            if (optionToSelectYear) {
                carYearSelect.value = optionToSelectYear.value; // Ustaw jako wybrany
                carYearSelect.dispatchEvent(new Event('change')); // Wywołaj zdarzenie 'change'
            } else {
                console.warn(`Option with value "${five}" not found in car_year select.`);
            }
        } else {
            console.warn('Select element with name "car_year" not found.');
        }
    }

    if (six) {
        // Znajdź odpowiednie dane w carGenerations
        const generation = carGenerations.find(g => g.slug === six);
        if (generation) {
            // Znajdź select o name="car_generation"
            const carGeneSelect = document.querySelector('select[name="car_generation"]');
            
            if (carGeneSelect) {
                const optionToSelectGeneration = Array.from(carGeneSelect.options).find(option => option.value === generation.slug);
                if (optionToSelectGeneration) {
                    carGeneSelect.value = optionToSelectGeneration.value; // Ustaw jako wybrany
                    carGeneSelect.dispatchEvent(new Event('change')); // Wywołaj zdarzenie 'change'
                } else {
                    console.warn(`Option with value "${generation.slug}" not found in car_generation select.`);
                }
            } else {
                console.warn('Select element with name "car_generation" not found.');
            }
        } else {
            console.warn(`Generation with slug "${six}" not found in carGenerations.`);
        }
    }
}



// Wywołanie funkcji
selectCarSteps();



	

   

	$(document).on('change', 'select[name="attributesSelectLashes"]', function () {
		$('#mainLoader').show();
		var alias = $(this).val();
		location.href = alias;
	});
	$(document).on('change', '.filterselect', function () {
		var val = $(this).val();

		var isback = 0;
		if($('.sizesSelect.back option:first').length > 0){
		  var isback = 1;
		}

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=filterselect&val=" +
				val + "&isback=" + isback,
			success: function (data) {
				
				if (data.status) {
					$('.row-content-listing').html(data.data);
					 $('.row-content-listing').data('offset', '25');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	$(document).on('click', '.makeVerify', function (e) {
		e.preventDefault();
		var nip = $('#nip').val();
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=makeVerify&nip=" +
				nip,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('.form-actions').addClass('d-none');
					$('.step2').removeClass('d-none');
					$('#nip').prop('disabled', true);
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});

	if ($('.drop-gallery').length > 0) {

		$('.drop-gallery').dmUploader({
			url: 'index.php?name=verifyCompany',
			allowedTypes: "*",
			extFilter: ["jpg", "jpeg", "png", "gif", "pdf","webp"],
			multiple: true,
			onNewFile: function (id, file) {
				if (typeof FileReader !== 'undefined') {
					var reader = new FileReader();
					$('#filelist').append('<div class="img img' + id + ' float-left mr-2"><img /><span class="' + id + '"></span><i class="fas fa-window-close removeVerifyFile" data-sid="1" data-id="' + id + '" aria-hidden="true"></i></div>');
					var img = $('.img' + id + ' img');

					reader.onload = function (e) {
						//img.css('background-image', 'url('+e.target.result+')');
						img.attr('src', e.target.result);
					}
					reader.readAsDataURL(file);
				}
			},
			extraData: function () {
				return {
					"cID": $('#sliderInToppl').data('cid'),
					"sliderID": 1
				};
			},
			onUploadProgress: function (id, percent) {
				$('span.' + id).html(percent + '%').css('width', (percent - 5) + '%');
			},
			onUploadSuccess: function (id, data) {
				$('span.' + id).hide();
				if (strstr(data, '.pdf') !== false) {
					$('.img' + id).find('img').attr('src', 'image/svg/pdf.svg').attr('data-name', data);
				} else {
					$('.img' + id).attr('data-name', data);
				}
				//jezeli nie powiedzie sie wgranie zdjecia w php skasuj javacriptowa utworzona miniature
				if (data == 'ERROR') {
					$('.img' + id).remove();

					//could be one of two belown errors
					message('only4FilesAreAllown', false);
					message('cantFoundUploadFile', false);

				} else {
					$('.step3').removeClass('d-none');
				}
			}
		});

	}
	$(document).on('click', '.removeVerifyFile', function () {
		var name = $(this).parent().attr('data-name');
		var $this = $(this);
		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=removeVerifyFile&name=" +
				name,
			success: function (data) {
				msg(data);
				if (data.status) {
					$this.parent().remove();
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});
	});


	/*
	 * all input with class .newsletterRequired will be validate before adding action
	 */
	$(document).on('click', 'input[name="addNewsletterEmail"]', function () {
		var addNewsletterEmail = $(this);
		addNewsletterEmail.prop('disabled', true);
		var newsletterEmail = $('input[name="newsletterEmail"]').val();
		if (empty(newsletterEmail)) {
			message('emailNotValid', false);
		}

		var counter = 0;
		$('.newsletterRequired').each(function () {
			var $this = $(this);
			if ($this.prop('checked') === false) {
				$this.parent().addClass('checkboxRequired');
				setTimeout(function () {
					$this.parent().removeClass('checkboxRequired');
				}, 1500);
				setTimeout(function () {
					addNewsletterEmail.prop('disabled', false);
				}, 1500);
				counter++;
			}
		});

		if (counter > 0) return false;

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=addNewsletterEmail&newsletterEmail=" +
				newsletterEmail,
			success: function (data) {
				msg(data);
				if (data.status) {
					$('input[name="newsletterEmail"]').val('');
					$('.newsletterRequired').each(function () {
						$(this).prop('checked', false);
					});
					$('.newsletter').removeClass('checkboxRequired');
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});

		setTimeout(function () {
			addNewsletterEmail.prop('disabled', false);
		}, 1500);
	});


	$(document).on('click', '.forgetPassword', function () {
		$('.login-container').addClass('d-none');
		$('.forget-password-container').removeClass('d-none');
	});

	$(document).on('click', '.wheelsselect .tabsy', function () {
		$('.wheelsselect .tabsy a').removeClass('active');
		$('.wheelsselect .tabsy a').removeClass('show');
		$(this).find('a').addClass('active');
		$(this).find('a').addClass('show');
	});
	

	$(document).on('click', '.sendForgettenPassword', function () {
		var mail = $('.forget-password-container input[name="email"]').val();

		if (mail == '') {
			var data = {};
			data.status = false;
			data.msg = 'Uzupełnij adres e-mail';
			msg(data);
		} else {
			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=sendForgettenPassword&mail=" +
					mail,
				success: function (data) {
					msg(data);
					if (data.status) {
						$('.forget-password-container .code-box').removeClass('d-none');
						$('.forget-password-container .forget-mail-send').addClass('d-none');
						$('.forget-password-container .forget-password-accept').removeClass('d-none');
					}
				},
				error: function (xhr, ajaxOptions, thrownError) {
					console.log(xhr);
					console.log(ajaxOptions);
					console.log(thrownError);
				},
				dataType: 'json'
			});
		}
		console.log(mail);
	});


	$(document).on('click', '.sendForgettenCodeAccept', function () {
		var mail = $('.forget-password-container input[name="email"]').val();
		var code = $('.forget-password-container input[name="code"]').val();

		if (mail == '') {
			var data = {};
			data.status = false;
			data.msg = 'Uzupełnij adres e-mail';
			msg(data);
		} else if (code == '') {
			var data = {};
			data.status = false;
			data.msg = 'Uzupełnij kod';
			msg(data);
		} else {
			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=sendForgettenCodeAccept&mail=" +
					mail +
					"&code=" + code,
				success: function (data) {
					msg(data);
					if (data.status) {
						$('.forget-password-container .code-box').addClass('d-none');
						$('.forget-password-container .new-password-box').removeClass('d-none');
						$('.forget-password-container .forget-password-accept').addClass('d-none');
						$('.forget-password-container .new-password-accept').removeClass('d-none');
					}
				},
				error: function (xhr, ajaxOptions, thrownError) {
					console.log(xhr);
					console.log(ajaxOptions);
					console.log(thrownError);
				},
				dataType: 'json'
			});
		}
		// console.log(mail);
	});


	$(document).on('click', '.saveNewPassword', function () {
		var mail = $('.forget-password-container input[name="email"]').val();
		var newPassword = $('.forget-password-container input[name="newPassword"]').val();


		if (mail == '') {
			var data = {};
			data.status = false;
			data.msg = 'Uzupełnij adres e-mail';
			msg(data);
		} else if (newPassword == '') {
			var data = {};
			data.status = false;
			data.msg = 'Uzupełnij nowe hasło';
			msg(data);
		} else {
			$.ajax({
				type: "POST",
				url: "index.php",
				data: "ajax=saveNewPassword&mail=" +
					mail +
					"&newPassword=" + newPassword,
				success: function (data) {
					console.log(data);
					msg(data);
					if (data.status) {
						$('.forget-password-container').addClass('d-none');
						$('.login-container').removeClass('d-none');
						$('.forget-password-container input[name="email"]').val('');
						$('.forget-password-container input[name="newPassword"]').val('');
						$('.forget-password-container input[name="code"]').val('');

						$('.forget-password-container .new-password-accept').addClass('d-none');
						$('.forget-password-container .forget-password-accept').addClass('d-none');
						$('.forget-password-container .forget-mail-send').removeClass('d-none');

						$('.forget-password-container .code-box').addClass('d-none');
						$('.forget-password-container .new-password-box').addClass('d-none');
					}
				},
				error: function (data) {
					console.log(data);
				},
				// error: function (xhr, ajaxOptions, thrownError) {
				// 	console.log(xhr);
				// 	console.log(ajaxOptions);
				// 	console.log(thrownError);
				// },
				dataType: 'json'
			});
		}
	});


	$(document).on('click', '.realizePromoCode', function () {
		var code = $('input[name="promoCode"]').val();

		$.ajax({
			type: "POST",
			url: "index.php",
			data: "ajax=realizePromoCode" +
				"&code=" + code,
			success: function (data) {
				console.log(data);
				msg(data);
				if (data.status) {
					var type = '%';
					if (data.data.type == 1) {
						type = 'zł';
					}

					$('.promoCodeClienkt-box .promoCodeName').html('"' + data.data.code + '"');
					$('.promoCodeClienkt-box .promoCodeValue').html(data.data.value + ' ' + type);
					$('.promoCodeClienkt-box').removeClass('d-none');
					$('.totalSumCart').html(data.data2);
					$('.promo-box input[name="promoCode"]').val('');
					// $('.promo-box').remove();
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				console.log(xhr);
				console.log(ajaxOptions);
				console.log(thrownError);
			},
			dataType: 'json'
		});


		console.log(code);
	});



}); //document ready !-------------




$(window).on('load', function () {
	// $('#mainLoader').fadeOut();
});