HomesAll StoriesHomebuyingRentingHome Insurance Home Insurance Last month’s Ontario windstorm most expensive natural disaster for insurers in five years Homebuying Something weird is going on in Canada’s housing market Home Insurance Canadian government exploring subsidized home insurance in areas prone to floods Homebuying Toronto home prices rise in May, but only because no one is selling right now Renting Vancouver cracks down on 1,500 short-term rentals as part of new rules Home Insurance Who covers the costs if a tree falls on your home or car? 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=250"; 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(); } } } })();