function blocking(nr) {
    if (document.layers) {
            current = (document.layers[nr].display == 'block') ? 'none' : 'block';
            document.layers[nr].display = current;
    } else if (document.all) {
            current = (document.all[nr].style.display == 'block') ? 'none' : 'block';
            document.all[nr].style.display = current;
    } else if (document.getElementById) {
            vista = (document.getElementById(nr).style.display == 'block') ? 'none' : 'block';
            document.getElementById(nr).style.display = vista;
    }
}

// выводит скрытый блок
function blocking_subj(nr) {
    if (document.layers) {
            current = (document.layers[nr].display == 'block') ? 'none' : 'block';
            document.layers[nr].display = current;
    } else if (document.all) {
            current = (document.all[nr].style.display == 'block') ? 'none' : 'block';
            document.all[nr].style.display = current;
    } else if (document.getElementById) {
            vista = (document.getElementById(nr).style.display == 'block') ? 'none' : 'block';
            document.getElementById(nr).style.display = vista;
    }
}

// выделение и подчеркивание при выборе элемента формы
function SetFocusPeriod(fobj,sobj) {
  if (document.getElementById) {
    document.getElementById(fobj).style.borderBottom = "1px solid #777";
    document.getElementById(fobj).style.color = "black";

    document.getElementById(sobj).style.borderBottom = "0";
    document.getElementById(sobj).style.color = "#888";
  }
}

// поиск названия по коду
function RetVuzname() {
  var vuzkod = $F('vuzkod');
  var url = '/ajax_speckods.php';
  var pars = 'vuzkod=' + vuzkod;
  
  var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onComplete: showVuzNameResponse} );
}

// выводит название вуза
function showVuzNameResponse(originalRequest) {
  $('vuzname').innerHTML = originalRequest.responseText;
}

// возврат перечня реализуемых ООП
function RetSpeckodFields() {
  $('rest_fields').innerHTML = "";
  var vuzkod = $F('vuzkod');
  var url = '/ajax_speckods.php';
  var pars = 'vuzkod=' + vuzkod;
  
  var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onComplete: ShowSpeckodFields} );
}

function ShowSpeckodFields(originalRequest) {
  $('rest_fields').innerHTML = originalRequest.responseText;
}

// поиск по названию или коду вуза
function VuzSearch() {
  if ($F('vuzsearch') != '') {
    var vuzsearch = $F('vuzsearch');
  } else {
    var vuzsearch = "zzz";
  }

  var url = '/ajax_speckods.php';
  var pars = 'vuzsearch=' + vuzsearch;
  
  var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onComplete: ShowVuzesFields} );
}

function ShowVuzesFields(originalRequest) {
  $('vuzkod').innerHTML = originalRequest.responseText;
  AutoSelectSpecs('vuzkod',1);
}

// добавление ооп в список выбранных
function transferOptionAdd(object) {
  var index = object.speckod.selectedIndex;
  var inlen = object.speckod.value.length;
  var select_len = object.elements["oops_selected[]"].options.length;
  var selected = 0;
  if (index > -1 && inlen > 0) {
    for (var i=0; i<select_len; i++) {
      if (object.elements["oops_selected[]"].options[i].text == object.speckod.options[index].text) {
        selected = 1;
      }
    }

    if (selected == 0) {
      var newoption = new Option(object.speckod.options[index].text, object.speckod.options[index].value, true, true);
      object.elements["oops_selected[]"].options[object.elements["oops_selected[]"].length] = newoption;
      if (!document.getElementById) history.go(0);
      object.speckod.selectedIndex = 0;
      select_len = select_len+1;
      //<td align="center">' + select_len + '</td>
//  tr = document.getElementById(id);
//  var par = tr.parentNode;
//  par.removeChild(tr);

      new Insertion.Bottom('oop_selected', '<tr id="' + object.speckod.options[index].value + '"><td align="center">' + object.speckod.options[index].value + '</td><td>'+ object.speckod.options[index].text + '</td><td align="center"><input type="checkbox" name="educ_form[]" value="' + object.speckod.options[index].value + '"></td><td align="center"><a href="javascript:OOPCancel(\'' + object.speckod.options[index].value + '\',this.form);"><img src="../images/i_cancel.gif" border="0" width="14" height="14" alt=""></a></td></tr>');
//      $('oop_selected').innerHTML = $('oop_selected').innerHTML + '<tr id="' + object.speckod.options[index].value + '"><td align="center">' + object.speckod.options[index].value + '</td><td>'+ object.speckod.options[index].text + '</td><td align="center"><input type="checkbox" name="educ_form" value="' + object.speckod.options[index].text + '"></td><td align="center"><a href="javascript:OOPCancel(\'' + object.speckod.options[index].value + '\',this.form);"><img src="../images/i_cancel.gif" border="0" width="14" height="14" alt=""></a></td></tr>';
    } else {
      alert("Такая ООП уже есть в списке выбранных.");
    }
  }
}

