var zst144 = "7:02"; //Sunrise
var zst145 = "20:09"; //Sunset
//Windrichting-omzet-script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var wind = ("W");

switch(wind)
{
case 'N' :
var zxv001 = ('<span title="Noord" style="cursor:pointer">N</span> <img src="logos/n.gif" border="0" title="Noord" style="cursor:pointer">');
break;
case 'NE' :
var zxv001 = ('<span title="Noordoost" style="cursor:pointer">NO</span> <img src="logos/ne.gif" border="0" title="Noordoost" style="cursor:pointer">');
break;
case 'NNE' :
var zxv001 = ('<span title="Noord Noordoost" style="cursor:pointer">NNO</span> <img src="logos/nne.gif" border="0" title="Noord Noordoost" style="cursor:pointer">');
break;
case 'NW' :
var zxv001 = ('<span title="Noordwest" style="cursor:pointer">NW</span> <img src="logos/nw.gif" border="0" title="Noordwest" style="cursor:pointer">');
break;
case 'NNW' :
var zxv001 = ('<span title="Noord Noordwest" style="cursor:pointer">NNW</span> <img src="logos/nnw.gif" border="0" title="Noord Noordwest" style="cursor:pointer">');
break;
case 'E' :
var zxv001 = ('<span title="Oost" style="cursor:pointer">O</span> <img src="logos/e.gif" border="0" title="Oost" style="cursor:pointer">');
break;
case 'ENE' :
var zxv001 = ('<span title="Oost Noordoost" style="cursor:pointer">ONO</span> <img src="logos/ene.gif" border="0" title="Oost Noordoost" style="cursor:pointer">');
break;
case 'ESE' :
var zxv001 = ('<span title="Oost Zuidsoost" style="cursor:pointer">OZO</span> <img src="logos/ese.gif" border="0" title="Oost Zuidsoost" style="cursor:pointer">');
break;
case 'S' :
var zxv001 = ('<span title="Zuid" style="cursor:pointer">Z</span> <img src="logos/s.gif" border="0" title="Zuid" style="cursor:pointer">');
break;
case 'SE' :
var zxv001 = ('<span title="Zuidoost" style="cursor:pointer">ZO</span> <img src="logos/se.gif" border="0" title="Zuidoost" style="cursor:pointer">');
break;
case 'SSE' :
var zxv001 = ('<span title="Zuid Zuidoost" style="cursor:pointer">ZZO</span> <img src="logos/sse.gif" border="0" title="Zuid Zuidoost" style="cursor:pointer">');
break;
case 'SW' :
var zxv001 = ('<span title="Zuidwest" style="cursor:pointer">ZW</span> <img src="logos/sw.gif" border="0" title="Zuidwest" style="cursor:pointer">');
break;
case 'SSW' :
var zxv001 = ('<span title="Zuid Zuidwest" style="cursor:pointer">ZZW</span> <img src="logos/ssw.gif" border="0" title="Zuid Zuidwest" style="cursor:pointer">');
break;
case 'W' :
var zxv001 = ('<span title="West" style="cursor:pointer">W</span> <img src="logos/w.gif" border="0" title="West" style="cursor:pointer">');
break;
case 'WSW' :
var zxv001 = ('<span title="West Zuidwest" style="cursor:pointer">WZW</span> <img src="logos/wsw.gif" border="0" title="West Zuidwest" style="cursor:pointer">');
break;
case 'WNW' :
var zxv001 = ('<span title="West Noordwest" style="cursor:pointer">WNW</span> <img src="logos/wnw.gif" border="0" title="West Noordwest" style="cursor:pointer">');
break;
default:
var zxv001 = (wind);
}

//Windrichting-omzet-script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var richting = ("W");

switch(richting)
{
case 'N' :
var zst148 = ('Noord <img src="logos/n.gif" border="0" title="Noord" style="cursor:pointer">');
break;
case 'NE' :
var zst148 = ('Noordoost <img src="logos/ne.gif" border="0" title="Noordoost" style="cursor:pointer">');
break;
case 'NNE' :
var zst148 = ('Noord Noordoost <img src="logos/nne.gif" border="0" title="Noord Noordoost" style="cursor:pointer">');
break;
case 'NW' :
var zst148 = ('Noordwest <img src="logos/nw.gif" border="0" title="Noordwest" style="cursor:pointer">');
break;
case 'NNW' :
var zst148 = ('Noord Noordwest <img src="logos/nnw.gif" border="0" title="Noord Noordwest" style="cursor:pointer">');
break;
case 'E' :
var zst148 = ('Oost <img src="logos/e.gif" border="0" title="Oost" style="cursor:pointer">');
break;
case 'ENE' :
var zst148 = ('Oost Noordoost <img src="logos/ene.gif" border="0" title="Oost Noordoost" style="cursor:pointer">');
break;
case 'ESE' :
var zst148 = ('Oost Zuidoost <img src="logos/ese.gif" border="0" title="Oost Zuidoost" style="cursor:pointer">');
break;
case 'S' :
var zst148 = ('Zuid <img src="logos/s.gif" border="0" title="Zuid" style="cursor:pointer">');
break;
case 'SE' :
var zst148 = ('Zuidoost <img src="logos/se.gif" border="0" title="Zuidoost" style="cursor:pointer">');
break;
case 'SSE' :
var zst148 = ('Zuid Zuidoost <img src="logos/sse.gif" border="0" title="Zuid Zuidoost" style="cursor:pointer">');
break;
case 'SW' :
var zst148 = ('Zuidwest <img src="logos/sw.gif" border="0" title="Zuidwest" style="cursor:pointer">');
break;
case 'SSW' :
var zst148 = ('Zuid Zuidwest <img src="logos/ssw.gif" border="0" title="Zuid Zuidwest" style="cursor:pointer">');
break;
case 'W' :
var zst148 = ('West <img src="logos/w.gif" border="0" title="West" style="cursor:pointer">');
break;
case 'WSW' :
var zst148 = ('West Zuidwest <img src="logos/wsw.gif" border="0" title="West Zuidwest" style="cursor:pointer">');
break;
case 'WNW' :
var zst148 = ('West Noordwest <img src="logos/wnw.gif" border="0" title="West Noordwest" style="cursor:pointer">');
break;
default:
var zst148 = (richting);
}

//Barometer trend-vertaal-script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var trend = ("Rising");

switch(trend)
{
case 'Falling' :
var zst139 = ('Dalend');
break;
case 'Steady' :
var zst139 = ('Gelijk');
break;
case 'Rising' :
var zst139 = ('Stijgend');
break;
default:
var zst139 = (trend);
}

//Barometer trend-vertaal-script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var barotrend = ("0.3");

if (barotrend < 0)barotrend=('<img src="logos/Down.gif" border="0" title="Tendens: 0.3 hPa per uur" style="cursor:pointer">');
if (barotrend == 0)barotrend=('');
if (barotrend > 0)barotrend=('<img src="logos/Up.gif" border="0" title="Tendens: 0.3 hPa per uur" style="cursor:pointer">');

//Beaufort - (windvlaag)- omzet - script
//copyright O. de Zwart - Weerstation Damwoude - info@weerstation-damwoude.nl

var kracht = ("1.6");

if (kracht < 1)kracht='0';
if (kracht < 6)kracht='1';
if (kracht < 12)kracht='2';
if (kracht < 20)kracht='3';
if (kracht < 29)kracht='4';
if (kracht < 39)kracht='5';
if (kracht < 50)kracht='6';
if (kracht < 62)kracht='7';
if (kracht < 75)kracht='8';
if (kracht < 89)kracht='9';
if (kracht < 102)kracht='10';
if (kracht < 117)kracht='11';
if (kracht > 116)kracht='12';

//Beaufort - (wind dagmax)- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var krachtvh = ("24.1");

if (krachtvh < 1)krachtvh='<span title="Windstil" style="cursor:pointer">0</span>';
if (krachtvh < 6)krachtvh='<span title="Lichte koelte tot zwakke wind" style="cursor:pointer">1</span>';
if (krachtvh < 12)krachtvh='<span title="Zwakke wind" style="cursor:pointer">2</span>';
if (krachtvh < 20)krachtvh='<span title="Zwakke tot matige wind" style="cursor:pointer">3</span>';
if (krachtvh < 29)krachtvh='<span title="Matige wind" style="cursor:pointer">4</span>';
if (krachtvh < 39)krachtvh='<span title="Matige tot vrij krachtige wind" style="cursor:pointer">5</span>';
if (krachtvh < 50)krachtvh='<span title="Krachtige wind" style="cursor:pointer">6</span>';
if (krachtvh < 62)krachtvh='<span title="Harde wind" style="cursor:pointer">7</span>';
if (krachtvh < 75)krachtvh='<span title="Stormachtige wind" style="cursor:pointer">8</span>';
if (krachtvh < 89)krachtvh='<span title="Storm" style="cursor:pointer">9</span>';
if (krachtvh < 102)krachtvh='<span title="Zware storm" style="cursor:pointer">10</span>';
if (krachtvh < 117)krachtvh='<span title="Zeer zware storm" style="cursor:pointer">11</span>';
if (krachtvh > 116)krachtvh='<span title="Orkaan" style="cursor:pointer">12</span>';

//Beaufort - (wind gisterenmax)- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var krachtgh = ("38.6");

if (krachtgh < 1)krachtgh="(0 bft)";
if (krachtgh < 6)krachtgh="(1 bft)";
if (krachtgh < 12)krachtgh="(2 bft)";
if (krachtgh < 20)krachtgh="(3 bft)";
if (krachtgh < 29)krachtgh="(4 bft)";
if (krachtgh < 39)krachtgh="(5 bft)";
if (krachtgh < 50)krachtgh="(6 bft)";
if (krachtgh < 62)krachtgh="(7 bft)";
if (krachtgh < 75)krachtgh="(8 bft)";
if (krachtgh < 89)krachtgh="(9 bft)";
if (krachtgh < 102)krachtgh="(10 bft)";
if (krachtgh < 117)krachtgh="(11 bft)";
if (krachtgh > 116)krachtgh="(12 bft)";

//Beaufort - (wind maandmax)- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var krachtmh = ("43.4");

if (krachtmh < 1)krachtmh="(0 bft)";
if (krachtmh < 6)krachtmh="(1 bft)";
if (krachtmh < 12)krachtmh="(2 bft)";
if (krachtmh < 20)krachtmh="(3 bft)";
if (krachtmh < 29)krachtmh="(4 bft)";
if (krachtmh < 39)krachtmh="(5 bft)";
if (krachtmh < 50)krachtmh="(6 bft)";
if (krachtmh < 62)krachtmh="(7 bft)";
if (krachtmh < 75)krachtmh="(8 bft)";
if (krachtmh < 89)krachtmh="(9 bft)";
if (krachtmh < 102)krachtmh="(10 bft)";
if (krachtmh < 117)krachtmh="(11 bft)";
if (krachtmh > 116)krachtmh="(12 bft)";

//Beaufort - (wind jaarmax)- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var krachtjh = ("61.1");

if (krachtjh < 1)krachtjh='<span title="Windstil" style="cursor:pointer">0</span>';
if (krachtjh < 6)krachtjh='<span title="Lichte koelte tot zwakke wind" style="cursor:pointer">1</span>';
if (krachtjh < 12)krachtjh='<span title="Zwakke wind" style="cursor:pointer">2</span>';
if (krachtjh < 20)krachtjh='<span title="Zwakke tot matige wind" style="cursor:pointer">3</span>';
if (krachtjh < 29)krachtjh='<span title="Matige wind" style="cursor:pointer">4</span>';
if (krachtjh < 39)krachtjh='<span title="Matige tot vrij krachtige wind" style="cursor:pointer">5</span>';
if (krachtjh < 50)krachtjh='<span title="Krachtige wind" style="cursor:pointer">6</span>';
if (krachtjh < 62)krachtjh='<span title="Harde wind" style="cursor:pointer">7</span>';
if (krachtjh < 75)krachtjh='<span title="Stormachtige wind" style="cursor:pointer">8</span>';
if (krachtjh < 89)krachtjh='<span title="Storm" style="cursor:pointer">9</span>';
if (krachtjh < 102)krachtjh='<span title="Zware storm" style="cursor:pointer">10</span>';
if (krachtjh < 117)krachtjh='<span title="Zeer zware storm" style="cursor:pointer">11</span>';
if (krachtjh > 116)krachtjh='<span title="Orkaan" style="cursor:pointer">12</span>';

var gustbft = ("1.6");

