function init() {
 var t=new Array("", "iiS1", "iiSV2", "iiV3", "iiUV4", "iiU5", "iiUZ6", "iiZ7", "iiSZ8", "C9", "ST10", "SV11", "V12", "UV13", "U14", "UZ15", "Z16", "SZ17");
 var i;
 for(i=1; i<t.length;i++) {
	//document.forms['box'].elements['S'+i].checked=window.opener.document.getElementById(t[i]).checked;
	if(window.opener.document.getElementById(t[i]).checked) {
		document.forms['box'].elements['S'+i].click();
	}
 }
 var get_el = document.getElementById('Map');
 var child_el = get_el.getElementsByTagName('a');
 for (i=0; i<child_el.length; i++) {
   if (child_el[i].id.charAt(0)=="M"){
//    if(window.opener.document.getElementById(child_el[i].id).checked) {
//		window.opener.document.getElementById(child_el[i].id).checked=false;
//		change_action(child_el[i]);
//	}
    eval("child_el[i].onclick=function(){change_action(this)}");
    eval("child_el[i].href=\"javascript:void(0)\"");
	if(window.opener.document.getElementById(child_el[i].id).checked && !document.getElementById('child'+child_el[i].id.substr(1))) {
		eval("change_action(child_el[i]);");//eval("child_el[i].click()");
	}
   }
 }
}

//удаление узла
function del_node(v){
 var parent=v.parentNode;
 var elem = document.getElementById(v.id);
 var main_id=document.getElementById(v.id.replace("child","M"));
 window.opener.document.getElementById(v.id.replace("child","M")).checked=false;
 main_id.className="";
 if (navigator.userAgent.indexOf("Opera")!=-1) {//для оперы
  elem.style.display="none";
  elem.removeAttribute('id');
 } else parent.removeChild(elem);
 
	var stationsx=window.opener.getStations();
	for(k in stationsx) {
		for(k2 in stationsx[k]) {
			if(stationsx[k][k2]==v.id.replace("child","M")) {
				var t=k.replace(/[a-zA-Z]*/, '');
				document.getElementById('S'+t).checked=false;
				window.opener.document.getElementById(k).checked=false;
			}
		}
	} 
 
 main_id.onclick=function() {change_action(this)}
}

//добавление узла/елемента
function change_action(v) {
 var main_id = document.getElementById(v.id);
 //alert(v.id);
 if (!document.getElementById("child"+v.id.replace("M",""))) {
  var empty = document.getElementById('Empty');
  var text = document.createTextNode(main_id.innerHTML.replace(/<[^>]*>/ig," "));
  var div = document.createElement('div');
  div.setAttribute('id',"child"+v.id.replace('M',''));
  div.innerHTML="<img src='./i/bullet2.gif' alt='' /><label>"+text.data+"</label>";
  //делаем input
  var hidden = document.createElement('input');
  //hidden.setAttribute('name','metro['+v.id.replace('M','')+']');
  hidden.setAttribute('value',v.id.replace('M',''));
  hidden.setAttribute('type','hidden');
  div.appendChild(hidden);
  //----------------------
  main_id.className="active";
  empty.appendChild(div);
  //----------------------------------------------------------------
  var childs = document.getElementById("child"+v.id.replace('M',''));
  childs.onclick=function() {del_node(this)}
  window.opener.document.getElementById(v.id.replace("child","M")).checked=true;
  
  
   var stations=window.opener.getStations();
						// Ставим если надо
						var curokrug='';
						for(k in stations) {
							for(k2 in stations[k]) {
								if(stations[k][k2]==v.id) {
									curokrug=k;
								}
							}
						}
						var i;
						for(i=0;i<stations[curokrug].length;i++) {
							if(!document.getElementById(stations[curokrug][i].replace("M", "child"))) {
								break;
							}
						}
						//alert(curokrug+' '+i+' '+stations[curokrug].length);
						if(i>=stations[curokrug].length) {
							window.opener.document.getElementById(curokrug).checked=true;
							document.getElementById(curokrug.replace(/[a-zA-Z]+/, 'S')).checked=true;
						}
  
  
 } else {
     var child = v.id.replace("M","child");
     var child_el = document.getElementById(child);
     child_el.style.display="none";
     child_el.removeAttribute('id');
     main_id.className="";
	 window.opener.document.getElementById(v.id.replace("child","M")).checked=false;
	 
	var stationsx=window.opener.getStations();
	for(k in stationsx) {
		for(k2 in stationsx[k]) {
			if(stationsx[k][k2]==v.id) {
				var t=k.replace(/[a-zA-Z]*/, '');
				document.getElementById('S'+t).checked=false;
				window.opener.document.getElementById(k).checked=false;
			}
		}
	} 
 }
}


//выбор округов-регионов
function applyRegion(title,v,array) {
 var f = document.forms['box'];
 var id = "S"+v.id.match(/(\d+)/gi);
 //----------------------------------------------------------
 var str=(title=="region") ? "inform active" : "nform activ";
 var last=str.split(" ");
 //аппендим-----------------------------------------
 if (document.getElementById(v.id).className!=str) {
  document.getElementById(v.id).className=str;
  eval("f."+id+".checked=true");
  window.opener.document.getElementById(v.id).checked=true;
  if (array) check_station(array);//добавляем элементы
 } else {
    document.getElementById(v.id).className=last[0];
    if (array) check_station(array,'1');
    eval("f."+id+".checked=false");
    window.opener.document.getElementById(v.id).checked=false;
   }
}

//checkbox для региона
function applyBox(v,id,text,array) {
 window.opener.document.getElementById(id).checked=v.checked;
 if (v.checked==false) {
  document.getElementById(id).className=text.replace(/([a-z]+)(.*)/gi,'$1');
  if (array) check_station(array,'1');
 } else {
 	document.getElementById(id).className=text;
 	if (array) check_station(array);
 }
}


//активизация станций метро в зависимости от выбора
function check_station(v,del) {
 var array = v.split(" ");
 var empty = document.getElementById('Empty');
 if (!del) {
  for (i=0; i < array.length; i++) {
   if(document.getElementById("child"+array[i].replace('M',''))==null) {
   var main_el=document.getElementById(array[i]);
   var text = document.createTextNode(main_el.innerHTML.replace(/<[^>]*>/ig," "));
   var div = document.createElement('div');
   div.setAttribute('id',"child"+array[i].replace('M',''));
   div.innerHTML="<img src='./i/bullet2.gif' alt='' /><label>"+text.data+"</label>";
   document.getElementById(array[i]).className="active";
   var hidden = document.createElement('input');
   hidden.setAttribute('name','metro['+array[i].replace('M','')+']');
   hidden.setAttribute('value',array[i].replace('M',''));
   hidden.setAttribute('type','hidden');
   div.appendChild(hidden);
   empty.appendChild(div);
   window.opener.document.getElementById(array[i]).checked=true;
   //-------------------*********************-------------------------
   var childs = document.getElementById("child"+array[i].replace('M',''));
   childs.onclick=function() {del_node(this)}
   }
  }
 } else {//удаляем элементы
     for (i=0; i < array.length; i++) {
   window.opener.document.getElementById(array[i]).checked=false;
       var doc = document.getElementById(array[i].replace("M","child"));
       if (doc) {

        if (navigator.userAgent.indexOf("Opera")!=-1) {//для оперы
         doc.style.display="none";
         doc.removeAttribute('id');
        } else {
           empty.removeChild(doc);
           document.getElementById(array[i]).className="";
          }
       }
     }
   }
}
