document.addEventListener("DOMContentLoaded", function() {
const modal = document.getElementById("horseModal");
if (!modal) return;
window.openModal = function(el) {
document.getElementById("mName").innerText = el.getAttribute("data-name") || "-";
document.getElementById("mFather").innerText = el.getAttribute("data-father") || "-";
document.getElementById("mMother").innerText = el.getAttribute("data-mother") || "-";
document.getElementById("mJockey").innerText = el.getAttribute("data-jockey") || "-";
document.getElementById("mTrainer").innerText = el.getAttribute("data-trainer") || "-";
document.getElementById("mOwner").innerText = el.getAttribute("data-owner") || "-";
document.getElementById("mHP").innerText = el.getAttribute("data-hp") || "-";
document.getElementById("mKGS").innerText = el.getAttribute("data-kgs") || "-";
document.getElementById("mBest").innerText = el.getAttribute("data-best") || "-";
const last6Raw = el.getAttribute("data-last6") || "";
const last6Div = document.getElementById("mLast6");
last6Div.innerHTML = "";
if(last6Raw) {
const races = last6Raw.split(/[- ]+/);
races.forEach(r => {
if(r && r.trim() !== "") {
const span = document.createElement("span");
span.className = "lr-box";
span.innerText = r.trim();
last6Div.appendChild(span);
}
});
} else {
last6Div.innerText = "-";
}
modal.style.display = "block";
}
window.closeModal = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
closeModal();
}
}
window.sortTable = function(tableId, n, type) {
var table = document.getElementById(tableId);
if (!table) return;
var rows, switching = true, i, x, y, shouldSwitch, dir = "asc", switchcount = 0;
if (n === 0 || n === 1 || n === 2) dir = "asc"; else dir = "desc";
var headers = table.getElementsByTagName("TH");
for (var h = 0; h < headers.length; h++) {
headers[h].classList.remove("sorted-asc", "sorted-desc");
}
while (switching) {
switching = false;
rows = table.rows;
for (i = 1; i < (rows.length - 1); i++) {
shouldSwitch = false;
x = rows[i].getElementsByTagName("TD")[n];
y = rows[i + 1].getElementsByTagName("TD")[n];
var xVal = x.innerText.trim().toLowerCase();
var yVal = y.innerText.trim().toLowerCase();
if (type === 'num') {
xVal = parseFloat(xVal.replace(/:/g, '').replace(/[^0-9.-]/g, '')) || 0;
yVal = parseFloat(yVal.replace(/:/g, '').replace(/[^0-9.-]/g, '')) || 0;
}
if (dir == "asc") {
if (xVal > yVal) { shouldSwitch = true; break; }
} else {
if (xVal < yVal) { shouldSwitch = true; break; }
}
}
if (shouldSwitch) {
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
switching = true;
}
}
headers[n].classList.add(dir === "asc" ? "sorted-asc" : "sorted-desc");
}
});