{"version":3,"file":"productPanelsPDP.js","names":["eachPanel","$","modalComponent","colorSelectionContainer","colorSwatch","sizeSelection","checkboxSelectPlan","nextPersonalizationButton","previousColorSizeButton","addToCartButton","addToCartButtonNoEngraving","chooseProtectionPlanButtonNoEngraving","firstPanelButton","secondPanelButton","nextProtectionPlanButtonID","checkoxBoxSelectPlanContainer","document","querySelector","membershipModal","threeYearsModalBasic","threeYearsModalAdvantage","threeYearsModalAdvantagePlus","removeSizeErrorMessage","removeClass","hide","stop","removeColorErrorMessage","removeAttr","removeCheckboxErrorMessage","buildColorErrorMessage","colorOutOfStockMessage","is","attr","focus","after","buildSizeErrorMessage","hasClass","addClass","buildCheckboxErrorMessage","boxchecked","append","size_Validation","length","sizeSelected","selectedIndex","Color_Size_Validation","colorSelected","sizeIsSelected","Personalization_Panel_Validation","DisableButton","button","EnableButton","MoveToPreviousPanel","id","currentFieldset","parent","prevFieldset","prev","eq","index","css","display","MoveToNextPanel","nextFieldset","next","ChooseColorSizePanel","modal","MoveToPersonalizationPanel","MoveToSelectAPlanPanel","selectPanel","colorSizeSelected","personalizationCheckboxChecked","selectPlan","this","history","pushState","checkColorSelection","c","spanClicked","target","children","className","find","toLowerCase","indexOf","Should_We_Enable_Button","on","e","personalizationSelected","ajaxStop","colorAndSizeSelected","s","event","key","back","window","addEventListener","state","ready"],"sources":["productPanelsPDP.js"],"sourcesContent":["/* global selectPlan */\n//selectPlan function has been declared in planChecker.js\n\n// ==============\n// PANELS\n// ==============\n\nvar eachPanel = $(\".maf-panel-button\");\nvar modalComponent = '.maf-modal-memberships-plans';\nvar colorSelectionContainer = $('div[data-attr=\"color\"]' );\nvar colorSwatch = $(\"button.color-attribute span, button.color-attribute\");\nvar sizeSelection = $('.select-size');\nvar checkboxSelectPlan = $('#noPersonalization');\nvar nextPersonalizationButton = 'next_Personalize_Panel';\nvar previousColorSizeButton = 'previous_Color_Size_Panel';\nvar addToCartButton = 'add_to_cart-plan_in_cart_button';\nvar addToCartButtonNoEngraving = 'add_to_cart-plan_in_cart_button_no_engraving';\nvar chooseProtectionPlanButtonNoEngraving = 'next_protection_Plan_Panel_no_engravings';\nvar firstPanelButton = $('#maf-end-sizecolor-button button');\nvar secondPanelButton = $('#maf-end-engraving-button button');\nvar nextProtectionPlanButtonID = 'next_protection_Plan_Panel';\nvar checkoxBoxSelectPlanContainer = document.querySelector('.maf-confirm-personalization');\nvar membershipModal = $('#membershipModalPDP');\nvar threeYearsModalBasic = $('#3yearPlanBasicModalPDP');\nvar threeYearsModalAdvantage = $('#3yearPlanAdvantageModalPDP');\nvar threeYearsModalAdvantagePlus = $('#3yearPlanAdvantagePlusModalPDP');\n\n\n//[START] VALIDATION\nfunction removeSizeErrorMessage(){\n $('#size-1').removeClass('is-invalid');\n $('p.text-danger-size').hide().stop();\n}\nfunction removeColorErrorMessage(){\n // ////console.log('remove message');\n $(colorSelectionContainer).removeAttr( \"id\" );\n $('p.text-danger-color').hide().stop();\n}\nfunction removeCheckboxErrorMessage(){ \n $(checkoxBoxSelectPlanContainer).removeClass('maf-error-message');\n $('p.text-danger-plans').hide().stop();\n}\nfunction buildColorErrorMessage(){ \n var colorOutOfStockMessage = $('.maf-out-of-stock-message');\n if(colorSelectionContainer.is(\"#maf-error-message\")){\n return false;\n } else{\n colorOutOfStockMessage.hide();\n $(colorSelectionContainer).attr('id','maf-error-message').focus();\n $(colorSelectionContainer).after( \"

Please select color to continue

\" ).stop();\n }\n}\nfunction buildSizeErrorMessage(){\n //console.log('build size error message');\n if($('#size-1').hasClass( \"is-invalid\" )){\n return false;\n }else{\n $('#size-1').addClass('is-invalid').focus();\n $('#size-1').after( \"

Please select size to continue

\" ).stop();\n }\n return true;\n}\nfunction buildCheckboxErrorMessage(){ \n //console.log('build box error message');\n var boxchecked = checkboxSelectPlan.is(\":checked\");\n if($(checkoxBoxSelectPlanContainer).hasClass(\"maf-error-message\") || boxchecked){\n return false;\n }else{\n //console.log('builder : building checkout box error');\n $(checkoxBoxSelectPlanContainer).addClass(\"maf-error-message\");\n $(checkoxBoxSelectPlanContainer).append( '

Please Confirm to Continue

'); \n }\n return true;\n}\n\nfunction size_Validation(){\n if(sizeSelection.length > 0){\n var index = sizeSelection[0].selectedIndex;\n var sizeSelected = index > 0;\n if(sizeSelected > 0){\n sizeSelected = true;\n }else{\n sizeSelected = false; \n }\n return sizeSelected;\n }\n return true;\n}\n\nfunction Color_Size_Validation(){\n var colorSelected = $(\"button.color-attribute span.selected\").length === 1;\n var sizeIsSelected = size_Validation(); \n var validation = (colorSelected && sizeIsSelected);\n return validation;\n}\nfunction Personalization_Panel_Validation(){\n var checkboxSelected = checkboxSelectPlan.is(\":checked\"); \n var validation = checkboxSelected;\n return validation;\n}\nfunction DisableButton(button){\n button.addClass('maf-disabled');\n}\nfunction EnableButton(button){\n button.removeClass('maf-disabled');\n}\n//[END] VALIDATION\n\n// [START] PANELS VARIABLES\nfunction MoveToPreviousPanel(id){\n var currentFieldset = $('#'+id).parent().parent().parent();\n var prevFieldset = $('#'+id).parent().parent().parent().prev();\n $('.progressBar span').eq($('fieldset').index(currentFieldset)).removeClass('active');\n currentFieldset.css({ 'display': 'none' });\n prevFieldset.css({ 'display': 'block' }); \n}\nfunction MoveToNextPanel(id){\n var currentFieldset = $('#'+id).parent().parent();\n var nextFieldset = $('#'+id).parent().parent().next();\n currentFieldset.css({ 'display': 'none' });\n nextFieldset.css({ 'display': 'block' }); \n $('.progressBar span').eq($('fieldset').index(nextFieldset)).addClass('active');\n}\nfunction ChooseColorSizePanel(id){\n ////console.log('Select Color & Size Panel : ', id);\n $(modalComponent).modal('hide'); \n MoveToPreviousPanel(id);\n}\nfunction MoveToPersonalizationPanel(id){ \n $(modalComponent).modal('hide');\n MoveToNextPanel(id); \n}\nfunction MoveToSelectAPlanPanel(id){\n ////console.log('Select Protection Plan Panel : ', id); \n $(modalComponent).modal('show');\n}\nfunction selectPanel(id) {\n //console.log('last one : ',id);\n if(id === nextPersonalizationButton){\n var colorSizeSelected = Color_Size_Validation();\n if(colorSizeSelected){\n MoveToPersonalizationPanel(id);\n return true;\n }\n } else if(id === nextProtectionPlanButtonID){\n var personalizationCheckboxChecked = Personalization_Panel_Validation();\n if(threeYearsModalBasic){\n threeYearsModalBasic.modal('hide');\n } else if(threeYearsModalAdvantage){\n threeYearsModalAdvantage.modal('hide');\n } else if(threeYearsModalAdvantagePlus){\n threeYearsModalAdvantagePlus.modal('hide');\n }\n if(personalizationCheckboxChecked){\n if(threeYearsModalBasic){\n threeYearsModalBasic.modal('hide');\n }\n if(threeYearsModalAdvantage){\n threeYearsModalAdvantage.modal('hide');\n }\n if(threeYearsModalAdvantagePlus){\n threeYearsModalAdvantagePlus.modal('hide');\n }\n MoveToSelectAPlanPanel(id); \n return true;\n }\n } else if(id === addToCartButton){ \n personalizationCheckboxChecked = Personalization_Panel_Validation();\n if(personalizationCheckboxChecked){\n selectPlan(false,'00000',this);\n }\n return false;\n } else if(id == chooseProtectionPlanButtonNoEngraving){\n colorSizeSelected = Color_Size_Validation(); \n if(colorSizeSelected){\n history.pushState({ id: id }, \"Selected: \"+id, \"#selected=\"+id);\n $('#'+chooseProtectionPlanButtonNoEngraving).attr('data-toggle','modal'); \n } else {\n $('#'+chooseProtectionPlanButtonNoEngraving).removeAttr('data-toggle','modal');\n }\n } else if(id == addToCartButtonNoEngraving){\n colorSizeSelected = Color_Size_Validation();\n if(colorSizeSelected){\n selectPlan(false,'00000',this);\n }\n } else if(id == \"BasicPlan\"){\n membershipModal.modal('hide');\n threeYearsModalBasic.modal('show');\n } else if(id == \"AdvantagePlan\"){\n membershipModal.modal('hide');\n threeYearsModalAdvantage.modal('show');\n } else if(id == \"AdvantagePlusPlan\"){\n membershipModal.modal('hide');\n threeYearsModalAdvantagePlus.modal('show');\n } else{\n //console.log('initial state');\n ChooseColorSizePanel(id);\n }\n return false;\n}\n\ncheckboxSelectPlan.on( \"click\", function(c) {\n if($(this).is(\":checked\")){\n ////console.log('plan selection checked');\n secondPanelButton.attr('data-toggle','modal');\n //$('#'+addToCartButton).attr('id', 'add_to_cart-plan_in_cart_button'); \n EnableButton(secondPanelButton); \n removeCheckboxErrorMessage();\n } else if($(this).is(\":not(:checked)\")){\n ////console.log('plan selection NO checked');\n secondPanelButton.removeAttr('data-toggle','modal');\n DisableButton(secondPanelButton);\n }\n});\n\neachPanel.on( \"click\", function(e) {\n //console.log(e);\n var id = e.target.id;\n var valid = selectPanel(id);\n if(valid){\n history.pushState({ id: id }, \"Selected: \"+id, \"#selected=\"+id); \n } else{\n var colorSelected = $(\"button.color-attribute span.selected\").length === 1;\n var sizeSelected = size_Validation();\n var personalizationSelected = Personalization_Panel_Validation();\n if(!colorSelected){\n buildColorErrorMessage();\n } else if(!sizeSelected){\n buildSizeErrorMessage(); \n } else if(!personalizationSelected){\n buildCheckboxErrorMessage();\n } else{\n return true;\n }\n }\n});\n\nfunction checkColorSelection(c){\n var spanClicked = c.target.children.length == '0';\n var colorSelectionContainer = c.target.className; \n if(!spanClicked){\n colorSelectionContainer = $(c.target).find('span')[0].className;\n }\n var colorWasSelected = colorSelectionContainer.toLowerCase().indexOf(\"selected\") >= 0;\n return colorWasSelected;\n}\n\ncolorSwatch.on( \"click\", function(c) {\n $(document).ajaxStop(function(){\n var colorSelected = checkColorSelection(c);\n var colorAndSizeSelected= Color_Size_Validation();\n if(colorSelected){\n if(colorAndSizeSelected){\n EnableButton(firstPanelButton);\n }\n removeColorErrorMessage();\n ////console.log(colorSelected);\n } else{\n DisableButton(firstPanelButton);\n }\n });\n});\n\nsizeSelection.on('change', function(s) {\n var index = sizeSelection[0].selectedIndex;\n var sizeSelected = index > 0;\n var colorAndSizeSelected= Color_Size_Validation();\n //console.log('sizeSelected : ',sizeSelected);\n if(sizeSelected){\n if(colorAndSizeSelected){\n EnableButton(firstPanelButton);\n }\n removeColorErrorMessage();\n removeSizeErrorMessage();\n } else{\n DisableButton(firstPanelButton);\n }\n});\n\n$(modalComponent).on('shown.bs.modal', function(e) {\n $(document).on('keydown', function(event) {\n if (event.key == \"Escape\") {\n history.back();\n }\n });\n});\n\nwindow.addEventListener('popstate', function(e) {\n if(e.state){\n var id = e.state.id;\n selectPanel(id);\n } else{\n ////console.log('initial state');\n id=previousColorSizeButton; \n selectPanel(id);\n }\n});\n\nfunction Should_We_Enable_Button(){\n var colorSizeSelected = Color_Size_Validation();\n if(colorSizeSelected){ \n EnableButton(firstPanelButton);\n return true;\n } else{\n DisableButton(firstPanelButton); \n }\n ////console.log('Both Selected ? ', colorSizeSelected);\n return false;\n}\n\n$( document ).ready(function() {\n Should_We_Enable_Button();\n});\n// [END] PANELS\n"],"mappings":"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"}