function trim(str) {
 return str.replace(/^\s*/,'').replace(/\s*$/,'');
}
function toggle(obj) {
  hidecomments();
  document.getElementById(obj).style.display = '';
}
function toggler(obj) {
  var el = document.getElementById(obj);
  el.style.display = (el.style.display != 'none' ? 'none' : '' );
}
function sendform(action) {
 document.getElementById('ACTION').value=action;
 document.oper.submit();
}
function movefiles(todest) {
 document.getElementById('DESTID').value=todest;
 document.getElementById('ACTION').value='move';
 document.oper.submit();
}
if(typeof hs != 'undefined') {
hs.lang = {
 loadingText :     'Загружается...',
 loadingTitle :    'Нажмите для отмены',
 focusTitle :      'Нажмите чтобы поместить на передний план',
 fullExpandTitle : 'Развернуть до оригинального размера',
 fullExpandText :  'Оригинальный размер',
 creditsText :     'Использует Highslide JS',
 creditsTitle :    'Перейти на домашнюю страницу Highslide JS',
 previousText :    'Предыдущее',
 previousTitle :   'Предыдущее (стрелка влево)',
 nextText :        'Следующее',
 nextTitle :       'Следующее (стрелка вправо)',
 moveTitle :       'Переместить',
 moveText :        'Переместить',
 closeText :       'Закрыть',
 closeTitle :      'Закрыть (esc)',
 resizeTitle :     'Изменить размер',
 playText :        'Слайдшоу',
 playTitle :       'Начать слайдшоу (пробел)',
 pauseText :       'Пауза',
 pauseTitle :      'Приостановить слайдшоу (пробел)',
 number :          'Изображение %1 из %2',
 restoreTitle :    'Нажмите чтобы закрыть изображение, нажмите и перетащите для изменения местоположения. Для просмотра изображений используйте стрелки.'
};
hs.graphicsDir = '/highslide/graphics/';}
jsHover = function() {
  var hEls = document.getElementById("nav").getElementsByTagName("LI");
  for (var i=0, len=hEls.length; i<len; i++) {
    hEls[i].onmouseover=function() { this.className+=" jshover"; }
    hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
  }
}
if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);

