Home InsuranceAll StoriesHomebuyingRentingHome Insurance Homebuying A lawyer explains everything you need to know about condo reserve funds Home Insurance Most residents won’t be covered by insurance if a big earthquake hits B.C. Home Insurance Insurers sound alarm on climate change as weather becomes more extreme Lifestyle A look back at our favourite MoneyMinded stories in 2017 Homebuying Canadian homebuyers shifted to variable-rate mortgages in autumn Renting Watch out, Airbnb: Vancouver cracks down on short-term rentals Pages« first‹ previous…234…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=3&category=253"; 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(); } } } })();