var Cart = {
	addingProduct: false,
	product: {
		add: {
			inProcess: false,
			timeout: Object,
			init: function(movie_id, affiliate_id) {
				Cart.quickBox.show();
				Cart.quickBox.over = true;
				Cart.product.add.inProcess = true;
				
				Cart.quickBox.hideAll();
				Cart.quickBox.showItem('addProduct');
				
				$.post(url('/cart/addProduct'), {'movie_id': movie_id, 'affiliate_id': affiliate_id}, function(data) {
					if (Cart.product.timeout) {
						clearTimeout(Cart.product.timeout);
					}
				
					Cart.quickBox.hideAll();
					Cart.quickBox.showItem('productAdded');
					$('#quickCart .content .inner .productAdded .movie').html(data.movie);
					$('#quickCart .content .inner .productAdded .affiliate').html(data.affiliate);
					
					Cart.product.add.inProcess = false;
					Cart.product.timeout = setTimeout('Cart.product.add.done()', 500);
					
					if (data.actions) {
						Cart.actions.process(data.actions);
					}
				}, "json");
			},
			done: function() {
				if (!Cart.product.add.inProcess) {
					setTimeout('Cart.quickBox.hide()', 1900);
					setTimeout('Cart.quickBox.update()', 2600);
				}
			}
		},
		inc: function(movie_id, affiliate_id) {
			$.post(url('/cart/addProduct'), {'movie_id': movie_id, 'affiliate_id': affiliate_id}, function(data) {
				Cart.quickBox.update();
				if (data.actions) {
					Cart.actions.process(data.actions);
				}
			}, "json");	
		},
		sub: function(movie_id, affiliate_id) {
			$.post(url('/cart/subProduct'), {'movie_id': movie_id, 'affiliate_id': affiliate_id}, function(data) {
				Cart.quickBox.update();
				if (data.actions) {
					Cart.actions.process(data.actions);
				}
			}, "json");
		},
		remove: function(movie_id, affiliate_id) {
			$.post(url('/cart/removeProduct'), {'movie_id': movie_id, 'affiliate_id': affiliate_id}, function(data) {
				Cart.quickBox.update();
				if (data.actions) {
					Cart.actions.process(data.actions);
				}
			}, "json");
		}
	},
	actions: {
		process: function(actions) {
			var action;
			for (x in actions) {
				action = actions[x];
				switch (action.type) {
					case 'iframe':
						Cart.actions.iframe(action);
						break;
					case 'window':
						Cart.actions.window(action);
						break;
				}
			}
		},
		window: function(action) {
			var test = window.open('action.url', '_blank');
			
		},
		iframe: function(action) {
			$('body').append(
				$('<iframe></iframe>')
					.attr('src', action.url)
					.css('height', '1px')
					.css('width', '1px')
					.css('visibilility', 'hidden')
			)			
		}
	},
	quickBox: {
		over: false,
		hideTimer: Object,
		enabled: true,
		updating: true,
		disable: function() {
			Cart.quickBox.enabled = false;
		},
		check: function() {
		
		},
		hideAll: function() {
			$('#quickCart .content .inner').children('div').hide();
		},
		showItem: function(name) {
			$('#quickCart .content .inner .'+name).show();
		},
		update: function() {
			Cart.quickBox.hideAll();	
			Cart.quickBox.showItem('loadingList');
			Cart.quickBox.updating = true;
			$.get(url('/cart/list'), {}, function(data) {
				$('#quickCart .content .inner .list').html(data);
				Cart.quickBox.hideAll();	
				Cart.quickBox.showItem('list');
				Cart.quickBox.updating = false;
			});
		},
		reAlign: function() {
			var anchor = $('#login .cart');
			if ($('#quickCart').size() && anchor.size()) {
				
				var left = $('#wrapper').position().left + anchor.position().left - 500 - $('#quickCart').width() + (anchor.width() / 2 ) + 43;
				
				var top = anchor.position().top + anchor.height();
				if ($('#userbar').hasClass('scroll')) {
					top += $(window).scrollTop();
					left += 4;
				}
				//alert(top);
				$('#quickCart').css('left', left+'px');
				$('#quickCart').css('top', top+'px');
			}
		},
		show: function() {
			Cart.quickBox.reAlign();
			$('#quickCart').show();
			Cart.quickBox.over = true;
		},
		hide: function() {
			Cart.quickBox.over = false;
			
			if (Cart.quickBox.hideTimer) {
				clearTimeout(Cart.quickBox.hideTimer);
			}
			
			Cart.quickBox.hideTimer = setTimeout('Cart.quickBox.hideDone()', 600);
		},
		hideDone: function() {
			if (!Cart.quickBox.over && !Cart.quickBox.updating) {
				$('#quickCart').hide();
			}
		}
	},
	removeProduct: function(movie_id, affiliate_id) {
		
	}
}
