﻿
function trim(str) {//删除左右两端的空格
    return str.replace(/(^\s*)|(\s*$)/g, "");
}

//验证是否为纯数字
function isPlusInt(str) {
    if (str == '') return false;

    //验证规则：非负整数
    var newPar = /^\d+$/
    if (str.length > 0)
        return newPar.test(str);
    else
        return true;
}

//验证是否为整数
function isInt(str) {
    if (str == '') return false;
    if (isNaN(str)) return false;
    if (str.indexOf('.') > 0) return false;
    return true;
}

//验证是否为数值，并且不超过指定小数位数
function isNumber(str, dotNum) {
    if (str == '') return false;
    if (isNaN(str)) return false;
    var dotIndex = str.indexOf('.');
    if (dotIndex > -1) {
        var i = str.length - dotIndex - 1;
        if (i > dotNum || i == 0)
            return false;
    }
    return true;
}

//验证是否为正数，并且不超过指定小数位数
function isPlusNumber(str, dotNum) {
    if (isNumber(str, dotNum)) {
        if (str >= 0)
            return true;
        else
            return false;
    }
    else {
        return false;
    }
}

//验证邮箱地址
function isEmail(email) {
    var emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
    if (!emailRegExp.test(email) || email.indexOf('.') == -1) {
        return false;
    } else {
        return true;
    }
}

function format(datevalue, fmt) {
    var o = { "M+": datevalue.getMonth() + 1,                 //月份    
        "d+": datevalue.getDate(),                    //日    
        "h+": datevalue.getHours(),                   //小时    
        "m+": datevalue.getMinutes(),                 //分    
        "s+": datevalue.getSeconds(),                 //秒    
        "q+": Math.floor((datevalue.getMonth() + 3) / 3), //季度    
        "S": datevalue.getMilliseconds()             //毫秒    
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (datevalue.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

function SetCookie(name, value)//两个参数，一个是cookie的名子，一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

//CurrentPageNum:当前页 （必须大于0）
//PageTotal:总页数
//RowTotal:记录总数
//GetDataFunctionName:获取分页数据的方法名（只写名称即可 不要加括号和参数）
//IsShowTotal:是否显示总页数与总记录数信息
function SetPagerHTML(CurrentPageNum, PageTotal, RowTotal, GetDataFunctionName, IsShowTotal, p_Name) {
    if (!p_Name)
        p_Name = "p_Pager";
    var _strPageText = "";
    if (CurrentPageNum < 1 || RowTotal < 1 || PageTotal < 1) {
        document.getElementById(p_Name).innerHTML = "";
        return;
    }
    var WL = window.location.toString().toLowerCase();
    if (WL.indexOf("en-us") > -1)
        WL = "en-us";
    else
        WL = "";

    if (PageTotal > 1) {
        if (CurrentPageNum <= 1) {
            if (WL == "")
                _strPageText += "首页 上一页";
            else
                _strPageText += "FIRST PREV";
        }
        else {
            if (WL == "") {
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(1)'>首页</a>";
                _strPageText += " <a href='#DataListTop' class='aprev' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum - 1) + ")'>上一页</a>";
            }
            else {
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(1)'>FIRST</a>";
                _strPageText += " <a href='#DataListTop' class='aprev' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum - 1) + ")'>PREV</a>";
            }
        }

        var _intPageStart = CurrentPageNum - 4;
        if (_intPageStart > PageTotal - 8)
            _intPageStart = PageTotal - 8;
        if (_intPageStart < 1)
            _intPageStart = 1;
        var _intPageEnd = CurrentPageNum + 4;
        if (_intPageEnd < 9)
            _intPageEnd = 9;
        if (_intPageEnd > PageTotal)
            _intPageEnd = PageTotal;

        for (var i = _intPageStart; i <= _intPageEnd; i++) {
            if (i == CurrentPageNum)
                _strPageText += " | <span style='padding:0 3px;'>" + i + "</span>";
            else
                _strPageText += " | <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + i + ")'>" + i + "</a>";
        }

        if (CurrentPageNum >= PageTotal) {
            if (WL == "")
                _strPageText += " | 下一页 末页";
            else
                _strPageText += " | NEXT LAST";
        }
        else {
            if (WL == "") {
                _strPageText += " | &nbsp;<a href='#DataListTop' class='afwr' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum + 1) + ")'>下一页</a>";
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + PageTotal + ")'>末页</a> ";
            }
            else {
                _strPageText += " | &nbsp;<a href='#DataListTop' class='afwr' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum + 1) + ")'>NEXT</a>";
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + PageTotal + ")'>LAST</a> ";
            }
        }
    }
    if (IsShowTotal || PageTotal == 1) {
        if (_strPageText != "")
            _strPageText += "&nbsp;&nbsp;&nbsp;";
        if (WL == "")
            _strPageText += "共" + RowTotal + "条记录 总计" + PageTotal + "页";
        else
            _strPageText += RowTotal + "records. " + PageTotal + "pages.";
    }
    document.getElementById(p_Name).innerHTML = _strPageText;
}

