// JavaScript Document


//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

function getResults(){
 	var city = document.getElementById('city').value;
	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchReq.open("POST", 'weather_ajax.php', true);
		searchReq.onreadystatechange = handleResults; 
		searchReq.setRequestHeader("Accept", "text/xml")
		searchReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		searchReq.send("&city=" + escape(city));
		
	}	
}

function handleResults() {
	var xmlDoc = null;
	try{
    	if((searchReq.readyState == 4)&&(searchReq.status == 200)){
    		xmlDoc = searchReq.responseXML;
		}
  	} catch(e){
		// caught an error
		alert('Response failed in results object');
	}
	
	if (xmlDoc){
		try {
			var icon = xmlDoc.getElementsByTagName("icon")[0].firstChild.nodeValue;
			var condition = xmlDoc.getElementsByTagName("condition")[0].firstChild.nodeValue;
			var location = 	xmlDoc.getElementsByTagName("location")[0].firstChild.nodeValue;
			var latitude = xmlDoc.getElementsByTagName("latitude")[0].firstChild.nodeValue;
			var longitude  = xmlDoc.getElementsByTagName("longitude")[0].firstChild.nodeValue;	
			var sunrise = xmlDoc.getElementsByTagName("sunrise")[0].firstChild.nodeValue;
			var sunset = xmlDoc.getElementsByTagName("sunset")[0].firstChild.nodeValue;
			var temp =  xmlDoc.getElementsByTagName("temp")[0].firstChild.nodeValue;
			var pressure = xmlDoc.getElementsByTagName("pressure")[0].firstChild.nodeValue;
			var pressureStatus = xmlDoc.getElementsByTagName("pressureStatus")[0].firstChild.nodeValue;
			var wind  = xmlDoc.getElementsByTagName("wind")[0].firstChild.nodeValue;
			var humidity  = xmlDoc.getElementsByTagName("humidity")[0].firstChild.nodeValue;
			var visibility = xmlDoc.getElementsByTagName("visibility")[0].firstChild.nodeValue;
			var uv =  xmlDoc.getElementsByTagName("uv")[0].firstChild.nodeValue;
			var lupdate = xmlDoc.getElementsByTagName("lupdate")[0].firstChild.nodeValue;		

			var ResultsIcon =  '<img src="' + icon + '" border=0 alt="' + condition  + '"><br />\n'; 
			var Results = '<h1>' + location + '</h1>';
			Results += '<b>Latitude</b>: ' + latitude + ' , <b>Longitude</b>: ' + longitude + '<br/>';
			Results += '<b>Sunrise</b>: ' + sunrise + ' , <b>Sunset</b>: ' + sunset + '<br/>';
			Results += '<b>Sky Conditions</b>: ' + condition + '<br/>';
			Results += '<b>Temperature</b>: ' + temp + '<br/>';
			Results += '<b>Barometric Pressure</b>: ' + pressure + ', ' + pressureStatus + '<br/>';
			Results += '<b>Winds</b>: ' + wind + '<br/>';
			Results += '<b>Humidity</b>: ' + humidity + '<br/>';
			Results += '<b>Visibility</b>: ' + visibility + '<br/>';
			Results += '<b>UV Index</b>: ' + uv + '<br/>';
			Results += '<b>Last Updated</b>: ' + lupdate + '<br/><hr/>';
		
			document.getElementById('results').innerHTML = Results;
			document.getElementById('sidebar').innerHTML = ResultsIcon;		
	
		} catch (ErrorWithResults){// caught an error			
			alert('Error with XML Results');
			xmlDoc = searchReq.responseText;
			var Results = xmlDoc;
			document.getElementById('results').innerHTML = Results;
	
		}
	}
}	