// удаление ооп из список выбранных | устаревшее
function transferOptionDel(object) {
  var index = object.elements["oops_selected[]"].selectedIndex;
  var select_len = object.elements["oops_selected[]"].options.length;

  if (index > -1) {
    if (!document.getElementById) history.go(0);
    object.elements["oops_selected[]"].options[index] = null;
    object.elements["oops_selected[]"].selectedIndex = 0;
  }
}

// удаление ООП из списка выбранных
function OOPCancel(object, objectform) {
  var select_len = $("form_speckods").elements["oops_selected[]"].options.length;
  var delected = 0;
  for (var i=0; i<select_len; i++) {
    if (delected != 1) {
      if ($("form_speckods").elements["oops_selected[]"].options[i].value == object) {
        $("form_speckods").elements["oops_selected[]"].options[i] = null;
        delected = 1;
      }
    }
  }
  DeleteElement(object);
}

// удаление элемента из DOM
function DeleteElement(id) {
  tr = document.getElementById(id);
  var par = tr.parentNode;
  par.removeChild(tr);
} 

function AutoSelectSpecs(id, one) {
  var e = document.getElementById(id),
      n = e.length;
  if (n == 1 && one == 1) {
    e[0].selected = true;
    RetSpeckodFields();
  } else if (one == 0) {
    for (var i = 0; i < n; ++i) {
      e[i].selected = true;
    }
  }
}

// сокрытие строк в таблице по флажку
function HiddenDisplayTableRow(table_id, checkbox_id){
  
	var table = document.getElementById(table_id);
	var checkbox = document.getElementById(checkbox_id);

  for (var i = 0; i < table.rows.length; i++){
		
    var row = table.rows[i];
		var str = row.className;
		if(str.indexOf('HiddenTableRow') + 1){
				if (checkbox.checked){
				  row.style.display = "none";
				}else
				  if (BrowserDetect.browser == 'Explorer') row.style.display = "block";
				  else row.style.display = "table-row";
		}
	}
}

function goTo(where) {
  document.location.replace(where);
  return false;
}

function HiddenDisplayObject(object_id, checkbox_id){
	
	var object = document.getElementById(object_id);
	var checkbox = document.getElementById(checkbox_id);
	
	if (checkbox.checked){
	  object.style.display = "none";
  }else{
	  object.style.display = "block";
		goTo('#unfinished');
  }
	
}

