{"version":3,"file":"educationCalculator.js","mappings":"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","sources":["webpack://MandG/./src/js/legacy/qna.js","webpack://MandG/./src/js/legacy/tools-global.js","webpack://MandG/webpack/bootstrap","webpack://MandG/webpack/runtime/compat get default export","webpack://MandG/webpack/runtime/define property getters","webpack://MandG/webpack/runtime/hasOwnProperty shorthand","webpack://MandG/./src/js/legacy/education-calc.js"],"sourcesContent":["\r\n(function () {\r\n\r\n \"use strict\";\r\n\r\n $(document).ready(function () {\r\n\r\n var $doc = $(this);\r\n\r\n var qnaClass = function () {\r\n\r\n var answers = {},\r\n qnaActive = true,\r\n currentToolType;\r\n\r\n\r\n this.init = function (params) {\r\n\r\n params = params || {};\r\n\r\n var paramDefaults = {\r\n callbacks: {\r\n onFinalQuestionComplete: function () {\r\n // This method is overwritten in 'tools-global.js'.\r\n }\r\n },\r\n\r\n toolType: false\r\n };\r\n\r\n if (!params.toolType) {\r\n window.console.warn('QnA init failed. Parameter \"toolType\" is required');\r\n return false;\r\n } else {\r\n main($.extend(true, {}, paramDefaults, params));\r\n currentToolType = params.toolType;\r\n }\r\n };\r\n\r\n this.isActive = function () {\r\n return qnaActive;\r\n };\r\n\r\n this.getCurrentToolType = function () {\r\n return currentToolType;\r\n };\r\n\r\n /**\r\n *\r\n * @param params\r\n */\r\n function main(params) {\r\n\r\n var counter = {\r\n current: 1,\r\n max: $('.questions-block .question').length\r\n },\r\n qnaLoader = {\r\n\r\n setCounterMaxValue: function () {\r\n\r\n $('.counter-block .max').text(counterFormat(counter.max));\r\n\r\n },\r\n\r\n setCounterCurrentValue: function () {\r\n\r\n $('.counter-block .current').text(counterFormat(counter.current));\r\n\r\n },\r\n\r\n displayCurrentQuestion: function () {\r\n\r\n var $loader = this,\r\n $question = $('.question'),\r\n $currentQuestionElem = $question.eq(counter.current - 1),\r\n $categoryHeading = $('.section-title'),\r\n $hasMultipleChoice = (typeof $currentQuestionElem.attr('data-has-multiple') === 'undefined') ? false : true,\r\n categoryHeading = $currentQuestionElem.attr('data-category-heading') || false,\r\n isMobile = navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i);\r\n var $QuestionInput = $currentQuestionElem.find('.input-block>input').hasClass(\"skip\");\r\n\r\n if ($QuestionInput && counter.current === counter.max) {\r\n $currentQuestionElem.find(\"button.next\").click();\r\n }\r\n if ($QuestionInput && counter.current !== counter.max) {\r\n counter.current++;\r\n $currentQuestionElem = $question.eq(counter.current - 1);\r\n //$currentQuestionElem.find(\"button.next\").click();\r\n }\r\n $question.removeClass('show');\r\n $loader.setCounterCurrentValue();\r\n $currentQuestionElem.addClass('show');\r\n\r\n if (categoryHeading && categoryHeading !== $categoryHeading.text()) {\r\n\r\n $categoryHeading.addClass('hide');\r\n\r\n setTimeout(function () {\r\n\r\n $categoryHeading.text(categoryHeading);\r\n\r\n }, 400);\r\n\r\n $categoryHeading.removeClass('hide');\r\n\r\n }\r\n\r\n setTimeout(function () {\r\n\r\n // New functionality for answers that have more than one option.\r\n if ($hasMultipleChoice === true) {\r\n\r\n var questionToShow = answers[Object.keys(answers)[Object.keys(answers).length - 1]],\r\n $multipleChoiceQuestion = $('.multiple-choice-question');\r\n\r\n $multipleChoiceQuestion.filter(function () {\r\n\r\n var $this = $(this),\r\n currentQuestionNames = $this.data('question-names').split(',');\r\n\r\n $.each(currentQuestionNames, function (index) {\r\n\r\n if (questionToShow === currentQuestionNames[index]) {\r\n\r\n $this.removeClass('hide');\r\n\r\n return;\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n $currentQuestionElem.css({ opacity: 1 });\r\n\r\n if (!isMobile) {\r\n $('input', $currentQuestionElem).focus();\r\n }\r\n\r\n }, 400);\r\n\r\n // If the first question is being displayed, don't scroll.\r\n if (counter.current === 1) {\r\n return;\r\n }\r\n\r\n // // Animate the scroll to desired position.\r\n // $('html, body').stop().animate({\r\n // scrollTop: ($('.QA-main .content-block-60').offset().top - ($('.header.headroom').height() + 10))\r\n // }, 400);\r\n\r\n },\r\n\r\n nextButton: function () {\r\n\r\n var loader = this;\r\n\r\n $doc.on('click', 'button.next', function () {\r\n\r\n counter.max = $('.questions-block .question').length;\r\n $('.counter-block .max').text(counterFormat(counter.max));\r\n var $inputElem = $(this).closest('.question').find('.question-controls input, .question-controls .icon-group');\r\n\r\n storeCurrentAnswer($inputElem, getInputElemType($inputElem));\r\n\r\n console.log($inputElem.length);\r\n\r\n while (i < $inputElem.length) {\r\n $inputElem[i].data('goal');\r\n i++;\r\n }\r\n if(window.gaTracking){\r\n window.gaTracking.sendEvent(\r\n 'submit',\r\n window.location.pathname + '/' + $('h2', '.question-text:eq(' + (counter.current - 1) + ')').text(),\r\n 'Completed question ' + counter.current + ' of ' + counter.max,\r\n ($inputElem.val() === '') ? $inputElem.data('goal') : $inputElem.val(),\r\n ''\r\n );\r\n }\r\n if (counter.current !== counter.max) {\r\n counter.current++;\r\n loader.displayCurrentQuestion();\r\n } else {\r\n\r\n qnaActive = false;\r\n params.callbacks.onFinalQuestionComplete(answers);\r\n\r\n // Animate the scroll to desired position.\r\n $('html, body').stop().animate({\r\n scrollTop: ($('.result-chart-block').offset().top - ($('.header.headroom').height() + 10))\r\n }, 400);\r\n\r\n }\r\n });\r\n\r\n function storeCurrentAnswer($inputElem, elemType) {\r\n var key = null,\r\n val = null;\r\n\r\n switch (elemType) {\r\n\r\n case 'input':\r\n if ($inputElem.length === 3) {\r\n key = 'education-costs';\r\n val = {\r\n 'primary-school-cost': $inputElem.eq(0).val(),\r\n 'high-school-cost': $inputElem.eq(1).val(),\r\n 'tertiary-cost': $inputElem.eq(2).val(),\r\n };\r\n }\r\n else {\r\n key = $inputElem.attr('data-prepop-id');\r\n val = $inputElem.val();\r\n }\r\n break;\r\n\r\n case 'ul':\r\n key = $inputElem.attr('data-prepop-id');\r\n val = (typeof $inputElem.attr('data-goal') !== \"undefined\") ? $inputElem.attr('data-goal') : $inputElem.attr('data-selected-id');\r\n break;\r\n\r\n default:\r\n throw '\"elemType\" is not defined on switch statement.';\r\n }\r\n\r\n answers[key] = {};\r\n answers[key] = val;\r\n\r\n }\r\n\r\n function getInputElemType($inputElem) {\r\n\r\n return $inputElem[0].tagName.toLowerCase();\r\n\r\n }\r\n },\r\n\r\n inputValidation: function () {\r\n\r\n $('.question').each(function () {\r\n\r\n var $questionElem = $(this);\r\n\r\n function showNextButton() {\r\n $questionElem.find(\"button.next\").addClass(\"enabled\");\r\n }\r\n\r\n function hideNextButton() {\r\n $questionElem.find('button.next').removeClass('enabled');\r\n }\r\n\r\n $questionElem.find('.input-block input').on('keyup', function () {\r\n if (this.validity.valid) {\r\n showNextButton();\r\n } else {\r\n hideNextButton();\r\n }\r\n });\r\n\r\n $questionElem.find('.choose-your-goal li').on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').siblings('.goal-icon').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n $questionElem.find('.radio-group li label').on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').parent().siblings('.goal-icon').find('label').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n $questionElem.find('.icon-group.dropdown-menu li').off().on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').siblings('.goal-icon').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n $questionElem.find('.icon-group.select-tax.dropdown-menu li').off().on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').siblings('.goal-icon').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n $questionElem.find('.icon-group.select-month.dropdown-menu li').off().on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').siblings('.goal-icon').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n $questionElem.find('.icon-group.select-year.dropdown-menu li').off().on('click', function () {\r\n\r\n var $this = $(this);\r\n\r\n $this.addClass('active').siblings('.goal-icon').removeClass('active');\r\n showNextButton();\r\n\r\n });\r\n\r\n });\r\n }\r\n };\r\n\r\n for (var i in qnaLoader) {\r\n if (qnaLoader[i].hasOwnProperty) {\r\n qnaLoader[i]();\r\n }\r\n }\r\n\r\n\r\n function counterFormat(number) {\r\n\r\n return number > 9 ? number + '' : '0' + number;\r\n\r\n }\r\n }\r\n };\r\n\r\n window._QnA = new qnaClass();\r\n\r\n });\r\n\r\n})();\r\n","/*\r\n * We will use a self executing/anonomous function to protect the private variables and methods.\r\n * We also add the ; incase a the previous code has not been closed off when we concatenate our source code later for production.\r\n */\r\n;(function() {\r\n\r\n\t\"use strict\";\r\n\t\r\n\t$(document).ready(function() {\r\n\r\n\t\tvar $doc = $(this),\r\n\t\t\tqna = window._QnA;\r\n\t\t\r\n\t\tif (!qna) {\r\n\r\n\t\t\tapplyToolGlobalCode();\r\n\r\n\t\t} else {\r\n\r\n\t\t\tvar w_qnaToolTypeCheck = setInterval(function() {\r\n\r\n\t\t\t\tif (getToolType()) {\r\n\r\n\t\t\t\t\tapplyToolGlobalCode();\r\n\t\t\t\t\tclearInterval(w_qnaToolTypeCheck);\r\n\r\n\t\t\t\t}\r\n\t\t\t}, 200);\r\n\r\n\t\t}\r\n\r\n function getToolType() {\r\n\r\n var toolType = null;\r\n\r\n if(qna) {\r\n\r\n\t\t\t\ttoolType = qna.getCurrentToolType();\r\n\r\n } else {\r\n\r\n\t\t\t\ttoolType = window.toolType;\r\n\r\n }\r\n\r\n return toolType;\r\n }\r\n\r\n\t\tfunction applyToolGlobalCode() {\r\n\r\n\t\t\t$doc.on(\"keypress\", function(e) {\r\n\r\n\t\t\t\tvar keycodes = {\r\n\t\t\t\t\t\tenter : 13\r\n\t\t\t\t\t},\r\n\t\t\t\t\tisQnaActive;\r\n\r\n\t\t\t\tif(qna) {\r\n\r\n\t\t\t\t\tisQnaActive = qna.isActive();\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction keyCheckHandler() {\r\n\r\n\t\t\t\t\tif (e.keyCode === keycodes.enter) {\r\n\r\n\t\t\t\t\t\tif (isQnaActive) {\r\n\r\n\t\t\t\t\t\t\tqnaControlHandler();\r\n\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\ttoolControlHandler(getToolType());\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tkeyCheckHandler();\r\n\r\n\t\t\t});\r\n\r\n\t\t\tfunction qnaControlHandler() {\r\n\r\n\t\t\t\t$(\".question.show .next.enabled\").click();\r\n\r\n\t\t\t}\r\n\r\n\t\t\tfunction toolControlHandler(tooltype) {\r\n\r\n\t\t\t\tvar tooltypeList = {\r\n\r\n\t\t\t\t\t\"retirement-calc\" : function() {\r\n\t\t\t\t\t\t// Currently we don't use this but it is here for future usages.\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\"goal-calc\" : function() {\r\n\t\t\t\t\t\t$(\".calculate\").click();\r\n },\r\n\r\n \"education-calc\": function () {\r\n $(\".calculate\").click();\r\n },\r\n\r\n \"tax-free\" : function() {\r\n $(\".calculate\").click();\r\n },\r\n\r\n\t\t\t\t\t\"fund-picker\" : function() {\r\n\t\t\t\t\t\t$(\".lookup-funds\").click();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\ttooltypeList[tooltype]();\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t// END: applyToolGlobalCode();\r\n\r\n\t});\r\n\t// End : Document.ready();\r\n\r\n})();\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import \"/src/css/legacy/education-calc.css\";\r\nimport \"/src/css/legacy/fundpicker.css\";\r\nimport \"/src/css/legacy/funds.css\";\r\nimport \"/src/css/legacy/our-tools.css\";\r\n\r\nimport \"/src/js/legacy/qna.js\";\r\nimport \"/src/js/legacy/tools-global.js\";\r\n\r\n\r\n(function () {\r\n\t\"use strict\";\r\n\r\n\t$(document).ready(function () {\r\n\t\tvar $doc = $(this),\r\n\t\t\tcurrentGoal = \"\",\r\n\t\t\tqnaComplete = false,\r\n\t\t\tf = window.formatNumber.toRandFormat,\r\n\t\t\tqnaChecker = setInterval(function () {\r\n\t\t\t\tif (typeof window._QnA !== \"undefined\") {\r\n\t\t\t\t\twindow._QnA.init({\r\n\t\t\t\t\t\tcallbacks: {\r\n\t\t\t\t\t\t\tonFinalQuestionComplete: function (answers) {\r\n\t\t\t\t\t\t\t\tfor (var i in answers) {\r\n\t\t\t\t\t\t\t\t\tif (answers[i].hasOwnProperty) {\r\n\t\t\t\t\t\t\t\t\t\tif (typeof answers[i] === \"object\") {\r\n\t\t\t\t\t\t\t\t\t\t\tfor (var j in answers[i]) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t$(\".field\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.filter(\".\" + j + \"\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.val(answers[i][j]);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t$(\".field\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(\".\" + i + \"\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t.val(answers[i]);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tqnaComplete = true;\r\n\t\t\t\t\t\t\t\tsendFacebookToolCompletedEvent('Education Calculator');\r\n\t\t\t\t\t\t\t\t$(\".QA-main\").css({ display: \"none\" });\r\n\t\t\t\t\t\t\t\t$(\".education-calc-container\").addClass(\"show\");\r\n\t\t\t\t\t\t\t\t$(\".education-calc-fields input\")\r\n\t\t\t\t\t\t\t\t\t.eq(0)\r\n\t\t\t\t\t\t\t\t\t.trigger(\"keypress\");\r\n\t\t\t\t\t\t\t\tsendFacebookToolCompletedEvent('Education Calculator');\r\n\t\t\t\t\t\t\t\t$(\".education-calc-fields input\").keyup(\r\n\t\t\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\t\t\t$(\".calculate\").click();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\t\t$(\".education-calc-main\")\r\n\t\t\t\t\t\t\t\t\t\t.addClass(\"show\")\r\n\t\t\t\t\t\t\t\t\t\t.css({ opacity: 1 });\r\n\t\t\t\t\t\t\t\t\t$(\".calculate\").click();\r\n\t\t\t\t\t\t\t\t}, 400);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// END: onFinalQuestionComplete().\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\ttoolType: \"education-calc\"\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(\r\n\t\t\t\t\t\t\".primary-school-cost, .high-school-cost, .tertiary-cost, .amount-saved, .monthly-savings\"\r\n\t\t\t\t\t).on(\"keyup keydown paste\", function () {\r\n\t\t\t\t\t\t// Get a jQuery reference to the current DOM object.\r\n\t\t\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\t\t\t// Get a clean string without any comma seperators.\r\n\t\t\t\t\t\t\tstrippedNumber = $this.val().replace(/,/g, \"\");\r\n\t\t\t\t\t\t// If the number is polluted with other characters...\r\n\t\t\t\t\t\tif (isNaN(Number(strippedNumber))) {\r\n\t\t\t\t\t\t\t// ...Go no further.\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// If the string is at least in the thousands...\r\n\t\t\t\t\t\tif (strippedNumber.length > 3) {\r\n\t\t\t\t\t\t\t// Add the en-US local which by default seperates thousnads, millions etc...\r\n\t\t\t\t\t\t\t// More info here : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\r\n\t\t\t\t\t\t\t// Supports these browsers : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Browser_compatibility\r\n\t\t\t\t\t\t\tstrippedNumber = Number(\r\n\t\t\t\t\t\t\t\tstrippedNumber\r\n\t\t\t\t\t\t\t).toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\tminimumFractionDigits: 0\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the newly formatted string to the DOM.\r\n\t\t\t\t\t\t\t$this.val(strippedNumber);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tclearInterval(qnaChecker);\r\n\t\t\t\t}\r\n\t\t\t}, 50),\r\n\t\t\telemEvents = {\r\n\t\t\t\tcalculate: function () {\r\n\t\t\t\t\t$doc.on(\"click\", \".calculate\", function () {\r\n\t\t\t\t\t\tvar $resultInfoBlock = $(\".result-info-block\");\r\n\r\n\t\t\t\t\t\tgetCurrentGoal();\r\n\t\t\t\t\t\tgetCalcResults(getCalcData());\r\n\r\n\t\t\t\t\t\t$resultInfoBlock.removeClass(\"show\");\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t$resultInfoBlock.addClass(\"show\");\r\n\t\t\t\t\t\t}, 1000);\r\n\r\n\t\t\t\t\t\tfunction getCurrentGoal() {\r\n\t\t\t\t\t\t\tif (qnaComplete) {\r\n\t\t\t\t\t\t\t\tcurrentGoal = $(\r\n\t\t\t\t\t\t\t\t\t\".education-calc-input-row .dropdown button\"\r\n\t\t\t\t\t\t\t\t).text();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tcurrentGoal = $(\r\n\t\t\t\t\t\t\t\t\t\".choose-your-schooling .icon-group\"\r\n\t\t\t\t\t\t\t\t).attr(\"data-goal\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\r\n\t\t\t\tvalidation: function () {\r\n\t\t\t\t\tvar $inputs = $(\r\n\t\t\t\t\t\t\t\".education-calc-input-row:not(.optional-row) input\"\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\t$calculate = $(\".calculate\");\r\n\r\n\t\t\t\t\t$doc.on(\"keypress\", $inputs, function () {\r\n\t\t\t\t\t\tvar isValid = true;\r\n\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t$inputs.each(function () {\r\n\t\t\t\t\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\t\t\t\t\thasNoVal = $this.val() === \"\";\r\n\r\n\t\t\t\t\t\t\t\tif ($this.hasClass(\":invalid\") || hasNoVal) {\r\n\t\t\t\t\t\t\t\t\tisValid = false;\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tif (isValid) {\r\n\t\t\t\t\t\t\t\t$calculate.attr(\"disabled\", false);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t$calculate.attr(\"disabled\", true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, 20);\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgoalPickerRadioButtons: function () {\r\n\t\t\t\t\t$(\".radio-group li label\").on(\"click\", function () {\r\n\t\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\t\t$this.parent().parent().attr(\"data-goal\", $this.text());\r\n\r\n\t\t\t\t\t\tconsole.log(\"Goal : \" + $this.text());\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\r\n\t\t\t\tbootStrapDropdown: function () {\r\n\t\t\t\t\t$(document).on(\"click\", \".dropdown-menu li\", function () {\r\n\t\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\t\t$this\r\n\t\t\t\t\t\t\t.closest(\".dropdown\")\r\n\t\t\t\t\t\t\t.children(\".dropdown-toggle\")\r\n\t\t\t\t\t\t\t.text($this.text());\r\n\t\t\t\t\t\t$this.parent().attr(\"data-selected-id\", $this.text());\r\n\r\n\t\t\t\t\t\tconsole.log(\"Goal : \" + $this.text());\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tfor (var i in elemEvents) {\r\n\t\t\tif (elemEvents[i].hasOwnProperty) {\r\n\t\t\t\telemEvents[i]();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getDates(stopDate) {\r\n\t\t\tvar dateArray = [];\r\n\t\t\tvar currentDate = moment(new Date()).add(1, \"months\");\r\n\t\t\tvar stopDate = moment(stopDate).add(1, \"months\");\r\n\t\t\twhile (currentDate <= stopDate) {\r\n\t\t\t\tdateArray.push(moment(currentDate).format(\"MMM YYYY\"));\r\n\t\t\t\tcurrentDate = moment(currentDate).add(1, \"months\");\r\n\t\t\t}\r\n\t\t\treturn dateArray;\r\n\t\t}\r\n\r\n\t\tfunction getCalcData() {\r\n\t\t\tvar calcData = {\r\n\t\t\t\tCurrentCostOfPrimarySchoolGoal: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".currentPrimarySchoolCost\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(/,/g, \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tCurrentCostOfHighSchoolGoal: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".currentHighSchoolCost\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(/,/g, \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tCurrentCostOfTertiaryGoal: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".currentTertiaryCost\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(/,/g, \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tCurrentEducationAmountSaved: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".currentEducationAmountSaved\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(/,/g, \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tCurrentMonthlyContributions: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".currentMonthlyContributions\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(/,/g, \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tExpectedRealReturn: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".expectedRealReturn\")\r\n\t\t\t\t\t\t\t.filter(\".field\")\r\n\t\t\t\t\t\t\t.val()\r\n\t\t\t\t\t\t\t.replace(\"%\", \"\")\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tTertiaryYearsLeft: function () {\r\n\t\t\t\t\treturn Number($(\".tertiaryYearsLeft\").val());\r\n\t\t\t\t},\r\n\r\n\t\t\t\tChildSchoolInStatus: function () {\r\n\t\t\t\t\treturn Number($(\".feefield input:checked\").val());\r\n\t\t\t\t},\r\n\r\n\t\t\t\tGradeOfChild: function () {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\ttypeof $(\".select-grade li\")\r\n\t\t\t\t\t\t\t.parent(\"ul\")\r\n\t\t\t\t\t\t\t.data(\"selected-id\") === \"number\"\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t\t$(\".select-grade li\")\r\n\t\t\t\t\t\t\t\t.parent(\"ul\")\r\n\t\t\t\t\t\t\t\t.data(\"selected-id\")\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t\t$(\".select-grade li\")\r\n\t\t\t\t\t\t\t\t.parent(\"ul\")\r\n\t\t\t\t\t\t\t\t.data(\"selected-id\")\r\n\t\t\t\t\t\t\t\t.replace(/\\D/g, \"\")\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tAgeNextYear: function () {\r\n\t\t\t\t\treturn Number(\r\n\t\t\t\t\t\t$(\".select-age li\").parent(\"ul\").data(\"selected-id\")\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\tCurrentCostOfPrimarySchoolGoal:\r\n\t\t\t\t\tcalcData.CurrentCostOfPrimarySchoolGoal(),\r\n\t\t\t\tCurrentCostOfHighSchoolGoal:\r\n\t\t\t\t\tcalcData.CurrentCostOfHighSchoolGoal(),\r\n\t\t\t\tCurrentCostOfTertiaryGoal: calcData.CurrentCostOfTertiaryGoal(),\r\n\t\t\t\tCurrentEducationAmountSaved:\r\n\t\t\t\t\tcalcData.CurrentEducationAmountSaved(),\r\n\t\t\t\tCurrentMonthlyContributions:\r\n\t\t\t\t\tcalcData.CurrentMonthlyContributions(),\r\n\t\t\t\tExpectedRealReturn: calcData.ExpectedRealReturn(),\r\n\t\t\t\tNumberOfYearsLeftTertiary: calcData.TertiaryYearsLeft(),\r\n\t\t\t\tChildSchoolInStatus: calcData.ChildSchoolInStatus(),\r\n\t\t\t\tGradeOfChild: calcData.GradeOfChild(),\r\n\t\t\t\tAgeNextYear: calcData.AgeNextYear()\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Radio buttons\r\n\t\t$(\"input\").iCheck({\r\n\t\t\tcheckboxClass: \"icheckbox_square-red\",\r\n\t\t\tradioClass: \"iradio_square-red\",\r\n\t\t\tincreaseArea: \"30%\" // optional\r\n\t\t});\r\n\r\n\t\t$(document).on(\"click\", \".select-grades li\", function () {\r\n\t\t\tvar $this = $(this),\r\n\t\t\t\t$dropdowns = $(\".select-grades\");\r\n\r\n\t\t\t$dropdowns.attr(\"data-selected-id\", $this.attr(\"data-item-id\"));\r\n\t\t\t$dropdowns.siblings(\"button\").text($this.text());\r\n\t\t});\r\n\r\n\t\t$(document).on(\"keyup\", \".tertiaryYearsLeft\", function () {\r\n\t\t\tgetCalcResults2(getCalcData());\r\n\t\t});\r\n\r\n\t\t// Functions to append the input name to the question text.\r\n\t\t$(\".name-append\").click(function () {\r\n\t\t\tvar inputName = $(\".childs-name\").val();\r\n\r\n\t\t\t$(\"h2.input-name-1\").text(\r\n\t\t\t\t\"Is \" + inputName + \" currently in school?\"\r\n\t\t\t);\r\n\t\t\t$(\"h2.input-name-2\").text(\r\n\t\t\t\t\"What grade is \" + inputName + \" currently in?\"\r\n\t\t\t);\r\n\t\t\t$(\"h2.input-name-3\").text(\r\n\t\t\t\t\"How old will \" + inputName + \" be turning next year?\"\r\n\t\t\t);\r\n\t\t\t$(\"h2.input-name-4\").html(\r\n\t\t\t\t\"
\" +\r\n\t\t\t\t\t\"
\" +\r\n\t\t\t\t\t\t\"