String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function return_validator() {
    var vNum;
    vNum = Math.random();
    vNum = Math.round(vNum * 10000);

    document.getElementById("img_validation_code").src = "Validator.aspx?num=" + vNum;
}

function getParValue(name) {
    var str = window.location.search;

    if (str.indexOf(name) != -1) {
        var pos_start = str.indexOf(name) + name.length + 1;
        var pos_end = str.indexOf("&", pos_start);
        if (pos_end == -1) {
            return str.substring(pos_start);
        }
        else {
            return str.substring(pos_start, pos_end)
        }
    }
    else {
        return "";
    }
}

String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

//关闭浏览器提示
window.onbeforeunload = function() {
    var n = window.event.screenX - window.screenLeft;
    var b = n > document.documentElement.scrollWidth - 20;
    if (b && window.event.clientY < 0 || window.event.altKey) {
        window.event.returnValue = ""; //这里可以放置你想做的操作代码    
    }
}


function pageNumgo(sum, now) {
    if (now.trim().length == 0) {
        alert('未输入页数');
        return false;
    }
    if(Number(now)<=0)
    {
        alert('请输入正确的页数');
        return false;
    }
    if (Number(now) > Number(sum)) {
        alert('超过总页数');
        return false;
    }

    return true;
}

//获取欲保存之列表 edit by lyq
//每个页面优化的时候能调用这个调用这个，防止页面上两个table则chk_all两个重复
function isDelRecord(settype, tbname, validCell, chkName) {
    var tb = document.getElementById(tbname);
    if (tb == null) return false;
    if (!isChkRecord(tbname,chkName)) return false;

    var strList = "";

    var rowsCount = tb.rows.length;

    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (chk == undefined || !chk.checked || chk.id == chkName) continue;

        strList += tb.rows[i].cells[validCell].children[0].innerText + "\n";
    }

    return confirm('确实要将\n\n' + strList + '\n' + settype + '吗？');
}

//勾选框获取全部，chkallId表示全选框id，tbname表示欲操作表的id
function ChkAllById(chkallId, tbname) {
    var isChecked = document.getElementById(chkallId);
    var tb = document.getElementById(tbname);
    var rowsCount = tb.rows.length;
    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (chk.type == "checkbox" && chk.style.display == "") {
            chk.checked = isChecked.checked;
        }
    }
}
//判断表中是否有勾选记录，tbname表示表id，chkAll表示表中全选框id，用来排除的
function isChkRecord(tbname, chkAll) {
    var rowsCount = document.getElementById(tbname).rows.length;
    var tb = document.getElementById(tbname);

    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (chk == undefined || !chk.checked || chk.id == chkAll) continue;

        return true;
    }

    alert("未选择记录");
    return false;
}

//准备优化以下表格操作：全选，判断是有否选中，以及选中哪些记录判断是否删除，请使用上面三个函数  李佑群2010.8.5
//勾选框获取全部
function chkAll() {
    var allE = document.form1.getElementsByTagName("input");
    var isChecked = document.getElementById("chk_all");

    for (var i = 0; i < allE.length; i++) {
        if (allE[i].type == "checkbox" && allE[i].style.display == "") {
            allE[i].checked = isChecked.checked;
        }
    }
}

function chkTableAll(tName, chkName)
{
    var tObj = document.getElementById(tName);
    var allE = tObj.getElementsByTagName("input");
    var isChecked = document.getElementById(chkName);
    
    for(var i=0; i<allE.length; i++) {
        if((allE[i].type=="checkbox")&&(allE[i].style.display!="none")) 
        {
            allE[i].checked = isChecked.checked;
        }     
    }
    
}


//是否有选择
function isChk(tbname) {
    var rowsCount = document.getElementById(tbname).rows.length;
    var tb = document.getElementById(tbname);

    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (chk == null || !chk.checked || chk.id == "chk_all") continue;

        return true;
    }

    alert("未选择记录");
    return false;
}

//获取欲保存之列表
function isvalid(settype, tbname, validCell) {
    var tb = document.getElementById(tbname);
    if (tb == null) return false;
    if (!isChk(tbname)) return false;

    var strList = "";

    var rowsCount = tb.rows.length;

    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (chk == undefined || !chk.checked || chk.id == "chk_all") continue;

        strList += tb.rows[i].cells[validCell].children[0].innerText + "\n";
    }

    return confirm('确实要将\n\n' + strList + '\n' + settype + '吗？');
}

