Меню KDT

Страница "Корзина товаров"

Пример её создания.

Данный код нужно разместить в header.html файле, после подключения всех js файлов.

<script type="text/javascript">
function getCartData(){
	return JSON.parse(localStorage.getItem('cart'));
}
function setCartData(o){
	localStorage.setItem('cart', JSON.stringify(o));
	return false;
}
</script>

На странице корзины товаров (basket.html) нужно разместить следующий код:

<script type="text/javascript">
{% set pageBasketID = random(999999) %}
jsApplication.pageLoad(function(){
	{% set variable = 'var_'~random(999999) %}
	var {{variable}} = 0;
	var param = '';
	var load = [];
	load = load.concat(ioGetModuleUrls({module: 'noty-packaged', push: 1}));
	load = load.concat(ioGetModuleUrls({module: 'sweetalert', push: 1}));
	load = load.concat(ioGetModuleUrls({module: 'autosize', push: 1}));
	load = load.concat(ioGetModuleUrls({module: 'jquery-inputmask', push: 1}));
	
	if(jsApplication.busy && load.length > 0) {jsApplication.busy(true); {{variable}} = 1;}
	if(load.length > 0){
		yepnope({
			load: load,
			complete: function(){
				if(jsApplication.busy && {{variable}}) jsApplication.busy(false);
				//onBootstrapEditable();
				if($.fn.mask){
					$('input.phonenumber').mask('+9 (999) 999-99-99', {placeholder: ' '});
				}
				setTimeout('pageBasket{{pageBasketID}}()', 10);
			},
		});
	} else {
		if(jsApplication.busy && {{variable}}) jsApplication.busy(false);
		setTimeout('pageBasket{{pageBasketID}}()', 10);
	}
});
function pageBasket{{pageBasketID}}(){
	autosize($('.order-comment'));
	
	// выбрать все товары
	$(document).on('ifChanged', '.goodsitems-check-all', function(){
		var checked = $(this).prop('checked');
		
		$('.goodsitems-check').prop('checked', checked);
		$('.goodsitem-check').prop('checked', checked);
		
		$('.i-check, .i-radio').iCheck('update');
		
		calcSelectedOffers();
	});
	
	// выбрать все товары продавца
	$(document).on('ifChanged', '.goodsitems-check', function(){
		var checked = $(this).prop('checked');
		
		if(!checked) $('.goodsitems-check-all').prop('checked', checked);
		
		$.each($(this).parent().parent().parent().parent().parent().parent().find('.goodsitem-check'), function(i, el){
			$(el).prop('checked', checked);
		});
		
		// проверка всех галочек
		var flag_check2 = true;
		$('.goodsitems-check').each(function(i, el){
			if(flag_check2 && !$(el).prop('checked')) flag_check2 = false;
		});
		if(flag_check2) $('.goodsitems-check-all').prop('checked', true);
		
		$('.i-check, .i-radio').iCheck('update');
		
		calcSelectedOffers();
	});
	
	// выбрать товар
	$(document).on('ifChanged', '.goodsitem-check', function(){
		var pkid = $(this).attr('data-pkid');
		var checked = $(this).prop('checked');
		
		if(!checked){
			$('.goodsitems-check-all').prop('checked', checked);
			$(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().find('.goodsitems-check').prop('checked', checked);
		}
		
		// проверка всех галочек в компании
		var flag_check1 = true;
		$.each($(this).parent().parent().parent().parent().parent().parent().parent().parent().find('.goodsitem-check'), function(i, el){
			if(flag_check1 && !$(el).prop('checked')) flag_check1 = false;
		});
		if(flag_check1) $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().find('.goodsitems-check').prop('checked', true);
		
		// проверка всех галочек
		var flag_check2 = true;
		$('.goodsitems-check').each(function(i, el){
			if(flag_check2 && !$(el).prop('checked')) flag_check2 = false;
		});
		if(flag_check2) $('.goodsitems-check-all').prop('checked', true);
		
		$('.i-check, .i-radio').iCheck('update');
		
		calcSelectedOffers();
	});
	
	{% if not user.isGuest %}
		// удалить товар
		$(document).on('click', '.goodsitem-delete-btn', function(){
			if(confirm('Вы уверены?')){
				var pkid = $(this).attr('data-pkid');
				
				// обработка запроса
				ioCallEntity({
					entity: 'bmc.trade2.model.offersBasket.delete',
					resultType: 'json',
					params: {
						pkid: pkid,
					},
					success: function(data, tag){
						//console.log(data);
						var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
						if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
							$('.goodsitem.goodsitem-'+pkid).remove();
							$('.goodsitems-list').each(function(i, el){
								if($(el).find('.goodsitem').length <= 0){
									$(el).parent().parent().remove();
								}
							});
							
							if($('.basket-list .basket-item').length > 0){
								calcSelectedOffers();
							} else {
								$('.basket').css('display', 'none');
								$('.basket-empty').css('display', '');
							}
							
							$('.basket-offers-count').html($('.basket-list .basket-item .goodsitem').length <= 99 ? $('.basket-list .basket-item .goodsitem').length : '99+');
						} else {
							var n = noty({
								text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
								type: 'warning',
								layout: 'bottomRight',
								timeout: 4000,
							});
						}
					}
				});
			}
		});
		
		// удалить выбранные товары
		$(document).on('click', '.goodsitems-selected-delete-btn', function(){
			var flag_checked = false, checked_pkids = [];
			$.each($('.goodsitem-check'), function(i, el){
				if($(el).prop('checked')){
					flag_checked = true;
					
					var pkid = $(el).attr('data-pkid');
					checked_pkids.push(pkid);
				}
			});
			if(flag_checked){
				if(confirm('Вы уверены?')){
					// обработка запроса
					ioCallEntity({
						entity: 'bmc.trade2.model.offersBasket.delete',
						resultType: 'json',
						params: {
							pkid: checked_pkids,
						},
						success: function(data, tag){
							//console.log(data);
							var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
							if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
								$.each(checked_pkids, function(i, pkid){
									$('.goodsitem.goodsitem-'+pkid).remove();
								});
								$('.goodsitems-list').each(function(i, el){
									if($(el).find('.goodsitem').length <= 0){
										$(el).parent().parent().remove();
									}
								});
								
								if($('.basket-list .basket-item').length > 0){
									calcSelectedOffers();
								} else {
									$('.basket').css('display', 'none');
									$('.basket-empty').css('display', '');
								}
								
								$('.basket-offers-count').html($('.basket-list .basket-item .goodsitem').length <= 99 ? $('.basket-list .basket-item .goodsitem').length : '99+');
							} else {
								var n = noty({
									text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
									type: 'warning',
									layout: 'bottomRight',
									timeout: 4000,
								});
							}
						}
					});
				}
			} else {
				var n = noty({
					text: 'Выберите товары для удаления',
					type: 'information',
					layout: 'bottomRight',
					timeout: 2000,
				});
			}
		});
		
		// изменение метода доставки
		$(document).on('click', '.goodsitem-amount-delivery', function(){
			var $objb = $(this);
			if(!$objb.hasClass('process')){
				var company_pkid = $objb.attr('data-company-pkid');
				var pkid = $objb.attr('data-pkid');
				
				if(company_pkid && pkid){
					var oldhtml = $objb.find('.value').html();
					
					$objb.addClass('process');
					$objb.find('.value').html('<i class="fa fa-spinner fa-spin"></i>');
					
					// обработка запроса
					ioCallEntity({
						entity: 'bmc.trade2.model.warehouses.getDeliveryMethods',
						resultType: 'json',
						params: {
							company_pkid: company_pkid,
						},
						success: function(data, tag){
							//console.log(data);
							var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
							if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
								var delivery_methods = obj.res.data;
								
								var delivery_methods_html = '';
								$.each(delivery_methods, function(i, el){
									delivery_methods_html += (
										'<a href="javascript://" data-method="0" data-warehouse-pkid="'+el.pkid+'" class="list-group-item delivery-method-item">'+
											'<div class="row">'+
												'<div class="col-md-4">'+
													'Самовывоз (0 KZT)'+
												'</div>'+
												'<div class="col-md-8 text-center">'+
													(el.name || '')+
													(el.location ?
														(el.location.address ?
															' ('+el.location.address+')'
														:'')
													:'')+
												'</div>'+
											'</div>'+
										'</a>'
									);
								});
								
								/*
								type: BootstrapDialog.TYPE_DEFAULT,
								type: BootstrapDialog.TYPE_INFO,
								type: BootstrapDialog.TYPE_PRIMARY,
								type: BootstrapDialog.TYPE_SUCCESS,
								type: BootstrapDialog.TYPE_WARNING,
								type: BootstrapDialog.TYPE_DANGER,
								
								size: BootstrapDialog.SIZE_NORMAL, // normal
								size: BootstrapDialog.SIZE_SMALL, // small
								size: BootstrapDialog.SIZE_WIDE, // large
								size: BootstrapDialog.SIZE_LARGE, // big font
								*/
								BootstrapDialog.show({
									closable: true,
									type: BootstrapDialog.TYPE_PRIMARY,
									//size: BootstrapDialog.SIZE_SMALL, // small
									title: 'Выберите метод доставки',
									message: (
										'<div class="list-group">'+
											delivery_methods_html+
										'</div>'
									),
									buttons: [
										{
											label: 'Отмена',
											cssClass: 'btn-default',
											action: function(dialog, event){
												dialog.close();
											},
										}
									],
									onshown: function(dialog){
										// выбор метода доставки
										dialog.getModalBody().find('.delivery-method-item').off('click');
										dialog.getModalBody().find('.delivery-method-item').on('click', function(){
											var $objel = $(this);
											var delivery_method = $objel.attr('data-method');
											var delivery_warehouse_pkid = $objel.attr('data-warehouse-pkid');
											
											$objb.addClass('process');
											$objb.find('.value').html('<i class="fa fa-spinner fa-spin"></i>');
											
											// обработка запроса
											ioCallEntity({
												entity: 'bmc.trade2.model.offersBasket.changeDeliveryMethod',
												resultType: 'json',
												params: {
													pkid: pkid,
													delivery_method: delivery_method,
													delivery_warehouse_pkid: delivery_warehouse_pkid,
												},
												success: function(data, tag){
													//console.log(data);
													var obj2;try{obj2 = $.parseJSON(data);}catch(ex){obj2 = null;}
													if(obj2 != null && typeof(obj2.res) != 'undefined' && obj2.res != null && obj2.res.error_code == '1'){
														$objb.find('.value')
															.attr('data-method', delivery_method)
															.attr('data-warehouse-pkid', delivery_warehouse_pkid)
															.html(
																'<div>'+(obj2.res.delivery_method_name||'')+'</div>'+
																(delivery_method == 0 ?
																	'<div class="text-sm">Точка самовывоза: '+(obj2.res.delivery_warehouse_name||'не выбрана')+'</div>'
																:'')
															);
														
														if($objb.parent().parent().find('.goodsitem-check').prop('checked')){
															calcSelectedOffers();
														}
													} else {
														var n = noty({
															text: 'Произошла ошибка. Попробуйте еще раз.'+(obj2 != null && obj2.res.error_str != '' ? ' Полный текст ошибки: '+obj2.res.error_str : ''),
															type: 'warning',
															layout: 'bottomRight',
															timeout: 4000,
														});
														
														$objb.find('.value').html(oldhtml);
													}
													$objb.removeClass('process');
												}
											});
											
											dialog.close();
										});
									},
								});
							} else {
								var n = noty({
									text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
									type: 'warning',
									layout: 'bottomRight',
									timeout: 4000,
								});
							}
							$objb.find('.value').html(oldhtml);
							$objb.removeClass('process');
						}
					});
				} else {
					if(!company_pkid){
						var n = noty({
							text: 'Не указан pkid компании',
							type: 'warning',
							layout: 'bottomRight',
							timeout: 2000,
						});
					} else if(!pkid){
						var n = noty({
							text: 'Не указан pkid записи',
							type: 'warning',
							layout: 'bottomRight',
							timeout: 2000,
						});
					}
				}
			}
		});
		
		// изменение количества товара
		$(document).on('change', '.goodsitem-count', function(){
			var $objb = $(this);
			
			var basketitem_pkid = $objb.attr('data-pkid');
			var min_count = parseInt($objb.attr('min'));
			var max_count = parseInt($objb.attr('max'));
			var new_count = parseInt($objb.val()) || 1;
			if(new_count < min_count) new_count = min_count;
			if(new_count > max_count) new_count = max_count;
			
			$objb.attr('disabled', 'disabled');
			$objb.val(new_count);
			$objb.parent().parent().find('.goodsitem-itog').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			
			// обработка запроса
			ioCallEntity({
				entity: 'bmc.trade2.model.offersBasket.changeCount',
				resultType: 'json',
				params: {
					pkid: basketitem_pkid,
					count: new_count,
				},
				success: function(data, tag){
					//console.log(data);
					var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
					//console.log(obj);
					if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
						$objb.parent().parent().find('.goodsitem-itog').html(format_money(obj.res.full_amount, false));
						
						if($objb.parent().parent().find('.goodsitem-check').prop('checked')){
							calcSelectedOffers();
						}
					} else {
						var n = noty({
							text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
							type: 'warning',
							layout: 'bottomRight',
							timeout: 4000,
						});
					}
					$objb.removeAttr('disabled');
				}
			});
		});
		
		// калькуляция выбранных товаров
		function calcSelectedOffers(){
			$('.goodsitem-buy-btn').addClass('process disabled');
			
			var checked_pkids = [], flag_delivery_method_not0 = false;
			$.each($('.goodsitem-check'), function(i, el){
				if($(el).prop('checked')){
					var pkid = $(el).attr('data-pkid');
					checked_pkids.push(pkid);
					
					if(!flag_delivery_method_not0){
						var delivery_method = $(el).parent().parent().parent().parent().parent().parent().parent().find('.goodsitem-amount-delivery .value').attr('data-method');
						//console.log(delivery_method);
						flag_delivery_method_not0 = (delivery_method != 0);
					}
				}
			});
			
			$('.goodsitems-selected-info .total-count').html(checked_pkids.length);
			
			$('.goodsitems-selected-info .total-amount').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			$('.goodsitems-selected-info .total-amount-delivery').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			$('.goodsitems-selected-info .total-itog').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			
			$('.order-country').attr('disabled', 'disabled');
			$('.order-city').attr('disabled', 'disabled');
			$('.order-address').attr('disabled', 'disabled');
			$('.order-zipcode').attr('disabled', 'disabled');
			
			if(checked_pkids.length > 0){
				// обработка запроса
				ioCallEntity({
					entity: 'bmc.trade2.model.offersBasket.getSelectedAmount',
					resultType: 'json',
					params: {
						pkids: checked_pkids,
					},
					success: function(data, tag){
						//console.log(data);
						var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
						if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
							var checked_pkids = [];
							$.each($('.goodsitem-check'), function(i, el){
								if($(el).prop('checked')){
									var pkid = $(el).attr('data-pkid');
									checked_pkids.push(pkid);
								}
							});
							if(checked_pkids.length > 0){
								$('.goodsitems-selected-info .total-amount').html(format_money(obj.res.amount, false));
								$('.goodsitems-selected-info .total-amount-delivery').html(format_money(obj.res.amount_delivery, false));
								$('.goodsitems-selected-info .total-itog').html(format_money(obj.res.full_amount, false));
								//$('.goodsitems-itog').html(format_money(obj.res.full_amount, false));
							} else {
								$('.goodsitems-selected-info .total-amount').html(format_money({value: 0, currency: 'KZT'}, false));
								$('.goodsitems-selected-info .total-amount-delivery').html(format_money({value: 0, currency: 'KZT'}, false));
								$('.goodsitems-selected-info .total-itog').html(format_money({value: 0, currency: 'KZT'}, false));
								//$('.goodsitems-itog').html(format_money({value: 0, currency: 'KZT'}, false));
							}
						} else {
							var n = noty({
								text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
								type: 'warning',
								layout: 'bottomRight',
								timeout: 4000,
							});
						}
						$('.goodsitem-buy-btn').removeClass('process disabled');
					}
				});
				if(flag_delivery_method_not0){
					$('.order-country').removeAttr('disabled');
					$('.order-city').removeAttr('disabled');
					$('.order-address').removeAttr('disabled');
					$('.order-zipcode').removeAttr('disabled');
				}
			} else {
				$('.goodsitems-selected-info .total-amount').html(format_money({value: 0, currency: 'KZT'}, false));
				$('.goodsitems-selected-info .total-amount-delivery').html(format_money({value: 0, currency: 'KZT'}, false));
				$('.goodsitems-selected-info .total-itog').html(format_money({value: 0, currency: 'KZT'}, false));
				//$('.goodsitems-itog').html(format_money({value: 0, currency: 'KZT'}, false));
				
				$('.goodsitem-buy-btn').removeClass('process disabled');
			}
		}
		
		// заказ выбранных товаров
		$(document).on('click', '.order-send-btn', function(){
			var $objb = $(this);
			if(!$objb.hasClass('process')){
				var checked_pkids = [], flag_delivery_method_not0 = false;
				$.each($('.goodsitem-check'), function(i, el){
					if($(el).prop('checked')){
						var pkid = $(el).attr('data-pkid');
						checked_pkids.push(pkid);
						
						if(!flag_delivery_method_not0){
							var delivery_method = $(el).parent().parent().parent().parent().parent().parent().parent().find('.goodsitem-amount-delivery .value').attr('data-method');
							flag_delivery_method_not0 = (delivery_method != 0);
						}
					}
				});
				if(checked_pkids.length > 0){
					var order_country = $('.order-country').val() || '';
					var order_city = $('.order-city').val() || '';
					var order_address = $('.order-address').val() || '';
					var order_zipcode = $('.order-zipcode').val() || '';
					
					if(!flag_delivery_method_not0
					|| (flag_delivery_method_not0
						&& order_country != ''
						&& order_city != ''
						&& order_address != ''
						&& order_zipcode != '')){
						if(confirm('Вы собираетесь оформить заказ. Продолжить?')){
							$objb
								.addClass('process disabled')
								.html('<i class="fa fa-spinner fa-spin m-r-small"></i> Оформление заказа');
							
							var payment_method = parseInt($('.order-payment-method').val()) || 0;
							var comment = (
								(flag_delivery_method_not0 ? 
									'Страна: '+order_country+"\n"+
									'Город: '+order_city+"\n"+
									'Адрес: '+order_address+"\n"+
									'Почтовый индекс: '+order_zipcode+"\n"+
									"\n"
								:'')+
								'Способ оплаты: '+$('.order-payment-method :selected').text()
							);
							if($('.order-comment').val() != ''){
								comment += "\n\n"+'Комментарий к заказу: '+$('.order-comment').val();
							}
							
							// обработка запроса
							ioCallEntity({
								entity: 'bmc.trade2.model.invoices2.addFromBasket',
								resultType: 'json',
								params: {
									pkids: checked_pkids,
									payment_method: payment_method,
									comment: comment,
								},
								success: function(data, tag){
									//console.log(data);
									var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
									if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
										swal({
											title: 'Заказ успешно оформлен!',
											text: 'Ожидайте обработки вашего заказа',
											type: 'success',
											showConfirmButton: false,
										});
										setTimeout(function(){
											if(typeof(obj.res.pkids) != 'undefined'){
												if(obj.res.pkids.length == 1){
													document.location.href = urlGetAdd('/orders', 'pkid', obj.res.pkids[0], 'account', '{{user.account}}');
												} else {
													document.location.href = urlGetAdd('/orders', 'account', '{{user.account}}');
												}
											} else {
												document.location.href = urlGetAdd('/orders', 'account', '{{user.account}}');
											}
										}, 2000);
									} else {
										var n = noty({
											text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
											type: 'warning',
											layout: 'bottomRight',
											timeout: 4000,
										});
									}
									$objb
										.removeClass('process disabled')
										.html('Оформить заказ');
								}
							});
						}
					} else {
						if(order_country == ''){
							var n = noty({
								text: 'Укажите Вашу страну',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.order-country').focus();
						} else if(order_city == ''){
							var n = noty({
								text: 'Укажите Ваш город',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.order-city').focus();
						} else if(order_address == ''){
							var n = noty({
								text: 'Укажите Ваш адрес',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.order-address').focus();
						} else if(order_zipcode == ''){
							var n = noty({
								text: 'Укажите Ваш почтовый индекс',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.order-zipcode').focus();
						}
					}
				} else {
					var n = noty({
						text: 'Выберите товары для заказа',
						type: 'warning',
						layout: 'bottomRight',
						timeout: 2000,
					});
				}
			}
		});
		
		// первоначальная загрузка корзины
		function loadingOffersBasket(){
			// если что-то в корзине уже есть, начинаем формировать данные для вывода
			// обработка запроса
			ioCallEntity({
				entity: 'bmc.trade2.model.offersBasket.getData2',
				resultType: 'json',
				params: {
					filter: {
						offer_type: 2, // розничные
					},
					limit: 1000,
				},
				success: function(data, tag){
					//console.log(data);
					var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
					if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
						var offersBasket = obj.res.data || [];
						$('.basket .basket-list').html('');
						
						if(offersBasket.length > 0){
							$.each(offersBasket, function(i, offer){
								var basketofferitems = '';
								$.each(offer.offers, function(j, offeritem){
									var offer_poster = '{{template.path}}/img/bmcsales-logo.svg';
									if(offeritem.images && offeritem.images.length > 0){
										if(offeritem.images[0].urlSmall){
											offer_poster = '{{ioProjects.trade}}/'+offeritem.images[0].urlSmall;
										} else {
											if(offeritem.images[0].url){
												offer_poster = '{{ioProjects.trade}}/'+offeritem.images[0].url;
											}
										}
									} else {
										if(offeritem.offer_images && offeritem.offer_images.length > 0){
											if(offeritem.offer_images[0].urlSmall){
												offer_poster = '{{ioProjects.trade}}/'+offeritem.offer_images[0].urlSmall;
											} else {
												{% if offeritem.offer_images.0.url %}
													offer_poster = '{{ioProjects.trade}}/'+offeritem.offer_images[0].url;
												{% endif %}
											}
										}
									}
									
									if(countObj(offeritem.offer_sel_parameter) > 0){
										var offerparams_txt = '';
										if(offeritem.color_pkid){
											offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'цвет: '+offeritem.color_name['{{currentlang}}'];
										}
										if(offeritem.size_pkid){
											offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'размер: '+offeritem.size_name;
										}
										if(offeritem.gender_pkid){
											offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'пол: '+offeritem.gender_name;
										}
										if(offerparams_txt != ''){
											offerparams_txt = '<div class="text-sm text-muted">Характеристики: '+offerparams_txt+'</div>';
										}
										basketofferitems += (
											'<div class="row goodsitem goodsitem-'+offeritem.offerbasket_pkid+'">'+
												'<div class="col-md-4 col-xs-12">'+
													'<div class="row">'+
														'<div class="col-xs-2 col-sm-1 text-center">'+
															'<div class="checkbox">'+
																'<label>'+
																	'<input class="i-check goodsitem-check" data-pkid="'+offeritem.offerbasket_pkid+'" type="checkbox" />'+
																'</label>'+
															'</div>'+
															'<div>'+
																'<a href="javascript://" class="goodsitem-delete-btn" data-pkid="'+offeritem.offerbasket_pkid+'" title="Удалить"><i class="fa fa-lg fa-trash"></i></a>'+
															'</div>'+
														'</div>'+
														'<div class="col-xs-3 col-sm-3">'+
															'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
																'<img src="'+offer_poster+'" />'+
															'</a>'+
														'</div>'+
														'<div class="col-xs-7 col-sm-8">'+
															'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
																'<div class="text-sm">'+offeritem.tid+'</div>'+
																'<div>'+(offeritem.goods_name['{{currentlang}}']||(offeritem.offer_name||''))+'</div>'+
															'</a>'+
															offerparams_txt+
														'</div>'+
													'</div>'+
												'</div>'+
												'<div class="col-md-2 col-xs-4 text-center">'+
													'<h5 class="text-sm">Цена за ед.</h5>'+
													(offeritem.offer_discount && offeritem.offer_discount > 0 ?
														'<div class="text-sm"><s>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</s></div>'+
														'<div>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value - ((offeritem.offer_sel_parameter.cost_per_unit.value / 100) * offeritem.offer_discount), 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</div>'
													:
														'<div>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</div>'
													)+
													(offeritem.offer_discount && offeritem.offer_discount > 0 ?
														'<div class="text-sm">'+
															'Скидка: <span>-'+offeritem.offer_discount+'%</span>'+
														'</div>'
													:'')+
												'</div>'+
												'<div class="col-md-1 col-xs-4 text-center">'+
													'<h5 class="text-sm">Кол-во</h5>'+
													'<input class="form-control text-center goodsitem-count" type="number" min="'+offeritem.offer_minimum_lot+'" max="'+offeritem.offer_sel_parameter.count+'" data-pkid="'+offeritem.offerbasket_pkid+'" value="'+offeritem.count+'" />'+
												'</div>'+
												'<div class="col-md-2 col-xs-4 text-center">'+
													'<h5 class="text-sm">Сумма</h5>'+
													'<div class="goodsitem-itog">'+
														(offeritem.offer_discount && offeritem.offer_discount > 0 ?
															number_format((offeritem.offer_sel_parameter.cost_per_unit.value - ((offeritem.offer_sel_parameter.cost_per_unit.value / 100) * offeritem.offer_discount) * offeritem.count), 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency
														:
															number_format(offeritem.offer_sel_parameter.cost_per_unit.value * offeritem.count, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency
														)+
													'</div>'+
												'</div>'+
												'<div class="col-md-3 col-xs-12">'+
													'<h5 class="text-sm">Доставка</h5>'+
													'<a href="javascript://" class="goodsitem-amount-delivery" data-company-pkid="'+offeritem.company_pkid+'" data-pkid="'+offeritem.offerbasket_pkid+'">'+
														'<div class="value" data-method="'+offeritem.delivery_method+'" data-warehouse-pkid="'+offeritem.delivery_warehouse_pkid+'">'+
															'<div>'+offeritem.delivery_method_name+'</div>'+
															(offeritem.delivery_method == 0 ?
																'<div class="text-sm">Точка самовывоза: '+(offeritem.delivery_warehouse_name||'не выбрана')+'</div>'
															:'')+
														'</div>'+
													'</a>'+
												'</div>'+
											'</div>'
										);
									} else {
										basketofferitems += (
											'<div class="row goodsitem goodsitem-'+offeritem.offerbasket_pkid+'">'+
												'<div class="col-md-4 col-xs-12">'+
													'<div class="row">'+
														'<div class="col-xs-2 col-sm-1 text-center">'+
															'<div class="checkbox">'+
																'<label>'+
																	'<input class="i-check goodsitem-check" data-pkid="'+offeritem.offerbasket_pkid+'" type="checkbox" />'+
																'</label>'+
															'</div>'+
															'<div>'+
																'<a href="javascript://" class="goodsitem-delete-btn" data-pkid="'+offeritem.offerbasket_pkid+'" title="Удалить"><i class="fa fa-lg fa-trash"></i></a>'+
															'</div>'+
														'</div>'+
														'<div class="col-xs-3 col-sm-3">'+
															'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
																'<img src="'+offer_poster+'" />'+
															'</a>'+
														'</div>'+
														'<div class="col-xs-7 col-sm-8">'+
															'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
																'<div class="text-sm">'+offeritem.tid+'</div>'+
																'<div>'+(offeritem.goods_name['{{currentlang}}']||(offeritem.offer_name||'товар недоступен'))+'</div>'+
															'</a>'+
															'<div>Товар недоступен</div>'+
														'</div>'+
													'</div>'+
												'</div>'+
											'</div>'
										);
									}
								});
								$('.basket .basket-list').append(
									'<section class="panel basket-item">'+
										'<div class="panel-body">'+
											'<div>'+
												'<div class="checkbox">'+
													'<label>'+
														'<input class="i-check goodsitems-check" type="checkbox" />'+
														'<h5>Продавец: '+offer.company_name+'</h5>'+
													'</label>'+
												'</div>'+
											'</div>'+
											'<div class="goodsitems-list">'+
												basketofferitems+
											'</div>'+
										'</div>'+
									'</section>'
								);
							});
							$('.i-check, .i-radio').iCheck({
								checkboxClass: 'i-check',
								radioClass: 'i-radio'
							});
							if(offersBasket.length > 0){
								$('.basket-loading').css('display', 'none');
								$('.basket-empty').css('display', 'none');
								$('.basket').css('display', '');
							} else {
								// если в корзине пусто, то сигнализируем об этом
								$('.basket-loading').css('display', 'none');
								$('.basket').css('display', 'none');
								$('.basket-empty').css('display', '');
							}
						} else {
							// если в корзине пусто, то сигнализируем об этом
							$('.basket-loading').css('display', 'none');
							$('.basket').css('display', 'none');
							$('.basket-empty').css('display', '');
						}
					} else {
						var n = noty({
							text: 'Произошла ошибка при загрузке корзины. Попробуйте загрузить её еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
							type: 'warning',
							layout: 'bottomRight',
							timeout: 4000,
						});
					}
				}
			});
		}
		loadingOffersBasket();
	{% else %}
		// удалить товар
		$(document).on('click', '.goodsitem-delete-btn', function(){
			if(confirm('Вы уверены?')){
				var pkid = $(this).attr('data-pkid');
				
				var cartData = getCartData() || []; // вытаскиваем все данные корзины
				var cartData2 = [];
				$.each(cartData, function(i, el){
					if(el.tmp_pkid != pkid){
						cartData2.push(el);
					}
				});
				localStorage.removeItem('cart');
				setCartData(cartData2);
				
				$('.goodsitem.goodsitem-'+pkid).remove();
				$('.goodsitems-list').each(function(i, el){
					if($(el).find('.goodsitem').length <= 0){
						$(el).parent().parent().remove();
					}
				});
				
				if($('.basket-list .basket-item').length > 0){
					calcSelectedOffers();
				} else {
					$('.basket').css('display', 'none');
					$('.basket-empty').css('display', '');
				}
				
				$('.basket-offers-count').html(cartData2.length <= 99 ? cartData2.length : '99+');
			}
		});
		
		// удалить выбранные товары
		$(document).on('click', '.goodsitems-selected-delete-btn', function(){
			var flag_checked = false, checked_pkids = [];
			$.each($('.goodsitem-check'), function(i, el){
				if($(el).prop('checked')){
					flag_checked = true;
					
					var pkid = $(el).attr('data-pkid');
					checked_pkids.push(pkid);
				}
			});
			if(flag_checked){
				if(confirm('Вы уверены?')){
					var cartData = getCartData() || []; // вытаскиваем все данные корзины
					var cartData2 = [];
					$.each(cartData, function(j, el){
						if(!in_array(el.tmp_pkid, checked_pkids)){
							cartData2.push(el);
						}
					});
					localStorage.removeItem('cart');
					setCartData(cartData2);
					
					$.each(checked_pkids, function(i, pkid){
						$('.goodsitem.goodsitem-'+pkid).remove();
					});
					$('.goodsitems-list').each(function(i, el){
						if($(el).find('.goodsitem').length <= 0){
							$(el).parent().parent().remove();
						}
					});
					
					if($('.basket-list .basket-item').length > 0){
						calcSelectedOffers();
					} else {
						$('.basket').css('display', 'none');
						$('.basket-empty').css('display', '');
					}
					
					$('.basket-offers-count').html(cartData2.length <= 99 ? cartData2.length : '99+');
				}
			} else {
				var n = noty({
					text: 'Выберите товары для удаления',
					type: 'information',
					layout: 'bottomRight',
					timeout: 2000,
				});
			}
		});
		
		// изменение метода доставки
		$(document).on('click', '.goodsitem-amount-delivery', function(){
			var $objb = $(this);
			if(!$objb.hasClass('process')){
				var company_pkid = $objb.attr('data-company-pkid');
				var pkid = $objb.attr('data-pkid');
				
				if(company_pkid && pkid){
					var oldhtml = $objb.find('.value').html();
					
					$objb.addClass('process');
					$objb.find('.value').html('<i class="fa fa-spinner fa-spin"></i>');
					
					// обработка запроса
					ioCallEntity({
						entity: 'bmc.trade2.model.warehouses.getDeliveryMethods',
						resultType: 'json',
						params: {
							company_pkid: company_pkid,
						},
						success: function(data, tag){
							//console.log(data);
							var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
							if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
								var delivery_methods = obj.res.data;
								
								var delivery_methods_html = '';
								$.each(delivery_methods, function(i, el){
									delivery_methods_html += (
										'<a href="javascript://" data-method="0" data-warehouse-pkid="'+el.pkid+'" class="list-group-item delivery-method-item">'+
											'<div class="row">'+
												'<div class="col-md-4">'+
													'Самовывоз (0 KZT)'+
												'</div>'+
												'<div class="col-md-8 text-center">'+
													(el.name || '')+
													(el.location ?
														(el.location.address ?
															' ('+el.location.address+')'
														:'')
													:'')+
												'</div>'+
											'</div>'+
										'</a>'
									);
								});
								
								/*
								type: BootstrapDialog.TYPE_DEFAULT,
								type: BootstrapDialog.TYPE_INFO,
								type: BootstrapDialog.TYPE_PRIMARY,
								type: BootstrapDialog.TYPE_SUCCESS,
								type: BootstrapDialog.TYPE_WARNING,
								type: BootstrapDialog.TYPE_DANGER,
								
								size: BootstrapDialog.SIZE_NORMAL, // normal
								size: BootstrapDialog.SIZE_SMALL, // small
								size: BootstrapDialog.SIZE_WIDE, // large
								size: BootstrapDialog.SIZE_LARGE, // big font
								*/
								BootstrapDialog.show({
									closable: true,
									type: BootstrapDialog.TYPE_PRIMARY,
									//size: BootstrapDialog.SIZE_SMALL, // small
									title: 'Выберите метод доставки',
									message: (
										'<div class="list-group">'+
											delivery_methods_html+
										'</div>'
									),
									buttons: [
										{
											label: 'Отмена',
											cssClass: 'btn-default',
											action: function(dialog, event){
												dialog.close();
											},
										}
									],
									onshown: function(dialog){
										dialog.getModalBody().find('.reg-captcha').focus();
										
										// выбор метода доставки
										dialog.getModalBody().find('.delivery-method-item').off('click');
										dialog.getModalBody().find('.delivery-method-item').on('click', function(){
											var $objel = $(this);
											var delivery_method = $objel.attr('data-method');
											var delivery_warehouse_pkid = $objel.attr('data-warehouse-pkid');
											
											$objb.addClass('process');
											$objb.find('.value').html('<i class="fa fa-spinner fa-spin"></i>');
											
											// обработка запроса
											ioCallEntity({
												entity: 'bmc.trade2.model.offersBasket.changeDeliveryMethod',
												resultType: 'json',
												params: {
													delivery_method: delivery_method,
													delivery_warehouse_pkid: delivery_warehouse_pkid,
												},
												success: function(data, tag){
													//console.log(data);
													var obj2;try{obj2 = $.parseJSON(data);}catch(ex){obj2 = null;}
													if(obj2 != null && typeof(obj2.res) != 'undefined' && obj2.res != null && obj2.res.error_code == '1'){
														var cartData = getCartData() || [], cartData2 = [];
														$.each(cartData, function(i, el){
															if(el.tmp_pkid == pkid){
																el.delivery_method = delivery_method;
																el.delivery_warehouse_pkid = delivery_warehouse_pkid;
															}
															cartData2.push(el);
														});
														localStorage.removeItem('cart');
														setCartData(cartData2);
														
														$objb.find('.value')
															.attr('data-method', delivery_method)
															.attr('data-warehouse-pkid', delivery_warehouse_pkid)
															.html(
																'<div>'+(obj2.res.delivery_method_name||'')+'</div>'+
																(delivery_method == 0 ?
																	'<div class="text-sm">Точка самовывоза: '+(obj2.res.delivery_warehouse_name||'не выбрана')+'</div>'
																:'')
															);
														
														if($objb.parent().parent().find('.goodsitem-check').prop('checked')){
															calcSelectedOffers();
														}
													} else {
														var n = noty({
															text: 'Произошла ошибка. Попробуйте еще раз.'+(obj2 != null && obj2.res.error_str != '' ? ' Полный текст ошибки: '+obj2.res.error_str : ''),
															type: 'warning',
															layout: 'bottomRight',
															timeout: 4000,
														});
														
														$objb.find('.value').html(oldhtml);
													}
													$objb.removeClass('process');
												}
											});
											
											dialog.close();
										});
									},
								});
							} else {
								var n = noty({
									text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
									type: 'warning',
									layout: 'bottomRight',
									timeout: 4000,
								});
							}
							$objb.find('.value').html(oldhtml);
							$objb.removeClass('process');
						}
					});
				} else {
					if(!company_pkid){
						var n = noty({
							text: 'Не указан pkid компании',
							type: 'warning',
							layout: 'bottomRight',
							timeout: 2000,
						});
					} else if(!pkid){
						var n = noty({
							text: 'Не указан pkid записи',
							type: 'warning',
							layout: 'bottomRight',
							timeout: 2000,
						});
					}
				}
			}
		});
		
		// изменение количества товара
		$(document).on('change', '.goodsitem-count', function(){
			var $objb = $(this);
			
			var pkid = $objb.attr('data-pkid');
			var min_count = parseInt($objb.attr('min'));
			var max_count = parseInt($objb.attr('max'));
			var new_count = parseInt($objb.val()) || 1;
			if(new_count < min_count) new_count = min_count;
			if(new_count > max_count) new_count = max_count;
			
			$objb.attr('disabled', 'disabled');
			$objb.val(new_count);
			var old_itog = $objb.parent().parent().find('.goodsitem-itog').html();
			$objb.parent().parent().find('.goodsitem-itog').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			
			var cartData = getCartData() || [], cartData2 = [], offerBasket_item = [], old_count = 1;
			$.each(cartData, function(i, el){
				if(el.tmp_pkid == pkid){
					old_count = el.count;
					offerBasket_item = el;
				}
			});
			if(new_count != old_count){
				if(offerBasket_item){
					// обработка запроса
					ioCallEntity({
						entity: 'bmc.trade2.model.offersBasket.changeCount',
						resultType: 'json',
						params: {
							obj: offerBasket_item,
							count: new_count,
						},
						success: function(data, tag){
							//console.log(data);
							var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
							//console.log(obj);
							if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
								$.each(cartData, function(i, el){
									if(el.tmp_pkid == pkid){
										el.count = new_count;
									}
									cartData2.push(el);
								});
								localStorage.removeItem('cart');
								setCartData(cartData2);
								
								$objb.parent().parent().find('.goodsitem-itog').html(format_money(obj.res.full_amount, false));
								
								if($objb.parent().parent().find('.goodsitem-check').prop('checked')){
									calcSelectedOffers();
								}
							} else {
								var n = noty({
									text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
									type: 'warning',
									layout: 'bottomRight',
									timeout: 4000,
								});
								
								// возвращаем старое значение
								$objb.val(old_count);
								$objb.parent().parent().find('.goodsitem-itog').html(old_itog);
							}
							$objb.removeAttr('disabled');
						}
					});
				} else {
					// почему-то товар не найден в корзине...
				}
			} else {
				$objb.val(old_count);
				$objb.parent().parent().find('.goodsitem-itog').html(old_itog);
				$objb.removeAttr('disabled');
			}
		});
		
		// калькуляция выбранных товаров
		function calcSelectedOffers(){
			$('.goodsitem-buy-btn').addClass('process disabled');
			
			var cartData = getCartData() || [], checked_offersBasket = [], flag_delivery_method_not0 = false;
			$.each($('.goodsitem-check'), function(i, el){
				if($(el).prop('checked')){
					var pkid = $(el).attr('data-pkid');
					$.each(cartData, function(j, el2){
						if(el2.tmp_pkid == pkid){
							checked_offersBasket.push(el2);
						}
					});
					if(!flag_delivery_method_not0){
						var delivery_method = $(el).parent().parent().parent().parent().parent().parent().parent().find('.goodsitem-amount-delivery .value').attr('data-method');
						//console.log(delivery_method);
						flag_delivery_method_not0 = (delivery_method != 0);
					}
				}
			});
			
			$('.goodsitems-selected-info .total-count').html(checked_offersBasket.length);
			
			$('.goodsitems-selected-info .total-amount').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			$('.goodsitems-selected-info .total-amount-delivery').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			$('.goodsitems-selected-info .total-itog').html('<i class="fa fa-spinner fa-spin m-r-small"></i>');
			
			$('.order-country').attr('disabled', 'disabled');
			$('.order-city').attr('disabled', 'disabled');
			$('.order-address').attr('disabled', 'disabled');
			$('.order-zipcode').attr('disabled', 'disabled');
			
			if(checked_offersBasket.length > 0){
				// обработка запроса
				ioCallEntity({
					entity: 'bmc.trade2.model.offersBasket.getSelectedAmount',
					resultType: 'json',
					params: {
						offersBasket: checked_offersBasket,
					},
					success: function(data, tag){
						//console.log(data);
						var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
						if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
							var checked_pkids = [];
							$.each($('.goodsitem-check'), function(i, el){
								if($(el).prop('checked')){
									var pkid = $(el).attr('data-pkid');
									checked_pkids.push(pkid);
								}
							});
							if(checked_pkids.length > 0){
								$('.goodsitems-selected-info .total-amount').html(format_money(obj.res.amount, false));
								$('.goodsitems-selected-info .total-amount-delivery').html(format_money(obj.res.amount_delivery, false));
								$('.goodsitems-selected-info .total-itog').html(format_money(obj.res.full_amount, false));
								//$('.goodsitems-itog').html(format_money(obj.res.full_amount, false));
							} else {
								$('.goodsitems-selected-info .total-amount').html(format_money({value: 0, currency: 'KZT'}, false));
								$('.goodsitems-selected-info .total-amount-delivery').html(format_money({value: 0, currency: 'KZT'}, false));
								$('.goodsitems-selected-info .total-itog').html(format_money({value: 0, currency: 'KZT'}, false));
								//$('.goodsitems-itog').html(format_money({value: 0, currency: 'KZT'}, false));
							}
						} else {
							var n = noty({
								text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
								type: 'warning',
								layout: 'bottomRight',
								timeout: 4000,
							});
						}
						$('.goodsitem-buy-btn').removeClass('process disabled');
					}
				});
				if(flag_delivery_method_not0){
					$('.order-country').removeAttr('disabled');
					$('.order-city').removeAttr('disabled');
					$('.order-address').removeAttr('disabled');
					$('.order-zipcode').removeAttr('disabled');
				}
			} else {
				$('.goodsitems-selected-info .total-amount').html(format_money({value: 0, currency: 'KZT'}, false));
				$('.goodsitems-selected-info .total-amount-delivery').html(format_money({value: 0, currency: 'KZT'}, false));
				$('.goodsitems-selected-info .total-itog').html(format_money({value: 0, currency: 'KZT'}, false));
				//$('.goodsitems-itog').html(format_money({value: 0, currency: 'KZT'}, false));
				
				$('.goodsitem-buy-btn').removeClass('process disabled');
			}
		}
		
		// заказ выбранных товаров
		$(document).on('click', '.order-send-btn', function(){
			var $objb = $(this);
			if(!$objb.hasClass('process')){
				var cartData = getCartData() || [], checked_offersBasket = [], flag_delivery_method_not0 = false;
				$.each($('.goodsitem-check'), function(i, el){
					if($(el).prop('checked')){
						var pkid = $(el).attr('data-pkid');
						$.each(cartData, function(j, el2){
							if(el2.tmp_pkid == pkid){
								checked_offersBasket.push(el2);
							}
						});
						if(!flag_delivery_method_not0){
							var delivery_method = $(el).parent().parent().parent().parent().parent().parent().parent().find('.goodsitem-amount-delivery .value').attr('data-method');
							//console.log(delivery_method);
							flag_delivery_method_not0 = (delivery_method != 0);
						}
					}
				});
				if(checked_offersBasket.length > 0){
					var user_sname = $('.user-sname').val() || '';
					var user_fname = $('.user-fname').val() || '';
					var user_tel = $('.user-tel').val().replace(/[^\d;]/g, '');
					var user_email = $('.user-email').val().toLowerCase().replace(/\s+/g, '');
					
					var regexp_email = /^[0-9a-z-\.]+\@[0-9a-z-]{2,}\.[a-z]{2,}$/i;
					
					var order_country = $('.order-country').val() || '';
					var order_city = $('.order-city').val() || '';
					var order_address = $('.order-address').val() || '';
					var order_zipcode = $('.order-zipcode').val() || '';
					
					if(user_sname != ''
					&& user_fname != ''
					&& user_tel != ''
					&& user_email != ''
					&& regexp_email.test(user_email)
					&& user_tel.length == 11){
						if(!flag_delivery_method_not0
						|| (flag_delivery_method_not0
							&& order_country != ''
							&& order_city != ''
							&& order_address != ''
							&& order_zipcode != '')){
							if(confirm('Вы собираетесь оформить заказ. Продолжить?')){
								/*
								type: BootstrapDialog.TYPE_DEFAULT,
								type: BootstrapDialog.TYPE_INFO,
								type: BootstrapDialog.TYPE_PRIMARY,
								type: BootstrapDialog.TYPE_SUCCESS,
								type: BootstrapDialog.TYPE_WARNING,
								type: BootstrapDialog.TYPE_DANGER,
								
								size: BootstrapDialog.SIZE_NORMAL, // normal
								size: BootstrapDialog.SIZE_SMALL, // small
								size: BootstrapDialog.SIZE_WIDE, // large
								size: BootstrapDialog.SIZE_LARGE, // big font
								*/
								BootstrapDialog.show({
									closable: true,
									type: BootstrapDialog.TYPE_PRIMARY,
									size: BootstrapDialog.SIZE_SMALL, // small
									title: 'Подтверждение',
									message: (
										'<div class="text-center">'+
											'Введите код с картинки:<br/>'+
											'<div><img src="/entity/io.model.captcha.draw" class="form-control reg-captcha-img" title="Обновить картинку" /></div>'+
											'<div><input type="text" class="form-control text-center reg-captcha" placeholder="Текст с картинки" /></div>'+
										'</div>'
									),
									buttons: [
										{
											label: 'Продолжить',
											cssClass: 'btn-info',
											action: function(dialog, event){
												var $btnReg = this;
												var $btnCancel = dialog.getButton('cancel-btn');
												
												var reg_captcha = dialog.getModalBody().find('.reg-captcha').val();
												
												if(reg_captcha != ''){
													$btnReg.spin();
													$btnReg.disable();
													$btnCancel.disable();
													dialog.setClosable(false);
													
													$objb
														.addClass('process disabled')
														.html('<i class="fa fa-spinner fa-spin m-r-small"></i> Оформление заказа');
													
													var payment_method = parseInt($('.order-payment-method').val()) || 0;
													var comment = (
														(flag_delivery_method_not0 ? 
															'Страна: '+order_country+"\n"+
															'Город: '+order_city+"\n"+
															'Адрес: '+order_address+"\n"+
															'Почтовый индекс: '+order_zipcode+"\n"+
															"\n"
														:'')+
														'Способ оплаты: '+$('.order-payment-method :selected').text()
													);
													if($('.order-comment').val() != ''){
														comment += "\n\n"+'Комментарий к заказу: '+$('.order-comment').val();
													}
													
													// обработка запроса
													ioCallEntity({
														entity: 'bmc.trade2.model.invoices2.addFromBasket',
														resultType: 'json',
														params: {
															user_sname: user_sname,
															user_fname: user_fname,
															user_tel: user_tel,
															user_email: user_email,
															captcha: reg_captcha,
															offersBasket: checked_offersBasket,
															payment_method: payment_method,
															comment: comment,
														},
														success: function(data, tag){
															//console.log(data);
															var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
															if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
																ioCallEntity({
																	entity: 'io.model.session.updateJWT',
																	resultType: 'json',
																	params: {
																		token: obj.res.jwt_string,
																	},
																	success: function(data, tag){
																		swal({
																			title: 'Заказ успешно оформлен!',
																			text: 'Ожидайте обработки вашего заказа',
																			type: 'success',
																			showConfirmButton: false,
																		});
																		setTimeout(function(){
																			if(typeof(obj.res.pkids) != 'undefined'){
																				if(obj.res.pkids.length == 1){
																					document.location.href = urlGetAdd('/orders', 'pkid', obj.res.pkids[0], 'account', '{{user.account}}');
																				} else {
																					document.location.href = urlGetAdd('/orders', 'account', '{{user.account}}');
																				}
																			} else {
																				document.location.href = urlGetAdd('/orders', 'account', '{{user.account}}');
																			}
																		}, 2000);
																	}
																});
															} else {
																if(obj.res.error_code == -1000020){
																	var n = noty({
																		text: 'Неверно введен код с картинки',
																		type: 'warning',
																		layout: 'bottomRight',
																		timeout: 2000,
																	});
																} else {
																	var n = noty({
																		text: 'Произошла ошибка. Попробуйте еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
																		type: 'warning',
																		layout: 'bottomRight',
																		timeout: 4000,
																	});
																}
															}
															$objb
																.removeClass('process disabled')
																.html('Оформить заказ');
															
															dialog.getModalBody().find('.reg-captcha-img').attr('src', '/entity/io.model.captcha.draw');
															dialog.getModalBody().find('.reg-captcha').val('').focus();
															
															$btnReg.stopSpin();
															$btnReg.enable();
															$btnCancel.enable();
															dialog.setClosable(true);
														}
													});
												} else {
													var n = noty({
														text: 'Вы не указали код с картинки',
														type: 'warning',
														layout: 'bottomRight',
														timeout: 2000,
													});
													dialog.getModalBody().find('.reg-captcha').focus();
												}
											},
										},
										{
											id: 'cancel-btn',
											label: 'Отмена',
											cssClass: 'btn-default',
											action: function(dialog, event){
												dialog.close();
											},
										}
									],
									onshown: function(dialog){
										dialog.getModalBody().find('.reg-captcha').focus();
										
										dialog.getModalBody().find('.reg-captcha-img').off('click');
										dialog.getModalBody().find('.reg-captcha-img').on('click', function(){
											$(this).attr('src', '/entity/io.model.captcha.draw');
											dialog.getModalBody().find('.reg-captcha').val('').focus();
										});
									},
								});
							}
						} else {
							if(order_country == ''){
								var n = noty({
									text: 'Укажите Вашу страну',
									type: 'warning',
									layout: 'bottomRight',
									timeout: 2000,
								});
								$('.order-country').focus();
							} else if(order_city == ''){
								var n = noty({
									text: 'Укажите Ваш город',
									type: 'warning',
									layout: 'bottomRight',
									timeout: 2000,
								});
								$('.order-city').focus();
							} else if(order_address == ''){
								var n = noty({
									text: 'Укажите Ваш адрес',
									type: 'warning',
									layout: 'bottomRight',
									timeout: 2000,
								});
								$('.order-address').focus();
							} else if(order_zipcode == ''){
								var n = noty({
									text: 'Укажите Ваш почтовый индекс',
									type: 'warning',
									layout: 'bottomRight',
									timeout: 2000,
								});
								$('.order-zipcode').focus();
							}
						}
					} else {
						if(user_sname == ''){
							var n = noty({
								text: 'Вы не указали свою Фамилию',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-sname').focus();
						} else if(user_fname == ''){
							var n = noty({
								text: 'Вы не указали свое Имя',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-fname').focus();
						} else if(user_tel == ''){
							var n = noty({
								text: 'Вы не указали свой номер телефона',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-tel').focus();
						} else if(user_tel.length != 11){
							var n = noty({
								text: 'Номер телефона должен состоять из 11 цифр',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-tel').focus();
						} else if(user_email == ''){
							var n = noty({
								text: 'Вы не указали свой Email',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-email').focus();
						} else if(!regexp_email.test(user_email)){
							var n = noty({
								text: 'Указан некорректный email (адрес электронной почты)',
								type: 'warning',
								layout: 'bottomRight',
								timeout: 2000,
							});
							$('.user-email').focus();
						}
					}
				} else {
					var n = noty({
						text: 'Выберите товары для заказа',
						type: 'warning',
						layout: 'bottomRight',
						timeout: 2000,
					});
				}
			}
		});
		
		// первоначальная загрузка корзины
		function loadingOffersBasket(){
			var cartData = getCartData() || []; // вытаскиваем все данные корзины
			//console.log(cartData);
			/*{
				tmp_pkid: ioGenPkid(), // pkid записи
				company_pkid: 0, // pkid компании
				goods_pkid: 0, // pkid товара
				offer_number: 0, // номер предложения товара, уникальный во всей системе
				tid: '', // ИНТ товара
				color_pkid: 0, // цвет
				size_pkid: 0, // размер
				gender_pkid: 0, // пол
				count: 0, // количество товара
				delivery_method: 0, // метод доставки (0 - самовывоз, ... - компании)
				delivery_warehouse_pkid: 0, // pkid точки выдачи товара (розничная точка либо склад) (если выбран метод доставки самовывоз)
			}*/
			// если что-то в корзине уже есть, начинаем формировать данные для вывода
			if(cartData !== null){
				$('.basket .basket-list').html('');
				
				// обработка запроса
				ioCallEntity({
					entity: 'bmc.trade2.model.offersBasket.getData2Guest',
					resultType: 'json',
					params: {
						offersBasket: cartData,
					},
					success: function(data, tag){
						//console.log(data);
						var obj;try{obj = $.parseJSON(data);}catch(ex){obj = null;}
						if(obj != null && typeof(obj.res) != 'undefined' && obj.res != null && obj.res.error_code == '1'){
							var offersBasket = obj.res.data || [];
							$.each(offersBasket, function(i, offer){
								var basketofferitems = '';
								$.each(offer.offers, function(j, offeritem){
									var offer_poster = '{{template.path}}/img/bmcsales-logo.svg';
									if(offeritem.images && offeritem.images.length > 0){
										if(offeritem.images[0].urlSmall){
											offer_poster = '{{ioProjects.trade}}/'+offeritem.images[0].urlSmall;
										} else {
											if(offeritem.images[0].url){
												offer_poster = '{{ioProjects.trade}}/'+offeritem.images[0].url;
											}
										}
									} else {
										if(offeritem.offer_images && offeritem.offer_images.length > 0){
											if(offeritem.offer_images[0].urlSmall){
												offer_poster = '{{ioProjects.trade}}/'+offeritem.offer_images[0].urlSmall;
											} else {
												{% if offeritem.offer_images.0.url %}
													offer_poster = '{{ioProjects.trade}}/'+offeritem.offer_images[0].url;
												{% endif %}
											}
										}
									}
									
									var offerparams_txt = '';
									if(offeritem.color_pkid){
										offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'цвет: '+offeritem.color_name['{{currentlang}}'];
									}
									if(offeritem.size_pkid){
										offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'размер: '+offeritem.size_name;
									}
									if(offeritem.gender_pkid){
										offerparams_txt += (offerparams_txt != '' ? ', ' : '')+'пол: '+offeritem.gender_name;
									}
									if(offerparams_txt != ''){
										offerparams_txt = '<div class="text-sm text-muted">Характеристики: '+offerparams_txt+'</div>';
									}
									basketofferitems += (
										'<div class="row goodsitem goodsitem-'+offeritem.tmp_pkid+'">'+
											'<div class="col-md-4 col-xs-12">'+
												'<div class="row">'+
													'<div class="col-xs-2 col-sm-1 text-center">'+
														'<div class="checkbox">'+
															'<label>'+
																'<input class="i-check goodsitem-check" data-pkid="'+offeritem.tmp_pkid+'" type="checkbox" />'+
															'</label>'+
														'</div>'+
														'<div>'+
															'<a href="javascript://" class="goodsitem-delete-btn" data-pkid="'+offeritem.tmp_pkid+'" title="Удалить"><i class="fa fa-lg fa-trash"></i></a>'+
														'</div>'+
													'</div>'+
													'<div class="col-xs-3 col-sm-3">'+
														'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
															'<img src="'+offer_poster+'" />'+
														'</a>'+
													'</div>'+
													'<div class="col-xs-7 col-sm-8">'+
														'<a href="'+urlGetAdd('{{link('/catalog')}}', 'tid', offeritem.tid, 'offernum', offeritem.offer_number)+'">'+
															'<div class="text-sm">'+offeritem.tid+'</div>'+
															'<div>'+(offeritem.goods_name['{{currentlang}}']||(offeritem.offer_name||''))+'</div>'+
														'</a>'+
														offerparams_txt+
													'</div>'+
												'</div>'+
											'</div>'+
											'<div class="col-md-2 col-xs-4 text-center">'+
												'<h5 class="text-sm">Цена за ед.</h5>'+
												(offeritem.offer_discount && offeritem.offer_discount > 0 ?
													'<div class="text-sm"><s>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</s></div>'+
													'<div>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value - ((offeritem.offer_sel_parameter.cost_per_unit.value / 100) * offeritem.offer_discount), 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</div>'
												:
													'<div>'+number_format(offeritem.offer_sel_parameter.cost_per_unit.value, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency+'</div>'
												)+
												(offeritem.offer_discount && offeritem.offer_discount > 0 ?
													'<div class="text-sm">'+
														'Скидка: <span>-'+offeritem.offer_discount+'%</span>'+
													'</div>'
												:'')+
											'</div>'+
											'<div class="col-md-1 col-xs-4 text-center">'+
												'<h5 class="text-sm">Кол-во</h5>'+
												'<input class="form-control text-center goodsitem-count" type="number" min="'+offeritem.offer_minimum_lot+'" max="'+offeritem.offer_sel_parameter.count+'" data-pkid="'+offeritem.tmp_pkid+'" value="'+offeritem.count+'" />'+
											'</div>'+
											'<div class="col-md-2 col-xs-4 text-center">'+
												'<h5 class="text-sm">Сумма</h5>'+
												'<div class="goodsitem-itog">'+
													(offeritem.offer_discount && offeritem.offer_discount > 0 ?
														number_format((offeritem.offer_sel_parameter.cost_per_unit.value - ((offeritem.offer_sel_parameter.cost_per_unit.value / 100) * offeritem.offer_discount) * offeritem.count), 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency
													:
														number_format(offeritem.offer_sel_parameter.cost_per_unit.value * offeritem.count, 2, '.', ' ')+' '+offeritem.offer_sel_parameter.cost_per_unit.currency
													)+
												'</div>'+
											'</div>'+
											'<div class="col-md-3 col-xs-12">'+
												'<h5 class="text-sm">Доставка</h5>'+
												'<a href="javascript://" class="goodsitem-amount-delivery" data-company-pkid="'+offeritem.company_pkid+'" data-pkid="'+offeritem.tmp_pkid+'">'+
													'<div class="value" data-method="'+offeritem.delivery_method+'" data-warehouse-pkid="'+offeritem.delivery_warehouse_pkid+'">'+
														'<div>'+offeritem.delivery_method_name+'</div>'+
														(offeritem.delivery_method == 0 ?
															'<div class="text-sm">Точка самовывоза: '+(offeritem.delivery_warehouse_name||'не выбрана')+'</div>'
														:'')+
													'</div>'+
												'</a>'+
											'</div>'+
										'</div>'
									);
								});
								$('.basket .basket-list').append(
									'<section class="panel basket-item">'+
										'<div class="panel-body">'+
											'<div>'+
												'<div class="checkbox">'+
													'<label>'+
														'<input class="i-check goodsitems-check" type="checkbox" />'+
														'<h5>Продавец: '+offer.company_name+'</h5>'+
													'</label>'+
												'</div>'+
											'</div>'+
											'<div class="goodsitems-list">'+
												basketofferitems+
											'</div>'+
										'</div>'+
									'</section>'
								);
							});
							$('.i-check, .i-radio').iCheck({
								checkboxClass: 'i-check',
								radioClass: 'i-radio'
							});
							if(offersBasket.length > 0){
								$('.basket-loading').css('display', 'none');
								$('.basket-empty').css('display', 'none');
								$('.basket').css('display', '');
							} else {
								// если в корзине пусто, то сигнализируем об этом
								$('.basket-loading').css('display', 'none');
								$('.basket').css('display', 'none');
								$('.basket-empty').css('display', '');
							}
						} else {
							var n = noty({
								text: 'Произошла ошибка при загрузке корзины. Попробуйте загрузить её еще раз.'+(obj != null && obj.res.error_str != '' ? ' Полный текст ошибки: '+obj.res.error_str : ''),
								type: 'warning',
								layout: 'bottomRight',
								timeout: 4000,
							});
						}
					}
				});
			} else {
				// если в корзине пусто, то сигнализируем об этом
				$('.basket-loading').css('display', 'none');
				$('.basket').css('display', 'none');
				$('.basket-empty').css('display', '');
			}
		}
		loadingOffersBasket();
	{% endif %}
}
</script>
<div class="global-wrapper clearfix" id="global-wrapper">
		<div class="basket-loading">
			<div class="lds-css">
				<div class="lds-spinner">
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
					<div></div>
				</div>
			</div>
			<div class="text-center">
				<p class="lead">Загрузка корзины...</p>
			</div>
		</div>
		<div class="basket-empty" style="display: none;">
			<div class="text-center">
				<i class="fa fa-cart-arrow-down empty-cart-icon"></i>
				<p class="lead">Ваша корзина пока еще пуста</p>
				<a class="btn btn-primary btn-lg" href="{{link('/catalog')}}">Начать покупки <i class="fa fa-long-arrow-right"></i></a>
			</div>
		</div>
		<div class="basket" style="display: none;">
			<section class="panel">
				<div class="panel-body">
					<div class="row">
						<div class="col-md-3">
							<div style="margin-top: 5px;">
								<div class="checkbox" style="margin: 0;">
									<label style="width: 100%;">
										<input class="i-check goodsitems-check-all" type="checkbox" />
										<h5>Выбрать все товары</h5>
									</label>
								</div>
							</div>
						</div>
						<div class="col-md-9 text-right">
							<a class="btn btn-default" style="margin: 0 3px; white-space: normal;" href="{{link('/catalog')}}">Продолжить покупки</a>
							<div class="btn btn-danger goodsitems-selected-delete-btn" style="margin: 0 3px; white-space: normal;" title="Удалить выбранные товары">
								<i class="fa fa-trash"></i>
							</div>
						</div>
					</div>
				</div>
			</section>
			<div class="basket-list"></div>
			<section class="panel goodsitems-selected-info">
				<div class="panel-body">
					<div class="row">
						<div class="col-md-8 col-md-offset-4 col-xs-12 text-right">
							<div class="row">
								<div class="col-md-3 text-center">
									<div>Выбрано товаров:</div>
									<h5 class="total-count">0</h5>
								</div>
								<div class="col-md-3 text-center">
									<div>Стоимость товаров:</div>
									<h5 class="total-amount" style="color: #c00;">{{format_money({currency: 'KZT', value: 0}, false)}}</h5>
								</div>
								<div class="col-md-3 text-center">
									<div>Стоимость доставки:</div>
									<div class="total-amount-delivery" style="color: #c00;">{{format_money({currency: 'KZT', value: 0}, false)}}</div>
								</div>
								<div class="col-md-3 text-center">
									<div>Общая сумма:</div>
									<div class="total-itog" style="color: #c00;">{{format_money({currency: 'KZT', value: 0}, false)}}</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</section>
			{% if not user.isGuest %}
				<section class="panel panel-default">
					<div class="panel-heading">Информация о доставке, адрес:</div>
					<div class="panel-body">
						<div class="row">
							<div class="col-md-6" style="border-right: 1px solid #ccc;">
								<div class="row">
									<div class="col-md-12">
										<label class="control-label">
											<b>Контактное лицо:</b>
										</label>
									</div>
								</div>
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<input type="text" class="form-control user-sname" placeholder="Ваша Фамилия" value="{{user['user-info'].sname}}" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<input type="text" class="form-control user-fname" placeholder="Ваше Имя" value="{{user['user-info'].fname}}" disabled="disabled" />
										</div>
									</div>
								</div>
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Контактный телефон:</b></label>
											<input type="tel" class="form-control phonenumber user-tel" placeholder="+7 (701) 987-65-43" value="{{user['user-info'].tel}}" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Контактный email:</b></label>
											<input type="email" class="form-control user-email" placeholder="" value="{{user['user-info'].email}}" disabled="disabled" />
										</div>
									</div>
								</div>
							</div>
							<div class="col-md-6">
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Страна:</b></label>
											<input type="text" class="form-control order-country" placeholder="Напр.: Казахстан" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Город:</b></label>
											<input type="text" class="form-control order-city" placeholder="Напр.: Астана" disabled="disabled" />
										</div>
									</div>
								</div>
								<div class="row">
									<div class="col-md-8">
										<div class="form-group">
											<label class="control-label"><b>Адрес:</b></label>
											<input type="text" class="form-control order-address" placeholder="Напр.: улица Абая, дом 8, офис 303" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-4">
										<div class="form-group">
											<label class="control-label"><b>Почтовый индекс:</b></label>
											<input type="text" class="form-control order-zipcode" placeholder="Напр.: 010000" disabled="disabled" />
										</div>
									</div>
								</div>
							</div>
						</div>
						<div class="row">
							<div class="col-md-12">
								<textarea class="form-control order-comment" style="resize: none;" rows="2" placeholder="Комментарий к заказу (не обязательно)"></textarea>
							</div>
						</div>
					</div>
				</section>
			{% else %}
				<section class="panel panel-default">
					<div class="panel-heading">Информация о доставке, адрес:</div>
					<div class="panel-body">
						<div class="row">
							<div class="col-md-6">
								<div class="row" style="border-bottom: 1px solid #ccc; padding-bottom: 15px; margin-bottom: 15px;">
									<div class="col-md-12">
										Для оформления заказа <a href="{{UrlGetAdd(link('/login'), 'back', 'http://'~site.domain~page.uri)}}">авторизуйтесь</a> либо заполните форму ниже:
									</div>
								</div>
								<div class="row">
									<div class="col-md-12">
										<label class="control-label">
											<b>Контактное лицо:</b>
										</label>
									</div>
								</div>
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<input type="text" class="form-control user-sname" placeholder="Ваша Фамилия" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<input type="text" class="form-control user-fname" placeholder="Ваше Имя" />
										</div>
									</div>
								</div>
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Контактный телефон:</b></label>
											<input type="tel" class="form-control phonenumber user-tel" placeholder="+7 (701) 987-65-43" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Контактный email:</b></label>
											<input type="email" class="form-control user-email" placeholder="" />
										</div>
									</div>
								</div>
							</div>
							<div class="col-md-6" style="border-left: 1px solid #ccc;">
								<div class="row">
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Страна:</b></label>
											<input type="text" class="form-control order-country" placeholder="Напр.: Казахстан" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-6">
										<div class="form-group">
											<label class="control-label"><b>Город:</b></label>
											<input type="text" class="form-control order-city" placeholder="Напр.: Астана" disabled="disabled" />
										</div>
									</div>
								</div>
								<div class="row">
									<div class="col-md-8">
										<div class="form-group">
											<label class="control-label"><b>Адрес:</b></label>
											<input type="text" class="form-control order-address" placeholder="Напр.: улица Абая, дом 8, офис 303" disabled="disabled" />
										</div>
									</div>
									<div class="col-md-4">
										<div class="form-group">
											<label class="control-label"><b>Почтовый индекс:</b></label>
											<input type="text" class="form-control order-zipcode" placeholder="Напр.: 010000" disabled="disabled" />
										</div>
									</div>
								</div>
								<div class="row">
									<div class="col-md-12">
										<textarea class="form-control order-comment" style="resize: none;" rows="2" placeholder="Комментарий к заказу (не обязательно)"></textarea>
									</div>
								</div>
							</div>
						</div>
						
					</div>
				</section>
			{% endif %}
			<div class="row">
				<div class="col-md-4 col-md-offset-4">
					<section class="panel panel-default">
						<div class="panel-body text-center">
							<div class="form-group" style="margin-bottom: 0;">
								<label class="control-label"><b>Способ оплаты:</b></label>
								<select class="form-control order-payment-method">
									<option value="0">Наличными при получении</option>
									<option value="1">Банковская карта (Visa/MasterCard)</option>
								</select>
							</div>
						</div>
					</section>
				</div>
			</div>
			<div class="row">
				<div class="col-md-4 col-md-offset-4">
					<section class="panel panel-default">
						<div class="panel-body text-center">
							<div class="btn btn-block btn-lg btn-primary order-send-btn" style="margin: 0 3px; white-space: normal;">Оформить заказ</div>
							{% if user.isGuest %}
								<div class="text-sm" style="margin-top: 15px;">Нажимая на кнопку "Оформить заказ", я соглашаюсь с <a href="{{ioProjects.kdt}}/privacy" target="_blank">Политикой конфиденциальности</a> и условиями Публичной оферты.</div>
							{% endif %}
						</div>
					</section>
				</div>
			</div>
		</div>
		<div class="gap"></div>
	</div>
</div>
Код обязательно должен обладать отступом (tabs).