﻿/* dafaults validate plugin */ 
$.validator.setDefaults({
	//submitHandler: function() { alert("Submitted!") },
	errorClass: "validation-error",
	validClass: "validation-ok",
	onfocusout: false,
	onkeyup: false,
	onclick: false,
	errorPlacement: function(error, element){},
	showErrors: function(errorMap, errorList){
		if (this.numberOfInvalids() > 0)
		{ alert(lang_validate_correct_error); }
		this.defaultShowErrors();
	}
});

validate_settings = {
	required: lang_validate_required,
	remote: lang_validate_remote,
	email: lang_validate_email,
	url: lang_validate_url,
	date: lang_validate_date,
	dateISO: lang_validate_dateISO,
	number: lang_validate_number,
	digits: lang_validate_digits,
	creditcard: lang_validate_creditcard,
	equalTo: lang_validate_equalTo,
	accept: lang_validate_accept,
	maxlength: jQuery.validator.format(lang_validate_maxlength),
	minlength: jQuery.validator.format(lang_validate_minlength),
	rangelength: jQuery.validator.format(lang_validate_rangelength),
	range: jQuery.validator.format(lang_validate_range),
	max: jQuery.validator.format(lang_validate_max),
	min: jQuery.validator.format(lang_validate_min)
}

$.extend(jQuery.validator.messages, validate_settings);	

/* cb_settings - standardowe ustawienia, używane także w galview */
cb_settings = {
	maxHeight:'90%', 
	maxWidth:'90%', 
	slideshowStart: lang_cb_slideshowStart, 
	slideshowStop: lang_cb_slideshowStop,
	current: lang_cb_current,
	previous: lang_cb_previous,
	next: lang_cb_next,
	close: lang_cb_close
}

$.extend(jQuery.colorbox.settings, cb_settings);

function autosubmit(e)
{ $(e).closest('form').trigger("submit"); }

document.global_data = new Array();
function window_call(type_name, data)
{
	//alert('window_call: ' + type_name + ' ' + data.length);
	document.global_data[type_name] = data;
	$(document).trigger('event_'+type_name);
}

