var Shopping = {
	viewCart:function(){
		var docHeight = $(document).height();
		var docWidth = $(document).width();
		var winHeight = $(window).height();
		var winWidth = $(window).width();
		var winTop = $(document).scrollTop();
		
		$('#dialog_container').height(docHeight);
		$('#dialog_container').width(winWidth);
		$('#dialog_container').css('display','block');
		
		ProcessingBox.startProcessing('Loading Order...');
		
		$.ajax({
			url: '/include/ajax_gateway.php',
			cache: false,
			data: {
				cls: 'Shopping',
				method: 'buildCart',
				type: 'HTML'
			},
			success: function(r){
				ProcessingBox.stopProcessing();
				
				$('#dialog_window').prepend(r);

				$('#dialog_window').css('display','block');
				
				var popHeight = eval($('#shopping_cart').height());
				var popWidth = eval($('#shopping_cart').width());
				
				var popTop = winTop + ((winHeight - popHeight)/2);
				popTop = (popTop >= 0) ? popTop : 0;
				
				$('#dialog_window').css('left',(winWidth - popWidth)/2);
				$('#dialog_window').css('top',popTop);
				$('#dialog_close').click(Shopping.closeCart);
			}
		});
	},
	closeCart:function(){
		$('#dialog_container').css('display','none');
		$('#dialog_window').css('display','none');
		$('#shopping_cart').remove();
	},
	changeQty:function(obj){
		if(FormValidation.validField(obj)){
			var id = $(obj).attr('item');
			var qty = $(obj).val();
			$.ajax({
				url: '/include/ajax_gateway.php',
				cache: false,
				type:'POST',
				data: {
					cls: 'Shopping',
					method: 'changeQty',
					type: 'JSON',
					cart_item_id: id,
					qty: qty
				},
				success: function(r){
					ProcessingBox.stopProcessing();
					var data = JSON.parse(r);
					if($('#preview_item_count').get() != '' && $('#preview_sub_total') != ''){
						$('#preview_item_count').html(data['item_count']);
						$('#preview_sub_total').html('$' + data['sub_total']);
					}
					if($('#total_cost').get() != ''){
						$('#total_cost').html('$' + data['total_cost']);
					}
				}
			});
		}
	},
	changePoints:function(points){
		$.ajax({
			url: '/include/ajax_gateway.php',
			cache: false,
			type:'POST',
			data: {
				cls: 'Shopping',
				method: 'redeemPoints',
				type: 'JSON',
				points: points,
				return_totals: true
			},
			success: function(r){
				ProcessingBox.stopProcessing();
				var data = JSON.parse(r);
				if($('#preview_item_count').get() != '' && $('#preview_sub_total') != ''){
					$('#preview_item_count').html(data['item_count']);
					$('#preview_sub_total').html('$' + data['sub_total']);
				}
				if($('#total_cost').get() != ''){
					$('#total_cost').html('$' + data['total_cost']);
				}
			}
		});
	},
	deleteItem:function(id){
		$.ajax({
			url: '/include/ajax_gateway.php',
			cache: false,
			type:'POST',
			data: {
				cls: 'Shopping',
				method: 'removeItem',
				type: 'JSON',
				cart_item_id: id
			},
			success: function(r){
				ProcessingBox.stopProcessing();
				var data = JSON.parse(r);
				if($('#preview_item_count').get() != '' && $('#preview_sub_total') != ''){
					$('#preview_item_count').html(data['item_count']);
					$('#preview_sub_total').html('$' + data['sub_total']);
					Shopping.closeCart();
					Shopping.viewCart();
				}
			}
		});
	},
	checkOut:function(frm){
		if(FormValidation.validateForm(frm,false)){
			var farray = $(frm).serializeArray();
			$.ajax({
				url: '/include/ajax_gateway.php',
				cache: false,
				type:'POST',
				data: {
					cls: 'Shopping',
					method: 'createCart',
					type: 'JSON',
					payment_method: $('#payment_method').val(),
					comments: $('#comments').val()
				},
				success: function(r){
					ProcessingBox.stopProcessing();
					window.location.href = '/admin/orders/review.php';
				}
			});
		}
	},
	duplicateOrder:function(order){
		if(confirm('By clicking OK you will replace all items in your cart with a duplicate of this order.')){
			ProcessingBox.startProcessing('Duplicating Order...');
			$.ajax({
				url: '/include/ajax_gateway.php',
				cache: false,
				data: {
					cls: 'Order',
					method: 'duplicateOrder',
					type: 'JSON',
					order_id: order
				},
				success: function(r){
					ProcessingBox.stopProcessing();
					var data = JSON.parse(r);
					if(data){
						window.location.href = 'review.php';
					}
					else{
						alert('You do not have permission to duplicate this order.');
					}
				}
			});
		}
	},
	viewOrder:function(order){
		var docHeight = $(document).height();
		var docWidth = $(document).width();
		var winHeight = $(window).height();
		var winWidth = $(window).width();
		var winTop = $(document).scrollTop();
		
		$('#dialog_container').height(docHeight);
		$('#dialog_container').width(winWidth);
		$('#dialog_container').css('display','block');
		
		ProcessingBox.startProcessing('Loading Order...');
		
		$.ajax({
			url: '/include/ajax_gateway.php',
			cache: false,
			data: {
				cls: 'Order',
				method: 'buildSendingOrder',
				type: 'HTML',
				order_id: order
			},
			success: function(r){
				ProcessingBox.stopProcessing();
				
				$('#dialog_window').prepend(r);

				$('#dialog_window').css('display','block');
				
				var popHeight = $('#order_info').height();
				var popWidth = 600;
				$('#order_info').width(popWidth);
				
				var popTop = winTop + ((winHeight - popHeight)/2);
				popTop = (popTop >= 0) ? popTop : 0;
				
				$('#dialog_window').css('left',(winWidth - popWidth)/2);
				$('#dialog_window').css('top',popTop);
				$('#dialog_close').click(Shopping.closeOrder);
			}
		});
	},
	closeOrder:function(){
		$('#dialog_container').css('display','none');
		$('#dialog_window').css('display','none');
		$('#order_info').remove();
	}
};
