Advertisement
Guest User

Please Select State

a guest
Oct 10th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.23 KB | None | 0 0
  1. {{ header }}
  2. <div id="container" class="container j-container">
  3. <ul class="breadcrumb">
  4. {% for breadcrumb in breadcrumbs %}
  5. <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="{{ breadcrumb.href }}" itemprop="url"><span itemprop="title">{{ breadcrumb.text }}</span></a></li>
  6. {% endfor %}
  7. </ul>
  8. {% if error_warning %}
  9. <div class="alert alert-danger alert-dismissible warning"><i class="fa fa-exclamation-circle"></i> {{ error_warning }}
  10. <button type="button" class="close" data-dismiss="alert">&times;</button>
  11. </div>
  12. {% endif %}
  13. <div class="row">{{ column_left }}{{ column_right }}
  14. {% if column_left and column_right %}
  15. {% set class = 'col-sm-6' %}
  16. {% elseif column_left or column_right %}
  17. {% set class = 'col-sm-9' %}
  18. {% else %}
  19. {% set class = 'col-sm-12' %}
  20. {% endif %}
  21. <div id="content" class="{{ class }}">{{ content_top }}
  22. <h1 class="heading-title">{{ heading_title }}</h1>
  23. <div class="panel-group" id="accordion">
  24. <div class="panel panel-default">
  25. <div class="panel-heading">
  26. <h4 class="panel-title">{{ text_checkout_option }}</h4>
  27. </div>
  28. <div class="panel-collapse collapse" id="collapse-checkout-option">
  29. <div class="panel-body"></div>
  30. </div>
  31. </div>
  32. {% if not logged and account != 'guest' %}
  33. <div class="panel panel-default">
  34. <div class="panel-heading">
  35. <h4 class="panel-title">{{ text_checkout_account }}</h4>
  36. </div>
  37. <div class="panel-collapse collapse" id="collapse-payment-address">
  38. <div class="panel-body"></div>
  39. </div>
  40. </div>
  41. {% else %}
  42. <div class="panel panel-default">
  43. <div class="panel-heading">
  44. <h4 class="panel-title">{{ text_checkout_payment_address }}</h4>
  45. </div>
  46. <div class="panel-collapse collapse" id="collapse-payment-address">
  47. <div class="panel-body"></div>
  48. </div>
  49. </div>
  50. {% endif %}
  51. {% if shipping_required %}
  52. <div class="panel panel-default">
  53. <div class="panel-heading">
  54. <h4 class="panel-title">{{ text_checkout_shipping_address }}</h4>
  55. </div>
  56. <div class="panel-collapse collapse" id="collapse-shipping-address">
  57. <div class="panel-body"></div>
  58. </div>
  59. </div>
  60. <div class="panel panel-default">
  61. <div class="panel-heading">
  62. <h4 class="panel-title">{{ text_checkout_shipping_method }}</h4>
  63. </div>
  64. <div class="panel-collapse collapse" id="collapse-shipping-method">
  65. <div class="panel-body"></div>
  66. </div>
  67. </div>
  68. {% endif %}
  69. <div class="panel panel-default">
  70. <div class="panel-heading">
  71. <h4 class="panel-title">{{ text_checkout_payment_method }}</h4>
  72. </div>
  73. <div class="panel-collapse collapse" id="collapse-payment-method">
  74. <div class="panel-body"></div>
  75. </div>
  76. </div>
  77. <div class="panel panel-default">
  78. <div class="panel-heading">
  79. <h4 class="panel-title">{{ text_checkout_confirm }}</h4>
  80. </div>
  81. <div class="panel-collapse collapse" id="collapse-checkout-confirm">
  82. <div class="panel-body"></div>
  83. </div>
  84. </div>
  85. </div>
  86. {{ content_bottom }}</div>
  87. </div>
  88. </div>
  89. <script type="text/javascript"><!--
  90. $(document).on('change', 'input[name=\'account\']', function() {
  91. if ($('#collapse-payment-address').parent().find('.panel-heading .panel-title > *').is('a')) {
  92. if (this.value == 'register') {
  93. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_account }} <i class="fa fa-caret-down"></i></a>');
  94. } else {
  95. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_address }} <i class="fa fa-caret-down"></i></a>');
  96. }
  97. } else {
  98. if (this.value == 'register') {
  99. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('{{ text_checkout_account }}');
  100. } else {
  101. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_address }}');
  102. }
  103. }
  104. });
  105.  
  106. {% if not logged %}
  107. $(document).ready(function() {
  108. $.ajax({
  109. url: 'index.php?route=checkout/login',
  110. dataType: 'html',
  111. success: function(html) {
  112. $('#collapse-checkout-option .panel-body').html(html);
  113.  
  114. $('#collapse-checkout-option').parent().find('.panel-heading .panel-title').html('<a href="#collapse-checkout-option" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_option }} <i class="fa fa-caret-down"></i></a>');
  115.  
  116. $('a[href=\'#collapse-checkout-option\']').trigger('click');
  117. },
  118. error: function(xhr, ajaxOptions, thrownError) {
  119. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  120. }
  121. });
  122. });
  123. {% else %}
  124. $(document).ready(function() {
  125. $.ajax({
  126. url: 'index.php?route=checkout/payment_address',
  127. dataType: 'html',
  128. success: function(html) {
  129. $('#collapse-payment-address .panel-body').html(html);
  130.  
  131. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_address }} <i class="fa fa-caret-down"></i></a>');
  132.  
  133. $('a[href=\'#collapse-payment-address\']').trigger('click');
  134. },
  135. error: function(xhr, ajaxOptions, thrownError) {
  136. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  137. }
  138. });
  139. });
  140. {% endif %}
  141.  
  142. // Checkout
  143. $(document).delegate('#button-account', 'click', function() {
  144. $.ajax({
  145. url: 'index.php?route=checkout/' + $('input[name=\'account\']:checked').val(),
  146. dataType: 'html',
  147. beforeSend: function() {
  148. $('#button-account').button('loading');
  149. },
  150. complete: function() {
  151. $('#button-account').button('reset');
  152. },
  153. success: function(html) {
  154. $('.alert-dismissible, .text-danger').remove();
  155.  
  156. $('#collapse-payment-address .panel-body').html(html);
  157.  
  158. if ($('input[name=\'account\']:checked').val() == 'register') {
  159. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_account }} <i class="fa fa-caret-down"></i></a>');
  160. } else {
  161. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_address }} <i class="fa fa-caret-down"></i></a>');
  162. }
  163.  
  164. $('a[href=\'#collapse-payment-address\']').trigger('click');
  165. },
  166. error: function(xhr, ajaxOptions, thrownError) {
  167. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  168. }
  169. });
  170. });
  171.  
  172. // Login
  173. $(document).delegate('#button-login', 'click', function() {
  174. $.ajax({
  175. url: 'index.php?route=checkout/login/save',
  176. type: 'post',
  177. data: $('#collapse-checkout-option :input'),
  178. dataType: 'json',
  179. beforeSend: function() {
  180. $('#button-login').button('loading');
  181. },
  182. complete: function() {
  183. $('#button-login').button('reset');
  184. },
  185. success: function(json) {
  186. $('.alert-dismissible, .text-danger').remove();
  187. $('.form-group').removeClass('has-error');
  188.  
  189. if (json['redirect']) {
  190. location = json['redirect'];
  191. } else if (json['error']) {
  192. $('#collapse-checkout-option .panel-body').prepend('<div class="alert alert-danger alert-dismissible warning"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  193.  
  194. // Highlight any found errors
  195. $('input[name=\'email\']').parent().addClass('has-error');
  196. $('input[name=\'password\']').parent().addClass('has-error');
  197. }
  198. },
  199. error: function(xhr, ajaxOptions, thrownError) {
  200. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  201. }
  202. });
  203. });
  204.  
  205. // Register
  206. $(document).delegate('#button-register', 'click', function() {
  207. $.ajax({
  208. url: 'index.php?route=checkout/register/save',
  209. type: 'post',
  210. data: $('#collapse-payment-address input[type=\'text\'], #collapse-payment-address input[type=\'date\'], #collapse-payment-address input[type=\'datetime-local\'], #collapse-payment-address input[type=\'time\'], #collapse-payment-address input[type=\'password\'], #collapse-payment-address input[type=\'hidden\'], #collapse-payment-address input[type=\'checkbox\']:checked, #collapse-payment-address input[type=\'radio\']:checked, #collapse-payment-address textarea, #collapse-payment-address select'),
  211. dataType: 'json',
  212. beforeSend: function() {
  213. $('#button-register').button('loading');
  214. },
  215. success: function(json) {
  216. $('.alert-dismissible, .text-danger').remove();
  217. $('.form-group').removeClass('has-error');
  218.  
  219. if (json['redirect']) {
  220. location = json['redirect'];
  221. } else if (json['error']) {
  222. $('#button-register').button('reset');
  223.  
  224. if (json['error']['warning']) {
  225. $('#collapse-payment-address .panel-body').prepend('<div class="alert alert-danger alert-dismissible warning"><i class="fa fa-exclamation-circle"></i> ' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  226. }
  227.  
  228. for (i in json['error']) {
  229. var element = $('#input-payment-' + i.replace('_', '-'));
  230.  
  231. if ($(element).parent().hasClass('input-group')) {
  232. $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
  233. } else {
  234. $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
  235. }
  236. }
  237.  
  238. // Highlight any found errors
  239. $('.text-danger').parent().addClass('has-error');
  240. } else {
  241. {% if shipping_required %}
  242. var shipping_address = $('#payment-address input[name=\'shipping_address\']:checked').prop('value');
  243.  
  244. if (shipping_address) {
  245. $.ajax({
  246. url: 'index.php?route=checkout/shipping_method',
  247. dataType: 'html',
  248. success: function(html) {
  249. // Add the shipping address
  250. $.ajax({
  251. url: 'index.php?route=checkout/shipping_address',
  252. dataType: 'html',
  253. success: function(html) {
  254. $('#collapse-shipping-address .panel-body').html(html);
  255.  
  256. $('#collapse-shipping-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_address }} <i class="fa fa-caret-down"></i></a>');
  257. },
  258. error: function(xhr, ajaxOptions, thrownError) {
  259. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  260. }
  261. });
  262.  
  263. $('#collapse-shipping-method .panel-body').html(html);
  264.  
  265. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_method }} <i class="fa fa-caret-down"></i></a>');
  266.  
  267. $('a[href=\'#collapse-shipping-method\']').trigger('click');
  268.  
  269. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_shipping_method }}');
  270. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  271. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  272. },
  273. error: function(xhr, ajaxOptions, thrownError) {
  274. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  275. }
  276. });
  277. } else {
  278. $.ajax({
  279. url: 'index.php?route=checkout/shipping_address',
  280. dataType: 'html',
  281. success: function(html) {
  282. $('#collapse-shipping-address .panel-body').html(html);
  283.  
  284. $('#collapse-shipping-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_address }} <i class="fa fa-caret-down"></i></a>');
  285.  
  286. $('a[href=\'#collapse-shipping-address\']').trigger('click');
  287.  
  288. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_shipping_method }}');
  289. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  290. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  291. },
  292. error: function(xhr, ajaxOptions, thrownError) {
  293. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  294. }
  295. });
  296. }
  297. {% else %}
  298. $.ajax({
  299. url: 'index.php?route=checkout/payment_method',
  300. dataType: 'html',
  301. success: function(html) {
  302. $('#collapse-payment-method .panel-body').html(html);
  303.  
  304. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_method }} <i class="fa fa-caret-down"></i></a>');
  305.  
  306. $('a[href=\'#collapse-payment-method\']').trigger('click');
  307.  
  308. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  309. },
  310. error: function(xhr, ajaxOptions, thrownError) {
  311. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  312. }
  313. });
  314. {% endif %}
  315.  
  316. $.ajax({
  317. url: 'index.php?route=checkout/payment_address',
  318. dataType: 'html',
  319. complete: function() {
  320. $('#button-register').button('reset');
  321. },
  322. success: function(html) {
  323. $('#collapse-payment-address .panel-body').html(html);
  324.  
  325. $('#collapse-payment-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_address }} <i class="fa fa-caret-down"></i></a>');
  326. },
  327. error: function(xhr, ajaxOptions, thrownError) {
  328. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  329. }
  330. });
  331. }
  332. },
  333. error: function(xhr, ajaxOptions, thrownError) {
  334. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  335. }
  336. });
  337. });
  338.  
  339. // Payment Address
  340. $(document).delegate('#button-payment-address', 'click', function() {
  341. $.ajax({
  342. url: 'index.php?route=checkout/payment_address/save',
  343. type: 'post',
  344. data: $('#collapse-payment-address input[type=\'text\'], #collapse-payment-address input[type=\'date\'], #collapse-payment-address input[type=\'datetime-local\'], #collapse-payment-address input[type=\'time\'], #collapse-payment-address input[type=\'password\'], #collapse-payment-address input[type=\'checkbox\']:checked, #collapse-payment-address input[type=\'radio\']:checked, #collapse-payment-address input[type=\'hidden\'], #collapse-payment-address textarea, #collapse-payment-address select'),
  345. dataType: 'json',
  346. beforeSend: function() {
  347. $('#button-payment-address').button('loading');
  348. },
  349. complete: function() {
  350. $('#button-payment-address').button('reset');
  351. },
  352. success: function(json) {
  353. $('.alert-dismissible, .text-danger').remove();
  354.  
  355. if (json['redirect']) {
  356. location = json['redirect'];
  357. } else if (json['error']) {
  358. if (json['error']['warning']) {
  359. $('#collapse-payment-address .panel-body').prepend('<div class="alert alert-warning alert-dismissible">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  360. }
  361.  
  362. for (i in json['error']) {
  363. var element = $('#input-payment-' + i.replace('_', '-'));
  364.  
  365. if ($(element).parent().hasClass('input-group')) {
  366. $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
  367. } else {
  368. $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
  369. }
  370. }
  371.  
  372. // Highlight any found errors
  373. $('.text-danger').parent().parent().addClass('has-error');
  374. } else {
  375. {% if shipping_required %}
  376. $.ajax({
  377. url: 'index.php?route=checkout/shipping_address',
  378. dataType: 'html',
  379. success: function(html) {
  380. $('#collapse-shipping-address .panel-body').html(html);
  381.  
  382. $('#collapse-shipping-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_address }} <i class="fa fa-caret-down"></i></a>');
  383.  
  384. $('a[href=\'#collapse-shipping-address\']').trigger('click');
  385.  
  386. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_shipping_method }}');
  387. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  388. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  389. },
  390. error: function(xhr, ajaxOptions, thrownError) {
  391. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  392. }
  393. }).done(function() {
  394. $.ajax({
  395. url: 'index.php?route=checkout/payment_address',
  396. dataType: 'html',
  397. success: function(html) {
  398. $('#collapse-payment-address .panel-body').html(html);
  399. },
  400. error: function(xhr, ajaxOptions, thrownError) {
  401. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  402. }
  403. });
  404. });
  405. {% else %}
  406. $.ajax({
  407. url: 'index.php?route=checkout/payment_method',
  408. dataType: 'html',
  409. success: function(html) {
  410. $('#collapse-payment-method .panel-body').html(html);
  411.  
  412. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_method }} <i class="fa fa-caret-down"></i></a>');
  413.  
  414. $('a[href=\'#collapse-payment-method\']').trigger('click');
  415.  
  416. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  417. },
  418. error: function(xhr, ajaxOptions, thrownError) {
  419. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  420. }
  421. }).done(function() {
  422. $.ajax({
  423. url: 'index.php?route=checkout/payment_address',
  424. dataType: 'html',
  425. success: function(html) {
  426. $('#collapse-payment-address .panel-body').html(html);
  427. },
  428. error: function(xhr, ajaxOptions, thrownError) {
  429. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  430. }
  431. });
  432. });
  433. {% endif %}
  434. }
  435. },
  436. error: function(xhr, ajaxOptions, thrownError) {
  437. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  438. }
  439. });
  440. });
  441.  
  442. // Shipping Address
  443. $(document).delegate('#button-shipping-address', 'click', function() {
  444. $.ajax({
  445. url: 'index.php?route=checkout/shipping_address/save',
  446. type: 'post',
  447. data: $('#collapse-shipping-address input[type=\'text\'], #collapse-shipping-address input[type=\'date\'], #collapse-shipping-address input[type=\'datetime-local\'], #collapse-shipping-address input[type=\'time\'], #collapse-shipping-address input[type=\'password\'], #collapse-shipping-address input[type=\'checkbox\']:checked, #collapse-shipping-address input[type=\'radio\']:checked, #collapse-shipping-address textarea, #collapse-shipping-address select'),
  448. dataType: 'json',
  449. beforeSend: function() {
  450. $('#button-shipping-address').button('loading');
  451. },
  452. success: function(json) {
  453. $('.alert-dismissible, .text-danger').remove();
  454.  
  455. if (json['redirect']) {
  456. location = json['redirect'];
  457. } else if (json['error']) {
  458. $('#button-shipping-address').button('reset');
  459.  
  460. if (json['error']['warning']) {
  461. $('#collapse-shipping-address .panel-body').prepend('<div class="alert alert-warning alert-dismissible">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  462. }
  463.  
  464. for (i in json['error']) {
  465. var element = $('#input-shipping-' + i.replace('_', '-'));
  466.  
  467. if ($(element).parent().hasClass('input-group')) {
  468. $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
  469. } else {
  470. $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
  471. }
  472. }
  473.  
  474. // Highlight any found errors
  475. $('.text-danger').parent().parent().addClass('has-error');
  476. } else {
  477. $.ajax({
  478. url: 'index.php?route=checkout/shipping_method',
  479. dataType: 'html',
  480. complete: function() {
  481. $('#button-shipping-address').button('reset');
  482. },
  483. success: function(html) {
  484. $('#collapse-shipping-method .panel-body').html(html);
  485.  
  486. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_method }} <i class="fa fa-caret-down"></i></a>');
  487.  
  488. $('a[href=\'#collapse-shipping-method\']').trigger('click');
  489.  
  490. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  491. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  492.  
  493. $.ajax({
  494. url: 'index.php?route=checkout/shipping_address',
  495. dataType: 'html',
  496. success: function(html) {
  497. $('#collapse-shipping-address .panel-body').html(html);
  498. },
  499. error: function(xhr, ajaxOptions, thrownError) {
  500. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  501. }
  502. });
  503. },
  504. error: function(xhr, ajaxOptions, thrownError) {
  505. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  506. }
  507. }).done(function() {
  508. $.ajax({
  509. url: 'index.php?route=checkout/payment_address',
  510. dataType: 'html',
  511. success: function(html) {
  512. $('#collapse-payment-address .panel-body').html(html);
  513. },
  514. error: function(xhr, ajaxOptions, thrownError) {
  515. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  516. }
  517. });
  518. });
  519. }
  520. },
  521. error: function(xhr, ajaxOptions, thrownError) {
  522. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  523. }
  524. });
  525. });
  526.  
  527. // Guest
  528. $(document).delegate('#button-guest', 'click', function() {
  529. $.ajax({
  530. url: 'index.php?route=checkout/guest/save',
  531. type: 'post',
  532. data: $('#collapse-payment-address input[type=\'text\'], #collapse-payment-address input[type=\'date\'], #collapse-payment-address input[type=\'datetime-local\'], #collapse-payment-address input[type=\'time\'], #collapse-payment-address input[type=\'checkbox\']:checked, #collapse-payment-address input[type=\'radio\']:checked, #collapse-payment-address input[type=\'hidden\'], #collapse-payment-address textarea, #collapse-payment-address select'),
  533. dataType: 'json',
  534. beforeSend: function() {
  535. $('#button-guest').button('loading');
  536. },
  537. success: function(json) {
  538. $('.alert-dismissible, .text-danger').remove();
  539.  
  540. if (json['redirect']) {
  541. location = json['redirect'];
  542. } else if (json['error']) {
  543. $('#button-guest').button('reset');
  544.  
  545. if (json['error']['warning']) {
  546. $('#collapse-payment-address .panel-body').prepend('<div class="alert alert-warning alert-dismissible">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  547. }
  548.  
  549. for (i in json['error']) {
  550. var element = $('#input-payment-' + i.replace('_', '-'));
  551.  
  552. if ($(element).parent().hasClass('input-group')) {
  553. $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
  554. } else {
  555. $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
  556. }
  557. }
  558.  
  559. // Highlight any found errors
  560. $('.text-danger').parent().addClass('has-error');
  561. } else {
  562. {% if shipping_required %}
  563. var shipping_address = $('#collapse-payment-address input[name=\'shipping_address\']:checked').prop('value');
  564.  
  565. if (shipping_address) {
  566. $.ajax({
  567. url: 'index.php?route=checkout/shipping_method',
  568. dataType: 'html',
  569. complete: function() {
  570. $('#button-guest').button('reset');
  571. },
  572. success: function(html) {
  573. // Add the shipping address
  574. $.ajax({
  575. url: 'index.php?route=checkout/guest_shipping',
  576. dataType: 'html',
  577. success: function(html) {
  578. $('#collapse-shipping-address .panel-body').html(html);
  579.  
  580. $('#collapse-shipping-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_address }} <i class="fa fa-caret-down"></i></a>');
  581. },
  582. error: function(xhr, ajaxOptions, thrownError) {
  583. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  584. }
  585. });
  586.  
  587. $('#collapse-shipping-method .panel-body').html(html);
  588.  
  589. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_method }} <i class="fa fa-caret-down"></i></a>');
  590.  
  591. $('a[href=\'#collapse-shipping-method\']').trigger('click');
  592.  
  593. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  594. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  595. },
  596. error: function(xhr, ajaxOptions, thrownError) {
  597. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  598. }
  599. });
  600. } else {
  601. $.ajax({
  602. url: 'index.php?route=checkout/guest_shipping',
  603. dataType: 'html',
  604. complete: function() {
  605. $('#button-guest').button('reset');
  606. },
  607. success: function(html) {
  608. $('#collapse-shipping-address .panel-body').html(html);
  609.  
  610. $('#collapse-shipping-address').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-address" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_address }} <i class="fa fa-caret-down"></i></a>');
  611.  
  612. $('a[href=\'#collapse-shipping-address\']').trigger('click');
  613.  
  614. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_shipping_method }}');
  615. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  616. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  617. },
  618. error: function(xhr, ajaxOptions, thrownError) {
  619. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  620. }
  621. });
  622. }
  623. {% else %}
  624. $.ajax({
  625. url: 'index.php?route=checkout/payment_method',
  626. dataType: 'html',
  627. complete: function() {
  628. $('#button-guest').button('reset');
  629. },
  630. success: function(html) {
  631. $('#collapse-payment-method .panel-body').html(html);
  632.  
  633. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_method }} <i class="fa fa-caret-down"></i></a>');
  634.  
  635. $('a[href=\'#collapse-payment-method\']').trigger('click');
  636.  
  637. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  638. },
  639. error: function(xhr, ajaxOptions, thrownError) {
  640. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  641. }
  642. });
  643. {% endif %}
  644. }
  645. },
  646. error: function(xhr, ajaxOptions, thrownError) {
  647. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  648. }
  649. });
  650. });
  651.  
  652. // Guest Shipping
  653. $(document).delegate('#button-guest-shipping', 'click', function() {
  654. $.ajax({
  655. url: 'index.php?route=checkout/guest_shipping/save',
  656. type: 'post',
  657. data: $('#collapse-shipping-address input[type=\'text\'], #collapse-shipping-address input[type=\'date\'], #collapse-shipping-address input[type=\'datetime-local\'], #collapse-shipping-address input[type=\'time\'], #collapse-shipping-address input[type=\'password\'], #collapse-shipping-address input[type=\'checkbox\']:checked, #collapse-shipping-address input[type=\'radio\']:checked, #collapse-shipping-address textarea, #collapse-shipping-address select'),
  658. dataType: 'json',
  659. beforeSend: function() {
  660. $('#button-guest-shipping').button('loading');
  661. },
  662. success: function(json) {
  663. $('.alert-dismissible, .text-danger').remove();
  664.  
  665. if (json['redirect']) {
  666. location = json['redirect'];
  667. } else if (json['error']) {
  668. $('#button-guest-shipping').button('reset');
  669.  
  670. if (json['error']['warning']) {
  671. $('#collapse-shipping-address .panel-body').prepend('<div class="alert alert-danger alert-dismissible warning">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  672. }
  673.  
  674. for (i in json['error']) {
  675. var element = $('#input-shipping-' + i.replace('_', '-'));
  676.  
  677. if ($(element).parent().hasClass('input-group')) {
  678. $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
  679. } else {
  680. $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
  681. }
  682. }
  683.  
  684. // Highlight any found errors
  685. $('.text-danger').parent().addClass('has-error');
  686. } else {
  687. $.ajax({
  688. url: 'index.php?route=checkout/shipping_method',
  689. dataType: 'html',
  690. complete: function() {
  691. $('#button-guest-shipping').button('reset');
  692. },
  693. success: function(html) {
  694. $('#collapse-shipping-method .panel-body').html(html);
  695.  
  696. $('#collapse-shipping-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-shipping-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_shipping_method }} <i class="fa fa-caret-down"></i>');
  697.  
  698. $('a[href=\'#collapse-shipping-method\']').trigger('click');
  699.  
  700. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('{{ text_checkout_payment_method }}');
  701. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  702. },
  703. error: function(xhr, ajaxOptions, thrownError) {
  704. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  705. }
  706. });
  707. }
  708. },
  709. error: function(xhr, ajaxOptions, thrownError) {
  710. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  711. }
  712. });
  713. });
  714.  
  715. $(document).delegate('#button-shipping-method', 'click', function() {
  716. $.ajax({
  717. url: 'index.php?route=checkout/shipping_method/save',
  718. type: 'post',
  719. data: $('#collapse-shipping-method input[type=\'radio\']:checked, #collapse-shipping-method textarea'),
  720. dataType: 'json',
  721. beforeSend: function() {
  722. $('#button-shipping-method').button('loading');
  723. },
  724. success: function(json) {
  725. $('.alert-dismissible, .text-danger').remove();
  726.  
  727. if (json['redirect']) {
  728. location = json['redirect'];
  729. } else if (json['error']) {
  730. $('#button-shipping-method').button('reset');
  731.  
  732. if (json['error']['warning']) {
  733. $('#collapse-shipping-method .panel-body').prepend('<div class="alert alert-danger alert-dismissible warning">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  734. }
  735. } else {
  736. $.ajax({
  737. url: 'index.php?route=checkout/payment_method',
  738. dataType: 'html',
  739. complete: function() {
  740. $('#button-shipping-method').button('reset');
  741. },
  742. success: function(html) {
  743. $('#collapse-payment-method .panel-body').html(html);
  744.  
  745. $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_payment_method }} <i class="fa fa-caret-down"></i></a>');
  746.  
  747. $('a[href=\'#collapse-payment-method\']').trigger('click');
  748.  
  749. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('{{ text_checkout_confirm }}');
  750. },
  751. error: function(xhr, ajaxOptions, thrownError) {
  752. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  753. }
  754. });
  755. }
  756. },
  757. error: function(xhr, ajaxOptions, thrownError) {
  758. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  759. }
  760. });
  761. });
  762.  
  763. $(document).delegate('#button-payment-method', 'click', function() {
  764. $.ajax({
  765. url: 'index.php?route=checkout/payment_method/save',
  766. type: 'post',
  767. data: $('#collapse-payment-method input[type=\'radio\']:checked, #collapse-payment-method input[type=\'checkbox\']:checked, #collapse-payment-method textarea'),
  768. dataType: 'json',
  769. beforeSend: function() {
  770. $('#button-payment-method').button('loading');
  771. },
  772. success: function(json) {
  773. $('.alert-dismissible, .text-danger').remove();
  774.  
  775. if (json['redirect']) {
  776. location = json['redirect'];
  777. } else if (json['error']) {
  778. $('#button-payment-method').button('reset');
  779.  
  780. if (json['error']['warning']) {
  781. $('#collapse-payment-method .panel-body').prepend('<div class="alert alert-danger alert-dismissible warning">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  782. }
  783. } else {
  784. $.ajax({
  785. url: 'index.php?route=checkout/confirm',
  786. dataType: 'html',
  787. complete: function() {
  788. $('#button-payment-method').button('reset');
  789. },
  790. success: function(html) {
  791. $('#collapse-checkout-confirm .panel-body').html(html);
  792.  
  793. $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('<a href="#collapse-checkout-confirm" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">{{ text_checkout_confirm }} <i class="fa fa-caret-down"></i></a>');
  794.  
  795. $('a[href=\'#collapse-checkout-confirm\']').trigger('click');
  796. },
  797. error: function(xhr, ajaxOptions, thrownError) {
  798. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  799. }
  800. });
  801. }
  802. },
  803. error: function(xhr, ajaxOptions, thrownError) {
  804. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  805. }
  806. });
  807. });
  808. //--></script>
  809. {{ footer }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement