(function(){



 $.cart = {};

	$.extend($.cart, {

		

		messages : {

			'adding_to_cart' : 'dodajem u košaricu...',

			'item_added_to_cart' : 'artikl je u košarici',



			'remove_from_cart' : 'makni iz košarice',

			'removing_from_cart' : 'mičem iz košarice...',

			'item_removed_from_cart' : 'količina u košarici smanjena',



			'cart_quantity' : 'količina u košarici',

			'item_not_in_cart' : 'artikl nije u košarici',



			'adding_to_wishlist' : 'dodajem u listu želja...',

			'added_to_wishlist' : 'dodano u listu želja',

			'removed_from_wishlist' : 'nije više u listi želja',

			'removing_from_wishlist' : 'mičem iz liste želja',

			

			'currently_unavailable' : 'artikl trenutno nije moguće kupiti',

			'wishlist_account_required' : 'niste prijavljeni, morate biti prijavljeni da biste kreirali listu želja!',

			'wishlist_item_exists' : 'artikl postoji u listi želja'

		},



		urls : {},



		init : function() {

			this.bind_links();

			this.bind_wishlist_links();

			this.update_cart();

		},



		update_cart : function() {

			var self = this;

			url = SITE+'/shop/cart_items?r='+Math.random();

			

			$.getJSON(url, function(data) {

					xhtml = '';

					total = 0;

					for(x in data) {

						if(x == 'total') {

							xhtml += '<div class="total">Ukupno: <span>'+data[x].total+'</span> kn</div>';

							continue;

						}

						

						xhtml += '<div class="item">';

						xhtml += '<div class="r1">'+data[x].label+'</div>';

						xhtml += '<div class="r2">';

						/* xhtml += 'kom: '+data[x].count+'&nbsp;&nbsp;&nbsp;'; */

						xhtml += '<a href="#" class="remove_from_cart" rel="'+data[x].id+'"><img src="'+WEB+'/assets/images/shop/remove_from_cart.jpg"></a>';

						xhtml += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

						xhtml += '<span>'+data[x].price+'</span>&nbsp;kn&nbsp;';

						xhtml += 'X&nbsp;'+data[x].count;

						xhtml += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

						xhtml += '<a href="#" class="add_to_cart" rel="'+data[x].id+'"><img src="'+WEB+'/assets/images/shop/add_to_cart.jpg"></a>';

						xhtml += '</div>';

						

						xhtml += '</div>';

					}

					$("#cart").html(xhtml);

					$("#cart").find("a.add_to_cart").click(function(){

						// cart add item

						id = $(this).attr('rel');

						self.add_item(id);

						return false;

					});

					$("#cart").find("a.remove_from_cart").click(function(){

						// cart del item

						id = $(this).attr('rel');

						self.remove_item(id);

						return false;

					});

			});



		},



		item_added : function(item) {

			var self = this;

			msg = this.messages['item_added_to_cart']+' / ';

			msg += this.messages['cart_quantity']+': '+item.count+' / ';

			msg += '<a href="#" class="remove_from_cart" rel="'+item.id+'">'+this.messages['remove_from_cart']+'</a>';



			this.display_message('#messages_'+item.id, msg);

			$("a.remove_from_cart[@rel="+item.id+"]").click(function(){

				self.display_message('#messages_'+item.id, self.messages['removing_from_cart'], true);

				self.remove_item(id);

				return false;

			});



			this.update_cart();

		},



		item_removed : function(item) {

			var self = this;



			if(item.count == 0) {

				self.display_message('#messages_'+item.id, self.messages['item_not_in_cart']);

				this.update_cart();

				return false;

			}

			

			msg = this.messages['item_removed_from_cart']+' / ';

			msg += this.messages['cart_quantity']+': '+item.count+' / ';

			msg += '<a href="#" class="remove_from_cart" rel="'+item.id+'">'+this.messages['remove_from_cart']+'</a>';



			this.display_message('#messages_'+item.id, msg);

			$("a.remove_from_cart[@rel="+item.id+"]").click(function(){

				self.display_message('#messages_'+item.id, self.messages['removing_from_cart'], true);

				self.remove_item(id);

				return false;

			});



			this.update_cart();

			return false;

		},



		add_item : function(id) {

			var self = this;

			var id = id;

			url = SITE+'/shop/add_to_cart/id/'+id;

			$.getJSON(url, function(x){

				if(x == false) {

					self.display_message('#messages_'+id, self.messages['currently_unavailable']);

				} else {

					self.item_added(x);

				}

			});

		},



		remove_item : function(id) {

			var self = this;

			url = SITE+'/shop/remove_from_cart/id/'+id;

			$.getJSON(url, function(x){

				self.item_removed(x);

			});

		},



		display_message : function(el, msg, loader) {

			txt = '';

			if(loader == true) txt += '<img src="'+WEB+'/assets/images/loader.gif" />&nbsp;';

			txt += msg;

			$(el).html(txt);

		},



		bind_links : function() {

			var self = this;

			$("a.add_to_cart").unbind('click');

			$("a.add_to_cart").click(function() {

				id = $(this).attr('rel');

				self.display_message('#messages_'+id, self.messages['adding_to_cart'], true);

				self.add_item(id);

				

				return false;

			});



			$("a.remove_from_cart").unbind('click');

			$("a.remove_from_cart").click(function() {

				id = $(this).attr('rel');

				self.display_message('#messages_'+id, self.messages['removing_from_cart'], true);

				self.remove_item(id);



				return false;

			});



			$("a.send_to_friend").unbind('click');

			$("a.send_to_friend").click(function() {

				id = $(this).attr('rel');

				url = SITE + '/posalji_prijatelju/id/'+id;

				location.href = url;



				return false;

			});

		},



		bind_wishlist_links : function() {

			var self = this;

			$("a.add_to_wishlist").click(function() {

				id = $(this).attr('rel');

				url = SITE+'/shop/add_to_wishlist/id/'+id;

				self.display_message('#messages_'+id, self.messages['adding_to_wishlist'], true);



				$.getJSON(url, function(x) {

					if(x != undefined && x['message']) {

						if(typeof self.messages[x['message']] != 'undefined') {

							self.display_message('#messages_'+id, self.messages[x['message']]);

						} else {

							self.display_message('#messages_'+id, x['message']);

						}

					} else {

						self.display_message('#messages_'+id, self.messages['added_to_wishlist']);

					}

				});

				return false;

			});



			$("a.remove_from_wishlist").click(function() {

				id = $(this).attr('rel');

				url = SITE+'/shop/remove_from_wishlist/id/'+id;

				self.display_message('#messages_'+id, self.messages['removing_from_wishlist'], true);



				$.getJSON(url, function(x) {

					if(x != undefined && x['message']) {

						if(typeof self.messages[x['message']] != 'undefined') {

							self.display_message('#messages_'+id, self.messages[x['message']]);

						} else {

							self.display_message('#messages_'+id, x['message']);

						}

					} else {

						self.display_message('#messages_'+id, self.messages['removed_from_wishlist']);

						$("#kat_art_"+id).slideUp('slow');

					}

				});

				return false;

			});

		}





	});



})();



$(document).ready(function(){

	$.cart.init();

});