// Вспомогательные функции
 
/**
 * @param String id
 * Прячет/показывает элемент на странице, id которого передан в качестве аргумента
*/
function toggle(id) {
  var src = document.getElementById(id);
  var display = null;

  if(src.style.display == 'block')
    display = 'none';
  else 
    display = 'block';

  src.style.display = display;
}
 

/**
 * Останавливает выполнение события
 * @param {Event} e Событие
 * @return {Event}
 */
function halt(e) {
  e = e || window.event;
  if (e.preventDefault)
      e.preventDefault();
    else
      e.returnValue = false;
  return e;
}


/**
 * Сокращённая запись document.getElementById
 * @param {String} id Айдишник элемента, который надо получить
 * @return {Object} Запрошенный элемент DOM
 */
function $(id) {
    return document.getElementById(id);
}


/**
 * Делает активной/неактивной вкладку 
 * @param {Object} obj 
 * @param {String} active
 * @param {String} mode
 */
function setTabStyles(obj, active, mode) 
{
  var className, display, id, currentTab;
      
  if(obj.id == active)
  {
    className = 'active';
    display = 'block';
  }
  else
  {
    className = '';
    display = 'none';
  }
  
  id = (!mode) ? active.substr(2, active.length) : obj.id.substr(2, obj.id.length);
  currentTab = (!mode) ? $(active) : obj; 

  currentTab.className = className;
  $(id).style.display = display;
}