<!--
// Special thanks to: Kevin Reed http://www.tnetweather.com
// Special thanks to: Pinto http://www.joske-online.be
// Pinto wrote the basic AJAX code for this page!
//
// 25 oktober 2008 first try to write this script for Cumulus (http://sandaysoft.com)
//
// by Pinto
//
//Polish version and snow+comment section by Fila (fila.net.pl)
/////////////////////IMPORTAND NOTICE////////////////////////////////////////////////////////////////
//heat index is still pointing to outside temperature until steve releases a new version of cumulus
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// --- added flash-change on data update functions from Ken at http://www.saratoga-weather.org
// -- begin settings
//
//
var flashcolor = '#FF0000'; // color to flash for changed observations
var flashtime = '2000'; // miliseconds to keep flash color on (2000 = 2 seconds);
// -- end of settings 
var ie4=document.all;

function getElementsByName_iefix(tag, name) {

  var elem = document.getElementsByTagName(tag);
  var arr = new Array();
  for(i = 0,iarr = 0; i < elem.length; i++) {
    att = elem[i].getAttribute("name");
    if(att == name) {
      arr[iarr] = elem[i];
      iarr++;
    }
  }
return arr;
}

function reset_ajax_color( ) {
// reset all the <span name="ajax"...> styles to have no color override
  if (ie4) {
    elements = getElementsByName_iefix("span","ajax");
  } else {
    elements = document.getElementsByName("ajax");
  }
  numelements = elements.length;
  for (var index=0;index!=numelements;index++) {
    element = elements[index];
    element.style.color='';
  }
}


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
  element = document.getElementById(name);
  lastobs = element.getAttribute("lastobs");
  element.setAttribute("lastobs",value);
  if (value != lastobs) {
    element.style.color=flashcolor;
  }
  element.innerHTML = value;
}

function set_ajax_obs1( name, value ) {
  element = document.getElementById(name);
  element.innerHTML = value;
}
// --- end of flash-change functions
//
// --- begin of functions to convert values
//
var langBaroTrend = new Array (
 "Stałe", "Powoli rośnie", "Gwałtownie rośnie", "Powoli spada", "Gwałtownie spada");

function ajax_get_barotrend(btrnd) {
// routine from Anole's wxsticker PHP (adapted to JS by Ken True)
// input: trend in hPa or millibars
//   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(1 hour)
   if ((btrnd >= -0.23) && (btrnd <= 0.23)) { return(langBaroTrend[0]); }
   if ((btrnd > 0.23) && (btrnd < 0.66)) { return(langBaroTrend[1]); }
   if (btrnd >= 0.66) { return(langBaroTrend[2]); }
   if ((btrnd < -0.23) && (btrnd > -0.66)) { return(langBaroTrend[3]); }
   if (btrnd <= -0.66) { return(langBaroTrend[4]); }
  return(btrnd);
}

function windrunUnit(windUnit) {
   if (windUnit == "m/s") { return " km"; }
   if (windUnit == "km/h") { return " km"; }
   if (windUnit == "mph") { return " miles"; }
   if (windUnit == "kts") { return " nm"; }
  return(windUnit);
}

