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");
  