File: C:/Users/fred/OneDrive/Desktop/wordpress/weather_global.js
//Author Site:http://www.inote.tw/
//Author:海芋
var satelliteArrayCount = 0;
var showSatelliteImglength;
var satellite = new Array();
var satelliteCache = new Array(200);
var satelliteCacheNumber = 0;
var satelliteId;
function getSatelliteURL(picNumber, map)
{
if(date) delete date;
var date = new Date();
var dYear = date.getFullYear();
var dMonth = date.getMonth();
var dDay = date.getDate();
var dHour = date.getHours();
var dMin = date.getMinutes();
var picURL;
var PostfixURL = ".jpg";
var delayTime = 30;
if (satelliteCacheNumber > 200)
satelliteCacheNumber = 0;
//依地區調整前置值與後置值
if(map == 1)
{
picURL = "http://www.cma.gov.cn/tqyb/images/forecast/products/yuntu/l/sevp_nsmc_wxcl_asc_fff_achn_ffff_py_";
PostfixURL = "fffff.jpg";
document.getElementById("satellite").href="http://www.cma.gov.cn/tqyb/nephogram.html";
}
else if(map == 2)
{
picURL = "http://www.hko.gov.hk/wxinfo/intersat/mtsat_400/";
PostfixURL = "30mtsat_7_36Ne.png";
document.getElementById("satellite").href="http://www.hko.gov.hk/wxinfo/intersat/satpicc_s.shtml";
}
else
document.getElementById("satellite").href="http://www.cwb.gov.tw/V6/observe/satellite/sat.htm#top";
//依地區調整時間值
if (map != 1)
{
date.setMinutes(date.getMinutes()- delayTime);
delayTime = 60;
}
else
{
date.setMinutes(date.getMinutes()- 480);
delayTime = 30;
date.setMinutes(date.getMinutes()- delayTime);
}
//建構圖像陣列
for(var i=0;i<picNumber;i++)
{
if (map == 1)
{
for (var j=0;j<2;j++)
{
picURL = "http://www.cma.gov.cn/tqyb/images/forecast/products/yuntu/l/sevp_nsmc_wxcl_asc_fff_achn_ffff_py_";
dYear = date.getFullYear();
dMonth = date.getMonth();
dHour = date.getHours();
dMin= date.getMinutes();
dDay = date.getDate();
// 修正時間
if(dMin >= 30)
dMin = "30";
else
dMin = "00"
if (++dMonth < 10) dMonth = '0' + dMonth;
if (dHour < 10) dHour = '0' + dHour;
if (dDay < 10) dDay = '0' + dDay;
picURL = picURL + dYear+ dMonth+ dDay+ dHour+ dMin + PostfixURL;
satelliteCache[satelliteCacheNumber]= new Image();
satelliteCache[satelliteCacheNumber++].src = picURL;
satellite.push(picURL);
date.setMinutes(date.getMinutes()- delayTime);
}
}
else
{
dYear = date.getFullYear();
dMonth = date.getMonth();
dHour = date.getHours();
dDay = date.getDate();
//修正時間
if (++dMonth < 10) dMonth = '0' + dMonth;
if (dHour < 10) dHour = '0' + dHour;
if (dDay < 10) dDay = '0' + dDay;
//日期
if (map == 2)
{
picURL = "http://www.hko.gov.hk/wxinfo/intersat/mtsat_400/";
dMin="01";
picURL += "" + dYear + dMonth + dDay + dHour + dMin + "+";
date.setMinutes(date.getMinutes()- 540);
//再次取得時間
dHour = date.getHours();
dDay = date.getDate();
//再次修正時間
if (dHour < 10) dHour = '0' + dHour;
if (dDay < 10) dDay = '0' + dDay;
//最終網址
picURL += "" + dDay + dHour + PostfixURL;
//加回時間
date.setMinutes(date.getMinutes()+ 540);
}
else
{
//http://www.cwb.gov.tw/V5/observe/satellite/Data/s1p/s1p-2008-10-15-18-00.jpg
picURL = "http://www.cwb.gov.tw/V6/observe/satellite/Data/";
if(map == 0)
picURL += "s3p/s3p-";
else if(map == 3)
picURL += "s1p/s1p-";
else
picURL += "s0p/s0p-";
picURL += "" + dYear + "-" + dMonth + "-" + dDay + "-" + dHour + "-00"+PostfixURL;
}
satelliteCache[satelliteCacheNumber] = new Image();
satelliteCache[satelliteCacheNumber++].src = picURL;
satellite.push(picURL);
//更改時間
date.setMinutes(date.getMinutes()- delayTime);
}
}
//秀衛星圖
if (picNumber == 1)
document.images.picSatellite.src = satellite.pop();
else
{
satelliteArrayCount = 0;
satelliteId = setTimeout("showSatelliteImg()",1000);
}
}
function showSatelliteImg()
{
showSatelliteImglength = satellite.length-1;
satelliteArrayCount--;
if (!(satelliteArrayCount+1))
satelliteArrayCount = showSatelliteImglength;
document.images.picSatellite.src=satellite[satelliteArrayCount];
satelliteId = setTimeout("showSatelliteImg()",1000);
}
function StopSatellite(picNumber,map)
{
//清除之前衛星的資料
var satelliteChoice;
for (var i = 0; i <satelliteCacheNumber; i++)
{
if(satelliteCache[satelliteCacheNumber])
delete satelliteCache[satelliteCacheNumber];
}
while (satellite.pop());
if (isNaN(map))
{
satelliteChoice = document.getElementsByName(map);
for(var i=0;i<satelliteChoice.length;i++)
{
if(satelliteChoice[i].checked)
map = satelliteChoice[i].value;
}
}
if(satelliteId)
clearTimeout(satelliteId);
if(isNaN(picNumber))
picNumber = 12;
else
{
if (picNumber > 48) picNumber = 48;
else if(picNumber <=0) picNumber = 12;
}
getSatelliteURL(picNumber,map);
}