var Product = Product||{}; (function() { 'use strict'; var _$priceDiv = null; var _$dimmensionsSelect = null; var _$quantitySelect = null; var _$colorContainer = null; var _$cartContainer = null; var _$cartContainerMobile = null; var _$actionPriceContainer = null; var _$regularPriceContainer = null; var _get$priceDiv = function() { if(_$priceDiv == null) { _$priceDiv = jQuery('#priceDiv'); } return _$priceDiv; }; var _get$dimmensionsSelect = function() { if(_$dimmensionsSelect == null) { _$dimmensionsSelect = jQuery('#dimSelect'); } return _$dimmensionsSelect; }; var _get$quantitySelect = function() { if(_$quantitySelect == null) { _$quantitySelect = jQuery('#quantSelect'); } return _$quantitySelect; }; var _get$colorContainer = function() { if(_$colorContainer == null) { _$colorContainer = jQuery('#allColorsDiv'); } return _$colorContainer; }; var _get$cartContainer = function() { if(_$cartContainer == null) { _$cartContainer = jQuery('#cartNumContainer'); } return _$cartContainer; }; var _get$mobileCartContainer = function() { if(_$cartContainerMobile == null) { _$cartContainerMobile = jQuery('#cartNumContainerMobile'); } return _$cartContainerMobile; }; var _get$actionPriceContainer= function() { if(_$actionPriceContainer == null) { _$actionPriceContainer = jQuery('#ppriceAction'); } return _$actionPriceContainer; }; var _get$regularPriceContainer = function() { if(_$regularPriceContainer == null) { _$regularPriceContainer = jQuery('#ppriceRegular'); } return _$regularPriceContainer; }; /** * Event when select for dimmensions or hardness is changed.
* It updates price. */ Product.onProductPropertySelectChange = function(sender) { //Set colors div _setColorsDiv(); var productId = _getProductIdFromProperties(); if(productId != null) { var pData = jabox.getProduct(productId); //_constructPriceImages(pdata.getRegularPrice(), pdata.getActionPrice()); // Set prices _setPriceDivs(pData); } }; var _setPriceDivs = function(pData) { if(!pData) return; _get$regularPriceContainer().text(pData.getRegularPrice()); _get$actionPriceContainer().text(pData.getActionPrice() != null ? pData.getActionPrice() : pData.getRegularPrice()); } var _setColorsDiv = function() { var dimkey = _get$dimmensionsSelect().val(); var plist = prodsByPriceProp[dimkey]; if(plist.length < 2) { _get$colorContainer().hide(); } else { var dimColors = {}; var prevSelectedColor = _get$colorContainer().find('input:checked').val(); for(var i=0; i check first visible in return it colorId = _get$colorContainer().find('.col-div:visible:first').addClass('selected').find('input').prop('checked', true).val(); if(Common.isEmptyString(colorId)) { return null; } return _returnTheOneWithColor(plist, colorId); } }; /** * Event when button for ordering is clicked.
* It sends ajax request with code and quantity. */ Product.onOrderButtonClick = function(sender) { var orderProductId = _getProductIdFromProperties(); if(orderProductId == null) { return; //Wrong product } var requestData = {}; requestData['m'] = 'sp'; requestData['pid'] = orderProductId; requestData['qnt'] = _get$quantitySelect().val(); Common.removeAllMsgs(); jQuery.ajax({ url: '/ajax/addtocontainer', data: (requestData), type: 'post', success: function(json) { if(json == null) { _onOrderButtonClickError(); } else if(json.stat == '0') { //Some error in quantities _onOrderButtonClickError(Utf8.replaceChars('{Zh}al je pri{sh}lo do napake pri naro{ch}anju izdelka.')); } else if(json.stat == '1') { //All OK Common.showInfoMsg(Utf8.replaceChars('Izdelek je bil dodan v ko{sh}arico.')); //Update container string Common.updateBasketData(json); // Update cart num let currCartNum = parseInt(_get$cartContainer().html()); currCartNum = !!currCartNum ? currCartNum : 0; currCartNum = currCartNum + 1; _get$cartContainer().html(currCartNum); _get$mobileCartContainer().html(currCartNum); _get$cartContainer().removeClass("hidden"); _get$mobileCartContainer().removeClass("hidden"); } else { _onOrderButtonClickError(JSON.getErrorMessageFromResponse(json)); } }, error: function() { _onOrderButtonClickError(); }, dataType: 'json' }); }; var _onOrderButtonClickError = function(error) { Common.showErrorMsg(error==null?Utf8.replaceChars('{Zh}al je pri{sh}lo do napake pri naro{ch}anju izdelka.'):error); }; Product.onColorDivClick = function(sender) { jQuery(sender).closest('.colors-cont').find('.col-div').removeClass('selected').find('input').prop('checked', false); jQuery(sender).closest('.col-div').addClass('selected').find('input').prop('checked', true); var productId = _getProductIdFromProperties(); if(productId != null) { var pdata = jabox.getProduct(productId); _constructPriceImages(pdata.getRegularPrice(), pdata.getActionPrice()); } }; })();