if (gustbft < 1)gustbft='<span title="Windstil" style="cursor:pointer">0</span>';
if (gustbft < 6)gustbft='<span title="Lichte koelte tot zwakke wind" style="cursor:pointer">1</span>';
if (gustbft < 12)gustbft='<span title="Zwakke wind" style="cursor:pointer">2</span>';
if (gustbft < 20)gustbft='<span title="Zwakke tot matige wind" style="cursor:pointer">3</span>';
if (gustbft < 29)gustbft='<span title="Matige wind" style="cursor:pointer">4</span>';
if (gustbft < 39)gustbft='<span title="Matige tot vrij krachtige wind" style="cursor:pointer">5</span>';
if (gustbft < 50)gustbft='<span title="Krachtige wind" style="cursor:pointer">6</span>';
if (gustbft < 62)gustbft='<span title="Harde wind" style="cursor:pointer">7</span>';
if (gustbft < 75)gustbft='<span title="Stormachtige wind" style="cursor:pointer">8</span>';
if (gustbft < 89)gustbft='<span title="Storm" style="cursor:pointer">9</span>';
if (gustbft < 102)gustbft='<span title="Zware storm" style="cursor:pointer">10</span>';
if (gustbft < 117)gustbft='<span title="Zeer zware storm" style="cursor:pointer">11</span>';
if (gustbft > 116)gustbft='<span title="Orkaan" style="cursor:pointer">12</span>';

//Beaufort - (windvlaag)- omzet - script - voor DFZ
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var krachtdfz = ("3.8");

if (krachtdfz < 1)krachtdfz='<span title="Windstil" style="cursor:pointer">0</span>';
if (krachtdfz < 6)krachtdfz='<span title="Lichte koelte tot zwakke wind" style="cursor:pointer">1</span>';
if (krachtdfz < 12)krachtdfz='<span title="Zwakke wind" style="cursor:pointer">2</span>';
if (krachtdfz < 20)krachtdfz='<span title="Zwakke tot matige wind" style="cursor:pointer">3</span>';
if (krachtdfz < 29)krachtdfz='<span title="Matige wind" style="cursor:pointer">4</span>';
if (krachtdfz < 39)krachtdfz='<span title="Matige tot vrij krachtige wind" style="cursor:pointer">5</span>';
if (krachtdfz < 50)krachtdfz='<span title="Krachtige wind" style="cursor:pointer">6</span>';
if (krachtdfz < 62)krachtdfz='<span title="Harde wind" style="cursor:pointer">7</span>';
if (krachtdfz < 75)krachtdfz='<span title="Stormachtige wind" style="cursor:pointer">8</span>';
if (krachtdfz < 89)krachtdfz='<span title="Storm" style="cursor:pointer">9</span>';
if (krachtdfz < 102)krachtdfz='<span title="Zware storm" style="cursor:pointer">10</span>';
if (krachtdfz < 117)krachtdfz='<span title="Zeer zware storm" style="cursor:pointer">11</span>';
if (krachtdfz > 116)krachtdfz='<span title="Orkaan" style="cursor:pointer">12</span>';
//Comfort-vertaal-script
//copyright O. de Zwart - Weerstation Damwoude - info@weerstation-damwoude.nl

var comfort = ("Cool");

switch(comfort) {
case 'Extreme Cold' :
var zst137 = ('Extreem koud');
break;
case 'Uncomfortably Cold' :
var zst137 = ('Onaangenaam koud');
break;
case 'Cool' :
var zst137 = ('Koud');
break;
case 'Comfortable' :
var zst137 = ('Aangenaam');
break;
case 'Warm' :
var zst137 = ('Warm');
break;
case 'Uncomfortably Hot' :
var zst137 = ('Onaangenaam warm');
break;
case 'Extreme Hot' :
var zst137 = ('Extreem warm');
break;
default:
var zst137 = (comfort);
}

//Tendenstemperatuur- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var temprate = ("-0.6");

if (temprate < 0)temprate=('<img src="logos/Down.gif" border="0" title="Tendens: -0.6 &deg;C per uur" style="cursor:pointer">');
if (temprate == 0)temprate=('');
if (temprate > 0)temprate=('<img src="logos/Up.gif" border="0" title="Tendens: -0.6 &deg;C per uur" style="cursor:pointer">');

//Tendensluchtvochtigheid- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var vochtrate = ("1.2");

if (vochtrate < 0)vochtrate=('<img src="logos/Down.gif" border="0" title="Tendens: 1.2 % per uur" style="cursor:pointer">');
if (vochtrate == 0)vochtrate=('');
if (vochtrate > 0)vochtrate=('<img src="logos/Up.gif" border="0" title="Tendens: 1.2 % per uur" style="cursor:pointer">');

//TendensDauwpunt- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var dauwrate = ("-0.4");

if (dauwrate < 0)dauwrate=('<img src="logos/Down.gif" border="0" title="Tendens: -0.4 &deg;C per uur" style="cursor:pointer">');
if (dauwrate == 0)dauwrate=('');
if (dauwrate > 0)dauwrate=('<img src="logos/Up.gif" border="0" title="Tendens: -0.4 &deg;C per uur" style="cursor:pointer">');


//TendensHitteindex- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var heatrate = ("-0.5");

if (heatrate < 0)heatrate=('<img src="logos/Down.gif" border="0" title="Tendens: -0.5 &deg;C per uur" style="cursor:pointer">');
if (heatrate == 0)heatrate=('');
if (heatrate > 0)heatrate=('<img src="logos/Up.gif" border="0" title="Tendens: -0.5 &deg;C per uur" style="cursor:pointer">');

//TendensRegen- omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var rainrate = ("0.0");
var zxv122 = "0.0"; //Hourly Rain

if (zxv122 == 0.0)rainrate=('');
if ((zxv122 > 0.0) && (rainrate < 0.2))rainrate=('');
if ((zxv122 > 0.0) && (rainrate >= 0.2))rainrate=('<img src="logos/regen.gif" border="0" title="Regen. Tendens 0.0 mm per uur" style="cursor:pointer">');

//Vorst - omzet - script
//copyright S. Roolvink - Weerstation Leeuwarden - info@weerstationleeuwarden.nl

var vriezen = ("12.7");

if (vriezen < 0)vriezen=('<img src="logos/Warning7.gif" border="0" title="Let op!!!! Kans op gladheid" style="cursor:pointer">');
if (vriezen >= 0)vriezen=('');


//*** Wind Speed ***
var zxv002 = "0.0"; //Wind Speed
var zhi002 = "24.1"; //Wind Speed Daily Hi
var zmh002 = "43.4"; //Wind Speed Monthly Hi
var zmd002 = "6/9/10"; //Wind Speed Monthly Hi Date
var zyh002 = "61.1"; //Wind Speed Yearly Hi
var zyd002 = "31/3/10"; //Wind Speed Yearly Hi Date
var zzh002 = "38.6"; //Wind Speed Yesterday High
var zva002 = "1.1"; //Wind Speed Running Average

//*** Wind Gust ***
var zxv003 = "1.6"; //Wind Gust
var zva003 = "3.8"; //Wind Gust Running Average

//*** Humidity ***
var zxv005 = "96"; //Humidity
var zhi005 = "98"; //Humidity Daily Hi
var zlo005 = "79"; //Humidity Daily Lo
var zva005 = "92"; //Humidity Day Average
var zvr005 = "1.2"; //Humidity Rate
var zmh005 = "99"; //Humidity Monthly Hi
var zmd005 = "3/9/10"; //Humidity Monthly High Date
var zml005 = "46"; //Humidity Monthly Lo
var zme005 = "6/9/10"; //Humidity Monthly Lo Date
var zyh005 = "100"; //Humidity Yearly Hi
var zyd005 = "3/1/10"; //Humidity Yearly Hi Date
var zyl005 = "23"; //Humidity Yearly Lo
var zye005 = "25/4/10"; //Humidity Yearly Lo Date
var zzh005 = "94"; //Humidity Yesterday High
var zzl005 = "76"; //Humidity Yesterday Low

//*** Out Temperature ***
var zxv007 = "12.7"; //Out Temp
var zhi007 = "18.1"; //Out Temp Daily Hi
var zht007 = "17:01"; //Out Temp Daily Hi Time
var zlo007 = "12.7"; //Out Temp Daily Lo
var zlt007 = "23:19"; //Out Temp Daily Lo Time
var zva007 = "15.0"; //Out Temp Day Average
var zma007 = "13.9"; //Out Temp Month Average
var zya007 = "9.5"; //Out Temp Year Average
var zvr007 = "-0.6"; //Out Temp Rate
var zmh007 = "20.2"; //Out Temp Monthly Hi
var zmd007 = "3/9/10"; //Out Temp Monthly High Date
var zml007 = "8.3"; //Out Temp Monthly Lo
var zme007 = "5/9/10"; //Out Temp Monthly Lo Date
var zyh007 = "33.4"; //Out Temp Yearly Hi
var zyd007 = "9/7/10"; //Out Temp Yearly Hi Date
var zyl007 = "-10.9"; //Out Temp Yearly Lo
var zye007 = "8/1/10"; //Out Temp Yearly Lo Date
var zzh007 = "18.6"; //Out Temp Yesterday High
var zzl007 = "12.7"; //Out Temp Yesterday Low

//*** Raw Barometer ***
var zxv008 = "1016.5"; //Raw Barometer
var zhi008 = "1016.6"; //Raw Barometer Daily Hi
var zlo008 = "1005.5"; //Raw Barometer Daily Lo
var zva008 = "1011.0"; //Raw Barometer Day Average
var zvr008 = "0.3"; //Raw Barometer Rate
var zmh008 = "1025.2"; //Raw Barometer Monthly Hi
var zmd008 = "5/9/10"; //Raw Barometer Monthly High Date
var zml008 = "1002.1"; //Raw Barometer Monthly Lo
var zme008 = "8/9/10"; //Raw Barometer Monthly Lo Date
var zyh008 = "1043.1"; //Raw Barometer Yearly Hi
var zyd008 = "26/1/10"; //Raw Barometer Yearly Hi Date
var zyl008 = "975.1"; //Raw Barometer Yearly Lo
var zye008 = "28/2/10"; //Raw Barometer Yearly Lo Date
var zzh008 = "1006.2"; //Raw barometer Yesterday High
var zzl008 = "1002.1"; //Raw barometer Yesterday Low

//*** Total Rain ***
var zxv009 = "511.4"; //Total Rain

//*** Wind Chill ***
var zxv019 = "13.2"; //Wind Chill running average
var zlo019 = "12.6"; //Wind Chill Daily Lo
var zva019 = "15.0"; //Wind Chill Day Average
var zvr019 = "-0.6"; //Wind Chill Rate
var zml019 = "6.6"; //Wind Chill Monthly Lo
var zme019 = "5/9/10"; //Wind Chill Monthly Lo Date
var zyl019 = "-15.8"; //Wind Chill Yearly Lo
var zzl019 = "9.9"; //Wind Chill Yesterday Low


//*** Out Heat Index ***
var zxv021 = "16.3"; //Out Heat Index
var zhi021 = "20.6"; //Out Heat Index Daily Hi
var zlo021 = "16.3"; //Out Heat Index Daily Lo
var zva021 = "18.3"; //Out Heat Index Day Average
var zvr021 = "-0.5"; //Out Heat Index Rate
var zmh021 = "21.5"; //Out Heat Index Monthly Hi
var zmd021 = "3/9/10"; //Out Heat Index Monthly High Date
var zml021 = "11.7"; //Out Heat Index Monthly Lo
var zme021 = "5/9/10"; //Out Heat Index Monthly Lo Date
var zyh021 = "34.9"; //Out Heat Index Yearly Hi
var zyd021 = "2/7/10"; //Out Heat Index Yearly Hi Date
var zyl021 = "-7.6"; //Out Heat Index Yearly Lo
var zye021 = "8/1/10"; //Out Heat Index Yearly Lo Date
var zzh021 = "20.9"; //Out Heat Index Yesterday High
var zzl021 = "15.5"; //Out Heat Index Yesterday Low

//*** Dew Point ***
var zxv022 = "12.0"; //Dew Point
var zhi022 = "15.1"; //Dew Point Daily Hi
var zlo022 = "12.0"; //Dew Point Daily Lo
var zva022 = "13.7"; //Dew Point Day Average
var zvr022 = "-0.4"; //Dew Point Rate
var zmh022 = "15.4"; //Dew Point Monthly Hi
var zmd022 = "2/9/10"; //Dew Point Monthly High Date
var zml022 = "5.9"; //Dew Point Monthly Lo
var zme022 = "6/9/10"; //Dew Point Monthly Lo Date
var zyh022 = "21.4"; //Dew Point Yearly Hi
var zyd022 = "12/7/10"; //Dew Point Yearly Hi Date
var zyl022 = "-12.7"; //Dew Point Yearly Lo
var zye022 = "7/3/10"; //Dew Point Yearly Lo Date
var zzh022 = "15.1"; //Dew Point Yesterday High
var zzl022 = "9.3"; //Dew Point Yesterday Low

