// AJAX For countries / states
function getXmlHttpObject()
{
  var xmlHttp=null;
  try{
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e){
    //Internet Explorer
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

var request = getXmlHttpObject();

function getStates(countryId)
{
  if (request.readyState == 4 || request.readyState == 0) {
    request.open("GET", 'get_states.php?countryId='+countryId, true);
    request.onreadystatechange = handleGetStates;
    request.send(null);
  }
}

function handleGetStates()
{
  if (request.readyState == 4) {
    var select = document.getElementById('stateSelect');
    var selectHTML = '<select name="presStateProvince"><option value="0"></option>';
    var xmldoc = request.responseXML;
    var message_nodes = xmldoc.getElementsByTagName("STATE");
    var n_messages = message_nodes.length;
    for (i = 0; i < n_messages; i++) {
      var id_node = message_nodes[i].getElementsByTagName("STATEID");
      var name_node = message_nodes[i].getElementsByTagName("STATENAME");
      selectHTML = selectHTML+'<option value="'+id_node[0].firstChild.nodeValue+'">'+name_node[0].firstChild.nodeValue+'</option>';
    }
    select.innerHTML = selectHTML+'</select>';
  }
}

function getStates2(countryId)
{
  if (request.readyState == 4 || request.readyState == 0) {
    request.open("GET", 'get_states.php?countryId='+countryId, true);
    request.onreadystatechange = handleGetStates2;
    request.send(null);
  }
}

function handleGetStates2()
{
  if (request.readyState == 4) {
    var select = document.getElementById('stateSelect');
    var selectHTML = 'State/Province: <select name="state"><option value="0">Any</option>';
    var xmldoc = request.responseXML;
    var message_nodes = xmldoc.getElementsByTagName("STATE");
    var n_messages = message_nodes.length;
    for (i = 0; i < n_messages; i++) {
      var id_node = message_nodes[i].getElementsByTagName("STATEID");
      var name_node = message_nodes[i].getElementsByTagName("STATENAME");
      selectHTML = selectHTML+'<option value="'+id_node[0].firstChild.nodeValue+'">'+name_node[0].firstChild.nodeValue+'</option>';
    }
    select.innerHTML = selectHTML+'</select>';
  }
}

function getStates3(countryId)
{
  if (request.readyState == 4 || request.readyState == 0) {
    request.open("GET", 'get_states.php?countryId='+countryId, true);
    request.onreadystatechange = handleGetStates3;
    request.send(null);
  }
}

function handleGetStates3()
{
  if (request.readyState == 4) {
    var select = document.getElementById('stateSelect');
    var selectHTML = 'State/Province: <br /><select name="state"><option value="0"></option>';
    var xmldoc = request.responseXML;
    var message_nodes = xmldoc.getElementsByTagName("STATE");
    var n_messages = message_nodes.length;
    for (i = 0; i < n_messages; i++) {
      var id_node = message_nodes[i].getElementsByTagName("STATEID");
      var name_node = message_nodes[i].getElementsByTagName("STATENAME");
      selectHTML = selectHTML+'<option value="'+id_node[0].firstChild.nodeValue+'">'+name_node[0].firstChild.nodeValue+'</option>';
    }
    select.innerHTML = selectHTML+'</select>';
  }
}