$(document).ready(function() {
	$('#products-per-page').bind('change', function(e){autosubmit(this)});
	$('#products-sort').bind('change', function(e){autosubmit(this)});
	$('#products-view').bind('change', function(e){autosubmit(this)});
	
	/*    */
	/* inicjalizacja standardowych skryptów bibliotek i wtyczek  */
	/*    */
	
	/* obsługa colorbox */
	$('#.images-gallery a').colorbox();
	$('#.images-list a').colorbox();
	
	/* obsługa galerii produktu */
	$('#product-images').galview({colorboxOptions: cb_settings});
	
	/* obsługa star-rate */
	$('#product-comment .comment-rate-wrapper').stars({ inputType: "select" });
	
	/* obsługa zakładek produktów */
	$('#product-tabs').libTabs({animate: true});
	
	/* 
	$('#product-comment-button').click(function(){
		$('#product-tabs').libTabs("showTab", "1");
		$.scrollTo('#product-tabs',800, {})
		return false;
	});
	*/
	
	$('#product-ask-button').colorbox({inline:true, href:"#product-ask"});
	$('#product-error-button').colorbox({inline:true, href:"#product-error"});
	$('#product-negotiate-button').colorbox({inline:true, href:"#product-negotiate"});
	
	$('#zagiel-button').colorbox({iframe:true, width: '700', height: '90%'});
	$('#box_zagiel a').colorbox({iframe:true, width: '800', height: '90%'});
	
	/* social link */
	$('#fb-share').attr('target','_blank').click(function(){
		window.open($(this).attr('href'),'mywindow','width=600,height=400');
		return false;
	});
	$('#twitter-share').attr('target','_blank').click(function(){
		window.open($(this).attr('href'),'mywindow','width=600,height=400');
		return false;
	});
	$('#nk-share').attr('target','_blank');
	$('#blip-share').attr('target','_blank');
	
	/* obsługa zakładek product-related i higlited type1*/
	/* przygotowanie - przeniesienie zdjęć poza listę */
	$('#product .product-related ul' /* , #content #product-highlighted-3 ul */).each(function(){
		var list = $(this);
		var photos = $(this).find('li .photo, li .nophoto');
		photos.each(function(){
			var photo = $(this).detach();
			photo.insertAfter(list);
		});
	});
	/* obsługa zakładek po zmodyfikowaiu listy */
	$('#content .product-related').libTabs({hoverSwitch: true, activeList: true, activeAnchor : false, click: false});
//	$('#content #product-highlighted-3').libTabs({hoverSwitch: true, activeList: true, activeAnchor : false, click: false});
	
	/* obsługa cycle - higlited - nowe produkty */
/*	$('#product-highlighted-1 ul').cycle({
		pager:  '#product-highlighted-1-pages'
	});*/
	
	/*    */
	/*    */
	/* skrypty własne */
	/*    */
	/*    */
	
	/*    */
	/* obsługa porównywarki */
	/*    */
	
	var compare_cookie_name = c_prefix+'_compare';	
	
	$('.compare-show a').attr('target','_blank').click(function(){
		window.open($(this).attr('href'),'mywindow','width=900,height=800,scrollbars=1');
		return false;
	});
	
	$('#compare a.delete-all').each(function(){	
		var item = this;		
		$(item).click(function(){
			$.clearCookie(compare_cookie_name);
			window.close();
			return false;
		});
	});
	
	$('#compare a.delete').each(function(){
		var item = this;
		item.pid = $(item).parent('td').attr('class').split('-')[1];
//		alert(item.pid);
		item.pclass = $(item).parent('td').attr('class');
		
		$(item).click(function(){
			// usunięcie produktu
			var products_json = $.getCookie(compare_cookie_name);
			products = products_json;
			if (products.indexOf(item.pid) != -1)
			{ products.splice(products.indexOf(item.pid),1); }
			
			products_json = $.toJSON(products);
			$.setCookie(compare_cookie_name,products_json);
			
			$('#compare .'+item.pclass).hide();
			
			return false;
		});
	});
	
	$('#page #products').each(function(){
		var list = this;
		list.products = $(list).find('li.boxes, li.list, tr');
		$(list.products).each(function(){
			var product = this;
			product.pid = $(product).attr('id').split("_")[1];
			//alert(product.pid);
			product.compareButton = $(product).find('.compare input');
			product.compareIn = $(product.compareButton).is(':checked');
			$(product.compareButton).change(function(){
				//akcje dodania/usuniecia
				//alert('change '+product.compareIn);
				var products;
				//alert(compare_cookie_name);
				var products_json = $.getCookie(compare_cookie_name);
				if (products_json == null)
				{
					//alert ('is null');
					products = new Array();
				}
				else
				{
					//alert ('is not null');
					products = products_json;
				}
				
				if(product.compareIn)
				{
					//usunięcie
					if (products.indexOf(product.pid) != -1)
					{ products.splice(products.indexOf(product.pid),1); }
				
				}
				else
				{
					//dodanie
					//	alert(products.indexOf(product.pid));
					if (products.indexOf(product.pid) == -1)
					{ products.push(product.pid); }
					
				}
				
				
				
				
				products_json = $.toJSON(products);
				//alert(products + " " + products_json);
				$.setCookie(compare_cookie_name,products_json);
				
				product.compareIn = $(product.compareButton).is(':checked');
			});
			
			
		});
		
		
	
	});
	
	
	/*    */
	/* paczkomaty */
	/*    */
	
	/* okno na etapie zamówienia */
	$('#paczkomaty #paczkomaty-button').colorbox({iframe:true, width: '800', height: '300'});
	
	
	$('#order .order-delivery #paczkomaty').each(function(){
		var item = this;
		item.eid = $(item).attr('id');
		item.paczkomatSelected_item = $('#paczkomaty-selected').get(0);
		item.paczkomatSelectedValue_item = $('#paczkomaty-selected-value').get(0);
		item.paczkomatEmpty_item = $('#paczkomaty-empty').get(0);
		item.paczkomatEmptyValue_item = $('#paczkomaty-empty-value').get(0);
		
		$(item).hide();
		
		if ($(item.paczkomatSelectedValue_item).val().length != 0)
		{
			$(item.paczkomatSelected_item).show();
			$(item.paczkomatEmpty_item).hide();
		}
		else
		{
			$(item.paczkomatSelected_item).hide();
			$(item.paczkomatEmpty_item).show();
		}
		
		item.paczkomatNameUpdate = function(paczkomatName){
			if (paczkomatName != 0)
			{
				$(item.paczkomatSelectedValue_item).val(paczkomatName);
				$(item.paczkomatSelected_item).show();
				$(item.paczkomatEmpty_item).hide();
			}
			else
			{
				$(item.paczkomatSelected_item).hide();
				$(item.paczkomatEmpty_item).show();
			}
			//$(item).trigger('event_paczkomatNameUpdate');
		};
		
		$(document).bind('event_'+item.eid, function(){
			item.paczkomatNameUpdate(document.global_data[item.eid]);
		});
		
		$('#order .order-delivery #ordered-products').bind('deliveryChange', function(event){
			var selectedItem = $('#order-delivery input:checked').get(0);
			if (paczkomatyId == selectedItem.carrier )
			{ $(item).slideDown(); }
			else
			{ $(item).slideUp(); }
		});
	});
	
	$('.order-paczkomaty #paczkomaty-nearest-submit').each(function(){
		this.send = function(){
			var paczkomat = $('#paczkomaty-nearest-select').val();		
			window.parent.window_call(request_type, paczkomat);
			window.parent.$.colorbox.close();
			return false;
		};
	});
	
	$('.order-paczkomaty #paczkomaty-intown-submit').each(function(){
		this.send = function(){
			var paczkomat = $('#paczkomaty-intown-select').val();		
			window.parent.window_call(request_type, paczkomat);
			window.parent.$.colorbox.close();
			return false;
		};
	});

	$('.order-paczkomaty #order-paczkomaty-intown').each(function(){
		var item = this;
		
		item.town_item = $(item).find('#paczkomaty-town-select').get(0);
		item.intown_item = $(item).find('#paczkomaty-intown-select').get(0);
		
		
		
		$(item.town_item).change(function(){
			
			tval = $(item.town_item).val();
			if (tval.length != 0)
			{
				$(item.intown_item).attr("disabled", true);
				$(item.intown_item).empty();
				$.ajax({
					url: "index.php?p=paczkomaty-in_town&town="+tval,
					success: function(data){
						ddata = $.parseJSON(data);
						$(ddata).each(function(){
							var data_item = this;
							data_item.op = wrapSelectOption(data_item.name,data_item.id+": "+data_item.name);
							$(item.intown_item).append(data_item.op);	
						});
						
						$(item.intown_item).attr("disabled", false);
						
					}
				});
				//?p=paczkomaty-in_town&town=Andrychów
				// wczytaj
			
			}
			else
			{
				$(item.intown_item).attr("disabled", true);
				$(item.intown_item).empty();
				var op = wrapSelectOption('-','');
				$(item.intown_item).append(op);			
			}
		
		
		});
		
		$(item.town_item).trigger('change');
		
	});
	
	
	
	
	
	
	/*    */
	/* filtr */
	/*    */
	
	$('#filter').each(function(){
		var filter = this;
		
		$(filter).find('.submit').click(function(){
			$(filter).submit();
			return false;
		});
		
		$(filter).find('.reset').click(function(){
			var reset = this;
			cb = $(reset).closest('li').find('input.checkbox');
			cb.attr("checked", false);
			tx = $(reset).closest('li').find('input.input');
			tx.attr("value", '');
			$(filter).submit();
			return false;
		})	
	});

	/*    */
	/* obsługa pola wyszukiwania - ustawia domyślny teskst i class */
	/*    */
	
	$('#search-form #search')
	.attr("value",lang_search_phrase)
	.addClass("empty")
	.focus(function(){
		value = jQuery.trim($(this).attr("value"));
		if (value == lang_search_phrase)
		{$(this).attr("value","").removeClass("empty");}
	})
	.focusout(function(){
		value = jQuery.trim($(this).attr("value"));
		if (value == "")
		{$(this).attr("value",lang_search_phrase).addClass("empty");}
	});
	
	$('#search-form').submit(function(){
		if ($('#search-form #search').attr("value")==lang_search_phrase)
		{$('#search-form #search').attr("value", "");}
	});
	
	/*    */
	/* obsługa wczytywania atrybutów produktu przy dodawaniu do koszyka */
	/*    */
	
	function wrapSelectOption(text, value)
	{	var item = '<option value="'+value+'">'+text+'</option>'
		return item;
	}
	
	var basketForm = $('#product form#basket');
	var basketSelectList = basketForm.find('select');
	var def_price = $('#product #price').html();
	var def_price_old = $('#product #price-old').html();
	var def_stock_quantity = $('#product #stock-quantity .value').html();
	var def_availability = $('#product #available .value').html();	
	
	basketSelectList.each(function(i){
		var basketSelectItem = this;
		basketSelectItem.Id = $(basketSelectItem).attr("name").match(/[^\[]*\[(\d+)\]/)[1];

		/* przypisanie następnego pola Select */
		if (basketSelectList[i+1]!=null)
		{
			basketSelectItem.NextItem = basketSelectList[i+1];
			basketSelectItem.NextItemId = $(basketSelectItem.NextItem).attr("name").match(/[^\[]*\[(\d+)\]/)[1];	
		}
		else 
		{
			basketSelectItem.NextItem = null;
		}

		/* akcja zmiany wyboru - wczytywanie kolejnych select */
		$(basketSelectItem).bind('change', function(e){
			if (basketSelectItem.NextItem != null &&  $.trim($(basketSelectItem).val())!=""){
				/* przypadek standardowy gdy wartości są określone i następuje wczytanie następnego select */
				basketSelectItem.NextItem.loadThis();
				$('#product #price').html(def_price);
				$('#product #price-old').html(def_price_old);
				$('#product #stock-quantity .value').html(def_stock_quantity);
				$('#product #available .value').html(def_availability);
			} else if (basketSelectItem.NextItem == null &&  $.trim($(basketSelectItem).val())!="") {
				/* przypadek krańcowy gdy następuje wczytanie wartosci ceny, ilosci, dostawy*/
				data = basketSelectItem.data[$(basketSelectItem).val()];
				$('#product #price').html(data.price);
				if (data.price_old != undefined)
				{ $('#product #price-old').html(data.price_old); }
				$('#product #stock-quantity .value').html(data.quantity);
				$('#product #available .value').html(data.availability);				
			} else if ($.trim($(basketSelectItem).val())=="") {
				/* przypadek gdy nastepuje reset select */
				if(basketSelectItem.NextItem != null)
				{ basketSelectItem.NextItem.disable(); }
				$('#product #price').html(def_price);
				$('#product #price-old').html(def_price_old);
				$('#product #stock-quantity .value').html(def_stock_quantity);
				$('#product #available .value').html(def_availability);				
			}			
		});
		
		/* dezaktywacja select i nastepnych select */
		basketSelectItem.disable = function(){
			$(basketSelectItem).attr("disabled", true);
			basketSelectItem.enabled = false;
			$(basketSelectItem).empty();
			
			var item = wrapSelectOption(lang_Select_other_attributes, "");
			$(basketSelectItem).append(item);
			/* wyłącznie kolejnych pozycji select */
			if (basketSelectItem.NextItem != null) {
				basketSelectItem.NextItem.disable();
			}
		}
		
		/* aktywacja select */
		basketSelectItem.enable = function(){
			$(basketSelectItem).removeAttr("disabled");
			basketSelectItem.enabled = true;
			$(basketSelectItem).empty();
			var item = wrapSelectOption(lang_Select, "");
			$(basketSelectItem).append(item);
		}

		basketSelectItem.loadThis = function(){
			basketSelectItem.disable();
			/* wyszukanie wszystkich aktywnych select i stworzenie stringa dla JSON request */
			string = "";
			basketSelectList.each(function(){
				var item = this;
				if (item.enabled && $.trim($(item).val())!="")
				{ string = string + "&attr_val["+item.Id+"]="+$(item).val(); }
			});
			/* akcja wczytania */	
			//alert('index.php?p=products_json-attributes_list&id_prod='+iProduct+'&id_attr='+basketSelectItem.Id+string);
			$.getJSON('index.php?p=products_json-attributes_list&id_prod='+iProduct+'&id_attr='+basketSelectItem.Id+string, function(data){
				basketSelectItem.enable();			
				/* dodanie option do następnego select */
				basketSelectItem.data = new Array();
				$(data).each(function(){
					var item = wrapSelectOption(this.text, this.value);
					basketSelectItem.data[this.value] = this.data;
					$(basketSelectItem).append(item);
				});
			});	
		}		
	}); // end of basketSelectList.each()
	
	/* aktywacja funkcji dodawania do koszyka */
	if (basketForm.length != 0 && $(basketSelectList).length != 0)
	{
		basketSelectList[0].disable();
		basketSelectList[0].loadThis();
	}

	/*    */
	/* order-delivery - obsługa zmiany wybodu płatności i przewoźnika, przeliczanie kosztów */
	/*    */
	
	$(".order-delivery #ordered-products").each(function(){		
		var order = this;
		var block_productCost = $('#summary-product-cost');
		var block_deliveryCarrier = $('#summary-delivery-carrier');
		var block_deliveryPayment = $('#summary-delivery-payment');
		var block_deliveryCost = $('#summary-delivery-cost');
		var block_giftCost = $('#summary-gift-cost');
		var block_orderCost = $('#summary-order-cost');

		$('#order-gift-client').attr("disabled", true);
		$('#order-gift-text').attr("disabled", true);
	
		order.summary = parseFloat(block_orderCost.html());
	
		$(block_deliveryCarrier).html("-");
		$(block_deliveryPayment).html("-");
		$(block_deliveryCost).html("-");
		$(block_giftCost).html("-");
		
		sCarriers = $.parseJSON(sCarriers);
		aCarriers = new Array();
		$(sCarriers).each(function(){aCarriers[this.id]=this.name})
		sPayments = $.parseJSON(sPayments);
		aPayments = new Array();
		$(sPayments).each(function(){aPayments[this.id]=this.name})
		
		function sumOrderCost()
		{
			val_productCost = parseFloat($(block_productCost).html());
			val_productCost = isNaN(val_productCost) ? 0 : val_productCost;
			val_deliveryCost = parseFloat($(block_deliveryCost).html());
			val_deliveryCost = isNaN(val_deliveryCost) ? 0 : val_deliveryCost;
			val_giftCost = parseFloat($(block_giftCost).html());
			val_giftCost = isNaN(val_giftCost) ? 0 : val_giftCost;			
			var total = val_productCost + val_deliveryCost + val_giftCost;
			order.summary = total.toFixed(2);
			
			$(order).trigger("summaryUpdate");
			
			return total;
		}
		
		$('#order-delivery input').each(function(){
			var button = this;
			button.carrier = $(button).val().split(";")[0];
			button.payment = $(button).val().split(";")[1];
		});
		
		
		$('#order-delivery input').change(function(){
			var button = this;
			$(block_deliveryCarrier).html(aCarriers[button.carrier]);
			$(block_deliveryPayment).html(aPayments[button.payment]);
			cost = $(button).val().split(";")[2];
			val_cost = parseFloat(cost);
			val_cost = isNaN(val_cost) ? 0 : val_cost;
			$(block_deliveryCost).html(val_cost.toFixed(2));
			block_orderCost.html(sumOrderCost().toFixed(2));
			
			$(order).trigger("deliveryChange");
		});
		
		$('#order-gift-cb').change(function(){
			if($(this).attr('checked')) {
				$(block_giftCost).html(gift_cost.toFixed(2));
				$('#order-gift-client').attr("disabled", false);
				$('#order-gift-text').attr("disabled", false);
			}
			else {
				$(block_giftCost).html("-");
				$('#order-gift-client').attr("disabled", true);
				$('#order-gift-text').attr("disabled", true);
			}

			block_orderCost.html(sumOrderCost().toFixed(2));
		});
		
		
		
		$(order).find('#zagiel-button').each(function(){
			var zagiel = this;
			zagiel.minPrice = zagielMinPrice;
			$(zagiel).hide();
			
			$(order).bind("summaryUpdate", function(){
				if (order.summary >= zagiel.minPrice)
				{ $(zagiel).show(); $(zagiel).attr("href",zagielSymulatorHref+order.summary); }
				else
				{ $(zagiel).hide(); }
			});
		});
		
	
		/* inicjalizacja */
		$('#order-delivery input:checked').trigger("change");
		$('#order-gift-cb').trigger("change");
	});	
	
	/*    */
	/* order-basket - obsługa zmiany ilości produktów - przeliczanie i wysyłanie ajax */
	/*    */
	
	$('#basket #ordered-products table').each(function(){
		var basket = this;
		basket.form = $(this).parents('form:first');
		//alert(basket.form.length);
		basket.items = $(this).find("tbody tr");
		basket.summary_field = $('#summary-cost');
		basket.summary = parseFloat($(basket.summary_field).html());
		basket.summary_bind = function(){ $(basket.summary_field).html(basket.summary); };
		
		basket.data = new Array();
		var data = $.parseJSON(aStockInfo);
		// iProductVariant, iStock, sOnStockText, sOutOfStockText, iInfStock
		
		$(data).each(function(){
			var item = this;
			basket.data[this.iProductVariant] = this;
		});
		
		basket.summaryUpdate = function()
		{
			var summary = 0;
			basket.items.each(function(i){
				var item = this;
				summary = (summary + parseFloat(item.summary));
			});
			
			basket.summary = summary.toFixed(2);
			basket.summary_bind();
			
			$(basket).trigger("summaryUpdateEvent");
		};
		
		basket.sent = false;;
		basket.submitBasket = function()
		{
			var obj = new Array;
			basket.items.each(function(i){
				var item = this;
				obj[i] = {"iProductVariant" : item.pid, "iQuantity" : item.quantity};			
			});
			
			obj= $.toJSON(obj);
			submit_data = 'p=p_json-update_basket&sProductsJSON='+obj;
			
			if( ! basket.sent ){
				basket.submitBasketAjax();
			}
		};
		
		basket.submitBasketAjax = function(){

			$.ajax({
				
				url: 'index.php',
				data : submit_data,
				success: function(msg){
					//alert( "Data Saved: " + msg );
					basket.sent = false;
					if( submit_data != null )
						basket.submitBasketAjax()
				}
			});
			basket.sent = true;
			submit_data = null;
		};
		
		basket.items.each(function(i){
			var item = this;
			
			item.pid = $(item).attr("id").split("-")[1];
			item.data = basket.data[item.pid];
			
			item.availability_field = $(item).find('.availability')[0];
			item.del_field = $(item).find('.del a')[0];
			item.quantity_max = item.data.iStock;
			item.quantity_max_inf = (item.data.iInfStock == 1) ? true : false;
			item.quantity_min = 1;
			item.quantity_input = $(item).find(".quantity input")[0];
			item.quantity = parseInt($(item.quantity_input).val());
			item.quantity_bind = function(){ $(item.quantity_input).val(item.quantity); };
			
			$(item.del_field).click(function(){
				//$(item).slideUp();
				//return false;
			});
			
			$(item.quantity_input).focusout(function(){
					result = basket.form.valid();
					if (result)
					{ 
						item.quantity = parseInt($(item.quantity_input).val()); 
						basket.submitBasket();
					}
					else
					{ item.quantity_bind(); }
						
					
					item.statusVerify();
					item.summaryUpdate();
			});
			
			item.price_field = $(item).find(".price");
			item.price = parseFloat($(item.price_field).html());
			item.price_bind = function(){ $(item.price_field).val(item.price); };
			item.summary_field = $(item).find(".summary");
			item.summary = parseFloat($(item.summary_field).html());
			item.summary_bind = function(){ $(item.summary_field).html(item.summary); };
			item.del = $(item).find(".del a");
			
			item.plus = $(item).find(".quantity-change .plus")[0];
			item.plus.enabled = false;			
			item.plus.disable = function(){
				this.enabled = false;
				$(this).addClass("disabled");
				$(this).unbind("click");
				$(this).click(function(){
					return false;
				})
			};
			item.plus.enable = function(){
				this.enabled = true;
				$(this).removeClass("disabled");
				$(this).click(function(){
					item.quantity++;
					item.quantity_bind();
					item.statusVerify();
					item.summaryUpdate();
					basket.submitBasket();
					return false;
				})
				
			};
			
			item.minus = $(item).find(".quantity-change .minus")[0];
			item.minus.enabled = false;
			item.minus.disable = function(){
				this.enabled = false;
				$(this).addClass("disabled");
				$(this).unbind("click");
				$(this).click(function(){
					return false;
				})
			};
			item.minus.enable = function(){
				this.enabled = true;
				$(this).removeClass("disabled");
				$(this).click(function(){
					basket.form.valid();
					item.quantity--;
					item.quantity_bind();
					item.statusVerify();
					item.summaryUpdate();
					basket.submitBasket();
					return false;
				})
			};
			
			item.statusVerify = function(){
			
				if (!item.quantity_max_inf && (item.quantity >= item.quantity_max))
				{
					item.plus.disable();
				}
				else if ((item.quantity_max_inf || (item.quantity <= item.quantity_max)) && !item.plus.enabled )
				{
					item.plus.enable();
				}
				
				if ((item.quantity <= item.quantity_min))
				{
					item.minus.disable();
				}
				else if ((item.quantity >= item.quantity_min) && !item.minus.enabled )
				{
					item.minus.enable();
				}
				
				if(item.quantity <= item.quantity_max)
				{
					$(item.availability_field).html(item.data.sOnStockText);
				}
				else if(item.quantity > item.quantity_max && item.quantity_max_inf)
				{
					$(item.availability_field).html(item.data.sOutOfStockText);
				}
				
			};
			
			item.summaryUpdate = function(){
				item.summary = (item.price * item.quantity).toFixed(2);
				item.summary_bind();
				basket.summaryUpdate();
			};
			
			item.statusVerify();
			item.summaryUpdate();
		
		});
		
		
		var zagielList = $(basket).find('#zagiel-button');
		zagielList.each(function(){
			var zagiel = this;
			zagiel.minPrice = zagielMinPrice;
			$(zagiel).hide();
			
			$(basket).bind("summaryUpdateEvent", function(){
				if (basket.summary >= zagiel.minPrice)
				{ 
					$(zagiel).show(); 
					$(zagiel).attr("href",zagielSymulatorHref+basket.summary);
				}
				else
				{ $(zagiel).hide(); }
			});
		})
		
		basket.summaryUpdate();
			
	});

	$('.price .old').parent('.price').addClass('discounted');
	
});


