function Weather(xmlData) {
  this.rawXML = xmlData;	
  this.xmlDoc;
  this.browser = '';

  try {//Internet Explorer
    this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	this.browser = 'IE';
  }
  catch(e) {
    try {//Firefox, Mozilla, Opera, etc.
      //this.xmlDoc=document.implementation.createDocument("","",null);
	  parser=new DOMParser();
      this.browser = 'other';
    }
    catch(e) {
      alert(e.message); // not supported by browser
      return;
    }
  }
  
  if (this.browser == 'IE') {
    this.xmlDoc.loadXML(xmlData);
  }
  else {
    this.xmlDoc=parser.parseFromString(xmlData,"text/xml");	
  }
  
  var data = this.xmlDoc.getElementsByTagName('current_observation');

  // load attributes
  var elements = data[0].childNodes; // should only be one entry
  for (j=0; j<elements.length; ++j) {
    var name = elements[j].tagName;
	var value = elements[j].text;
	if (value == null) { value = elements[j].textContent; }
	eval("this."+name+"=value;"); // add XML elements a object attributes
  }

}
