var winds = new Array ();
var iconsDescs = new Array ();
var weatherPage;
function getWeather (page) {
weatherPage = page;
//parseWeather();
_ajax_connL = new XHConn();
_ajax_connL.connect('data/weather.js',"GET",'a=a',parseWeather);
};
function wind (krw) {
var winds = new Array ();
winds[0] = 'N';
winds[1] = 'NE';
winds[2] = 'NE';
winds[3] = 'E';
winds[4] = 'E';
winds[5] = 'SE';
winds[6] = 'SE';
winds[7] = 'S';
winds[8] = 'S';
winds[9] = 'SW';
winds[10] = 'SW';
winds[11] = 'W';
winds[12] = 'W';
winds[13] = 'NW';
winds[14] = 'NW';
winds[15] = 'N';
/*
N 0, 22
NE 23, 67
E 68, 112
SE 113, 157
S 158, 202
SW 203, 247
W 248, 292
NW 293, 337
N, 338, 360
*/
return (winds[(parseInt (krw / 22.5))]);
}
function parseWeather (ans) {
// hideAllLayers();
page = weatherPage;
var weather = ans.responseText.parseJSON();
var object_list=new Array();
var table = '
';
var object_list=new Array();
var icons = new Array();
for (var a=0; a < weather.params.length; a++){
//alert(weather.bases[a].x+" "+weather.bases[a].x);
pars = weather.params[a];
var row = '';
d = '';
d += '
'+translate(pars.baseId)+'
';
d += '
Ostatni pomiar:'+pars.time+'
';
d += '
Temperatura:';
d += '
2m: '+tempColor(pars.T2)+'
';
d += '
20cm: '+tempColor(pars.T20)+'
';
d += '
0m: '+tempColor(pars.T0)+'
';
d += '
-5cm: '+tempColor(pars.T5)+'
';
d += '
';
d += '
Wiatr:';
d += '
'+' '+wind(pars.KRW)+'
';
d += '
'+color('PRW',pars.PRW)+' m/s'+'
';
d += '
Opady: '+color(pars.OPAD)+'
';
d += '
';
icons[a] = new MapgoIcon();
icons[a].show_tip_state = 1;
icons[a].descr = d;
icons[a].image = 'gfx/ico_pogoda.png';
icons[a].tip_width = 200;
icons[a].tip_height = 170;
icons[a].image = 'gfx/ico_pogoda.png';
icons[a].width = 29;
icons[a].height = 27;
icons[a].lon=parseFloat(pars.x);
icons[a].lat=parseFloat(pars.y);
icons[a].id = a;
object_list.push(icons[a]);
//row = '
';
row = '';
row += '| Stacja pomiarowa | warunki pogodowe | ostatni pomiar |
';
row += '| '+(a+1)+'.'+translate(pars.baseId)+' | ';
row += ' ';
row += 'wiatr ' + color ('PRW',pars.PRW) + ' m/s ';
row += 'temperatura ' + color ('T',pars.T2) + '°C ';
row += ' | '+pars.time+' |
';
row += '
';
if (page != undefined) {
if (a >= (page * 7) && a < ((page+1)*7)) {
table += row;
}
} else {
table += row;
}
}
var pager = '';
var pagerNext = ">";
var pagerBefore = "<";
if (page != undefined) {
if ((page+1) * 7 < weather.params.length) {
pagerNext = '>';
}
if (page > 0) {
pagerBefore = '<';
}
}
pager = '';
tab = mark ('pogodaDane');
tab.innerHTML = table + pager;
//alert(pars.x+" "+pars.y);
// mapobject.hideLayerByName('stacje_nox');
if (!mapobject.searchLayer ('stacje_pogodowe')){
mapobject.addIconsToMap(object_list,"stacje_pogodowe");
} else {
mapobject.showLayerByName ("stacje_pogodowe");
}
showAllWeather();
return false;
}
function switchWeather () {
var button = document.getElementById ('m_pogoda');
switchButton (button);
if (buttonIsOn(button)){
taber.openTab('pogoda');
getWeather(0);
} else {
taber.openTab('nic');
mapobject.hideLayerByName('stacje_pogodowe');
}
}
function showAllWeather(){
var layer=mapobject.searchLayer("stacje_pogodowe");
mapobject.positionMap(layer.features);
/*
// var button1 = mark ('sign01');
// button1.innerHTML = doPNGImage ('gfx/sign_pogoda_actv.png');
var button2 = mark ('sign02');
button2.innerHTML = doPNGImage ('gfx/sign_pogoda_actv.png');*/
}
function showAllWeather1(){
var layer=mapobject.searchLayer("stacje_pogodowe");
// mapobject.positionMap(layer.features);
}
function tempColor (temp) {
if (temp == null) { return 'b.d.'; }
if (temp <= 5) { return ''+temp+'oC'; }
if (temp >=5 && temp<=20 ) { return ''+temp+'oC'; }
else { return ''+temp+'oC'; }
}
function naw (pa) {
if (pa == 0) { return 'SUCHA'; }
else { return 'MOKRA'; }
}
function weatherIconOut(){
var cell = document.getElementById(weatherTmp);
cell.childNodes[0].style.backgroundColor="transparent";
_mmapgoobj.hideTip();
}