(function(){
var classI = "forum_cell";


function isTextField(element)
{
   if (!element.tagName)
      return false;

   var tagName = element.tagName.toLowerCase();

   if (tagName == 'input' && (element.type == 'text' || element.type == 'password'))
      return true;

   if (tagName == 'textarea')
      return true;

   return false;
}


function trim(str)
{
   return str.replace(/^\s+|\s+$/g, '');
}

function getMessageRowElement(element)
{
   while (element)
   {
      if (!!element.className && element.className.indexOf(classI) !== -1)
         break;

      element = element.parentNode;
   }

   return element
}

function getAnchorNode(selection)
{
   if (selection.createRange)
   {
      var _range = selection.createRange();
      var _top  = _range.offsetTop;
      var _left = _range.offsetLeft;

      return document.elementFromPoint(_left, _top);
   }

   if (selection.anchorNode)
   {
      return selection.anchorNode;
   }

   return null;
}

function getFocusNode(selection)
{
   if (selection.createRange)
   {
      var _range  = selection.createRange();
      var _bottom = _range.offsetTop  + _range.boundingHeight;
      var _right  = _range.offsetLeft + _range.boundingWidth;

      return document.elementFromPoint(_right, _bottom);
   }

   if (selection.focusNode)
   {
      return selection.focusNode;
   }

   return null;
}

function getText(selection)
{
   if (window.opera) selection = document.selection;

   if (selection.createRange)
      return selection.createRange().text;

   return selection.toString();
}

function _getSelection()
{
   if (window.getSelection)
      return window.getSelection();

   if (document.getSelection)
      return document.getSelection();

   if (document.selection)
      return document.selection;

   return null;
}


window.getQuote = function()
{
try{

   var selection  = _getSelection();
   var _text      = getText(selection);

   var login      = '';
   var date      = '';
   var anchorNode = getAnchorNode(selection);

   if (trim(_text) === '' || isTextField(anchorNode)) return forumSetBBCode('[quote]', '[/quote]');

   var focusNode  = getFocusNode(selection);


   var element  = getMessageRowElement(anchorNode);
   var lelement = getMessageRowElement(focusNode);

   if (element && lelement && element === lelement && element === element.parentNode.cells[1])
   {
      var element = element.parentNode.cells[0];

      var loginElement = element.getElementsByTagName("font")[0];
      var dateElement  = element.getElementsByTagName("font")[5];

      login = loginElement ? trim((loginElement.textContent || loginElement.innerText) || '') : '';
      date  = dateElement  ? trim((dateElement.textContent  || dateElement.innerText)  || '') : '';
   }

   forumSetBBCode('[quote' + (login !== '' ? '=' + login + (date !== '' ? ' (' + date + ')' : ''): '')   + ']' + getText(selection) + '[/quote]', '');
}catch(e){}
}
})()


function setPaging(page_count, cur_page, regime, room, thread)
{
	if(page_count > 0)
	{
		var s = "";
		var i = 0;
		var p = 0;

		s += "<table cellpadding=0 cellspacing=0 height=14 align=right><tr>";

		for(i=0; i<page_count; i++)
		{
			p = i+1;

			if(cur_page == p)
				s += "<td width=16 height=14 background='/i/pbg.gif' align=center><b><font color=FFFFFF>"+p+"</font></b></td>";
			else
			{
				if(regime == 0)
					s += "<td width=16 height=14 background='/i/pbg.gif' align=center><b><a href=\"?room="+room+"&page="+p+")\"><font color=000000>"+p+"</font></a></b></td>";
				else if(regime == 1)
					s += "<td width=16 height=14 background='/i/pbg.gif' align=center><b><a href=\"?room="+room+"&thread="+thread+"&page="+p+"\"><font color=000000>"+p+"</font></a></b></td>";
			}

			s += "<td width=2 height=14 align=center><img src='/i/empty.gif' width=1 height=14></td>";
		}

		s += "</tr></table>";

		document.write(s);
	}
	else
	{
		var s = "ошибка...";
		document.write("");
	}
}

// Skin

function dThreadStart()
{
	var s = "";
	s += "<table width=900 align=center border=0 cellpadding=3 cellspacing=0><tr>";
	s += "<td class=forum_title width=450 align=center valign=top><b>Тема</b></td>";
	s += "<td class=forum_title width=100 align=center valign=top><b>Сообщений</b></td>";
	s += "<td class=forum_title width=125 align=center valign=top><b>Автор</b></td>";
	s += "<td class=forum_title width=100 align=center valign=top><b>Просмотров</b></td>";
	s += "<td class=forum_title width=125 align=center valign=top><b>Последний</b></td>";
	s += "</tr>";
	document.write(s);
}

function dThreadEnd()
{

}

function fullPostDelete(romm, thread, page, post_id)
{
	if(confirm("Вы действительно хотите удалить сообщение? Восстановить не будет возможности."))
		location.replace('index.php?room='+romm+'&thread='+thread+'&page='+page+'&deletefull_post='+post_id);
}

function fullThreadDelete(thread)
{
	if(confirm("Вы действительно хотите удалить всю тему? Восстановить не будет возможности."))
		location.replace('index.php?deletefull_thread='+thread);
}

function switchPost(post_id)
{
	var post = g('forum_post_'+post_id);

	if(post.style.visibility == 'visible')
		post.style.visibility = 'hidden';
	else if(post.style.visibility == 'hidden')
		post.style.visibility = 'visible';
}


maxL=65;
var bName = navigator.appName;
function taLimit(taObj) {
	if (taObj.value.length==maxL) return false;
	return true;
}

function taCount(taObj,Cnt) { 
	objCnt=createObject(Cnt);
	objVal=taObj.value;
	if (objVal.length>maxL) objVal=objVal.substring(0,maxL);
	if (objCnt) {
		if(bName == "Netscape"){	
			objCnt.textContent=maxL-objVal.length;}
		else{objCnt.innerText=maxL-objVal.length;}
	}
	return true;
}
function createObject(objId) {
	if (document.getElementById) return document.getElementById(objId);
	else if (document.layers) return eval("document." + objId);
	else if (document.all) return eval("document.all." + objId);
	else return eval("document." + objId);
}


function set_cookies(id_cook)
{
	var prefix = "name" + id_cook + "=";
	var cookieStartIndex = document.cookie.indexOf(prefix)
	
	if (cookieStartIndex == -1)
	{
		alert ('Impossible...');
		return;
	}
	
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)

	if (cookieEndIndex == -1)
		cookieEndIndex = document.cookie.length;
		
	var read_coocies = unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))

	if (document.getElementById('room' + id_cook).checked)
    {
		var curCookie = prefix + "1";
		document.cookie = curCookie;
		return;
    }
	
	if (!document.getElementById('room'+id_cook).checked)
    {
		var curCookie = prefix + "0";
		document.cookie = curCookie;
		return;
    }
}

function search_go(ck_ch)
{
	var auth = sea_dat_author.value;  // автора
	var txt = sea_dat_text.value;     // текст
	
	// тут проверить минимум и максимум имени
	
	// тут проверить минимум и максимум текста
   
	var search_link = "";
   
	if(auth != '')
		search_link += "&author=" + auth;
		
	if(txt != '')
		search_link += "&post_txt=" + txt;

	if(search_link == '')
		alert('Введите имя автора или текст для поиска.');
	else
		location.href='index.php?p=search' + search_link;
}