/*****************************************/
// Next functions based on:
// Name: Javascript Textarea HTML Editor   
// Version: 1.3                            
// Author: Balakrishnan                    
// Last Modified Date: 25/Jan/2009         
// License: Free                           
// URL: http://www.corpocrat.com           
/******************************************/
function doImage(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the Image URL:','http://');

var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {

  if (document.selection) 
      {
        textarea.focus();
        var sel = document.selection.createRange();
        sel.text = '<img src="' + url + '">';
      }
   else 
    {
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var sel = textarea.value.substring(start, end);
    //alert(sel);
    var rep = '<img src="' + url + '">';
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
 }
}
function doImageHS(obj,gal)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the Image NAME:','');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
if (url != '' && url != null) {
  if (document.selection) 
      {
        textarea.focus();
        var sel = document.selection.createRange();
        sel.text = '<a href="/files/' + url + '" class="highslide" onclick="return hs.expand(this)"><img src="/files/thumbs/' + url + '"></a>';
        if (gal) sel.text = '<a href="' + url.replace(/thumbs\//,'') + '" class="highslide" onclick="return hs.expand(this)"><img src="' + url + '"></a>';
      }
   else 
    {
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var sel = textarea.value.substring(start, end);
    //alert(sel);
    var rep = '<a href="/files/' + url + '" class="highslide" onclick="return hs.expand(this)"><img src="/files/thumbs/' + url + '"></a>';
    if (gal) var rep = '<a href="' + url.replace(/thumbs\//,'') + '" class="highslide" onclick="return hs.expand(this)"><img src="' + url + '"></a>';
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
 }
}

function doURL(obj)
{
var sel;
textarea = document.getElementById(obj);
var url = prompt('Enter the URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {
  if (document.selection) {
    textarea.focus();
    var sel = document.selection.createRange();
    if(sel.text==""){
      sel.text = '<a href="' + url + '">' + url + '</a>';
    } else {
      sel.text = '<a href="' + url + '">' + sel.text + '</a>';
    }
    //alert(sel.text);
  } else {
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var sel = textarea.value.substring(start, end);
    if(sel==""){
      sel=url;
    }
    //alert(sel);
    var rep = '<a href="' + url + '">' + sel + '</a>';
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
}
}

function doAddTags(tag1,tag2,obj)
{
textarea = document.getElementById(obj);
  // Code for IE
  if (document.selection) {
    textarea.focus();
    var sel = document.selection.createRange();
    //alert(sel.text);
    sel.text = tag1 + sel.text + tag2;
  } else {  // Code for Mozilla Firefox
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var scrollTop = textarea.scrollTop;
    var scrollLeft = textarea.scrollLeft;
    var sel = textarea.value.substring(start, end);
    //alert(sel);
    var rep = tag1 + sel + tag2;
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
}

function doReplace(obj)
{
textarea = document.getElementById(obj);
var r = prompt('search|replace','').split('|');
var f = eval('/' + r[0] + '/g');
textarea.value =  textarea.value.replace(f,r[1]);
}

function doAddCode(hl,obj)
{
textarea = document.getElementById(obj);
  // Code for IE
  if (document.selection) {
    textarea.focus();
    var sel = document.selection.createRange();
    //alert(sel.text);
    sel.text = '<code lang="' + hl + '">' + sel.text + '</code>';
  } else {  // Code for Mozilla Firefox
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var scrollTop = textarea.scrollTop;
    var scrollLeft = textarea.scrollLeft;
    var sel = textarea.value.substring(start, end);
    //alert(sel);
    var rep = '<code lang="' + hl + '">' + sel + '</code>';
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
}

function doList(tag1,tag2,obj){
textarea = document.getElementById(obj);
// Code for IE
  if (document.selection) {
    textarea.focus();
    var sel = document.selection.createRange();
    var list = sel.text.split('\n');
    for(i=0;i<list.length;i++) {
      list[i] = '<li>' + list[i] + '</li>';
    }
    //alert(list.join("\n"));
    sel.text = tag1 + '\n' + list.join("\n") + '\n' + tag2;
  } else {
    // Code for Firefox
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var i;
    var scrollTop = textarea.scrollTop;
    var scrollLeft = textarea.scrollLeft;
    var sel = textarea.value.substring(start, end);
    //alert(sel);
    var list = sel.split('\n');
    for(i=0;i<list.length;i++) {
      list[i] = '<li>' + list[i] + '</li>';
    }
    //alert(list.join("<br>"));
    var rep = tag1 + '\n' + list.join("\n") + '\n' +tag2;
    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
    textarea.scrollTop = scrollTop;
    textarea.scrollLeft = scrollLeft;
  }
}
// here we define global variable
var ajaxdestination="";
function ajaxLoad(what,where) { // get data from source (what)
 toggle(where);
 try {
   xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
      new ActiveXObject("Microsoft.XMLHTTP");
 }
 catch (e) { /* do nothing */ }
 document.getElementById(where).innerHTML ="<center>loading...</center>";
// we are defining the destination DIV id, must be stored in global variable (ajaxdestination)
 ajaxdestination=where;
 xmlhttp.onreadystatechange = triggered; // when request finished, call the function to put result to destination DIV
 xmlhttp.open("GET", what);
 xmlhttp.send(null);
 return false;
}

function triggered() { // put data returned by requested URL to selected DIV
 if (xmlhttp.readyState == 4) if (xmlhttp.status == 200)
  document.getElementById(ajaxdestination).innerHTML =xmlhttp.responseText;
  else document.getElementById(ajaxdestination).innerHTML = xmlhttp.status+' '+xmlhttp.statusText;
}
function toggleEditor(id) {
  if (!tinyMCE.get(id)) {
    tinyMCE.execCommand('mceAddControl', false, id);
//    document.getElementById('buttons').style.display = 'none';
  } else {
    tinyMCE.execCommand('mceRemoveControl', false, id);
//    document.getElementById('buttons').style.display = '';
  }
}
if(typeof tinyMCE != 'undefined') {
tinyMCE.init({
    theme : "advanced",
    mode : "textareas",
    language : "ru",
    plugins : "bbcode,emotions",
    width: "90%",
    theme_advanced_buttons1 : "emotions,bold,italic,underline,undo,redo,link,unlink,image,forecolor,removeformat,cleanup",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "bottom",
    theme_advanced_toolbar_align : "center",
    theme_advanced_more_colors : false,
    content_css : "css/bbcode.css",
    entity_encoding : "raw",
    add_unload_trigger : false,
    remove_linebreaks : false,
    inline_styles : false,
    convert_fonts_to_spans : false,
    editor_selector : "mceBBComment"
});}
function compact(obj) {
 a = document.getElementsByClassName(obj);
// a[0].value = '►'; a[0].width = '10px'
 for (var i = 0; i < a.length; i++) {
  a[i].style.display = 'none';
 }
}
/*
// возвращает cookie если есть или undefined
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ))
  return matches ? decodeURIComponent(matches[1]) : undefined 
}

// уcтанавливает cookie
function setCookie(name, value, props) {
  props = props || {}
  var exp = props.expires
  if (typeof exp == "number" &amp;& exp) {
    var d = new Date()
    d.setTime(d.getTime() + exp*1000)
    exp = props.expires = d
  }
  if(exp && exp.toUTCString) { props.expires = exp.toUTCString() }

  value = encodeURIComponent(value)
  var updatedCookie = name + "=" + value
  for(var propName in props){
    updatedCookie += "; " + propName
    var propValue = props[propName]
    if(propValue !== true){ updatedCookie += "=" + propValue }
  }
  document.cookie = updatedCookie

}

// удаляет cookie
function deleteCookie(name) {
  setCookie(name, null, { expires: -1 })
}
*/


