function rei_buildVitecLayout(callback = null) { if (typeof rei_vitecapi_properties == 'undefined') { console.log("No data"); return;} let props = rei_vitecapi_properties; let sortedProps = []; for (propNo = 0; propNo < props.length; propNo++) { props[propNo].dateChangedEpoch = Date.parse(props[propNo].dateChanged); sortedProps.push(props[propNo]); } sortedProps.sort((a, b) => b-a); console.log(sortedProps); console.log(sortedProps[0]); let propertiesContainer = document.getElementById("rei-properties-container"); if (propertiesContainer == null) { console.log("No element to insert properties!"); return;} for (propNo = 0; propNo < sortedProps.length; propNo++) { let newProp = document.createElement('div'); newProp.className = 'rei-property'+(propNo>=24 ? " rei-load-more-property":""); newProp.innerHTML = "= 24 ? "rei-lazy-" : "")+"src='"+sortedProps[propNo].mainImage+"'>"+ "
"+sortedProps[propNo].streetAddress+"
"+(sortedProps[propNo].areaName != null ? sortedProps[propNo].areaName : "")+"
"+ (sortedProps[propNo].bidding != false ? ("
Budgivning pågår
") : "")+ ""+ ""+ "Adress"+sortedProps[propNo].streetAddress+""+ ((sortedProps[propNo].type == "houses" || sortedProps[propNo].type) ? ("Antal rum"+sortedProps[propNo].rooms+" r.o.k."+ "Boarea"+sortedProps[propNo].livingSpace+" m²") : (sortedProps[propNo].type == "plots" ? (sortedProps[propNo].plotSize+" m²") : "" ) ) + ((sortedProps[propNo].status.id=="3" && sortedProps[propNo].price) != 0 ? ("Pris"+(""+sortedProps[propNo].price).trim().replace(/([0-9])([0-9]{3})$/, "$1 $2").replace(/([0-9])([0-9]{3}) /, "$1 $2 ").replace(/([0-9])([0-9]{3}) /, "$1 $2 ")+" kr som utgångspris") : "") + ((sortedProps[propNo].status.id=="4" && sortedProps[propNo].price) != 0 ? ("Pris"+(""+sortedProps[propNo].price).trim().replace(/([0-9])([0-9]{3})$/, "$1 $2").replace(/([0-9])([0-9]{3}) /, "$1 $2 ").replace(/([0-9])([0-9]{3}) /, "$1 $2 ")+" kr som slutpris") : "") + ""+ "Läs mer>" ""; newProp.addEventListener('click', function(evt) { rei_toggleBrief(evt.target); }) propertiesContainer.appendChild(newProp); } if (sortedProps.length > 24) { let btn = document.createElement('button'); btn.id = "rei-more-props"; btn.innerText = 'Visa fler bostäder'; propertiesContainer.appendChild(btn); document.getElementById("rei-more-props").addEventListener("click", function(evt) { rei_showMoreProperties(); return false; }); } if (callback != null) { console.log("Do Callback"); callback(); } else { console.log("Don't Callback"); } } rei_buildVitecLayout(estate_insertShortContact); function estate_insertShortContact() { console.log("Callback"); let propertiesContainer = document.querySelector("#rei-properties-container"); let formContainer = document.querySelector("#rei-insert-in-listings"); if (formContainer != null) propertiesContainer.appendChild(formContainer); } function rei_toggleBrief(elmt) { if (elmt.nodeName.toLowerCase() == "a") return true; while (elmt.className.indexOf("rei-property") < 0) { if (elmt.parentElement == null) return; elmt = elmt.parentElement; } if (elmt.className.indexOf("rei-active") < 0) elmt.className += " rei-active"; else elmt.className = elmt.className.replace("rei-active", "").replace(" ", " "); } function rei_showMoreProperties() { let hiddenProperties = document.getElementById("rei-properties-container").querySelectorAll(".rei-load-more-property"); if (hiddenProperties == null || hiddenProperties.length == 0) { document.getElementById("rei-more-props").remove; return; } for (hpNo = 0; hpNo < Math.min(hiddenProperties.length, 24); hpNo++) { let img = hiddenProperties[hpNo].querySelector(".rei-prop-image"); let lazySrc = img.getAttribute("rei-lazy-src"); if (lazySrc != null && lazySrc.length > 0) { img.setAttribute("src", lazySrc); img.removeAttribute("rei-lazy-src"); } hiddenProperties[hpNo].className = hiddenProperties[hpNo].className.replace("rei-load-more-property", ""); } }