//*** VWS ***
var zxv024 = "-27"; //Press title
var zxv025 = "85"; //Cloud Base
var zxv026 = "-113"; //Air Density
var zxv027 = "14.2"; //Virtual Temp
var zxv028 = "14.1"; //Vapor Press
var zxv121 = "1.6"; //Daily Rain
var zxv123 = "1.6"; //Yesterday Rain
var zxv124 = "0.0"; //Rain Rate
var zxv128 = "2"; //Moon Phase
var zxv129 = "6.8"; //Monthly Rain
var zst136 = "---"; //Heat Stress
var zst140 = "Rising"; //Press Trend
var zst141 = "Calm"; //Beaufort Scale
var zst142 = "9/9/10"; //Date
var zst143 = "23:20"; //Time
var zst146 = "8:31"; //Moonrise
var zst147 = "19:57"; //Moonset
var zervws = "V14.00"; //VWS Version
var moon = ""; //Moon percentage
var moonday = "2"; //Moon day
var zye019 = "8/2/10"; //Wind Chill Yearly Lo Date
511.4 //Total Rain Daily Hi
var raintime = "9:30"; //Total Rain Daily Hi Time
var vwstemp10 = "12.8"; // temp op 10 cm
var vwstemp10lo = "12.8"; // min temp op 10 cm
var vwsuv = "0.0"; // UV index actueel
var vwsuvhoog = "2.5"; // UV index hoog
var vwssolar = "0"; // Solar radiation actueel
var vwssolarhi = "615"; // Solar radiation hi
var vwsforecast = "Increasing clouds with little temperature change. Precip possible within 24 to 48 hrs"; //Forecast
var vwset = "1.2"; // Verdamping
var vwsetavg = "1.2"; // Gemiddelde verdamping
var vwsbladnat = "15"; // Bladnat
var vwssoil = "6"; // Soil Moisture
var vocht24 = "91"; //vochtigheid 24 uur geleden
var temp24 = "14.8"; // temp 24 uur geleden
var uv24 = "0.0";// uv index 24 uur geleden
var solar24 = "0";// zonnestraling 24 uur geleden
var baro24 = "1005.6"; // barometer 24 uur gelden
var temp24verschil = "-2.2"; // Temperatuurverschil met 24 uur geleden
var windr24 = "167";// Windrichting 24 uur geleden
var windgust24 = "19.3"; //Windsnelheid (vlagen) 24 uur geleden
var totalrain24 = "509.8"; // Totale neerslag 24 uur geleden

//JS-System Variables [DO NOT USE!]
var zNOW = new Date(); //Helper
var zYMONTH = zNOW.getMonth(); //Helper
var zMONTH = new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"); //Helper
// <![CDATA[

// Special thanks to: Pinto http://www.joske-online.be/ and Tom http://www.carterlake.org/
// They pioneered the basic AJAX code using WD clientraw.txt which was
// cheerfully borrowed from Tom at CarterLake.org and adapted by
// Ken True - Saratoga-weather.org  21-May-2006
// --- added flash-green on data update functions - Ken True  24-Nov-2006
// --- Version 1.00 - 03-Dec-2006 -- Adapted for VWS data.csv usage - Ken True saratoga-weather.org
// --- Version 1.04 - 13-Dec-2006 -- Ken True -repackaged AJAX function, 
//     also included Mike Challis' counter script to display seconds since last update and error
//     handling for the fetch to fix to fix random error: NS_ERROR_NOT_AVAILABLE
//     Mike's site: http://www.carmosaic.com/weather/index.php
//     Thanks to FourOhFour on wxforum.net ( http://skigod.us/ ) for replacing all the
//     x.responseText.split(' ')[n] calls with a simple array lookup.. much better speed and
//     for his streamlined version of getUVrange.
//
// --- Version 2.00 - 30-Mar-2007 -- adapted to read VWS WeatherFlash text files by Matt at weatherbus.com
// --- Version 2.01 - 20-Jul-2007 -- packaged and adapted code for more robust loader functions and unit
//                                   conversions by Ken at saratoga-weather.org
// --- Version 2.02 - 23-Jul-2007 -- added checks on heatidx/windchill, added wind display features, new
//                                   uom display logic.
// --- Version 2.03 - 21-Sep-2007 -- added support for dynamic thermometer.php display updates
// --- Version 2.04 - 30-Dec-2007 -- added maxupdates feature, language translation features and 
//                                   added optional Wind-Rose display 
//
// for updates to this script, see http://saratoga-weather.org/scripts-VWS-AJAX.php
// announcements of new versions will be on ambientwxsupport.com and wxforum.net

// -- begin settings --------------------------------------------------------------------------
var flashcolor = 'green'; // RGB color to flash for changed observations
var flashtime  = 2000;    // miliseconds to keep flash color on (2000 = 2 seconds);
var reloadTime = 5000;      // reload AJAX conditions every 5 seconds (= 5000 ms)
var maxupdates = 0;	         // Maxium Number of updates allowed (set to zero for unlimited)
                             // maxupdates * reloadTime / 1000 = number of seconds to update
var wflashDir = '../';   // URL for directory for WeatherFlash relative to this script with
//                               trailing '/'.  In Root = '/', in /wflash = '/wflash/'
var imagedir = 'ajax-images'  // place for wind arrows, rising/falling arrows, etc.
var useunits = 'M';         // 'E'=USA(English) or 'M'=Metric or 'W'=use WeatherFlash settings

var useKnots = false;       // set to true to use wind speed in Knots (otherwise 
							// wind in km/hr for Metric or mph for English will be used.
var useMPS   = false;       // set to true for meters/second for metric wind speeds, false= km/h
var showUnits = false;       //  set to false if no units are to be displayed
var useAMPM   = false;       // set to false for 24hr time (only used for update time value)
var showNoWind = false;      // true shows wind=0 as 'Calm' and gust=0 as 'No Wind'
//                          // flase shows wind=0 as '0' and gust=0 as '0'
var thermometer = './thermometer.php'; // script for dynamic thermometer PNG image (optional)
// optional settings for the Wind Rose graphic in ajaxwindiconwr as wrName + winddir + wrType
var wrName   = 'wr-';       // first part of the graphic filename (followed by winddir to complete it)
var wrType   = '.gif';      // extension of the graphic filename
var wrHeight = '58';        // windrose graphic height=
var wrWidth  = '58';        // windrose graphic width=
var wrCalm   = 'wr-calm.gif';  // set to full name of graphic for calm display ('wr-calm.gif')
// -- end of settings -------------------------------------------------------------------------
//
// -- language settings -- you don't need to customize this area if you are using English -----

var langPauseMsg = 'Updates paused - reload page to start'; // substitute this for ajaxindicator when
                             // maxupdates has been reached and updating paused.

var langMonths = new Array ( "January","February","March","April","May",
			"June","July","August","September","October","November","December");
var langDays = new Array ( "Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun");	

var langBaroTrend = new Array (
"Stabiel", "Stijgend", "Snel stijgend", "Dalend", "Snel dalend");

var langUVWords = new Array (
 "None", "Low", "Medium", "High",
 "Very&nbsp;High", /* be sure to include &nbsp; for space */
 "Extreme" );

var langBeaufort = new Array ( /* Beaufort 0 to 12 in array */
 "Calm", "Light air", "Light breeze", "Gentle breeze", "Moderate breeze", "Fresh breeze",
 "Strong breeze", "Near gale", "Gale", "Strong gale", "Storm",
 "Violent storm", "Hurricane"
);

var langWindDir = new Array( /* used for alt and title tags on wind dir arrow and wind direction display */
	"N", "NNO", "NO", "ONO", 
	"O", "OZO", "ZO", "ZZO", 
	"Z", "ZZW", "ZW", "WZW", 
	"W", "WNW", "NW", "NNW");

var langWindCalm = 'Calm';
var langGustNone = 'None';
var langWindFrom = 'De wind is '; /* used on alt/title tags on wind direction arrow*/

var langBaroRising = 'Stijgend %s '; /* used for trend arrow alt/title tags .. %s marks where value will be placed */
var langBaroFalling = 'Dalend %s ';
var langBaroPerHour = ' p/u'; /* will be assembled as rising/falling + value + uom + perhour text */

var langThermoCurrently = 'Actueel: '; /* used on alt/title tags for thermometer */
var langThermoMax     = 'Max: ';
var langThermoMin     = 'Min: ';

var langTempRising = 'Stijgend %s '; /* used for trend arrow alt/title tags .. %s marks where value will be placed */
var langTempFalling = 'Dalend %s ';
var langTempPerHour = ' p/u';

var langHumRising = 'Stijgend %s '; /* used for trend arrow alt/title tags .. %s marks where value will be placed */
var langHumFalling = 'Dalend %s ';
var langHumPerHour = ' p/u';

// -- end of language settings ----------------------------------------------------------
//
// You shouldn't have to change these settings for file locations, they are the defaults for
// WeatherFlash
var wflashFile = 'Data/wflash.txt'; // location of wflash.txt relative to this page on website
var wflashFile2 = 'Data/wflash2.txt'; // location of wflash2.txt relative to this page on website
var wflashUnitsFile = 'Config/Units.txt'; // location of Config/Units.txt file for wflash
// --- you don't need to customize the stuff below, the actions are controlled by the 
//  settings above.  

var ie4=document.all;
var browser = navigator.appName;
var counterSecs = 0;  // for MCHALLIS counter script from weather-watch.com (adapted by K. True)
var updates = 0;		// update counter for limit by maxupdates
var lastajaxtime = 'unknown'; //used to reset the counter when a real update is done
var doTooltip = 0;   // set to 1 to have ajaxed variable names appear as tooltips (except for graphics)

// handle setup options for units-of-measure and whether to show them at all
// note.. units to use will be updated automatically from the Weather Flash Config/Units.txt file
// --------------- DON'T change thise defaults ---- they are the units used in wflash.txt, wflash2.txt
var uomTemp = '&deg;F'; 	var uomTempCnvt = 0;
var uomWind = ' mph';   	var uomWindCnvt = 0;
var uomBaro = ' inHg';  	var uomBaroCnvt = 0;
var uomRain = ' in';    	var uomRainCnvt = 0;
var uomHumid= '%';      
var uomSolar= ' W/m<sup>2</sup>';
var uomHeight = ' ft';  	var uomHeightCnvt = 0;
var uomDistance = ' miles'; var uomDistanceCnvt = 0;
var uomPerHr = '/hr';
var uomWindDir = '&deg;';
var dpBaro = 2;
var dpRain = 2;
//----------------------------------------------------------------------------------------------------

function ajax_set_units( units ) {
//   Establish overall units for  script to use
//   Default is English (like in wflash.txt/wflash2.txt
//   ='M' chooses Metric  C, km/h, hPa, mm, m, km (option for m/s for wind)
//   ="W" forces pull of values from Config/Units.txt file (Weather Flash default settings file)
//
if (units == 'M') { // set to metric
	uomTemp = '&deg;C'; 	uomTempCnvt = 1;
	uomWind = ' km/h';		uomWindCnvt = 1;
	if(useMPS)   { uomWind = ' m/s'; uomWindCnvt = 3;}
	uomBaro = ' hPa'; 		uomBaroCnvt = 3;
	uomRain = ' mm';  		uomRainCnvt = 1;
	uomHeight = ' m'; 		uomHeightCnvt = 1;
	uomDistance = ' km'; 	uomDistanceCnvt = 1;
	dpBaro = 1;
	dpRain = 1;
  }
  if(useKnots) { uomWind = ' kts'; uomWindCnvt = 2;}
  if(units == "W") { // get the units to use first (runs once)
    ajaxGetUnits(wflashUnitsFile + '?' + new Date().getTime()); 
  }

} // end ajax_set_units()

ajax_set_units(useunits); // set up the units to ues

// utility function to display UOM based on showUnits flag
function ajaxUOM ( uom ) {
	if (showUnits) { 
		return( uom );
	} else {
		return( "" );
	}
}

// utility function to display UOM based on showUnits flag
function nilWind ( v1, v2 ) {
	if (showNoWind) { 
		return( v1 );
	} else {
		return( v2 );
	}
}

// utility functions to handle conversions from clientraw data to desired units-of-measure
function convertTemp ( rawtemp ) {
	var retval = 0;
	if (uomTempCnvt == 0) { // leave in F
		retval = rawtemp * 1.0 ;
	} else {  // convert to C
		//retval = Math.ceil(10 * ((rawtemp - 32)/1.8))/10;
		retval = (rawtemp - 32)/1.8;
		//retval1 = Math.floor(10 * retval)/10;
	}
	return(retval.toFixed(1));
}

function convertTempRate ( rawtemp ) {
	var retval = 0;
	if (uomTempCnvt == 0) { // leave in F rate
		retval = rawtemp * 1.0 ;
	} else {  // convert to C rate
		retval = rawtemp * 0.55555 ;
	}
	return(retval.toFixed(1));
}

function convertWind  ( rawwind ) {
  var retval = 0;
  switch (uomWindCnvt) { // convert from MPH to
	case 0 : // MPH
  		retval = rawwind * 1.0;
		break;
	case 1: // KPH
		retval = rawwind * 1.609344;
		break;
	case 2: // knots
		retval = rawwind * 0.868976242;
		break;
	case 3: // meters per second
		retval = rawwind * 0.44704;
		break;
	default:
	    retval = rawwind * 1.0;
  }
  
  return (retval.toFixed(1));

}

