function loadXML(xmlObject) {
      var xmlDoc;

	  try {
	  	// IE
  		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  		xmlDoc.async = "false";
  		xmlDoc.loadXML(xmlObject);
  		return xmlDoc;
  	  } catch(e) {
	  		try {
	  			//Firefox, Mozilla, Opera, etc.
	  			parser = new DOMParser();
	  			xmlDoc = parser.parseFromString(xmlObject,"text/xml");
	  			return xmlDoc;
	  		} catch(e) {
	  			alert(e.message);
	  			return;
	  		}
  	  }
}


function getDataInXML(thexml, key) {
      var docXML = loadXML(thexml);
	  var dataList = docXML.getElementsByTagName(key);
	  var result = new Array();
	
      for(var cx=0 ; cx < dataList.length ; cx++) {
    	if(dataList[cx].childNodes[0] != null) {
    		result[cx] = dataList[cx].childNodes[0].nodeValue;
    	}
      }
      
      return result;
}


function getDatasInXML(thexml, key) {
	var docXML = loadXML(thexml);
	var dataList = docXML.getElementsByTagName(key);
	
	var result = new Array();
	
	for(var cx=0 ; cx < dataList.length ; cx++) {
		
		var myTable = new Array();
		
		for(var cy=0 ; cy < dataList[cx].childNodes.length ; cy++) {
		
			var nodeName = dataList[cx].childNodes[cy].nodeName;

			var nodeValue = "";
			if(dataList[cx].childNodes[cy].firstChild != null) {
				nodeValue = dataList[cx].childNodes[cy].firstChild.nodeValue;
			}
			
			myTable[nodeName] = nodeValue;
    	}
		
		result[cx] = myTable;
    }
    
    return result;
}

