function getCounties(state, counties) { document.forms['search'].county.options.length = 0; if(state == ""){ document.forms['search'].county.options[0] = new Option("Select a State"); return false; } var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = function(){ var c = counties.split(","); if (http_request.readyState == 4 && http_request.status == 200) { var selectCounty = document.getElementById("county"); var xmldoc = http_request.responseXML; var i = 0; while(root_node = xmldoc.getElementsByTagName('county').item(i)){ selectCounty.options[i] = new Option(root_node.firstChild.data); selectCounty.options[i].selected = false; if(c.length > 0){ for (var x=0; x < c.length; x++){ if(root_node.firstChild.data == c[x]){ selectCounty.options[i].selected = true; } } } i++; } } } http_request.open('GET', '/counties.html?state=' + state); http_request.send(null); }