//CurrentPageNum:当前页 （必须大于0）
//PageTotal:总页数
//RowTotal:记录总数
//GetDataFunctionName:获取分页数据的方法名（只写名称即可 不要加括号和参数）
//IsShowTotal:是否显示总页数与总记录数信息
function SetPagerInvestor(CurrentPageNum, PageTotal, RowTotal, GetDataFunctionName, IsShowTotal, p_Name) {
    if (!p_Name)
        p_Name = "p_Pager";
    var _strPageText = "";
    if (CurrentPageNum < 1 || RowTotal < 1 || PageTotal < 1) {
        document.getElementById(p_Name).innerHTML = "";
        return;
    }
    var WL = window.location.toString().toLowerCase();
    if (WL.indexOf("en-us") > -1)
        WL = "en-us";
    else
        WL = "";

    if (PageTotal > 1) {
        if (CurrentPageNum <= 1) {
            if (WL == "")
                _strPageText += "首页 上一页";
            else
                _strPageText += "NEWEST&nbsp;&nbsp;&nbsp;&nbsp;PREV&nbsp;&nbsp;";
        }
        else {
            if (WL == "") {
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(1)'>首页</a>";
                _strPageText += " <a href='#DataListTop' class='aprev' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum - 1) + ")'>上一页</a>";
            }
            else {
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(1)'>NEWEST</a>";
                _strPageText += " <a href='#DataListTop' class='aprev' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum - 1) + ")'>PREV</a>";
            }
        }

        var _intPageStart = CurrentPageNum - 4;
        if (_intPageStart > PageTotal - 8)
            _intPageStart = PageTotal - 8;
        if (_intPageStart < 1)
            _intPageStart = 1;
        var _intPageEnd = CurrentPageNum + 4;
        if (_intPageEnd < 9)
            _intPageEnd = 9;
        if (_intPageEnd > PageTotal)
            _intPageEnd = PageTotal;

        for (var i = _intPageStart; i <= _intPageEnd; i++) {
            if (i == CurrentPageNum)
                _strPageText += " | <span style='padding:0 3px;'>" + i + "</span>";
            else
                _strPageText += " | <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + i + ")'>" + i + "</a>";
        }

        if (CurrentPageNum >= PageTotal) {
            if (WL == "")
                _strPageText += " | 下一页 末页";
            else
                _strPageText += " | NEXT&nbsp;&nbsp;&nbsp;&nbsp;OLDEST";
        }
        else {
            if (WL == "") {
                _strPageText += " | &nbsp;<a href='#DataListTop' class='afwr' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum + 1) + ")'>下一页</a>";
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + PageTotal + ")'>末页</a> ";
            }
            else {
                _strPageText += " | &nbsp;<a href='#DataListTop' class='afwr' onclick='" + GetDataFunctionName + "(" + (CurrentPageNum + 1) + ")'>NEXT</a>";
                _strPageText += " <a href='#DataListTop' class='anum' onclick='" + GetDataFunctionName + "(" + PageTotal + ")'>OLDEST</a> ";
            }
        }
    }
    if (IsShowTotal || PageTotal == 1) {
        if (_strPageText != "")
            _strPageText += "&nbsp;&nbsp;&nbsp;";
        if (WL == "")
            _strPageText += "共" + RowTotal + "条记录 总计" + PageTotal + "页";
        else
            _strPageText += RowTotal + "records. " + PageTotal + "pages.";
    }
    document.getElementById(p_Name).innerHTML = _strPageText;
}

//取Url参数
function GetUrl(str) {
    var args = "";
    var query = window.location.search.substring(1);
    var pairs = query.split("&");
    for (var i = 0; i < pairs.length; i++) {
        var pos = pairs[i].indexOf('=');
        if (pos == -1) continue;
        var argname = pairs[i].substring(0, pos);
        if (argname == str) {
            args = decodeURIComponent(pairs[i].substring(pos + 1));
            break;
        }
    }
    return args;
}

//日期格式转化
function ChangeDateFormat(cellval, isGetTime) {
    var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));
    var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
    var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
    if (!isGetTime) {
        return date.getFullYear() + "-" + month + "-" + currentDate;
    }
    else {
        return date.getFullYear() + "-" + month + "-" + currentDate + " " + (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":" + (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
    }
}

//onmouseover及onmouseout判断
function isMouseLeaveOrEnter(e, handler) {
    if (e.type != 'mouseout' && e.type != 'mouseover') return false;
    var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;
    while (reltg && reltg != handler)
        reltg = reltg.parentNode;
    return (reltg != handler);
}


function doPrint() {

    bdhtml = window.document.body.innerHTML.replace(/'n/g, "");
    sprnstr = "<!--startprint-->";
    eprnstr = "<!--endprint-->";

    prnhtml = bdhtml.substring(bdhtml.indexOf(sprnstr) + 17);
    prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));

    document.write("<html><head><link href='/style/print.css' rel='stylesheet' type='text/css' /></head><body><div id='printA4'>" + prnhtml + "</div></body></html>");
    document.close();
    window.print();
}

//浏览器及版本信息
function browserInfo() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s;
    (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
    (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
    (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
    (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
    (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
    return Sys;
}
 
