function getIframeDocument(iframeName)
{
  var cnt=window.frames.length;
  for (var i = 0; i<cnt; i++)
   if (window.frames[i].frameElement.id==iframeName) return window.frames[i];
}

function nl2br(str)
{
  return str.replace(/([^>])\n/g, '$1<br/>');
}

function getParent(elem, num)
{
// получение родительского элемента
	num = num || 1;
	for ( var i = 0; i < num; i++ )
		if ( elem != null ) elem = elem.parentNode;
	return elem;
}

function getPrev(elem)
{
// Получение предыдущего смежного элемента в DOM
	do
  {
		elem = elem.previousSibling;
	} while (elem && elem.nodeType != 1);
	return elem;
}


function getNext(elem)
{
// Получение следующего смежного элемента в DOM
	do
  {
		elem = elem.nextSibling;
	} while (elem && elem.nodeType != 1);
	return elem;
}

function getFirst(elem)
{
	elem = elem.firstChild;
	return elem && elem.nodeType != 1 ? elem.nextSibling : elem;
}

function getObject(objectID)
{
  //возвращает ссылку на элемент, id которого передан
  //или false, если объекта не существует
  //все объекты, к которым уже было обращение, хранит в статичном массиве (для избежания повторов)
  var funcObj = arguments.callee;
  funcObj.objectsArray = funcObj.objectsArray || new Object();
  funcObj.objectsArray[objectID] = funcObj.objectsArray[objectID] || document.getElementById(objectID);
  if (funcObj.objectsArray[objectID]) return funcObj.objectsArray[objectID];
  else return false;
}
