// класс для инпутов radio и checkbox
function setInputClass() {
  var input = document.getElementsByTagName('input');
  for (var i = 0; i <= input.length - 1; i++) {
    if (input[i].type == 'text') {
      input[i].className = 'text';
    }

    if (input[i].type == 'checkbox' || input[i].type == 'radio') {
      input[i].className = 'check';
    }
  }
}

//Исправляем PNG в IE6
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
function fixPNG(myImage) {
  if ((version >= 5.5) && (version < 7) && (document.body.filters)) {
    var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "";
    var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "";
    var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' ";
    var imgStyle = "display:inline-block;" + myImage.style.cssText;
    var strNewHTML = "<span " + imgID + imgClass + imgTitle
      + " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px;" + imgStyle + ";"
      + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
      + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>";
    myImage.outerHTML = strNewHTML;
  }
}



//MegaEditor
MegaEditor = {

  insertTagWithText: function (link, tagName){
    var startTag = '[' + tagName + ']';
    var endTag = '[/' + tagName + ']';
    MegaEditor.insertTag(link, startTag, endTag);
    return false;
  },

  insertImage: function(){
    var src = prompt('Введите URL изображения', 'http://');
    if(src){
      MegaEditor.insertTag('[img]' + src + '[/img]', '');
    }
  },

  insertLink: function(link){
    var href = prompt('Введите URL ссылки', 'http://');

    if(href) {
      textarea = document.getElementById('editor');
      var scrtop = textarea.scrollTop;
      var cursorPos = MegaEditor.getCursor(textarea);
      var txt_pre = textarea.value.substring(0, cursorPos.start);
      var txt_sel = textarea.value.substring(cursorPos.start, cursorPos.end);
      var txt_aft = textarea.value.substring(cursorPos.end);

      var startTag = '[url='+href+']';
      var endTag = '[/url]';

      if (cursorPos.start == cursorPos.end){
        var nuCursorPos = cursorPos.start + startTag.length;
      }else{
        var nuCursorPos=String(txt_pre + startTag + txt_sel + endTag).length;
      }
      $(textarea).val(txt_pre + startTag + txt_sel + endTag + txt_aft);
      MegaEditor.setCursor(textarea, nuCursorPos, nuCursorPos);
      if (scrtop) textarea.scrollTop = scrtop;

      //MegaEditor.insertTag(link, '[url]'+href+'[/url]', '');
    }
  },

  insertUser: function(link){
    var login = prompt('Введите никнейм пользователя', '');
    if(login){
      MegaEditor.insertTag(link, '<user="' + login + '">', '</user>');
    }
  },

  insertTag: function(link, startTag, endTag, repObj){
      var name_id = $(link).parent().parent().next().attr('id');
      $(link).parent().parent().next().attr('id', 'editor');
      textarea = document.getElementById('editor');
      textarea.focus();
      var scrtop = textarea.scrollTop;
      var cursorPos = MegaEditor.getCursor(textarea);
      var txt_pre = textarea.value.substring(0, cursorPos.start);
      var txt_sel = textarea.value.substring(cursorPos.start, cursorPos.end);
      var txt_aft = textarea.value.substring(cursorPos.end);
      if(repObj){
        txt_sel = txt_sel.replace(/\r/g, '');
        txt_sel = txt_sel != '' ? txt_sel : ' ';
        txt_sel = txt_sel.replace(new RegExp(repObj.findStr, 'gm'), repObj.repStr);
      }
      if (cursorPos.start == cursorPos.end){
        var nuCursorPos = cursorPos.start + startTag.length;
      }else{
        var nuCursorPos=String(txt_pre + startTag + txt_sel + endTag).length;
      }
      $(textarea).val(txt_pre + startTag + txt_sel + endTag + txt_aft);
      MegaEditor.setCursor(textarea, nuCursorPos, nuCursorPos);
      if (scrtop) textarea.scrollTop = scrtop;
      $(link).parent().parent().next().attr('id', name_id);
      return false;
  },

  insertTagFromDropBox: function(link){
      //MegaEditor.insertTagWithText(link, link.value);
      MegaEditor.insertTag(link, '[h'+link.value+']', '[/h'+link.value+']');
      link.selectedIndex = 0;
  },

  insertList: function(link){
      if (link.value == 1) {
        var startTag = '[list='+link.value+']\n';
        var endTag = '\n[/list]';
      } else {
        var startTag = '[list]\n';
        var endTag = '\n[/list]';
      }
      var repObj = {
        findStr: '^(.+)',
        repStr: '\t[*] $1'
      }

      MegaEditor.insertTag(link, startTag, endTag, repObj);
      link.selectedIndex = 0;
  },

  insertTab: function(e, textarea){
      if(!e) e = window.event;
      if (e.keyCode) var keyCode = e.keyCode;
      else if (e.which) var keyCode = e.which;

      //alert(keyCode);
      switch(e.type){
        case 'keydown':
          if(keyCode == 16){
            MegaEditor.shift = true;
            //alert('1');
          }
          break;

        case 'keyup':
          if(keyCode == 16) {
            MegaEditor.shift = false;
            //alert('2');
          }

          break;
      }

      textarea.focus();
      var cursorPos = MegaEditor.getCursor(textarea);

      if (cursorPos.start == cursorPos.end){
        return true;


      } else if(keyCode == 9 && !MegaEditor.shift){
        var repObj = {
          findStr: '^(.+)',
          repStr: '\t$1'
        }
        MegaEditor.insertTag(textarea, '', '', repObj);
        return false;

      } else if(keyCode == 9 && MegaEditor.shift){
        var repObj = {
          findStr: '^\t(.+)',
          repStr: '$1'
        }
        MegaEditor.insertTag(textarea, '', '', repObj);
        return false;
      }
  },

  getCursor: function(input){
      var result = {start: 0, end: 0};
      if (input.setSelectionRange){
        result.start= input.selectionStart;
        result.end = input.selectionEnd;
      } else if (!document.selection) {
        return false;
      } else if (document.selection && document.selection.createRange) {
        var range = document.selection.createRange();
        var stored_range = range.duplicate();
        stored_range.moveToElementText(input);
        stored_range.setEndPoint('EndToEnd', range);
        result.start = stored_range.text.length - range.text.length;
        result.end = result.start + range.text.length;
      }
      return result;
  },

  setCursor: function(textarea, start, end){
      if(textarea.createTextRange) {
        var range = textarea.createTextRange();
        range.move("character", start);
        range.select();
      } else if(textarea.selectionStart) {
        textarea.setSelectionRange(start, end);
      }
  }

}

function ShowCopyWarning() {
	alert("При цитировании ссылка на www.atorus.ru обязательна.");
}

