var req=null;
var console=null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;

function loadXMLDoc(url) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (req) {
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    }

}

function processReqChange(){
  var ready=req.readyState;
  var data=null;
  if (ready==READY_STATE_COMPLETE){
    data=req.responseXML;
	parseXML(data);
  }else{
    data="loading...";
	toConsole(data);
  }
}


function toConsole(data){
	if (console!=null){
		if (console.hasChildNodes()) {
			var children = console.childNodes; // children is a NodeList
			for (var i=0; i < children.length; i++) {
				console.removeChild(children.item(i));
			}
		}
    	var newDiv=document.createElement("div");
    	console.appendChild(newDiv);
    	var txt=document.createTextNode(data);
    	newDiv.appendChild(txt);
	}
}

function parseXML(XMLdata) {
	var weatherString = "";
	var temperatureString = "";
	var windString = "";
	var newDiv;
	var newTxt;
	
	var xmlDoc = XMLdata;
	
	weatherString = xmlDoc.getElementsByTagName("weather")[0].firstChild.data;
	temperatureString = xmlDoc.getElementsByTagName("temperature_string")[0].firstChild.data;
	windString = xmlDoc.getElementsByTagName("wind_string")[0].firstChild.data;
	
	if (console!=null){
		/* Remove the child nodes.  This will remove any "Loading..." text */
  		if (console.hasChildNodes()) {
			var children = console.childNodes; // children is a NodeList
			for (var i=0; i < children.length; i++) {
				console.removeChild(children.item(i));
			}
		}
		// Add element for weather
		newDiv = document.createElement("div");
		console.appendChild(newDiv);
		newTxt = document.createTextNode(weatherString);
		newDiv.appendChild(newTxt);
		// Add element for temperature
		newDiv = document.createElement("div");
		console.appendChild(newDiv);
		newTxt = document.createTextNode("Temperature " + temperatureString);
		newDiv.appendChild(newTxt);
		// Add element for wind
		newDiv = document.createElement("div");
		console.appendChild(newDiv);
		newTxt = document.createTextNode("Wind " + windString);
		newDiv.appendChild(newTxt);
	}
	
}

window.onload=function(){
  console=document.getElementById('weatherConditions');
  loadXMLDoc("weather.php");
}