function RellenaSubZonas(nombre_form,nombre_combo,texto_cualquiera)
{

////  array_subzonas es una variable global.

  if (texto_cualquiera==undefined)
  {
    texto_cualquiera = " Cualquiera ";
  }

  eval("comboZona = document."+nombre_form+".busq_zona;");
  eval("comboSubZona = document."+nombre_form+".busq_subzona;");
  eval("comboSubSubZona = document."+nombre_form+"."+nombre_combo+";");

  indice = comboZona.selectedIndex;
  id_zona = comboZona.options[indice].value;

  indice = comboSubZona.selectedIndex;
  id_subzona = comboSubZona.options[indice].value;
////alert ('id_zona='+id_zona);
////alert ('id_subzona='+id_subzona);

  Num = comboSubZona.length;
  for (a=Num-1 ; a>=0 ; a--)
  {
    comboSubZona.options[a] = null;
  }

  Num = comboSubSubZona.length;
  for (a=Num-1 ; a>=0 ; a--)
  {
    comboSubSubZona.options[a] = null;
  }


  //// Rellenamos las subzonas
  if (id_zona =="")
  {
    id_zona = 0;
  }

  id_subzona_correcta = false;

  if (id_zona <= 0)
  {
    comboSubZona.options[0] = new Option (texto_cualquiera, "-1", true, false);
    ////comboSubZona.options[1] = new Option ("-----------------------", "-1", false, false);

    comboSubSubZona.options[0] = new Option (texto_cualquiera, "-1", true, false);
    ////comboSubSubZona.options[1] = new Option ("-----------------------", "-1", false, false);

    return true;
  }
  else
  {
    comboSubZona.options[0] = new Option (texto_cualquiera,"-1", true, false);

    ////comboSubZona.options[1] = new Option ("-----------------------","-1", false, false);

    item_actual = new Array();
    item_actual[id_subzona] = 'selected';

    ////contador = 2;
    contador = 1;
    array_temp = new Array();
    array_temp = array_subzonas[id_zona];
    for (var id_subzona_actual in array_temp)
    {
      nombre_subzona = array_temp[id_subzona_actual];
      comboSubZona.options[contador] = new Option (nombre_subzona,id_subzona_actual,false,item_actual[id_subzona_actual]);
      contador = contador+1;

      if (id_subzona_actual==id_subzona)
      {
        id_subzona_correcta = true;
      }
    }

    ////comboSubZona.options[contador] = new Option ("-----------------------","-1", false, false);
  }


  //// Rellenamos las subsubzonas
  if (id_subzona =="" || id_subzona_correcta==false)
  {
    id_subzona = 0;
  }

  if (id_subzona <= 0)
  {
    if (id_zona>0)
    {
      identificador = "-"+id_zona+"-";
    }else
    {
      identificador = "-1";
    }
    comboSubSubZona.options[0] = new Option (texto_cualquiera, identificador, true, false);
    ////comboSubSubZona.options[1] = new Option ("-----------------------", identificador, false, false);

    return true;
  }
  else
  {
    identificador = "-"+id_zona+"-"+id_subzona+"-";

    comboSubSubZona.options[0] = new Option (texto_cualquiera,identificador, true, false);

    ////comboSubSubZona.options[1] = new Option ("-----------------------",identificador, false, false);

    ////contador = 2;
    contador = 1;
    array_temp = new Array();
    array_temp = array_subzonas[id_subzona];
    for (var id_subsubzona_actual in array_temp)
    {
      identificador_temp = "-"+id_zona+"-"+id_subzona+"-"+id_subsubzona_actual+"-";
      nombre_subzona = array_temp[id_subsubzona_actual];
      comboSubSubZona.options[contador] = new Option (nombre_subzona,identificador_temp,false,false);
      contador = contador+1;
    }

    ////comboSubSubZona.options[contador] = new Option ("-----------------------",identificador, false, false);
  }

}

function RellenaSubZonas_Usu(nombre_form,nombre_combo,texto_cualquiera)
{

////  array_subzonas es una variable global.

  if (texto_cualquiera==undefined)
  {
    texto_cualquiera = " Cualquiera ";
  }

  eval("comboZona = document."+nombre_form+".busq_zona;");
  ////eval("comboSubZona = document."+nombre_form+".busq_subzona;");
  eval("comboSubZona = document."+nombre_form+"."+nombre_combo+";");
////  eval("comboSubSubZona = document."+nombre_form+"."+nombre_combo+";");

  indice = comboZona.selectedIndex;
  id_zona = comboZona.options[indice].value;

////  indice = comboSubZona.selectedIndex;
////  id_subzona = comboSubZona.options[indice].value;
////alert ('id_zona='+id_zona);
////alert ('id_subzona='+id_subzona);

  Num = comboSubZona.length;
  for (a=Num-1 ; a>=0 ; a--)
  {
    comboSubZona.options[a] = null;
  }

////  Num = comboSubSubZona.length;
////  for (a=Num-1 ; a>=0 ; a--)
////  {
////    comboSubSubZona.options[a] = null;
////  }


  //// Rellenamos las subzonas
  if (id_zona =="")
  {
    id_zona = 0;
  }

  if (id_zona <= 0)
  {
    comboSubZona.options[0] = new Option (texto_cualquiera, "-1", true, false);
    ////comboSubZona.options[1] = new Option ("-----------------------", "-1", false, false);

    return true;
  }
  else
  {
    ////identificador = "-"+id_zona+"-"+id_subzona+"-";
    identificador = "-"+id_zona+"-";

    comboSubZona.options[0] = new Option (texto_cualquiera,identificador, true, false);

    contador = 1;
    array_temp = new Array();
    array_temp = array_subzonas[id_zona];
    for (var id_subzona_actual in array_temp)
    {
      identificador_temp = "-"+id_zona+"-"+id_subzona_actual+"-";
      nombre_subzona = array_temp[id_subzona_actual];
      comboSubZona.options[contador] = new Option (nombre_subzona,identificador_temp,false,false);
      contador = contador+1;
    }
  }

}
