(function(){

 $.cart = {};
	$.extend($.cart, {
		
		messages : {
			'adding_to_cart' : 'dodajem u košaricu...',
			'item_added_to_cart' : 'knjiga 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' : 'knjiga nije u košarici',

			'adding_to_wishlist' : 'dodajem u listu želja...',
			'added_to_wishlist' : 'dodano u listu želja'
		},

		urls : {},

		init : function() {
			this.bind_links();
			this.bind_wishlist_links();
			this.update_cart();
		},

		update_cart : function() {
			var self = this;
			url = SITE+'/cart/items?r='+Math.random();
			
			$.getJSON(url, function(data) {
					xhtml = '';
					total = 0;
					for(x in data) {
						if(x == 'total') {
							xhtml += '<div class="total">Količina: '+data[x].count+' kom.';
							xhtml += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
							xhtml += 'Ukupno: '+data[x].total+' kn</div>';
							continue;
						}

						if(typeof cart_full_view == "undefined") continue;

						xhtml += '<div class="item">';
						xhtml += '<div class="r1">';
						xhtml += '<a href="#" class="add_item" rel="'+data[x].id+'">+</a>';
						xhtml += '<a class="del_item" href="#" rel="'+data[x].id+'">-</a>';
						xhtml += '</div>';
						xhtml += '<div class="r2">';
						xhtml += '<div class="autor">'+data[x].autor+'</div>';
						xhtml += '<div class="naslov">'+data[x].naslov+'</div>';
						xhtml += '</div>';
						xhtml += '<div class="r3">';
						xhtml += data[x].count+' kom.<br />'+data[x].price;
						xhtml += '</div>';
						
						xhtml += '<br clear="all" /></div>';
				
						xhtml += '<br clear="all" />';
			
					}
					$("#cart").html(xhtml);
					$("#cart").find("a.add_item").click(function(){
						// cart add item
						id = $(this).attr('rel');
						self.add_item(id);
						return false;
					});
					$("#cart").find("a.del_item").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="del_cart_item" rel="'+item.id+'">'+this.messages['remove_from_cart']+'</a>';

			this.display_message('#knjiga_'+item.id, msg);
			$("a.del_cart_item[@rel="+item.id+"]").click(function(){
				self.display_message('#knjiga_'+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('#knjiga_'+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="del_cart_item" rel="'+item.id+'">'+this.messages['remove_from_cart']+'</a>';

			this.display_message('#knjiga_'+item.id, msg);
			$("a.del_cart_item[@rel="+item.id+"]").click(function(){
				self.display_message('#knjiga_'+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;
			url = SITE+'/cart/add/id/'+id;
			$.getJSON(url, function(x){
				self.item_added(x);
			});
		},

		remove_item : function(id) {
			var self = this;
			url = SITE+'/cart/delete/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.cart_item").unbind('click');
			$("a.cart_item").click(function() {
				id = $(this).attr('rel');
				self.display_message('#knjiga_'+id, self.messages['adding_to_cart'], true);
				self.add_item(id);
				
				return false;
			});

			$("a.del_cart_item").unbind('click');
			$("a.del_cart_item").click(function() {
				id = $(this).attr('rel');
				self.display_message('#knjiga_'+id, self.messages['removing_from_cart'], true);
				self.remove_item(id);

				return false;
			});

		},

		bind_wishlist_links : function() {
			var self = this;
			$("a.wishlist_item").click(function() {
				id = $(this).attr('rel');
				url = SITE+'/lista_zelja/add/id/'+id;
				self.display_message('#knjiga_'+id, self.messages['adding_to_wishlist'], true);
				//$("#knjiga_"+id).html("<img src='"+WEB+"/assets/images/loader.gif' /> dodajem u listu želja...");
				$.getJSON(url, function(x) {
					if(x != undefined && x['message']) {
						self.display_message('#knjiga_'+id, x['message']);
					} else {
						self.display_message('#knjiga_'+id, self.messages['added_to_wishlist']);
					}
				});
				return false;
			});
		}


	});

})();

$(document).ready(function(){
	$.cart.init();
});
