text: /**
   * Created with JetBrains PhpStorm.
   * User: xuheng
   * Date: 12-9-26
   * Time: 下午12:29
   * To change this template use File | Settings | File Templates.
   */
  
  //清空上次查选的痕迹
  editor.firstForSR = 0;
  editor.currentRangeForSR = null;
  //给tab注册切换事件
  /**
   * tab点击处理事件
   * @param tabHeads
   * @param tabBodys
   * @param obj
   */
  function clickHandler(tabHeads, tabBodys, obj) {
    //head样式更改
    for (var k = 0, len = tabHeads.length; k < len; k++) {
      tabHeads[k].className = '';
    }
    obj.className = 'focus';
    //body显隐
    var tabSrc = obj.getAttribute('tabSrc');
    for (var j = 0, length = tabBodys.length; j < length; j++) {
      var body = tabBodys[j],
        id = body.getAttribute('id');
      if (id != tabSrc) {
        body.style.zIndex = 1;
      } else {
        body.style.zIndex = 200;
      }
    }
  }
  
  /**
   * TAB切换
   * @param tabParentId  tab的父节点ID或者对象本身
   */
  function switchTab(tabParentId) {
    var tabElements = $G(tabParentId).children,
      tabHeads = tabElements[0].children,
      tabBodys = tabElements[1].children;
  
    for (var i = 0, length = tabHeads.length; i < length; i++) {
      var head = tabHeads[i];
      if (head.className === 'focus') clickHandler(tabHeads, tabBodys, head);
      head.onclick = function() {
        clickHandler(tabHeads, tabBodys, this);
      };
    }
  }
  $G('searchtab').onmousedown = function() {
    $G('search-msg').innerHTML = '';
    $G('replace-msg').innerHTML = '';
  };
  //是否区分大小写
  function getMatchCase(id) {
    return $G(id).checked ? true : false;
  }
  //查找
  $G('nextFindBtn').onclick = function(txt, dir, mcase) {
    var findtxt = $G('findtxt').value,
      obj;
    if (!findtxt) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      dir: 1,
      casesensitive: getMatchCase('matchCase'),
    };
    if (!frCommond(obj)) {
      var bk = editor.selection.getRange().createBookmark();
      $G('search-msg').innerHTML = lang.getEnd;
      editor.selection
        .getRange()
        .moveToBookmark(bk)
        .select();
    }
  };
  $G('nextReplaceBtn').onclick = function(txt, dir, mcase) {
    var findtxt = $G('findtxt1').value,
      obj;
    if (!findtxt) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      dir: 1,
      casesensitive: getMatchCase('matchCase1'),
    };
    frCommond(obj);
  };
  $G('preFindBtn').onclick = function(txt, dir, mcase) {
    var findtxt = $G('findtxt').value,
      obj;
    if (!findtxt) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      dir: -1,
      casesensitive: getMatchCase('matchCase'),
    };
    if (!frCommond(obj)) {
      $G('search-msg').innerHTML = lang.getStart;
    }
  };
  $G('preReplaceBtn').onclick = function(txt, dir, mcase) {
    var findtxt = $G('findtxt1').value,
      obj;
    if (!findtxt) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      dir: -1,
      casesensitive: getMatchCase('matchCase1'),
    };
    frCommond(obj);
  };
  //替换
  $G('repalceBtn').onclick = function() {
    var findtxt = $G('findtxt1').value.replace(/^\s|\s$/g, ''),
      obj,
      replacetxt = $G('replacetxt').value.replace(/^\s|\s$/g, '');
    if (!findtxt) {
      return false;
    }
    if (
      findtxt == replacetxt ||
      (!getMatchCase('matchCase1') && findtxt.toLowerCase() == replacetxt.toLowerCase())
    ) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      dir: 1,
      casesensitive: getMatchCase('matchCase1'),
      replaceStr: replacetxt,
    };
    frCommond(obj);
  };
  //全部替换
  $G('repalceAllBtn').onclick = function() {
    var findtxt = $G('findtxt1').value.replace(/^\s|\s$/g, ''),
      obj,
      replacetxt = $G('replacetxt').value.replace(/^\s|\s$/g, '');
    if (!findtxt) {
      return false;
    }
    if (
      findtxt == replacetxt ||
      (!getMatchCase('matchCase1') && findtxt.toLowerCase() == replacetxt.toLowerCase())
    ) {
      return false;
    }
    obj = {
      searchStr: findtxt,
      casesensitive: getMatchCase('matchCase1'),
      replaceStr: replacetxt,
      all: true,
    };
    var num = frCommond(obj);
    if (num) {
      $G('replace-msg').innerHTML = lang.countMsg.replace('{#count}', num);
    }
  };
  //执行
  var frCommond = function(obj) {
    return editor.execCommand('searchreplace', obj);
  };
  switchTab('searchtab');
  