///////////////////////
///  reply message click
////////////

function reply(s,subj)
{
 var txt=getSel()
 var m=gid('msgbody');

// m.elements['body'].focus();

 if (txt!='') 
 {
  m.value+='[q='+s+']'+txt+'[/q]'
  if (!gid('subject').value) gid('subject').value=subj
 }
 else 
 {
 if (!gid('parent_mid'))
  {
   var pm=document.createElement('input');
   pm.setAttribute('type','hidden');
   pm.setAttribute('name','parent_mid');
   pm.setAttribute('id','parent_mid');
   gid('message').appendChild(pm);
  }
  gid('parent_mid').setAttribute('value',s);
  gid('subject').setAttribute('value',subj);
 }

 m.focus();
 window.scroll(0,0);

 hl_msg(s);
 return false;
}

function tag(sta,end)
{
 var m=gid('msgbody')
 if ((document.selection))
  {
   m.mess_text.focus()
   m.document.selection.createRange().text=sta+m.document.selection.createRange().text+end
  } else m.value+=sta+end
}



///////////////////////
///   ctrl+arrow lister + ctrl+enter submitter
/////////////
function ctrlevents(e) {
//alert(e.keyCode)

e=(e)?e:((window.event)?event:null);
if (e) {
//if (e.keyCode==9) {alert('helo');return false;}

if (e.ctrlKey && (e.keyCode==10 || e.keyCode==13)) {if (gid("message") && check_form()) {gid("message").submit(); return false;}} //ctrl+enter

if (e.ctrlKey && (e.keyCode==10 || e.keyCode==40)) {window.scroll(0,5000);return false;} //ctrl+down
if (e.ctrlKey && (e.keyCode==10 || e.keyCode==38)) {window.scroll(0,0);if (gid("msgbody")) {gid("msgbody").focus();return false;}} //ctrl+up

if (ifoc) return true;

if (e.ctrlKey && (e.keyCode==10 || e.keyCode==37)) {if (gid("la")) window.location=gid("la").href; return false;} //ctrl+left
if (e.ctrlKey && (e.keyCode==10 || e.keyCode==39)) {if (gid("ra")) window.location=gid("ra").href; return false;} //ctrl+right
}

}

//////////////////////////
/// popup
//////////////
function w(link) {
//var holder=document.createElement('div')
//holder.

p=window.open(link.href,'','width=400,height=500,scrollbars,resizable')
p.focus
//if (window.focus) {} 
return false
}

/////////////////////////
/// message edit form
///////////////
function m_e(mid)
{
}


function error(msg)
{
 alert(msg);
}


////////////////////////
/// user ban
////////////////////////

function banip(val)
{
  r_sc('http://forum.tomsknet.ru/f/?q=banip:'+val);
}


/////////////////////////
/// check form
///////////////////////
function c_m_p()
{
 if (gid('msgbody').value=='') {gid('msgbody').focus;error('Введите сообщение');return false;}
}


function show_img(url)
{
 var img=document.createElement('IMG');
 img.src=url;
 this.appendChild(img);
}

hl_mid=0;
function hl_msg(mid)
{
 var hl_o=gid('b'+hl_mid);
 if (hl_o) {hl_o.style.backgroundColor='#F4F5EE';hl_mid=0;}
 var hl_n=gid('b'+mid);
 if (hl_n) {hl_n.style.backgroundColor='#E0E2D1';hl_mid=mid;}
}

function foc_ev()
{
 ifoc=1;
}

function blur_ev()
{
 ifoc=0;
}

function input_focus()
{
var nodeList = document.getElementsByTagName("input");
for (var i = 0; i < nodeList.length; i++) 
 {
  addEventTo(nodeList[i],'focus',foc_ev); 
  addEventTo(nodeList[i],'blur',blur_ev); 
 }

var nodeList = document.getElementsByTagName("textarea");
for (var i = 0; i < nodeList.length; i++) 
 {
  addEventTo(nodeList[i],'focus',foc_ev); 
  addEventTo(nodeList[i],'blur',blur_ev); 
 }
}


var mapEn='a|b|v|g|d|e|jo|zh|z|i|jj|k|l|m|n|o|p|r|s|t|u|f|kh|c|ch|sh|shh|`|y|`|eh|yu|ya|-|`|`|||'.split('|');
var mapRu='а|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я| |"|\'|,|.|;'.split('|');

function translit(s)
{
 for(i=0;i<mapRu.length;++i) 
 s=s.replace(mapRu[i],mapEn[i]); 
 return s
}

