Shopping = {
	init: function(shipping_fees, gross_price_with_discounts, is_shipping_free) {
		this.shipping_fees = shipping_fees;
		this.gross_price_with_discounts = gross_price_with_discounts;
		this.is_shipping_free = is_shipping_free;
		this.set_up();
	},

	set_up: function() {
		$(function() {
			$('input:radio[name="basket[payment]"]').change(function() {
				Shopping.update_shipping_fees();
				Shopping.update_total_price();
			});

			$('input:radio[name="basket[shipping]"]').change(function() {
				Shopping.update_total_price();
			});
		});
	},

	update_shipping_fees: function() {
		var payment = this.selected_payment();
		$('#shipping_fee_ups').text(currency(this.shipping_fees.ups[payment]));
		$('#shipping_fee_pp').text(currency(this.shipping_fees.pp[payment]));
		$('#shipping_fee_self').text(currency(this.shipping_fees.self[payment]));
	},

	update_total_price: function() {
		var payment = this.selected_payment();
		var shipping = this.selected_shipping();
		var amount = this.gross_price_with_discounts + this.shipping_fees[shipping][payment];

		if (shipping == 'self') {
			$('tr.discount_free_shipping').addClass('disabled');
		} else {
			$('tr.discount_free_shipping').removeClass('disabled');

			var is_shipping_free = this.is_shipping_free && shipping == 'ups';

			var img = is_shipping_free ? 'tick' : 'untick';
			var alt = is_shipping_free ? '[V]' : '[X]';

			$('span.is_shipping_free img').attr('src', '/grafika/' + img + '.png').attr('alt', alt);
		}

		$('p.total_price em').text(currency(amount));
	},

	selected_payment: function() {
		return $('input:radio[name="basket[payment]"]:checked').val();
	},

	selected_shipping: function() {
		return $('input:radio[name="basket[shipping]"]:checked').val();
	}
};

Lightbox = {
	init: function() {
		$.Lightbox.construct({
			show_linkback: false,
			show_helper_text: false,
			download_link: false,
			show_info: true,
			show_extended_info: true,
			speed: 100,
			text: {
				image: 'Obraz',
				of: 'z',
				close: 'Zamknij',
				closeInfo: ''
			}
		});

		this.set_up_slideshow();
	},

	set_up_slideshow: function() {
		$(function() {
			$('div.photos').cycle({
				speed: 500,
				pause: 1
			});
		});
	}
};

currency = function(amount) {
	amount = amount.toFixed(2);
	return amount.toString().replace('.', ',') + ' PLN';
};