function convertBaro ( rawbaro ) {
  var retval = 0;
  switch (uomBaroCnvt) { // convert from inHg to
	case 0 : // inHg
  		retval = rawbaro * 1.0;
		break;
	case 1: // mmHg
		retval = rawbaro * 25.4;
		break;
	case 2: // mb
		retval = rawbaro * 33.86;
		break;
	case 3: // hPa
		retval = Math.ceil(10 *  (rawbaro * 33.86))/10;
		break;
	default:
	    retval = rawbaro * 1.0;
  
  }
  
  return (retval.toFixed(1));
}

function convertRain ( rawrain ) { // convert from inches to
	var retval = 0;
	if (uomRainCnvt == 0) { // leave in in
		retval = rawrain * 1.0 ;
	} else {  // convert to mm
		retval = rawrain * 25.4;
	}
	return(retval.toFixed(1));
}

function convertHeight ( rawheight ) { // convert from feet to
	var retval = 0;
	if (uomHeightCnvt == 0) { // leave in feet
		retval = rawrain * 1.0 ;
	} else {  // convert to meters
		retval = rawrain * 0.3048;
	}
	return(retval.toFixed(0));
}

function convertDistance ( rawdist ) { // convert from miles to
	var retval = 0;
	if (uomDistanceCnvt == 0) { // leave in miles
		retval = rawdist * 1.0 ;
	} else {  // convert to km
		retval = rawdist * 1.609344;
	}
	return(retval.toFixed(1));
}


// utility functions to navigate the HTML tags in the page
function get_ajax_tags ( ) {
// search all the span tags and return the list with class="ajax" in it
//
  if (ie4 && browser != "Opera") {
    var elem = document.body.getElementsByTagName('span');
	var lookfor = 'className';
  } else {
    var elem = document.getElementsByTagName('span');
	var lookfor = 'class';
  }
     var arr = new Array();
	 var iarr = 0;
     for(var i = 0; i < elem.length; i++) {
          var att = elem[i].getAttribute(lookfor);
          if(att == 'ajax') {
               arr[iarr] = elem[i];
               iarr++;
          }
     }

     return arr;
}

function reset_ajax_color( usecolor ) {
// reset all the <span class="ajax"...> styles to have no color override
      var elements = get_ajax_tags();
	  var numelements = elements.length;
	  for (var index=0;index!=numelements;index++) {
         var element = elements[index];
	     element.style.color=usecolor;
 
      }
}

function set_ajax_obs( name, value ) {
// store away the current value in both the doc and the span as lastobs="value"
// change color if value != lastobs

		var element = document.getElementById(name);
		if (! element ) { return; } // V1.04 -- don't set if missing the <span id=name> tag
		var lastobs = element.getAttribute("lastobs");
		element.setAttribute("lastobs",value);
		if (value != unescape(lastobs)) {
          element.style.color=flashcolor;
		  if ( doTooltip ) { element.setAttribute("title",'AJAX tag '+name); }
		}
		element.innerHTML =  value;
}

function set_ajax_uom( name, onoroff ) {
// this function will set an ID= to visible or hidden by setting the style="display: "
// from 'inline' or 'none'

		var element = document.getElementById(name);
		if (! element ) { return; } 
		if (onoroff) {
          element.style.display='inline';
		} else {
          element.style.display='none';
		}
}

// --- end of flash-green functions

function windDir ($winddir)
// Take wind direction value, return the
// text label based upon 16 point compass -- function by beeker425
//  see http://www.weather-watch.com/smf/index.php/topic,20097.0.html
{
   $windlabel = new Array("N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW");
   return $windlabel[Math.floor(((parseInt($winddir) + 11) / 22.5) % 16 )];
}

function windDirLang ($winddir)
// Take wind direction value, return the
// text label based upon 16 point compass -- function by beeker425
//  see http://www.weather-watch.com/smf/index.php/topic,20097.0.html
{
   return langWindDir[Math.floor(((parseInt($winddir) + 11) / 22.5) % 16 )];
}

function ajax_get_beaufort_number ( wind ) { 
// return a number for the beaufort scale based on wind mph
  if (wind < 1 ) {return("0"); }
  if (wind < 4 ) {return("1"); }
  if (wind < 8 ) {return("2"); }
  if (wind < 13 ) {return("3"); }
  if (wind < 19 ) {return("4"); }
  if (wind < 25 ) {return("5"); }
  if (wind < 32 ) {return("6"); }
  if (wind < 39 ) {return("7"); }
  if (wind < 47 ) {return("8"); }
  if (wind < 55 ) {return("9"); }
  if (wind < 64 ) {return("10"); }
  if (wind < 73 ) {return("11"); }
  if (wind >= 73 ) {return("12"); }
  return("0");
}

function ajax_get_beaufort_numbergust ( gust ) { 
// return a number for the beaufort scale based on wind mph
  if (gust < 1 ) {return("0"); }
  if (gust < 4 ) {return("1"); }
  if (gust < 8 ) {return("2"); }
  if (gust < 13 ) {return("3"); }
  if (gust < 19 ) {return("4"); }
  if (gust < 25 ) {return("5"); }
  if (gust < 32 ) {return("6"); }
  if (gust < 39 ) {return("7"); }
  if (gust < 47 ) {return("8"); }
  if (gust < 55 ) {return("9"); }
  if (gust < 64 ) {return("10"); }
  if (gust < 73 ) {return("11"); }
  if (gust >= 73 ) {return("12"); }
  return("0");
}

function ajax_get_beaufort_numberavggust ( avgwindgust ) { 
// return a number for the beaufort scale based on wind mph
  if (avgwindgust < 1 ) {return("0"); }
  if (avgwindgust < 4 ) {return("1"); }
  if (avgwindgust < 8 ) {return("2"); }
  if (avgwindgust < 13 ) {return("3"); }
  if (avgwindgust < 19 ) {return("4"); }
  if (avgwindgust < 25 ) {return("5"); }
  if (avgwindgust < 32 ) {return("6"); }
  if (avgwindgust < 39 ) {return("7"); }
  if (avgwindgust < 47 ) {return("8"); }
  if (avgwindgust < 55 ) {return("9"); }
  if (avgwindgust < 64 ) {return("10"); }
  if (avgwindgust < 73 ) {return("11"); }
  if (avgwindgust >= 73 ) {return("12"); }
  return("0");
}

function ajax_get_beaufort_numbermaxwind ( highwindspeed ) { 
// return a number for the beaufort scale based on wind mph
  if (highwindspeed < 1 ) {return("0"); }
  if (highwindspeed < 4 ) {return("1"); }
  if (highwindspeed < 8 ) {return("2"); }
  if (highwindspeed < 13 ) {return("3"); }
  if (highwindspeed < 19 ) {return("4"); }
  if (highwindspeed < 25 ) {return("5"); }
  if (highwindspeed < 32 ) {return("6"); }
  if (highwindspeed < 39 ) {return("7"); }
  if (highwindspeed < 47 ) {return("8"); }
  if (highwindspeed < 55 ) {return("9"); }
  if (highwindspeed < 64 ) {return("10"); }
  if (highwindspeed < 73 ) {return("11"); }
  if (highwindspeed >= 73 ) {return("12"); }
  return("0");
}

function ajax_get_paraplu ( rainrate ) { 
        if ((rainrate >= 0.0) && (rainrate < 0.2)){return(""); }
        if (rainrate >= 0.2){return("<a href='http://www.buienradar.nl' target='_blank' title='Neerslagindicator. Klik hier voor de actuele neerslagbeelden'><img src='logos/regen.gif' border='0'></a>"); }
        return("");
        }

function ajax_get_weerbeleving ( comfortlevel ) 
{ 
if (comfortlevel == "Extreme Cold" ) {return('Extreem koud'); }
if (comfortlevel == "Uncomfortably Cold" ) {return('Onaangenaam koud'); }
if (comfortlevel == "Cool" ) {return('Koud'); }
if (comfortlevel == "Comfortable" ) {return('Aangenaam'); }
if (comfortlevel == "Warm" ) {return('Warm'); }
if (comfortlevel == "Uncomfortably Hot" ) {return('Onaangenaam warm'); }
if (comfortlevel == "Extreme Hot" ) {return('Extreem warm'); }
return(comfortlevel);
}

function ajax_getUVrange ( uv ) { // code simplified by FourOhFour on wxforum.net
   var uvword = "Unspec.";
   if (uv <= 0) {
       uvword = langUVWords[0];
   } else if (uv < 3) {
       uvword = "<span style=\"border: solid 1px; background-color: #A4CE6a;\">&nbsp;"+langUVWords[1]+"&nbsp;</span>";
   } else if (uv < 6) {
       uvword = "<span style=\"border: solid 1px; background-color: #FBEE09;\">&nbsp;"+langUVWords[2]+"&nbsp;</span>";
   } else if (uv < 8) {
       uvword =  "<span style=\"border: solid 1px; background-color: #FD9125;\">&nbsp;"+langUVWords[3]+"&nbsp;</span>";
   } else if (uv < 11) {
       uvword =  "<span style=\"border: solid 1px; color: #FFFFFF; background-color: #F63F37;\">&nbsp;"+langUVWords[4]+"&nbsp;</span>";
   } else {
       uvword =  "<span style=\"border: solid 1px; color: #FFFF00; background-color: #807780;\">&nbsp;"+langUVWords[5]+"&nbsp;</span>";
   }
   return uvword;
} // end ajax_getUVrange function

function ajax_get_barotrend(btrnd) {
// routine from Anole's wxsticker PHP (adapted to JS by Ken True)
// input: trend inHG
//   Barometric Trend(3 hour)

// Change Rates
// Rapidly: =.06 inHg; 1.5 mm Hg; 2 hPa; 2 mb
// Slowly: =.02 inHg; 0.5 mm Hg; 0.7 hPa; 0.7 mb

// 5 conditions
// Rising Rapidly
// Rising Slowly
// Steady
// Falling Slowly
// Falling Rapidly

// Page 52 of the PDF Manual
// http://www.davisnet.com/product_documents/weather/manuals/07395.234-VP2_Manual.pdf
// figure out a text value for barometric pressure trend
   if ((btrnd >= -0.02) && (btrnd <= 0.02)) { return(langBaroTrend[0]); }
   if ((btrnd > 0.02) && (btrnd < 0.06)) { return(langBaroTrend[1]); }
   if (btrnd >= 0.06) { return(langBaroTrend[2]); }
   if ((btrnd < -0.02) && (btrnd > -0.06)) { return(langBaroTrend[3]); }
   if (btrnd <= -0.06) { return(langBaroTrend[4]); }
  return(btrnd);
}

function ajax_genarrow( nowTemp, yesterTemp, Legend, textUP, textDN, numDp) {
// generate an <img> tag with alt= and title= for rising/falling values	
	
  var diff = nowTemp.toFixed(3) - yesterTemp.toFixed(3);
  var absDiff = Math.abs(diff);
  var diffStr = '' + diff.toFixed(numDp);  // sprintf("%01.0f",$diff);
  var absDiffStr = '' + absDiff.toFixed(numDp); // sprintf("%01.0f",$absDiff);
  var image = '';
  var msg = '';
  
  if (diff == 0) {
 // no change
    image = '&nbsp;'; 
  } else if (diff > 0) {
// today is greater 
//    msg = textUP + " by " + diff.toFixed(1); // sprintf($textDN,$absDiff); 
	msg = textUP.replace(/\%s/,absDiffStr);
    image = "<img src=\"" + imagedir + "/rising.gif\" alt=\"" + msg + 
	"\" title=\""+ msg + 
	"\" width=\"8\" height=\"9\" style=\"border: 0; margin: 1px 3px;\" />";
  } else {
// today is lesser
    msg = textDN.replace(/\%s/,absDiffStr); // sprintf($textDN,$absDiff); 
//	msg = textDN.replace(/\%s/,absDiffStr);
    image = "<img src=\"" + imagedir + "/falling.gif\" alt=\"" + msg + 
	"\" title=\""+ msg + 
	"\" width=\"8\" height=\"9\" style=\"border: 0; margin: 1px 3px;\" />";
   
  }

   if (Legend) {
       return (diff + Legend + image);
	} else {
	   return image;
	}
} // end genarrow function

function ajax_format_time(rawtime) {
// convert 24hr time to 12hr time (for updated time only)
	if (! useAMPM ) {
		return(rawtime); // keep it as 24hr time
	}
	
	var hms = rawtime.split(":");
	
	var amOrPm = "am";
	if (hms[0] > 11) {amOrPm = "pm";}
	if (hms[0] > 12) {hms[0] = hms[0] - 12;}
	if (hms[0] == 0) {hms[0] = 12;}
	return(hms[0] + ":" + hms[1] + ":" + hms[2] + amOrPm);
}


