// CumulusWeatherConsole
//
// by David A Jamieson
// daj@findmyinbox.co.uk
//
// Version 1.2 - 12 Jan 2010
//

// Edit the next two lines.  The first to note the location of your cumulus realtime.txt file on your web server
// the second line notes how often to refresh the display in seconds.  

var realtime_location="/cumulus/realtime.txt";
var update_seconds=15;


// DO NOT change anything below here.
// ---------------------------------------------------------------------------------------------------------------
//


var tick_counter=0;
var first_run=1;
setInterval('getlivedata()', 1000); 

function getlivedata() {

if (tick_counter <= 0) {


// read realtime.txt file and parse it using a space

 var d = new Date();
 var realdata = $.ajax({url: realtime_location + "?" + d.getTime(), async: false, dataType: "html" }).responseText;


 if (realdata.indexOf(realtime_location) == -1 ) {    
 var rawdata=realdata.split(' ');
 // Set all IDs to their values
 $("#temp").html(rawdata[2]+" &deg;"+rawdata[14]);
 $("#temptrend").html(rawdata[25]);
 $("#hum").html(rawdata[3]+"%");
 
 
 $("#rainrate").html(rawdata[8]+" "+rawdata[16]+"/hr");
 $("#raintoday").html(rawdata[9]+" "+rawdata[16]);
 $("#rainhour").html(rawdata[47]+" "+rawdata[16]);
 
 $("#windavg").html(rawdata[5]+" "+rawdata[13]);
 $("#windlatest").html(rawdata[6]+" "+rawdata[13]);
 $("#winddir").html(rawdata[11]);
 $("#pressure").html(rawdata[10]+" "+rawdata[15]);
 $("#presstrend").html(rawdata[18]);
 
 $("#today-temphigh").html(rawdata[26] +" at "+ rawdata[27]);
 $("#today-templow").html(rawdata[28] +" at "+ rawdata[29]);
 $("#today-windgust").html(rawdata[32] +" at "+ rawdata[33]);
 $("#today-windavg").html(rawdata[30] +" at "+ rawdata[31]);
 
 $("#last_contact").html(rawdata[0] +" "+ rawdata[1]);
 
 // Calculate the Beaufort desc
var beau = rawdata[12];
if (beau=="0"){var bdesc="0 Cisza, flauta";} else
if (beau=="1"){var bdesc="1 Powiew";} else
if (beau=="2"){var bdesc="2 Slaby wiatr";} else
if (beau=="3"){var bdesc="3 Lagodny wiatr";} else
if (beau=="4"){var bdesc="4 Umiarkowany wiatr";} else
if (beau=="5"){var bdesc="5 Dosc silny wiatr";} else
if (beau=="6"){var bdesc="6 Silny wiatr";} else
if (beau=="7"){var bdesc="7 Bardzo silny wiatr";} else
if (beau=="8"){var bdesc="8 Sztorm, wicher";} else
if (beau=="9"){var bdesc="9 Silny sztorm";} else
if (beau=="10"){var bdesc="10 Bardzo silny sztorm";} else
if (beau=="11"){var bdesc="11 Gwaltowny sztorm";} else
if (beau=="12"){var bdesc="12 Huragan";} else
{ var bdesc="";}
$("#beaufort").html(bdesc);

 // Calculate the forecast
var fcast = rawdata[48];
if (fcast=="0"){var fdesc="Niedostepna!";} else
if (fcast=="1"){var fdesc="Stabilna dobra pogoda";} else
if (fcast=="2"){var fdesc="Dobra pogoda";} else
if (fcast=="3"){var fdesc="Poprawa pogody";} else
if (fcast=="4"){var fdesc="Dobra pogoda, coraz mniej stabilna";} else
if (fcast=="5"){var fdesc="Dobra pogoda, mozliwe opady przelotne";} else
if (fcast=="6"){var fdesc="Dosc dobra pogoda, poprawa";} else
if (fcast=="7"){var fdesc="Dosc dobra pogoda, poczatkowo mozliwe opady";} else
if (fcast=="8"){var fdesc="Dosc dobra pogoda, pozniej opady";} else
if (fcast=="9"){var fdesc="Poczatkowo opady, poprawa pogody";} else
if (fcast=="10"){var fdesc="Zmienna, poprawa pogody";} else
if (fcast=="11"){var fdesc="Dosc dobra pogoda, opady o charakterze przelotnym";} else
if (fcast=="12"){var fdesc="Raczej niestabilna, pozniej poprawa pogody";} else
if (fcast=="13"){var fdesc="Pogoda niestabilna, prawdopodobna poprawa pogody";} else
if (fcast=="14"){var fdesc="Deszczowo, okresowe przejasnienia";} else
if (fcast=="15"){var fdesc="Deszczowo, coraz mniej stabilna pogoda";} else
if (fcast=="16"){var fdesc="Zmienna pogoda, niewielkie opady";} else
if (fcast=="17"){var fdesc="Niestabilna pogoda, okresowo krotkotrwala poprawa pogody";} else
if (fcast=="18"){var fdesc="Niestabilna pogoda, nastepnie opady";} else
if (fcast=="19"){var fdesc="Niestabilna pogoda, niewielkie opady";} else
if (fcast=="20"){var fdesc="Przewaznie bardzo niestabilna pogoda";} else
if (fcast=="21"){var fdesc="Przelotne opady, pogorszenie pogody";} else
if (fcast=="22"){var fdesc="Okresowo opady, bardzo niestabilna pogoda";} else
if (fcast=="23"){var fdesc="Opady w krotkich odstepach czasu";} else
if (fcast=="24"){var fdesc="Opady, bardzo niestabilna pogoda";} else
if (fcast=="25"){var fdesc="Burzowo, mozliwa poprawa pogody";} else
if (fcast=="26"){var fdesc="Burzowo, duze opady";} else
{ var fdesc="";}
if (fdesc == "" || fdesc == "unknown!") {
	$("#forecast").hide();
	}
else
	{
	$("#forecast").show();
	}
$("#forecast").html("Prognoza pogody: " + fdesc);


if (first_run == "1") {
	$("#wait-msg").hide('');
	$("#c_temp").fadeIn('slow');
	$("#c_press").fadeIn('slow');
	$("#c_rain").fadeIn('slow');
	$("#c_wind").fadeIn('slow');
	$("#c_today").fadeIn('slow');
	$("#footer").fadeIn('slow');
	firstrun="0";
}
}
else  // can't load the data file
{
if (first_run == 1)  // only show the error if this is the first attempt at loading it
{
	$("#wait-msg").html('Unable to find the data file');
	}
}


tick_counter=update_seconds;
}
else
{
tick_counter--;
$("#refresh_in").html(tick_counter);
}

}

function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=700,height=560,scrollbars=no');
return false;
}

