var MM_SVGS = {"ground": "", "first": "", "basement": ""};
var MM_META = {"ground": {"label": "Ground Floor", "label_ar": "\u0627\u0644\u062f\u0648\u0631 \u0627\u0644\u0623\u0631\u0636\u064a"}, "first": {"label": "First Floor", "label_ar": "\u0627\u0644\u062f\u0648\u0631 \u0627\u0644\u0623\u0648\u0644"}, "basement": {"label": "Basement", "label_ar": "\u0627\u0644\u0628\u062f\u0631\u0648\u0645"}};
var MM_I18N = {"en": {"shopping": "Shopping", "dining": "Dining", "services": "Services", "entertainment": "Entertainment", "searchPlaceholder": "Search for a store...", "notFound": "Store not found", "parking": "PARKING"}, "ar": {"shopping": "تسوق", "dining": "مطاعم", "services": "خدمات", "entertainment": "ترفيه", "searchPlaceholder": "ابحث عن متجر...", "notFound": "المتجر غير موجود", "parking": "موقف السيارات"}};
(function(){
function ready(fn){ if(document.readyState!=="loading"){fn();} else {document.addEventListener("DOMContentLoaded",fn);} }
ready(function(){
var isAr = document.documentElement.lang === "ar";
var t = MM_I18N[isAr ? "ar" : "en"];
var wrap = document.querySelector(".mm-map-wrap") || document.querySelector("section.locator .col-sm-9");
if (!wrap) return;
if (wrap.querySelector(".mm-floor-tabs")) return;
var floorKeys = ["ground", "first", "basement"];
var state = { floor: "ground" };
wrap.innerHTML = "";
wrap.classList.add("mm-real");
if (isAr) wrap.classList.add("mm-rtl");
// translate PARKING label + legend text baked into each floor's SVG at runtime
Object.keys(MM_SVGS).forEach(function(fk){
MM_SVGS[fk] = MM_SVGS[fk].replace(">PARKING<", ">" + t.parking + "<");
});
var legend = document.createElement("div");
legend.className = "mm-legend";
legend.innerHTML =
'' + t.shopping + '' +
'' + t.dining + '' +
'' + t.services + '' +
'' + t.entertainment + '';
var searchWrap = document.createElement("div");
searchWrap.className = "mm-search-wrap";
var searchInput = document.createElement("input");
searchInput.type = "text";
searchInput.placeholder = t.searchPlaceholder;
searchInput.className = "mm-search-input";
searchWrap.appendChild(searchInput);
var searchMsg = document.createElement("div");
searchMsg.className = "mm-search-msg";
searchWrap.appendChild(searchMsg);
wrap.appendChild(searchWrap);
var tabs = document.createElement("div");
tabs.className = "mm-floor-tabs";
floorKeys.forEach(function(fk){
var btn = document.createElement("button");
btn.type = "button";
btn.className = "mm-floor-tab" + (fk === "ground" ? " active" : "");
btn.textContent = isAr ? MM_META[fk].label_ar : MM_META[fk].label;
btn.setAttribute("data-floor", fk);
btn.addEventListener("click", function(){ setFloor(fk); });
tabs.appendChild(btn);
});
wrap.appendChild(tabs);
wrap.appendChild(legend);
var stages = {};
floorKeys.forEach(function(fk){
var stage = document.createElement("div");
stage.className = "mm-stage" + (fk === "ground" ? " active" : "");
stage.setAttribute("data-floor", fk);
stage.innerHTML = MM_SVGS[fk];
wrap.appendChild(stage);
stages[fk] = stage;
var svgEl = stage.querySelector("svg");
var vb = svgEl.viewBox.baseVal;
stage.querySelectorAll(".mm-cell").forEach(function(cell){
cell.addEventListener("mouseenter", function(){ showTooltip(cell, svgEl, vb); });
cell.addEventListener("mouseleave", function(){ hideTooltip(); });
cell.addEventListener("click", function(){ showTooltip(cell, svgEl, vb); });
});
});
var tooltip = document.createElement("div");
tooltip.className = "mm-tooltip";
wrap.appendChild(tooltip);
function showTooltip(cell, svgEl, vb){
var name = cell.getAttribute("data-name");
var cx = parseFloat(cell.getAttribute("data-cx"));
var cy = parseFloat(cell.getAttribute("data-cy"));
var pctX = (cx / vb.width) * 100;
var pctY = (cy / vb.height) * 100;
tooltip.textContent = name;
tooltip.style.left = pctX + "%";
tooltip.style.top = pctY + "%";
tooltip.classList.add("visible");
document.querySelectorAll(".mm-cell.active").forEach(function(c){ c.classList.remove("active"); });
cell.classList.add("active");
}
function hideTooltip(){
tooltip.classList.remove("visible");
}
function setFloor(fk){
state.floor = fk;
floorKeys.forEach(function(k){
stages[k].classList.toggle("active", k === fk);
});
tabs.querySelectorAll(".mm-floor-tab").forEach(function(b){
b.classList.toggle("active", b.getAttribute("data-floor") === fk);
});
hideTooltip();
}
function normalize(s){
return (s||"").toLowerCase().replace(/[^a-z0-9]/g,"");
}
function findCell(query){
var q = normalize(query);
if (!q) return null;
for (var i=0;i