
var Koszyk = 
{
		Timer : null,
		
		Init : function()
		{
			cechaPo = null;
			cechaPo = new Array();
			cechaPrzed = null;
			cechaPrzed = new Array();
			zestawTestDostepnosci = false;
			
			przesunDoZestawu = true;
			poprawneDane = new Array();
			$('a[rel*=dodajDoKoszyka]').bind('click', Koszyk.DodajProdukt);
			$('a[rel^=dodajZestawDoKoszyka]').bind('click', Koszyk.DodajProduktZestaw);
			$('a[rel=wyczyscKoszyk]').bind('click', Koszyk.WyczyscPytanie);
			$('a[rel*=usunProdukt]').bind('click', Koszyk.UsunProdukt);
			$('a[rel=przeliczKoszyk]').bind('click', Koszyk.PrzeliczKoszyk);
			$('a[rel=zmien_dane]').live('click', Koszyk.ZmienDane);
			$('a[rel=aktualizuj_dane]').live('click', Koszyk.AktualizujDane);
			$('a[rel*=krok]').live('click', Koszyk.SprawdzKrok);
            $('a.cartAddMini').live('click', Koszyk.DodajProduktList);
						
			$('input[type=radio][rel*=platnosc]').live('click', Koszyk.WybierzPlatnosc);

			$('input[type=radio][id*=transport]').live('click', Koszyk.WybierzTransport);
			
			$('select[id*=region]').live('click', Koszyk.WybierzRegion);
			$('div.input-ilosc input[type=text]').live('keyup', Koszyk.PrzeliczKoszykCheck);
			
			$('span[rel*=dodajDoKoszykaPorownanie]').bind('click', Koszyk.DodajDoKoszykaPorownanie);
			$('span[rel*=dodajDoKoszykaModul]').bind('click', Koszyk.DodajDoKoszykaModul);
			$('span[rel^=wybierzCechyZestaw]').bind('click', Koszyk.WybierzCechyZestaw);
			$('span[rel^=kartaWybierzCechyZestaw]').bind('click', Koszyk.KartaWybierzCechyZestaw);
			$('a[rel^=kartaDodajZestawDoKoszyka]').bind('click', Koszyk.KartaDodajZestawDoKoszyka);
			$('div[rel^=przejdzDoCechProduktu]').bind('click', Koszyk.PrzejdzDoCechProduktu);
			
			$('div.dodaj-karta-produktu2:eq(1)').click(function() {
				$('.cechy-karta').each(function(index) {
					self = $(this);
					if($('.wybrana-cecha', self).size() == 0) {
						text = $('h3 .cechy-karta-nazwa', self).text().toLowerCase();
						$('.cecha-msg', self).html(
							$('<span/>').addClass('error').text('Proszę wybrać parametr "' + text + '"')
						).show();
					}
				});
			});
			
			//Koszyk.SprawdzKrok();
			if(cechyXml != null && cechyXml != "undefined" && cechyXml != "")
			{
				Koszyk.CechyXml = Koszyk.XmlCechy(cechyXml);
				
				$('span[id*=cecha_]').bind('click', Koszyk.WybierzCeche);
				$('span[id*=cecha_]').bind('mouseover', Koszyk.WybierzCecheHover);
				$('span[id*=cecha_]').bind('mouseout', Koszyk.WyczyscHover);
                
                this.initializeStatuses();
                $('div.dodaj-karta-produktu2').mouseenter();
			}
			else
			{
				Koszyk.CechyXml = null;
			}
            
            // automatyczny wybór formy transportu, gdy jest tylko jedna
            if($('input[type=radio][id*=transport]').length==1){
                $('input[type=radio][id*=transport]').eq(0).click();
            }
		},
		
        initializeStatuses: function(){
            var items = $('span[id*=cecha_]');
            var dataCache = new Object;
            
            $(items).each(function(){
                var meta = $(this).attr('id').split('_');
                var ID = meta[1];
                var property = meta[2]+'_'+meta[3];
                
                if(typeof dataCache[ID] == 'undefined'){
                    dataCache[ID] = new Object;
                    
                    $('cecha', Koszyk.CechyXml[ID]).each(function(){
                        dataCache[ID][$(this).find('id').text()] = $(this).find('stan_magazynowy').text();
                    });
                }
                
                if(dataCache[ID][property]==0){
                    $(this).removeClass('aktywna-cecha').addClass('empty').unbind();
                }

            });
            
        },
        
		DodajProdukt : function()
		{
			zamknij = 'Ok';
			
			if(wrocDoGaleriiLang  != "undefined" && wrocDoGaleriiLang != '')
			{
				zamknij = wrocDoGaleriiLang;
			}
			
			var przyciskiLang = {};
			
			przyciskiLang[zamknij] = function() {$(this).dialog('close');};
			
			if(typeof(ajaxLinks) != "undefined" && typeof(ajaxLinks.dodaj_produkt_link) != "undefined")
			{
				tmpDane = $(this).attr('rel').split(",");
				eval('daneTest = Koszyk.CechyXml.p'+tmpDane[2]);
				
				testCech = (typeof(daneTest) == 'undefined');
				
				if(testCech == true || poprawneDane['p'+tmpDane[2]])
				{
					if(eval('stanMagazynowyAktualny.p'+tmpDane[2]) > 0)
					{
						$('#koszyk').showAjaxIndicator();
						
						dane = $(this).attr('rel').split(",");
						$.post(ajaxLinks.dodaj_produkt_link,
							{
								id_projektu: dane[1],
								id_produktu: dane[2],
								cechy: poprawneDane['p'+tmpDane[2]]
							},
							function(data){
							  //$('#koszyk').html(data);
							$('#DodajProduktInfo').html(zdjecieKomunikat);
							  var info = data.split('####');
							  $('#koszyk').html(info[3]);
							  przyciskiLang[info[1]] = function() {location.href=info[2];};
							  $('#DodajProduktInfo').append(info[0]);
							  $('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
                              $('.ui-dialog-buttonpane').find('button:eq(1)').addClass('action');
							  $('#koszyk').hideAjaxIndicator();
							}
						);
					}
					else
					{
						$('#DodajProduktInfo').html(zdjecieKomunikat);
						$('#DodajProduktInfo').append(stanMagazynowyLang);
						$('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
					}
				}
				else
				{
					$('#DodajProduktInfo').html(zdjecieKomunikat);
					$('#DodajProduktInfo').append(wybierzCechy);
					$('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
				}
			}
			else
			{
				alert('brak linku ajaxLinks.dodaj_produkt_link');
			}
			
			return false;
		},

		
        
        DodajProduktList: function(e)
		{
//            zamknij = 'Ok';
//
//			if(wrocDoGaleriiLang  != "undefined" && wrocDoGaleriiLang != '')
//			{
//				zamknij = wrocDoGaleriiLang;
//			}

            if($(this).attr('rel')==''){
                return;
            }
            
            e.preventDefault();
            
            zamknij = backString;
			
			var przyciskiLang = {};
			
			przyciskiLang[zamknij] = function() {$(this).dialog('close');};
            var tekstKomunikat = '<table><tr><td>'+$(this).parents('.lista-produktow').find('.lista-produktow-tresc > h3 > a').text()+'</td></tr></table>';
            
            $('#koszyk').showAjaxIndicator();
            //var companyLogo = $(this).parents('.lista-produktow').find('.lista-produktow-tresc > div > a > img').clone().addClass('zdjecie-komunikat-2');
			var companyLogo =  zdjecieKomunikat[$(this).attr('rel')];
			
            $.post(ajaxLinks.dodaj_produkt_link,
                {
                    id_produktu: $(this).attr('rel'),
                    id_projektu: 1
                },
                function(data){
                    $('#DodajProduktInfo').html(companyLogo);
                    var info = data.split('####');
                    $('#koszyk').html(info[3]);
                    przyciskiLang[info[1]] = function() {location.href=info[2];};
                    $('#DodajProduktInfo').append(info[0]);
                    $('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
					$('.ui-dialog-buttonpane').find('button:eq(1)').addClass('action');
                    $('#koszyk').hideAjaxIndicator();
                }
            );
        },
		
		UsunProdukt : function()
		{
			$('#zamowienie').attr('action', $(this).attr('rel')+'.html');
			$('#zamowienie').submit();
			return false;
		},
		
		PrzeliczKoszyk : function()
		{
			var url = $(this).attr('rel');
			if(url == '' || url == undefined) url = 'przeliczKoszyk';
			$('#zamowienie_flag').attr('value','0');
			$('#zamowienie').attr('action', url+'.html');
			$('#zamowienie').submit();
			return false;
		},

		PrzeliczKoszykIlosc : function()
		{
			var url = $(this).attr('rel');
			if(url == '' || url == undefined) url = 'przeliczKoszyk';
			$('#zamowienie_flag').attr('value','1');
			$('#zamowienie').attr('action', url+'.html');
			$('#zamowienie').submit();
			return false;
		},
		
		PrzeliczKoszykCounter : function()
		{
			$('.koszyk-szczegoly').showAjaxIndicator();
			Koszyk.PrzeliczKoszykCheck;
			clearTimeout(Koszyk.Timer);
			Koszyk.Timer = setTimeout("Koszyk.PrzeliczKoszykIlosc()",500);
		},
		
		PrzeliczKoszykCheck : function()
		{
			setTimeout(function()
				{
					var zero = false;
					
					$('div.input-ilosc input[type=text]').each(
						function()
						{
							var val = $(this).val();
							
							if(!val.match(/^\d+$/))
							{
								val = 1;
								$(this).val(val);
							}
							
							if(val == 0)
							{
								$('#UsunPytanie').dialog({width: 450, modal: true,  buttons: {"TAK": function() {$(this).dialog("close");Koszyk.PrzeliczKoszykCounter();}, "NIE" : function() {$(this).dialog("close");}}});
								zero = true;
							}
						}
					);
					
					if(!zero) Koszyk.PrzeliczKoszykCounter();
				}
				,800
			);
		},
		
		WyczyscPytanie : function()
		{
			$('#WyczyscPytanie').dialog({modal: true, width: 400,  buttons: {"ANULUJ" : function() {$(this).dialog("close");}, "Ok": function() {$(this).dialog("close");Koszyk.Wyczysc();}}});
			return false;
		},
		
		Wyczysc : function()
		{
			if(typeof(ajaxLinks) != "undefined" && typeof(ajaxLinks.wyczysc_koszyk) != "undefined")
			{
				$('#koszyk').showAjaxIndicator();
				
				$.post(ajaxLinks.wyczysc_koszyk,
					  {},
						  function(data){
						    $('#koszyk').html(data);
						    $('#koszyk').hideAjaxIndicator();
						    location.reload(true);
					  }
				);
			}
			else
			{
				alert('brak linku ajaxLinks.wyczysc_koszyk');
			}
		},
		
		ZmienDane : function()
		{
			var kontener = $(this).parent().parent();
			var rodzaj_danych = kontener.attr("id");
			kontener.showAjaxIndicator();
			
			$.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=ZmienDane",
				  {rodzaj_danych : rodzaj_danych},
					  function(data){
						  kontener.html(data);
						  kontener.hideAjaxIndicator();
				  }
			);
			
			return false;
		},
		
		AktualizujDane : function()
		{
			var kontener = $(this).parent().parent();
			var rodzaj_danych = kontener.attr("id");
			kontener.showAjaxIndicator();
			
			// zbieranie danych z formularza
			var dane = {};
			dane.rodzaj_danych = rodzaj_danych;
			
			$('input[type=text],input[type=hidden]', kontener).each(
				function()
				{
					dane[$(this).attr('name')] = $(this).attr('value');
				}
			);
			
			dane['zestaw_danych'] = $('select[name=zestaw_danych]', kontener).val();
			
			
			$.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=ZmienDane",
				dane,
					function(data){
					kontener.html(data);
					kontener.hideAjaxIndicator();
				}
			);
			
			return false;
		},
		
		SprawdzKrok : function()
		{
			var krok = location.href.match(/krok,\d/g);
			var link = $(this).attr('href');
			
			if(krok == null || krok == undefined)
			{
				krok = new Array();
				krok[0] = 'krok,1';
			}
			
			var dane = krok[0].split(",");
			$.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=SprawdzKrok",
				{krok : dane[1]},
				function(data){
					
					$('span').removeClass('errorClass');
					
					if($("status",data).text() == "error")
					{
						var msg = $("msg",data).text();
						
						if($('field', data).length != undefined && $('field', data).length != 0)
						{
							$('field', data).each(
								function()
								{
									var id = $(this).attr('id');
									
									$('#'+id).addClass('errorClass');
									msg += "<br />" + $(this).text();
								}
							);
						}
						
						$('.jq_error_msg').html( msg );
						$('.jq_error_msg').dialog({modal: true,  buttons: {"OK" : function() {$(this).dialog("close");}}});
				    }
				    else
				    {
				    	location.href = link;
				    }
				 }
			);
			
			return false;
		},
		
		WybierzPlatnosc : function()
		{
			var dane = $(this).attr('rel').split("_");
			var channel = '';

			if(dane[1] == 'dotpay')
			{
				daneDotpay =  $(this).attr('id').split("_");
				channel = daneDotpay[1];
			}

			if(dane[1] == 'p24')
			{
				daneP24 =  $(this).attr('id').split("_");
				channel = daneP24[1];
			}
		
			$('div.platnosci-srodek1').showAjaxIndicator();
			$('span').removeClass('errorClass');
			
			$.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=WybierzPlatnosc",
				{platnosc : dane[1], channel: channel},
				function(data){
					Koszyk.Parse(data);
					$('div.platnosci-srodek1').hideAjaxIndicator();
					//$('#jq_zawartosc_platnosci').html(data);
				 }
			);
			
		},
		
		WybierzTransport : function()
		{        
			var wartosc = $(this).attr('value');
			
			if(wartosc == 'personal' || wartosc == 'personal_pobranie')
			{
				if(!$('#transport_peronal_info').is(':visible'))
				{
					$('#transport_peronal_info').show();
				}
			}
			else
			{
				if($('#transport_peronal_info').is(':visible'))
				{
					$('#transport_peronal_info').hide();
				}
			}

			$('#zamowienie').showAjaxIndicator();
			$('span').removeClass('errorClass');

            $.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=WybierzTransport",
                {transport_ogolny: wartosc},
                function(data)
                {
                    Koszyk.Parse(data);
					if(wartosc == 'personal' || wartosc == 'personal_pobranie')
						$('.js-transportinfo').hide();
					else
						$('.js-transportinfo').show();

                    $('#zamowienie').hideAjaxIndicator();
                }
            );

		},
		
		WybierzRegion : function()
		{
			var dane = $(this).attr('id').split("_");
			dane[3] = $(this).val();
			
			$('#zamowienie').showAjaxIndicator();
			$('span').removeClass('errorClass');
			
			$.post(ajaxLinks.zarzadzanie_koszykiem+"?akcja=WybierzRegion",
				{id_projektu : dane[1], id_sklepu : dane[2], region : dane[3]},
				function(data){
					Koszyk.Parse(data);
					$('#zamowienie').hideAjaxIndicator();
				 }
			);
			
			
		},
		
		Parse : function(data)
		{
            
			$("sklep",data).each(
            
				function()
				{
					var id = $(this).attr('id');
					$("#wartosc_brutto_" + id).html( $('wartosc > brutto', this).text() );
					$("#wartosc_netto_" + id).html( $('wartosc > netto', this).text() );
					$("#koszt_dostawy_" + id).html( $('koszt_dostawy > brutto', this).text() );
					$("#suma_" + id).html( $('suma > brutto', this).text() );
				}
			);
			
			$("#suma_zamowienia").html($("suma_zamowienia > brutto", data).text());
            $("#suma_koszty_dostawy").html($("suma_koszty_dostawy > brutto", data).text());
            $("#suma_koszty_produkty").html($("suma_koszty_produkty > brutto", data).text());
		},
		
		XmlCechy : function(xml)
		{
			if (jQuery.browser.msie)
			{
				tmpXml = new Object();
				
				$.each(xml, function(i, val)
				{
					if(val != null)
					{
						var doc = new ActiveXObject('Microsoft.XMLDOM');
						doc.loadXML(val);
						eval('xml.'+i+' = null');
						eval('xml.'+i+' = doc');
					}
					else
					{
						eval('xml.'+i+' = null');
					}
				});
				
			}
			return xml;
		},
		
		WybierzCeche : function(element)
		{
			id = $(this).attr('id');
			idPol = id.split("_");
			
			
			cechaPrzed[idPol[1]] = jQuery.extend(true, {}, cechaPo[idPol[1]]);
			
			if($(this).hasClass('wybrana-cecha'))
			{
				$(this).removeClass('wybrana-cecha');
				eval('cechyWybrane.'+idPol[1]+'.cecha_'+idPol[2]+' = null');
				
				Koszyk.PrzeladujCechy(idPol[1]);
			}
			else if($(this).hasClass('cecha-cos'))
			{
				idTypu = 'cecha_'+idPol[2];
				idTypuZaznaczenie = 'cecha_'+idPol[1]+'_'+idPol[2];
				$('span[id*='+idTypuZaznaczenie+'_]').removeClass('wybrana-cecha');
				
				$(this).addClass('wybrana-cecha');
				
				jQuery.each(eval('cechyWybrane.'+idPol[1]), function(key, val)
				{
					if(key == idTypu)
					{
						eval('cechyWybrane.'+idPol[1]+'.'+key+'="'+idPol[3]+'"');
					}
				});
				
				zestawTestDostepnosci = true;
				Koszyk.PrzeladujCechy(idPol[1]);
				zestawTestDostepnosci = false;
			}
			
			przesunDoZestawu = false;
			$('#jq-zestaw-dodaj-wl-'+idPol[1].substr(1)).click();
			
			$('.cecha-msg').hide();
		},
		
		PrzeladujCechy : function(idProduktu)
		{
			$('#produkt-cena_'+idProduktu).text(eval('cenaDomyslna.'+idProduktu));
			$('#stan_magazynowy_'+idProduktu).text(eval('stanMagazynowyDomyslny.'+idProduktu));
			eval('stanMagazynowyAktualny.'+idProduktu+' = stanMagazynowyDomyslny.'+idProduktu);
			selector = '';
			ilosc = 0;
			ilosc2 = 0;
			
			if(eval('stanMagazynowyAktualny.'+idProduktu) > 0)
			{
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).show();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
			}
			else
			{
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).show();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
			}
			
			jQuery.each(eval('cechyWybrane.'+idProduktu), function(tmpKey, val)
			{
				if(val != null)
				{
					key = tmpKey.split("_");
					
					selector += ',id[val='+key[1]+'_'+val+']';
					
					ilosc++;
				}
				ilosc2++;
			});
			
			if(ilosc2 == ilosc)
			{
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).show();
			}
			
			jQuery.each(eval('cechyWybrane.'+idProduktu), function(key, val)
			{
				tmpKey = key.split("_");
				
				$('span[id*=cecha_'+idProduktu+'_'+tmpKey['1']+'_]').removeClass('aktywna-cecha');
			});
			
			poprawneDane[idProduktu] = '';
			
			if(zestawTestDostepnosci == true)
			{
				cechaPo[idProduktu] = null;
				cechaPo[idProduktu] = new Array();
			}
			
			$('cecha', eval('Koszyk.CechyXml.'+idProduktu)).each
			(
				function()
				{
					iloscElementow = $(selector, this).length;
					
					if(iloscElementow == ilosc)
					{
						if($(this).find('id').length == ilosc)
						{
							cena = $(this).find('cena').text();
							cena = parseFloat(cena);
							//var cena_aktualna = parseFloat(cenaDomyslna[idProduktu]) + cena;
							$('#produkt-cena_'+idProduktu).text( cena.toFixed(2) );

							stanMagazynowy = $(this).find('stan_magazynowy').text();
							
							eval('stanMagazynowyAktualny.'+idProduktu+' = '+stanMagazynowy);

							$('#stan_magazynowy_'+idProduktu).text(stanMagazynowy);
							
							if(stanMagazynowy > 0)
							{
								if(zestawTestDostepnosci == true)
								{
									cechaPo[idProduktu] = jQuery.extend(true, {}, eval('cechyWybrane.'+idProduktu));
								}
								
								$('#jq-dodaj-do-koszyka-'+idProduktu).show();
								$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
							}
							else
							{
								$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).show();
							}
							
							relKoszyk = '';
							
							$(this).find('id').each(function()
								{
									relKoszyk += ','+$(this).text();
								}
							);
							
							poprawneDane[idProduktu] = relKoszyk;
						}
						
						//this to xml
						Koszyk.ZaznaczMozliwe(this, idProduktu);
					}
				}
			);
		},
		
		ZaznaczMozliwe : function(element, idProduktu)
		{
			$(element).find('id').each(function()
			{
				ustawStatusElement = $(this).text();
				$('#cecha_'+idProduktu+'_'+ustawStatusElement).addClass('aktywna-cecha');
			});
		},
		
		WyczyscHover : function(element)
		{
			id = $(this).attr('id');
			idPol = id.split("_");
			idProduktu = idPol[1];
			
			jQuery.each(eval('cechyWybraneHover.'+idProduktu), function(key, val)
			{
				eval('cechyWybraneHover.'+idProduktu+'.'+key+'=null');
			});
			
			$('span[id*=cecha_]').removeClass('wybrana-cecha-hover');
			Koszyk.PrzeladujCechyHover(idProduktu);
			Koszyk.PrzeladujCechy(idProduktu);
		},
		
		WybierzCecheHover : function(element)
		{
			id = $(this).attr('id');
			idPol = id.split("_");
			
			idProduktu = idPol[1];
			idTypu = 'cecha_'+idPol[2];
			idTypuZaznaczenie = 'cecha_'+idProduktu+'_'+idPol[2];
			
			jQuery.each(eval('cechyWybrane.'+idProduktu), function(key, val)
			{
				eval('cechyWybraneHover.'+idProduktu+'.'+key+'=null');
			});
			
			$('span[id*='+idTypuZaznaczenie+'_]').removeClass('wybrana-cecha-hover');
			$(this).addClass('wybrana-cecha-hover');
			
			
			jQuery.each(eval('cechyWybraneHover.'+idProduktu), function(key, val)
			{
				if(key == idTypu)
				{
					eval('cechyWybraneHover.'+idProduktu+'.'+key+'="'+idPol[3]+'"');
				}
			});
		},
		
		PrzeladujCechyHover : function(idProduktu)
		{
			$('#produkt-cena_'+idProduktu).text(eval('cenaDomyslna.'+idProduktu));
			$('#stan_magazynowy_'+idProduktu).text(eval('stanMagazynowyDomyslny.'+idProduktu));
			eval('stanMagazynowyAktualny.'+idProduktu+' = stanMagazynowyDomyslny.'+idProduktu);
			selector = '';
			ilosc = 0;
			ilosc2 = 0;
			
			if(eval('stanMagazynowyAktualny.'+idProduktu) > 0)
			{
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).show();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
			}
			else
			{
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).show();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
			}
			
			jQuery.each(eval('cechyWybraneHover.'+idProduktu), function(tmpKey, val)
			{
				if(val != null)
				{
					key = tmpKey.split("_");
					
					selector += ',id[val='+key[1]+'_'+val+']';
					
					ilosc++;
				}
				ilosc2++;
			});
			
			if(ilosc2 == ilosc)
			{
				$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
				$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).show();
			}
			
			jQuery.each(eval('cechyWybraneHover.'+idProduktu), function(key, val)
			{
				tmpKey = key.split("_");
				
				$('span[id*=cecha_'+idProduktu+'_'+tmpKey['1']+'_]').removeClass('aktywna-cecha');
			});
			
			poprawneDane[idProduktu] = '';
			
			$('cecha', eval('Koszyk.CechyXml.'+idProduktu)).each
			(
				function()
				{
					iloscElementow = $(selector, this).length;
					
					if(iloscElementow == ilosc)
					{
						if($(this).find('id').length == ilosc)
						{
							cena = $(this).find('cena').text();
							cena = parseFloat(cena);
							//var cena_aktualna = parseFloat(cenaDomyslna[idProduktu]) + cena;
							$('#produkt-cena_'+idProduktu).text( cena.toFixed(2) );
							
							stanMagazynowy = $(this).find('stan_magazynowy').text();
							eval('stanMagazynowyAktualny.'+idProduktu+' = '+ stanMagazynowy);
							
							$('#stan_magazynowy_'+idProduktu).text(stanMagazynowy);
							
							if(stanMagazynowy > 0)
							{
								$('#jq-dodaj-do-koszyka-'+idProduktu).show();
								$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).hide();
							}
							else
							{
								$('#jq-dodaj-do-koszyka-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-wybierz-'+idProduktu).hide();
								$('#jq-dodaj-do-koszyka-niedostepne-'+idProduktu).show();
							}
						}
						
						Koszyk.ZaznaczMozliwe(this, idProduktu);
					}
				}
			);
		},
		
		DodajDoKoszykaPorownanie : function ()
		{
			tmpDane = $(this).attr('rel').split(',');
			
			eval('daneTest = Koszyk.CechyXml.p'+tmpDane[2]);
			testCech = (typeof(daneTest) == 'undefined');
			
			if(testCech == true)
			{
				$.post(ajaxLink,
					{
						id_projektu: tmpDane[1],
						id_produktu: tmpDane[2],
						cechy: poprawneDane['p'+tmpDane[2]]
					},
					function(data)
					{
						$("#jq-produkt-cechy-"+tmpDane[2]).dialog('close');
						
						var info = data.split('####');
						$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]+' .dane-porownanie-popup div').html(info['0']);
						
						$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]).dialog({
							modal: true,
							title: porownanieDodanyDoKoszykaTytul,
							autoOpen: true,
							width: 450,
							buttons: {
								"OK": function() {$(this).dialog("close");}
							}
						});
					}
				);
			}
			else
			{
				przyciski = new Object();
				przyciski[porownanieDodajDoKoszykaWroc] = function() {$(this).dialog("close")};
				przyciski[porownanieDodajDoKoszykaDodaj] = function()
				{
					if(poprawneDane['p'+tmpDane[2]])
					{
						//jezeli stan magazynowy danego produktu wiekszy od 0 to dodaje jak nie to komunikat o dostepnosci
						if(eval('stanMagazynowyAktualny.p'+tmpDane[2]) > 0)
						{
							$.post(ajaxLink,
								{
									id_projektu: tmpDane[1],
									id_produktu: tmpDane[2],
									cechy: poprawneDane['p'+tmpDane[2]]
								},
								function(data)
								{
									$("#jq-produkt-cechy-"+tmpDane[2]).dialog('close');
									
									var info = data.split('####');
									$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]+' .dane-porownanie-popup div').html(info['0']);
									
									$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]).dialog({
										modal: true,
										title: porownanieDodanyDoKoszykaTytul,
										autoOpen: true,
										width: 450,
										buttons: {
											"OK": function() {$(this).dialog("close");}
										}
									});
								}
							);
						}
						else
						{
							//tu modal dialog ze produkt niedostepny
							$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').html(porownanieDodajDoKoszykaNiedostepny);
							$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').show();
							setTimeout(function(){$("#jq-produkt-cechy-"+tmpDane[1]+' .dane-porownanie-popup-komunikat').fadeOut('slow')}, 3000);
						}
					}
					else
					{
						//wybierz cechy
						$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').html(porownanieDodajDoKoszykaNiedostepny);
						$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').show();
						setTimeout(function(){$("#jq-produkt-cechy-"+tmpDane[1]+' .dane-porownanie-popup-komunikat').fadeOut('slow')}, 3000);
					}
					
				};
						
				//trzeba wybrać jakieś cechy
				$("#jq-produkt-cechy-"+tmpDane[2]).dialog({
					modal: true,
					title: porownanieDodajDoKoszykaTytul,
					autoOpen: true,
					width: 450,
					buttons: przyciski
				});
			}
			
		},
		
		
		DodajDoKoszykaModul : function ()
		{
			tmpDane = $(this).attr('rel').split(',');
			
			eval('daneTest = Koszyk.CechyXml.p'+tmpDane[2]);
			testCech = (typeof(daneTest) == 'undefined');
			
			if(testCech == true)
			{
				$('#koszyk').showAjaxIndicator();
				
				$.post(ajaxLinks.dodaj_produkt_link,
					{
						id_projektu: tmpDane[1],
						id_produktu: tmpDane[2],
						cechy: poprawneDane['p'+tmpDane[2]]
					},
					function(data)
					{
						$("#jq-produkt-cechy-"+tmpDane[2]).dialog('close');
						
						var info = data.split('####');
						$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]+' .dane-porownanie-popup div').html(info['0']);
						
						$('#koszyk').html(info[3]);
						$('#koszyk').hideAjaxIndicator();
						
						$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]).dialog({
							modal: true,
							title: porownanieDodanyDoKoszykaTytul,
							autoOpen: true,
							width: 450,
							buttons: {
								"OK": function() {$(this).dialog("close");}
							}
						});
					}
				);
			}
			else
			{
				przyciski = new Object();
				przyciski[porownanieDodajDoKoszykaWroc] = function() {$(this).dialog("close")};
				przyciski[porownanieDodajDoKoszykaDodaj] = function()
				{
					if(poprawneDane['p'+tmpDane[2]])
					{
						//jezeli stan magazynowy danego produktu wiekszy od 0 to dodaje jak nie to komunikat o dostepnosci
						if(eval('stanMagazynowyAktualny.p'+tmpDane[2]) > 0)
						{
							$('#koszyk').showAjaxIndicator();
							
							$.post(ajaxLinks.dodaj_produkt_link,
								{
									id_projektu: tmpDane[1],
									id_produktu: tmpDane[2],
									cechy: poprawneDane['p'+tmpDane[2]]
								},
								function(data)
								{
									$("#jq-produkt-cechy-"+tmpDane[2]).dialog('close');
									
									var info = data.split('####');
									$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]+' .dane-porownanie-popup div').html(info['0']);
									
									$('#koszyk').html(info[3]);
									$('#koszyk').hideAjaxIndicator();
									
									$("#jq-porownanie-koszyk-dodany-"+tmpDane[2]).dialog({
										modal: true,
										title: porownanieDodanyDoKoszykaTytul,
										autoOpen: true,
										width: 450,
										buttons: {
											"OK": function() {$(this).dialog("close");}
										}
									});
								}
							);
						}
						else
						{
							//tu modal dialog ze produkt niedostepny
							$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').html(porownanieDodajDoKoszykaNiedostepny);
							$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').show();
							setTimeout(function(){$("#jq-produkt-cechy-"+tmpDane[1]+' .dane-porownanie-popup-komunikat').fadeOut('slow')}, 3000);
						}
					}
					else
					{
						//wybierz cechy
						$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').html(porownanieDodajDoKoszykaNiedostepny);
						$("#jq-produkt-cechy-"+tmpDane[2]+' .dane-porownanie-popup-komunikat').show();
						setTimeout(function(){$("#jq-produkt-cechy-"+tmpDane[1]+' .dane-porownanie-popup-komunikat').fadeOut('slow')}, 3000);
					}
					
				};
						
				//trzeba wybrać jakieś cechy
				$("#jq-produkt-cechy-"+tmpDane[2]).dialog({
					modal: true,
					title: porownanieDodajDoKoszykaTytul,
					autoOpen: true,
					width: 450,
					buttons: przyciski
				});
			}
			
		},
	
	WybierzCechyZestaw : function()
	{
		tmpDane = $(this).attr('rel').split(',');
		test = true;
		przyciskiZestaw = new Object();
		przyciskiZestaw[zestawWybierzCechyWroc] = function() {$(this).dialog("close")};
		przyciskiZestaw[zestawWybierzCechyZatwierdz] = function()
		{
			
			$.each(zestawWybraneCechy, function(mainIndex, mainVal)
			{
				mainIndexWithoutP = mainIndex.substr(1);
				
				if(poprawneDane[mainIndex])
				{
					//jezeli stan magazynowy danego produktu wiekszy od 0 to dodaje jak nie to komunikat o dostepnosci
					if(eval('stanMagazynowyAktualny.'+mainIndex) > 0)
					{
						test2 = false;
						//wybór cech dla produktów wchodzących wskład zestawu
						eval('zestawWybraneCechy.'+mainIndex+' = poprawneDane["'+mainIndex+'"].substr(1)');
						
						$.each(zestawWybraneCechy, function(index, val){
							if(val == null)
							{
								test = false;
							}
							else
							{
								test2 = true;
								test = true;
							}
						});
						
						$.each(zestawStanMagazynowy, function(index, val)
						{
							if(!(val > 0))
							{
								test = false;
							}
							else
							{
								test = true;
								test2 = true;
							}
						});
						
						if(test2 == true)
						{
							$("#jq-produkt-cechy-"+mainIndexWithoutP+" .dane-porownanie-popup-komunikat").hide();
						}
					}
					else
					{
						test = false;
						//tu modal dialog ze produkt niedostepny
						$("#jq-produkt-cechy-"+mainIndexWithoutP+' .dane-porownanie-popup-komunikat').html(zestawWybierzCechyNiedostepny);
						$("#jq-produkt-cechy-"+mainIndexWithoutP+' .dane-porownanie-popup-komunikat').show();
					}
				}
				else
				{
					test = false;
					//wybierz cechy
					$("#jq-produkt-cechy-"+mainIndexWithoutP+' .dane-porownanie-popup-komunikat').html(zestawWybierzCechyNiedostepny);
					$("#jq-produkt-cechy-"+mainIndexWithoutP+' .dane-porownanie-popup-komunikat').show();
				}
			});
			
			if(test == false)
			{
				$('#jq-wybierz-cechy-zestawu').show();
				$('#jq-dodaj-do-koszyka-zestaw').hide();
			}
			else
			{
				$('#jq-wybierz-cechy-zestawu').hide();
				$('#jq-dodaj-do-koszyka-zestaw').show();
				$(".dane-porownanie-popup-komunikat").hide();
				$(this).dialog("close");
			}
			
		};
				
		//trzeba wybrać jakieś cechy
		$("#jq-produkt-cechy-zestaw").dialog({
			modal: true,
			title: zestawWybierzCechyTytul,
			autoOpen: true,
			width: 900,
			buttons: przyciskiZestaw
		});
	},
	
	DodajProduktZestaw : function()
	{
		zamknij = 'Ok';
		
		test = true;
		
		if(wrocDoGaleriiLang  != "undefined" && wrocDoGaleriiLang != '')
		{
			zamknij = wrocDoGaleriiLang;
		}
		
		var przyciskiLang = {};
		
		przyciskiLang[zamknij] = function() {$(this).dialog('close');};
		
		if(typeof(ajaxLinks) != "undefined" && typeof(ajaxLinks.dodaj_produkt_link) != "undefined")
		{
			cechyProduktu = new String();
			$.each(zestawWybraneCechy, function(index, val){
				if(val == null || val == '')
				{
					test = false;
				}
				else
				{
					cechyProduktu += index.substr(1)+':'+val+'|';
				}
			});
			
			if(test == true)
			{
				$('#koszyk').showAjaxIndicator();
				
				dane = $(this).attr('rel').split(",");
				$.post(ajaxLinks.dodaj_produkt_link,
					{
						id_projektu: dane[1],
						id_produktu: dane[2],
						zestawCechy: cechyProduktu
					},
					function(data){
					
					  //$('#koszyk').html(data);
					$('#DodajProduktInfo').html(zdjecieKomunikat);
					  var info = data.split('####');
					  $('#koszyk').html(info[3]);
					  przyciskiLang[info[1]] = function() {location.href=info[2];};
					  $('#DodajProduktInfo').append(info[0]);
					  $('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
					  $('#koszyk').hideAjaxIndicator();
					}
				);
			}
			else
			{
				$('#DodajProduktInfo').html(zdjecieKomunikat);
				$('#DodajProduktInfo').append(wybierzCechy);
				$('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
			}
		}
		else
		{
			alert('brak linku ajaxLinks.dodaj_produkt_link');
		}
		
		return false;
	},
	
	KartaWybierzCechyZestaw : function()
	{
		tmpDane = $(this).attr('rel').split(',');
		idProduktu = tmpDane['1'];
		
		//wybrane cechy
		kartaWybraneCechyTest = eval('cechyWybrane.p'+idProduktu);
		//cechy dla danego produktu
		kartaCechyXmlTest = eval('Koszyk.CechyXml.p'+idProduktu);
		
		kartaKomunikatu = false;
		ilosc = 0;
		ilosc2 = 0;
		selector = '';
		$.each(kartaWybraneCechyTest, function(tmpKey, val)
		{
			if(val != null)
			{
				key = tmpKey.split("_");
				
				selector += ',id[val='+key[1]+'_'+val+']';
				
				ilosc++;
			}
			ilosc2++;
		});
		
		$('#jq-produkt-cechy-wybrane-'+idProduktu).html('');
		$('#jq-produkt-cechy-dostepny-'+idProduktu).hide();
		$('#jq-produkt-cechy-niedostepny-'+idProduktu).hide();
		$('#jq-produkt-cechy-wybierz-cechy-'+idProduktu).show();
		
		$('cecha', kartaCechyXmlTest).each
		(
			function()
			{
				iloscElementow = $(selector, this).length;
				
				if(iloscElementow == ilosc)
				{
					if($(this).find('id').length == ilosc)
					{
						stanMagazynowyTest = parseInt($(this).find('stan_magazynowy').text());
						tmpDane = '';
						$('#jq-produkt-cechy-dostepny-'+idProduktu).hide();
						$('#jq-produkt-cechy-niedostepny-'+idProduktu).hide();
						$('#jq-produkt-cechy-wybierz-cechy-'+idProduktu).hide();
						
						$('#jq-produkt-cechy-wybrane-'+idProduktu).html('');
						
						if(stanMagazynowyTest > 0)
						{
							$(this).find('id').each(function()
								{
									tmpDane += ','+$(this).text();
									doDodania = $('#cecha_p'+idProduktu+'_'+$(this).text()).clone();
									$(doDodania).removeAttr('id');
									$(doDodania).removeAttr('class');
									
									$('#jq-produkt-cechy-wybrane-'+idProduktu).append(doDodania);
									$('#jq-produkt-cechy-dostepny-'+idProduktu).show();
								}
							);
							
							eval('kartaZestawCechyWybrane.p'+idProduktu+' = tmpDane');
							$('#jq-produkt-cechy-'+idProduktu).parent().removeClass('karta-zaznacz-cechy');
							kartaKomunikatu = true;
						}
						else
						{
							$('#jq-produkt-cechy-wybrane-'+idProduktu).html('');
							$('#jq-produkt-cechy-dostepny-'+idProduktu).hide();
							$('#jq-produkt-cechy-wybierz-cechy-'+idProduktu).hide();
							$('#jq-produkt-cechy-niedostepny-'+idProduktu).show();
						}
					}
				}
			}
		);
		
		
		Koszyk.ZestawZmienStanMagazynowy('p'+idProduktu);
		
		if(kartaKomunikatu == false)
		{
			$('#jq-produkt-cechy-wybrane-'+idProduktu).html('');
			eval('kartaZestawCechyWybrane.p'+idProduktu+' = null');
		}
		
		if($('#jq-produkt-cechy-wybrane-'+idProduktu).html() == '')
		{
			tmpHtmlTest = null;
			tmpHtmlTest = $('#jq-produkt-cechy-'+idProduktu+' .wybrana-cecha').clone();
			
			$('#jq-produkt-cechy-wybrane-'+idProduktu).append(tmpHtmlTest);
			
			if(tmpHtmlTest.length > 0)
			{
				$('#jq-produkt-cechy-dostepny-'+idProduktu).hide();
				$('#jq-produkt-cechy-wybierz-cechy-'+idProduktu).hide();
				$('#jq-produkt-cechy-niedostepny-'+idProduktu).show();
			}
			else
			{
				$('#jq-produkt-cechy-dostepny-'+idProduktu).hide();
				$('#jq-produkt-cechy-wybierz-cechy-'+idProduktu).show();
				$('#jq-produkt-cechy-niedostepny-'+idProduktu).hide();
			}
			
		}
		
		testPrzyciski = true;
		$.each(kartaZestawCechyWybraneKolejnosc, function(index, val)
		{
			eval('wartosc = kartaZestawCechyWybrane.'+val);
			if((wartosc == null || wartosc == '') && testPrzyciski == true)
			{
				przejdzDoElement = val.substr(1);
				testPrzyciski = false;
			}
		});
		
		if(testPrzyciski == false)
		{
			$('#jq-wybierz-cechy-zestawu').show();
			$('#jq-wybierz-cechy-zestawu2').show();
			$('#jq-dodaj-do-koszyka-zestaw').hide();
			$('#jq-dodaj-do-koszyka-zestaw2').hide();
			
			if(kartaKomunikatu == true && przesunDoZestawu == true)
				$('html,body').animate({scrollTop: $('#jq-produkt-cechy-'+przejdzDoElement).parent().offset().top}, 'slow');
			
		}
		else
		{
			$('#jq-wybierz-cechy-zestawu').hide();
			$('#jq-wybierz-cechy-zestawu2').hide();
			$('#jq-dodaj-do-koszyka-zestaw').show();
			$('#jq-dodaj-do-koszyka-zestaw2').show();
		}
		
		przesunDoZestawu = true;
		
	},
	
	KartaDodajZestawDoKoszyka : function()
	{
		zamknij = 'Ok';
		
		test = true;
		przejdzDoElement = null;
		
		if(wrocDoGaleriiLang  != "undefined" && wrocDoGaleriiLang != '')
		{
			zamknij = wrocDoGaleriiLang;
		}
		
		var przyciskiLang = {};
		
		przyciskiLang[zamknij] = function() {$(this).dialog('close');};
		
		if(typeof(ajaxLinks) != "undefined" && typeof(ajaxLinks.dodaj_produkt_link) != "undefined")
		{
			cechyProduktu = new String();
			$.each(kartaZestawCechyWybrane, function(index, val)
			{
				if(val == null || val == '')
				{
					przejdzDoElement = index.substr(1);
					test = false;
				}
				else
				{
					cechyProduktu += index.substr(1)+':'+val+'|';
				}
			});
			
			if(test == true)
			{
				$('#koszyk').showAjaxIndicator();
				
				dane = $(this).attr('rel').split(",");
				$.post(ajaxLinks.dodaj_produkt_link,
					{
						id_projektu: dane[1],
						id_produktu: dane[2],
						zestawCechy: cechyProduktu
					},
					function(data){
					
					  //$('#koszyk').html(data);
					$('#DodajProduktInfo').html(zdjecieKomunikat);
					  var info = data.split('####');
					  $('#koszyk').html(info[3]);
					  przyciskiLang[info[1]] = function() {location.href=info[2];};
					  $('#DodajProduktInfo').append(info[0]);
					  $('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
					  $('#koszyk').hideAjaxIndicator();
					}
				);
			}
			else
			{
				$('html,body').animate({scrollTop: $('#jq-produkt-cechy-'+przejdzDoElement).parent().offset().top}, 'slow')
				
				$('#DodajProduktInfo').html(zdjecieKomunikat);
				$('#DodajProduktInfo').append(wybierzCechy);
				$('#DodajProduktInfo').dialog({title: tekstKomunikat, width: 450, modal: true,  buttons: przyciskiLang});
			}
		}
		else
		{
			alert('brak linku ajaxLinks.dodaj_produkt_link');
		}
		
		return false;
	},
	
	PrzejdzDoCechProduktu: function()
	{
		przejdzDoElement = null;
		
		test = false;
		doPojedynczego = false;
		
		$.each(kartaZestawCechyWybrane, function(index, val)
		{
			if(val == null || val == '')
			{
				if(test == false)
				{
					test = true;
					przejdzDoElement = index.substr(1);
				}
			}
			else
			{
				doPojedynczego = true;
			}
		});
		
		if(doPojedynczego == true)
		{
			$('#jq-produkt-cechy-zestaw .karta-zestaw-fix').removeClass('karta-zaznacz-cechy');
			$('#jq-produkt-cechy-'+przejdzDoElement).parent().addClass('karta-zaznacz-cechy');
			$('html,body').animate({scrollTop: $('#jq-produkt-cechy-'+przejdzDoElement).parent().offset().top}, 'slow');
		}
		else
		{
			$('html,body').animate({scrollTop: $('#jq-produkt-cechy-zestaw').offset().top}, 'slow');
		}
	},
	
	ZestawZmienStanMagazynowy: function(idProduktu)
	{
		ilosc = 0;
		selector = '';
		
		$.each(cechaPrzed[idProduktu], function(tmpKey, val)
		{
			if(val != null)
			{
				key = tmpKey.split("_");
				
				selector += ',id[val='+key[1]+'_'+val+']';
				
				ilosc++;
			}
		});
						
		if(selector != '')
		{
			$.each(Koszyk.CechyXml, function(prodIndex, prodVal)
			{
				var tmpXml = $(prodVal);
				
				$('cecha', tmpXml).each
				(
					function(cechaIndex, cechaVal)
					{
						iloscElementow = $(selector, cechaVal).length;
						if(iloscElementow == ilosc)
						{
							
							if($(cechaVal).find('id').length == ilosc)
							{
								stanMagazynowyTest = parseInt($(cechaVal).find('stan_magazynowy').text());
								tmpWart = stanMagazynowyTest+1;

								$(cechaVal, tmpXml).find('stan_magazynowy').text(tmpWart);
								eval('Koszyk.CechyXml.'+prodIndex+' = Koszyk.XmlCecha(tmpXml.serializeXML())');
							}
						}
					}
				);
			});
		}
		
		ilosc = 0;
		selector = '';
		
		$.each(cechaPo[idProduktu], function(tmpKey, val)
		{
			if(val != null)
			{
				key = tmpKey.split("_");
				
				selector += ',id[val='+key[1]+'_'+val+']';
				
				ilosc++;
			}
		});
		
		if(selector != '')
		{
			$.each(Koszyk.CechyXml, function(prodIndex, prodVal)
			{
				var tmpXml = $(prodVal);
				
				$('cecha', tmpXml).each
				(
					function(cechaIndex, cechaVal)
					{
						iloscElementow = $(selector, cechaVal).length;
						if(iloscElementow == ilosc)
						{
							if($(cechaVal).find('id').length == ilosc)
							{
								stanMagazynowyTest = parseInt($(cechaVal).find('stan_magazynowy').text());
								tmpWart = stanMagazynowyTest-1;

								$(cechaVal, tmpXml).find('stan_magazynowy').text(tmpWart);
								eval('Koszyk.CechyXml.'+prodIndex+' = Koszyk.XmlCecha(tmpXml.serializeXML())');
							}
						}
					}
				);
			});
		}
	},
	
	XmlCecha : function(xml)
	{
		if (jQuery.browser.msie)
		{
			var doc = new ActiveXObject('Microsoft.XMLDOM');
			doc.loadXML(xml);
			xml = doc;
		}
		return xml;
	}
};


$(document).ready(function()
{
	Koszyk.Init();
});
