/*
	DECODE UTF8 string
*/
var encode = function(string) {
	string = string.replace(/\r\n/g,"\n");
	var utftext = "";
	for (var n = 0; n < string.length; n++) {
		var c = string.charCodeAt(n);
		if (c < 128) {
			utftext += String.fromCharCode(c);
		}
		else if((c > 127) && (c < 2048)) {
			utftext += String.fromCharCode((c >> 6) | 192);
			utftext += String.fromCharCode((c & 63) | 128);
		}
		else {
			utftext += String.fromCharCode((c >> 12) | 224);
			utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			utftext += String.fromCharCode((c & 63) | 128);
		}
	}
	return utftext;
}
var decode = function(utftext) {
	var string = "";
	var i = c = c1 = c2 = 0;
	while (i < utftext.length) {
		c = utftext.charCodeAt(i);
		if (c < 128) {
			string += String.fromCharCode(c);
			i++;
		}
		else if ((c > 191) && (c < 224)) {
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else {
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}
	}
	return string;
}

/*var surveyFormValidation = function() {
	
	$('.close-layer').click(function() {
		$('#ajax-survey').remove();
		$('#overlay').remove();
		return false;
	});
	
	$('form#promo-survey-layer').submit(function(){
		
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		
		if ($.trim($('#phone-layer').val()) == ''){
			$('#promo-survey-layer label[for="phone-layer"]').parent('div').addClass('warning');
		}
		if(!($('#promo-survey-layer .radio input').is(':checked'))) {
			$('#promo-survey-layer #radio-buttons-layer').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola ankiety.');
			$('.warning:first label').next().focus();
			return false;
		}
		$('#promo-survey-layer').addClass('processing').find('#unique_id').val((Math.random()) * 10);
		$.post(HP_host + '/admin/forms/form_submit.php', $this.find('input').serialize(), function(){
			$('#promo-survey-layer').removeClass('processing').html('<h4>Ankieta została wysłana, dziękujemy.</h4><h5><a href="#" class="close-layer">&lt; Wróć do strony FeuVert</a></h5>');
			$('.close-layer').click(function() {
				$('#ajax-survey').remove();
				$('#overlay').remove();
				return false;
			});
		});
		return false;
	});
	
}*/

/*
	KLIENCI rotator
*/
var rotate = function(objId, count, topshift) {
	$(objId + ' li').hide().css({marginTop: '0'});
	for (var i = 0; i < count; i++) {
		$(objId + ' li:eq(' + (i + parseInt($(objId).attr('last'))) + ')').animate({marginTop: topshift + 'px'}, {queue: false}).fadeIn();
	}
	last = (parseInt($(objId).attr('last')) + count >= $(objId + ' li').size()) ? 0 : parseInt($(objId).attr('last')) + count;
	$(objId).attr('last', last);
}

/**
 * Minisklep akcje
 */
var showCart = function() {
	$.colorbox({href: HP_host + '/showpage.php?pageID=265&filter=cart&randNum=' + new Date().getTime(), width:750, onComplete: function() {
		_gaq.push(['_trackPageview', '/zamowienie/koszyk']);
		continueShopping();
		changeQuantity();
		deleteFromCart();
		cartSubmit();
	}});
}

var continueShopping = function() {
	$('#continue-shoping').click(function() {
		$.colorbox.close();
		return false;
	});
}

var deleteFromCart = function() {
	$('#cart td.action a').click(function() {
		$(this).parent().addClass('processing');
		$.get($(this).attr('href') + '&randNum=' + new Date().getTime(), function(){
			showCart();
		});
		return false;
	});
}

var changeQuantity = function() {
	$('#cart td select').change(function() {
		$(this).parent().addClass('processing');
		$.get(HP_host + '/showpage.php?pageID=265&action=updateCart&id=' + $(this).attr('id').slice(8) + '&quantity=' + $(this).val() + '&randNum=' + new Date().getTime(), function(){
			showCart();
		});
	});
}

var cartSubmit = function() {
	$('#shopping-cart').submit(function() {
		if(!$('tr.last').size()) {
			alert('Brak produktów w koszyku.');
			return false;
		}
		productsQuantity = 0;
		cartProducts = $.cookie('cart').split('|');
		$.each(cartProducts, function(index, value) { 
			cartItemInfo = value.split('#');
			productsQuantity += parseInt(cartItemInfo[1]);
		});

		if(productsQuantity > 4) {
			alert('Wybrałeś ' + productsQuantity + ' opon. Możesz wybrać maksymalnie 4.');
			return false;
		}
		
		$.colorbox({href: HP_host + '/showpage.php?pageID=266&filter=assembly&randNum=' + new Date().getTime(), overlayClose:false, width:750, height:581, onComplete: function() {
			placeSelect();
			assemblySubmit();
			assemblyBack();
		}});
		return false;
	});
}

var placeSelect = function() {
	if($('#place-select option:selected').size()) {
		$('#places #place-' + $('#place-select option:selected').val()).show().siblings().hide();
		//$.colorbox.resize();
	}
	$('#place-select').change(function() {
		$this = $(this);
		if($this.val() == '-1') {
			$('#places li').hide();
		} else {
			$('#places #place-' + $this.val()).show().siblings().hide();
		}
		//$.colorbox.resize();
	});
}

var assemblySubmit = function() {
	_gaq.push(['_trackPageview', '/zamowienie/montaz']);
	$('#assembly').submit(function() {
		$('#place-select, #assembly-options li label').removeClass('warning');
		if($('#place-select').val() == '-1') {
			$('#place-select').addClass('warning');
			alert('Wybierz miejsce montażu.');
			return false;
		}
		if(!$('#assembly-options input:checked').size()) {
			$('#assembly-options li label').addClass('warning');
			alert('Wybierz opcję montażu.');
			return false;
		}
		$('#cboxLoadingOverlay').show();
		$.post($(this).attr('action'), $(this).find('input, select').serialize(), function() {
			$.colorbox({href: HP_host + '/showpage.php?pageID=267&filter=overview&randNum=' + new Date().getTime(), overlayClose:false, width:750, height:550,onComplete: function() {
				overviewSubmit();
				overviewBack();
			}});
		});
		
		return false;
	});
}

var assemblyBack = function() {
	$('#assembly #back').click(function() {
		showCart();
		return false;
	});
}

var overviewSubmit = function() {
	_gaq.push(['_trackPageview', '/zamowienie/podsumowanie-zamowienia']);
	if($('#cart td.item-status input:checked').size()) {
		$('#guarantee').removeClass('hidden').addClass('last');
		$('#cart td.item-status input:checked').parent().parent().removeClass('last');
		$('#cart td.title span#valve-info').show();
	}
	
	$('.item-status input').click(function() {
		if($('.item-status input:checked').size()) {
			$('#cart .valve-opt').removeClass('hidden');
			$('#guarantee').removeClass('hidden').addClass('last');
			$(this).parent().parent().removeClass('last');
			$('#cart td.title span#valve-info').show();
			$.cookie('valveCost', parseInt($(this).val()), {path: '/', expires: 0});
			$('#article #total-amount h4 strong').text(parseInt($.cookie('totalAmount')) + parseInt($.cookie('assemblyCost')) + parseInt($.cookie('valveCost')) + ',-');
		} else {
			$('#cart .valve-opt').addClass('hidden');
			$('#guarantee').addClass('hidden').removeClass('last');
			$(this).parent().parent().addClass('last');
			$('#cart td.title span#valve-info').hide();
			$.cookie('valveCost', 0, {path: '/', expires: 0});
			$('#article #total-amount h4 strong').text(parseInt($.cookie('totalAmount')) + parseInt($.cookie('assemblyCost')) + ',-');
		}
	});

	$('#overview').submit(function() {
		$.colorbox({href: HP_host + '/showpage.php?pageID=268&filter=contact&randNum=' + new Date().getTime(), overlayClose:false, width:770, onComplete: function() {
			contactDataSubmit();
			contactDataBack();
			showPaymentButton();
		}});
		return false;
	});
}

var overviewBack = function() {
	$('#overview #back').click(function() {
		$.colorbox({href: HP_host + '/showpage.php?pageID=266&filter=assembly&randNum=' + new Date().getTime(), overlayClose:false, width:750, height:581, onComplete: function() {
			placeSelect();
			assemblySubmit();
			assemblyBack();
		}});
		return false;
	});
}

var showPaymentButton = function() {
	$('form#contact-data .submit-buttons').css('visibility', 'visible');
}

var contactDataSubmit = function() {
	_gaq.push(['_trackPageview', '/zamowienie/dane-kontaktowe']);
	$("#phone").mask("999-999-999",{placeholder:"_"});
	
	$('#personal-data-accept').live('click', function() {
		if($('#personal-data-accept:checked').size()) {
			$('#personal-data').val($('#personal-data-accept').val());
		} else {
			$('#personal-data').val('');
		}
	});
	
	$('#contact-data').submit(function() {
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		
		$('#contact_time').val('');
		$('#contact_type').val('');
		
		$('#contact-time-checkboxes input').each(function() {
			if($(this).attr('checked')) {
				$('#contact_time').val($('#contact_time').val() + ' + ' + $(this).val());
			}
		});
		
		$('#contact-type-checkboxes input').each(function() {
			if($(this).attr('checked')) {
				$('#contact_type').val($('#contact_type').val() + ' + ' + $(this).val());
			}
		});
		
		$('#contact_type').val($('#contact_type').val().substr(2));
		$('#contact_time').val($('#contact_time').val().substr(2));
		
		if ($.trim($('#forename').val()) == ''){
			$('label[for="forename"]').parent('div').addClass('warning');
		}
		if ($.trim($('#surname').val()) == ''){
			$('label[for="surname"]').parent('div').addClass('warning');
		}
		if ($.trim($('#car_id').val()) == ''){
			$('label[for="car_id"]').parent('div').addClass('warning');
		}
		if (!mailFilter.test($.trim($('#email').val()))){
			$('label[for="email"]').parent('div').addClass('warning');
		}
		if ($.trim($('#phone').val()) == ''){
			$('label[for="phone"]').parent('div').addClass('warning');
		}
		if(!$('#contact-time-checkboxes input:checked').size()) {
			$('#contact-time-checkboxes').addClass('warning');
		}
		if(!$('#contact-type-checkboxes input:checked').size()) {
			$('#contact-type-checkboxes').addClass('warning');
		}
		if(!$('#regulations-accept-checkbox input#regulation-accept:checked').size()) {
			$('#regulation-accept').parent().addClass('warning');
		}
		/*if(!$('#regulations-accept-checkbox input#personal-data-accept:checked').size()) {
			$('#personal-data-accept').parent().addClass('warning');
		}*/
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		
		$this.addClass('processing');
		_gaq.push(['_trackPageview', '/zamowienie/przejscie-do-platnosci']);
		$.post(HP_host + '/admin/forms/form_submit.php', $this.find('input').serialize(), function(){
			_gaq.push(['_addTrans',
				$this.find('input[name="control"]').val() + '',           // order ID - required
				'FeuVert',  // affiliation or store name
				$this.find('input[name="kwota"]').val() + '',          // total - required
				'',           // tax
				'',              // shipping
				$this.find('input[name="location"]').val() + '',       // city
				'',     // state or province
				''             // country
			]);
			
			products = $this.find('input[name="products"]').val().split('#');
			
			$.each(products, function(index, value) {
				productInfo = value.split('|');
				_gaq.push(['_addItem',
					$this.find('input[name="control"]').val() + '',           // order ID - required
					productInfo[2] + '',           // SKU/code - required
					productInfo[0] + '',        // product name
					'',   // category or variation
					parseInt(productInfo[3]/productInfo[1]) + '',          // unit price - required
					productInfo[1] + ''               // quantity - required
				]);
			});
			
			_gaq.push(['_trackTrans']);

			$this.unbind('submit').submit();
		});	
		return false;
	});
}

var contactDataBack = function() {
	$('#contact-data #back').click(function() {
		$.colorbox({href: HP_host + '/showpage.php?pageID=267&filter=overview&randNum=' + new Date().getTime(), overlayClose:false, width:750, height:550, onComplete: function() {
			overviewSubmit();
			overviewBack();
		}});
		return false;
	});
}

/*var tiresShopListAddToCart = function() {
	$('#tires-shop-list .tire-item .action a').live('click', function() {
		if(($.cookie('tiresTotalQuantity') + 4) > 4) {
			alert('Wybrałeś ' + (parseInt($.cookie('tiresTotalQuantity')) + 4) + ' opon. Możesz wybrać maksymalnie 4.');
			return false;
		}
		$this = $(this);
		$this.parent().addClass('processing');
		$.get($this.attr('href') + '&randNum=' + new Date().getTime(), function(){
			$this.parent().removeClass('processing');
			$.colorbox({
				html: '<div class="tires-shop-info-layer"><p><img src="' + HP_host + '/pub/uploadimages/tire-extra-product.png" alt="" /><a href="' + HP_host + '/showpage.php?pageID=338" class="valve-no">Nie, dziękuję</a> <a href="' + HP_host + '/showpage.php?pageID=338" class="valve-yes">Tak! Wybieram dożywotnią gwarancję opon</a></p></div>',
				onComplete: function() {
					$('.valve-yes').click(function() {
						$.cookie('valveAssembly', 1, 7, HP_host);
					});
				}
			});
		});
		return false;
	});
}*/

var sortOptionsDiplay = function() {
	if($('#tires-shop-list').html() != '') {
		$('#tires-shop-list-sort').show();
	} else {
		$('#tires-shop-list-sort').hide();
	}
}

function isScrolledIntoView(elem) {
	$(window).scroll(function () { 
		if(elem.size()) {
			var docViewTop = $(window).scrollTop();
			var docViewBottom = docViewTop + $(window).height();

			var elemTop = $(elem).offset().top;
			var elemBottom = elemTop + $(elem).height();
			
			if((elemBottom <= docViewBottom) && (elemTop >= docViewTop)) {
				console.log('widoczny');
				$('#tires-shop-list #show-more-results').click();
			}
		}
    });
}


/*
	DOCUMENT READY
*/
$(function(){
	
	$.fn.colorbox.settings.opacity = '0.7';
	$.fn.colorbox.settings.previous = '&lt; poprzednie';
	$.fn.colorbox.settings.next = 'następne &gt;';
	$.fn.colorbox.settings.close = 'zamknij';
	$.fn.colorbox.settings.current = '';
	
	/**
	 * Tires details extra services info
	 */
	if($('.promo-item .promo-item-content > a').size()) {
		$('.promo-item .promo-item-content > a').each(function() {
			$(this).tooltip({
				track: true,
				delay: 0,
				showURL: false,
				opacity: 1,
				bodyHandler: function() {
					return $(this).find('span').html();
				}
			});
		});
	}
	
	/**
	 * Tires shop list filter actions
	 */
	if($('#tires-shop-list-filter').size()) {
		
		if($.cookie('filterSettings') != null && $.cookie('filterSettings') != '-1' && !$('.seo-link').size()) {
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=cookieRefresh&filter=ajaxRequest', function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], '');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		}
		
		$('#tires-shop-list-filter .more-brands').toggle(function() {
			$(this).addClass('active');
			$('#tires-shop-list-filter .hidden-brands').show();
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Pokazanie wszystkich producetów']);
		}, function() {
			$(this).removeClass('active');
			$('#tires-shop-list-filter .hidden-brands').hide();
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Ukrycie wszystkich producetów']);
		});
		
		$('#tires-shop-list-sort select').change(function() {
			$('#tires-shop-list').addClass('processing');
			if($(this).val() != '') {
				$('#sort-option').val('csb_client');
				$('#sort-option-dir').val($(this).val());
			} else {
				$('#sort-option').val('');
				$('#sort-option-dir').val('');
			}			
			$.post(HP_host + '/showpage.php?pageID=335&param=defualt&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').html(data[0]);
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana sortowania']);
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		
		/*$('#tires-shop-list-sort a').toggle(function() {
			$('#tires-shop-list').addClass('processing');
			$('#sort-option').val('csb_client');
			$('#sort-option-dir').val('ASC');
			$.post($(this).attr('href') + '?param=&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').html(data[0]);
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
			});
		}, function() {
			$('#tires-shop-list').addClass('processing');
			$('#sort-option-dir').val('DESC');
			$.post($(this).attr('href') + '?param=&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').html(data[0]);
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
			});
		});*/
		
		// tiresShopListAddToCart();
		
		// function formRefresh(data) {
			// $('#tires-shop-list-filter #category').empty();
			// $('#tires-shop-list-filter #category').append('<option value="wszystkie">Wszystkie</option>');
			// for (i in data.params.category) {
				// $('#tires-shop-list-filter #category').append('<option value="'+data.params.category[i]+'">'+data.params.category[i]+'</option>');
			// }
		// }
		
		// $(window).scroll(function() {
			// if($(window).scrollTop() > 810) {
				
			// }
		// });
		
		function updateForm(data, skip) {
			// Brand
			
			// Season
			if (skip != 'season' || data['selected']['season'] == 'wszystkie') {
				$('#tires-shop-list-filter #season').empty();
				$('#tires-shop-list-filter #season').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['season']) {
					if (data['selected']['season'] == data['params']['season'][i]) {
						var selected = ' selected="selected"';
					} else {
						var selected = '';
					}
					$('#tires-shop-list-filter #season').append('<option value="'+data['params']['season'][i]+'"'+selected+'>'+data['caption']['season'][data['params']['season'][i]]+'</option>');
				}
			}
			
			// Category
			if (skip != 'category' || data['selected']['category'] == 'wszystkie') {
				$('#tires-shop-list-filter #category').empty();
				$('#tires-shop-list-filter #category').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['category']) {
					if (data['selected']['category'] == data['params']['category'][i]) {
						var selected = ' selected="selected"';
					} else {
						var selected = '';
					}
					$('#tires-shop-list-filter #category').append('<option value="'+data['params']['category'][i]+'"'+selected+'>'+data['params']['category'][i]+'</option>');
				}
			}
			
			// Diameter
			if (skip != 'diameter' || data['selected']['diameter'] == 'wszystkie') {
				$('#tires-shop-list-filter #diameter').empty();
				$('#tires-shop-list-filter #diameter').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['diameter']) {
					if (data['selected']['diameter'] == data['params']['diameter'][i]) {
						var selected = ' selected="selected"';
					} else {
						var selected = '';
					}
					$('#tires-shop-list-filter #diameter').append('<option value="'+data['params']['diameter'][i]+'"'+selected+'>'+data['params']['diameter'][i]+'</option>');
				}
			}
			
			// Size
			if (skip != 'size' || data['selected']['size'] == 'wszystkie') {
				$('#tires-shop-list-filter #size').empty();
				$('#tires-shop-list-filter #size').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['size']) {
					if (data['selected']['size'] == data['params']['size'][i]) {
						var selected = ' selected="selected"';
					} else {
						var selected = '';
					}
					$('#tires-shop-list-filter #size').append('<option value="'+data['params']['size'][i]+'"'+selected+'>'+data['params']['size'][i]+'</option>');
				}
			}
			
			// Profile
			if (skip != 'profile' || data['selected']['profile'] == 'wszystkie') {
				$('#tires-shop-list-filter #profile').empty();
				$('#tires-shop-list-filter #profile').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['profile']) {
					if (data['selected']['profile'] == data['params']['profile'][i]) {
						var selected = ' selected="selected"';
					} else {
						var selected = '';
					}
					$('#tires-shop-list-filter #profile').append('<option value="'+data['params']['profile'][i]+'"'+selected+'>'+data['params']['profile'][i]+'</option>');
				}
			}
			
			// Brand
			if (skip != 'brand') {
				$('#tires-shop-list-filter .brand').attr('disabled', 'disabled').next('label').addClass('disabled');
				//$('#tires-shop-list-filter .brand').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['brand']) {
					$('#tires-shop-list-filter .brand[value="'+data['params']['brand'][i]+'"]').attr('disabled', null).next('label').removeClass('disabled');
				}
			}
			
			// Price
			if (skip != 'price') {
				$('#tires-shop-list-filter  input[name="price[]"]').attr('disabled', 'disabled').next('label').addClass('disabled');
				//$('#tires-shop-list-filter .brand').append('<option value="wszystkie">wybierz...</option>');
				for (i in data['params']['price']) {
					$('#tires-shop-list-filter input[name="price[]"][value="'+data['params']['price'][i]+'"]').attr('disabled', null).next('label').removeClass('disabled');
				}
			}
			
			// Run flat
			if (skip != 'run_flat') {
				$('#tires-shop-list-filter  input[name="run_flat"]').attr('disabled', 'disabled').next('label').addClass('disabled');
				//$('#tires-shop-list-filter .brand').append('<option value="wszystkie">wybierz...</option>');
				/*for (i in data['params']['run_flat']) {
					$('#tires-shop-list-filter input[name="run_flat"][value="'+data['params']['run_flat'][i]+'"]').attr('disabled', null).next('label').removeClass('disabled');
				}*/
				if (data['params']['run_flat'].length == 1) {
					if (data['params']['run_flat'][0] == 'tak') {
						$('#tires-shop-list-filter input[name="run_flat"]').attr('checked', 'checked');
					} else {
						$('#tires-shop-list-filter input[name="run_flat"]').attr('checked', null);
					}
				}
				if (data['params']['run_flat'].length > 1) {
					$('#tires-shop-list-filter input[name="run_flat"]').attr('disabled', null).next('label').removeClass('disabled');
				}
			}
			
		}
	
		if($('.seo-link').size()) {
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=seo-link&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], '');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		}
		
		//season change
		$('#tires-shop-list-filter #season').change(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana sezonu']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=season&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], 'season');
				// formRefresh(data);
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//category change
		$('#tires-shop-list-filter #category').change(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana kategorii']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=category&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], 'category');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				$.cookie('currentFilter');
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//diameter change
		$('#tires-shop-list-filter #diameter').change(function(e) {	
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana średnicy']);
			$('#tires-shop-list').addClass('processing');	
			$.post(HP_host + '/showpage.php?pageID=335&param=diameter&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				console.log(data[1]);
				updateForm(data[1], 'diameter');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//size change
		$('#tires-shop-list-filter #size').change(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana szerokości']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=size&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], 'size');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//profile change
		$('#tires-shop-list-filter #profile').change(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana profilu']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=profile&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], 'profile');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//run on flat click
		$('#tires-shop-list-filter #run_flat').click(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana run on flat']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=run_flat&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], 'run_flat');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//brand click
		$('#tires-shop-list-filter .brand').click(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana marki']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=brand&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], '');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//price click
		$('#tires-shop-list-filter input[name="price[]"]').click(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Zmiana ograniczenia cenowego']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=price&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').empty().html(data[0]);
				updateForm(data[1], '');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
		});
		//show more results
		$('#tires-shop-list #show-more-results').live('click', function(e) {
			$('#tires-shop-list').addClass('loading');
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Wyświetlenie większej ilości wyników']);
			$link = $(this).attr('href'); 
			$(this).remove();
			$.post($link + '&param=&filter=ajaxRequest', $('#tires-shop-list-filter form').find('input,select').serialize(), function(data) {
				$('#tires-shop-list').removeClass('loading');
				$('#tires-shop-list').append(data[0]);
				sortOptionsDiplay();
				isScrolledIntoView($('#main #show-more-results'));
			});
			return false;
		});
		//clean form
		$('#clean-filters').click(function(e) {
			_gaq.push(['_trackEvent', 'Opony', 'Filtry', 'Wyczyszczenie filtrów']);
			$('#tires-shop-list').addClass('processing');
			$.post(HP_host + '/showpage.php?pageID=335&param=wyczysc&filter=ajaxRequest', {"wyczysc": 1}, function(data) {
				$('#tires-shop-list').empty();
				updateForm(data[1], '');
				$('#tires-shop-list').removeClass('processing');
				sortOptionsDiplay();
				$('input[type="checkbox"]').attr('checked', '');
				$.cookie('filterSettings', -1, {expires: -1, path: '/'});
			});
			return false;
		});
		
	}
	
	/**
	 * Tires details cart
	 */
	if($('.cart-wrapper form').size()) {
		$('.cart-wrapper form').submit(function() {
			
			// $.cookie('tiresTotalQuantity')
			if($.cookie('cart') != null) {
				if($.cookie('cart').match($(this).find('input[name=id]').val())) {
					
					// if(parseInt($.cookie('tiresTotalQuantity'))+parseInt($(this).find('#f_quantity').val()) > 4) {
						// alert('Wybrałeś ' + (parseInt($.cookie('tiresTotalQuantity')) + parseInt($(this).find('#f_quantity').val())) + ' opon. Możesz wybrać maksymalnie 4.');
						// return false;
					// }
				} else {
					if(parseInt($.cookie('tiresTotalQuantity'))+parseInt($(this).find('#f_quantity').val()) > 4) {
						alert('Wybrałeś ' + (parseInt($.cookie('tiresTotalQuantity')) + parseInt($(this).find('#f_quantity').val())) + ' opon. Możesz wybrać maksymalnie 4.');
						return false;
					}
				}
			}
			
			// clipArr = $.cookie('cart').split('|');
			// clipArr.each(function() {
				
			// });
			
			
			$this = $(this);
			$this.addClass('processing');
			$.get($this.attr('action') + '?randNum=' + new Date().getTime(), $this.serialize(), function(){
				$this.removeClass('processing');
				$.colorbox({
					escKey: false,
					overlayClose: false,
					html: '<div class="tires-shop-info-layer"><p><img src="' + HP_host + '/pub/uploadimages/tire-extra-product.png" alt="" /><p class="regulations-info">Warunkiem skorzystania z programu jest zakup nowych zaworków do opony.<br /><strong>Koszt 5 zł / oponę. <a href="' + HP_host + '/showpage.php?pageID=218" target="_blank">Regulamin programu &gt;</a></strong></p><p><a href="' + HP_host + '/showpage.php?pageID=338" class="valve-no">Nie, dziękuję</a> <a href="' + HP_host + '/showpage.php?pageID=338" class="valve-yes">Tak! Wybieram dożywotnią gwarancję opon</a></p></div>',
					onComplete: function() {
						$('.valve-yes').click(function() {
							$.cookie('valveAssembly', 1, {path: '/', expires: 7});
						});
						$.get(HP_host + '/showpage.php?pageID=335&filter=cartSummary', function(data) {
							$('.cart-summary').html(data);
						});
					}
				});
			});
			return false;
		});
	}
	
	var refreshCart = function() {
		$.get(HP_host + '/showpage.php?pageID=338&filter=cartTable&randNum=' + new Date().getTime(), function(data) {
			if(data.indexOf('koszyk jest pusty') == '-1') {
				$('#tires-shop-checkout #cs-2').html(data);
				$('#tires-shop-checkout input[name=amount]').val($.cookie('totalCost'));
			} else {
				$('#main-content').html(data);
			}
		});
	}
	
	/**
	 * How to read a tire?
	 */
	$('.tire-details-info').colorbox({
		href: HP_host + '/pub/uploadimages/tire-details-info.jpg'
	});
	
	/**
	 * Extra products add to cart
	 */
	if($('#main-content .see-also-item .see-also-item-content a').size()) {
		$('#main-content .see-also-item .see-also-item-content a').live('click', function() {
			$this = $(this);
			$this.parent().parent().addClass('processing');
			$.get($this.attr('href') + '&randNum=' + new Date().getTime(), function(){
				$this.parent().parent().removeClass('processing');
				if(!$('#cs-2').size()) {
					$.colorbox({
						html: '<div class="tires-shop-info-layer extra-products"><p>Produkt został dodany do koszyka.</p><p><a href="#" class="continue-shopping">Kontynuuj zakupy</a><a href="' + HP_host + '/showpage.php?pageID=338" class="go-to-checkout">Przejdź do koszyka</a></p></div>',
						onComplete: function() {
							$('.continue-shopping').click(function() {
								$.colorbox.close();
								return false;
							});
						}
					});
				} else {
					refreshCart();
				}
			});
			return false;
		});
	}
	
	/**
	 * Tires shop cart
	 */
	if($('#tires-shop-checkout')) {
		_gaq.push(['_trackPageview', '/opony-sklep/krok-1']);
		
		$(window).scroll(function() {
			console.log($(window).scrollTop());
			if($(window).scrollTop() > 220 && $('.cart-nav').attr('class') != 'cart-nav slide') {
				$('.cart-nav').addClass('slide');
			} else if($(window).scrollTop() < 220 && $('.cart-nav').attr('class') == 'cart-nav slide') {
				$('.cart-nav').removeClass('slide');
			}
		});
		
		$('#tires-shop-checkout #cs-1 div').hover(function() {
			$(this).addClass('hovered');
		}, function() {
			$(this).removeClass('hovered');
		});
		
		$('#tires-shop-checkout #cs-1 div').live('click', function() {
			if($.cookie('currentStep') < 2) {
				_gaq.push(['_trackPageview', '/opony-sklep/krok-2']);
			}
			
			// $('#tires-shop-checkout #cs-1 input').attr('checked', '');
			
			$(this).addClass('active').siblings().removeClass('active').end().find('input').attr('checked', 'checked');
			if($.cookie('currentStep') < 2) {
				$('#tires-shop-checkout #cs-2').addClass('active');
				$.cookie('currentStep', 2, {expires: 7, path: '/'});
				$('#tires-shop-checkout #cs-2 .next-step').addClass('active');
				$('#tires-shop-checkout .cart-nav').attr('id', 'cart-step-2');
				$('#tires-shop-checkout .cart-nav ol li').removeClass('active').eq(1).addClass('active');
			}
			$.cookie('tiresType', $(this).find('input').val(), {expires: 7, path: '/'});
			refreshCart();
			// return false;
		});
		$('#tires-shop-checkout #cs-1 input').live('click', function() {
			$(this).parent().click();
			// return false;
		});
		
		$('#tires-shop-checkout #cs-2 .next-step').live('click', function() {
			_gaq.push(['_trackPageview', '/opony-sklep/krok-3']);
			$('#tires-shop-checkout #cs-3').addClass('active');
			$('#tires-shop-checkout #cs-3 .next-step').addClass('active');
			$('#tires-shop-checkout #cs-2 .next-step').remove();
			$.cookie('currentStep', 3, {expires: 7, path: '/'});
			$('#tires-shop-checkout .cart-nav').attr('id', 'cart-step-3');
			$('#tires-shop-checkout .cart-nav ol li').removeClass('active').eq(2).addClass('active');
			return false;
		});
		$('#tires-shop-checkout .step table td.actions a').live('click', function() {
			$.get($(this).attr('href') + '&randNum=' + new Date().getTime(), function() {
				refreshCart();
				$.get(HP_host + '/showpage.php?pageID=335&filter=cartSummary', function(data) {
					$('.cart-summary').html(data);
				});
			});
			return false;
		});
		$('#tires-shop-checkout #cs-3 .next-step').live('click', function() {
			if($('input[name=assembly-place]:checked').size()) {
				_gaq.push(['_trackPageview', '/opony-sklep/krok-4']);
				$('#tires-shop-checkout #cs-4').show();
				$('#tires-shop-checkout #cs-4 .next-step').addClass('active');
				$('#tires-shop-checkout #cs-3 .next-step').remove();
				$.cookie('currentStep', 4, {expires: 7, path: '/'});
				$('#tires-shop-checkout .cart-nav').attr('id', 'cart-step-4');
				$('#tires-shop-checkout .cart-nav ol li').removeClass('active').eq(3).addClass('active');
			} else {
				alert('Proszę wybrać miejsce montażu.');
			}
			return false;
		});
		$('#tires-shop-checkout #cs-4 .next-step').live('click', function() {
			mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			$('#cs-4').find('.warning').removeClass('warning');
			if (!mailFilter.test($.trim($('#email').val()))){
				$('label[for="email"]').parent('div').addClass('warning');
			}
			if ($.trim($('#forename').val()) == ''){
				$('label[for="forename"]').parent('div').addClass('warning');
			}
			if ($.trim($('#surname').val()) == ''){
				$('label[for="surname"]').parent('div').addClass('warning');
			}
			if ($.trim($('#phone').val()) == ''){
				$('label[for="phone"]').parent('div').addClass('warning');
			}
			if ($.trim($('#car_number').val()) == ''){
				$('label[for="car_number"]').parent('div').addClass('warning');
			}
			if (!$('#ci_regulations-accept:checked').size()){
				$('label[for="ci_regulations-accept"]').parent('div').addClass('warning');
			}
			// if (!$('#ci_personal-data-accept:checked').size()){
				// $('label[for="ci_personal-data-accept"]').parent('div').addClass('warning');
			// }
			
			if ($('.warning').size()) {
				alert('Proszę podać prawidłowe dane osobowe.');
				$('.warning:first label').next().focus();
				return false;
			}
			_gaq.push(['_trackPageview', '/opony-sklep/krok-5']);
			$('#tires-shop-checkout #cs-5, #tires-shop-checkout #cs-5 button').show();
			$('#tires-shop-checkout #cs-5 button').addClass('active');
			$('#tires-shop-checkout #cs-4 .next-step').remove();
			$.cookie('currentStep', 5, {expires: 7, path: '/'});
			$('#tires-shop-checkout .cart-nav').attr('id', 'cart-step-5');
			$('#tires-shop-checkout .cart-nav ol li').removeClass('active').eq(4).addClass('active');
			return false;
		});
		
		var cartGoogleMap = function(latlngInfo, mapContainer, mapInfo) {
		
			var map = new GMap2(document.getElementById(mapContainer));
			map.addControl(new GSmallMapControl());	
			var feuvertIcon = new GIcon(G_DEFAULT_ICON);
			feuvertIcon.image = HP_host + "/pub/uploadimages/marker.png";
			infoText = mapInfo;
			var latlng = GLatLng.fromUrlValue(latlngInfo.slice(1, -1));
			marker = new GMarker(latlng, {icon: feuvertIcon});
			GEvent.addListener(marker, "click", function(){
				map.openInfoWindowHtml(latlng, '<div class="marker-content">' + infoText + '</div>');
			});
			// map.openInfoWindowHtml(latlng, '<div class="marker-content">' + infoText + '</div>');
			map.setCenter(latlng, 15);
			map.addOverlay(marker);
			
		}
		
		var officeSlideMap = function($this) {
			
			var slideFunction = function($this) {
				$this.addClass('active').siblings().removeClass('active').end().find('input').attr('checked', 'checked');
				$.cookie('assemblyOption', $this.find('input').val(), {expires: 0, path: '/'});
				
				$this.animate({'height': '350px'}, 300, function() {
					$(this).find('.office-details').fadeIn(10, function() {
						cartGoogleMap($this.find('.latlng').text(), 'map-' + $this.find('input').val(), $this.find('.marker-content').html());
					});
				});
			}
			if($('#tires-shop-checkout .office.active').size()) {
				$('#tires-shop-checkout .office.active').animate({'height':'41px'}, 300, function() {
					slideFunction($this);
				});
			} else {
				slideFunction($this);
			}
			
		}
		
		$('#tires-shop-checkout .office:not(.active)').live('click', function() {
			officeSlideMap($(this));
		});
		
		$('#tires-shop-checkout .tires-shop-city-filter select').live('change', function() {
			$.cookie('assemblyOptionSelect', $(this).val(), {expires: 0, path: '/'});
			$.get(HP_host + '/showpage.php?pageID=338&filter=cartOffices&city-select=' + encodeURIComponent($(this).val()) + '&randNum=' + new Date().getTime(), function(data) {
				$('#tires-shop-checkout .tires-shop-city-filter').html(data);
				if($('.offices .office').size() == 1) {
					$('.offices .office').click();
				}
			});
		});
		
				
		if($('#tires-shop-checkout .tires-shop-city-filter select').val() != '-1') {
			$.get(HP_host + '/showpage.php?pageID=338&filter=cartOffices&city-select=' + $('#tires-shop-checkout .tires-shop-city-filter select').val() + '&randNum=' + new Date().getTime(), function(data) {
				$('#tires-shop-checkout .tires-shop-city-filter').html(data);
				if($('#tires-shop-checkout .office.active').size()) {
					officeSlideMap($('#tires-shop-checkout .office.active'));
				}
			});
		}
		
	}
	
	$('#tires-shop-checkout').submit(function() {
		$this = $(this);
		// $this.find('#unique_id').val(Math.random() * 10).end().find('#f_srv').val($('#f_srv_list option:selected', $this).val());
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		
		if (!mailFilter.test($.trim($('#email').val()))){
			$('label[for="email"]').parent('div').addClass('warning');
		}
		if ($.trim($('#forename').val()) == ''){
			$('label[for="forename"]').parent('div').addClass('warning');
		}
		if ($.trim($('#surname').val()) == ''){
			$('label[for="surname"]').parent('div').addClass('warning');
		}
		if ($.trim($('#phone').val()) == ''){
			$('label[for="phone"]').parent('div').addClass('warning');
		}
		if (!$('#ci_regulations-accept:checked').size()){
			$('label[for="ci_regulations-accept"]').parent('div').addClass('warning');
		}
		/*if (!$('#ci_personal-data-accept:checked').size()){
			$('label[for="ci_personal-data-accept"]').parent('div').addClass('warning');
		}*/
		if (!$('#tires-shop-checkout .bank-content input[name=channel]:checked').size()){
			$('#tires-shop-checkout .step #bank-list').addClass('warning-banks');
		} else {
			$('#tires-shop-checkout .step #bank-list').removeClass('warning-banks');
		}
		if($('#tires-shop-checkout .tires-shop-city-filter select').val() == '-1' || !$('#tires-shop-checkout .tires-shop-city-filter input:checked').size()) {
			$('#tires-shop-checkout .tires-shop-city-filter select').parent().addClass('warning');
		}
		
		if ($('.warning').size() || $('.warning-banks').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		
		$('#transaction-started').fadeIn();
		$('#tires-shop-checkout').unbind('submit');
		$.post(HP_host + '/showpage.php?pageID=338&filter=orderPlace', $this.find('input, textarea').serialize(), function(data){
			dataArr = data.split('|');
			
			_gaq.push(['_addTrans',
				dataArr[1] + '',           // order ID - required
				'FeuVert',  // affiliation or store name
				$this.find('input[name="amount"]').val() + '',          // total - required
				'',           // tax
				'',              // shipping
				$this.find('input[name="city-select"]').val() + '',       // city
				$this.find('input[name="assembly-place"]').val() + '',     // state or province
				''             // country
			]);
			
			_gaq.push(['_addItem',
				dataArr[1] + '',           // order ID - required
				dataArr[1] + '',           // SKU/code - required
				'Opony',        // product name
				'',   // category or variation
				$this.find('input[name="amount"]').val() + '',          // unit price - required
				'1'               // quantity - required
			]);
			
			_gaq.push(['_trackTrans']);
			
			$('#tires-shop-checkout').find('#opis').val('Zamówienie numer ' + dataArr[1]).end().find('#dotpay-id').val(dataArr[2]).end().find('#dp_url').val('http://www.feuvert.pl/showpage.php?pageID=341&transactionId=' + dataArr[1]).end().find('#control').val(dataArr[0]).parent().parent().submit();
		});
		return false;
	});
	
	/**
	 * Tires cart bank click
	 */
	if($('.bank').size()) {
		$('.bank').click(function() {
			// if($(this).find('input:checked').size()) {
				// $(this).find('input').attr('checked', '');
			// } else {
				$(this).find('input').attr('checked', 'checked');
			// }
		});
		$('.bank input').click(function() {
			$(this).parent().parent().click();
		});
	}
	
	/**
	 * Tires shop list filter
	 */
	if($('#tires-shop-list-filter').size()) {
		$(window).scroll(function() {
			if($(window).scrollTop() > 239 && $('#tires-shop #main-content').attr('class') != 'panel-slide') {
				$('#tires-shop #main-content').addClass('panel-slide');
			} else if($(window).scrollTop() < 239 && $('#tires-shop #main-content').attr('class') == 'panel-slide') {
				$('#tires-shop #main-content').removeClass('panel-slide');
			}
		});
		
	}
	
	/**
	 * Chains filter
	 */
	if($('#chains').size()) {
		$.get(HP_host + '/showpage.php?pageID=343&json=typ&filter=lancuchy', function(data) {
			$('#typ').append('<option value="wybierz">Wybierz...</option>');
			$('#szerokosc').append('<option value="wybierz">Wybierz...</option>');
			$('#profil').append('<option value="wybierz">Wybierz...</option>');
			$('#srednica').append('<option value="wybierz">Wybierz...</option>');
			for(i in data) {
				$('#typ').append('<option value="'+data[i]+'">'+data[i]+'</option>');
			}
		});
	
		$('#typ').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Łańcuchy', 'Wybrał typ']);
			$('#chains-list').hide();
			$.get(HP_host + '/showpage.php?pageID=343&json=szerokosc&filter=lancuchy', $('#chains-filter .content form').serialize(), function(data) {
				$('#szerokosc').empty();
				$('#szerokosc').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					$('#szerokosc').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});
			
			$('#szerokosc').attr('disabled', null);
			$('#profil').attr('disabled', 'disabled');
			$('#profil').val('wybierz');
			$('#srednica').attr('disabled', 'disabled');
			$('#srednica').val('wybierz');
		});
		
		$('#szerokosc').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Łańcuchy', 'Wybrał szerokość']);
			$('#chains-list').hide();
			$.get(HP_host + '/showpage.php?pageID=343&json=profil&filter=lancuchy', $('#chains-filter .content form').serialize(), function(data) {
				$('#profil').empty();
				$('#profil').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					//console.log(data[i]);
					$('#profil').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});
			
			$('#profil').attr('disabled', null);
			$('#srednica').attr('disabled', 'disabled');
			$('#srednica').val('wybierz');
		});
		
		
		$('#profil').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Łańcuchy', 'Wybrał profil']);
			$('#chains-list').hide();
			$.get(HP_host + '/showpage.php?pageID=343&json=srednica&filter=lancuchy', $('#chains-filter .content form').serialize(), function(data) {
				$('#srednica').empty();
				$('#srednica').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					//console.log(data[i]);
					$('#srednica').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});
			
			$('#srednica').attr('disabled', null);
		});
		
		$('#srednica').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Łańcuchy', 'Wybrał średnicę']);
			$('.chains-welcome-text').hide();
			$.get(HP_host + '/showpage.php?pageID=343&json=rozmiar&filter=lancuchy', $('#chains-filter .content form').serialize(), function(data) {
				$('#content').empty();
				
				var trunks1 = "";
				var trunks2 = "";
				var trunks3 = "";
				var trunks4 = "";
				// var trunkHeaderContact = "";
				// var trunkHeaderSupra = "";
				
				for(i in data) {
					
					for(n in data[i]) {
						price = data[i][n][1].split(',');
						
						if(typeof price[0] == 'undefined' || typeof price[1] == 'undefined') {
							priceVal = '<span>Skontaktuj się z nami</span>';
						} else {
							priceVal = price[0] + '<sup>' + price[1] + '</sup>';
						}
						
						trunkPattern = '<div class="chain"><h4>' + data[i][n][2] + ' kod ' + data[i][n][0] + '</h4><p class="price">' + priceVal + '</p></div>';
						
						switch(i) {
							case 'contact':
								trunks2 = trunks2 + trunkPattern;
								break;
							case 'feuvert':
								trunks3 = trunks3 + trunkPattern;
								break;
							case 'diament':
								trunks4 = trunks4 + trunkPattern;
								break;
							default:
								// if(data[i][n][4] == 'contact' && trunkHeaderContact == '') {
									// trunkHeaderContact = '<h3>Oferta Contact:</h3>';
								// }
								// if(data[i][n][4] == 'supra' && trunkHeaderSupra == '') {
									// trunkHeaderSupra = '<h3>Oferta Supra:</h3>';
								// }
								trunks1 = trunks1 + trunkPattern;
						}
					}
				}
				$('.chains-container').hide();
				$('.chains-container .chain, #t-1.chains-container h3').remove();
				if(trunks2 != '') {
					$('#t-1.chains-container .content').append(trunks2).parent().show();
				}
				if(trunks3 != '') {
					$('#t-2.chains-container .content').append(trunks3).parent().show();
				}
				if(trunks1 != '') {
					$('#t-3.chains-container .content').append(trunks1).parent().show();
				}
				if(trunks4 != '') {
					$('#t-4.chains-container .content').append(trunks4).parent().show();
				}
				if(!$('.chains-more-info').size()) {
					$('#chains-list').append('<div class="chains-more-info"><p>W celu weryfikacji poprawności doboru łańcucha do Twojego samochodu <a href="' + HP_host + '/kontakt/sklepy-motoryzacyjne-i-warsztaty-samochodowe.html">skontaktuj się z najbliższym Auto Centrum Feu Vert</a>.</p><!--<a href="' + HP_host + '/kontakt/sklepy-motoryzacyjne-i-warsztaty-samochodowe.html"><img src="' + HP_host + '/pub/uploadimages/trunks-button.png" alt="" /></a>--></div>');
				}
				$('#chains-list').show();
			});
		});
	}
	
	/**
	 * Trunks filter
	 */
	if($('#trunks').size()) {
		$.get(HP_host + '/showpage.php?pageID=334&json=marka&filter=bagazniki', function(data) {
			$('#marka').append('<option value="wybierz">Wybierz...</option>');
			$('#model').append('<option value="wybierz">Wybierz...</option>');
			$('#nadwozie').append('<option value="wybierz">Wybierz...</option>');
			$('#rocznik').append('<option value="wybierz">Wybierz...</option>');
			for(i in data) {
				$('#marka').append('<option value="'+data[i]+'">'+data[i]+'</option>');
			}
		});
	
		$('#marka').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Bagażniki', 'Wybrał markę']);
			$('#trunks-list').hide();
			$.get(HP_host + '/showpage.php?pageID=334&json=model&filter=bagazniki', $('#trunks-filter .content form').serialize(), function(data) {
				$('#model').empty();
				$('#model').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					$('#model').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});
			
			$('#model').attr('disabled', null);
			$('#nadwozie').attr('disabled', 'disabled');
			$('#nadwozie').val('wybierz');
			$('#rocznik').attr('disabled', 'disabled');
			$('#rocznik').val('wybierz');
		});
		
		$('#model').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Bagażniki', 'Wybrał model']);
			$('#trunks-list').hide();
			$.get(HP_host + '/showpage.php?pageID=334&json=nadwozie&filter=bagazniki', $('#trunks-filter .content form').serialize(), function(data) {
				$('#nadwozie').empty();
				$('#nadwozie').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					//console.log(data[i]);
					$('#nadwozie').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});
			
			$('#nadwozie').attr('disabled', null);
			$('#rocznik').attr('disabled', 'disabled');
			$('#rocznik').val('wybierz');
		});
		
		
		$('#nadwozie').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Bagażniki', 'Wybrał nadwozie']);
			$('#trunks-list').hide();
			$.get(HP_host + '/showpage.php?pageID=334&json=rocznik&filter=bagazniki', $('#trunks-filter .content form').serialize(), function(data) {
				$('#rocznik').empty();
				$('#rocznik').append('<option value="wybierz">Wybierz...</option>');
				for(i in data) {
					//console.log(data[i]);
					$('#rocznik').append('<option value="'+data[i]+'">'+data[i]+'</option>');
				}
			});	
			
			$('#rocznik').attr('disabled', null);
		});
		
		$('#rocznik').change(function() {
			_gaq.push(['_trackEvent', 'Konfiguratory', 'Bagażniki', 'Wybrał rocznik']);
			$('.trunks-welcome-text').hide();
			$.get(HP_host + '/showpage.php?pageID=334&json=ceny&filter=bagazniki', $('#trunks-filter .content form').serialize(), function(data) {
				$('#content').empty();
				var trunks1 = "";
				var trunks2 = "";
				var trunks3 = "";
				// var trunkHeaderContact = "";
				// var trunkHeaderSupra = "";
				for(i in data) {
					for(n in data[i]) {
						trunkHeaderContact = trunkHeaderSupra = '';
						price = data[i][n][2].split(',');
						if(typeof price[0] == 'undefined' || typeof price[1] == 'undefined') {
							priceVal = '<span>Skontaktuj się z nami</span>';
						} else {
							priceVal = price[0] + '<sup>' + price[1] + '</sup>';
						}
						trunkPattern = '<div class="trunk"><h4>' + data[i][n][3] + ' kod ' + data[i][n][0] + '</h4><p class="price">' + priceVal + '</p></div>';
						switch(i) {
							case 'feuvert':
								trunks2 = trunks2 + trunkPattern;
								break;
							case 'thule':
								trunks3 = trunks3 + trunkPattern;
								break;
							default:
								// if(data[i][n][4] == 'contact' && trunkHeaderContact == '') {
									// trunkHeaderContact = '<h3>Oferta Contact:</h3>';
								// }
								// if(data[i][n][4] == 'supra' && trunkHeaderSupra == '') {
									// trunkHeaderSupra = '<h3>Oferta Supra:</h3>';
								// }
								trunks1 = trunks1 + trunkHeaderSupra + trunkHeaderContact + trunkPattern;
						}
					}
				}
				$('.trunks-container').hide();
				$('.trunks-container .trunk, #t-1.trunks-container h3').remove();
				if(trunks1 != '') {
					$('#t-1.trunks-container .content').append(trunks1).parent().show();
				}
				if(trunks2 != '') {
					$('#t-2.trunks-container .content').append(trunks2).parent().show();
				}
				if(trunks3 != '') {
					$('#t-3.trunks-container .content').append(trunks3).parent().show();
				}
				if(!$('.trunks-more-info').size()) {
					$('#trunks-list').append('<div class="trunks-more-info"><p>W celu weryfikacji poprawności doboru bagażnika do Twojego samochodu <a href="' + HP_host + '/kontakt/sklepy-motoryzacyjne-i-warsztaty-samochodowe.html">skontaktuj się z najbliższym Auto Centrum Feu Vert</a>.</p><!--<a href="' + HP_host + '/kontakt/sklepy-motoryzacyjne-i-warsztaty-samochodowe.html"><img src="' + HP_host + '/pub/uploadimages/trunks-button.png" alt="" /></a>--></div>');
				}
				$('#trunks-list').show();
			});
		});
	}
	
	/**
	 * Tires filter full size change
	 */
	if($('#tires-filter.minishop .tire-size').size()) {
		$('#tires-filter.minishop .tire-size select').change(function() {
			window.location = $(this).val();
		});
	}
	
	/**
	 * Overview print
	 */
	$('#print-overview').live('click', function() {
		$('#cboxContent #article').printElement(/*{overrideElementCSS:[HP_host + '/pub/css/main.css']}*/);
		/*w = window.open('', '', 'width=800,height=600');
		w.document.write($('#print-content').html());
		w.document.close();
		w.focus();
		w.window.print();
		//w.close();*/
		return false;
	});
	
	/**
	 * Regulations link new window open
	 */ 
	$('.view-regulations').live('click', function() {
		window.open(this.href, '_blank');
		return false;
	});
	
	
	/**
	 * Add to cart button
	 */
	$('#article .tire-item-shop .buy-details form').submit(function() {
		$this = $(this);
		$this.parent().addClass('processing');
		$.get($this.attr('action'), $this.find('input, select').serialize(), function(){
			$this.parent().removeClass('processing');
			showCart();
		});
		return false;
	});
	
	/**
	 * Order confirm
	 */
	if($('#transaction-status-success').size()) {
		$.colorbox({href: HP_host + '/showpage.php?pageID=269&filter=order-confirm&id=' + $('#transaction-status-success').attr('class') + '&status=OK', overlayClose:false, width:750, onComplete: function() {
			_gaq.push(['_trackPageview', '/zamowienie/transakcja-sukces']);
		}});
	}
	if($('#transaction-status-failed').size()) {
		$.colorbox({href: HP_host + '/showpage.php?pageID=269&filter=order-confirm&id=' + $('#transaction-status-failed').attr('class') + '&status=FAILED', overlayClose:false, width:750, onComplete: function() {
			_gaq.push(['_trackPageview', '/zamowienie/transakcja-porazka']);
		}});
	}
	
	/**
	 * Tire details img
	 */
	$('#tires-shop-tire-info .tire-thumb a').colorbox();
	
	/**
	 * Show cart button
	 */
	$('#show-cart').click(function() {
		showCart();
		return false;
	});
	
	/*
		GOOGLE ANALYTICS events
	*/
	$('#index #advices h4 a').click(function(){
		_gaq.push(['_trackPageview', '/clickdata/homepage/porady/1']);
	});
	$('#index #advices .more a').click(function(){
		_gaq.push(['_trackPageview', '/clickdata/homepage/porady/2']);
	});
	$('#print-bar button').click(function() {
		_gaq.push(['_trackEvent', 'Kupony', 'Wydruk', 'Ktos wydrukowal kupon']);
	});
	$('.print-promo a, #main-content #article .entry .content h4 a, #main-content #article .entry .thumb a').click(function() {
		_gaq.push(['_trackEvent', 'Kupony', 'Zobaczyl', 'Ktos zobaczyl kupon']);
	});
	
	/*
		PRINT popop & action
	*/
	$('#main-content #article .entry .content h4 a, #main-content #article .entry .thumb a, #article .promo-tires .promo-content .tire-cupon').live('click', function(){
		window.open(this.href, null, 'width=620,height=430,scrollbars=yes');
		return false;
	});
	
	$('.discount-cupon .actions .print-cupon a').live('click', function(){
		window.open(this.href + '&print=1', '_blank', 'width=620,height=430,scrollbars=yes');
		return false;
	});
	
	$('.print-promo a').live('click', function(){
		$.colorbox({href: $(this).attr('href') + '&filter=cupon', onComplete: function() {
			$('#p_number').mask("999999999",{placeholder:"_"});
		}});
		return false;
	});
	
	$('.get-sms form').live('submit', function() {
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		if ($.trim($('#p_number').val()) == ''){
			$('label[for="p_number"]').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Podaj swój numer telefonu.');
			$('.warning:first').focus();
			return false;
		}
		$this.addClass('processing');
		$.post(HP_host + '/showpage.php?pageID=314&send-sms=yes', $this.find('input').serialize(), function(data){
			if(data == 'ok') {
				$this.removeClass('processing').html('<p>Kod promocyjny został wysłany na podany numer. Dziękujemy.</p>');
			}
		});
		return false;
	});
	
	/*
		FLIP PAGE FLASH embed
	*/
	$('#company-news .thumb a, #promo-press, p.magazine-preview a').click(function(){
		window.open(HP_host + '/pub/uploaddocs/katalogi/zima2011-2012/index.html','flippage','width=1000, height=620');
		return false;
	});
	
	/*
		VOTE results animation
	*/
	var showResults = function() {
		$('.results li div').each(function(){
			$this = $(this);
			$this.css({'max-width': $this.css('width'), 'width': '0'}).animate({width: $this.css('max-width')}, {duration:2000});
		})
	}

	/*
		PRINT popop & action
	*/
	$('#toolbar .print').click(function(){
		window.open(this.href, null, 'width=530,height=400,scrollbars=yes');
		return false;
	});
	$('#print-bar button').click(function(){
		print();
		return false;
	});

	/*
		NEWSLETTER MAIL info
	*/
	var $field = $('#mail');
	var startVal = $field.val();
	$field.focus(function(){
		(this.value == startVal) && $field.val('');
	})
	.blur(function(){
		(!this.value) && $field.val(startVal);
	});
	$('#newsletter form, #article form#newsletter-content-form').submit(function(){
		$field.val($.trim($field.val()));
		if (!(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($field.val()))) {
			alert('Podany adres e-mail jest nieprawidłowy.');
			$field.addClass('warning').focus();
			return false;
		}
	});
	
	/*
		VOTE ajax submit
	*/
	$('#vote form').submit(function(){
		if ($('input:checked', this).size() > 0) {
			$('#vote').addClass('ajax-layer');
			$.ajax({
				type: 'POST',
				url: HP_host + '/showpage.php?pageID=11',
				data: $('#vote form input:checked').serialize(),
				success: function(msg){
					if (msg != '') {
						$('#vote').after(msg).remove();
						$('#vote p:first').before('<p><strong>Dziękujemy! Twój głos został zapisany.</strong></p>');
						showResults();
					}
					else
						alert("Przepraszamy, wystąpiły problemy ze sondą. Twój głos nie został zapisany.");
				}
			});
		} else {
			alert('Proszę wybrać jedną z odpowiedzi.');
		}
		return false;
	});
	
	/*
		Newsletter deactivation submit
	*/
	$('form#newsletter-deactivate-form').submit(function(){
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (!mailFilter.test($.trim($('#mail').val()))){
			$('label[for="mail"]').parent('div').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
	});
	
	/*
		CLIENTS OPINION form ajax submit
	*/
	$('form#opinieklientow').css('visibility', 'visible').submit(function(){
		$this = $(this);
		$this.find('#unique_id').val(Math.random() * 10).end().find('#f_srv').val($('#f_srv_list option:selected', $this).val());
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (!mailFilter.test($.trim($('#f_mail').val()))){
			$('label[for="f_mail"]').parent('div').addClass('warning');
		}
		if ($('#f_srv').val().length < 3){
			$('label[for="f_srv_list"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_msg').val()) == ''){
			$('label[for="f_msg"]').parent('div').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		$this.addClass('processing').find('#unique_id').val((Math.random()) * 10);
		$.post(HP_host + '/admin/forms/form_submit.php', $this.find('input, textarea').serialize(), function(){
			$this.removeClass('processing').html('<p><strong>Twoja opinia na nasz temat została wysłana. Dziękujemy.</strong></p>');
		});
		return false;
	});
	
	/*
		CONTACT form ajax submit
	*/
	$('form#kontaktowy').css('visibility', 'visible').submit(function(){			
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if ($.trim($('#f_name').val()) == ''){
			$('label[for="f_name"]').parent('div').addClass('warning');
		}
		if (!mailFilter.test($.trim($('#f_mail').val()))){
			$('label[for="f_mail"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_msg').val()) == ''){
			$('label[for="f_msg"]').parent('div').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		$this.addClass('processing').find('#unique_id').val((Math.random()) * 10);
		$.post(HP_host + '/admin/forms/form_submit.php', $this.find('input, textarea').serialize(), function(){
			$this.removeClass('processing').html('<p><strong>Formularz kontaktowy został wysłany, dziękujemy.</strong></p>');
		});
		return false;
	});
	
	/*
		FLEET form ajax submit
	*/
	$('form#fleet-form').css('visibility', 'visible').submit(function(){
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		mailFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		
		if ($.trim($('#f_company_name').val()) == ''){
			$('label[for="f_company_name"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_company_addr').val()) == ''){
			$('label[for="f_company_addr"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_company_car_q').val()) == ''){
			$('label[for="f_company_car_q"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_company_car').val()) == ''){
			$('label[for="f_company_car"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_company_personal_name').val()) == ''){
			$('label[for="f_company_personal_name"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_company_phone').val()) == ''){
			$('label[for="f_company_phone"]').parent('div').addClass('warning');
		}
		if (!mailFilter.test($.trim($('#f_company_email').val()))){
			$('label[for="f_company_email"]').parent('div').addClass('warning');
		}
		if ((!$('.checkbox input:checked').size())){
			$('.checkbox').parent().addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		$this.addClass('processing').find('#unique_id').val((Math.random()) * 10);
		$.post(HP_host + '/admin/forms/form_submit.php', $this.find('input, textarea, checkbox').serialize(), function(){
			$this.removeClass('processing').html('<p><strong>Formularz został wysłany, dziękujemy.</strong></p>');
		});
		return false;
	});
	
	/*
		JOB APPLY form submit
	*/
	$('form#zgloszeniowy').css('visibility', 'visible').submit(function(){			
		$this = $(this);
		$this.find('.warning').removeClass('warning');
		if ($.trim($('#f_name').val()) == ''){
			$('label[for="f_name"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_stand').val()) == '-1'){
			$('label[for="f_stand"]').parent('div').addClass('warning');
		}
		if ($.trim($('#f_file1').val()) == ''){
			$('label[for="f_file1"]').parent('div').addClass('warning');
		}
		if ($('.warning').size()) {
			alert('Wypełnij poprawnie wszystkie obowiązkowe pola formularza.');
			$('.warning:first label').next().focus();
			return false;
		}
		function completeCallback(response) {
			alert(response);
		}
		$this.addClass('processing').find('#unique_id').val((Math.random()) * 10);
		AIM.submit($this.get(0), {
			'onComplete': function(){
				$this.removeClass('processing').html('<p><strong>Formularz zgłoszeniowy został wysłany, dziękujemy.</strong></p>');
			}
		});
		$this.unbind('submit').submit();
		return false;
	});

	/*
		AJAX IFRAME METHOD (AIM) http://www.webtoolkit.info/
	*/
	AIM = {
		frame : function(c) {
			var n = 'f' + Math.floor(Math.random() * 99999);
			var d = document.createElement('DIV');
			d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
			document.body.appendChild(d);
			var i = document.getElementById(n);
			if (c && typeof(c.onComplete) == 'function') {
				i.onComplete = c.onComplete;
			}
			return n;
		},
		form : function(f, name) {
			f.setAttribute('target', name);
		},
		submit : function(f, c) {
			AIM.form(f, AIM.frame(c));
			if (c && typeof(c.onStart) == 'function') {
				return c.onStart();
			} else {
				return true;
			}
		},
		loaded : function(id) {
			var i = document.getElementById(id);
			if (i.contentDocument) {
				var d = i.contentDocument;
			} else if (i.contentWindow) {
				var d = i.contentWindow.document;
			} else {
				var d = window.frames[id].document;
			}
			if (d.location.href == "about:blank") {
				return;
			}
			if (typeof(i.onComplete) == 'function') {
				i.onComplete(d.body.innerHTML);
			}
		}
	}
	
	/*
		PROMO FLASH - dla flot
	*/
	if($('#promo .visit').size()) {
		$('#promo .visit').prepend('<div id="promo-visit-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/klient_flotowy_box.swf', 'promo-visit-flash', '217', '104', '8.0.0.0', '', {HP_host: HP_host}, {});
	}
	
	if($('#aside .visit').size()) {
		$('#aside .visit').prepend('<div id="aside-visit-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/klient_flotowy_box.swf', 'aside-visit-flash', '237', '113', '8.0.0.0', '', {HP_host: HP_host}, {});
	}
	
	/*
		About Us flash
	*/
	if($('#about-us-video').size()) {
		$('#about-us-video').prepend('<div id="about-us-video-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/about-us.swf', 'about-us-video-flash', '614', '345', '8.0.0.0', '', {uiDir: HP_host + '/pub/uploadflash/'}, {allowFullScreen: 'true'});
	}
	
	/*
		NAV TOP flash embed
	*/
	if($('#nav-ani').size()) {
		$('#nav-ani').prepend('<div id="nav-ani-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/banner_top.swf', 'nav-ani-flash', '676', '98', '9.0.0', '', {HP_host: '/'}, {wmode: 'transparent'});
	}
	
	/*
		MAIN FLASH embed
	*/
	if($('#main-ani').size()) {
		$('#main-ani').prepend('<div id="main-ani-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/main.swf', 'main-ani-flash', '702', '345', '9.0.0', '', {HP_host: HP_host}, {});
	}
	
	/*
		PROMO BIG FLASH EMBED
	*/
	if($('#feuvert_main_banner').size()) {
	//$('#main-ani').prepend('<div id="main-ani-flash"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/Feuvert-FV-czerwiec.swf', 'feuvert_main_banner', '702', '500', '9.0.0', '', {HP_host: HP_host}, {wmode: 'transparent'});
	}
	
	/*
		LOCATIONS MAP FLASH EMBED
	*/
	if($('#locations-map').size()) {
		$('#locations-map').prepend('<div id="locations-map-ani"></div>');
		swfobject.embedSWF(HP_host + '/pub/uploadflash/mapa.swf', 'locations-map-ani', '706', '421', '9.0.0', '', {HP_host: HP_host}, {wmode: 'transparent'});
	}
	
	/*
		POPUP LAYER
	*/
	//if (document.URL.indexOf('popup=1') > -1) {
	if ($.cookie('popup_fv1') != $('#popup-content .entry').attr('id') && $('#popup-content').html().length > 10 && $('.sOverlibDiv').size() < 1) {
		var date = new Date();
		date.setTime(date.getTime()+(30*60*1000));
		document.cookie = "popup_fv1=" + $('#popup-content .entry').attr('id') + "; expires=" + date.toGMTString() + "; path=/";
		$('#popup-content')
			.show()
			.before('<div id="overlay"></div>')
			.prepend('<a href="#close" class="close">x</a>')
			.find('.close')
			.click(function(){
				$('#popup-content').hide();
				$('#overlay').hide();
				$('object, embed, select').show();
				return false;
			}).end()
			.find('h4:first').remove();
		$('object, embed, select').hide();
		$('#overlay')
			.css({height: $(document).height() + 'px', opacity: '0.6', zIndex: '980'})
			.click(function(){
				$('#popup-content').hide();
				$('#overlay').hide();
				$('object, embed, select').show();
			});
	}
	
	/**
	 * Popup layer survey form
	
	surveyFormValidation();
	if (($.cookie('popup_survey') != 1) && ($('.sOverlibDiv').size() < 1) && (!$('#promotion-survey').size())) {
	
		$.cookie('popup_survey', 1, {path: '/', expires: 365});
		$('#footer').after('<div id="overlay"></div><div id="ajax-survey"></div>');
		$('#ajax-survey').addClass('processing').load(HP_host + '/showpage.php?pageID=246', function() {
			$(this).removeClass('processing');
			surveyFormValidation();
		});
		
		$('#overlay')
			.css({height: $(document).height() + 'px', opacity: '0.6', zIndex: '950'})
			.click(function(){
				$('#ajax-survey').remove();
				$('#overlay').remove();
			});
	}*/
	
	/* 
		PROMOTIONS SLIDER
	*/
	
	if($('#promotions').size()) {
		$('#promotions')
			.css({visibility: 'visible'});
		if($('.slides div').length > 1) {
			$('#promotions')
				.find('.content')
					.loopedSlider({container: '.slide-box', containerClick: false, autoStart: 6000, restart: 6000, slidespeed: 850, fadespeed: 850});
		}
	}
	
	$('#oi').change(function(){
		location = HP_host + '/kontakt/nasze-oddzialy.html?oi=' + $('option:selected', this).val();
	});
	
	var directionsFromInitValue = $('#directions-from').val();
	$('#directions-from')
		.focus(function(){
			if ($(this).val() == directionsFromInitValue) {
				$(this).val('');
			}
		})
		.blur(function(){
			if ($(this).val() == '') {
				$(this).val(directionsFromInitValue);
			}
		});
	
	/**
	 * Google Maps Directions embedding
	 */
	if ($('#map').size() && GBrowserIsCompatible()) {
		
	
		$(window).unload(function(){
			GUnload();
		});
		
		var map = new GMap2(document.getElementById('map'));
		map.setUIToDefault();
		map.addControl(new GMapTypeControl());
		
		marker = '';
		var activeMarker;
		
		function getTargetPoint(){
			if($('#map-entries li.active').size()) {
				return GLatLng.fromUrlValue($('#map-entries li.active .latlng').val().slice(1, -1));
			}
		}
		
		var latlng = getTargetPoint();
		
		if ($('.latlng').size() > 1) {
			bounds = new GLatLngBounds();
			$('.latlng').each(function(index){
				var latlng = GLatLng.fromUrlValue($(this).val().slice(1, -1));
				var fv_ico = new GIcon(G_DEFAULT_ICON);
				if ($(this).parent().is('.fv')) {
					fv_ico.image = HP_host + '/pub/uploadimages/google_marker_ico_fv.png';
					fv_ico.iconSize = new GSize(53, 39);
					fv_ico.iconAnchor = new GPoint(25, 39);
				} else {
					fv_ico.image = HP_host + '/pub/uploadimages/google_marker_ico_cs.png';
					fv_ico.iconSize = new GSize(33, 39);
					fv_ico.iconAnchor = new GPoint(15, 39);
				}
				marker = new GMarker(latlng, {icon: fv_ico});
				map.addOverlay(marker);
				if ($('#map-entries li:eq(' + index + ')').text() != '') {
					GEvent.addListener(marker, 'click', function(){
						this.openInfoWindowHtml('<div class="marker-content">' + $('#map-entries li:eq(' + index + ')').html() + '</div>');
					});
					//alert(latlng + ' : ' + getTargetPoint())
					if (latlng == getTargetPoint()) {
						GEvent.addListener(map, 'load', function(){
							GEvent.trigger(marker, 'click');
						});
					}
					
				}
				bounds.extend(marker.getPoint());
				map.setCenter(latlng, 18);
			});
		}
		
		if($('#map-entries li.active').size()) {
			map.setCenter(latlng, 14);
		}
		else {
			map.setZoom(map.getBoundsZoomLevel(bounds) - 1);
			map.setCenter(bounds.getCenter());
		}
		
		//GEvent.trigger(marker, 'click');
		
		var path = [];
		var bounds = new GLatLngBounds();
		var geo = new GClientGeocoder(new GGeocodeCache());
		var reasons=[];
		reasons[G_GEO_SUCCESS]            = "Success";
		reasons[G_GEO_MISSING_ADDRESS]    = "Nierozpoznany adres.";
		reasons[G_GEO_UNKNOWN_ADDRESS]    = "Nierozpoznany adres - spróbuj wpisać tylko nazwę miejscowości.";
		reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Niedostępny adres - nie można pokazać tej trasy.";
		reasons[G_GEO_BAD_KEY]            = "Błędny klucz API.";
		reasons[G_GEO_TOO_MANY_QUERIES]   = "Bład - za dużo zapytań. Spróbuj ponownie za jakiś czas.";
		reasons[G_GEO_SERVER_ERROR]       = "Błąd serwera. Spróbuj ponownie za jakiś czas.";
		reasons[G_GEO_BAD_REQUEST]        = "A directions request could not be successfully parsed.";
		reasons[G_GEO_MISSING_QUERY]      = "Brak lokalizacji w polu wyszukiwania.";
		reasons[G_GEO_UNKNOWN_DIRECTIONS] = "Nie można ustalić połączenia między punktami.";
		
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.iconSize=new GSize(24,38);
		
		var icon1 = G_START_ICON;
		var icon3 = G_END_ICON;
		var addresses = [];
		var startpoint = null;
		
		function doStart(point){
			path[1] = getTargetPoint();
			if (startpoint != null){
				map.removeOverlay(startpoint);
				map.setCenter(path[1], 12);
				bounds = new GLatLngBounds();
			}
			startpoint = new GMarker(point,{dragable:true, icon:icon1}); 

			GEvent.addListener(startpoint, 'dragend', function(){
				path[0] = startpoint.getPoint();
				addresses[0] = '';
			});
			map.addOverlay(startpoint);

			path[0] = point;
			bounds.extend(path[0]);
			bounds.extend(path[1]);
			map.setZoom(map.getBoundsZoomLevel(bounds));
			map.setCenter(bounds.getCenter());
			directions();
		}

		var gdir = new GDirections(null, document.getElementById('path'));

		GEvent.addListener(gdir,'error', function(){
			var code = gdir.getStatus().code;
			var reason = 'Kod ' + code;
			if (reasons[code]){
				reason = "Kod " + code + ': ' + reasons[code]
			}
			alert('Failed to obtain directions, ' + reason);
		});

		var poly;
		GEvent.addListener(gdir, 'load', function(){
			if (poly)
				map.removeOverlay(poly);
			poly = gdir.getPolyline();
			map.addOverlay(poly);
		});
		
		GEvent.addListener(gdir, 'addoverlay', function(){
			$('#article tr td:has("a")').each(function(){
				$(this).html($(this).text());
			});
			$('#article tr td').css('cursor', 'default');
		});

		function directions(){
			if (addresses[0]){
				var a = addresses[0] + "@" + path[0].toUrlValue(6)
			}
			else {
				var a = path[0].toUrlValue(6)
			}
			var b = path[1].toUrlValue(6)
			var a = 'from: ' + a + ' to: ' + b;
			gdir.load(a, {getPolyline:true});
			map.removeOverlay(marker);
			marker = new GMarker(latlng, {icon:icon3});
			map.addOverlay(marker);
		}
		
		function showAddress(){
			var search = $('#directions-from').val();
			addresses[0] = search;
			geo.getLatLng(search, function (point){ 
				if (point){
					doStart(point);
				}
				else {
					var result = geo.getCache().get(search);
					if (result){
						var reason = 'Kod ' + result.Status.code;
						if (reasons[result.Status.code]){
							reason = reasons[result.Status.code]
						}
					}
					else {
						var reason = '';
					}
					alert('Nie można odnaleźć "' + search + '". ' + reason);
				}
			});
		}
		
		$('#directions')
			.show()
			.submit(function(){
				showAddress();
				return false;
			});
		
		$('#directions-to')
			.change(function(){
				$('#map-entries li:contains("' + $('option:selected', this).text() + '")').addClass('active').siblings().removeClass('active');
				if (startpoint != null){
					showAddress();
				} else {
					map.setCenter(getTargetPoint(), 14);
				}
			});
		
	}
	
	/*
		GOOGLE MAPS PROMOTION
	*/
	$('.promotion-map-tabs li').click(function() {
		$('.promotion-map-tabs li').removeClass('active');
		$(this).attr('class', 'active');
		infoText = '<h4>' + $('h4', this).text() + '</h4>' + $('.infoText', this).html();
		var latlng = GLatLng.fromUrlValue($('.latlng', this).val().slice(1, -1));
		marker = new GMarker(latlng, {icon: feuvertIcon});
		GEvent.addListener(marker, "click", function(){
			map.openInfoWindowHtml(latlng, '<div class="marker-content">' + infoText + '</div>');
		});
		map.openInfoWindowHtml(latlng, infoText);
		map.setCenter(latlng, 15);
		map.addOverlay(marker);
		//zmien kolor
		return false;
	})

	if ($('#mapPromotion').size() && GBrowserIsCompatible()) {
		$('#mapPromotion').css('visibility', 'visible');
		var map = new GMap2(document.getElementById("mapPromotion"));
		map.addControl(new GSmallMapControl());	
		var feuvertIcon = new GIcon(G_DEFAULT_ICON);
		feuvertIcon.image = HP_host + "/pub/uploadimages/marker.png";
		$('.promotion-map-tabs li:first').trigger('click');
	}
	
	/*
		OVARHAUL SUBMIT VALIDATOR
	*/
	$('#overhaul form, #overhaul-form').submit(function() {
		if ($('#overhaul select#km option:selected, #overhaul-form select#km option:selected').val() == '-1' && $('#overhaul select#years option:selected, #overhaul-form select#years option:selected').val() == '-1') {
			alert('Prosze wybrać przynajmniej jedną opcję.');
			return false;
		}
	});
	
	/*
		GALLERY lightbox
	*/
	$('#article .tire-item .thumb a, #article .product-item .thumb a, #article .tire-item-shop .thumb a').each(function(){
		$(this).lightBox();
	});
	$('#article .gallery li a').lightBox();
	$('#article a[href~="cennik.jpg"]').each(function(){
		$(this).lightBox();
	});
	
	/*
		PRODUKTY ROTATOR
	*/
	$('#products').attr('last', 0);
	$('#products-recommended').css('visibility', 'visible');
	n_img =  ($('#index').size()) ? 8 : 2;
	var all_img = $('#products li').size();
	if (n_img != all_img) {
		rotate('#products', n_img, 0);
		window.setInterval("rotate('#products', n_img, 0)", 9000);
	}
	else {
		$('#products li').show();
	}
	
	$('#promotions-static').attr('last', '0');
	$('#products-promotion').css('visibility', 'visible');
	rotate('#promotions-static', 2, 10);
	window.setInterval("rotate('#promotions-static', 2, 10)", 4000);
	
});
