Sanitarios, griferías y materiales para construcción. Bachas de cocina, griferías de mesada y pared, bombas, tanques y más.
"); } function getNodes() { var out = []; for (var i = 0; i < CONTENT_SELECTORS.length; i++) { var els = document.querySelectorAll(CONTENT_SELECTORS[i]); for (var j = 0; j < els.length; j++) out.push(els[j]); } return out; } function walk(el, pats, cur, cnt, max) { if (cnt[0] >= max) return; var ch = Array.prototype.slice.call(el.childNodes); for (var i = 0; i < ch.length; i++) { if (cnt[0] >= max) break; var node = ch[i]; if (node.nodeType === 3) { var txt = node.nodeValue; for (var k = 0; k < pats.length; k++) { if (cnt[0] >= max) break; var pat = pats[k]; if (cur === pat.url || cur.indexOf(pat.url + "/") === 0) continue; var m = pat.re.exec(txt); if (m) { var a = document.createElement("a"); a.href = pat.url; a.textContent = m[0]; a.setAttribute("data-ilink","1"); var p = node.parentNode; p.insertBefore(document.createTextNode(txt.slice(0,m.index)),node); p.insertBefore(a,node); p.insertBefore(document.createTextNode(txt.slice(m.index+m[0].length)),node); p.removeChild(node); cnt[0]++; pat.used = true; break; } } } else if (node.nodeType===1 && node.tagName!=="A" && node.tagName!=="SCRIPT" && node.tagName!=="STYLE" && !node.getAttribute("data-ilink")) { walk(node, pats, cur, cnt, max); } } } function run() { if (!shouldRun()) return; var cur = window.location.pathname.replace(/\/$/,"") || "/"; var pats = []; for (var i = 0; i < LINK_MAP.length; i++) { var kws = LINK_MAP[i][0], url = LINK_MAP[i][1]; for (var j = 0; j < kws.length; j++) { pats.push({ re: new RegExp("(?= MAX_LINKS) break; var active = pats.filter(function(p){ return !p.used && !used[p.url]; }); if (!active.length) break; walk(nodes[n], active, cur, cnt, MAX_LINKS); for (var k = 0; k < pats.length; k++) if (pats[k].used) used[pats[k].url]=true; } } document.readyState==="loading" ? document.addEventListener("DOMContentLoaded",run) : run(); })();