Financial LiteracyAll StoriesCredit CardsInvestingFinancial LiteracyTaxesCredit Score Financial Literacy The best personal finance reads from April 2018 Homebuying Half of Canadians need to refinance their mortgage this year, just as rates rise Financial Literacy Why Canadians might want to consider long-term care insurance Financial Literacy A third of Canadians at risk of bankruptcy if interest rates go higher Interest Rates A look at what experts predict the Bank of Canada will do for the rest of 2018 Relationships How my financial habits changed after moving in with my partner Pages« first‹ previous123…next ›last » (function(){ var pager = document.getElementById("pager"); var nodes = pager.getElementsByClassName("pager-last"); var hasNext = false; if(nodes.length > 0) { hasNext = !!nodes[0].innerHTML.replace(" ", "").trim(); } // Show more button and add functionality if(hasNext) { var moreButton = document.createElement("a"); moreButton.id = "show-more"; moreButton.className = "button"; moreButton.href = "?page=2&category=257"; moreButton.innerHTML = "More stories"; moreButton.addEventListener("click", showMore, false); pager.parentNode.appendChild(moreButton); } pager.parentNode.removeChild(pager); function showMore(e) { var button = e.currentTarget; if(button.getAttribute("data-disabled")) { e.preventDefault(); } else { var queryPos = button.href.indexOf("?"); if(queryPos >= 0) { e.preventDefault(); // Set button state to loading button.setAttribute("data-originaltext", button.innerHTML); button.setAttribute("data-disabled", "1"); button.innerHTML = "Loading..."; // Get request data var query = button.href.substring(queryPos); // Send request var request = new XMLHttpRequest(); request.onreadystatechange = function() { if(request.readyState == 4) { if(request.status != 200) { location.href = button.href; } else { // Parse data var data = JSON.parse(request.responseText); // Add new node to the document var DOM = document.createElement("div"); DOM.innerHTML = data.html; var list = DOM.firstChild; list.style.opacity = 0; list.style.transition = "opacity 0.7s"; setTimeout(function() { list.style.opacity = 1; }, 100); var target = button.parentNode; target.parentNode.insertBefore(list, target); // Update the button button.innerHTML = button.getAttribute("data-originaltext"); button.setAttribute("data-disabled", ""); if(data.has_more) { button.href = "?page=" + data.next_page + "&category=" + encodeURIComponent(data.category); } else { button.style.display = "none"; } } } }; request.open("GET", "/ajax/blog/" + query, true); request.send(); } } } })();