{"version":3,"sources":["CC3840755.js"],"names":["sessionVars","formVars","document","addEventListener","updateYear","matchUrlString","integrityTest","calculatorMath","buildResults","i","length","sessionStorage","removeItem","buildStatusRadio","autoComma","clearForms","radioHighlight","formNavigation","calculatorPrep","calculatorGo","placeholders","getElementsByClassName","innerHTML","taxYear","getQueryVariable","variable","query","window","location","search","substring","vars","split","pair","string","path","pathname","$","on","e","closest","find","removeClass","addClass","children","attr","question","answer","setItem","hasClass","current","parseInt","data","activatePanel","element","keyup","event","which","val","index","value","replace","elementId","radioStart","radioEnd","output","taxData","status","getElementById","buildBracketRadio","filingStatus","getItem","bracket","target","panelSelector","nextPanel","fadeOut","fadeIn","focus","scrollAnimate","isNull","querySelector","preventDefault","classList","remove","tabindex","itemizedAmount","stripNumericCommas","donationAmount","isNaN","add","a","b","c","d","style","display","Number","stdDeduction","filingText","taxBracket","taxDecimal","itemDeduction","charDonation","taxCalculator","taxSavings","totalDeduction","yearOne","yearTwo","yearThree","yearOneBunTwo","yearTwoBunTwo","twoYearBunTotal","twoYearBunchAddlDeduction","twoYearBunchAddlTaxSaving","yearOneBunThree","yearTwoBunThree","yearThreeBunThree","threeYearBunTotal","threeYearBunchAddlDeduction","threeYearBunchAddlTaxSaving","pageToBuild","headline","subhead","calcbody","calctable","calctableintro","taxPercentage","emptyCell","startRow","taxSavingsOneYear","taxSavingsTwoYears","taxSavingsThreeYears","bunchThreeOnly","toLocaleString","bunchYears","paddingBottom","selector","scrollIntoView","behavior","myForms","getElementsByTagName","reset","isInteger","isFinite","Math","floor"],"mappings":"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","sourcesContent":["\"use strict\";\n\nvar sessionVars = [\"yearOneWithoutBunching\", \"yearTwoWithoutBunching\", \"yearThreeWithoutBunching\", \"twoYearWithBunchYearOne\", \"twoYearWithBunchYearTwo\", \"twoYearWithBunchTotal\", \"bunchGoodTwoYears\", \"twoYearBunchAddlDeduction\", \"twoYearBunchAddlTaxSaving\", \"threeYearWithBunchYearOne\", \"threeYearWithBunchYearTwo\", \"threeYearWithBunchYearThree\", \"threeYearWithBunchTotal\", \"bunchGoodThreeYears\", \"threeYearBunchAddlDeduction\", \"threeYearBunchAddlTaxSaving\", \"taxSavingsOneYear\", \"totalDeduction\"];\nvar formVars = [\"donationAmount\", \"filingStatus\", \"taxBracket\", \"itemizedAmount\"];\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n updateYear();\n\n if (matchUrlString(\"results.html\")) {\n if (integrityTest()) {\n calculatorMath();\n buildResults();\n }\n } else {\n for (var i = 0; i < formVars.length; i++) {\n sessionStorage.removeItem(formVars[i]);\n }\n\n buildStatusRadio(\"radio-status\"); // buildBracketRadio(\"radio-bracket\");\n\n autoComma(\"text-input\");\n clearForms();\n }\n\n radioHighlight();\n formNavigation();\n calculatorPrep();\n calculatorGo();\n});\n\nfunction updateYear() {\n var placeholders = document.getElementsByClassName(\"currentTaxYear\");\n\n for (var i = 0; i < placeholders.length; i++) {\n placeholders[i].innerHTML = taxYear;\n }\n} // get query var or parameter from url\n\n\nfunction getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split(\"&\");\n\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split(\"=\");\n\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return false;\n}\n\nfunction matchUrlString(string) {\n var path = window.location.pathname;\n var vars = path.split(\"/\");\n\n for (var i = 0; i < vars.length; i++) {\n if (vars[i] == string) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction radioHighlight() {\n $(document).on('click change', '.radio-panel input[type=\"radio\"]', function (e) {\n $(this).closest('.radio-group').find('.radio-panel').removeClass('selected');\n $(this).closest('.radio-panel').addClass('selected');\n $(this).closest('.panel').find('.form-controls').children('.button-next').removeClass('disabled').attr(\"tabindex\", 0);\n var question = $(this).attr('name');\n var answer = $(this).attr('value');\n sessionStorage.setItem(question, answer);\n });\n}\n\nfunction formNavigation() {\n $('.button-next, .button-back').on('click', function (e) {\n if (!$(this).hasClass('disabled')) {\n var current = parseInt($(this).closest('.panel').data('panel'));\n\n if ($(this).hasClass('button-next')) {\n activatePanel(current + 1);\n } else {\n if (current > 1) {\n activatePanel(current - 1);\n }\n }\n }\n });\n}\n\nfunction autoComma(element) {\n $('input.' + element).keyup(function (event) {\n // skip for arrow keys\n if (event.which >= 37 && event.which <= 40) return; // format number\n\n $(this).val(function (index, value) {\n return value.replace(/\\D/g, \"\").replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n });\n });\n}\n\nfunction buildStatusRadio(elementId) {\n var radioStart = '
An error has occurred. Please return to the calculator and try again.
';\n document.getElementById(\"error-message\").style.display = \"block\";\n document.querySelector(\".calc-header, .calc-cta\").style.display = \"none\";\n return false;\n }\n\n return true;\n}\n\nfunction isNull(value) {\n if (value === null || value == 'null') {\n return true;\n }\n\n return false;\n}\n\nfunction calculatorMath() {\n // figure out standard deduction\n var filingStatus = Number(sessionStorage.getItem(\"filingStatus\"));\n var stdDeduction = taxData.status[filingStatus][\"stdDeduction\"];\n var filingText = taxData.status[filingStatus][\"text\"];\n sessionStorage.setItem(\"stdDeduction\", stdDeduction);\n sessionStorage.setItem(\"filingText\", filingText); // figure out tax percentage\n\n var taxBracket = Number(sessionStorage.getItem(\"taxBracket\"));\n var taxDecimal = taxData.status[filingStatus].bracket[taxBracket][\"taxDecimal\"];\n sessionStorage.setItem(\"taxDecimal\", taxDecimal);\n var itemDeduction = Number(sessionStorage.getItem(\"itemizedAmount\"));\n var charDonation = Number(sessionStorage.getItem(\"donationAmount\")); // console.log(itemDeduction, charDonation);\n\n taxCalculator(stdDeduction, taxDecimal, itemDeduction, charDonation);\n}\n\nfunction taxCalculator(stdDeduction, taxBracket, itemDeduction, charDonation) {\n for (var i = 0; i < sessionVars.length; i++) {\n sessionStorage.removeItem(sessionVars[i]);\n }\n\n var taxSavings;\n var totalDeduction;\n totalDeduction = itemDeduction + charDonation;\n sessionStorage.setItem(\"totalDeduction\", totalDeduction); // without bunching\n\n var yearOne = itemDeduction + charDonation > stdDeduction ? itemDeduction + charDonation : stdDeduction; // assume we always take standard deduction if it is higher than combined deduction\n\n sessionStorage.setItem(\"yearOneWithoutBunching\", yearOne);\n var yearTwo = yearOne * 2;\n sessionStorage.setItem(\"yearTwoWithoutBunching\", yearTwo);\n var yearThree = yearOne * 3;\n sessionStorage.setItem(\"yearThreeWithoutBunching\", yearThree); // two years with bunching\n\n var yearOneBunTwo = itemDeduction + charDonation * 2;\n sessionStorage.setItem(\"twoYearWithBunchYearOne\", yearOneBunTwo);\n var yearTwoBunTwo = stdDeduction > itemDeduction ? stdDeduction : itemDeduction;\n sessionStorage.setItem(\"twoYearWithBunchYearTwo\", yearTwoBunTwo);\n var twoYearBunTotal = yearOneBunTwo + yearTwoBunTwo;\n sessionStorage.setItem(\"twoYearWithBunchTotal\", twoYearBunTotal);\n\n if (twoYearBunTotal > yearTwo) {\n var twoYearBunchAddlDeduction = twoYearBunTotal - yearTwo;\n var twoYearBunchAddlTaxSaving = twoYearBunchAddlDeduction * taxBracket;\n sessionStorage.setItem(\"bunchGoodTwoYears\", true);\n sessionStorage.setItem(\"twoYearBunchAddlDeduction\", twoYearBunchAddlDeduction);\n sessionStorage.setItem(\"twoYearBunchAddlTaxSaving\", twoYearBunchAddlTaxSaving);\n } else {\n sessionStorage.setItem(\"bunchGoodTwoYears\", false);\n } // three years with bunching\n\n\n var yearOneBunThree = itemDeduction + charDonation * 3;\n sessionStorage.setItem(\"threeYearWithBunchYearOne\", yearOneBunThree);\n var yearTwoBunThree = stdDeduction > itemDeduction ? stdDeduction : itemDeduction;\n sessionStorage.setItem(\"threeYearWithBunchYearTwo\", yearTwoBunThree);\n var yearThreeBunThree = stdDeduction > itemDeduction ? stdDeduction : itemDeduction;\n sessionStorage.setItem(\"threeYearWithBunchYearThree\", yearThreeBunThree);\n var threeYearBunTotal = yearOneBunThree + yearTwoBunThree + yearThreeBunThree;\n sessionStorage.setItem(\"threeYearWithBunchTotal\", threeYearBunTotal);\n\n if (threeYearBunTotal > yearThree) {\n var threeYearBunchAddlDeduction = threeYearBunTotal - yearThree;\n var threeYearBunchAddlTaxSaving = threeYearBunchAddlDeduction * taxBracket;\n sessionStorage.setItem(\"bunchGoodThreeYears\", true);\n sessionStorage.setItem(\"threeYearBunchAddlDeduction\", threeYearBunchAddlDeduction);\n sessionStorage.setItem(\"threeYearBunchAddlTaxSaving\", threeYearBunchAddlTaxSaving);\n } else {\n sessionStorage.setItem(\"bunchGoodThreeYears\", false);\n } // one year tax savings\n\n\n if (itemDeduction > stdDeduction) {\n taxSavings = charDonation * taxBracket;\n } else {\n taxSavings = (totalDeduction - stdDeduction) * taxBracket;\n }\n\n sessionStorage.setItem(\"taxSavingsOneYear\", taxSavings);\n var pageToBuild;\n\n if (twoYearBunTotal > yearTwo || threeYearBunTotal > yearThree) {\n if (totalDeduction > stdDeduction) {\n pageToBuild = 1;\n } else {\n pageToBuild = 2;\n }\n } else {\n if (totalDeduction > stdDeduction) {\n pageToBuild = 4;\n } else {\n pageToBuild = 3;\n }\n }\n\n sessionStorage.setItem(\"pageToBuild\", pageToBuild);\n}\n\nfunction buildResults() {\n var pageToBuild = Number(sessionStorage.getItem(\"pageToBuild\"));\n var headline;\n var subhead;\n var calcbody;\n var calctable;\n var calctableintro;\n var taxPercentage = Number(sessionStorage.getItem(\"taxDecimal\")) * 100;\n var charDonation = Number(sessionStorage.getItem(\"donationAmount\"));\n var emptyCell = 'Itemizing your taxes only reduces your tax bill when your deductions (including charitable gifts) come out to more than the standard tax deduction. For you, a taxpayer filing as ' + sessionStorage.getItem(\"filingText\") + ', the standard deduction would be $' + Number(sessionStorage.getItem(\"stdDeduction\")).toLocaleString() + '.
In this scenario, it’s likely you will receive a tax benefit from your donations whether you bunch or not. However, if you bunch two or more years’ worth of giving into the current year, you could increase your overall tax benefit compared to giving that same amount each year. This could also provide additional tax benefits if your tax rate this year is higher than future years.
';\n calctableintro = 'Without bunching | Bunch 2 years of donations | Bunch 3 years of donations | $' + charDonation.toLocaleString() + ' | $' + (charDonation * 2).toLocaleString() + ' | $' + (charDonation * 3).toLocaleString() + ' | ';\n calctable += startRow + 'Tax savings from donation$' + Number(sessionStorage.getItem(\"taxSavingsOneYear\")).toLocaleString() + ' | $' + taxSavingsTwoYears.toLocaleString() + ' | $' + taxSavingsThreeYears.toLocaleString() + ' | ';\n calctable += startRow + 'Additional tax savings due to bunching' + emptyCell + '$' + Number(sessionStorage.getItem(\"twoYearBunchAddlTaxSaving\")).toLocaleString() + ' | $' + Number(sessionStorage.getItem(\"threeYearBunchAddlTaxSaving\")).toLocaleString() + ' | ';\n calctable += '
---|
Itemizing your taxes only reduces your tax bill when your deductions (including charitable gifts) add up to more than the standard tax deduction. For you, a taxpayer filing as ' + sessionStorage.getItem(\"filingText\") + ', the standard deduction would be $' + Number(sessionStorage.getItem(\"stdDeduction\")).toLocaleString() + '.
In this scenario, it’s likely you will receive a tax benefit from your donation if you bunch ' + bunchYears + ' or more years’ worth of giving into the current year. This could also provide additional tax benefits if your tax rate this year is higher than future years.
';\n calctableintro = '';\n calctable = 'Without bunching | Bunch 2 years of donations | Bunch 3 years of donations | $' + charDonation.toLocaleString() + ' | $' + (charDonation * 2).toLocaleString() + ' | $' + (charDonation * 3).toLocaleString() + ' | ';\n calctable += startRow + 'Tax savings from donation$' + taxSavingsOneYear.toLocaleString() + ' | $' + taxSavingsTwoYears.toLocaleString() + ' | $' + taxSavingsThreeYears.toLocaleString() + ' | ';\n calctable += startRow + 'Additional tax savings due to bunching' + emptyCell + '$' + Number(sessionStorage.getItem(\"twoYearBunchAddlTaxSaving\")).toLocaleString() + ' | $' + Number(sessionStorage.getItem(\"threeYearBunchAddlTaxSaving\")).toLocaleString() + ' | ';\n calctable += '
---|
Bunching only reduces your tax bill when your itemized deductions are less than the standard tax deduction. In your case, the standard deduction is $' + Number(sessionStorage.getItem(\"stdDeduction\")).toLocaleString() + ' for a taxpayer filing as ' + sessionStorage.getItem(\"filingText\") + ', which is greater than your potential itemized deduction.
';\n calctable = 'Without bunching | Bunch 2 years of donations | Bunch 3 years of donations | $' + charDonation.toLocaleString() + ' | $' + (charDonation * 2).toLocaleString() + ' | $' + (charDonation * 3).toLocaleString() + ' | ';\n calctable += startRow + 'Tax savings from donation$' + taxSavingsOneYear.toLocaleString() + ' | $' + taxSavingsTwoYears.toLocaleString() + ' | $' + taxSavingsThreeYears.toLocaleString() + ' | ';\n calctable += startRow + 'Additional tax savings due to bunching' + emptyCell + '$' + Number(sessionStorage.getItem(\"twoYearBunchAddlTaxSaving\")).toLocaleString() + ' | $' + Number(sessionStorage.getItem(\"threeYearBunchAddlTaxSaving\")).toLocaleString() + ' | ';\n calctable += '
---|
In this scenario, there are likely to be no additional tax benefits to a donation, so bunching may not be beneficial. But your donations still make a difference. Your community benefits when you give back. And that’s a great thing.
';\n calcbody += 'Use the calculator to experiment with different giving amounts. You may find that a bunching strategy could result in additional tax benefits with a slight change of giving plans.
';\n break;\n\n case 4:\n // code here\n headline = \"It looks like bunching donations won’t increase your tax savings.\";\n subhead = \"From our calculations, itemizing wouldn’t save you money on taxes this year, even if you bunched.\";\n calctableintro = '';\n calctable = 'Without bunching | Bunch 2 years of donations | Bunch 3 years of donations | $' + charDonation.toLocaleString() + ' | $' + (charDonation * 2).toLocaleString() + ' | $' + (charDonation * 3).toLocaleString() + ' | ';\n calctable += startRow + 'Tax savings from donation$' + taxSavingsOneYear.toLocaleString() + ' | $' + taxSavingsTwoYears.toLocaleString() + ' | $' + taxSavingsThreeYears.toLocaleString() + ' | ';\n calctable += startRow + 'Additional tax savings due to bunching' + emptyCell + '$' + Number(sessionStorage.getItem(\"twoYearBunchAddlTaxSaving\")).toLocaleString() + ' | $' + Number(sessionStorage.getItem(\"threeYearBunchAddlTaxSaving\")).toLocaleString() + ' | ';\n calctable += '
---|
Itemizing your taxes only reduces your tax bill when your deductions (including charitable gifts) come out to more than the standard tax deduction, which in your case would be $' + Number(sessionStorage.getItem(\"stdDeduction\")).toLocaleString() + ' for a taxpayer filing as ' + sessionStorage.getItem(\"filingText\") + '.
';\n calcbody += 'In this scenario, there are likely to be no additional tax benefits to a donation, so bunching may not be beneficial. However, if you bunch multiple years’ worth of giving into the current year, you could provide additional tax benefits if your tax rate this year is higher than future years.
';\n calcbody += 'Use the calculator to experiment with different giving amounts. You may find that a bunching strategy could result in additional tax benefits with a slight change of giving plans.
';\n break;\n }\n\n document.querySelector('.calc-header h1').innerHTML = headline;\n\n if (subhead.length > 2) {\n document.querySelector('.calc-header p').innerHTML = subhead;\n } else {\n document.querySelector('.calc-header h1').style.paddingBottom = \"0px\";\n }\n\n document.querySelector('.calc-body').innerHTML = calcbody;\n document.querySelector('.calc-table').innerHTML = calctable;\n document.querySelector('.calc-table-intro').innerHTML = calctableintro;\n}\n\nfunction scrollAnimate(selector) {\n document.querySelector(selector).scrollIntoView({\n behavior: 'smooth'\n });\n}\n\nfunction clearForms() {\n var myForms = document.getElementsByTagName(\"form\");\n\n for (var i = 0; i < myForms.length; i++) {\n myForms[i].reset();\n }\n}\n\nfunction stripNumericCommas(value) {\n value = value.replace(/\\,/g, '');\n return parseInt(value, 10);\n}\n\nNumber.isInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n};\n//# sourceMappingURL=CC2733972.js.map\n"],"file":"CC3840755.js"}