function HiddenDisplayGOS(object_id, checkbox_id){
	
	var object = document.getElementById(object_id);
	var checkbox = document.getElementById(checkbox_id);
	if (checkbox.checked){
	  object.style.display = "block";
  }else{
	  object.style.display = "none";
  }
	
}

  // Добавление элемента в селект из другого селекта
	function AddOptionFromSelectToSelect(SelectSourceId, SelectDesId, all){
		// переменная для источника данных
		var objSelSour = document.getElementById(SelectSourceId);
		// переменная для приемника данных
		var objSelDes = document.getElementById(SelectDesId);
		// получаем выбранные значения
		if (objSelSour.options){
	    for (var i = 0; i < objSelSour.options.length; i++){
        if ((all !== undefined) || objSelSour.options[i].selected){
				  OptionText = objSelSour.options[i].text;
		      OptionValue = objSelSour.options[i].value;
					// проверка на существование выбранного значения в приемнике
					var has_option = false;
					for(var j = 0; j < objSelDes.options.length; j++){
						if(objSelDes.options[j].value == OptionValue) has_option = true;
					}
					// если такое значение уже есть, то сообщение об ошибке
					if(has_option) alert('"' + OptionText + '" уже есть в списке!');
					else{
						objSelDes.options[objSelDes.options.length] = new Option(OptionText, OptionValue);
					}
	      }
			}
		}
		return false;
	}
	
	// Удаление элемента из селекта
	function DelSelectedOptionFromSelect(SelectId){
	  // переменная под объект списка
	  var objSel = document.getElementById(SelectId);
		if (objSel.options){
	    for (var i = 0; i < objSel.options.length; i++){
			  // если что-то выбрано
        if (objSel.options[i].selected){
				  objSel.options[i] = null;
				}
			}
    }
    return false;
	}
	
	// Копирование элементов одного селекта в другой начиная с выбранного
	function CopyOptionsFromSelectToSelect(Select_Source, SelectDesId){
		// переменная для источника данных
		var objSel = Select_Source;
		// переменная для приемника данных
		var objSelDes = document.getElementById(SelectDesId);
		if(objSel.selectedIndex != -1){
		  ClearSelect(objSelDes);
			for(var i = objSel.selectedIndex; i < objSel.options.length; i++){
				// получаем выбранное значение
				OptionText = objSel.options[i].text;
				OptionValue = objSel.options[i].value;
				objSelDes.options[objSelDes.options.length] = new Option(OptionText, OptionValue);	
			}
		}
		return false;
	}
	
	// очистка селекта
	function ClearSelect(Select){
		for (var i=Select.options.length-1; i >= 0; i--){
      Select.remove(i);
    }
	}
	
	// Выводит данные из селекта в список с первого элемента по выбранный
	function CompliteList(Select_Source, ListId, mode){
		// переменная для источника данных
		var objSel = Select_Source;
		if(objSel.selectedIndex != -1 || mode !== undefined){
      // переменная под список
		  var list = document.getElementById(ListId);
			// зачистка списка
		  ClearList(list);
			var num_elems;
			if(mode !== undefined) num_elems = objSel.options.length - 1;
			else num_elems = objSel.selectedIndex;
			for(var i = 0; i <= num_elems; i++){
				// Элемент, перед которым будут вставляться новые
				var last_li = list.childNodes[list.childNodes.length - 1];
				// создаем объект типа элемента списка
				var li = document.createElement('LI')
				// заполняем данными
				var li_str = objSel.options[i].text
				li.innerHTML = li_str;
				// вставка новой строки
		    //list.insertBefore(li, last_li)
				list.appendChild(li);
			}
		}
	}
	
	// очистка списка
	function ClearList(list){
		if (list.hasChildNodes()){
		  if(BrowserDetect.browser == 'Explorer'){
				while (list.childNodes.length){
					list.removeChild(list.firstChild );       
				}
		  }else{
				for(var i = list.childNodes.length - 1; i > 0; i--) {
				  list.removeChild(list.childNodes[i]);
				}
			}
		}
	}
	
	// Собираем данные из селекта в инпут через запятую
	// (если установлен режим, то с первого элемента по выбранный, иначе - все)
	function CompilePostData(SelectId, InputId, mode){
		// переменная для селекта - источника данных
		var objSel = document.getElementById(SelectId);
		// переменная для селекта - источника данных
		var objInput = document.getElementById(InputId);
		// определяем по какой элемент делать выборку
		var num_elems;
		if(mode == undefined) num_elems = objSel.options.length - 1;
		else num_elems = objSel.selectedIndex;
		var list = '';
		for(var i = 0; i <= num_elems; i++){
			// заполняем данными
			list += "'" + objSel.options[i].value + "'";
			if(i < num_elems) list += ',';
		}
		objInput.value = list;
	}
	
	// поиск специальности по подстроке
	function SpecsSearch(Input, SelectDesId, SelectSourceId){
		var str_sample = Input.value.toLowerCase()
		var objSel = document.getElementById(SelectDesId);
		ClearSelect(objSel);
		AddOptionFromSelectToSelect(SelectSourceId, SelectDesId, 'all');
		if (objSel.options){
		  for (var i=objSel.options.length-1; i >= 0; i--){
			  var str = objSel.options[i].text.toLowerCase();
				if(!(str.indexOf(str_sample) + 1)){
				  //objSel.options[i].style.display = "none";
					objSel.remove(i);
				}//else objSel.options[i].style.display = "block";
			}
    }
	}
