{
  "version": 3,
  "sources": ["/cdn/shop/t/19/assets/certnz-address-fix.js?fix=20260706-address-cart"],
  "sourcesContent": ["(function () {\n  \"use strict\";\n\n  var PRODUCT_HANDLES = {\n    record: \"record-of-title-current-with-diagram\",\n    instruments: \"instruments-document\",\n    guaranteed: \"record-of-title-guaranteed-search\",\n    package: \"pre-purchase-diligence-package\",\n    historical: \"record-of-title-historical\",\n    legal: \"legal-owner-search\",\n    survey: \"cadastral-survey-plan-title-sheet\",\n    expert: \"expert-advice\"\n  };\n\n  var PRODUCT_VARIANTS = {\n    record: \"42338771468427\",\n    guaranteed: \"42344182284427\",\n    historical: \"42344192278667\",\n    instruments: \"42382781186187\",\n    package: \"42344216461451\",\n    legal: \"42344214659211\",\n    survey: \"42344210792587\",\n    expert: \"42344219377803\"\n  };\n\n  function ready(fn) {\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", fn);\n    } else {\n      fn();\n    }\n  }\n\n  function getInputAddress() {\n    var input = document.getElementById(\"addressInput\");\n    return input ? input.value.trim() : \"\";\n  }\n\n  function getPanelAddress() {\n    var el = document.getElementById(\"propAddress\");\n    var text = el ? el.textContent.trim() : \"\";\n    return text && text !== \"Loading...\" && text !== \"Unknown\" && text !== \"-\" && text !== \"\u2014\" ? text : \"\";\n  }\n\n  function getTitleRef() {\n    var el = document.getElementById(\"titleRefValue\");\n    var text = el ? el.textContent.trim() : \"\";\n    if (!text || text === \"...\" || text === \"N/A\" || text === \"-\" || text === \"\u2014\") return \"\";\n    return text;\n  }\n\n  function getLegalDescription() {\n    var el = document.getElementById(\"propLegal\");\n    var text = el ? el.textContent.trim() : \"\";\n    return text.replace(/^Legal:\\s*/i, \"\");\n  }\n\n  function getManualLookupDetails() {\n    var el = document.getElementById(\"manualLookupDetails\");\n    var text = el ? el.value.trim() : \"\";\n    return text.slice(0, 220);\n  }\n\n  function storageGet(key) {\n    try {\n      return window.localStorage ? window.localStorage.getItem(key) : \"\";\n    } catch (error) {\n      return \"\";\n    }\n  }\n\n  function storageSet(key, value) {\n    try {\n      if (window.localStorage && value) window.localStorage.setItem(key, value);\n    } catch (error) {}\n  }\n\n  function bestAddress() {\n    return getPanelAddress() || getInputAddress() || storageGet(\"certnz_address\") || storageGet(\"selectedAddress\") || \"\";\n  }\n\n  function remember() {\n    var address = bestAddress();\n    var titleRef = getTitleRef() || storageGet(\"certnz_titleRef\") || storageGet(\"selectedTitleRef\") || \"\";\n    var legal = getLegalDescription();\n    var manualLookup = getManualLookupDetails() || storageGet(\"certnz_manualLookup\") || \"\";\n\n    try {\n      if (address) {\n        storageSet(\"certnz_address\", address);\n        storageSet(\"selectedAddress\", address);\n      }\n      if (titleRef) {\n        storageSet(\"certnz_titleRef\", titleRef);\n        storageSet(\"selectedTitleRef\", titleRef);\n      }\n      if (legal) storageSet(\"certnz_legalDesc\", legal);\n      if (manualLookup) storageSet(\"certnz_manualLookup\", manualLookup);\n      storageSet(\"certnz_timestamp\", Date.now().toString());\n    } catch (error) {}\n\n    return { address: address, titleRef: titleRef, legal: legal, manualLookup: manualLookup };\n  }\n\n  function appendDetailsToUrl(url) {\n    var details = remember();\n    var params = new URLSearchParams();\n    if (details.address) params.set(\"address\", details.address);\n    if (details.titleRef) params.set(\"titleRef\", details.titleRef);\n    if (details.legal) params.set(\"legalDescription\", details.legal);\n    if (details.manualLookup) params.set(\"manualLookup\", details.manualLookup);\n    var query = params.toString();\n    if (!query) return url;\n    return url + (url.indexOf(\"?\") >= 0 ? \"&\" : \"?\") + query;\n  }\n\n  function addToCart(productKey) {\n    var details = remember();\n    var variantId = PRODUCT_VARIANTS[productKey];\n    if (!variantId) return false;\n\n    if (!details.address && !details.titleRef && !details.manualLookup) {\n      var input = document.getElementById(\"addressInput\");\n      if (input) {\n        input.focus();\n        input.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n      }\n      return true;\n    }\n\n    var properties = {};\n    if (details.address) properties[\"Property Address\"] = details.address;\n    if (details.titleRef) properties[\"Title Reference\"] = details.titleRef;\n    if (details.legal) properties[\"Legal Description\"] = details.legal;\n    if (details.manualLookup) properties[\"Address Search Notes\"] = details.manualLookup;\n\n    fetch(\"/cart/add.js\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\" },\n      body: JSON.stringify({ id: variantId, quantity: 1, properties: properties })\n    })\n      .then(function (response) {\n        if (!response.ok) throw new Error(\"Cart add failed\");\n        return response.json();\n      })\n      .then(function () {\n        return fetch(\"/cart/update.js\", {\n          method: \"POST\",\n          headers: { \"Content-Type\": \"application/json\" },\n          body: JSON.stringify({\n            attributes: {\n              \"Property Address\": details.address || \"\",\n              \"Title Reference\": details.titleRef || \"\",\n              \"Legal Description\": details.legal || \"\",\n              \"Address Search Notes\": details.manualLookup || \"\"\n            }\n          })\n        });\n      })\n      .then(function () {\n        window.location.href = \"/cart\";\n      })\n      .catch(function () {\n        var fallback = \"/cart/add?id=\" + encodeURIComponent(variantId) + \"&quantity=1\";\n        if (details.address) fallback += \"&properties[Property Address]=\" + encodeURIComponent(details.address);\n        if (details.titleRef) fallback += \"&properties[Title Reference]=\" + encodeURIComponent(details.titleRef);\n        if (details.legal) fallback += \"&properties[Legal Description]=\" + encodeURIComponent(details.legal);\n        if (details.manualLookup) fallback += \"&properties[Address Search Notes]=\" + encodeURIComponent(details.manualLookup);\n        window.location.href = fallback;\n      });\n\n    return true;\n  }\n\n  function patchProductButtons() {\n    document.querySelectorAll(\".panel-card-buy\").forEach(function (button) {\n      if (button.__certnzAddressFixed) return;\n      button.__certnzAddressFixed = true;\n      button.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        addToCart(button.getAttribute(\"data-product\"));\n      }, true);\n    });\n\n    document.querySelectorAll(\".panel-card-details-link\").forEach(function (link) {\n      if (link.__certnzAddressFixed) return;\n      link.__certnzAddressFixed = true;\n      link.addEventListener(\"click\", function () {\n        remember();\n        link.href = appendDetailsToUrl(link.getAttribute(\"href\") || link.href);\n      }, true);\n    });\n  }\n\n  function patchAddressPersistence() {\n    var input = document.getElementById(\"addressInput\");\n    if (input && !input.__certnzAddressPersistFixed) {\n      input.__certnzAddressPersistFixed = true;\n      input.addEventListener(\"input\", function () {\n        try {\n          var value = input.value.trim();\n          if (value) {\n            storageSet(\"certnz_address\", value);\n            storageSet(\"selectedAddress\", value);\n            storageSet(\"certnz_timestamp\", Date.now().toString());\n          }\n        } catch (error) {}\n      });\n    }\n\n    var manualLookup = document.getElementById(\"manualLookupDetails\");\n    var manualLookupCount = document.getElementById(\"manualLookupCount\");\n    var manualLookupWrap = document.getElementById(\"manualLookup\");\n    var manualLookupToggle = document.getElementById(\"manualLookupToggle\");\n    if (manualLookupWrap && manualLookupToggle && !manualLookupToggle.__certnzManualToggleFixed) {\n      manualLookupToggle.__certnzManualToggleFixed = true;\n      manualLookupToggle.addEventListener(\"click\", function () {\n        var isOpen = manualLookupWrap.classList.toggle(\"is-open\");\n        manualLookupToggle.setAttribute(\"aria-expanded\", isOpen ? \"true\" : \"false\");\n        if (isOpen && manualLookup) manualLookup.focus();\n      });\n    }\n    if (manualLookup && !manualLookup.__certnzManualPersistFixed) {\n      manualLookup.__certnzManualPersistFixed = true;\n      var savedManualLookup = storageGet(\"certnz_manualLookup\");\n      if (savedManualLookup && !manualLookup.value) {\n        manualLookup.value = savedManualLookup.slice(0, 220);\n        if (manualLookupWrap) manualLookupWrap.classList.add(\"is-open\");\n        if (manualLookupToggle) manualLookupToggle.setAttribute(\"aria-expanded\", \"true\");\n      }\n      function updateManualLookup() {\n        var value = manualLookup.value.slice(0, 220);\n        if (manualLookup.value !== value) manualLookup.value = value;\n        if (manualLookupCount) manualLookupCount.textContent = String(value.length);\n        if (value) storageSet(\"certnz_manualLookup\", value);\n        storageSet(\"certnz_timestamp\", Date.now().toString());\n      }\n      manualLookup.addEventListener(\"input\", updateManualLookup);\n      updateManualLookup();\n    }\n\n    var panelAddress = document.getElementById(\"propAddress\");\n    if (panelAddress && !panelAddress.__certnzAddressPersistFixed) {\n      panelAddress.__certnzAddressPersistFixed = true;\n      new MutationObserver(remember).observe(panelAddress, { childList: true, subtree: true, characterData: true });\n    }\n\n    var titleRef = document.getElementById(\"titleRefValue\");\n    if (titleRef && !titleRef.__certnzTitlePersistFixed) {\n      titleRef.__certnzTitlePersistFixed = true;\n      new MutationObserver(remember).observe(titleRef, { childList: true, subtree: true, characterData: true });\n    }\n  }\n\n  function patchHome() {\n    patchAddressPersistence();\n    patchProductButtons();\n\n    document.querySelectorAll(\".panel-card-buy\").forEach(function (button) {\n      var key = button.getAttribute(\"data-product\");\n      if (!PRODUCT_HANDLES[key]) return;\n      button.setAttribute(\"title\", \"Add this document with the selected property details\");\n    });\n  }\n\n  ready(patchHome);\n  window.addEventListener(\"load\", patchHome);\n  setTimeout(patchHome, 800);\n  setTimeout(patchHome, 2000);\n})();\n"],
  "mappings": "CAAC,UAAY,CACX,aAEA,IAAI,gBAAkB,CACpB,OAAQ,uCACR,YAAa,uBACb,WAAY,oCACZ,QAAS,iCACT,WAAY,6BACZ,MAAO,qBACP,OAAQ,oCACR,OAAQ,eACV,EAEI,iBAAmB,CACrB,OAAQ,iBACR,WAAY,iBACZ,WAAY,iBACZ,YAAa,iBACb,QAAS,iBACT,MAAO,iBACP,OAAQ,iBACR,OAAQ,gBACV,EAEA,SAAS,MAAM,GAAI,CACb,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,EAAE,EAEhD,GAAG,CAEP,CAEA,SAAS,iBAAkB,CACzB,IAAI,MAAQ,SAAS,eAAe,cAAc,EAClD,OAAO,MAAQ,MAAM,MAAM,KAAK,EAAI,EACtC,CAEA,SAAS,iBAAkB,CACzB,IAAI,GAAK,SAAS,eAAe,aAAa,EAC1C,KAAO,GAAK,GAAG,YAAY,KAAK,EAAI,GACxC,OAAO,MAAQ,OAAS,cAAgB,OAAS,WAAa,OAAS,KAAO,OAAS,SAAM,KAAO,EACtG,CAEA,SAAS,aAAc,CACrB,IAAI,GAAK,SAAS,eAAe,eAAe,EAC5C,KAAO,GAAK,GAAG,YAAY,KAAK,EAAI,GACxC,MAAI,CAAC,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,SAAY,GAC/E,IACT,CAEA,SAAS,qBAAsB,CAC7B,IAAI,GAAK,SAAS,eAAe,WAAW,EACxC,KAAO,GAAK,GAAG,YAAY,KAAK,EAAI,GACxC,OAAO,KAAK,QAAQ,cAAe,EAAE,CACvC,CAEA,SAAS,wBAAyB,CAChC,IAAI,GAAK,SAAS,eAAe,qBAAqB,EAClD,KAAO,GAAK,GAAG,MAAM,KAAK,EAAI,GAClC,OAAO,KAAK,MAAM,EAAG,GAAG,CAC1B,CAEA,SAAS,WAAW,IAAK,CACvB,GAAI,CACF,OAAO,OAAO,aAAe,OAAO,aAAa,QAAQ,GAAG,EAAI,EAClE,OAAS,MAAO,CACd,MAAO,EACT,CACF,CAEA,SAAS,WAAW,IAAK,MAAO,CAC9B,GAAI,CACE,OAAO,cAAgB,OAAO,OAAO,aAAa,QAAQ,IAAK,KAAK,CAC1E,OAAS,MAAO,CAAC,CACnB,CAEA,SAAS,aAAc,CACrB,OAAO,gBAAgB,GAAK,gBAAgB,GAAK,WAAW,gBAAgB,GAAK,WAAW,iBAAiB,GAAK,EACpH,CAEA,SAAS,UAAW,CAClB,IAAI,QAAU,YAAY,EACtB,SAAW,YAAY,GAAK,WAAW,iBAAiB,GAAK,WAAW,kBAAkB,GAAK,GAC/F,MAAQ,oBAAoB,EAC5B,aAAe,uBAAuB,GAAK,WAAW,qBAAqB,GAAK,GAEpF,GAAI,CACE,UACF,WAAW,iBAAkB,OAAO,EACpC,WAAW,kBAAmB,OAAO,GAEnC,WACF,WAAW,kBAAmB,QAAQ,EACtC,WAAW,mBAAoB,QAAQ,GAErC,OAAO,WAAW,mBAAoB,KAAK,EAC3C,cAAc,WAAW,sBAAuB,YAAY,EAChE,WAAW,mBAAoB,KAAK,IAAI,EAAE,SAAS,CAAC,CACtD,OAAS,MAAO,CAAC,CAEjB,MAAO,CAAE,QAAS,QAAS,SAAU,SAAU,MAAO,MAAO,aAAc,YAAa,CAC1F,CAEA,SAAS,mBAAmB,IAAK,CAC/B,IAAI,QAAU,SAAS,EACnB,OAAS,IAAI,gBACb,QAAQ,SAAS,OAAO,IAAI,UAAW,QAAQ,OAAO,EACtD,QAAQ,UAAU,OAAO,IAAI,WAAY,QAAQ,QAAQ,EACzD,QAAQ,OAAO,OAAO,IAAI,mBAAoB,QAAQ,KAAK,EAC3D,QAAQ,cAAc,OAAO,IAAI,eAAgB,QAAQ,YAAY,EACzE,IAAI,MAAQ,OAAO,SAAS,EAC5B,OAAK,MACE,KAAO,IAAI,QAAQ,GAAG,GAAK,EAAI,IAAM,KAAO,MADhC,GAErB,CAEA,SAAS,UAAU,WAAY,CAC7B,IAAI,QAAU,SAAS,EACnB,UAAY,iBAAiB,UAAU,EAC3C,GAAI,CAAC,UAAW,MAAO,GAEvB,GAAI,CAAC,QAAQ,SAAW,CAAC,QAAQ,UAAY,CAAC,QAAQ,aAAc,CAClE,IAAI,MAAQ,SAAS,eAAe,cAAc,EAClD,OAAI,QACF,MAAM,MAAM,EACZ,MAAM,eAAe,CAAE,SAAU,SAAU,MAAO,QAAS,CAAC,GAEvD,EACT,CAEA,IAAI,WAAa,CAAC,EAClB,OAAI,QAAQ,UAAS,WAAW,kBAAkB,EAAI,QAAQ,SAC1D,QAAQ,WAAU,WAAW,iBAAiB,EAAI,QAAQ,UAC1D,QAAQ,QAAO,WAAW,mBAAmB,EAAI,QAAQ,OACzD,QAAQ,eAAc,WAAW,sBAAsB,EAAI,QAAQ,cAEvE,MAAM,eAAgB,CACpB,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,GAAI,UAAW,SAAU,EAAG,WAAY,UAAW,CAAC,CAC7E,CAAC,EACE,KAAK,SAAU,SAAU,CACxB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,iBAAiB,EACnD,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAK,UAAY,CAChB,OAAO,MAAM,kBAAmB,CAC9B,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CACnB,WAAY,CACV,mBAAoB,QAAQ,SAAW,GACvC,kBAAmB,QAAQ,UAAY,GACvC,oBAAqB,QAAQ,OAAS,GACtC,uBAAwB,QAAQ,cAAgB,EAClD,CACF,CAAC,CACH,CAAC,CACH,CAAC,EACA,KAAK,UAAY,CAChB,OAAO,SAAS,KAAO,OACzB,CAAC,EACA,MAAM,UAAY,CACjB,IAAI,SAAW,gBAAkB,mBAAmB,SAAS,EAAI,cAC7D,QAAQ,UAAS,UAAY,iCAAmC,mBAAmB,QAAQ,OAAO,GAClG,QAAQ,WAAU,UAAY,gCAAkC,mBAAmB,QAAQ,QAAQ,GACnG,QAAQ,QAAO,UAAY,kCAAoC,mBAAmB,QAAQ,KAAK,GAC/F,QAAQ,eAAc,UAAY,qCAAuC,mBAAmB,QAAQ,YAAY,GACpH,OAAO,SAAS,KAAO,QACzB,CAAC,EAEI,EACT,CAEA,SAAS,qBAAsB,CAC7B,SAAS,iBAAiB,iBAAiB,EAAE,QAAQ,SAAU,OAAQ,CACjE,OAAO,uBACX,OAAO,qBAAuB,GAC9B,OAAO,iBAAiB,QAAS,SAAU,MAAO,CAChD,MAAM,eAAe,EACrB,MAAM,yBAAyB,EAC/B,UAAU,OAAO,aAAa,cAAc,CAAC,CAC/C,EAAG,EAAI,EACT,CAAC,EAED,SAAS,iBAAiB,0BAA0B,EAAE,QAAQ,SAAU,KAAM,CACxE,KAAK,uBACT,KAAK,qBAAuB,GAC5B,KAAK,iBAAiB,QAAS,UAAY,CACzC,SAAS,EACT,KAAK,KAAO,mBAAmB,KAAK,aAAa,MAAM,GAAK,KAAK,IAAI,CACvE,EAAG,EAAI,EACT,CAAC,CACH,CAEA,SAAS,yBAA0B,CACjC,IAAI,MAAQ,SAAS,eAAe,cAAc,EAC9C,OAAS,CAAC,MAAM,8BAClB,MAAM,4BAA8B,GACpC,MAAM,iBAAiB,QAAS,UAAY,CAC1C,GAAI,CACF,IAAI,MAAQ,MAAM,MAAM,KAAK,EACzB,QACF,WAAW,iBAAkB,KAAK,EAClC,WAAW,kBAAmB,KAAK,EACnC,WAAW,mBAAoB,KAAK,IAAI,EAAE,SAAS,CAAC,EAExD,OAAS,MAAO,CAAC,CACnB,CAAC,GAGH,IAAI,aAAe,SAAS,eAAe,qBAAqB,EAC5D,kBAAoB,SAAS,eAAe,mBAAmB,EAC/D,iBAAmB,SAAS,eAAe,cAAc,EACzD,mBAAqB,SAAS,eAAe,oBAAoB,EASrE,GARI,kBAAoB,oBAAsB,CAAC,mBAAmB,4BAChE,mBAAmB,0BAA4B,GAC/C,mBAAmB,iBAAiB,QAAS,UAAY,CACvD,IAAI,OAAS,iBAAiB,UAAU,OAAO,SAAS,EACxD,mBAAmB,aAAa,gBAAiB,OAAS,OAAS,OAAO,EACtE,QAAU,cAAc,aAAa,MAAM,CACjD,CAAC,GAEC,cAAgB,CAAC,aAAa,2BAA4B,CAQ5D,IAAS,mBAAT,UAA8B,CAC5B,IAAI,MAAQ,aAAa,MAAM,MAAM,EAAG,GAAG,EACvC,aAAa,QAAU,QAAO,aAAa,MAAQ,OACnD,oBAAmB,kBAAkB,YAAc,OAAO,MAAM,MAAM,GACtE,OAAO,WAAW,sBAAuB,KAAK,EAClD,WAAW,mBAAoB,KAAK,IAAI,EAAE,SAAS,CAAC,CACtD,EAbA,aAAa,2BAA6B,GAC1C,IAAI,kBAAoB,WAAW,qBAAqB,EACpD,mBAAqB,CAAC,aAAa,QACrC,aAAa,MAAQ,kBAAkB,MAAM,EAAG,GAAG,EAC/C,kBAAkB,iBAAiB,UAAU,IAAI,SAAS,EAC1D,oBAAoB,mBAAmB,aAAa,gBAAiB,MAAM,GASjF,aAAa,iBAAiB,QAAS,kBAAkB,EACzD,mBAAmB,CACrB,CAEA,IAAI,aAAe,SAAS,eAAe,aAAa,EACpD,cAAgB,CAAC,aAAa,8BAChC,aAAa,4BAA8B,GAC3C,IAAI,iBAAiB,QAAQ,EAAE,QAAQ,aAAc,CAAE,UAAW,GAAM,QAAS,GAAM,cAAe,EAAK,CAAC,GAG9G,IAAI,SAAW,SAAS,eAAe,eAAe,EAClD,UAAY,CAAC,SAAS,4BACxB,SAAS,0BAA4B,GACrC,IAAI,iBAAiB,QAAQ,EAAE,QAAQ,SAAU,CAAE,UAAW,GAAM,QAAS,GAAM,cAAe,EAAK,CAAC,EAE5G,CAEA,SAAS,WAAY,CACnB,wBAAwB,EACxB,oBAAoB,EAEpB,SAAS,iBAAiB,iBAAiB,EAAE,QAAQ,SAAU,OAAQ,CACrE,IAAI,IAAM,OAAO,aAAa,cAAc,EACvC,gBAAgB,GAAG,GACxB,OAAO,aAAa,QAAS,sDAAsD,CACrF,CAAC,CACH,CAEA,MAAM,SAAS,EACf,OAAO,iBAAiB,OAAQ,SAAS,EACzC,WAAW,UAAW,GAAG,EACzB,WAAW,UAAW,GAAI,CAC5B,GAAG",
  "names": []
}
