
	function CartPM(cid, mode)
	{
		var elem, val, val2;

		elem=GO('cart-total-' + cid);

		val=Math.abs(elem.value);

		if(mode == 2)
		{
			if(val == CP['total'][cid])
			{
				alert('end');
				return;
			}

			val2=val;
			val=CP['total'][cid];
		}

		CP['total_before'][cid]=val;

		if(isNaN(val)) val=1;

		if(mode == 2)
		{
			val=val2;
		}
		else if(mode)
		{
			val-=1;
		}
		else
		{
			val+=1;
		}

		if(val < 0) val=0;

		if(val == 0)
		{
			elem.style.color='silver';
			elem.style.fontWeight='normal';
		}
		else
		{
			elem.style.color='black';
			elem.style.fontWeight='bold';
		}

		elem.value=val;

		CP['total'][cid]=val;

		Cart_Price(cid);

		return val;
	}



	var CP=Array();
	CP['ids']=Array();
	CP['total']=Array();
	CP['total_before']=Array();
	CP['price']=Array();
	CP['price_wo']=Array();

	function Cart_Price(cidz)
	{
		var cid, sum=0, sum_wo=0;

		for(key in CP['ids'])
		{
			cid=CP['ids'][key];

			if(cid == cidz)
			{
				if(CP['total_before'][cid] != CP['total'][cid])
				{
					SL('cartsl-' + cid, '/sl/cart/total/' + cid + '/' + CP['total'][cid] + '/');
					PriceF('cart-price-' + cid, CP['price'][cid] * CP['total_before'][cid], CP['price'][cid] * CP['total'][cid]);
				}
			}
			else
			{
				//GO('cart-price-' + cid).innerHTML=Price(CP['price'][cid] * CP['total'][cid]);
			}

			sum+=CP['price'][cid] * CP['total'][cid];
			sum_wo+=CP['price_wo'][cid] * CP['total'][cid];
		}

		PriceF('cart-sum-price', CP['sum'], sum);
		PriceF('cart-sum-price-wo', CP['sum_wo'], sum_wo);

		CP['sum']=sum;
		CP['sum_wo']=sum_wo;
	}


	var PriceFR=Array();
	PriceFR['run']=Array();
	PriceFR['stop']=Array();

	function PriceF(id, before, after)
	{
		if(PriceFR['run'][id])
		{
			PriceFR['stop'][id]=true;
		}

		PriceFR['run'][id]=true;

		setTimeout("PriceFG('" + id + "', " + before + ", " + after + ")", 50);
	}



	function PriceFG(id, before, after)
	{
		var roz;

		if(PriceFR['stop'][id])
		{
			PriceFR['stop'][id]=false;
			return;
		}

		if(after > before)
		{
			roz=(after - before) / 5;
			roz=(roz < 1) ? 1 : roz;
			before=before + roz;

			if(before >= after)
			{
				GO(id).innerHTML=Price(after);
				PriceFR['run'][id]=false;
				return;
			}
		}
		else if(after < before)
		{
			roz=(before - after) / 5;
			roz=(roz < 1) ? 1 : roz;
			before=before - roz;

			if(before <= after)
			{
				GO(id).innerHTML=Price(after);
				PriceFR['run'][id]=false;
				return;
			}
		}

		GO(id).innerHTML=Price(before);

		setTimeout("PriceFG('" + id + "', " + before + ", " + after + ")", 10);
	}



	function Cart_Submit(step)
	{
		GO('cart-fix').name='cart[nstep][' + step + ']';
		GO('fcart').submit();
	}





	function TDP(mode, value, setdeli)
	{
		var state, delivery, payment, test=Array(), key=Array(), price, price_free, price_html, t, nextsetdeli, nextdeli;

		switch(mode)
		{
			case 1:
				if(!setdeli && (Transport['state'] != value))
				{
					nextsetdeli=true;
				}

				Transport['state']=value;

				GO('transport-radio-' + Transport['state']).checked=true;

				for(key['delivery'] in Transport['all']['delivery'])
				{
					var i=0;
					var onlypays=Array();
					t=Transport['all']['delivery'][key['delivery']];

					for(key['payment'] in Transport['active'][Transport['state']])
					{
						if(Transport['active'][Transport['state']][key['payment']][t])
						{
							if(!nextdeli)
							{
								nextdeli=t;
							}

							onlypays[i++]=Transport['names'][key['payment']];
						}
					}

					if(onlypays.length)
					{
						GO('transport-onlypay-' + t).innerHTML='<em>' + Transport['texty']['pouze'] + ':</em> <span>' + onlypays.join(', ') + '</span>';

						CCO('transport-line-' + t, 100);
						CCS('transport-name-' + t, 'textDecoration', 'none');
						GO('transport-radio-' + t).disabled=false;
					}
					else
					{
						GO('transport-onlypay-' + t).innerHTML=Transport['texty']['nelze'];

						CCO('transport-line-' + t, 30);
						CCS('transport-name-' + t, 'textDecoration', 'line-through');
						GO('transport-radio-' + t).disabled=true;
					}
				}

				if(nextsetdeli)
				{
					GO('transport-radio-' + nextdeli).checked=true;
					TDP(2, nextdeli);
					return;
				}
				break;

			case 2:
				Transport['delivery']=value;
				delivery=value;

				if(!setdeli)
				{
					for(key['payment'] in Transport['all']['payment'])
					{
						payment=Transport['all']['payment'][key['payment']];

						if(!Transport['active'][Transport['state']] && !Transport['active'][Transport['state']][Transport['payment']][delivery] && Transport['active'][Transport['state']][payment][delivery])
						{
							Transport['payment']=payment;
							GO('transport-radio-' + Transport['payment']).checked=true;
						}

						if(Transport['active'][Transport['state']][payment] && Transport['active'][Transport['state']][payment][delivery])
						{
							CCO('transport-line-' + payment, 100);
							CCS('transport-name-' + payment, 'textDecoration', 'none');

							var elef=GO('transport-radio-' + payment);

							if(elef)
							{
								elef.disabled=false;
							}
						}
						else
						{

							CCO('transport-line-' + payment, 30);
							CCS('transport-name-' + payment, 'textDecoration', 'line-through');

							var elef=GO('transport-radio-' + payment);

							if(elef)
							{
								elef.disabled=true;
							}
						}
					}
				}
				break;

			case 3:
				Transport['payment']=value;

				TDP(2, Transport['delivery'], setdeli);

				return;
				break;
		}


		for(key['delivery'] in Transport['all']['delivery'])
		{
			delivery=Transport['all']['delivery'][key['delivery']];

			if(Transport['active'][Transport['state']][Transport['payment']] && Transport['active'][Transport['state']][Transport['payment']][delivery])
			{
				price=Transport['active'][Transport['state']][Transport['payment']][delivery]['price'];
				price_free=Transport['active'][Transport['state']][Transport['payment']][delivery]['price_free'];

				if(!price || (Transport['sum'] > price_free))
				{
					//price_html='<strong>' + Transport['texty']['zdarma'] + '</strong>';
					price_html=Transport['texty']['zdarma'];
				}
				else
				{
					if(Transport['mena'] == 2)
					{
						price=Math.ceil((price / Transport['kurz']) * 100) / 100;
					}

					//price_html=Transport['texty']['cena'] + ': <strong>' + price + ' ' + Transport['texty']['mena_' + Transport['mena']] + '</strong>';
					price_html='+ ' + price + ' ' + Transport['texty']['mena_' + Transport['mena']];
				}
			}
			else if(!GO('transport-radio-' + delivery).disabled)
			{
				//price_html='<strong>' + Transport['texty']['zdarma'] + '</strong>';
				price_html=Transport['texty']['zdarma'];
			}
			else
			{
				price_html='';
			}

			GO('transport-price-' + delivery).innerHTML=price_html;
		}

		for(key['payment'] in Transport['all']['payment'])
		{
			payment=Transport['all']['payment'][key['payment']];

			//if((payment == Transport['payment']) && Transport['active'][Transport['state']][payment][Transport['delivery']])
			if(Transport['active'][Transport['state']][payment] && Transport['active'][Transport['state']][payment][Transport['delivery']])
			{
				price=Transport['payment_price'][Transport['state']][payment];
				price_free=Transport['active'][Transport['state']][payment][Transport['delivery']]['price_free'];

				if(!price || (Transport['sum'] > price_free))
				{
					price_html=Transport['texty']['zdarma'];
				}
				else
				{
					if(Transport['mena'] == 2)
					{
						price=Math.ceil((price / Transport['kurz']) * 100) / 100;
					}

					price_html='+ ' + price + ' ' + Transport['texty']['mena_' + Transport['mena']];
				}

			}
			else if(!GO('transport-radio-' + payment).disabled)
			{
				price_html=Transport['texty']['zdarma'];
			}
			else
			{
				price_html='';
			}

			GO('payment-price-' + payment).innerHTML=price_html;
		}
	}



	function TDP_Go(state, delivery, payment, setdeli)
	{
		if(GO('transport-line-' + state))
		{
			TDP(1, state, setdeli);
			TDP(2, delivery, setdeli);
			TDP(3, payment, setdeli);
		}
		else
		{
			setTimeout('TDP_Go(' + state + ', ' + delivery + ', ' + payment + ', ' + setdeli + ')', 10);
		}
	}


	function Carh(mode)
	{
		GO('carh-input-' + mode).checked=(GO('carh-' + mode).style.display == 'block') ? false : true;
		BHV('carh-' + mode, false, 15);
	}



	function Cart_Del(cid)
	{
		if(confirm('Opravdu odstranit?'))
		{
			GO('cart-del').value=cid;
			GO('fcart').submit();
		}
	}



	function Price(price)
	{
		var d, i, e, rst='';

		price=String(Math.ceil(price));
		d=price.length;

		for(i=d, e=0; i>0; i--)
		{
			if(!(e++ % 3))
			{
				rst=' ' + rst;
			}

			rst=price.substr([i-1], 1) + rst;
		}

		rst+=' Kč';

		return rst;
	}

