{"version":3,"file":"ViewProductV4-AreaCalc.min.js","sources":["ViewProductV4-AreaCalc.js"],"sourcesContent":["var AreaCalc = AreaCalc || (function ($) {\r\n\r\n var options;\r\n\r\n var extractPrice = function (field) {\r\n var txtPrice = field.text().replace(/[^0-9\\.,]/g, '').replace(',', '.');\r\n return parseFloat(txtPrice);\r\n };\r\n\r\n var toTwoDecComma = function (flt) {\r\n return flt.toFixed(2).replace('.', ',');\r\n };\r\n\r\n var tryParseFloat = function (str) {\r\n var str1 = str.trim().replace(',', '.');\r\n try {\r\n return parseFloat(str1) || 0.0;\r\n } catch (ex) {\r\n return 0.0;\r\n }\r\n };\r\n\r\n var intOrDefault = function (str, def) {\r\n if (!str || str.length === 0) {\r\n return def;\r\n }\r\n\r\n var i = parseInt(str);\r\n\r\n if (i.isNaN) {\r\n return def;\r\n }\r\n\r\n return i;\r\n };\r\n\r\n var disableCartQuantity = function () {\r\n var cartCont = $('.UC110MainContainer');\r\n\r\n if (!cartCont || cartCont.length === 0) {\r\n return;\r\n }\r\n\r\n cartCont.find('.CartGridItemQuantity').attr('disabled', 'disabled');\r\n };\r\n\r\n var tryInitSquareFromPackagesCalculator = function ($main, $customFields) {\r\n var $inpm2PrPakke = $('input[name$=\"m2PrPakke\"]', $customFields);\r\n var $inppkgCount = $('input[name$=\"pkgCount\"]', $customFields);\r\n\r\n if (!$inpm2PrPakke || $inpm2PrPakke.length === 0) {\r\n return false;\r\n }\r\n\r\n var m2PrPkg = parseFloat(($inpm2PrPakke.val() || '0').replace(',', '.'));\r\n\r\n if (m2PrPkg.isNaN || (m2PrPkg < 0.00000001 && m2PrPkg > -0.00000001)) {\r\n return false;\r\n }\r\n\r\n //Declare controls\r\n var $txbQuantity = $main.find(options.squareFromPackagesCalculator.quantityInputSelector).val('0');\r\n var $fPrice = $main.find(options.squareFromPackagesCalculator.priceSelector);\r\n var $divMakeOrderContainer = $main.find(options.squareFromPackagesCalculator.insertCalcBeforeContainer);\r\n\r\n if (options.squareFromPackagesCalculator && options.squareFromPackagesCalculator.quantityHideSelfNotParent === true) {\r\n $txbQuantity.hide();\r\n } else {\r\n $txbQuantity.parent().hide();\r\n }\r\n\r\n //Calculate some values\r\n var price = extractPrice($fPrice);\r\n var pricePrPkg = price * m2PrPkg;\r\n $fPrice.html(price.toMoney() + ' pr. m2');\r\n\r\n //Add new controls\r\n var $divCalc = $('
').insertBefore($divMakeOrderContainer);\r\n $divCalc.append('

Gulvkalkulator

');\r\n $divCalc.append('
Mål opp areal i kvadratmeter (m2), og skriv inn i feltet under. Utregning tar høyde for normalt kapp og svinn (' + options.percent + '%).
');\r\n $divCalc.append('
Pris pr. pakke:' + pricePrPkg.toMoney() + '
');\r\n $divCalc.append('
M2 pr. pakke:' + m2PrPkg.toString().replace('.', ',') + 'm2
');\r\n $divCalc.append('
m2
');\r\n $divCalc.append('
Beregnet:0,00m2
');\r\n $divCalc.append('
Du trenger:0pakker
');\r\n $divCalc.append('
Totalpris:0,00kr
');\r\n\r\n var $txbArea = $main.find('#txbArea');\r\n var $lbCalcArea = $main.find('#lbCalcArea');\r\n var $lbPkgCount = $main.find('#lbPkgCount');\r\n var $lbCalcPrice = $main.find('#lbCalcPrice');\r\n\r\n var calcArea = function () {\r\n //Calculate values\r\n var m2 = tryParseFloat($txbArea.val());\r\n var calcM2 = m2 * (100 + options.percent) / 100;\r\n var pkgCount = Math.ceil(calcM2 / m2PrPkg);\r\n calcM2 = pkgCount * m2PrPkg;\r\n var newPrice = calcM2 * price;\r\n\r\n //Update fields\r\n $lbCalcArea.text(toTwoDecComma(calcM2));\r\n $lbPkgCount.text(pkgCount);\r\n $lbCalcPrice.text(toTwoDecComma(newPrice));\r\n $txbQuantity.val(calcM2.toString());\r\n $inppkgCount.val(pkgCount);\r\n };\r\n\r\n var setFromPkgCount = function () {\r\n //Calculate values\r\n var pkgCount = intOrDefault($inppkgCount.val(), 0);\r\n\r\n if (pkgCount <= 0) {\r\n return;\r\n }\r\n\r\n var calcM2 = pkgCount * m2PrPkg;\r\n var newPrice = calcM2 * price;\r\n\r\n //Update fields\r\n $lbCalcArea.text(toTwoDecComma(calcM2));\r\n $lbPkgCount.text(pkgCount);\r\n $lbCalcPrice.text(toTwoDecComma(newPrice));\r\n $txbQuantity.val(calcM2.toString());\r\n };\r\n\r\n setFromPkgCount();\r\n\r\n $txbArea.bind('keyup blur', calcArea);\r\n\r\n return true;\r\n };\r\n\r\n var tryInitSquareFromWidthCalculator = function ($main, $customFields) {\r\n var $divMakeOrderContainer = $main.find('div.MakeOrderContainer');\r\n var $specifiedLength = $('input[name$=\"valgtLengde\"]', $customFields);\r\n var $widthSelector = $('select[name$=\"breddevariant\"]', $customFields);\r\n var $widthOptions = $('option', $widthSelector);\r\n var $containerCF = $('.customFieldCont', $customFields);\r\n\r\n if (!$widthOptions.length) {\r\n return false;\r\n }\r\n\r\n var $txbQuantity = $main.find('input.QuantityTxb').val('0');\r\n\r\n if (options.squareFromPackagesCalculator && options.squareFromPackagesCalculator.quantityHideSelfNotParent === true) {\r\n $txbQuantity.hide();\r\n } else {\r\n $txbQuantity.parent().hide();\r\n }\r\n\r\n var $fPrice = $main.find('span.PriceValue');\r\n var priceM2 = extractPrice($fPrice);\r\n $fPrice.html($fPrice.text() + ' pr. m2');\r\n\r\n var $divCalc = $('
').insertBefore($divMakeOrderContainer);\r\n $divCalc.append('

Gulvkalkulator

');\r\n $divCalc.append('
Velg ønsket bredde (m) og skriv inn gulvets lenge (m) i feltet under, og totalpris blir beregnet.
');\r\n $containerCF.append('
X
');\r\n $containerCF.append('
m=0,00m2
');\r\n $containerCF.append('
Totalpris:0,00kr
');\r\n $containerCF.detach().appendTo($divCalc);\r\n\r\n if ($('label[for*=\"breddevariant\"]').length || $('select[name*=\"breddevariant\"]').length || $('.square-calc__multiply').length) {\r\n $('
').prependTo($('.cfbreddevariant'));\r\n $('label[for*=\"breddevariant\"]').prependTo('.square-calc__container');\r\n $('select[name*=\"breddevariant\"]').insertAfter('.square-calc__container label[for*=\"breddevariant\"]');\r\n $('.square-calc__multiply').insertAfter('.square-calc__container select[name*=\"breddevariant\"]');\r\n }\r\n\r\n var $txbLength = $containerCF.find('#txbLength');\r\n var $lbCalcArea = $containerCF.find('#lbCalcArea');\r\n var $lbCalcPrice = $containerCF.find('#lbCalcPrice');\r\n\r\n var calcArea = function (length) {\r\n var width = $widthSelector.find('option:selected').val() || 0;\r\n var square = length * width;\r\n var totalPrice = priceM2 * square;\r\n\r\n $lbCalcArea.text(toTwoDecComma(square));\r\n $lbCalcPrice.text(toTwoDecComma(totalPrice));\r\n $txbQuantity.val(square.toString().replace('.', ','));\r\n };\r\n\r\n var onLengthWidthChange = function () {\r\n var length = tryParseFloat($txbLength.val());\r\n calcArea(length);\r\n $specifiedLength.val(length);\r\n };\r\n\r\n var setFromSpecifiedLength = function () {\r\n var length = tryParseFloat($specifiedLength.val());\r\n\r\n if (length <= 0) {\r\n return false;\r\n }\r\n\r\n calcArea(length);\r\n $txbLength.val(length.toString().replace('.', ','));\r\n\r\n return true;\r\n };\r\n\r\n var trySetDefaultWidth = function () {\r\n var defaultWidth = $('input[name$=\"standardBredde\"]', $customFields).val();\r\n\r\n if (defaultWidth) {\r\n $widthOptions.filter('[value=\"' + defaultWidth + '\"]').attr('selected', 'selected');\r\n }\r\n };\r\n\r\n if (!setFromSpecifiedLength()) {\r\n trySetDefaultWidth();\r\n }\r\n\r\n $txbLength.bind('keyup blur', onLengthWidthChange);\r\n $widthSelector.change(onLengthWidthChange);\r\n\r\n return true;\r\n };\r\n\r\n\r\n var tryInitSquareFromRollsCalculator = function ($main, $customFields) {\r\n var $inpm2PrRoll = $('input[name$=\"m2PrRoll\"]', $customFields);\r\n var $specifiedTotalWallWidth = $('input[name$=\"veggbredde\"]', $customFields);\r\n var $specifiedWallHeight = $('input[name$=\"vegghøyde\"]', $customFields);\r\n\r\n if (!$inpm2PrRoll || $inpm2PrRoll.length === 0) {\r\n return false;\r\n }\r\n\r\n var m2PrRoll = parseFloat(($inpm2PrRoll.val() || '0').replace(',', '.'));\r\n\r\n if (m2PrRoll.isNaN || (m2PrRoll < 0.00000001 && m2PrRoll > -0.00000001)) {\r\n return false;\r\n }\r\n\r\n //Declare controls\r\n var $txbQuantity = $main.find('input.QuantityTxb').val('0');\r\n var $divMakeOrderContainer = $main.find('div.MakeOrderContainer');\r\n var $fPrice = $main.find('span.PriceValue');\r\n\r\n if (options.squareFromPackagesCalculator && options.squareFromPackagesCalculator.quantityHideSelfNotParent === true) {\r\n $txbQuantity.hide();\r\n } else {\r\n $txbQuantity.parent().hide();\r\n }\r\n\r\n //Calculate some values\r\n var pricePrRoll = extractPrice($fPrice);\r\n var pricePrM2 = pricePrRoll / m2PrRoll;\r\n $fPrice.html($fPrice.text() + ' pr. rull');\r\n\r\n //Add new controls\r\n var $divCalc = $('
').insertBefore($divMakeOrderContainer);\r\n $divCalc.append('

Tapetkalkulator

');\r\n $divCalc.append('
Angi total veggbredde(m) og vegghøyde(m) i feltene under.Utregningen tar høyde for svinn (' + options.rollsPercent + '%), og vil oppgi hvor mange enheter som behøves for å dekke totalt vegg - areal.
');\r\n $divCalc.append('
Pris pr. rull:' + pricePrRoll.toMoney() + '
');\r\n $divCalc.append('
X
');\r\n $divCalc.append('
Beregnet veggareal:0,00m 2
');\r\n $divCalc.append('
Du trenger:0ruller
');\r\n $divCalc.append('
Totalpris:0,00kr
');\r\n\r\n var $txbTotalWallWidth = $main.find('#txbTotalWallWidth');\r\n var $txbWallHeight = $main.find('#txbWallHeight');\r\n var $lbCalcArea = $main.find('#lbCalcArea');\r\n var $lbPkgCount = $main.find('#lbRollCount');\r\n var $lbCalcPrice = $main.find('#lbCalcPrice');\r\n\r\n var calcArea = function () {\r\n //Calculate values\r\n var totalWallWidth = tryParseFloat($txbTotalWallWidth.val());\r\n var wallHeight = tryParseFloat($txbWallHeight.val());\r\n var m2 = totalWallWidth * wallHeight;\r\n var calcM2 = m2 * (100 + options.rollsPercent) / 100;\r\n var rollCount = Math.ceil(calcM2 / m2PrRoll);\r\n var calcPrice = calcM2 * pricePrM2;\r\n\r\n //Update fields\r\n $specifiedTotalWallWidth.val(totalWallWidth);\r\n $specifiedWallHeight.val(wallHeight);\r\n\r\n $lbCalcArea.text(toTwoDecComma(calcM2));\r\n $lbPkgCount.text(rollCount);\r\n $lbCalcPrice.text(toTwoDecComma(calcPrice));\r\n $txbQuantity.val(rollCount.toString().replace('.', ','));\r\n };\r\n\r\n var setFromSpecifiedFields = function () {\r\n var totalWallWidth = tryParseFloat($specifiedTotalWallWidth.val());\r\n var wallHeight = tryParseFloat($specifiedWallHeight.val());\r\n\r\n if (totalWallWidth <= 0 || wallHeight <= 0) {\r\n return false;\r\n }\r\n\r\n $txbTotalWallWidth.val(totalWallWidth.toString().replace('.', ','));\r\n $txbWallHeight.val(wallHeight.toString().replace('.', ','));\r\n calcArea();\r\n\r\n return true;\r\n };\r\n\r\n setFromSpecifiedFields();\r\n\r\n $txbTotalWallWidth.bind('keyup blur', calcArea);\r\n $txbWallHeight.bind('keyup blur', calcArea);\r\n\r\n return true;\r\n };\r\n\r\n return {\r\n init: function (o) {\r\n\r\n options = $.extend({\r\n percent: 5,\r\n rollsPercent: 5,\r\n mainContSelector: 'div.UC169',\r\n customFieldsSelector: 'div.customFieldsCont',\r\n squareFromPackagesCalculator: {\r\n quantityInputSelector: 'input.QuantityTxb',\r\n quantityHideSelfNotParent: false,\r\n priceSelector: 'span.PriceValue',\r\n insertCalcBeforeContainer: 'div.MakeOrderContainer',\r\n }\r\n }, o || {});\r\n\r\n $(function () {\r\n disableCartQuantity();\r\n\r\n var $main = $(options.mainContSelector);\r\n\r\n if (!$main.length) {\r\n return;\r\n }\r\n\r\n var $customFields = $main.find(options.customFieldsSelector);\r\n\r\n if (tryInitSquareFromPackagesCalculator($main, $customFields)) {\r\n return;\r\n }\r\n\r\n if (tryInitSquareFromRollsCalculator($main, $customFields)) {\r\n return;\r\n }\r\n\r\n tryInitSquareFromWidthCalculator($main, $customFields);\r\n });\r\n }\r\n };\r\n})(window.jQuery);"],"names":["AreaCalc","$","extractPrice","field","txtPrice","text","replace","parseFloat","toTwoDecComma","flt","toFixed","tryParseFloat","str","str1","trim","ex","tryInitSquareFromPackagesCalculator","$main","$customFields","m2PrPkg","$txbQuantity","price","$txbArea","$lbCalcArea","$lbPkgCount","$lbCalcPrice","pkgCount","$inpm2PrPakke","$inppkgCount","length","val","isNaN","find","options","squareFromPackagesCalculator","quantityInputSelector","$fPrice","priceSelector","$divMakeOrderContainer","insertCalcBeforeContainer","quantityHideSelfNotParent","parent","hide","pricePrPkg","html","toMoney","$divCalc","insertBefore","append","percent","toString","def","i","parseInt","newPrice","calcM2","bind","Math","ceil","tryInitSquareFromWidthCalculator","priceM2","$txbLength","calcArea","defaultWidth","$specifiedLength","$widthSelector","$widthOptions","$containerCF","detach","appendTo","prependTo","insertAfter","square","totalPrice","onLengthWidthChange","filter","attr","change","init","o","extend","rollsPercent","mainContSelector","customFieldsSelector","cartCont","m2PrRoll","pricePrM2","$txbTotalWallWidth","$txbWallHeight","$inpm2PrRoll","$specifiedTotalWallWidth","$specifiedWallHeight","pricePrRoll","totalWallWidth","wallHeight","rollCount","calcPrice","window","jQuery"],"mappings":"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"}