$(function() {
	$('#payment_form').submit(function() {
		ret = false;
		var data = ''; 
		$.ajax({
			'url':'/basket/checkout/',
			'type':'post',
			'dataType':'json',
			'async':false,
			'success': function(d) {
				data = d;
			}
		});
		
		
		if (data) {
			var info = data.body;
			var order_id = info.order_id || 0;
			if (order_id > 0) {
				$(this).find('#purchase_order').val(order_id);
				$(this).find('#purchase_amount').val(info.amount);
				var tUrl = $(this).find('#target_url');
				$(tUrl).val($(tUrl).val() + '/?norderid='+order_id);
				ret = true;
			} else {
				var msg = data.messages;
				if (msg['not_auth']) {
					window.location='/login/';
				} else if (msg['products']) {
					basketProductError(msg);
				} else {
					//такой ситуации возникать не должно
					window.location='/basket/';
				}
			}
		}
		
		return ret;
	});
	
	function basketProductError(errors) {
		var products = errors['products'] || {};
		var error = errors;
		$.each(products, function(id, val) {
			var prodBlock = $('#basket_product_'+id);
			//$('.error_message', prodBlock).html(val['msg']);
			
			$('.kol span', prodBlock).text('');
			$('.kol_after', prodBlock).text(val['count']);
			
			$('.bpricekol', prodBlock).text('');
			$('.bpricekol_after', prodBlock).text(val['count']*val['price']);
			
			$('#pricetotal').text('');
			$('#priceamount_after').text(error['amount']);
			
		});
		
		if (error['msg']) {
			$('#payments_errors').html(error['msg']);
		}
		
		if (error['delivery_cost'] == 0) {
			error['delivery_cost'] = 'бесплатно';
		}
		$('#pricedelivery').text('');
		$('#pricedelivery_after').text(error['delivery_cost']);
		$('#back_to_basket_button').css('display', 'block');
	}
	
	$('#order_basket_checkout').simpleForm({
		'successCallback':function(data) {
			if (data.order_id) {
				var osm = $('#order_success_message');
				osm.find('.order_id').text(data.order_id);
				osm.css('display', 'block');
				$(this.form).css('display', 'none');
				Basket.clear();
				//window.location = '/basket/buy/order/'+data.order_id;
			}
		},
		'errorCallback':function(errors) {
			basketProductError(errors);
		}
	});
	
	$('#order_delivery_form').simpleForm({
		'successCallback':function(data) {
			if (data.redirect) {
				window.location = data.redirect;
			}
		},
		'errorCallback':function(errors) {			
			$('#submit_btn').show();
			$('#loading').hide();
			
			this.beforeHandleErrorsCallback(errors);
				if ($.isArray(errors)) {
					this.errorArrayCallback(errors);
				}
				else {
					this.errorNestedCallback(errors);
				}
				this.afterHandleErrorsCallback(errors);
			
			
		}
	});
	
});

//должен быть класс order
function deliveryOK(data) {
	window.location = data.redirect;
	return false;
}