// Mike Challis' counter function (adapted by Ken True)
//
function ajax_countup() {
 element = document.getElementById("ajaxcounter");
 if (element) {
  element.innerHTML = counterSecs;
  counterSecs++;
 }
}

// ------------------------------------------------------------------------------------------
//  function.. read Units.txt and reset the uomVVVV and dpVVVV values as needed .. run once
// ------------------------------------------------------------------------------------------
function ajaxGetUnits(url) {
// read the Units.txt file and set our uomVVVV and dpVVVV values 
// This routine is run once at startup (load of page)
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(url);
	
  }
  if (x) { // got something back
    x.onreadystatechange = function() {
    try { if (x.readyState == 4 && x.status == 200) { // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE 
      var wunits = x.responseText.split('&');
	  var t = '';
	  var i = 0;
	  for (i=0;i<wunits.length;i++) {
		  var uparts = wunits[i].split('=');
		  t = t+"'"+uparts[0]+"' = '"+uparts[1]+"'\n";
		  
		  switch (uparts[0]) { // handle the units values
		    case "Distance" :
			  if (uparts[1] == 'miles') { uomDistance = ' miles';	uomDistanceCnvt = 0; }
			  if (uparts[1] == 'km')    { uomDistance = ' km'; 		uomDistanceCnvt = 1; }
			  t = t+"Set='"+uomDistance+"'\n";
			  break;
		    case "Altitude" :
			  if (uparts[1] == 'ft') { uomHeight = ' ft';  	uomHeightCnvt = 0;}
			  if (uparts[1] == 'm') { uomHeight = ' m'; 	uomHeightCnvt = 1;}
			  t = t+"Set='"+uomHeight+"'\n";
			  break;
		    case "Rain" :
			  if (uparts[1] == 'in') { uomRain = ' in'; dpRain = 2;	uomRainCnvt = 0;}
			  if (uparts[1] == 'mm') { uomRain = ' mm'; dpRain = 1;	uomRainCnvt = 1;}
			  t = t+"Set='"+uomRain+"' dpRain='"+dpRain+"'\n";
			  break;
		    case "Wind" :
			  if (uparts[1] == 'mph') { uomWind = ' mph';	uomWindCnvt = 0;}
			  if (uparts[1] == 'kph') { uomWind = ' km/h';	uomWindCnvt = 1;}
			  if (uparts[1] == 'knots') { uomWind = ' kts';	uomWindCnvt = 2;}
			  if (uparts[1] == 'm/s') { uomWind = ' m/s';	uomWindCnvt = 3;}
			  t = t+"Set='"+uomWind+"'\n";
			  break;
		    case "Pressure" :
			  if (uparts[1] == 'inHg') { uomBaro = ' inHg'; dpBaro = 2;		uomBaroCnvt = 0;}
			  if (uparts[1] == 'mmHg') { uomBaro = ' mmHg'; dpBaro = 1;		uomBaroCnvt = 1;}
			  if (uparts[1] == 'mb') { uomBaro = ' mb'; dpBaro = 1;			uomBaroCnvt = 2;}
			  if (uparts[1] == 'hPa') { uomBaro = ' hPa'; dpBaro = 1;		uomBaroCnvt = 3;}
			  t = t+"Set='"+uomBaro+"' dpBaro='"+dpBaro+"'\n";
			  break;
		    case "Temperature" :
			  var tmp = uparts[1];
			  if (tmp.match(/F$/i) ) { uomTemp = '&deg;F';	uomTempCnvt = 0;}
			  if (tmp.match(/C$/i) ) { uomTemp = '&deg;C';	uomTempCnvt = 1;}
			  t = t+"Set='"+uomTemp+"'\n";
			  break;
			default :
		    // no 'default'
		  } // end switch (uparts[0])
		
	  } // end for
//	  alert(t);
      x.abort();

// 	  } // END if(wunits[0] 

	 } // END if (x.readyState == 4 && x.status == 200)

    } // END try

   	catch(e){ }  // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE

    } // END x.onreadystatechange = function() {
    x.open("GET", url, true);
	x.setRequestHeader("Cache-Control", "no-cache");
    x.setRequestHeader("X_USERAGENT", "Weerstation Leeuwarden");
    x.send(null);
//	alert("did Open and send of null");
  }
  
} // end ajaxGetUnits function


