var dom = (document.getElementById)? true : false;
var nn4 = (document.layers)? true : false;
var ie4 = (!dom && document.all)? true : false;
//###################################################################################################
	// предварительно надо сформировать массив:
	// var items = new Array();
	// items["{id}"] = new Array ({parentID}, '{name}');
	// например: items[7] = new Array (1, 'Zebra Light');
	var permanentOptions = 1; // кол-во строк, описанных в селекте, которые всегда сохраняются 	(используется для пустой строки в начале списка)
	//var expandedType = true; // true => при значении основного селекта expandedRoot, в переключаемом селекте выводится весь список
	var expandedType = false; // true => при значении основного селекта expandedRoot, в переключаемом 	селекте выводится весь список
	var expandedRoot = 0;

function switchSelect(mainID, dependentID, items) {
//alert(mainID+'    '+dependentID+'    '+items);
	var mainObj = document.getElementById(mainID);
	var dependentObj = document.getElementById(dependentID);
	var i = permanentOptions;
	dependentObj.options.length = items.length + i;
    for (key in items) {
		if (items[key][0] == mainObj.value || (expandedType && mainObj.value == expandedRoot)) {
			//alert(items[key][1]);
			dependentObj.options[i].text = items[key][1];
			dependentObj.options[i].value = items[key][1];
		//dependentObj.options[i].value = key;
			i++;
		}
	}
	dependentObj.options.length = i;
	dependentObj.selectedIndex = 0;
//if ( statusLayer(dependentObj) ==0 ){showLayer(dependentObj);}
}

	// предварительно надо сформировать массив:
	// var items = new Array();
	// items["{id}"] = new Array ({parentID_Oblast},{parentID_Region}, '{name}');
	// например: items[7] = new Array (1,2, 'Zebra Light');

function switchSelectCity(mainID_O,mainID_R, dependentID, items) {
alert(mainID_O +'       '+mainID_R +'       '+dependentID +'       '+items);
	var mainObj_O = document.getElementById(mainID_O);
	var mainObj_R = document.getElementById(mainID_R);
	var dependentObj = document.getElementById(dependentID);
	var i = permanentOptions;
	dependentObj.options.length = items.length + i;
    for (key in items) {
		if ((items[key][0] == mainObj_O.value || (expandedType && mainObj_O.value == expandedRoot))
		&& (items[key][1] == mainObj_R.value || (expandedType && mainObj_R.value == expandedRoot))
		) {
			//alert(items[key][1]);
			dependentObj.options[i].text = items[key][2];
			dependentObj.options[i].value = items[key][2];
		//dependentObj.options[i].value = key;
			i++;
		}
	}
	dependentObj.options.length = i;
	dependentObj.selectedIndex = 0;
//if ( statusLayer(dependentObj) ==0 ){showLayer(dependentObj);}
}


//###################################################################################################
function showLayer(what) {
//alert('Show '+what);
	if (ie4) document.all[what].style.visibility = "visible";
	if (nn4) document.layers[what].visibility = "show";
	if (dom) document.getElementById(what).style.visibility = "";
    
}
//###################################################################################################
function hideLayer(what) {
//alert('Hide '+what);
	if (ie4) document.all[what].style.visibility = "hidden";
	if (nn4) document.layers[what].visibility = "hide";
	if (dom) document.getElementById(what).style.visibility = "hidden";
}
//###################################################################################################
// Проверяют виден илил не виден слой
//###################################################################################################
function statusLayer(what) {
	if (ie4){ if (document.all[what].style.visibility == "visible") return 1};
	if (nn4){ if (document.layers[what].visibility == "show")  return 1};
	if (dom){ if (document.getElementById(what).style.visibility == "")  return 1};

	if (ie4){ if ( document.all[what].style.visibility == "hidden") return 0};
	if (nn4){ if ( document.layers[what].visibility == "hide") return 0};
	if (dom){ if ( document.getElementById(what).style.visibility == "hidden") return 0};
    
}
//###################################################################################################


// Прячем зависимый слой если значение главного по умолч( ==0) 
function ShowHideLayers(dependentID,mainID){
	var mainObj = document.getElementById(mainID);
	var dependentObj = document.getElementById(dependentID);
	if (mainObj.value  != 0) 
	{layer1="layer_"+dependentID;	showLayer(layer1);}
	if (mainObj.value  == 0) 
	{layer1="layer_"+dependentID;	hideLayer(layer1);}
	
	//showLayer(layer1);

}
//###################################################################################################

//###################################################################################################
function DisplayLayer(what,i) {
//alert('Show '+what);
    var top=405;
    if (getNameBrouser()=="opera") top=380;
	if (ie4) document.all[what].style.display = "block";
	if (nn4) document.layers[what].display = "block";
	if (dom)
	{
		i = i ? i : 0;
//		alert(i);
		document.getElementById(what).style.position = "absolute";
		document.getElementById(what).style.top = top + i*36;
		document.getElementById(what).style.display = "block";
	}
    
}
//###################################################################################################
function NoDisplayLayer(what) {
//alert('Hide '+what);
	if (ie4) document.all[what].style.display = "none";
    if (nn4) document.getElementById[what].display = "none";
	if (nn4) document.layers[what].display = "none";
	if (dom) document.getElementById(what).style.display = "none";
}

//###################################################################################################
function getNameBrouser() {
  var ua = navigator.userAgent.toLowerCase();
  // Определим Internet Explorer
  if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
    return "msie"
  }
  // Opera
  if (ua.indexOf("opera") != -1) {
    return "opera"
  }
  // Gecko = Mozilla + Firefox + Netscape
  if (ua.indexOf("gecko") != -1) {
    return "gecko";
  }
  // Safari, используется в MAC OS
  if (ua.indexOf("safari") != -1) {
    return "safari";
  }
  // Konqueror, используется в UNIX-системах
  if (ua.indexOf("konqueror") != -1) {
    return "konqueror";
  }
  return "unknown";
}