var subfield = new Array();
if (region === undefined)
	var region = new Array();
	
function addOption (oListbox, text, value, isDefaultSelected, isSelected)
{
  var oOption = document.createElement("option");
  oOption.appendChild(document.createTextNode(text));
  oOption.setAttribute("value", value);

  if (isDefaultSelected) oOption.defaultSelected = true;
  else if (isSelected) oOption.selected = true;

  oListbox.appendChild(oOption);
}


function getSubfield(field_id, selected_subfield_id)
{
  subfield[field_id]= Array();

  JsHttpRequest.query(
    '/ajax/subfield.php',
    { 'field_id': field_id  },
    function (result, errors) {
      if (result) {
        for (index = 0; index < result['subfield'].length; ++index) {
          subfield[field_id][result['subfield'][index]['subfield_id']] =
            result['subfield'][index]['subfield_name'];
        }
        ChangeField(selected_subfield_id);
      }
    },
    false
  );

}

function ChangeField(selected_subfield_id)
{
  var field_id = document.getElementById("field_id").value;
  var obj = document.getElementById("subfield_id");
  // Очищаем подотрасли
  obj.options.length = 1;

  if (!field_id) return;

  // Если подотрасль еще не загружена, загружаем через ajax
  if (!subfield[field_id]) {
    getSubfield(field_id, selected_subfield_id);
    return;
  }

  // Изменяем список подотраслей
  for (var subfield_id in subfield[field_id])
    addOption(obj, subfield[field_id][subfield_id], subfield_id, false);
    
  // Выбираем подотрасль
  if (selected_subfield_id)
  for (var i = 0; i < obj.options.length; ++i) 
    if (obj.options[i].value == selected_subfield_id) {
      obj.options[i].selected = true;
      break;
    }
  
    
}


function getRegion(country_id, selected_region_id, tender_id)
{ 
  region[country_id]= Array();
	
  JsHttpRequest.query(
    '/ajax/region.php',
    { 'country_id': country_id  },
    function (result, errors) {
      if (result) { 
        for (index = 0; index < result['region'].length; ++index) {
          region[country_id][result['region'][index]['region_id']] = result['region'][index]['region_name'];
        }
		if (tender_id !== undefined)
			ChangeCountry(selected_region_id, tender_id);
		else
			ChangeCountry(selected_region_id);
      }
    },
    false
  );

}

function ChangeCountry(selected_region_id, tender_id)
{ 
	/* Канитель с ?: с id:
	Изначально функция не принимала tender_id и работала с единственным элементом с указанной id.
	Теперь эта же функция использцется на странице, на которой показано несколько тендеров и к обычной айдишке приделывается ид тендера.
	*/
  var country_id = document.getElementById("country_id" + ( tender_id !== undefined && tender_id > 0 ? '_' + tender_id :'') ).value;
  var obj = document.getElementById("region_id" + ( tender_id !== undefined && tender_id > 0 ? '_' + tender_id :''));
  // Очищаем подотрасли
  // Видимо речь не о подотраслях, а  о регионах. Это не я комментарий сверху написал
  obj.options.length = 1;
  if (!country_id) return;

  // Если подотрасль еще не загружена, загружаем через ajax
  // Видимо речь не о подотраслях, а  о регионах. Это не я комментарий сверху написал
  //alert(country_id + ' - ' + tender_id);
	if (!region[country_id]) {
		if (tender_id !== undefined)
			getRegion(country_id, selected_region_id, tender_id);
		else
			getRegion(country_id, selected_region_id);
		return;
	}
		

  // Изменяем список подотраслей
  // Видимо речь не о подотраслях, а  о регионах. Это не я комментарий сверху написал
  for (var region_id in region[country_id])
    addOption(obj, region[country_id][region_id], region_id, false);
    
  // Выбираем подотрасль
  if (selected_region_id)
  for (var i = 0; i < obj.options.length; ++i) 
    if (obj.options[i].value == selected_region_id) {
      obj.options[i].selected = true;
      break;
    }
}