//准备删除
function isChkvalid(settype, tbname, validCell, chkAll) {
    var tb = document.getElementById(tbname);
    if (tb == null) return false;
    if (!isChkRecord(tbname,chkAll)) return false;

    var strList = "";

    var rowsCount = tb.rows.length;

    for (var i = 0; i < rowsCount; i++) {
        var chk = tb.rows[i].cells[0].children[0];
        if (!chk.checked || chk.id == chkAll) continue;
            if(tb.rows[i].cells[validCell].children[0]!=""&&tb.rows[i].cells[validCell].children[0]!=null&&tb.rows[i].cells[validCell].children[0]!=undefined){
        strList += tb.rows[i].cells[validCell].children[0].innerHTML + "\n";
        }
    }

    return confirm('确实要将\n\n' + strList + '\n' + settype + '吗？');
}


//打开历史记录详情窗口
function HistoryDetail(targetId) {
    top.popWindow('历史记录详情', 'common/ActionLog.aspx?id=' + targetId, 500, 300, targetId);
}

//span闪动效果
function spanFlashing(spanName) {
    var spanMessage = document.getElementById(spanName);
    if (!spanMessage.style.color) {
        spanMessage.style.color = "red"
    }
    if (spanMessage.style.color == "red") {
        spanMessage.style.color = "black"
    }
    else {
        spanMessage.style.color = "red"
    }
    timer = setTimeout("spanFlashing('" + spanName + "')", 500);
}

function Select_Current() {
    var obj = event.srcElement;
    while(obj.nodeName !="TD")
    {
        obj = obj.parentElement;
    }
    var trobj = obj.parentElement;
    var tbobj = trobj.parentElement.parentElement;
    for (var i = 1; i < tbobj.rows.length; i++) {
        tbobj.rows[i].style.background = "#EBF7F3";
    }
    tbobj.rows[trobj.rowIndex].style.background = "#B1E2CD";
}

function GetCurrentId(hdnId) {
    var hdnParentId = document.getElementById(hdnId);
    hdnParentId.value = top.GetTabId();
}

//设置部门树div高度
function setDivDeptHeight(){
    var div_dept = document.getElementById("div_dept");
    if(div_dept != null) {
        var tbHeight = 0;
        var tb_search = document.getElementById("tb_search");
        if(tb_search != null) {
            tbHeight = tb_search.clientHeight;
        }
        
        var cHeight = document.documentElement.clientHeight;
        var divHeight = 80;
        if(cHeight != 0 ) {
            divHeight = cHeight - 15;
        }
        if(tbHeight > cHeight) {
            divHeight = tbHeight;
        }
        div_dept.style.height = divHeight;
    }
}

//-------------------------------------修改密码有效性判断 create by lyq on 11.17-----------------------------------------
function checkPassword(oldPwd, newPwd, confirmPwd, type)
{
    var strOldPwd = document.getElementById(oldPwd).value.trim();
    var strNewPwd = document.getElementById(newPwd).value.trim();
    var strConfirmPwd = document.getElementById(confirmPwd).value.trim();
    if(strOldPwd == "")
    {
        alert(type + "旧密码不能为空！");
        return false;
    }
    if(strNewPwd == "")
    {
        alert(type + "新密码不能为空！");
        return false;
    }
    if(strNewPwd != strConfirmPwd)
    {        
        alert("两次输入的" + type + "新密码不一致，请确认！");
        return false;
    }
    return true;
}

function resetPassword(oldPwd, newPwd, confirmPwd)
{
    document.getElementById(oldPwd).value = "";
    document.getElementById(newPwd).value = "";
    document.getElementById(confirmPwd).value = "";
}

//function ClearValue(txtId,hdnId)
//{
//    var txtObj = document.getElementById(txtId);
//    var hdnObj = document.getElementById(hdnId);
//    
//    txtObj.value = "";
//    hdnObj.value ="";
//}

