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