var xhReq1 = createXMLHttpRequest( );
var xhReq2 = createXMLHttpRequest( );

function country_change( region_id, base_url)
{
  //alert("dd");
  //countrySelector = $('country');
	
  query = base_url + "/get_locations.php?country_id=" + jQuery("#country :selected").val();
	
  if (region_id != null)
  {
    query += "&region_id=" + region_id;
  }

  xhReq1.open("GET", query, true);
  xhReq1.onreadystatechange = onGetRegionsResponse;
  xhReq1.send(null);
  
  if (region_id != null)
  {
    //region_change( null, 0, base_url);
  }
  else
  {
	//region_change( null, 0, base_url);
  }
}

function region_change( city_id, region_id, base_url)
{
  if (region_id == null)
  {
  	//regionSelector = $('region');
	query = base_url + "/get_locations.php?region_id=" + jQuery("#region :selected").val();
  }
  else
  {
    regionSelector = region_id;
	query = base_url + "/get_locations.php?region_id=" + regionSelector;
  }

  

  if (city_id != null)
  {
    query += "&city_id=" + city_id;
  }
	
  xhReq2.open("GET", query, true);
  xhReq2.onreadystatechange = onGetCitiesResponse;
  xhReq2.send(null);
}

function onGetRegionsResponse()
{  
  if (xhReq1.readyState != 4)
  {
    return;
  }
  else
  {
    options = $("#region").html("");
    $("#city").html("");
	//alert(xhReq1.responseText);
    eval(xhReq1.responseText);

	

    selected_item = items[0];
    items = items[1];
    
    // Limpiamos el selector
    /*
    while (options.length > 0)
    {
      options[0] = null;
    }
    */

    // ...y lo llenamos con las locations
    for (i = 0; i < items.length; i++)
    {      
      options.append("<option value='"+items[i][0]+"'>"+items[i][1]+"</option>");     
    }
	
	region_change( null, null, $("#base_url").val());
	//alert($("base_url").value);
	/*
	if ($("city_reload").value == "yes")
		region_change( null, null, $("base_url").value);
	else
		$("city_reload").value = "yes";
	*/	
  }
}

function onGetCitiesResponse()
{
  if (xhReq2.readyState != 4)
  {
    return;
  }
  else
  {
    options = $("#city").html("");

    eval(xhReq2.responseText);

	//alert(xhReq.responseText);

    selected_item = items[0];
    items = items[1];    
    
    // ...y lo llenamos con las locations
    for (i = 0; i < items.length; i++)
    {
      options.append("<option value='"+items[i][0]+"'>"+items[i][1]+"</option>");
    }
  }
}






function country_change1( region_id, base_url)
{  
  countrySelector = $('country');
  if (countrySelector.value != "0")
  {
	  query = base_url + "/get_locations.php?country_id=" + countrySelector.value;
		
	  if (region_id != null)
	  {
		query += "&region_id=" + region_id;
	  }
	  
	  xhReq1.open("GET", query, true);
	  xhReq1.onreadystatechange = onGetRegionsResponse1;
	  xhReq1.send(null);
	  
	  if (region_id != null)
	  {
		//region_change( null, 0, base_url);
	  }
	  else
	  {
		//region_change( null, 0, base_url);
	  }
  }
}

function region_change1( city_id, region_id, base_url)
{
  if (region_id == null)
  {
  	regionSelector = $('region');
	query = base_url + "/get_locations.php?region_id=" + regionSelector.value;
  }
  else
  {
    regionSelector = region_id;
	query = base_url + "/get_locations.php?region_id=" + regionSelector;
  }
  
  if (regionSelector.value != "0")
  {
	  if (city_id != null)
	  {
		query += "&city_id=" + city_id;
	  }
	
	  xhReq2.open("GET", query, true);
	  xhReq2.onreadystatechange = onGetCitiesResponse1;
	  xhReq2.send(null);
  }
}

function onGetRegionsResponse1()
{    
  if (xhReq1.readyState != 4)
  {
    return;
  }
  else
  {
    options = $("region").options;
	//alert(xhReq1.responseText);
    eval(xhReq1.responseText);

	

    selected_item = items[0];
    items = items[1];
    
    // Limpiamos el selector
    while (options.length > 0)
    {
      options[0] = null;
    }

    
	option = document.createElement("OPTION");
    options.add( option);      
    option.text = "Select Region";
    option.value = "0";
	
    for (i = 0; i < items.length; i++)
    {
      option = document.createElement("OPTION");
      options.add( option);      
      option.text = items[i][1];
      option.value = items[i][0];
      if (i == selected_item)
      {
        //option.selected = true; 	
      }
    }
	
	//alert($("base_url").value);
	if ($("city_reload").value == "yes")
		region_change( null, null, $("base_url").value);
	else
		$("city_reload").value = "yes";
  }
}

function onGetCitiesResponse1()
{
  if (xhReq2.readyState != 4)
  {
    return;
  }
  else
  {
    options = $("city").options;

    eval(xhReq2.responseText);

	//alert(xhReq.responseText);

    selected_item = items[0];
    items = items[1];
    
    // Limpiamos el selector
    while (options.length > 0)
    {
      options[0] = null;
    }
	
	option = document.createElement("OPTION");
    options.add( option);      
    option.text = "Select City";
    option.value = "0";

    // ...y lo llenamos con las locations
    for (i = 0; i < items.length; i++)
    {
      option = document.createElement("OPTION");
      options.add( option);      
      option.text = items[i][1];
      option.value = items[i][0];
      if (i == selected_item)
      {
        //option.selected = true; 	
      }
    }
  }
}