//判断文框输入是否为数字
function Txt_blur(txt_name) {
    var txt_obj = document.getElementById(txt_name);
    if (isNaN(txt_obj.value)) {
        txt_obj.value = "";
        txt_obj.focus();
        alert('请输入数字!');
    }
}

//判断文本框输入是否为整数
function IsInteger(txt_name){
    var txt_obj = document.getElementById(txt_name);
    var regu = /^[-]{0,1}[0-9]{1,}$/;
    if(!regu.test(txt_obj.value))
    {
        txt_obj.value = "";
        txt_obj.focus();
        alert('请输入整数!');
    }
}

//金额格式化    参数说明：num 要格式化的数字 n 保留小数位
function formatNum(num,n){
    num = String(num.toFixed(n));
    var re = /(-?\d+)(\d{3})/;
    while(re.test(num)) num = num.replace(re,"$1,$2")
    return num;
}

//每个文件标识返回的值绑定的控件值进行重置
function resetTempValue(hdnId, txbId)
{
    document.getElementById(hdnId).value = "";
    document.getElementById(txbId).value = ""; 
}
function resetTempValueOne(txbId)
{
    document.getElementById(txbId).value = ""; 
}
function resetTempText(hdnId, lblId)
{
    document.getElementById(hdnId).value = "";
    document.getElementById(lblId).innerText = ""; 
}

//TabContainer的OnClientActiveTabChanged
function ActiveTabChanged(sender, e) {
    document.getElementById("hdnActiveIndex").value = sender.get_activeTab().get_tabIndex();
}

//ShowOrHide.js  edit by lyq
//显示隐藏模块，并切换图片
function SelectDisplay(img_Hide, img_Show, div, showOrhide) {
    var img_ObjHide = document.getElementById(img_Hide);
    var img_ObjShow = document.getElementById(img_Show);
    var div_Obj = document.getElementById(div);

    if (showOrhide == "show") {
        img_ObjHide.style.display = "";
        img_ObjShow.style.display = "none";
        div_Obj.style.display = "";
    }
    if (showOrhide == "hide") {
        img_ObjHide.style.display = "none";
        img_ObjShow.style.display = "";
        div_Obj.style.display = "none";
    }
}

/***************************************************************************
                64位加解密
****************************************************************************/
//加密
function base64Encode(text){
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    input = escape(text);
    var output = "";
    var chr1, chr2, chr3 = "";
    var enc1, enc2, enc3, enc4 = "";
    var i = 0;
    do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);
      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;
      if (isNaN(chr2)) {
        enc3 = enc4 = 64;
      } 
      else if (isNaN(chr3)) {
        enc4 = 64;
      }
      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
      chr1 = chr2 = chr3 = "";
      enc1 = enc2 = enc3 = enc4 = "";
    } 
    while (i < input.length);
    return output;
}
//解密
function base64Decode(text){
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var output = "";
    var chr1, chr2, chr3 = "";
    var enc1, enc2, enc3, enc4 = "";
    var i = 0;
    var base64test = /[^A-Za-z0-9\+\/\=]/g;
    if (base64test.exec(text)) {
        alert("错误，不是64位编码类型");
    }
    input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
    do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));
      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;
      output = output + String.fromCharCode(chr1);
      if (enc3 != 64) {
        output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
        output = output + String.fromCharCode(chr3);
      }
      chr1 = chr2 = chr3 = "";
      enc1 = enc2 = enc3 = enc4 = "";
    } 
    while (i < input.length);
    
    return unescape(output);
}

/***************************************************************************
                控件提示 add by ll 2010-07-16
****************************************************************************/
//select控件提示
function ddlToopTip(obj) {
    if(obj != null) {
        for(i = 0; i < obj.options.length; i++){
            obj.options[i].title = obj.options[i].text;
        }
    }
}

//textbox控件提示
function txtToopTip(obj) {
    if(obj != null) {
        obj.onmouseover = function(){ 
            obj.title = obj.value; 
        } 
    }
}

//span控件提示
function lblToopTip(obj) {
    if(obj != null) {
        obj.title = obj.innerHTML;
    }
}
//span控件提示
function spanToopTip(obj) {
    if(obj != null) {
        obj.title = obj.innerHTML;
    }
}

