var xmlhttp = null;
function xmlhttpHandler(url) {
  // code for Mozilla, etc.
  if (window.XMLHttpRequest != null) {
    xmlhttp = new XMLHttpRequest();
    if (xmlhttp.overrideMimeType) {
      xmlhttp.overrideMimeType('text/xml');
    }
    xmlhttp.onreadystatechange = function() {
      // if xmlhttp shows "loaded"
      if (xmlhttp.readyState == 4) {
        // if "OK"
        if (xmlhttp.status == 200) {
          xmlhttpResponse(xmlhttp.responseXML);
        }
        else {
          alert("Problem retrieving XML data");
        }
      }
    }

    var b = url.split("?");
    xmlhttp.open("POST", b[0], true);
    if (b.length > 1) {
      //Send the proper header information along with the request
      xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-Length", b[1].length);
      //xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.send(b[1]);
    } else {
      xmlhttp.send(null);
    }
  }
  // code for IE
  else
    if (window.ActiveXObject) {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    if (xmlhttp) {
      xmlhttp.onreadystatechange = function() {
        // if xmlhttp shows "loaded"
        if (xmlhttp.readyState == 4) {
          // if "OK"
          if (xmlhttp.status == 200) {
            xmlhttpResponse(xmlhttp.responseXML);
          }
          else {
            alert("Problem retrieving XML data");
          }
        }
      }
      xmlhttp.open("POST", url, true);
      xmlhttp.send();
    }
    else {
      alert("Browser doesn't support XMLHTTP protocol");
    }
  }
}


function getFormNum(formName) {
  var formNum = -1;
  for (i = 0; i < document.forms.length; i++) {
    tempForm = document.forms[i];
    if (formName == tempForm) {
      formNum = i;
      break;
    }
  }
  return formNum;
}

function relate(formName, j) {  
  var url = '';
  try {
    var formNum = getFormNum(formName);
    var selectNum;
    if (formNum >= 0) {
      merk = document.forms[formNum].f_merk.options[j].value;
      url = 'Handlers/HollandModels.ashx?p_merk=' + merk;

      xmlhttpHandler(url);
    }
  } catch (e) {
    if (e instanceof TypeError) {
      //vang type errors op
    }
  }
}
function xmlhttpResponse(dom) {
  try {    
    var poplist = document.getElementsByName('f_merk')[0];
    var pmodel = document.getElementsByName('f_model')[0];
    var poplist_value = dom.getElementsByTagName('MODEL');
    with (poplist) {
      for (i = pmodel.options.length - 1; i > 0; i--) {
        pmodel.options[i] = null;
      }
      // altijd een default option
      pmodel.options[0] = new Option('Model', '');
      // vul de poplist
      for (var i = 0; i < poplist_value.length; i++) {
        pmodel.options[i + 1] = new Option(poplist_value[i].firstChild.nodeValue, poplist_value[i].firstChild.nodeValue);
        if ((poplist_value[i].firstChild.nodeValue == pmodel.value) && (pmodel.value != null))
          pmodel.options[i + 1].selected = true;
        else pmodel.options[i + 1].selected = false
      }
    }
  } catch (e) {
    if (e instanceof TypeError) {
      alert(e.toString());
    }
  }
}



