{{ header }} 
{% set checkoutPage = true %}
{% if (registry.has('theme_options') == constant('true')) %} 
	{% set theme_options = registry.get('theme_options') %}
	{% set config = registry.get('config') %}

	<!-- BREADCRUMB
		================================================== -->
	<div class="breadcrumb {% if (theme_options.get( 'breadcrumb_layout' ) == 1) %} {{ 'full-width' }} {% elseif (theme_options.get( 'breadcrumb_layout' ) == 4) %} {{ 'fixed3 fixed2' }} {% elseif (theme_options.get( 'breadcrumb_layout' ) == 3) %} {{ 'fixed2' }} {% else %} {{ 'fixed' }} {% endif %}">
		<div class="background-breadcrumb"></div>
		<div class="background" {% set breadcrumb = theme_options.getModules('breadcrumb') %} {% if ( breadcrumb|length > 0 ) %} {% for module in breadcrumb %} {{ module }} {% endfor %} {% endif %}>
			<div class="shadow"></div>
			<div class="pattern">
				<div class="container">
					<div class="clearfix">
					     {% if (product_page is defined and theme_options.get( 'product_breadcrumb' ) != '2') %} 
					     {% set product_prev_next = theme_options.getNextPrevProduct( product_id ) %} 
					          <div class="row">
					               <div class="col-md-3 hidden-xs hidden-sm">
					                    {% if (product_prev_next['prev'] is iterable) %} 
					                         {% if (theme_options.get( 'product_breadcrumb' ) == '1') %} 
	     				                    <div class="next-product-2 clearfix">
	     				                         <a href="{{ product_prev_next['prev']['href'] }}" data-toggle="tooltip" data-placement="top" title="{{ product_prev_next['prev']['name'] }}" class="button-previous-next">{% if (theme_options.get( 'previous_product_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'previous_product_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Previous product' }} {% endif %}</a>
	     				                    </div>
	     				                    {% else %} 
	     				                    <div class="next-product clearfix">
	     				                         <div class="image"><a href="{{ product_prev_next['prev']['href'] }}"><img src="{{ product_prev_next['prev']['thumb'] }}" alt="{{ product_prev_next['prev']['name'] }}"></a></div>
	     				                         <div class="right">
	     				                              <div class="name"><a href="{{ product_prev_next['prev']['href'] }}">{{ product_prev_next['prev']['name'] }}</a></div>
	     				                              <div class="price">{% if (product_prev_next['prev']['special']) %} {{ product_prev_next['prev']['special'] }} {% else %} {{ product_prev_next['prev']['price'] }} {% endif %}</div>
	     				                         </div>
	     				                    </div>
	     				                    {% endif %} 
					                    {% endif %} 
					               </div>
					               
					               <div class="col-md-6">
					               		{% for breadcrumb in breadcrumbs %} 
					               			{% set heading_title = breadcrumb['text'] %} 
					               		{% endfor %} 
					               		
					                    <h1 id="title-page">{{ heading_title }} 
					                    	{% if (weight is defined) %} {% if (weight) %} 
					                    	&nbsp;({{ weight }})
					                    	{% endif %} {% endif %} 
					                    </h1>
					                    
					                    <ul>
					                    	{% for breadcrumb in breadcrumbs %} 
					                    	<li><a href="{{ breadcrumb['href'] }}">{% if (breadcrumb['text'] != '<i class="fa fa-home"></i>') %} {{ breadcrumb['text'] }} {% else %} {% if (theme_options.get( 'home_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'home_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Home' }} {% endif %} {% endif %}</a></li>
					                    	{% endfor %} 
					                    </ul>
					               </div>
					               
	     					     <div class="col-md-3 hidden-xs hidden-sm">
	     					          {% if (product_prev_next['next'] is iterable) %} 
	          					          {% if (theme_options.get( 'product_breadcrumb' ) == '1') %} 
	          					          <div class="next-product-2 right clearfix">
	          					               <a href="{{ product_prev_next['next']['href'] }}" data-toggle="tooltip" data-placement="top" title="{{ product_prev_next['next']['name'] }}" class="button-previous-next">{% if (theme_options.get( 'next_product_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'next_product_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Next product' }} {% endif %}</a>
	          					          </div>
	          					          {% else %} 
	          					          <div class="next-product right clearfix">
	          					               <div class="image"><a href="{{ product_prev_next['next']['href'] }}"><img src="{{ product_prev_next['next']['thumb'] }}" alt="{{ product_prev_next['next']['name'] }}"></a></div>
	          					               <div class="right">
	          					                    <div class="name"><a href="{{ product_prev_next['next']['href'] }}">{{ product_prev_next['next']['name'] }}</a></div>
	          					                    <div class="price">{% if (product_prev_next['next']['special']) %} {{ product_prev_next['next']['special'] }} {% else %} {{ product_prev_next['next']['price'] }} {% endif %}</div>
	          					               </div>
	          					          </div>
	          					          {% endif %} 
	     					          {% endif %} 
	     					     </div>
	     					</div>
						{% else %} 
							 {% for breadcrumb in breadcrumbs %} 
							 	{% set heading_title = breadcrumb['text'] %} 
							 {% endfor %} 
							 
						     <h1 id="title-page">{{ heading_title }} 
						     	{% if (weight is defined) %} {% if (weight) %} 
						     	&nbsp;({{ weight }})
						     	{% endif %} {% endif %} 
						     </h1>
						     
						     <ul>
						     	{% for breadcrumb in breadcrumbs %} 
						     	<li><a href="{{ breadcrumb['href'] }}">{% if (breadcrumb['text'] != '<i class="fa fa-home"></i>') %} {{ breadcrumb['text'] }} {% else %} {% if (theme_options.get( 'home_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'home_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Home' }} {% endif %} {% endif %}</a></li>
						     	{% endfor %} 
						     </ul> 
						{% endif %} 
					</div>
				</div>
			</div>
		</div>
	</div>

	<!-- MAIN CONTENT
		================================================== -->
	<div class="main-content {% if (theme_options.get( 'content_layout' ) == 1) %} {{ 'full-width' }} {% elseif (theme_options.get( 'content_layout' ) == 4) %} {{ 'fixed3 fixed2' }} {% elseif (theme_options.get( 'content_layout' ) == 3) %} {{ 'fixed2' }} {% else %} {{ 'fixed' }} {% endif %} inner-page">
		<div class="background-content"></div>
		<div class="background">
			<div class="shadow"></div>
			<div class="pattern">
				<div class="container">
					
					{% set preface_left = theme_options.getModules('preface_left') %}
					{% set preface_right = theme_options.getModules('preface_right') %}
					
					{% if ( preface_left|length > 0 or preface_right|length > 0 ) %} 
					<div class="row">
						<div class="col-sm-9">
													{% if ( preface_left|length > 0 ) %}
								{% for module in preface_left %} 
									{{ module }}
								{% endfor %}
							{% endif %} 
						</div>
						
						<div class="col-sm-3">
													{% if ( preface_right|length > 0 ) %}
								{% for module in preface_right %} 
									{{ module }}
								{% endfor %}
							{% endif %} 
						</div>
					</div>
					{% endif %} 
					
					
					{% set preface_fullwidth = theme_options.getModules('preface_fullwidth') %}
					{% if ( preface_fullwidth|length > 0 ) %}
						{{ '<div class="row"><div class="col-sm-12">' }}
						{% for module in preface_fullwidth %} 
							{{ module }}
						{% endfor %}
						{{ '</div></div>' }}
					{% endif %} 
					
					<div class="row">
						{% set columnleft = theme_options.getModules('column_left') %}
						{% if ( columnleft|length > 0 ) %} 
						<div class="col-md-3" id="column-left">
							{% for module in columnleft %} 
								{{ module }}
							{% endfor %}
						</div>
						{% endif %} 
						
						{% set grid_center = 12 %} {% if ( columnleft|length > 0 ) %} {% set grid_center = 9 %} {% endif %} 
						<div class="col-md-{{ grid_center }}">
							
							{% set content_big_column = theme_options.getModules('content_big_column') %}
							{% if ( content_big_column|length > 0 ) %} 
								{% for module in content_big_column %} 
									{{ module }}
								{% endfor %}
							{% endif %} 
							
							
							{% set content_top = theme_options.getModules('content_top') %}
							{% if ( content_top|length > 0 ) %} 
								{% for module in content_top %} 
									{{ module }}
								{% endfor %}
							{% endif %} 
							
							<div class="row">
								
								{% set grid_content_top = 12 %} 
								{% set grid_content_right = 3 %}
								{% set column_right = theme_options.getModules('column_right') %} 
								{% if ( column_right|length > 0 ) %}
									{% if (grid_center == 9) %}
										{% set grid_content_top = 8 %}
										{% set grid_content_right = 4 %}
									{% else %} 
										{% set grid_content_top = 9 %}
										{% set grid_content_right = 3 %}
									{% endif %}
								{% endif %}
								
								<div class="col-md-{{ grid_content_top }} center-column {% if (background_status is defined) %} {{ 'content-without-background' }} {% else %} {{ 'content-with-background' }} {% endif %}" id="content">

									{% if (error_warning is defined and checkoutPage is not defined) %} 
										{% if (error_warning) %} 
										<div class="warning">
											<button type="button" class="close" data-dismiss="alert">&times;</button>
											{{ error_warning }} 
										</div>
										{% endif %} 
									{% endif %} 
									
									{% if (success is defined) %} 
										{% if (success) %} 
										<div class="success">
											<button type="button" class="close" data-dismiss="alert">&times;</button>
											{{ success }} 
										</div>
										{% endif %} 
									{% endif %}
{% endif %}

<!-- Start -->
{% if false %}
<!-- FontAwesome for themes that require it -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
{% endif %}
<div id="warning-messages"></div>
<div id="success-messages"></div>
{% if mobile_stylesheet %}
<link rel="stylesheet" media="screen and (min-width: 701px) and (max-width: 99999px)" href="{{ stylesheet }}" />
<link rel="stylesheet" media="screen and (min-width: 1px) and (max-width: 700px)" href="{{ mobile_stylesheet }}" />
{% else %}   
<link rel="stylesheet" href="{{ stylesheet }}" />
{% endif %}

{% if html_header %} 
{{ html_header }} 
{% endif %} 

<div id="quickcheckout-countdown"></div>

<div id="quickcheckoutconfirm">
<div id="quickcheckout-disable">
  {% if not logged and login_module %} 
  <div class="quickcheckoutmid" id="login-box">
	<div id="checkout">
	  <div class="quickcheckout-heading"><i class="fa fa-sign-in"></i> {{ text_checkout_option }}</div>
	  <div class="quickcheckout-content">{{ login }}</div>
	</div>
	<div class="or">{{ text_or }}</div>
  </div>
  {% endif %} 
  <div class="quickcheckoutleft">
	<div id="payment-address">
	  <div class="quickcheckout-heading"><i class="fa fa-user"></i> {{ not logged ? text_checkout_account : text_checkout_payment_address }}</div>
	  <div class="quickcheckout-content">{{ guest ? guest : payment_address }}</div>
	</div>
	{% if shipping_required %} 
	<div id="shipping-address">
	  <div class="quickcheckout-heading"><i class="fa fa-user"></i> {{ text_checkout_shipping_address }}</div>
	  <div class="quickcheckout-content">{{ shipping_address ? shipping_address }}</div>
	</div>
	{% endif %} 
  </div>
  <div class="quickcheckoutright">
	{% if shipping_required %} 
	<div id="shipping-method"{{ not shipping_module ? ' style="display:none;"' }}>
	  <div class="quickcheckout-heading"><i class="fa fa-truck"></i> {{ text_checkout_shipping_method }}</div>
	  <div class="quickcheckout-content"></div>
	</div>
	{% endif %}
	<div id="payment-method"{{ not payment_module ? ' style="display:none;"' }}>
	  <div class="quickcheckout-heading"><i class="fa fa-credit-card"></i> {{ text_checkout_payment_method }}</div>
	  <div class="quickcheckout-content"></div>
	</div>
  </div>
  {% if quickcheckout_layout == '2' %} 
	<div class="quickcheckoutleft">
	  {% if cart_module %} 
	  <div id="cart1">
		<div class="quickcheckout-content" style="border:none; padding: 0px;"></div>
	  </div>
	  {% endif %}
	</div>
	<div style="clear:right;"></div>
	<div class="quickcheckoutright">
	  {% if voucher_module or coupon_module or reward_module %} 
	  <div id="voucher">
		<div class="quickcheckout-content" style="border:none; padding: 0px;overflow: hidden;">{{ voucher }}</div>
	  </div>
	  {% endif %}
	</div>
  {% elseif quickcheckout_layout == '1' or quickcheckout_layout == '3' %}
	{% if cart_module or voucher_module or coupon_module or reward_module %}
	<div class="quickcheckoutleft extra-width">
	  {% if cart_module %}
	  <div id="cart1">
		<div class="quickcheckout-content" style="border:none; padding: 0px;"></div>
	  </div>
	  {% endif %}
	  {% if voucher_module or coupon_module or reward_module %}
	  <div id="voucher">
		<div class="quickcheckout-content" style="border:none; padding: 0px;overflow: hidden;">{{ voucher }}</div>
	  </div>
	  {% endif %}
	</div>
	{% endif %} 
  {% endif %}
  <div style="clear: both;"></div>
</div><!-- Close Quick Checkout Disable Div -->

<div class="quickcheckoutmid">
  <div id="terms">
	<div class="quickcheckout-content text-right">{{ terms }}</div>
  </div>
</div>
</div><!-- Close QuickCheckoutConfirm div -->

{% if html_footer %}
{{ html_footer }}
{% endif %}
<!-- End -->

{% if custom_css %}
<style type="text/css">
{{ custom_css }}
</style>
{% endif %} 
<script type="text/javascript"><!--
{% if countdown and countdown_end %} 
$('#quickcheckout-countdown').countdown({
	timezone: {{ timezone }} ,
	until: new Date('{{ countdown_end }}'),
    layout: '{{ countdown_before|escape }}<b>{{ countdown_timer }}</b>{desc}',
    description: '{{ countdown_after|escape }}'
});
{% endif %} 
{% if load_screen %} 
$(window).load(function() {
    $.blockUI({
		message: '<h1 style="color:#ffffff;">{{ text_please_wait }}</h1>',
		css: {
			border: 'none',
			padding: '15px',
			backgroundColor: '#000000',
			'-webkit-border-radius': '10px',
			'-moz-border-radius': '10px',
			'-khtml-border-radius': '10px',
			'border-radius': '10px',
			opacity: .8,
			color: '#ffffff'
		}
	});
	
	setTimeout(function() {
		$.unblockUI();
	}, 2000);
});
{% endif %} 

{% if not logged %}
	{% if save_data %}
	// Save form data
	$(document).on('change', '#payment-address input[type=\'text\'], #payment-address select', function() {
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/checkout/save&type=payment',
			type: 'post',
			data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select, #payment-address textarea'),
			dataType: 'json',
			cache: false,
			success: function(json) {
				// No action needed
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	});

	$(document).on('change', '#shipping-address input[type=\'text\'], #shipping-address select', function() {
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/checkout/save&type=shipping',
			type: 'post',
			data: $('#shipping-address input[type=\'text\'], #shipping-address input[type=\'password\'], #shipping-address input[type=\'checkbox\']:checked, #shipping-address input[type=\'radio\']:checked, #shipping-address input[type=\'hidden\'], #shipping-address select, #shipping-address textarea'),
			dataType: 'json',
			cache: false,
			success: function(json) {
				// No action needed
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	});
	{% endif %} 
	
	{% if login_module %} 
	// Login Form Clicked
	$(document).on('click', '#button-login', function() {
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/login/validate',
			type: 'post',
			data: $('#checkout #login :input'),
			dataType: 'json',
			cache: false,
			beforeSend: function() {
				$('#button-login').prop('disabled', true);
				$('#button-login').button('loading');
			},
			complete: function() {
				$('#button-login').prop('disabled', false);
				$('#button-login').button('reset');
			},
			success: function(json) {
				$('.alert').remove();

				if (json['redirect']) {
					location = json['redirect'];
				} else if (json['error']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('html, body').animate({ scrollTop: 0 }, 'slow');
					
					$('.alert-danger').fadeIn('slow');
				}
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	});
	{% endif %} 

// Validate Register
function validateRegister() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/register/validate',
		type: 'post',
		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select, #payment-address textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
							
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}

				{% if text_error %} 
					if (json['error']['password']) {
						$('#payment-address input[name=\'password\']').after('<div class="text-danger">' + json['error']['password'] + '</div>');
					}

					if (json['error']['confirm']) {
						$('#payment-address input[name=\'confirm\']').after('<div class="text-danger">' + json['error']['confirm'] + '</div>');
					}
				{% endif %} 
				{% if highlight_error %} 
					if (json['error']['password']) {
						$('#payment-address input[name=\'password\']').css('border', '1px solid #f00').css('background', '#F8ACAC');
					}

					if (json['error']['confirm']) {
						$('#payment-address input[name=\'confirm\']').css('border', '1px solid #f00').css('background', '#F8ACAC');
					}
				{% endif %} 
			} else {
				{% if shipping_required %} 
				var shipping_address = $('#payment-address input[name=\'shipping_address\']:checked').val();

				if (shipping_address) {
					validateShippingMethod();
				} else {
					validateGuestShippingAddress();
				}
				{% else %}  
				validatePaymentMethod();
				{% endif %} 
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Validate Guest Payment Address
function validateGuestAddress() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/guest/validate',
		type: 'post',
		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address select, #payment-address textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {		
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
			
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}

				{% if text_error %} 
					for (i in json['error']) {
						var element = $('#input-payment-' + i.replace('_', '-'));
						
						if ($(element).parent().hasClass('input-group')) {
							$(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
						} else {
							$(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
						}
					}
				{% endif %} 
				{% if highlight_error %} 
					for (i in json['error']) {
						var element = $('#input-payment-' + i.replace('_', '-'));

						$(element).css('border', '1px solid #f00').css('background', '#F8ACAC');
					}
				{% endif %} 
			} else {
				var create_account = $('#payment-address input[name=\'create_account\']:checked').val();

				{% if shipping_required %} 
				var shipping_address = $('#payment-address input[name=\'shipping_address\']:checked').val();

				if (create_account) {
					validateRegister();
				} else {
					if (shipping_address) {
						validateShippingMethod();
					} else {
						validateGuestShippingAddress();
					}
				}
				{% else %}   
				if (create_account) {
					validateRegister();
				} else {
					validatePaymentMethod();
				}
				{% endif %}
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Validate Guest Shipping Address
function validateGuestShippingAddress() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/guest_shipping/validate',
		type: 'post',
		data: $('#shipping-address input[type=\'text\'], #shipping-address input[type=\'checkbox\']:checked, #shipping-address input[type=\'radio\']:checked, #shipping-address select, #shipping-address textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
				
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}

				{% if text_error %} 
					for (i in json['error']) {
						var element = $('#input-shipping-' + i.replace('_', '-'));
						
						if ($(element).parent().hasClass('input-group')) {
							$(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
						} else {
							$(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
						}
					}
				{% endif %} 
				{% if highlight_error %} 
					for (i in json['error']) {
						var element = $('#input-shipping-' + i.replace('_', '-'));

						$(element).css('border', '1px solid #f00').css('background', '#F8ACAC');
					}
				{% endif %} 
			} else {
				validateShippingMethod();
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Confirm Payment
$(document).on('click', '#button-payment-method', function() {
	$('#button-payment-method').prop('disabled', true);
	$('#button-payment-method').button('loading');
	
	$('#button-payment-method').after('<i class="fa fa-spinner fa-spin"></i>');
	
	validateGuestAddress();
});
{% else %}   
// Validate Payment Address
function validatePaymentAddress() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/payment_address/validate',
		type: 'post',
		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select, #payment-address textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
				
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}

				{% if text_error %} 
					for (i in json['error']) {
						var element = $('#input-payment-' + i.replace('_', '-'));
						
						if ($(element).parent().hasClass('input-group')) {
							$(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
						} else {
							$(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
						}
					}
				{% endif %} 
				{% if highlight_error %} 
					for (i in json['error']) {
						var element = $('#input-payment-' + i.replace('_', '-'));

						$(element).css('border', '1px solid #f00').css('background', '#F8ACAC');
					}
				{% endif %} 
			} else {
				{% if shipping_required %} 
					validateShippingAddress();
				{% else %}   
					validatePaymentMethod();
				{% endif %}
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

{% if shipping_required %} 
// Validate Shipping Address
function validateShippingAddress() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/shipping_address/validate',
		type: 'post',
		data: $('#shipping-address input[type=\'text\'], #shipping-address input[type=\'password\'], #shipping-address input[type=\'checkbox\']:checked, #shipping-address input[type=\'radio\']:checked, #shipping-address select, #shipping-address textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
				
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}

				{% if text_error %} 
					for (i in json['error']) {
						var element = $('#input-shipping-' + i.replace('_', '-'));
						
						if ($(element).parent().hasClass('input-group')) {
							$(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
						} else {
							$(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
						}
					}
				{% endif %} 
				{% if highlight_error %} 
					for (i in json['error']) {
						var element = $('#input-shipping-' + i.replace('_', '-'));

						$(element).css('border', '1px solid #f00').css('background', '#F8ACAC');
					}
				{% endif %} 
			} else {
				validateShippingMethod();
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}
{% endif %} 

// Confirm payment
$(document).on('click', '#button-payment-method', function() {
	$('#button-payment-method').prop('disabled', true);
	$('#button-payment-method').button('loading');
	
	$('#button-payment-method').after('<i class="fa fa-spinner fa-spin"></i>');
	
	validatePaymentAddress();
});
{% endif %}// Close if logged php

// Payment Method
function reloadPaymentMethod() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/payment_method',
		type: 'post',
		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select, #payment-address textarea, #payment-method input[type=\'text\'], #payment-method input[type=\'checkbox\']:checked, #payment-method input[type=\'radio\']:checked, #payment-method input[type=\'hidden\'], #payment-method select, #payment-method textarea'),
		dataType: 'html',
		cache: false,
		beforeSend: function() {
			moduleLoad($('#payment-method'), {{ loading_display }} );
		},
		success: function(html) {
			moduleLoaded($('#payment-method'), {{ loading_display }} );
			
			$('#payment-method .quickcheckout-content').html(html);
			
			{% if load_screen %} 
			$.unblockUI();
			{% endif %} 
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

function reloadPaymentMethodById(address_id) {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/payment_method&address_id=' + address_id,
		type: 'post',
		data: $('#payment-method input[type=\'checkbox\']:checked, #payment-method input[type=\'radio\']:checked, #payment-method input[type=\'hidden\'], #payment-method select, #payment-method textarea'),
		dataType: 'html',
		cache: false,
		beforeSend: function() {
			moduleLoad($('#payment-method'), {{ loading_display }} );
		},
		success: function(html) {
			moduleLoaded($('#payment-method'), {{ loading_display }} );
			
			$('#payment-method .quickcheckout-content').html(html);
			
			{% if load_screen %} 
			$.unblockUI();
			{% endif %} 
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Validate Payment Method
function validatePaymentMethod() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/payment_method/validate',
		type: 'post',
		data: $('#payment-method select, #payment-method input[type=\'radio\']:checked, #payment-method input[type=\'checkbox\']:checked, #payment-method textarea'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			$('.alert, .text-danger').remove();

			if (json['redirect']) {
				location = json['redirect'];
			} else if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
				
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}
			} else {
				validateTerms();
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Shipping Method
{% if shipping_required %} 
	function reloadShippingMethod(type) {
		if (type == 'payment') {
			var post_data = $('#payment-address input[type=\'text\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select, #payment-address textarea, #shipping-method input[type=\'text\'], #shipping-method input[type=\'checkbox\']:checked, #shipping-method input[type=\'radio\']:checked, #shipping-method input[type=\'hidden\'], #shipping-method select, #shipping-method textarea');
		} else {
			var post_data = $('#shipping-address input[type=\'text\'], #shipping-address input[type=\'checkbox\']:checked, #shipping-address input[type=\'radio\']:checked, #shipping-address input[type=\'hidden\'], #shipping-address select, #shipping-address textarea, #shipping-method input[type=\'text\'], #shipping-method input[type=\'checkbox\']:checked, #shipping-method input[type=\'radio\']:checked, #shipping-method input[type=\'hidden\'], #shipping-method select, #shipping-method textarea');
		}
		
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/shipping_method',
			type: 'post',
			data: post_data,
			dataType: 'html',
			cache: false,
			beforeSend: function() {
				moduleLoad($('#shipping-method'), {{ loading_display }} );
			},
			success: function(html) {
				moduleLoaded($('#shipping-method'), {{ loading_display }} );
				
				$('#shipping-method .quickcheckout-content').html(html);
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	}

	function reloadShippingMethodById(address_id) {
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/shipping_method&address_id=' + address_id,
			type: 'post',
			data: $('#shipping-method input[type=\'text\'], #shipping-method input[type=\'checkbox\']:checked, #shipping-method input[type=\'radio\']:checked, #shipping-method input[type=\'hidden\'], #shipping-method select, #shipping-method textarea'),
			dataType: 'html',
			cache: false,
			beforeSend: function() {
				moduleLoad($('#shipping-method'), {{ loading_display }} );
			},
			success: function(html) {
				moduleLoaded($('#shipping-method'), {{ loading_display }} );
				
				$('#shipping-method .quickcheckout-content').html(html);
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	}

	// Validate Shipping Method
	function validateShippingMethod() {
		$.ajax({
			url: 'index.php?route=extension/quickcheckout/shipping_method/validate',
			type: 'post',
			data: $('#shipping-method select, #shipping-method input[type=\'radio\']:checked, #shipping-method textarea, #shipping-method input[type=\'text\']'),
			dataType: 'json',
			cache: false,
			success: function(json) {
				$('.alert, .text-danger').remove();

				if (json['redirect']) {
					location = json['redirect'];
				} else if (json['error']) {
					$('#button-payment-method').prop('disabled', false);
					$('#button-payment-method').button('reset');
					$('#terms input[type=\'checkbox\']').prop('checked', false);
					
					$('.fa-spinner').remove();
					
					$('html, body').animate({ scrollTop: 0 }, 'slow');
				
					if (json['error']['warning']) {
						$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
						$('.alert-danger').fadeIn('slow');
					}
				} else {
					validatePaymentMethod();
				}
			},
			{% if debug %} 
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
			{% endif %} 
		});
	}
{% endif %} 

// Validate confirm button
function validateTerms() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/terms/validate',
		type: 'post',
		data: $('#terms input[type=\'checkbox\']:checked'),
		dataType: 'json',
		cache: false,
		success: function(json) {
			if (json['redirect']) {
				location = json['redirect'];
			}
		
			if (json['error']) {
				$('#button-payment-method').prop('disabled', false);
				$('#button-payment-method').button('reset');
				$('#terms input[type=\'checkbox\']').prop('checked', false);
				
				$('.fa-spinner').remove();
				
				$('html, body').animate({ scrollTop: 0 }, 'slow');
				
				if (json['error']['warning']) {
					$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');
					
					$('.alert-danger').fadeIn('slow');
				}
			} else {
				loadConfirm();
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Load confirm
function loadConfirm() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/confirm',
		dataType: 'html',
		cache: false,
		beforeSend: function() {
			{% if confirmation_page %} 
				$('html, body').animate({ scrollTop: 0 }, 'slow');
			
				{% if slide_effect %} 
				$('#quickcheckoutconfirm').slideUp('slow');
				{% else %}   
				$('#quickcheckoutconfirm').html('<div class="text-center"><i class="fa fa-spinner fa-spin fa-5x"></i></div>');
				{% endif %} 
			
				{% if load_screen %} 
				$.blockUI({
					message: '<h1 style="color:#ffffff;">{{ text_please_wait }}</h1>',
					css: {
						border: 'none',
						padding: '15px',
						backgroundColor: '#000000',
						'-webkit-border-radius': '10px',
						'-moz-border-radius': '10px',
						'-khtml-border-radius': '10px',
						'border-radius': '10px',
						opacity: .8,
						color: '#ffffff'
					}
				});
				{% endif %} 
			{% endif %}
		},
		success: function(html) {
			{% if confirmation_page %} 
				{% if load_screen %} 
				$.unblockUI();
				{% endif %} 
				
				$('#quickcheckoutconfirm').hide().html(html);
				
				{% if not auto_submit %} 
					{% if slide_effect %} 
					$('#quickcheckoutconfirm').slideDown('slow');
					{% else %}   
					$('#quickcheckoutconfirm').show();
					{% endif %} 
				{% else %}   
				$('#quickcheckoutconfirm').after('<div class="text-center"><i class="fa fa-spinner fa-spin fa-5x"></i></div>');
				{% endif %}
			{% else %}   
				$('#terms .terms').hide();
				$('#payment').html(html).slideDown('fast');
				
				{% if auto_submit %} 
				$('#payment').hide().after('<div class="text-center"><i class="fa fa-spinner fa-spin fa-5x"></i></div>');
				{% endif %} 
				
				$('html, body').animate({ scrollTop: $('#terms').offset().top }, 'slow');
				
				disableCheckout();
			{% endif %}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

// Load cart
{% if cart_module %} 
function loadCart() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/cart',
		dataType: 'html',
		cache: false,
		beforeSend: function() {
			$('.tooltip').remove();
			
			moduleLoad($('#cart1'), {{ loading_display }} );
		},
		success: function(html) {
			moduleLoaded($('#cart1'), {{ loading_display }} );
			
			$('#cart1 .quickcheckout-content').html(html);
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
}

	{% if not shipping_required %} 
	$(document).ready(function(){
		loadCart();
	});
	{% endif %} 
{% endif %} 

{% if voucher_module or coupon_module or reward_module %} 
// Validate Coupon
$(document).on('click', '#button-coupon', function() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/voucher/validateCoupon',
		type: 'post',
		data: $('#coupon-content :input'),
		dataType: 'json',
		cache: false,
		beforeSend: function() {
			$('#button-coupon').prop('disabled', true);
			$('#button-coupon').after('<i class="fa fa-spinner fa-spin"></i>');
		},
		complete: function() {
			$('#button-coupon').prop('disabled', false);
			$('#coupon-content .fa-spinner').remove();
		},
		success: function(json) {
			$('.alert').remove();
			
			$('html, body').animate({ scrollTop: 0 }, 'slow');

			if (json['success']) {
				$('#success-messages').prepend('<div class="alert alert-success" style="display:none;"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>');
				
				$('.alert-success').fadeIn('slow');
			} else if (json['error']) {
				$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');

				$('.alert-danger').fadeIn('slow');
			}

			{% if not logged %} 
				if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('payment');
					{% endif %} 
				} else {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('shipping');
					{% endif %} 
				}
			{% else %}   
				if ($('#payment-address input[name=\'payment_address\']:checked').val() == 'new') {
					reloadPaymentMethod();
				} else {
					reloadPaymentMethodById($('#payment-address select[name=\'address_id\']').val());
				}
				
				{% if shipping_required %} 
				if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
					reloadShippingMethod('shipping');
				} else {
					reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
				}
				{% endif %} 
			{% endif %} 
			
			{% if not shipping_required %} 
			loadCart();
			{% endif %} 
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
});

$(document).on('click', '#button-voucher', function() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/voucher/validateVoucher',
		type: 'post',
		data: $('#voucher-content :input'),
		dataType: 'json',
		cache: false,
		beforeSend: function() {
			$('#button-voucher').prop('disabled', true);
			$('#button-voucher').after('<i class="fa fa-spinner fa-spin"></i>');
		},
		complete: function() {
			$('#button-voucher').prop('disabled', false);
			$('#voucher-content .fa-spinner').remove();
		},
		success: function(json) {
			$('.alert').remove();
			
			$('html, body').animate({ scrollTop: 0 }, 'slow');

			if (json['success']) {
				$('#success-messages').prepend('<div class="alert alert-success" style="display:none;"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>');
				
				$('.alert-success').fadeIn('slow');
			} else if (json['error']) {
				$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');

				$('.alert-danger').fadeIn('slow');
			}

			{% if not logged %} 
				if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('payment');
					{% endif %} 
				} else {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('shipping');
					{% endif %} 
				}
			{% else %}   
				if ($('#payment-address input[name=\'payment_address\']:checked').val() == 'new') {
					reloadPaymentMethod();
				} else {
					reloadPaymentMethodById($('#payment-address select[name=\'address_id\']').val());
				}
				
				{% if shipping_required %} 
				if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
					reloadShippingMethod('shipping');
				} else {
					reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
				}
				{% endif %} 
			{% endif %}
			
			{% if not shipping_required %} 
			loadCart();
			{% endif %} 
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
});

$(document).on('click', '#button-reward', function() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/voucher/validateReward',
		type: 'post',
		data: $('#reward-content :input'),
		dataType: 'json',
		cache: false,
		beforeSend: function() {
			$('#button-reward').prop('disabled', true);
			$('#button-reward').after('<i class="fa fa-spinner fa-spin"></i>');
		},
		complete: function() {
			$('#button-reward').prop('disabled', false);
			$('#reward-content .fa-spinner').remove();
		},
		success: function(json) {
			$('.alert').remove();
			
			$('html, body').animate({ scrollTop: 0 }, 'slow');

			if (json['success']) {
				$('#success-messages').prepend('<div class="alert alert-success" style="display:none;"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>');
				
				$('.alert-success').fadeIn('slow');
			} else if (json['error']) {
				$('#warning-messages').prepend('<div class="alert alert-danger" style="display: none;"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '</div>');

				$('.alert-danger').fadeIn('slow');
			}

			{% if not logged %} 
				if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('payment');
					{% endif %} 
				} else {
					reloadPaymentMethod();
					
					{% if shipping_required %} 
					reloadShippingMethod('shipping');
					{% endif %} 
				}
			{% else %}   
				if ($('#payment-address input[name=\'payment_address\']:checked').val() == 'new') {
					reloadPaymentMethod();
				} else {
					reloadPaymentMethodById($('#payment-address select[name=\'address_id\']').val());
				}
				
				{% if shipping_required %} 
				if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
					reloadShippingMethod('shipping');
				} else {
					reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
				}
				{% endif %} 
			{% endif %}
			
			{% if not shipping_required %} 
			loadCart();
			{% endif %} 
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
});
{% endif %}

{% if shipping_required %} 
$(document).on('focusout', 'input[name=\'postcode\']', function() {
	{% if not logged %} 
	if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
		reloadShippingMethod('payment');
	} else {
		reloadShippingMethod('shipping');
	}
	{% else %}   
	if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
		reloadShippingMethod('shipping');
	} else {
		reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
	}
	{% endif %} 
});
{% endif %}

{% if highlight_error %} 
	$(document).on('keydown', 'input', function() {
		$(this).css('background', '').css('border', '');
		
		$(this).siblings('.text-danger').remove();
	});
	$(document).on('change', 'select', function() {
		$(this).css('background', '').css('border', '');
		
		$(this).siblings('.text-danger').remove();
	});
{% endif %} 

{% if edit_cart %} 
$(document).on('click', '.button-update', function() {
	$.ajax({
		url: 'index.php?route=extension/quickcheckout/cart/update',
		type: 'post',
		data: $('#cart1 :input'),
		dataType: 'json',
		cache: false,
		beforeSend: function() {
			$('#cart1 .button-update').prop('disabled', true);
		},
		success: function(json) {
			if (json['redirect']) {
				location = json['redirect'];
			} else {
				{% if not logged %} 
					if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
						reloadPaymentMethod();
						
						{% if shipping_required %} 
						reloadShippingMethod('payment');
						{% endif %} 
					} else {
						reloadPaymentMethod();
						
						{% if shipping_required %} 
						reloadShippingMethod('shipping');
						{% endif %} 
					}
				{% else %}   
					if ($('#payment-address input[name=\'payment_address\']:checked').val() == 'new') {
						reloadPaymentMethod();
					} else {
						reloadPaymentMethodById($('#payment-address select[name=\'address_id\']').val());
					}
					
					{% if shipping_required %} 
					if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
						reloadShippingMethod('shipping');
					} else {
						reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
					}
					{% endif %} 
				{% endif %} 
				
				{% if not shipping_required %} 
				loadCart();
				{% endif %} 
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});
});

$(document).on('click', '.button-remove', function() {
	var remove_id = $(this).attr('data-remove');

	$.ajax({
		url: 'index.php?route=extension/quickcheckout/cart/update&remove=' + remove_id,
		type: 'get',
		dataType: 'json',
		cache: false,
		beforeSend: function() {
			$('#cart1 .button-remove').prop('disabled', true);
		},
		success: function(json) {
			if (json['redirect']) {
				location = json['redirect'];
			} else {
				{% if not logged %} 
					if ($('#payment-address input[name=\'shipping_address\']:checked').val()) {
						reloadPaymentMethod();
						
						{% if shipping_required %} 
						reloadShippingMethod('payment');
						{% endif %} 
					} else {
						reloadPaymentMethod();
						
						{% if shipping_required %} 
						reloadShippingMethod('shipping');
						{% endif %} 
					}
				{% else %}   
					if ($('#payment-address input[name=\'payment_address\']:checked').val() == 'new') {
						reloadPaymentMethod();
					} else {
						reloadPaymentMethodById($('#payment-address select[name=\'address_id\']').val());
					}
					
					{% if shipping_required %} 
					if ($('#shipping-address input[name=\'shipping_address\']:checked').val() == 'new') {
						reloadShippingMethod('shipping');
					} else {
						reloadShippingMethodById($('#shipping-address select[name=\'address_id\']').val());
					}
					{% endif %} 
				{% endif %}
				
				{% if not shipping_required %} 
				loadCart();
				{% endif %} 
			}
		},
		{% if debug %} 
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
		{% endif %} 
	});

	return false;
});
{% endif %}

$('.date').datetimepicker({
	format: 'YYYY-MM-DD'
});

$('.time').datetimepicker({
	format: 'HH:mm'
});

$('.datetime').datetimepicker();
//--></script>

{% if (registry.has('theme_options') == constant('true')) %} 
	{% set theme_options = registry.get('theme_options') %}
	{% set config = registry.get('config') %}

	{% set columnleft = theme_options.getModules('column_left') %}
	{% set grid_center = 12 %} 
	{% if ( columnleft|length > 0 ) %} 
		{% set grid_center = 9 %} 
	{% endif %} 

	{% set grid_content_right = 3 %}
	{% set column_right = theme_options.getModules('column_right') %} 
	{% if ( column_right|length > 0 ) %}
		{% if (grid_center == 9) %}
			{% set grid_content_right = 4 %}
		{% else %} 
			{% set grid_content_right = 3 %}
		{% endif %}
	{% endif %}

							</div>
							
							{% if ( column_right|length > 0 ) %} 
							<div class="col-md-{{ grid_content_right }}" id="column-right">
								{% for module in column_right %} 
									{{ module }}
								{% endfor %} 
							</div>
							{% endif %} 
						</div>
						
						{% if (products is defined and product_page is defined) %} {% if (products and theme_options.get( 'product_related_status' ) != '0') %} 
							
							{% set class = 3 %} 
							{% set id = random(5000)*random(500000) %} 
							{% set all = 4 %} 
							{% set row = 4 %} 
							
							{% if (theme_options.get( 'product_per_pow' ) == 6) %} {% set class = 2 %} {% endif %}
							{% if (theme_options.get( 'product_per_pow' ) == 5) %} {% set class = 25 %} {% endif %}
							{% if (theme_options.get( 'product_per_pow' ) == 3) %} {% set class = 4 %} {% endif %}
							
							{% if (theme_options.get( 'product_per_pow' ) > 1) %} {% set row = theme_options.get( 'product_per_pow' ) %} {% set all = theme_options.get( 'product_per_pow' ) %} {% endif %} 
							
							<div class="box clearfix box-with-products box-no-advanced {% if (theme_options.get( 'product_scroll_related' ) != '0') %} {{ 'with-scroll' }} {% endif %}">
							  {% if (theme_options.get( 'product_scroll_related' ) != '0') %} 
							  <!-- Carousel nav -->
							  <a class="next" href="#myCarousel{{ id }}" id="myCarousel{{ id }}_next"><span></span></a>
							  <a class="prev" href="#myCarousel{{ id }}" id="myCarousel{{ id }}_prev"><span></span></a>
							  {% endif %} 
								
							  <div class="box-heading">{{ text_related }}</div>
							  <div class="strip-line"></div>
							  <div class="clear"></div>
							  <div class="box-content products related-products">
							    <div class="box-product">
							    	<div id="myCarousel{{ id }}" {% if (theme_options.get( 'product_scroll_related' ) != '0') %}class="carousel slide"{% endif %}>
							    		<!-- Carousel items -->
							    		<div class="carousel-inner">
							    			{% set i = 0 %} {% set row_fluid = 0 %} {% set item = 0 %} {% for product in products %} {% set row_fluid = row_fluid + 1 %} 
								    			{% if (i == 0) %} {% set item = item + 1 %} {{ '<div class="active item"><div class="product-grid"><div class="row">' }} {% endif %} 
								    			{% set r=row_fluid-(row_fluid/all)|round(0, 'floor')*all %} {% if (row_fluid>all and r == 1) %} {% if (theme_options.get( 'product_scroll_related' ) != '0') %} {{ '</div></div></div><div class="item"><div class="product-grid"><div class="row">' }} {% set item = item + 1 %} {% else %} {{ '</div><div class="row">' }} {% endif %} {% else %} {% set r=row_fluid-(row_fluid/row)|round(0, 'floor')*row %} {% if (row_fluid>row and r == 1) %} {{ '</div><div class="row">' }} {% endif %} {% endif %} 
								    			<div class="col-sm-{{ class }} col-xs-6">
								    				{% set theme_options = registry.get('theme_options') %}
{% set config = registry.get('config') %}

<!-- Product -->
<div class="product clearfix product-hover">
	<div class="left">
		{% if (product['thumb']) %} 
			{% if (product['special'] and theme_options.get( 'display_text_sale' ) != '0') %} 
				{% set text_sale = 'Sale' %}
				{% if (theme_options.get( 'sale_text', config.get( 'config_language_id' ) ) != '') %}
					{% set text_sale = theme_options.get( 'sale_text', config.get( 'config_language_id' ) ) %}
				{% endif %} 

				{% if (theme_options.get( 'type_sale' ) == '1') %} 
					{% set product_detail = theme_options.getDataProduct( product['product_id'] ) %}
					{% set roznica_ceny = product_detail['price']-product_detail['special'] %}
					{% set procent = roznica_ceny*100/product_detail['price'] %} 
					<div class="sale">-{{ procent|round }}%</div>
				{% else %} 
					<div class="sale">{{ text_sale }}</div>
				{% endif %}
				
			 {% elseif (theme_options.get( 'display_text_new' ) != '0' and theme_options.isLatestProduct( product['product_id'] )) %} 
				 <div class="new">{% if (theme_options.get( 'new_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'new_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'New' }} {% endif %}</div>
			 {% endif %} 
			
			<div class="image {% if (theme_options.get( 'product_image_effect' ) == '1') %} {{ 'image-swap-effect' }} {% endif %}">
				<a href="{{ product['href'] }}">
					{% if (theme_options.get( 'product_image_effect' ) == '1') %}
						{% set nthumb = product['thumb']|replace({' ': "%20"}) %}
						{% set adres = constant('HTTP_SERVER') %}
						{% set nthumb = nthumb|replace({adres: ""}) %}
						{% set image_size = theme_options.getimagesize(nthumb) %}
						{% set image_swap = theme_options.productImageSwap(product['product_id'], image_size[0], image_size[1]) %}
						{% if (image_swap != '') %} {{ '<img src="' ~ image_swap ~ '" alt="' ~ product['name'] ~ '" class="swap-image" />' }}{% endif %}
					{% endif %} 
					
					{% if (theme_options.get( 'lazy_loading_images' ) != '0') %} 
					<img src="image/catalog/blank.gif" data-echo="{{ product['thumb'] }}" alt="{{ product['name'] }}" class="{% if (theme_options.get( 'product_image_effect' ) == '2') %} {{ 'zoom-image-effect' }} {% endif %}" />
					{% else %} 
					<img src="{{ product['thumb'] }}" alt="{{ product['name'] }}" class="{% if (theme_options.get( 'product_image_effect' ) == '2') %} {{ 'zoom-image-effect' }} {% endif %}" />
					{% endif %} 
				</a>
			</div>
		{% else %} 
			<div class="image">
				<a href="{{ product['href'] }}"><img src="image/no_image.jpg" alt="{{ product['name'] }}" {% if (theme_options.get( 'product_image_effect' ) == '2') %} {{ 'class="zoom-image-effect"' }} {% endif %} /></a>
			</div>
		{% endif %} 
		
		{% if (theme_options.get( 'display_specials_countdown' ) == '1' and product['special']) %} 
			{% set countdown = random(5000) * random(50000) %} 
		 {% set product_detail = theme_options.getDataProduct( product['product_id'] ) %}
		 {% set date_end = product_detail['date_end'] %}
		 {% if (date_end != '0000-00-00' and date_end) %} 
               		<script>
               		$(function () {
               			var austDay = new Date();
               			austDay = new Date({{ theme_options.date("Y", theme_options.strtotime(date_end)) }}, {{ theme_options.date("m", theme_options.strtotime(date_end)) }} - 1, {{ theme_options.date("d", theme_options.strtotime(date_end)) }});
               			$('#countdown{{ countdown }}').countdown({until: austDay});
               		});
               		</script>
               		<div id="countdown{{ countdown }}" class="clearfix"></div>
     		     {% endif %} 
		{% endif %}  
	</div>
	<div class="right">
		<div class="name"><a href="{{ product['href'] }}">{{ product['name'] }}</a></div>
		{% if (theme_options.get( 'product_grid_type' ) == '7') %} 
			{% set product_detail = theme_options.getDataProduct( product['product_id'] ) %} 
			<div class="brand">{{ product_detail['manufacturer'] }}</div>
		{% endif %} 
		
		{% if (product['price']) %} 
		<div class="price">
			{% if (not product['special']) %} 
			{{ product['price'] }} 
			{% else %} 
			<span class="price-old">{{ product['price'] }}</span> <span class="price-new">{{ product['special'] }}</span>
			{% endif %} 
		</div>
		{% endif %} 
		
		
		{% if (theme_options.get( 'display_add_to_compare' ) != '0' or theme_options.get( 'display_add_to_wishlist' ) != '0' or theme_options.get( 'display_add_to_cart' ) != '0') %} 
		<div class="only-hover">
		     <ul>
		          {% if (theme_options.get( 'display_add_to_cart' ) != '0') %} 
		               {% set enquiry = constant('false') %} 
		               	{% if (config.get( 'product_blocks_module' ) != '') %} {% set enquiry = theme_options.productIsEnquiry(product['product_id']) %} {% endif %}
		 				{% if (enquiry is iterable) %} 
		               		<li><a href="javascript:openPopup('{{ enquiry['popup_module'] }}', '{{ product['product_id'] }}')" data-toggle="tooltip" data-original-title="{{ enquiry['block_name'] }}"><i class="fa fa-question"></i></a></li>
		               {% else %} 
		               		<li><a onclick="cart.add('{{ product['product_id'] }}');" data-toggle="tooltip" data-original-title="{{ button_cart }}"><i class="fa fa-shopping-cart"></i></a></li>
		               {% endif %} 
		          {% endif %} 
		          
		          {% if (theme_options.get( 'quick_view' ) == 1) %} 
		          <li class="quickview"><a href="index.php?route=product/quickview&amp;product_id={{ product['product_id'] }}" data-toggle="tooltip" data-original-title="{% if (theme_options.get( 'quickview_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.html_entity_decode(theme_options.get( 'quickview_text', config.get( 'config_language_id' ) )) }} {% else %} {{ 'Quickview' }} {% endif %}"><i class="fa fa-search"></i></a></li>
		          {% endif %} 
		     
				{% if (theme_options.get( 'display_add_to_compare' ) != '0') %} 
				<li><a onclick="compare.add('{{ product['product_id'] }}');" data-toggle="tooltip" data-original-title="{% if (theme_options.get( 'add_to_compare_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'add_to_compare_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Add to compare' }} {% endif %}"><i class="fa fa-exchange"></i></a></li>
				{% endif %} 
				
				{% if (theme_options.get( 'display_add_to_wishlist' ) != '0') %} 
				<li><a onclick="wishlist.add('{{ product['product_id'] }}');" data-toggle="tooltip" data-original-title="{% if (theme_options.get( 'add_to_wishlist_text', config.get( 'config_language_id' ) ) != '') %} {{ theme_options.get( 'add_to_wishlist_text', config.get( 'config_language_id' ) ) }} {% else %} {{ 'Add to wishlist' }} {% endif %}"><i class="fa fa-heart"></i></a></li>
				{% endif %} 
			</ul>
		</div>
		{% endif %} 
		
	</div>
</div>
								    			</div>
							    			{% set i = i + 1 %} {% endfor %} 
							    			{% if (i > 0) %} {{ '</div></div></div>' }} {% endif %} 
							    		</div>
								  </div>
							    </div>
							  </div>
							</div>
							
							{% if (theme_options.get( 'product_scroll_related' ) != '0') %} 
							<script type="text/javascript">
							$(document).ready(function() {
							  var owl{{ id }} = $(".box #myCarousel{{ id }} .carousel-inner");
								
							  $("#myCarousel{{ id }}_next").click(function(){
							      owl{{ id }}.trigger('owl.next');
							      return false;
							    })
							  $("#myCarousel{{ id }}_prev").click(function(){
							      owl{{ id }}.trigger('owl.prev');
							      return false;
							  });
							    
							  owl{{ id }}.owlCarousel({
							  	  slideSpeed : 500,
							      singleItem:true
							   });
							});
							</script>
							{% endif %} 
						{% endif %}{% endif %} 
					</div>
				</div>
				
				<div class="row">	
					<div class="col-sm-12">	
						
						{% set contentbottom = theme_options.getModules('content_bottom') %}
						{% if ( contentbottom|length > 0 ) %} 
														{% for module in contentbottom %} 
								{{ module }}
							{% endfor %}
							
						{% endif %} 
					</div>
				</div>
			</div>
		</div>
	</div>				  
</div>
{% endif %}
{{ footer }}