/*
XML services
Copyright (c) 2006 Ylab, Ontwerpbureau voor interactieve media, www.ylab.nl
File: js/xmlresponse.js
Author: Yohan Creemers
version 1.2
*/

// Load the XML document from the specified URL,
// pass document to the specified handler function.
function loadXML(url, handler){
  var doc = createRequest();
  if(!doc){return;}

  doc.open('GET', url, true);
  doc.onreadystatechange = function(){
    if(doc.readyState == 4){
      if(doc.status == 200){
        //OK, doc.responseXML of responseText
        handler(doc.responseXML, url);
      }else{
        alert('Foutcode HTTP ' + doc.status + ' bij aanvraag voor:\n' + url);
      }
    }
  }
  doc.send(null);
}

function createRequest(){
  var request = null;
  try{
    //standard
    request = new XMLHttpRequest();
  }
  catch(e){
    try{
      //internet explorer
      request = new ActiveXObject('Msxml2.XMLHTTP');
    }
    catch(e){
      try{
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e){
        alert('Deze browser is niet geschikt om informatie uit te wisselen met de webserver.');
      }
    }
  }
  return request;
}

function xmlGetValues(xmlDoc, tag){
  var values = xmlDoc.getElementsByTagName(tag)
  if(values){
    if(values.length == 1){
      return values[0].hasChildNodes() ? values[0].firstChild.data : null;
    }
    if(values.length > 1){
      var results = new Array();
      for (var i =0; i<values.length; i++){
        results[i] = values[i].hasChildNodes() ? values[i].firstChild.data : null;
      }
      return results;
    }
  }
  return null;
}

