Last active
October 25, 2018 10:03
-
-
Save udovichenko/11ad883e543dde471933d8d432aac6fb to your computer and use it in GitHub Desktop.
minishop2 script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function (window, document, $, miniShop2Config) { | |
| var miniShop2 = miniShop2 || {}; | |
| miniShop2Config.callbacksObjectTemplate = function () { | |
| return { | |
| // return false to prevent send data | |
| before: [], | |
| response: { | |
| success: [], | |
| error: [] | |
| }, | |
| ajax: { | |
| done: [], | |
| fail: [], | |
| always: [] | |
| } | |
| } | |
| }; | |
| miniShop2.Callbacks = miniShop2Config.Callbacks = { | |
| Cart: { | |
| add: miniShop2Config.callbacksObjectTemplate(), | |
| remove: miniShop2Config.callbacksObjectTemplate(), | |
| change: miniShop2Config.callbacksObjectTemplate(), | |
| clean: miniShop2Config.callbacksObjectTemplate() | |
| }, | |
| Order: { | |
| add: miniShop2Config.callbacksObjectTemplate(), | |
| getcost: miniShop2Config.callbacksObjectTemplate(), | |
| clean: miniShop2Config.callbacksObjectTemplate(), | |
| submit: miniShop2Config.callbacksObjectTemplate(), | |
| getrequired: miniShop2Config.callbacksObjectTemplate() | |
| }, | |
| }; | |
| miniShop2.Callbacks.add = function (path, name, func) { | |
| if (typeof func != 'function') { | |
| return false; | |
| } | |
| path = path.split('.'); | |
| var obj = miniShop2.Callbacks; | |
| for (var i = 0; i < path.length; i++) { | |
| if (obj[path[i]] == undefined) { | |
| return false; | |
| } | |
| obj = obj[path[i]]; | |
| } | |
| if (typeof obj != 'object') { | |
| obj = [obj]; | |
| } | |
| if (name != undefined) { | |
| obj[name] = func; | |
| } | |
| else { | |
| obj.push(func); | |
| } | |
| return true; | |
| }; | |
| miniShop2.Callbacks.remove = function (path, name) { | |
| path = path.split('.'); | |
| var obj = miniShop2.Callbacks; | |
| for (var i = 0; i < path.length; i++) { | |
| if (obj[path[i]] == undefined) { | |
| return false; | |
| } | |
| obj = obj[path[i]]; | |
| } | |
| if (obj[name] != undefined) { | |
| delete obj[name]; | |
| return true; | |
| } | |
| return false; | |
| }; | |
| miniShop2.ajaxProgress = false; | |
| miniShop2.setup = function () { | |
| // selectors & $objects | |
| this.actionName = 'ms2_action'; | |
| this.action = ':submit[name=' + this.actionName + ']'; | |
| this.form = '.ms2_form'; | |
| this.$doc = $(document); | |
| this.sendData = { | |
| $form: null, | |
| action: null, | |
| formData: null | |
| }; | |
| }; | |
| miniShop2.initialize = function () { | |
| miniShop2.setup(); | |
| // Indicator of active ajax request | |
| //noinspection JSUnresolvedFunction | |
| miniShop2.$doc | |
| .ajaxStart(function () { | |
| miniShop2.ajaxProgress = true; | |
| }) | |
| .ajaxStop(function () { | |
| miniShop2.ajaxProgress = false; | |
| }) | |
| .on('submit', miniShop2.form, function (e) { | |
| e.preventDefault(); | |
| var $form = $(this); | |
| var action = $form.find(miniShop2.action).val(); | |
| if (action) { | |
| var formData = $form.serializeArray(); | |
| formData.push({ | |
| name: miniShop2.actionName, | |
| value: action | |
| }); | |
| miniShop2.sendData = { | |
| $form: $form, | |
| action: action, | |
| formData: formData | |
| }; | |
| miniShop2.controller(); | |
| } | |
| }); | |
| miniShop2.Cart.initialize(); | |
| miniShop2.Message.initialize(); | |
| miniShop2.Order.initialize(); | |
| miniShop2.Gallery.initialize(); | |
| }; | |
| miniShop2.controller = function () { | |
| var self = this; | |
| switch (self.sendData.action) { | |
| case 'cart/add': | |
| miniShop2.Cart.add(); | |
| break; | |
| case 'cart/remove': | |
| miniShop2.Cart.remove(); | |
| break; | |
| case 'cart/change': | |
| miniShop2.Cart.change(); | |
| break; | |
| case 'cart/clean': | |
| miniShop2.Cart.clean(); | |
| break; | |
| case 'order/submit': | |
| miniShop2.Order.submit(); | |
| break; | |
| case 'order/clean': | |
| miniShop2.Order.clean(); | |
| break; | |
| default: | |
| return; | |
| } | |
| }; | |
| miniShop2.send = function (data, callbacks, userCallbacks) { | |
| var runCallback = function (callback, bind) { | |
| if (typeof callback == 'function') { | |
| return callback.apply(bind, Array.prototype.slice.call(arguments, 2)); | |
| } | |
| else if (typeof callback == 'object') { | |
| for (var i in callback) { | |
| if (callback.hasOwnProperty(i)) { | |
| var response = callback[i].apply(bind, Array.prototype.slice.call(arguments, 2)); | |
| if (response === false) { | |
| return false; | |
| } | |
| } | |
| } | |
| } | |
| return true; | |
| }; | |
| // set context | |
| if ($.isArray(data)) { | |
| data.push({ | |
| name: 'ctx', | |
| value: miniShop2Config.ctx | |
| }); | |
| } | |
| else if ($.isPlainObject(data)) { | |
| data.ctx = miniShop2Config.ctx; | |
| } | |
| else if (typeof data == 'string') { | |
| data += '&ctx=' + miniShop2Config.ctx; | |
| } | |
| // set action url | |
| var formActionUrl = (miniShop2.sendData.$form) | |
| ? miniShop2.sendData.$form.attr('action') | |
| : false; | |
| var url = (formActionUrl) | |
| ? formActionUrl | |
| : (miniShop2Config.actionUrl) | |
| ? miniShop2Config.actionUrl | |
| : document.location.href; | |
| // set request method | |
| var formMethod = (miniShop2.sendData.$form) | |
| ? miniShop2.sendData.$form.attr('method') | |
| : false; | |
| var method = (formMethod) | |
| ? formMethod | |
| : 'post'; | |
| // callback before | |
| if (runCallback(callbacks.before) === false || runCallback(userCallbacks.before) === false) { | |
| return; | |
| } | |
| // send | |
| var xhr = function (callbacks, userCallbacks) { | |
| return $[method](url, data, function (response) { | |
| if (response.success) { | |
| if (response.message) { | |
| miniShop2.Message.success(response.message); | |
| } | |
| runCallback(callbacks.response.success, miniShop2, response); | |
| runCallback(userCallbacks.response.success, miniShop2, response); | |
| } | |
| else { | |
| miniShop2.Message.error(response.message); | |
| runCallback(callbacks.response.error, miniShop2, response); | |
| runCallback(userCallbacks.response.error, miniShop2, response); | |
| } | |
| }, 'json').done(function () { | |
| runCallback(callbacks.ajax.done, miniShop2, xhr); | |
| runCallback(userCallbacks.ajax.done, miniShop2, xhr); | |
| }).fail(function () { | |
| runCallback(callbacks.ajax.fail, miniShop2, xhr); | |
| runCallback(userCallbacks.ajax.fail, miniShop2, xhr); | |
| }).always(function () { | |
| runCallback(callbacks.ajax.always, miniShop2, xhr); | |
| runCallback(userCallbacks.ajax.always, miniShop2, xhr); | |
| }); | |
| }(callbacks, userCallbacks); | |
| }; | |
| miniShop2.Cart = { | |
| callbacks: { | |
| add: miniShop2Config.callbacksObjectTemplate(), | |
| remove: miniShop2Config.callbacksObjectTemplate(), | |
| change: miniShop2Config.callbacksObjectTemplate(), | |
| clean: miniShop2Config.callbacksObjectTemplate() | |
| }, | |
| setup: function () { | |
| miniShop2.Cart.cart = '#msCart'; | |
| miniShop2.Cart.miniCart = '#msMiniCart'; | |
| miniShop2.Cart.miniCartNotEmptyClass = 'full'; | |
| miniShop2.Cart.countInput = 'input[name=count]'; | |
| miniShop2.Cart.totalWeight = '.ms2_total_weight'; | |
| miniShop2.Cart.totalCount = '.ms2_total_count'; | |
| miniShop2.Cart.totalCost = '.ms2_total_cost'; | |
| }, | |
| initialize: function () { | |
| miniShop2.Cart.setup(); | |
| if (!$(miniShop2.Cart.cart).length) { | |
| return; | |
| } | |
| miniShop2.$doc.on('change', miniShop2.Cart.cart + ' ' + miniShop2.Cart.countInput, function () { | |
| $(this).closest(miniShop2.form).submit(); | |
| }); | |
| }, | |
| add: function () { | |
| var callbacks = miniShop2.Cart.callbacks; | |
| callbacks.add.response.success = function (response) { | |
| this.Cart.status(response.data); | |
| }; | |
| miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.add, miniShop2.Callbacks.Cart.add); | |
| }, | |
| remove: function () { | |
| var callbacks = miniShop2.Cart.callbacks; | |
| callbacks.remove.response.success = function (response) { | |
| this.Cart.remove_position(miniShop2.Utils.getValueFromSerializedArray('key')); | |
| this.Cart.status(response.data); | |
| }; | |
| miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.remove, miniShop2.Callbacks.Cart.remove); | |
| }, | |
| change: function () { | |
| var callbacks = miniShop2.Cart.callbacks; | |
| callbacks.change.response.success = function (response) { | |
| if (typeof(response.data.key) == 'undefined') { | |
| this.Cart.remove_position(miniShop2.Utils.getValueFromSerializedArray('key')); | |
| } | |
| else { | |
| $('#' + miniShop2.Utils.getValueFromSerializedArray('key')).find(''); | |
| } | |
| this.Cart.status(response.data); | |
| }; | |
| miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.change, miniShop2.Callbacks.Cart.change); | |
| }, | |
| status: function (status) { | |
| if (status['total_count'] < 1) { | |
| location.reload(); | |
| } | |
| else { | |
| //var $cart = $(miniShop2.Cart.cart); | |
| var $miniCart = $(miniShop2.Cart.miniCart); | |
| if (status['total_count'] > 0 && !$miniCart.hasClass(miniShop2.Cart.miniCartNotEmptyClass)) { | |
| $miniCart.addClass(miniShop2.Cart.miniCartNotEmptyClass); | |
| } | |
| $(miniShop2.Cart.totalWeight).text(miniShop2.Utils.formatWeight(status['total_weight'])); | |
| $(miniShop2.Cart.totalCount).text(status['total_count']); | |
| $(miniShop2.Cart.totalCost).text(miniShop2.Utils.formatPrice(status['total_cost'])); | |
| if ($(miniShop2.Order.orderCost, miniShop2.Order.order).length) { | |
| miniShop2.Order.getcost(); | |
| } | |
| } | |
| }, | |
| clean: function () { | |
| var callbacks = miniShop2.Cart.callbacks; | |
| callbacks.clean.response.success = function (response) { | |
| this.Cart.status(response.data); | |
| }; | |
| miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.clean, miniShop2.Callbacks.Cart.clean); | |
| }, | |
| remove_position: function (key) { | |
| $('#' + key).remove(); | |
| } | |
| }; | |
| miniShop2.Gallery = { | |
| setup: function () { | |
| miniShop2.Gallery.gallery = $('#msGallery'); | |
| miniShop2.Gallery.files = miniShop2.Gallery.gallery.find('.fotorama'); | |
| }, | |
| initialize: function () { | |
| miniShop2.Gallery.setup(); | |
| if (miniShop2.Gallery.files.length) { | |
| $('<link/>', { | |
| rel: 'stylesheet', | |
| type: 'text/css', | |
| href: miniShop2Config.cssUrl + 'lib/fotorama.min.css', | |
| }).appendTo('head'); | |
| $('<script/>', { | |
| type: 'text/javascript', | |
| src: miniShop2Config.jsUrl + 'lib/fotorama.min.js', | |
| }).appendTo('head'); | |
| } | |
| } | |
| }; | |
| miniShop2.Order = { | |
| callbacks: { | |
| add: miniShop2Config.callbacksObjectTemplate(), | |
| getcost: miniShop2Config.callbacksObjectTemplate(), | |
| clean: miniShop2Config.callbacksObjectTemplate(), | |
| submit: miniShop2Config.callbacksObjectTemplate(), | |
| getrequired: miniShop2Config.callbacksObjectTemplate() | |
| }, | |
| setup: function () { | |
| miniShop2.Order.order = '#msOrder'; | |
| miniShop2.Order.deliveries = '#deliveries'; | |
| miniShop2.Order.payments = '#payments'; | |
| miniShop2.Order.deliveryInput = 'input[name="delivery"]'; | |
| miniShop2.Order.inputParent = '.input-parent'; | |
| miniShop2.Order.paymentInput = 'input[name="payment"]'; | |
| miniShop2.Order.paymentInputUniquePrefix = 'input#payment_'; | |
| miniShop2.Order.deliveryInputUniquePrefix = 'input#delivery_'; | |
| miniShop2.Order.orderCost = '#ms2_order_cost' | |
| }, | |
| initialize: function () { | |
| miniShop2.Order.setup(); | |
| if ($(miniShop2.Order.order).length) { | |
| miniShop2.$doc | |
| .on('click', miniShop2.Order.order + ' [name="' + miniShop2.actionName + '"][value="order/clean"]', function (e) { | |
| miniShop2.Order.clean(); | |
| e.preventDefault(); | |
| }) | |
| .on('change', miniShop2.Order.order + ' input,' + miniShop2.Order.order + ' textarea', function () { | |
| var $this = $(this); | |
| var key = $this.attr('name'); | |
| var value = $this.val(); | |
| miniShop2.Order.add(key, value); | |
| }); | |
| var $deliveryInputChecked = $(miniShop2.Order.deliveryInput + ':checked', miniShop2.Order.order); | |
| $deliveryInputChecked.trigger('change'); | |
| miniShop2.Order.updatePayments($deliveryInputChecked.data('payments')); | |
| } | |
| }, | |
| updatePayments: function (payments) { | |
| var $paymentInputs = $(miniShop2.Order.paymentInput, miniShop2.Order.order); | |
| $paymentInputs.attr('disabled', true).prop('disabled', true).closest(miniShop2.Order.inputParent).hide(); | |
| if (payments.length > 0) { | |
| for (var i in payments) { | |
| if (payments.hasOwnProperty(i)) { | |
| $paymentInputs.filter(miniShop2.Order.paymentInputUniquePrefix + payments[i]).attr('disabled', false).prop('disabled', false).closest(miniShop2.Order.inputParent).show(); | |
| } | |
| } | |
| } | |
| if ($paymentInputs.filter(':visible:checked').length == 0) { | |
| $paymentInputs.filter(':visible:first').trigger('click'); | |
| } | |
| }, | |
| add: function (key, value) { | |
| console.log('order/add callback. ' + key + ': ' + value); | |
| var callbacks = miniShop2.Order.callbacks; | |
| var old_value = value; | |
| callbacks.add.response.success = function (response) { | |
| console.log('order/add callback. ' + key + ': ' + value); | |
| (function (key, value, old_value) { | |
| var $field = $('[name="' + key + '"]', miniShop2.Order.order); | |
| switch (key) { | |
| case 'delivery': | |
| $field = $(miniShop2.Order.deliveryInputUniquePrefix + response.data[key]); | |
| if (response.data[key] != old_value) { | |
| $field.trigger('click'); | |
| } | |
| else { | |
| miniShop2.Order.getrequired(value); | |
| miniShop2.Order.updatePayments($field.data('payments')); | |
| miniShop2.Order.getcost(); | |
| } | |
| break; | |
| case 'payment': | |
| $field = $(miniShop2.Order.paymentInputUniquePrefix + response.data[key]); | |
| if (response.data[key] != old_value) { | |
| $field.trigger('click'); | |
| } | |
| else { | |
| miniShop2.Order.getcost(); | |
| } | |
| break; | |
| //default: | |
| } | |
| $field.val(response.data[key]).removeClass('error').closest(miniShop2.Order.inputParent).removeClass('error'); | |
| })(key, value, old_value); | |
| }; | |
| callbacks.add.response.error = function () { | |
| (function (key) { | |
| var $field = $('[name="' + key + '"]', miniShop2.Order.order); | |
| if ($field.attr('type') == 'checkbox' || $field.attr('type') == 'radio') { | |
| $field.closest(miniShop2.Order.inputParent).addClass('error'); | |
| } | |
| else { | |
| $field.addClass('error'); | |
| } | |
| })(key); | |
| }; | |
| var data = { | |
| key: key, | |
| value: value | |
| }; | |
| data[miniShop2.actionName] = 'order/add'; | |
| miniShop2.send(data, miniShop2.Order.callbacks.add, miniShop2.Callbacks.Order.add); | |
| }, | |
| getcost: function () { | |
| var callbacks = miniShop2.Order.callbacks; | |
| callbacks.getcost.response.success = function (response) { | |
| $(miniShop2.Order.orderCost, miniShop2.Order.order).text(miniShop2.Utils.formatPrice(response.data['cost'])); | |
| }; | |
| var data = {}; | |
| data[miniShop2.actionName] = 'order/getcost'; | |
| miniShop2.send(data, miniShop2.Order.callbacks.getcost, miniShop2.Callbacks.Order.getcost); | |
| }, | |
| clean: function () { | |
| var callbacks = miniShop2.Order.callbacks; | |
| callbacks.clean.response.success = function () { | |
| location.reload(); | |
| }; | |
| var data = {}; | |
| data[miniShop2.actionName] = 'order/clean'; | |
| miniShop2.send(data, miniShop2.Order.callbacks.clean, miniShop2.Callbacks.Order.clean); | |
| }, | |
| submit: function () { | |
| miniShop2.Message.close(); | |
| // Checking for active ajax request | |
| if (miniShop2.ajaxProgress) { | |
| //noinspection JSUnresolvedFunction | |
| miniShop2.$doc.ajaxComplete(function () { | |
| miniShop2.ajaxProgress = false; | |
| miniShop2.$doc.unbind('ajaxComplete'); | |
| miniShop2.Order.submit(); | |
| }); | |
| return false; | |
| } | |
| var callbacks = miniShop2.Order.callbacks; | |
| callbacks.submit.before = function () { | |
| $(':button, a', miniShop2.Order.order).attr('disabled', true).prop('disabled', true); | |
| }; | |
| callbacks.submit.ajax.always = function () { | |
| $(':button, a', miniShop2.Order.order).attr('disabled', false).prop('disabled', false); | |
| }; | |
| callbacks.submit.response.success = function (response) { | |
| if (response.data['redirect']) { | |
| document.location.href = response.data['redirect']; | |
| } | |
| else if (response.data['msorder']) { | |
| document.location.href = /\?/.test(document.location.href) | |
| ? document.location.href + '&msorder=' + response.data['msorder'] | |
| : document.location.href + '?msorder=' + response.data['msorder']; | |
| } | |
| else { | |
| location.reload(); | |
| } | |
| }; | |
| callbacks.submit.response.error = function (response) { | |
| $('[name]', miniShop2.Order.order).removeClass('error').closest(miniShop2.Order.inputParent).removeClass('error'); | |
| for (var i in response.data) { | |
| if (response.data.hasOwnProperty(i)) { | |
| var key = response.data[i]; | |
| //var $field = $('[name="' + response.data[i] + '"]', miniShop2.Order.order); | |
| //$field.addClass('error').closest(miniShop2.Order.inputParent).addClass('error'); | |
| var $field = $('[name="' + key + '"]', miniShop2.Order.order); | |
| if ($field.attr('type') == 'checkbox' || $field.attr('type') == 'radio') { | |
| $field.closest(miniShop2.Order.inputParent).addClass('error'); | |
| } | |
| else { | |
| $field.addClass('error'); | |
| } | |
| } | |
| } | |
| }; | |
| return miniShop2.send(miniShop2.sendData.formData, miniShop2.Order.callbacks.submit, miniShop2.Callbacks.Order.submit); | |
| }, | |
| getrequired: function (value) { | |
| var callbacks = miniShop2.Order.callbacks; | |
| callbacks.getrequired.response.success = function (response) { | |
| $('[name]', miniShop2.Order.order).removeClass('required').closest(miniShop2.Order.inputParent).removeClass('required'); | |
| var requires = response.data['requires']; | |
| for (var i = 0, length = requires.length; i < length; i++) { | |
| $('[name=' + requires[i] + ']', miniShop2.Order.order).addClass('required').closest(miniShop2.Order.inputParent).addClass('required'); | |
| } | |
| }; | |
| callbacks.getrequired.response.error = function () { | |
| $('[name]', miniShop2.Order.order).removeClass('required').closest(miniShop2.Order.inputParent).removeClass('required'); | |
| }; | |
| var data = { | |
| id: value | |
| }; | |
| data[miniShop2.actionName] = 'order/getrequired'; | |
| miniShop2.send(data, miniShop2.Order.callbacks.getrequired, miniShop2.Callbacks.Order.getrequired); | |
| } | |
| }; | |
| miniShop2.Message = { | |
| initialize: function () { | |
| miniShop2.Message.close = function () { | |
| }; | |
| miniShop2.Message.show = function (message) { | |
| if (message != '') { | |
| alert(message); | |
| } | |
| }; | |
| if (typeof($.fn.jGrowl) != 'function') { | |
| $.getScript(miniShop2Config.jsUrl + 'lib/jquery.jgrowl.min.js', function () { | |
| miniShop2.Message.initialize(); | |
| }); | |
| } | |
| else { | |
| $.jGrowl.defaults.closerTemplate = '<div>[ ' + miniShop2Config.close_all_message + ' ]</div>'; | |
| miniShop2.Message.close = function () { | |
| $.jGrowl('close'); | |
| }; | |
| miniShop2.Message.show = function (message, options) { | |
| if (message != '') { | |
| $.jGrowl(message, options); | |
| } | |
| } | |
| } | |
| }, | |
| success: function (message) { | |
| miniShop2.Message.show(message, { | |
| theme: 'ms2-message-success', | |
| sticky: false | |
| }); | |
| }, | |
| error: function (message) { | |
| miniShop2.Message.show(message, { | |
| theme: 'ms2-message-error', | |
| sticky: false | |
| }); | |
| }, | |
| info: function (message) { | |
| miniShop2.Message.show(message, { | |
| theme: 'ms2-message-info', | |
| sticky: false | |
| }); | |
| } | |
| }; | |
| miniShop2.Utils = { | |
| empty: function (val) { | |
| return (typeof(val) == 'undefined' || val == 0 || val === null || val === false || (typeof(val) == 'string' && val.replace(/\s+/g, '') == '') || (typeof(val) == 'object' && val.length == 0)); | |
| }, | |
| formatPrice: function (price) { | |
| var pf = miniShop2Config.price_format; | |
| price = this.number_format(price, pf[0], pf[1], pf[2]); | |
| if (miniShop2Config.price_format_no_zeros) { | |
| price = price.replace(/(0+)$/, ''); | |
| price = price.replace(/[^0-9]$/, ''); | |
| } | |
| return price; | |
| }, | |
| formatWeight: function (weight) { | |
| var wf = miniShop2Config.weight_format; | |
| weight = this.number_format(weight, wf[0], wf[1], wf[2]); | |
| if (miniShop2Config.weight_format_no_zeros) { | |
| weight = weight.replace(/(0+)$/, ''); | |
| weight = weight.replace(/[^0-9]$/, ''); | |
| } | |
| return weight; | |
| }, | |
| // Format a number with grouped thousands, | |
| number_format: function (number, decimals, dec_point, thousands_sep) { | |
| // original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) | |
| // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) | |
| // bugfix by: Michael White (http://crestidg.com) | |
| var i, j, kw, kd, km; | |
| // input sanitation & defaults | |
| if (isNaN(decimals = Math.abs(decimals))) { | |
| decimals = 2; | |
| } | |
| if (dec_point == undefined) { | |
| dec_point = ','; | |
| } | |
| if (thousands_sep == undefined) { | |
| thousands_sep = '.'; | |
| } | |
| i = parseInt(number = (+number || 0).toFixed(decimals)) + ''; | |
| if ((j = i.length) > 3) { | |
| j = j % 3; | |
| } | |
| else { | |
| j = 0; | |
| } | |
| km = j | |
| ? i.substr(0, j) + thousands_sep | |
| : ''; | |
| kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep); | |
| kd = (decimals | |
| ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, '0').slice(2) | |
| : ''); | |
| return km + kw + kd; | |
| }, | |
| getValueFromSerializedArray: function (name, arr) { | |
| if (!$.isArray(arr)) { | |
| arr = miniShop2.sendData.formData; | |
| } | |
| for (var i = 0, length = arr.length; i < length; i++) { | |
| if (arr[i].name = name) { | |
| return arr[i].value; | |
| } | |
| } | |
| return null; | |
| } | |
| }; | |
| $(document).ready(function ($) { | |
| miniShop2.initialize(); | |
| var html = $('html'); | |
| html.removeClass('no-js'); | |
| if (!html.hasClass('js')) { | |
| html.addClass('js'); | |
| } | |
| }); | |
| window.miniShop2 = miniShop2; | |
| })(window, document, jQuery, miniShop2Config); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment