var active_tab=1;
var selectObject;
var formName;
var loadProgressText = '...загрузка...';
var savedOptionText;

var tabs = new Array();
var j=0;



///////////////////
// Р Р°Р±РѕС‚Р° СЃ Ajax //
///////////////////
function loadXMLDoc(url, synch) 
{
  if (window.XMLHttpRequest) { // branch for native XMLHttpRequest object
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) { // branch for IE/Windows ActiveX version
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (!req) {
        return;
      }
  } else {
    return;
  }
  req.onreadystatechange = synch; //processTerminInfoChange; ///processReqChange;
  req.open("GET", url, false);
  req.setRequestHeader("ACCEPT", "application/dzu-xml");
  req.send(null);
//  processReqChange(req);
  synch(req);
//  processTerminInfoChange(req);
}

//function afterProcessReq() {}

function processReqChange(req) {
//  -----------------------------------------------
	if (!req) return;
  if (req.readyState != 4 || req.status != 200) {
    return;
  }
//  -----------------------------------------------

  var response = req.responseXML.documentElement;
  var arr = response.getElementsByTagName('option');
  if (arr.length > 0) {
    document.getElementById(formName).elements[selectObject].disabled = false;
  }
  document.getElementById(formName).elements[selectObject].options[0].text = savedOptionText;

  var arr_len=arr.length;
  for (i = 0; i < arr_len; i++) {
    addOption(response.getElementsByTagName('option')[i]);
  }

// todo: why we do this action?
//  if (arr_len==10) {
//    addOption('', '');
//    document.getElementById(formName).elements[selectObject].ve(0);
//  }
  afterProcessReq();
}
//http://rnd.svyaznoy.ru/index.php5?action=DAProductListByProductClassAndBrand&className=Tarif&DTBrand=1191663
function addOption(el) {
  var o = document.createElement("OPTION");
  var x = document.getElementById(formName).elements[selectObject].options;
  o.text = el.firstChild.data;
  // add all attributies for option
  attrs = el.attributes;
  for (j = 0; j < attrs.length; j++) {
    eval('o.'+ attrs[j].name +' = \''+ attrs[j].value +'\';');
  }
  if (o.value == '') o.disabled = true;
  x.add(o);
}


// added by zero
// todo: move this function to common javaScript file
function getSelectedOption(select) {
	if (select == null) {
		return null;
	}

	for (i = 0; i<select.options.length; i++) {
		if (select.options[i].selected) {
			return select.options[i];
		}
	}

	return null;
}

function changeSubmitBtnStatus(select, button) {
	if (select == null || button == null) {
		return;
	}
	button.disabled = getSelectedOption(select).value == "";
}

function getElementsData(response, tag)
 {
   var _name = response.getElementsByTagName(tag)[0];
   if (_name)
    { if (_name.firstChild)
        return  _name.firstChild.data;
      else
       return '';
    }
   else
    return ''; 
 }