// ------------------------------------------------------------------------------------------
//  main function.. read wflash.txt and format <span class="ajax" id="ajax..."></span> areas
// ------------------------------------------------------------------------------------------
function ajaxLoaderVWSf(url) {
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(url);
  }
  if (x) { // got something back
    x.onreadystatechange = function() {
    try { if (x.readyState == 4 && x.status == 200) { // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE 
    var wflash = x.responseText.split(',');
	// now make sure we got the entire wflash.txt  -- thanks to Johnnywx
	// valid wflash.txt has 'F=nnnnnnnnnn'
	var wdpattern=/F\=(\d+)/; 
	if( wdpattern.test(wflash[0]) &&
		( updates <= maxupdates || maxupdates > 0  )) { // got it.. process wflash.txt
		if (maxupdates > 0 ) {updates++; } // increment counter if needed
        // main routine ---
		var datestamp = wflash[0]; // extracted from the F=() in the first string
		// Note: F=nnnnn: the value is number of seconds since Jan 01, 1900 00:00:00 UTC
		datestamp = datestamp.replace(wdpattern,"$1");
		var datezero = new Date('Jan 01, 1900 00:00:00 UTC');
		var datetime = new Date();
		datetime.setTime(datestamp*1000 + datezero.getTime()); // adjust date to offset from zero time
		set_ajax_obs("ajaxdatetime",datetime);
	
		set_ajax_obs("ajaxdatetimelocale",datetime.toLocaleString());
	
		//BEGIN TEMPERATURE DATA
		//CURRENT TEMPERATURE
		var temperature = convertTemp(wflash[9]);
		set_ajax_obs("ajaxtemp",temperature+ajaxUOM(uomTemp));
        set_ajax_obs("ajaxthermometer",
            "<img src=\"" + thermometer + "?t=" + temperature + "\" " +
            "width=\"54\" height=\"170\" alt=\"Current Temp is " + temperature+ajaxUOM(uomTemp) + "\" />" );	
		//CURRENT TEMPERATURE RATE
		var temprate = convertTempRate(wflash[37]);
		set_ajax_obs("ajaxtemprate",temprate+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
	
		set_ajax_obs("ajaxtemparrow", 
		   ajax_genarrow(temperature*1.0, temperature-temprate*1.0, '', 
			 langTempRising+uomTemp+langTempPerHour,
			 langTempFalling+uomTemp+langTempPerHour,1)
		);	
		//END TEMPERATURE DATA
	
	
		//BEGIN HEAT INDEX DATA
		//CURRENT HEAT INDEX
		if (wflash[9] >= 59) { // NOAA sez need 80F+ for Heat Index
			var heatindex = convertTemp(wflash[23]);
			set_ajax_obs("ajaxheatidx",heatindex+ajaxUOM(uomTemp));
		
			//CURRENT HEAT INDEX RATE
			var heatindexrate = convertTempRate(wflash[51]);
			set_ajax_obs("ajaxheatidxrate",heatindexrate+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
	
			set_ajax_obs("ajaxheatidxarrow", 
			   ajax_genarrow(heatindex*1.0, heatindex-heatindexrate*1.0, '', 
			     langTempRising+uomTemp+langTempPerHour,
			     langTempFalling+uomTemp+langTempPerHour,1)
			);	
		} else {
			set_ajax_obs("ajaxheatidx",'---');
			set_ajax_obs("ajaxheatidxrate",'---');
			set_ajax_obs("ajaxheatidxarrow",'');
		}
		//END HEAT INDEX DATA
	
	
		//BEGIN WIND CHILL DATA
		//CURRENT WIND CHILL
		if (wflash[9] < 59) { // NOAA sez Wind Chill starts at 40F
		    showwindchill = true;
			var windchill = convertTemp(wflash[21]);
			set_ajax_obs("ajaxwindchill",windchill+ajaxUOM(uomTemp));
		
			//CURRENT WIND CHILL RATE
			var windchillrate = convertTempRate(wflash[49]);
			set_ajax_obs("ajaxwindchillrate",windchillrate+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		
			set_ajax_obs("ajaxwindchillarrow", 
			   ajax_genarrow(windchill*1.0, windchill-windchillrate*1.0, '', 
			     langTempRising+uomTemp+langTempPerHour,
			     langTempFalling+uomTemp+langTempPerHour,1)
			);	
		} else {
		    showwindchill = false;
			set_ajax_obs("ajaxwindchill",'---');
			set_ajax_obs("ajaxwindchillrate",'---');
			set_ajax_obs("ajaxwindchillarrow",'');
		}
		//END WIND CHILL DATA
	
	
		//BEGIN PRESSURE DATA
		//CURRENT PRESSURE (Sea Level)
		var pressure = convertBaro(wflash[25]);
		set_ajax_obs("ajaxbaro",pressure+ajaxUOM(uomBaro));
	
		//CURRENT PRESSURE RATE (Sea Level)
		var barometerrate = convertBaro(wflash[53]);
		set_ajax_obs("ajaxbarorate",barometerrate+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
	
		set_ajax_obs("ajaxbaroarrow",
			   ajax_genarrow(pressure*1.0, pressure-barometerrate*1.0, '', 
			     langBaroRising+uomBaro+langBaroPerHour,
			     langBaroFalling+uomBaro+langBaroPerHour,1)
		);
		set_ajax_obs("ajaxbarotrend",ajax_get_barotrend(wflash[53]*1.0) );

		//END PRESSURE DATA
 

		//BEGIN RAW BAROMETER DATA
		//CURRENT RAW BAROMETER
		var rawbaro = convertBaro(wflash[10]);
		rawbaro = rawbaro * 1.0;
		set_ajax_obs("ajaxrawbaro",rawbaro.toFixed(1)+ajaxUOM(uomBaro));
	
		//CURRENT RAW BAROMETER RATE
		var rawbarorate = convertBaro(wflash[38]);
		set_ajax_obs("ajaxrawbarorate",rawbarorate+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
	
		set_ajax_obs("ajaxrawbaroarrow",
			   ajax_genarrow(rawbaro*1.0, rawbaro-rawbarorate*1.0, '', 
			     langBaroRising+uomBaro+langBaroPerHour,
			     langBaroFalling+uomBaro+langBaroPerHour,1)
		);	
		set_ajax_obs("ajaxrawbarotrend",ajax_get_barotrend(wflash[38]*1.0) );
		//END RAW BAROMETER DATA
	
		//BEGIN WIND DATA
	
		//CURRENT WIND GUST RATE
		var gustrate = convertWind(wflash[33]);
		set_ajax_obs("ajaxgustrate",gustrate+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
	
		//CURRENT WIND RATE
		var windrate = convertWind(wflash[32]);
		set_ajax_obs("ajaxwindrate",windrate+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
	
		//WIND DIRECTION DATA
		var winddir2 = wflash[3];
		winddir2 = winddir2 * 1.0;
		set_ajax_obs("ajaxwinddir2",winddir2.toFixed(0)+ajaxUOM(uomWindDir));
	
		//CURRENT WIND GUST
		var gust = convertWind(wflash[5]);
 
 		//CURRENT WIND SPEED
		var wind = convertWind(wflash[4]);
		
		set_ajax_obs("ajaxwinduom",uomWind);
		set_ajax_obs("ajaxgustuom",uomWind);


		var windcardinal = windDir(wflash[3]);
	    var windcardinalLang = windDirLang(wflash[3]);  // for language translation
	
		if (wind >= 0.1) {
			set_ajax_obs("ajaxwind",wind);
			set_ajax_uom("ajaxwinduom",true);
		} else {
			set_ajax_obs("ajaxwind",nilWind(langWindCalm,'0'));
			set_ajax_uom("ajaxwinduom",false);
		}
	
		if (gust > 0.0) {
			set_ajax_obs("ajaxgust",gust);
			set_ajax_uom("ajaxgustuom",true);
		} else {
			set_ajax_obs("ajaxgust",nilWind(langGustNone,'0'));
			set_ajax_uom("ajaxgustuom",false);
		}
	
		if (gust > 0.0 || wind > 0.0) {
			set_ajax_obs("ajaxwindicon","<img src=\"windpijl/"+windcardinal + ".png\" width=\"17\" height=\"17\" alt=\"" + 
						 langWindFrom + windcardinalLang + "\" title=\"" + 
						 langWindFrom + windcardinalLang + "\" /> ");
			set_ajax_obs("ajaxwindiconwr",
		                "<img src=\"" + imagedir + "/" +wrName +  windcardinal + wrType + "\" width=\""+
		                wrWidth+"\" height=\""+wrHeight+"\" alt=\"" + 
		                langWindFrom + windcardinalLang + "\" title=\"" +
						langWindFrom + windcardinalLang + "\" /> ");
			set_ajax_obs("ajaxwinddir",windcardinalLang);
		} else {
			set_ajax_obs("ajaxwindicon",nilWind(" ",
				"<img src=\"windpijl/"+windcardinal + ".png\" width=\"17\" height=\"17\" alt=\"" +
			    langWindFrom + windcardinalLang + "\" title=\"" + 
				langWindFrom + windcardinalLang + "\" /> "));
			set_ajax_obs("ajaxwinddir",nilWind('',windcardinalLang));
		    if (wrCalm != '') {
 		      set_ajax_obs("ajaxwindiconwr",
		      "<img src=\"" + imagedir + "/" + wrCalm + "\" width=\""+
		      wrWidth+"\" height=\""+wrHeight+"\" alt=\"" + 
		      langBeaufort[0] + "\" title=\"" +langBeaufort[0] + "\" /> ");
		    }
		}
		
		var beaufortnum = ajax_get_beaufort_number(wflash[4]); // calculate beaufort from wind speed
		set_ajax_obs("ajaxbeaufortnum",beaufortnum);
		set_ajax_obs("ajaxbeaufort",langBeaufort[beaufortnum]); // so we can translate if necess.
		
		var beaufortnumgust = ajax_get_beaufort_numbergust(wflash[5]); // calculate beaufort from wind speed
		set_ajax_obs("ajaxbeaufortnumgust",beaufortnumgust);
	
		//CURRENT WIND RATE
		var winddirrate = convertWind(wflash[31]);
		set_ajax_obs("ajaxwinddirrate",winddirrate+ajaxUOM(uomWindDir)+ajaxUOM(uomPerHr));
		//END WIND DATA
	
	
		//BEGIN RAIN DATA
		//YEARLY RAIN
		var rainyr = convertRain(wflash[11]);
		rainyr = rainyr * 1.0;
		rainyr = Math.ceil(10 * rainyr)/10;
		set_ajax_obs("ajaxrainyr",rainyr.toFixed(1)+ajaxUOM(uomRain));
		//END RAIN DATA
		//NOTE THAT OTHER RAIN DATA IS IN THE WFLASH2.TXT FILE SO IT IS IN THE SCRIPT BELOW THIS ONE
	
	
		//BEGIN HUMIDITY DATA
		//CURRENT HUMIDITY
		var humidity = wflash[7];
		humidity = humidity * 1.0;
		set_ajax_obs("ajaxhumidity",humidity.toFixed(0)+ajaxUOM(uomHumid));
	
		//CURRENT HUMIDITY RATE
		var humidityrate = wflash[35];
		humidityrate = humidityrate * 1.0;
		set_ajax_obs("ajaxhumidityrate",humidityrate.toFixed(1)+ajaxUOM(uomHumid)+ajaxUOM(uomPerHr));
		set_ajax_obs("ajaxhumidityarrow", 
			   ajax_genarrow(humidity*1.0, humidity-humidityrate*1.0, '', 
			     langHumRising+'%'+langHumPerHour,
			     langHumFalling+'%'+langHumPerHour,1)
		);	
		//END HUMIDITY DATA
	
	
		//BEGIN DEW POINT DATA
		//CURRENT DEW POINT
		var dew = convertTemp(wflash[24]);
		set_ajax_obs("ajaxdew",dew+ajaxUOM(uomTemp));
	
		//CURRENT DEW POINT RATE
		var dewrate = convertTempRate(wflash[52]);
		set_ajax_obs("ajaxdewrate",dewrate+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		set_ajax_obs("ajaxdewarrow", 
			   ajax_genarrow(dew*1.0, dew-dewrate*1.0, '', 
			     langTempRising+uomTemp+langTempPerHour,
			     langTempFalling+uomTemp+langTempPerHour,1)
		);	
		//END DEW POINT DATA
	
	
		//Current UV Index
	
		var uv = wflash[19];
		uv = uv * 1.0;
		set_ajax_obs("ajaxuv",uv.toFixed(1));
	
		var uvrate = wflash[47];
		uvrate = uvrate * 1.0;
		set_ajax_obs("ajaxuvrate",uvrate.toFixed(1)+ajaxUOM(uomPerHr));
	
		var	uvword = ajax_getUVrange(uv);
		set_ajax_obs("ajaxuvword",uvword);
	
		//Current Solar Radiation
		var solar = wflash[20];
		solar = solar * 1.0;
		set_ajax_obs("ajaxsolar",solar.toFixed(0)+ajaxUOM(uomSolar));
	
		var solarrate = wflash[48];
		solarrate = solarrate * 1.0;
		set_ajax_obs("ajaxsolarrate",solarrate.toFixed(0)+ajaxUOM(uomSolar)+ajaxUOM(uomPerHr));
	
		//Current Evaportranspiration
		var et = convertRain(wflash[18]);
		set_ajax_obs("ajaxet",et+ajaxUOM(uomRain));
	
		var etrate = convertRain(wflash[46]);
		etrate = etrate * 1.0;
		set_ajax_obs("ajaxetrate",etrate+ajaxUOM(uomRain)+ajaxUOM(uomPerHr));
	
		//UPDATED TIME AND DATE
		// note: date will be from wflash2[275]

		var ajaxtime = wflash[1];
		ajaxtime = ajaxtime.replace( "+" , "0");
		ajaxtime = ajax_format_time(ajaxtime);
		set_ajax_obs("ajaxtime",ajaxtime);
 
  		if (lastajaxtime != ajaxtime) {
			counterSecs = 0;                      // reset timer
			lastajaxtime = ajaxtime; // remember this time
		}

		var d = new Date();
huidiguur = d.getHours();
huidigmin = d.getMinutes();
huidiguurinsec = (huidiguur*3600);
huidigmininsec = (huidigmin*60);
huidigtijdinsec = (huidiguurinsec+huidigmininsec);

lastupdate = ajaxtime;
lastupdatesplit = lastupdate.split(":");
lastupdateuur = lastupdatesplit[0];
lastupdatemin = lastupdatesplit[1];
lastupdateuurinsec = (lastupdateuur*3600);
lastupdatemininsec = (lastupdatemin*60);
lastupdatetijdinsec = (lastupdateuurinsec+lastupdatemininsec);
var online;
if ((huidigtijdinsec - lastupdatetijdinsec) >= 0 && (huidigtijdinsec - lastupdatetijdinsec) < 600)
{
online = "<img src='img/check.gif' border='0'>&nbsp;<font color=green>Online (up and running)</font>";
}
else
{
online = "<img src='img/wissen.png' border='0'>&nbsp;<font color=#ff0000>Offline (storing)</font><br><br>Tijdelijk ziet u de meetgegevens van de vliegbasis Leeuwarden:<br><iframe src='weather/vliegbasis.php' width='490' height='110' scrolling='no' frameborder='0' marginwidth='0' marginheight='0'></iframe>";
}
set_ajax_obs("ajaxonline",online);
		

		// now ensure that the indicator flashes on every AJAX fetch
        element = document.getElementById("ajaxindicator");
		if (element) {
          element.style.color = flashcolor;
		}
		if (maxupdates > 0 && updates > maxupdates-1) { /* chg indicator to pause message */
			set_ajax_obs("ajaxindicator",langPauseMsg);
		}
		set_ajax_obs('ajaxupdatecount',updates);       /* for test pages */
		set_ajax_obs('ajaxmaxupdatecount',maxupdates); /* for test pages */

 	  } // END if(wflash[0] 

	 } // END if (x.readyState == 4 && x.status == 200)

    } // END try

   	catch(e){}  // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE

    } // END x.onreadystatechange = function() {
    x.open("GET", url, true);
	x.setRequestHeader("Cache-Control", "no-cache");
    x.setRequestHeader("X_USERAGENT", "Weerstation Leeuwarden");
    x.send(null);

	setTimeout("reset_ajax_color('')",flashtime); // change text back to default color 
	if ( (maxupdates == 0) || (updates < maxupdates-1)) {
      setTimeout("ajaxLoaderVWSf(wflashFile + '?' + new Date().getTime())", reloadTime); // get new data after 5 secs
	}
  }
} // end ajaxLoaderVWSf function

// ------------------------------------------------------------------------------------------
//  main function.. read wflash2.txt and format <span class="ajax" id="ajax..."></span> areas
// ------------------------------------------------------------------------------------------
function ajaxLoaderVWSf2(url) {
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(url);
  }
  if (x) { // got something back
    x.onreadystatechange = function() {
    try { if (x.readyState == 4 && x.status == 200) { // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE 
    var wflash2 = x.responseText.split(',');
	// now make sure we got the entire wflash.txt  -- thanks to Johnnywx
	// valid wflash2.txt has 'S=HH:MM:SS'
	var wdpattern=/S\=.*:/; // looks for 'S=HH:MM:SS' timestamp
	if( wdpattern.test(wflash2[0]) ) { // got it.. process wflash2.txt
        // main routine ---

		//BEGIN TEMPERATURE DATA
		//High AND TIME TEMPERATURE
		var hightemperature = convertTemp(wflash2[36]);
		set_ajax_obs("ajaxhightemp",hightemperature+ajaxUOM(uomTemp));
		hightemperaturetime = wflash2[64];
		set_ajax_obs("ajaxhightemptime",hightemperaturetime) ;
		
		//LOW AND TIME TEMPERATURE
		var lowtemperature = convertTemp(wflash2[92]);
		set_ajax_obs("ajaxlowtemp",lowtemperature+ajaxUOM(uomTemp));
		lowtemperaturetime = wflash2[120];
		set_ajax_obs("ajaxlowtemptime",lowtemperaturetime) ;
		
		//AVERAGE TEMPERATURE
		var avgtemperature = convertTemp(wflash2[8]);
		set_ajax_obs("ajaxavgtemp",avgtemperature+ajaxUOM(uomTemp));
		
		//High Rate AND TIME TEMPERATURE
		var highratetemperature = convertTempRate(wflash2[148]);
		set_ajax_obs("ajaxhighratetemp",highratetemperature+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		highratetemperaturetime = wflash2[176];
		set_ajax_obs("ajaxhighratetemptime",highratetemperaturetime) ;
		
		//Low Rate AND TIME TEMPERATURE
		var lowratetemperature = convertTempRate(wflash2[204]);
		set_ajax_obs("ajaxlowratetemp",lowratetemperature+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		lowratetemperaturetime = wflash2[232];
		set_ajax_obs("ajaxlowratetemptime",lowratetemperaturetime) ;
		//END TEMEPRATURE DATA
		
		
		
		//BEGIN DEW POINT DATA
		//High AND TIME DEW POINT
		var highdewpoint = convertTemp(wflash2[51]);
		set_ajax_obs("ajaxhighdew",highdewpoint+ajaxUOM(uomTemp));
		highdewpointtime = wflash2[79];
		set_ajax_obs("ajaxhighdewtime",highdewpointtime) ;
		
		//LOW AND TIME DEW POINT
		var lowdewpoint = convertTemp(wflash2[107]);
		set_ajax_obs("ajaxlowdew",lowdewpoint+ajaxUOM(uomTemp));
		lowdewpointtime = wflash2[135];
		set_ajax_obs("ajaxlowdewtime",lowdewpointtime) ;
		
		//AVERAGE DEW POINT
		var avgdewpoint = convertTemp(wflash2[23]);
		set_ajax_obs("ajaxavgdew",avgdewpoint+ajaxUOM(uomTemp));
		
		//High Rate AND TIME DEW POINT
		var highratedewpoint = convertTempRate(wflash2[163]);
		set_ajax_obs("ajaxhighratedew",highratedewpoint+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		highratedewpointtime = wflash2[191];
		set_ajax_obs("ajaxhighratedewtime",highratedewpointtime) ;
		
		//Low Rate AND TIME DEW POINT
		var lowratedewpoint = convertTempRate(wflash2[219]);
		set_ajax_obs("ajaxlowratedew",lowratedewpoint+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		lowratedewpointtime = wflash2[247];
		set_ajax_obs("ajaxlowratedewtime",lowratedewpointtime) ;
		//END DEW POINT DATA
		
		
		
		//BEGIN HUMIDITY DATA
		//High AND TIME HUMIDITY
		var highhumidity = wflash2[34];
		highhumidity = highhumidity * 1.0;
		set_ajax_obs("ajaxhighhumidity",highhumidity.toFixed(0)+ajaxUOM(uomHumid));
		highhumiditytime = wflash2[62];
		set_ajax_obs("ajaxhighhumiditytime",highhumiditytime) ;
		
		//LOW AND TIME HUMIDITY
		var lowhumidity = wflash2[90];
		lowhumidity = lowhumidity * 1.0;
		set_ajax_obs("ajaxlowhumidity",lowhumidity.toFixed(0)+ajaxUOM(uomHumid));
		lowhumiditytime = wflash2[118];
		set_ajax_obs("ajaxlowhumiditytime",lowhumiditytime) ;
		
		//AVERAGE HUMIDITY
		var avghumidity = wflash2[6];
		avghumidity = avghumidity * 1.0;
		set_ajax_obs("ajaxavghumidity",avghumidity.toFixed(0)+ajaxUOM(uomHumid));
		
		//High Rate AND TIME HUMIDITY
		var highratehumidity = wflash2[146];
		highratehumidity = highratehumidity * 1.0;
		set_ajax_obs("ajaxhighratehumidity",highratehumidity.toFixed(0)+ajaxUOM(uomHumid)+ajaxUOM(uomPerHr));
		highratehumiditytime = wflash2[174];
		set_ajax_obs("ajaxhighratehumiditytime",highratehumiditytime) ;
		
		//Low Rate AND TIME HUMIDITY
		var lowratehumidity = wflash2[202];
		lowratehumidity = lowratehumidity * 1.0;
		set_ajax_obs("ajaxlowratehumidity",lowratehumidity.toFixed(0)+ajaxUOM(uomHumid)+ajaxUOM(uomPerHr));
		lowratehumiditytime = wflash2[230];
		set_ajax_obs("ajaxlowratehumiditytime",lowratehumiditytime) ;
		//END HUMIDITY DATA
		
		
		
		//BEGIN WIND SPEED DATA
		//High AND TIME WIND SPEED
		var highwindspeed = convertWind(wflash2[31]);
		set_ajax_obs("ajaxhighwind",highwindspeed+ajaxUOM(uomWind));
		var beaufortnummaxwind = ajax_get_beaufort_numbermaxwind(wflash2[31]); // calculate beaufort from wind speed
		set_ajax_obs("ajaxbeaufortnummaxwind",beaufortnummaxwind);
	
		
		highwindspeedtime = wflash2[59];
		set_ajax_obs("ajaxhighwindtime",highwindspeedtime) ;
		
		//LOW AND TIME WIND SPEED
		var lowwindspeed = convertWind(wflash2[87]);
		set_ajax_obs("ajaxlowwind",lowwindspeed+ajaxUOM(uomWind));
		lowwindspeedtime = wflash2[115];
		set_ajax_obs("ajaxlowwindtime",lowwindspeedtime) ;
		
		//AVERAGE WIND SPEED
		var avgwindspeed = convertWind(wflash2[3]);
		set_ajax_obs("ajaxavgwind",avgwindspeed+ajaxUOM(uomWind));
		
		//High Rate AND TIME WIND SPEED
		var highratewindspeed = convertWind(wflash2[143]);
		set_ajax_obs("ajaxhighratewind",highratewindspeed+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
		highratewindspeedtime = wflash2[171];
		set_ajax_obs("ajaxhighratewindtime",highratewindspeedtime) ;
		
		//Low Rate AND TIME WIND SPEED
		var lowratewindspeed = convertWind(wflash2[199]);
		set_ajax_obs("ajaxlowratewind",lowratewindspeed+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
		lowratewindspeedtime = wflash2[227];
		set_ajax_obs("ajaxlowratewindtime",lowratewindspeedtime) ;
		//END WIND SPEED DATA
		
		
		
		//BEGIN WIND GUST DATA
		//High AND TIME WIND GUST
		var highwindgust = convertWind(wflash2[32]);
		set_ajax_obs("ajaxhighgust",highwindgust+ajaxUOM(uomWind));
		highwindgusttime = wflash2[60];
		set_ajax_obs("ajaxhighgusttime",highwindgusttime) ;
		
		//LOW AND TIME WIND GUST
		var lowwindgust = convertWind(wflash2[88]);
		set_ajax_obs("ajaxlowgust",lowwindgust+ajaxUOM(uomWind));
		lowwindgusttime = wflash2[116];
		set_ajax_obs("ajaxlowgusttime",lowwindgusttime) ;
		
		//AVERAGE WIND GUST
		var avgwindgust = convertWind(wflash2[4]);
		set_ajax_obs("ajaxavggust",avgwindgust+ajaxUOM(uomWind));
		var beaufortnumavggust = ajax_get_beaufort_numberavggust(wflash2[3]); 
		set_ajax_obs("ajaxbeaufortnumavggust",beaufortnumavggust);
		
		//High Rate AND TIME GUST SPEED
		var highratewindgust = convertWind(wflash2[144]);
		set_ajax_obs("ajaxhighrategust",highratewindgust+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
		highratewindgusttime = wflash2[172];
		set_ajax_obs("ajaxhighrategusttime",highratewindgusttime) ;
		
		//Low Rate AND TIME GUST SPEED
		var lowratewindgust = convertWind(wflash2[200]);
		lowratewindgust = lowratewindgust * 1.0;
		set_ajax_obs("ajaxlowrategust",lowratewindgust+ajaxUOM(uomWind)+ajaxUOM(uomPerHr));
		lowratewindgusttime = wflash2[228];
		set_ajax_obs("ajaxlowrategusttime",lowratewindgusttime) ;
		//END WIND GUST DATA
		
		
		
		//BEGIN WIND Direction DATA
		//High AND TIME Direction
		var highwinddirection = wflash2[30];
		highwinddirection = highwinddirection * 1.0;
		set_ajax_obs("ajaxhighwinddir",highwinddirection.toFixed(0)+ajaxUOM(uomWindDir));
		highwinddirectiontime = wflash2[58];
		set_ajax_obs("ajaxhighwinddirtime",highwinddirectiontime) ;
		
		//LOW AND TIME WIND Direction
		var lowwinddirection = wflash2[86];
		lowwinddirection = lowwinddirection * 1.0;
		set_ajax_obs("ajaxlowwinddir",lowwinddirection.toFixed(0)+ajaxUOM(uomWindDir));
		lowwinddirectiontime = wflash2[114];
		set_ajax_obs("ajaxlowwinddirtime",lowwinddirectiontime) ;
		
		//AVERAGE WIND Direction
		var avgwinddirection = wflash2[2];
		avgwinddirection = avgwinddirection * 1.0;
		set_ajax_obs("ajaxavgwinddir",avgwinddirection.toFixed(0)+ajaxUOM(uomWindDir));
		
		//High Rate AND TIME Direction
		var highratewinddirection = wflash2[142];
		highratewinddirection = highratewinddirection * 1.0;
		set_ajax_obs("ajaxhighratewinddir",highratewinddirection.toFixed(0)+ajaxUOM(uomWindDir)+ajaxUOM(uomPerHr));
		highratewinddirectiontime = wflash2[170];
		set_ajax_obs("ajaxhighratewinddirtime",highratewinddirectiontime) ;
		
		//Low Rate AND TIME Direction
		var lowratewinddirection = wflash2[198];
		lowratewinddirection = lowratewinddirection * 1.0;
		set_ajax_obs("ajaxlowratewinddir",lowratewinddirection.toFixed(0)+ajaxUOM(uomWindDir)+ajaxUOM(uomPerHr));
		lowratewinddirectiontime = wflash2[226];
		set_ajax_obs("ajaxlowratewinddirtime",lowratewinddirectiontime) ;
		//END WIND Direction DATA
		
		
		
		//BEGIN BAROMETER DATA (Sea Level Pressure)
		//High AND TIME BAROMETER
		var highbarometer = convertBaro(wflash2[52]);
		set_ajax_obs("ajaxhighbarometer",highbarometer+ajaxUOM(uomBaro));
		highbarometertime = wflash2[80];
		set_ajax_obs("ajaxhighbarometertime",highbarometertime) ;
		
		//LOW AND TIME BAROMETER
		var lowbarometer = convertBaro(wflash2[108]);
		set_ajax_obs("ajaxlowbarometer",lowbarometer+ajaxUOM(uomBaro));
		lowbarometertime = wflash2[136];
		set_ajax_obs("ajaxlowbarometertime",lowbarometertime) ;
		
		//AVERAGE BAROMETER
		var avgbarometer = convertBaro(wflash2[24]);
		set_ajax_obs("ajaxavgbarometer",avgbarometer+ajaxUOM(uomBaro));
		
		//High Rate AND TIME BAROMETER
		var highratebarometer = convertBaro(wflash2[164]);
		set_ajax_obs("ajaxhighratebarometer",highratebarometer+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
		highratebarometertime = wflash2[192];
		set_ajax_obs("ajaxhighratebarometertime",highratebarometertime) ;
		
		//Low Rate AND TIME BAROMETER
		var lowratebarometer = convertBaro(wflash2[220]);
		set_ajax_obs("ajaxlowratebarometer",lowratebarometer+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
		lowratebarometertime = wflash2[248];
		set_ajax_obs("ajaxlowratebarometertime",lowratebarometertime) ;
		//END BAROMETER DATA


		//BEGIN RAW BAROMETER DATA
		//High AND TIME BAROMETER
		var highrawbaro = convertBaro(wflash2[37]);
		highrawbaro = highrawbaro * 1.0;
		set_ajax_obs("ajaxhighrawbaro",highrawbaro.toFixed(1)+ajaxUOM(uomBaro));
		highrawbarotime = wflash2[65];
		set_ajax_obs("ajaxhighrawbarotime",highrawbarotime) ;
		
		//LOW AND TIME BAROMETER
		var lowrawbaro = convertBaro(wflash2[93]);
		lowrawbaro = lowrawbaro * 1.0;
		set_ajax_obs("ajaxlowrawbaro",lowrawbaro.toFixed(1)+ajaxUOM(uomBaro));
		lowrawbarotime = wflash2[121];
		set_ajax_obs("ajaxlowrawbarotime",lowrawbarotime) ;
		
		//AVERAGE BAROMETER
		var avgrawbaro = convertBaro(wflash2[9]);
		avgrawbaro = avgrawbaro * 1.0;
		avgrawbaro = avgrawbaro.toFixed(1);
		set_ajax_obs("ajaxavgrawbaro",avgrawbaro+ajaxUOM(uomBaro));
		
		//High Rate AND TIME BAROMETER
		var highraterawbaro = convertBaro(wflash2[149]);
		set_ajax_obs("ajaxhighraterawbaro",highraterawbaro+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
		highraterawbarotime = wflash2[177];
		set_ajax_obs("ajaxhighraterawbarotime",highraterawbarotime) ;
		
		//Low Rate AND TIME BAROMETER
		var lowraterawbaro = convertBaro(wflash2[205]);
		set_ajax_obs("ajaxlowraterawbaro",lowraterawbaro+ajaxUOM(uomBaro)+ajaxUOM(uomPerHr));
		lowraterawbarotime = wflash2[233];
		set_ajax_obs("ajaxlowraterawbarotime",lowraterawbarotime) ;
		//END RAW BAROMETER DATA
		
		
		//BEGIN HEAT INDEX DATA
		//High AND TIME HEAT INDEX
		var highheatidx = convertTemp(wflash2[50]);
		set_ajax_obs("ajaxhighheatidx",highheatidx+ajaxUOM(uomTemp));
		highheatidxtime = wflash2[78];
		set_ajax_obs("ajaxhighheatidxtime",highheatidxtime) ;
		
		//LOW AND TIME HEAT INDEX
		var lowheatidx = convertTemp(wflash2[106]);
		set_ajax_obs("ajaxlowheatidx",lowheatidx+ajaxUOM(uomTemp));
		lowheatidxtime = wflash2[134];
		set_ajax_obs("ajaxlowheatidxtime",lowheatidxtime) ;
		
		//AVERAGE HEAT INDEX
		var avgheatidx = convertTemp(wflash2[22]);
		set_ajax_obs("ajaxavgheatidx",avgheatidx+ajaxUOM(uomTemp));
		
		//High Rate AND TIME HEAT INDEX
		var highrateheatidx = convertTempRate(wflash2[162]);
		set_ajax_obs("ajaxhighrateheatidx",highrateheatidx+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		highrateheatidxtime = wflash2[190];
		set_ajax_obs("ajaxhighrateheatidxtime",highrateheatidxtime) ;
		
		//Low Rate AND TIME HEAT INDEX
		var lowrateheatidx = convertTempRate(wflash2[218]);
		set_ajax_obs("ajaxlowrateheatidx",lowrateheatidx+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		lowrateheatidxtime = wflash2[246];
		set_ajax_obs("ajaxlowrateheatidxtime",lowrateheatidxtime) ;
		//END HEAT INDEX DATA
		
		
		
		//BEGIN WIND CHILL DATA
		//High AND TIME WIND CHILL
		var highwindchill = convertTemp(wflash2[48]);
		set_ajax_obs("ajaxhighwindchill",highwindchill+ajaxUOM(uomTemp));
		highwindchilltime = wflash2[76];
		set_ajax_obs("ajaxhighwindchilltime",highwindchilltime) ;
		
		if (showwindchill)
		{
		//LOW AND TIME WIND CHILL
		var lowwindchill = convertTemp(wflash2[104]);
		set_ajax_obs("ajaxlowwindchill",lowwindchill+ajaxUOM(uomTemp));
		lowwindchilltime = wflash2[132];
		set_ajax_obs("ajaxlowwindchilltime",lowwindchilltime) ;
		}
		else
		{
		    set_ajax_obs("ajaxlowwindchill",'---');
			set_ajax_obs("ajaxlowwindchilltime",'');
		}
		
		//AVERAGE WIND CHILL
		var avgwindchill = convertTemp(wflash2[20]);
		set_ajax_obs("ajaxavgwindchill",avgwindchill+ajaxUOM(uomTemp));
		
		//High Rate AND TIME WIND CHILL
		var highratewindchill = convertTempRate(wflash2[160]);
		set_ajax_obs("ajaxhighratewindchill",highratewindchill+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		highratewindchilltime = wflash2[188];
		set_ajax_obs("ajaxhighratewindchilltime",highratewindchilltime) ;
		
		//Low Rate AND TIME WIND CHILL
		var lowratewindchill = convertTempRate(wflash2[216]);
		set_ajax_obs("ajaxlowratewindchill",lowratewindchill+ajaxUOM(uomTemp)+ajaxUOM(uomPerHr));
		lowratewindchilltime = wflash2[244];
		set_ajax_obs("ajaxlowratewindchilltime",lowratewindchilltime) ;
		//END WIND CHILL DATA
		
		//BEGIN UV DATA
		//High AND TIME UV
		var highuv = wflash2[46];
		highuv = highuv * 1.0;
		set_ajax_obs("ajaxhighuv",highuv.toFixed(1));
		highuvtime = wflash2[74];
		set_ajax_obs("ajaxhighuvtime",highuvtime) ;
		
		//LOW AND TIME UV
		var lowuv = wflash2[102];
		lowuv = lowuv * 1.0;
		set_ajax_obs("ajaxlowuv",lowuv.toFixed(1));
		lowuvtime = wflash2[130];
		set_ajax_obs("ajaxlowuvtime",lowuvtime) ;
		
		//AVERAGE UV
		var avguv = wflash2[18];
		avguv = avguv * 1.0;
		set_ajax_obs("ajaxavguv",avguv.toFixed(1));
		
		//High Rate AND TIME UV
		var highrateuv = wflash2[158];
		highrateuv = highrateuv * 1.0;
		set_ajax_obs("ajaxhighrateuv",highrateuv.toFixed(1)+ajaxUOM(uomPerHr));
		highrateuvtime = wflash2[186];
		set_ajax_obs("ajaxhighrateuvtime",highrateuvtime) ;
		
		//Low Rate AND TIME UV
		var lowrateuv = wflash2[214];
		lowrateuv = lowrateuv * 1.0;
		set_ajax_obs("ajaxlowrateuv",lowrateuv.toFixed(1)+ajaxUOM(uomPerHr));
		lowrateuvtime = wflash2[242];
		set_ajax_obs("ajaxlowrateuvtime",lowrateuvtime) ;
		//END UV DATA
		
		
		//BEGIN SOLAR DATA
		//High AND TIME SOLAR
		var highsolar = wflash2[47];
		highsolar = highsolar * 1.0;
		set_ajax_obs("ajaxhighsolar",highsolar.toFixed(0)+ajaxUOM(uomSolar));
		highsolartime = wflash2[75];
		set_ajax_obs("ajaxhighsolartime",highsolartime) ;
		
		//LOW AND TIME SOLAR
		var lowsolar = wflash2[103];
		lowsolar = lowsolar * 1.0;
		set_ajax_obs("ajaxlowsolar",lowsolar.toFixed(0)+ajaxUOM(uomSolar));
		lowsolartime = wflash2[131];
		set_ajax_obs("ajaxlowsolartime",lowsolartime) ;
		
		//AVERAGE SOLAR
		var avgsolar = wflash2[19];
		avgsolar = avgsolar * 1.0;
		set_ajax_obs("ajaxavgsolar",avgsolar.toFixed(0)+ajaxUOM(uomSolar));
		
		//High Rate AND TIME SOLAR
		var highratesolar = wflash2[159];
		highratesolar = highratesolar * 1.0;
		set_ajax_obs("ajaxhighratesolar",highratesolar.toFixed(0)+ajaxUOM(uomSolar)+ajaxUOM(uomPerHr));
		highratesolartime = wflash2[187];
		set_ajax_obs("ajaxhighratesolartime",highratesolartime) ;
		
		//Low Rate AND TIME SOLAR
		var lowratesolar = wflash2[215];
		lowratesolar = lowratesolar * 1.0;
		set_ajax_obs("ajaxlowratesolar",lowratesolar.toFixed(0)+ajaxUOM(uomSolar)+ajaxUOM(uomPerHr));
		lowratesolartime = wflash2[243];
		set_ajax_obs("ajaxlowratesolartime",lowratesolartime) ;
		//END SOLAR DATA
		
		
		//BEGIN EVAPOTRANSPIRATION DATA
		//High AND TIME EVAPOTRANSPIRATION
		var highet = convertRain(wflash2[45]);
		set_ajax_obs("ajaxhighet",highet+ajaxUOM(uomRain));
		highettime = wflash2[73];
		set_ajax_obs("ajaxhighettime",highettime) ;
		
		//LOW AND TIME EVAPOTRANSPIRATION
		var lowet = convertRain(wflash2[101]);
		set_ajax_obs("ajaxlowet",lowet+ajaxUOM(uomRain));
		lowettime = wflash2[129];
		set_ajax_obs("ajaxlowettime",lowettime) ;
		
		//AVERAGE EVAPOTRANSPIRATION
		var avget = convertRain(wflash2[17]);
		set_ajax_obs("ajaxavget",avget+ajaxUOM(uomRain));
		
		//High Rate AND TIME EVAPOTRANSPIRATION
		var highrateet = convertRain(wflash2[157]);
		set_ajax_obs("ajaxhighrateet",highrateet+ajaxUOM(uomRain)+ajaxUOM(uomPerHr));
		highrateettime = wflash2[185];
		set_ajax_obs("ajaxhighrateettime",highrateettime) ;
		
		//Low Rate AND TIME EVAPOTRANSPIRATION
		var lowrateet = convertRain(wflash2[213]);
		set_ajax_obs("ajaxlowrateet",lowrateet+ajaxUOM(uomRain)+ajaxUOM(uomPerHr));
		lowrateettime = wflash2[241];
		set_ajax_obs("ajaxlowrateettime",lowrateettime) ;
		//END EVAPOTRANSPIRATION DATA
		
		
		//BEGIN MISC DATA
		//DAILY WIND RUN
		dailywindrun = convertDistance(wflash2[258]);
		set_ajax_obs("ajaxdailywindrun",dailywindrun+ajaxUOM(uomDistance));
		
		//MONTHLY WIND RUN
		monthlywindrun = convertDistance(wflash2[265]);
		set_ajax_obs("ajaxmonthlywindrun",monthlywindrun+ajaxUOM(uomDistance));
		
		//YEARLY WIND RUN
		yearlywindrun = convertDistance(wflash2[268]);
		set_ajax_obs("ajaxyearlywindrun",yearlywindrun+ajaxUOM(uomDistance));
		
		//HEAT STRESS
		heatstress = wflash2[269];
		heatstress = heatstress.replace(/\+/g," ");
		set_ajax_obs("ajaxheatstress",heatstress);
		
		//COMFORT LEVEL
		comfortlevel = wflash2[270];
		comfortlevel = comfortlevel.replace(/\+/g," ");
		set_ajax_obs("ajaxcomfortlevel",comfortlevel);
		set_ajax_obs("ajaxweerbeleving",ajax_get_weerbeleving(comfortlevel));

// removed to first routine to enable language translation of trend
//		//RAW BAROMETER TREND
//		rawbarotrend = wflash2[272];
//		rawbarotrend = rawbarotrend.replace(/\+/g," ");
//		set_ajax_obs("ajaxrawbarotrend",rawbarotrend);
//		
//		//SEA LEVEL PRESSURE TREND
//		pressuretrend = wflash2[273];
//		pressuretrend = pressuretrend.replace(/\+/g," ");
//		set_ajax_obs("ajaxbarotrend",pressuretrend);
		
		//DAILY DEGREE DAY COOLING
		degreedaycool = wflash2[260];
		degreedaycool = degreedaycool * 1.0;
		set_ajax_obs("ajaxdegreedaycool",degreedaycool.toFixed(1));
		
		//DAILY DEGREE DAY HEATING
		degreedayheat = wflash2[259];
		degreedayheat = degreedayheat * 1.0;
		set_ajax_obs("ajaxdegreedayheat",degreedayheat.toFixed(1));
		
		//MONTHLY DEGREE DAY COOLING
		degreemonthcool = wflash2[264];
		degreemonthcool = degreemonthcool * 1.0;
		set_ajax_obs("ajaxdegreemonthcool",degreemonthcool.toFixed(1));
		
		//MONTHLY DEGREE DAY HEATING
		degreemonthheat = wflash2[263];
		degreemonthheat = degreemonthheat * 1.0;
		set_ajax_obs("ajaxdegreemonthheat",degreemonthheat.toFixed(1));
		
		//YEARLY DEGREE DAY COOLING
		degreeyearcool = wflash2[267];
		degreeyearcool = degreeyearcool * 1.0;
		set_ajax_obs("ajaxdegreeyearcool",degreeyearcool.toFixed(1));
		
		//YEARLY DEGREE DAY HEATING
		degreeyearheat = wflash2[266];
		degreeyearheat = degreeyearheat * 1.0;
		set_ajax_obs("ajaxdegreeyearheat",degreeyearheat.toFixed(1));

//  beaufort moved to computed section above to enable language translation feature
//		beaufort = wflash2[274];
//		beaufort = beaufort.replace(/\+/g," ");
//		set_ajax_obs("ajaxbeaufort",beaufort);
		
		forecast = wflash2[271];
		forecast = forecast.replace(/\+/g," ");
		set_ajax_obs("ajaxforecast",forecast);
		
		set_ajax_obs("ajaxsunrise",wflash2[277]);
		set_ajax_obs("ajaxsunset",wflash2[278]);
		set_ajax_obs("ajaxmoonrise",wflash2[279]);
		set_ajax_obs("ajaxmoonset",wflash2[280]);
		
		//END MISC DATA
		
		//BEGIN RAIN DATA
		//DAILY RAIN
		var rain = convertRain(wflash2[254]);
		set_ajax_obs("ajaxrain",rain);
		
		//24 HOURS RAIN
		var rain24 = convertRain(wflash2[256]);
		set_ajax_obs("ajaxrain24",rain24);
		
		//HOURLY RAIN
		var rainhr = convertRain(wflash2[255]);
		set_ajax_obs("ajaxrainhr",rainhr);
		
		//MONTHLY RAIN
		var rainmo = convertRain(wflash2[262]);
		//rainmo = rainmo * 1.0;
		//rainmo = rainmo.toFixed(1);
		//rainmo = Math.ceil(rainmo);
		//set_ajax_obs("ajaxrainmo",rainmo.toFixed(1)+ajaxUOM(uomRain));
		set_ajax_obs("ajaxrainmo",rainmo);
		
		//RAIN RATE
		var rainrate = convertRain(wflash2[255]);
		set_ajax_obs("ajaxrainratehr",rainrate);
		set_ajax_obs("ajaxparaplu",ajax_get_paraplu(rainrate));
		//END RAIN DATA
		  
		//UPDATED DATE
		var ajaxdate = wflash2[275];
		set_ajax_obs("ajaxdate",ajaxdate);
	
		// now ensure that the indicator flashes on every AJAX fetch
        element = document.getElementById("ajaxindicator");
		if (element) {
          element.style.color = flashcolor;
		}

 	  } // END if(wflash[0] = '12345' and '!!' at end)

	 } // END if (x.readyState == 4 && x.status == 200)

    } // END try

   	catch(e){}  // Mike Challis added fix to fix random error: NS_ERROR_NOT_AVAILABLE

    } // END x.onreadystatechange = function() {
    x.open("GET", url, true);
	x.setRequestHeader("Cache-Control", "no-cache");
    x.setRequestHeader("X_USERAGENT", "Weerstation Leeuwarden");
    x.send(null);
    if ( (maxupdates == 0) || (updates < maxupdates-1)) {
      setTimeout("ajaxLoaderVWSf2(wflashFile2 + '?' + new Date().getTime())", reloadTime); // get new data after 5 secs
	}
  }
} // end ajaxLoaderVWSf2 function

// ---------------------------------------------------------------------------------------------
// the following runs once when this script is loaded by the browser.
//

// Start the countup timer
window.setInterval("ajax_countup()", 1000); // run the counter for seconds since update

// Start the pair of AJAX loaders .. they'll reinvoke themselves
ajaxLoaderVWSf(wflashFile + '?' + new Date().getTime()); 
ajaxLoaderVWSf2(wflashFile2 + '?' + new Date().getTime()); 


// ---------------- end of ajaxVWSwxf.js --------------------------------
// ]]>