// === پاکستان کے 15 شہر – رمضان 2026 (درست شدہ اوقات بمطابق سرگودھا 5:57 PM) ===
const citiesData = {
“islamabad”: { name: “اسلام آباد”, sehr: “05:23 AM”, iftar: “05:56 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“karachi”: { name: “کراچی”, sehr: “05:48 AM”, iftar: “06:20 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“lahore”: { name: “لاہور”, sehr: “05:17 AM”, iftar: “05:53 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“rawalpindi”: { name: “راولپنڈی”, sehr: “05:24 AM”, iftar: “05:57 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“faisalabad”: { name: “فیصل آباد”, sehr: “05:20 AM”, iftar: “05:54 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“multan”: { name: “ملتان”, sehr: “05:26 AM”, iftar: “06:02 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“peshawar”: { name: “پشاور”, sehr: “05:18 AM”, iftar: “05:50 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“quetta”: { name: “کوئٹہ”, sehr: “05:43 AM”, iftar: “06:15 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“sargodha”: { name: “سرگودھا”, sehr: “05:21 AM”, iftar: “05:57 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“sialkot”: { name: “سیالکوٹ”, sehr: “05:16 AM”, iftar: “05:52 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“gujranwala”: { name: “گجرانوالہ”, sehr: “05:18 AM”, iftar: “05:53 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“bahawalpur”: { name: “بہاولپور”, sehr: “05:30 AM”, iftar: “06:05 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“sukkur”: { name: “سکھر”, sehr: “05:42 AM”, iftar: “06:15 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“jhelum”: { name: “جہلم”, sehr: “05:22 AM”, iftar: “05:56 PM”, offsetSehr: -1.0, offsetIftar: 1.0 },
“hyderabad”: { name: “حیدرآباد”, sehr: “05:46 AM”, iftar: “06:18 PM”, offsetSehr: -1.0, offsetIftar: 1.0 }
};
const days = [“اتوار”, “پیر”, “منگل”, “بدھ”, “جمعرات”, “جمعہ”, “ہفتہ”];
// ✅ درست تاریخ آغاز: 19 فروری 2026
const startDate = new Date(‘2026-02-19’);
function generateCityList() {
const cityList = document.getElementById(‘cityList’);
let html = ”;
for (let id in citiesData) {
let c = citiesData[id];
html += `
${c.iftar}
`;
}
cityList.innerHTML = html;
selectCity(‘islamabad’);
}
window.selectCity = function(cityId) {
document.querySelectorAll(‘.city-card’).forEach(el => el.classList.remove(‘active’));
let activeCity = document.getElementById(`city-${cityId}`);
if (activeCity) activeCity.classList.add(‘active’);
document.getElementById(‘selectedCity’).innerText = `${citiesData[cityId].name} • رمضان 1447`;
generateCalendar(cityId);
};
function generateCalendar(cityId) {
let city = citiesData[cityId];
let grid = document.getElementById(‘calendarGrid’);
let html = ”;
for (let d = 1; d <= 30; d++) {
let date = new Date(startDate);
date.setDate(startDate.getDate() + d – 1);
let dayName = days[date.getDay()];
let sehrAdj = adjustTime(city.sehr, d, city.offsetSehr);
let iftarAdj = adjustTime(city.iftar, d, city.offsetIftar);
html += `
`;
}
grid.innerHTML = html;
}
function adjustTime(t, day, offset) {
let parts = t.match(/(d+):(d+) (AM|PM)/);
if (!parts) return t;
let h = parseInt(parts[1]), m = parseInt(parts[2]), p = parts[3];
let total = (h % 12) * 60 + m + (p === ‘PM’ ? 720 : 0);
total += (day – 1) * offset;
let nh = Math.floor(total / 60) % 24;
let nm = Math.floor(total % 60);
let np = nh >= 12 ? ‘PM’ : ‘AM’;
nh = nh % 12 || 12;
return `${nh.toString().padStart(2,’0′)}:${nm.toString().padStart(2,’0′)} ${np}`;
}
function updateDateRange() {
let end = new Date(startDate);
end.setDate(startDate.getDate() + 29);
let s = startDate.toLocaleDateString(‘ur-PK’, { day: ‘numeric’, month: ‘long’ });
let e = end.toLocaleDateString(‘ur-PK’, { day: ‘numeric’, month: ‘long’, year: ‘numeric’ });
document.getElementById(‘currentDate’).innerText = `${s} – ${e}`;
}
document.addEventListener(‘DOMContentLoaded’, function() {
generateCityList();
updateDateRange();
});
%20(1).jpg)