function prev(elem){
  do {
          elem = elem.previousSibling;
  } while (elem && elem.nodeType != 1);
  return elem;
}

// Получение следующего смежного элемента в DOM
function next(elem){
  do {
          elem = elem.nextSibling;
  } while (elem && elem.nodeType != 1);
  return elem;
}

// получение первого дочернего элемента
function first( elem ) {
  elem = elem.firstChild;
  return elem && elem.nodeType != 1 ?
          elem.nextSibling : elem;
}

// получение последнего дочернего элемента
function last( elem ) {
  elem = elem.lastChild;
  return elem && elem.nodeType != 1 ?
          elem.previousSibling : elem;
}

// получение родительского элемента
function parent( elem, num ) {
  num = num || 1;
  for ( var i = 0; i < num; i++ )
          if ( elem != null ) elem = elem.parentNode;
  return elem;
}

function applyHandler(o, e, f) {
  e = (e instanceof Array) ? (arguments.callee(o, e[1], f), e[0]) : e;
  return (o.attachEvent) ? o.attachEvent(e, f) : (o.addEventListener) ?
    o.addEventListener(e.substr(2), f, false) : false;
}

function FocusOn(id)
{
  document.getElementById(id).focus();
}

function GoToUrl(url)
{
  document.location.href = url;
}

function Log(id)
{
  var req = new JsHttpRequest();
  req.caching = false;

  req.onreadystatechange = function()
  {

  }

  req.open(null, '/ajax.php?do=log', true);
  req.send( { id: id } );

  return true;
}