var langBeaufort = new Array ( /* Beaufort 0 to 12 in array */
 "Cisza", "Powiew", "Słaby wiatr", "Łagodny wiatr", "Umiarkowany wiatr", "Dość silny wiatr",
 "Silny wiatr", "Bardzo silny wiatr", "Sztorm", "Silny sztorm", "	Bardzo silny sztorm",
 "Gwałtowny sztorm", "Huragan"
);
//
// --- end of functions to convert values
//
function ajaxLoader(url) {
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if (x) {
    x.onreadystatechange = function() {
      if (x.readyState == 4 && x.status == 200) {

 		//updating text instead of " <#interval> minutes"        
		//set_ajax_obs("ajaxintervaltext", "5 seconds");

		//Temp
		temp = (x.responseText.split(' ')[2]+ " °" + x.responseText.split(' ')[14]);
		set_ajax_obs("ajaxtemp", temp);

		temptrend = (x.responseText.split(' ')[25]+ " °" + x.responseText.split(' ')[14] + "/godzina");
		set_ajax_obs("ajaxtemptrend", temptrend);

 		//Time
		set_ajax_obs("ajaxtime", " " + x.responseText.split(' ')[1] + " " + x.responseText.split(' ')[0]);

		//Windchill
		set_ajax_obs("ajaxchill", x.responseText.split(' ')[24] + " °" + x.responseText.split(' ')[14]);

		//Humidity ...
		set_ajax_obs("ajaxhum", x.responseText.split(' ')[3] + "%");

		//Dewpt        
		set_ajax_obs("ajaxdewpt", x.responseText.split(' ')[4] + " °" + x.responseText.split(' ')[14]);
							
		//heat index - humidex       
		set_ajax_obs("ajaxheatindex", x.responseText.split(' ')[42] + " °" + x.responseText.split(' ')[14]);
							
 		//dayrain        
		set_ajax_obs("ajaxrfall", x.responseText.split(' ')[9] +  " " + x.responseText.split(' ')[16]);

 		//rainrate        
		set_ajax_obs("ajaxrrate", x.responseText.split(' ')[8] +  " " + x.responseText.split(' ')[16] + "/godzina");

 		//rain month        
		set_ajax_obs("ajaxrmonth", x.responseText.split(' ')[19] +  " " + x.responseText.split(' ')[16]);

 		//rain year        
		set_ajax_obs("ajaxryear", x.responseText.split(' ')[20] +  " " + x.responseText.split(' ')[16]);

 		//wind latest        
		set_ajax_obs("ajaxwlatest", x.responseText.split(' ')[6] +  " " + x.responseText.split(' ')[13]);

 		//wind speed        
		set_ajax_obs("ajaxwspeed", x.responseText.split(' ')[5] +  " " + x.responseText.split(' ')[13]);

 		//windrun        
		set_ajax_obs("ajaxwingust", x.responseText.split(' ')[40] +  " "  + x.responseText.split(' ')[13]);

 		//wind bearing        
		set_ajax_obs("ajaxavgbearing", x.responseText.split(' ')[7] +  "° " + x.responseText.split(' ')[11]);

 		//Beaufort        
		set_ajax_obs("ajaxbeaufort", "Skala Beauforta F" + x.responseText.split(' ')[12]);

 		//Beaufort word
		set_ajax_obs("ajaxbeaudesc", langBeaufort[x.responseText.split(' ')[12]]);

 		//Barometer
		set_ajax_obs("ajaxpress", x.responseText.split(' ')[10] + " " + x.responseText.split(' ')[15]);

		//Barometer trend value and units        
		set_ajax_obs("ajaxpresstrendval", x.responseText.split(' ')[18] + " " + x.responseText.split(' ')[15] + "/godzina");

 		//Barometer trend word
		if (x.responseText.split(' ')[15] == "in") {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18] * 33.86388158));
		}
		else {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18]));
		}
 
   }
    }
    x.open("GET", url, true);
    x.send(null);

    setTimeout("reset_ajax_color()",2000); // change text back to default color after 2 secs
    setTimeout("ajaxLoader('realtime.txt?'+new Date())", 60000); // get new data after 60 secs
                             
  }
}
//snow and comment
function ajaxLoaderXml(urlp) {
  if (document.getElementById) {
    var y = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if (y) {
  y.onreadystatechange = function() {	
      if (y.readyState == 4 ) {


		//Comment
		if(y.responseText.split(';')[0] == false) {
			comm = "brak";
		} else {
			comm = y.responseText.split(';')[0];
		}
		set_ajax_obs1("ajaxcomment", comm);

 		//SnowLying
		/*set_ajax_obs("ajaxtime", " " + x.responseText.split(';')[1] + " " + x.responseText.split(' ')[0]);*/

		//SnowFalling
		if(y.responseText.split(';')[0] == false) {
			snowfalling = "b.d.";
		} else {
			snowfalling = y.responseText.split(';')[2];
		}
		set_ajax_obs1("ajaxsnowfalling", snowfalling);

		//SnowDepth
		if(y.responseText.split(';')[0] == false) {
			snowdepth = "b.d.";
		} else {
			snowdepth = y.responseText.split(';')[3];
		}
		set_ajax_obs1("ajaxsnowdepth", snowdepth);

		//Snow Time  
		if(y.responseText.split(';')[0] == false) {
			t = new Date();
			snowt = (t.getDate()<10?"0":"")+t.getDate()+"-"+((t.getMonth()+1)<10?"0":"")+(t.getMonth()+1)+"-"+t.getFullYear();
		} else {
			snowt = y.responseText.split(';')[4];
			if(y.responseText.split(';')[5]!='-') {snowt += " - Obserwacje: "+y.responseText.split(';')[5];} 
		}    
		set_ajax_obs1("snowtime", snowt);
		
		//Comment Time
		if(y.responseText.split(';')[0] == false) {
			t = new Date();
			commentt = (t.getDate()<10?"0":"")+t.getDate()+"-"+((t.getMonth()+1)<10?"0":"")+(t.getMonth()+1)+"-"+t.getFullYear() ;
		} else {
			commentt = y.responseText.split(';')[4];
			if(y.responseText.split(';')[5]!='-') {commentt += " - Dodał: "+y.responseText.split(';')[5];}
		}          
		set_ajax_obs1("commenttime", commentt);
		
		//Comment Time
		if(y.responseText.split(';')[0] == false) {
			snowkind = "";
		} else {
			if(y.responseText.split(';')[6] != '') {
				snowkind = "(rodzaj: "+y.responseText.split(';')[6]+")";
			} else {
				snowkind = "";
			}
		}
		set_ajax_obs1("ajaxsnowk", snowkind);
		}
		}
 

    y.open("GET", urlp, true);
    y.send(null);

    //setTimeout("ajaxLoaderXml('xml.php')", 900000); // get new data after 15 min.
	 setTimeout("ajaxLoaderXml('xml.php')", 60000); // get new data after 60 sec.
                             
  } 
}

// -->

