function SelectSingleNode(xmlDoc, elementPath)
    {
        if(window.ActiveXObject)
        {
            return xmlDoc.selectSingleNode(elementPath);
        }
        else
        {
           var xpe = new XPathEvaluator();
           var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
           var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null);
           return results.singleNodeValue; 
        }
    }


function init()
{
    if (document.getElementById('weather') != null)
    {

      var xmlhttp=null;
    	   
        // hardcode url of XML  renderer for now - we will have to decide
        // where to place it on the target server.
        var url = "/weather/weatherDataXML.aspx?d=" + (new Date());

        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
            if (typeof(xmlhttp) != 'object' )
            {	 	
               // If IE7, Mozilla, Safari, etc: Use native object
               xmlhttp = new XMLHttpRequest();
            }
        }
        catch (e) 
        {
            // fallback: use native object 
            xmlhttp = new XMLHttpRequest();
        }

        if (xmlhttp!=null)
        {
            xmlhttp.open("GET",url,false);
            xmlhttp.send(null);

            
            var xmlDoc = "";
            
            if (document.all != null)
            {
               xmlDoc = xmlhttp.responseXML;
            }
            else
            {
               xmlDoc = (new DOMParser()).parseFromString(xmlhttp.responseText, "text/xml");
            }
            
     
            var image;
            var image_alt;
            var temp;
            var date;
          
            if (document.all != null)
            {
                image = SelectSingleNode(xmlDoc,"//image").text;
                image_alt = SelectSingleNode(xmlDoc,"//image_alt").text;
                temp = SelectSingleNode(xmlDoc, "//temp").text;
                date = SelectSingleNode(xmlDoc, "//date_stamp").text;
            }
            else
            {
                image = SelectSingleNode(xmlDoc,"//image").childNodes[0].nodeValue;
                image_alt = SelectSingleNode(xmlDoc,"//image_alt").childNodes[0].nodeValue;
                temp = SelectSingleNode(xmlDoc, "//temp").childNodes[0].nodeValue;
                date = SelectSingleNode(xmlDoc, "//date_stamp").childNodes[0].nodeValue;
            }
          
            //var imagePath =  sitePath + "/images/weather-" + image.replace('.gif','.png'); 
            var imagePath =  "/images/weather-" + image.replace('.gif','.png');

            var spanWeatherDate = document.getElementById('spanWeatherDate');
            var spanWeatherTemp = document.getElementById('spanWeatherTemp');
            var imgWeather = document.getElementById('imgWeather');
            
            spanWeatherDate.innerHTML = date;
            spanWeatherTemp.innerHTML = temp + " &deg; C";
            imgWeather.src = imagePath;
            imgWeather.alt = image_alt;
            imgWeather.style.display = "inline";
        }	
    }		
}