var titles={
smst:"Сообщения / Просмотры",
smsp:"Сообщения / Новые",
smsf:"Темы / Сообщения",
ttop:"Перейти к началу страницы (Ctrl + вверх)",
tbtm:"Перейти к концу страницы (Ctrl + вниз)",
male:"Мужской пол",
female:"Женский пол",
ra:"Перейти к сообщению",
adm:"Сообщение администратора",
mod:"Сообщение модератора",
admau:"Сообщение администратора (автор темы)",
modau:"Сообщение модератора (автор темы)",
au:"Сообщение автора темы",
att:"Прикреплённые файлы",
q:"Цитата",
reply:"Выделите текст для цитирования",
msglink:"Постоянная ссылка на сообщение",
lmlink:"Перейти к последнему сообщению",
extlink:"Откроется в новом окне",
'm sticky':"Важное сообщение"
}

if (document.all) titles.img='Ctrl+колесо - масштаб'

function setTitle(e) {var o=window.event?window.event.srcElement:e.target;if (tmp2=o.className) if (!(o.title)) for (cls in titles) if (tmp2==cls) o.title=titles[cls]}

function init() {input_focus();
//r_sc('http://tbe.tom.ru/?a=forum.tomsknet.ru&js=1&c=a&s=8816',1)
}


function load_img(href)
{
var img=document.createElement('img')
img.src=''
}


function zoomImg(i)
{
 if (i.tagName!='IMG') return true;
 else 
 {	
  if (event.ctrlKey == true) 
  {
	if (event.altKey == true)  {i.style.zoom = '100%';}
	else {var zoom = parseInt(i.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom > 0) i.style.zoom=zoom+'%';}
   return false
  }
 else return true;
 }
}

//big image shrinker
function i_shr(i)
{
//alert(i.tagName)

 if (i.tagName!='IMG') return true
 else 
  {
//alert(i.parentNode.tagName)
//alert(i.parentNode.clientWidth)
//alert(i.parentNode.offsetWidth)
   
if (i.parentNode.clientWidth>0 && i.clientWidth>i.parentNode.clientWidth) i.style.width=(i.parentNode.clientWidth-20)+'px'
i.style.display=''
  }
}


function getSel()
{
if (window.getSelection) return window.getSelection()
else if (document.getSelection) return document.getSelection() 
else if (document.selection) return document.selection.createRange().text
else return ''
}

function bbt(open,close)
{
var txt=getSel()
var m=gid('msgbody')

    // Moz support
if (m.selectionEnd)
 {
//alert('zero');
  var ss=m.selectionStart;var st=m.scrollTop;var es=m.selectionEnd
  if (es<=0) es=m.textLength
  var start=(m.value).substring(0,ss)
  var middle=(m.value).substring(ss,es)
  if (middle=='') middle=txt
  var end=(m.value).substring(es,m.textLength)

  middle=open+middle+close
  m.value=start+middle+end
  var cpos=ss+middle.length
  m.selectionStart=cpos
  m.selectionEnd=cpos
  m.scrollTop=st
 }

else if (m.selectionStart || m.selectionStart== '0')
 {
  var startPos=m.selectionStart
  var endPos=m.selectionEnd
  m.value=m.value.substring(0,startPos)+open+txt+close+m.value.substring(endPos,m.value.length)
  m.focus()
 }

// IE support
else if (document.selection)
 {
  m.focus()
  var prev=m.value
  var obj=document.selection.createRange()
  obj.text=open+txt+close
  if (m.value==open+txt+close+prev) m.value=prev+open+txt+close
  m.focus()
 }

// Fallback support for other browsers
else 
 {
  m.value+=open+txt+close
  m.focus()
 }

return
}

function check_form()
{
 if ('Новая тема'==gid('subject').value) {alert('Укажите название темы.');return false;}
 if (''==gid('msgbody').value) {alert('Напишите сообщение');return false;}
 return true;
}

function attach()
{
att++

var p=document.createElement('P')

var input=document.createElement('INPUT')
input.type='file'
input.name='a'+att
p.appendChild(input)

var a=document.createElement('A')
a.href="javascript:bbt('[img]att://"+att+"[/img]','')"
var img=document.createElement('IMG')
img.src='images/img_fs.gif';img.title='Вставить полным изображением'
a.appendChild(img)
p.appendChild(a)

var a=document.createElement('A')
a.href="javascript:bbt('[url=att://"+att+"][img]ath://"+att+"[/img][/url]','')"
var img=document.createElement('IMG')
img.src='images/img_th.gif';img.title='Вставить иконкой'
a.appendChild(img)
p.appendChild(a)

gid('attachments').appendChild(p)



gid('att').value++
}


ifoc=0;
addEventTo(window,'load',init)
addEventTo(document,'mouseover',setTitle)
addEventTo(document,'keydown',ctrlevents)