var request;

var frm_folder = "/forum/"; 

function new_AjaxRequest(request)
{  
  try 
  {
    request = new XMLHttpRequest();
  }
  catch (trymicrosoft) 
  {
    try
    {
       request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (othermicrosoft) 
    {
      try 
      {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed) 
      {
         request = false;
      }  
    }
  }
  return request;
}
///////////////////////////////////////////////////////////////////////

function enable_radio()
{
  var emailField = document.getElementById('email_input');
  var yesLabel = document.getElementById('yes_label');
  var noLabel = document.getElementById('no_label');
  var reg = /.+@.+\.[a-z]{2,4}$/i;
  if(reg.test(emailField.value))
  {
    yesLabel.disabled = "";
    noLabel.disabled = "";
  }
  else
  {
    yesLabel.disabled = "true";
    noLabel.disabled = "true";
  }
  return 0;
}

function click_submit()
{
  var emailField = document.getElementById('email_input');
  var yesLabel = document.getElementById('yes_label');
  var noLabel = document.getElementById('no_label');
  var SendForm = document.getElementById('send');
  if(emailField != null)
  {
    if(emailField.value.length==0 || (emailField.value.length > 0) && (yesLabel.checked != false || noLabel.checked != false))
    {
      SendForm.submit();
    }
    else
    {
      alert("Выберите, пожалуйста, нужно ли оповещать Вас о новых сообщениях?");
    }
  }
  else
  {
    SendForm.submit();
  }
}

function enable_submit()
{
  var usercodeField = document.getElementById('usercode');
  var submitButton = document.getElementById('submit_button');  
  if(usercodeField.value.length==4)
  {
    submitButton.disabled = "";
    check_code();
  }
  else
  {
    submitButton.disabled = "true";
    check_code();
  }
}

///////////////////////////////////////////////////////////////////////

function check_code()
{
  var codeField = document.getElementById('usercode');
  var typed_code = codeField.value;
  var post_data="code=" + typed_code; 
  request = new_AjaxRequest(request);
  var url = "/code_correct.php?code="+escape(typed_code);
  request.open("POST", url, true);
  request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  request.onreadystatechange = setborder;
  request.send(post_data);
}

function setborder()
{
  if (request.readyState == 4)
  {
    var response = request.responseText;
    var border_color = "#ffaaaa 2px solid";
    var bсkrnd_color = "#ffeeee";
    if(response == "1")
    {
      border_color = "#aaffaa 2px solid";
      bсkrnd_color = "#eeffee";
    }
    var userCodeField = document.getElementById('usercode');
    userCodeField.style.border = border_color;
    userCodeField.style.backgroundColor = bсkrnd_color;
  }
}


function changePic()
{
  var Captcha = document.getElementById('code_picture');
  Captcha.src="/picture.php?d="+Math.random();
}



/* --------------------------------------------------------------------------------------------------------------------------------------
 Подсчитать количество символов в поле ввода и показать это количество.
 Входные данные:
  obj - обджект по которому считаем коликчество символов
  max - количество символов при достижении которого надо ругаться
 Выходные данные: НЕТ 
-------------------------------------------------------------------------------------------------------------------------------------- */
function count_simbols(obj, max)
{
  var s_count = obj.value.length;
  document.myform.s_count.value = s_count;
}

if (document.selection || document.getSelection) Q = true; else Q = false; 
  var copytxt = '';

/* --------------------------------------------------------------------------------------------------------------------------------------
 Скопировать выделенный текст в переменную
-------------------------------------------------------------------------------------------------------------------------------------- */
function copy_text() 
{ 
  copytxt = '';
  if (document.getSelection && (document.getSelection() != '')) copytxt = document.getSelection(); 
    else if (document.selection && (document.selection.createRange().text != '')) copytxt = document.selection.createRange().text;
} 

/* --------------------------------------------------------------------------------------------------------------------------------------
 Скопировать выделенный текст текстереа
-------------------------------------------------------------------------------------------------------------------------------------- */
function buffer_textarea(elname,tag)
{
  var elm = document.getElementById(elname);
  elm.focus();
  var code_begin = '';
  var code_end = '';
  var param = '';
  switch(tag)
  {
    case('s') : code_begin = "[s]"; code_end = "[/s]"; break;
    case('b') : code_begin = "[b]"; code_end = "[/b]"; break;
    case('i') : code_begin = "[i]"; code_end = "[/i]"; break;
    case('quote') : code_begin = "[quote]"; code_end = "[/quote]"; break;
    case('url') : param=getParam()+"\"]"; code_begin = "[url=\""; code_end = "[/url]"; break;
  }
  if (document.selection)
  {
    SelectedText = elm.document.selection.createRange()
    SelectedText.text=code_begin+param+SelectedText.text+code_end;
    return;
  }
  else
  {
    mozWrap(elm, (code_begin+param), code_end);
    return;
  }
}

function mozWrap(elm, open, close)
{
 var selLength = elm.textLength;
 var selStart = elm.selectionStart;
 var selEnd = elm.selectionEnd;
 if (selEnd == 1 || selEnd == 2)
   selEnd = selLength;
 var s1 = (elm.value).substring(0,selStart);
 var s2 = (elm.value).substring(selStart, selEnd)
 var s3 = (elm.value).substring(selEnd, selLength);
 elm.value = s1 + open + s2 + close + s3;
 return;
}

function getParam()
{
  return prompt("Введите полный адрес ссылки","http://");
}

/* --------------------------------------------------------------------------------------------------------------------------------------
 Вставить выделенный текст в...
 Входные данные:
  elname - имя элемента для вставления
-------------------------------------------------------------------------------------------------------------------------------------- */
function paste_text(elname) 
{
        var elm = document.getElementById(elname);
        elm.value += '[quote]'+copytxt+'[/quote]';
}



/* --------------------------------------------------------------------------------------------------------------------------------------
 Прикрепление файлов
-------------------------------------------------------------------------------------------------------------------------------------- */

// Добавляет формы для вложений
$(document).ready(function(){

  var lastID = $("#attachFields .attachFileCode").length;

  if($("#attachFields .attachFileCode").length == 0)
    $("#addAttachLink").text("(Прикрепить GIF картинку)");
  else
    $("#addAttachLink").text("(Прикрепить еще одну GIF картинку)");

  // Добавление поля для загрузки файла
  $("#addAttachLink").click(
    function(){
      if($("#attachFields .attachFileCode").length < 4)
      {
        $(".attachFile .attachFileCode").clone().appendTo("#attachFields");
        $("#attachFields .attachFileCode:last").attr("id","fileID"+lastID);
        $("#attachFields .attachFileCode:last .inputFile").attr("name","fileIDNum"+lastID);
        $("#attachFields .attachFileCode:last .delButton").attr("id","delFile"+lastID);
        $("#attachFields .attachFileCode:last .delButton").attr("onclick","delFile('fileID"+lastID+"');");
        if(jQuery.browser.msie)
        {
          document.getElementById("delFile"+lastID).setAttribute("onclick", function() { delFile("fileID"+lastID); });
        }
        if($("#attachFields .attachFileCode").length > 0) $("#addAttachLink").text("(Прикрепить еще одну GIF картинку)");
        lastID++;

        // прокрутка к новому полю при редактировании вложений
        if($("body.popup").length != 0) {
          for (scroll_i=1; scroll_i<=10000; scroll_i+=2) {
            window.scroll(1,scroll_i);
          }
        }

        return false;
      }
      else
      {
        alert("Максимальное число вложений — 4");
        return false;
      }
  });

});

// Удаление прикрепления
function delFile(elemID)
{
  $("#"+elemID).remove();
  if($("#attachFields .attachFileCode").length == 0) $("#addAttachLink").text("(Прикрепить GIF картинку)");
  return false;
}