fetch('https://rakipov.ru/web/plan-urman/document/information_about_objects.txt')
.then((response) => response.arrayBuffer())
.then((data) => {
data = new TextDecoder('windows-1251').decode(data);
const rows = data.split("id_");
rows.shift();
const rowsO = rows.reduce((a, v) => ({ ...a, [v.slice(0, 4)]: Object.fromEntries(v.trimStart().slice(4).trim().split(/\n{2,}/im).map(str => str.split(/\n(.*)/s)))}), {});
document.querySelectorAll('#layout_x5F_master_x5F_plan g[id].region').forEach((item, index) => {
let idNum = rowsO[item.id];
if (idNum) {
let idCat = parseInt(idNum["- Статус:"]);
if (idCat) {
if (idCat == "1") {
item.classList.add('category_1');
} else if (idCat == "2") {
item.classList.add('category_2');
} else if (idCat == "3") {
item.classList.add('category_3');
} else if (idCat == "4") {
item.classList.add('category_4');
}
} else {
if (idNum["- Статус:"].slice(0, 1) == "З") {
item.classList.add('region_booked');
} else if (idNum["- Статус:"].slice(0, 1) == "П") {
item.classList.add('region_sale');
}
}
let idOn = idNum["- На участке"].slice(0, 1);
if (idOn) {
if (idOn == "Л") {
item.classList.add('i_wood');
} else if (idOn == "С") {
item.classList.add('i_building');
} else if (idOn == "П") {
item.classList.add('i_home');
}
}
}
});
});