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