Oil Price Updates (PH) body{margin:0;padding:0;font-family:'Poppins',sans-serif;background:linear-gradient(to bottom,#fff,#f9f9f9);min-height:100vh;overflow-x:hidden} .custom-button{padding:10px 20px;font-size:16px;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:.3s ease,transform .2s ease} .custom-button:hover{transform:scale(1.05);opacity:.9} #week-picker-container{text-align:center;margin:30px auto;position:relative;z-index:2} #weeklyContentArea{margin-top:30px;padding:30px;border:1px solid #eee;border-radius:12px;box-shadow:0 8px 16px rgba(0,0,0,.08);min-height:180px;text-align:center;background:#fff;opacity:0;transition:.7s ease;position:relative;overflow:hidden} .wave{position:absolute;width:200%;height:40px;background:linear-gradient(90deg,red 50%,green 50%);border-radius:50%;opacity:0.4;animation:waveMotion 6s linear infinite;bottom:-30px} @keyframes waveMotion{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} } @keyframes shimmer{0%{filter:brightness(1) blur(1px)}100%{filter:brightness(1.5) blur(1px)}} Oil Price Updates (Philippines) This Week Next Week Loading... document.addEventListener('DOMContentLoaded',function(){ const weekPicker=document.getElementById('weekPicker'),thisWeekBtn=document.getElementById('thisWeekBtn'),nextWeekBtn=document.getElementById('nextWeekBtn'),weeklyContentArea=document.getElementById('weeklyContentArea'); const weeklyData={"2025-01-07":[{text:"Diesel",price:"+0.85"},{text:"Gasoline",price:"+1.05"},{text:"Kerosene",price:"+0.30"}],"2025-01-14":[{text:"Diesel",price:"+0.90"},{text:"Gasoline",price:"+0.80"},{text:"Kerosene",price:"+0.80"}],"2025-01-21":[{text:"Diesel",price:"+2.70"},{text:"Gasoline",price:"+1.65"},{text:"Kerosene",price:"+2.50"}],"2025-02-11":[{text:"Diesel",price:"-0.10"},{text:"Gasoline",price:"-0.10"},{text:"Kerosene",price:"-0.30"}],"2025-02-25":[{text:"Diesel",price:"+0.40"},{text:"Gasoline",price:"+0.70"},{text:"Kerosene",price:"+0.20"}],"2025-04-22":[{text:"Diesel",price:"+0.50"},{text:"Gasoline",price:"-0.30"},{text:"Kerosene",price:"+0.20"},{text:"LPG",price:"-1.00"}],"2025-04-29":[{text:"Diesel",price:"-0.20"},{text:"Gasoline",price:"+0.40"},{text:"Kerosene",price:"-0.10"},{text:"LPG",price:"+0.30"}]}; function formatDateToYYYYMMDD(d){const t=d.toLocaleString('en-US',{timeZone:'Asia/Manila'}),dt=new Date(t);return`${dt.getFullYear()}-${String(dt.getMonth()+1).padStart(2,'0')}-${String(dt.getDate()).padStart(2,'0')}`} function formatMonthDay(d){return d.toLocaleDateString('en-US',{month:'long',day:'numeric',timeZone:'Asia/Manila'})} function findThisTuesday(d){const t=d.toLocaleString('en-US',{timeZone:'Asia/Manila'}),dt=new Date(t),day=dt.getDay();if(day===2)return new Date(dt.getFullYear(),dt.getMonth(),dt.getDate());else if(day<2)dt.setDate(dt.getDate()-(day+5));else dt.setDate(dt.getDate()-(day-2));return new Date(dt.getFullYear(),dt.getMonth(),dt.getDate())} function createWave(){const wave=document.createElement('div');wave.classList.add('wave');weeklyContentArea.appendChild(wave)} function loadWeeklyContent(dateStr){const u=weeklyData[dateStr],td=new Date(dateStr),ntd=new Date(td);ntd.setDate(td.getDate()+7);const range=`${formatMonthDay(td)} – ${formatMonthDay(ntd)}`;if(u){weeklyContentArea.style.opacity=0;setTimeout(()=>{let c=`<p style="font-size:24px;font-weight:700;color:#333;">Week of ${range}</p><br>`;u.forEach(i=>{const d=i.price.startsWith('-'),col=d?'green':'red',ar=d?'▼':'▲';c+=`<div style="font-size:22px;font-weight:600;margin-bottom:12px;">${i.text}: <span style="color:${col};">${ar} ${i.price}</span></div>`});weeklyContentArea.innerHTML=c;createWave();weeklyContentArea.style.opacity=1;},400)}else{weeklyContentArea.style.opacity=0;setTimeout(()=>{weeklyContentArea.innerHTML=`<p style="font-size:20px;color:#999;">No updates available for <strong>${range}</strong>.</p>`;createWave();weeklyContentArea.style.opacity=1;},400)}} function initialize(){const today=new Date(),tuesday=findThisTuesday(today),fmt=formatDateToYYYYMMDD(tuesday);weekPicker.value=fmt;weekPicker.min="2025-01-01";weekPicker.max="2025-12-31";loadWeeklyContent(fmt);weekPicker.addEventListener('change',()=>{const sd=new Date(weekPicker.value),st=findThisTuesday(sd),fmtSel=formatDateToYYYYMMDD(st);weekPicker.value=fmtSel;loadWeeklyContent(fmtSel)});thisWeekBtn.addEventListener('click',()=>{const today=new Date(),tuesday=findThisTuesday(today),fmt=formatDateToYYYYMMDD(tuesday);weekPicker.value=fmt;loadWeeklyContent(fmt)});nextWeekBtn.addEventListener('click',()=>{const today=new Date(),tuesday=findThisTuesday(today),nextT=new Date(tuesday);nextT.setDate(tuesday.getDate()+7);const fmt=formatDateToYYYYMMDD(nextT);weekPicker.value=fmt;loadWeeklyContent(fmt)})} initialize(); });