
function login() {
    var url = window.location.href;
    if (!(url.indexOf("returnURL") > 0)) {
        window.location.href = '/cn/login/Default.aspx?returnURL=' + url;
    }
}

//复制本文链接
function copyToClipBoard() {
    if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
        alert("请在IE下使用", '温馨提示', 1500);
    } else {

        var clipBoardContent = "";
        clipBoardContent += document.title;
        clipBoardContent += "";
        clipBoardContent += this.location.href;
        window.clipboardData.setData("Text", clipBoardContent);
        //        alert("复制成功，请粘贴到您的QQ/MSN上推荐给您的好友");
    }
}




//添加收藏
function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        }
        catch (e) {
            // alert("加入收藏失败，请使用Ctrl+D进行添加");
        }
    }
}

//设置为主页
function SetHome(obj, vrl) {
    try {
        obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl);
    }
    catch (e) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                // alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后//将[signed.applets.codebase_principal_support]设置为'true'"); 
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage', vrl);
        }
    }
}

//取得浏览器版本
function getIEVersion() {
    var index = window.clientInformation.userAgent.indexOf("MSIE");
    return (index < 0) ? "" : window.clientInformation.userAgent.substring(index + 5, index + 8);
}


//取得控件位置
function getAbsPosition(obj, offsetObj) {
    //if (obj == null) return ([0, 0]);
    var _offsetObj = (offsetObj) ? offsetObj : document.body;
    var x = obj.offsetLeft - 1;
    var y = obj.offsetTop;
    var tmpObj = obj.offsetParent;

    x += parseInt((obj.currentStyle.borderLeftWidth == "medium") ? 0 : obj.currentStyle.borderLeftWidth.replace("px", ""));
    y += parseInt((obj.currentStyle.borderTopWidth == "medium") ? 0 : obj.currentStyle.borderTopWidth.replace("px", ""));

    while ((tmpObj != _offsetObj) && tmpObj) {
        if (null != tmpObj.parentElement.style.display && tmpObj.parentElement.style.display == 'none') return ([-1, -1]);
        x += tmpObj.offsetLeft + tmpObj.clientLeft - tmpObj.scrollLeft;
        y += tmpObj.offsetTop + tmpObj.clientTop - tmpObj.scrollTop;
        if (tmpObj.tagName == "TABLE") x -= (tmpObj.currentStyle.borderLeftWidth == "medium") ? 0 : tmpObj.currentStyle.borderLeftWidth.replace("px", "");
        if (tmpObj.tagName == "TABLE") y -= (tmpObj.currentStyle.borderTopWidth == "medium") ? 0 : tmpObj.currentStyle.borderTopWidth.replace("px", "");
        tmpObj = tmpObj.offsetParent;
    }
    return ([x, y]);
}


//打开一个新的链接
function OpenShell(url) {
    try {
        var urlF = window.location.href;
        var urldomin = urlF.replace('http://', '').split('/');
        url = urldomin[0] + '/' + urldomin[1] + url;
        var oShell = new ActiveXObject("WScript.Shell");
        oShell.Run("iexplore.exe " + url, 3, true);

    }
    catch (e) { };
}

//字符处理转换 ,将整形转换为字符串形
function getValidStr(str) {
    str += "";
    return (str == "undefined" || str == "null") ? "" : str;
}

//字符转换为整数
function getInt(value) {
    var result = parseInt(value);
    return (isNaN(result)) ? 0 : result;
}

//比较两个字符串
function compareText(str1, str2) {
    str1 = getValidStr(str1);
    str2 = getValidStr(str2);
    if (str1 == str2) return true;
    if (str1 == "" || str2 == "") return false;
    return (str1.toLowerCase() == str2.toLowerCase());
}

//广义的bool函数，同C语言语法意义上相同
function isTrue(value) {
    return (value == true || (typeof (value) == "number" && value != 0) || compareText(value, "true") || compareText(value, "T") || compareText(value, "yes") || compareText(value, "on"));
}

//判断控件是否可见,如果传入的obj为空，则返回false;
function isObjVisible(obj) {
    if (!obj) {
        return false;
    }
    else {
        return obj.style.display == '';
    }
}

//格式化日期 
function formatDateTime(date, format) {
    if (typeof (date) == "object" && !isNaN(date)) {
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();

        if (month < 10) month = "0" + month;
        if (day < 10) day = "0" + day;

        var hours = date.getHours();
        var minutes = date.getMinutes();
        var seconds = date.getSeconds();

        if (hours < 10) hours = "0" + hours;
        if (minutes < 10) minutes = "0" + minutes;
        if (seconds < 10) seconds = "0" + seconds;

        switch (format.toLowerCase()) {
            case "yyyy/mm/dd":
                {
                    return year + "/" + month + "/" + day;
                    break;
                }
            case "yyyy-mm-dd":
                {
                    return year + "-" + month + "-" + day;
                    break;
                }
            case "yyyy-mm-dd hh:mm":
                {
                    return year + "-" + month + "-" + day + hours + ":" + minutes;
                    break;
                }
            case "yyyy-mm-dd hh:mm:ss":
                {
                    return year + "-" + month + "-" + day + hours + ":" + minutes + ":" + seconds;
                    break;
                }
            case "yyyy年mm月dd日":
                {
                    return year + "年" + month + "月" + day + "日";
                    break;
                }
            case "HH:mm:ss":
                {
                    return hours + ":" + minutes + ":" + seconds;
                    break;
                }
            case "date":
                {
                    return year + "/" + month + "/" + day;
                    break;
                }
            case "time":
                {
                    return hours + ":" + minutes + ":" + seconds;
                    break;
                }
            case "datetime":
                {
                    return year + "/" + month + "/" + day + " " + hours + ":" + minutes + ":" + seconds;
                    break;
                }
            default:
                {
                    return year + "/" + month + "/" + day;
                    break;
                }
        }
    }
    else
        return "";
}


//验证日期格式
function FI_CheckDate(sValue) {
    if (sValue.indexOf('-') == 2 || sValue.indexOf('/') == 2) sValue = '20' + sValue;
    var pattern = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|(1[0-9])|(2[0-3]))\:([0-5][0-9])((\:([0-5][0-9]))?)))?$/gi;
    var arr = pattern.exec(sValue);

    return arr != null;

}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

//AJAX异步处理
//sUrl --异步处理的URL
//sXml --传递的XML实体
//在sUrl页面上通过Request.InputStream 获取XML并解析,POST方法发送
function sendHttp(sUrl, sXml) {

    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.Open("POST", sUrl, false);
    try {
        var sendXML = '<root></root>';
        if (sXml)
            sendXML = sXml.indexOf('<root') == 0 ? sXml : ("<root>" + sXml + "</root>");
        xmlhttp.Send(sendXML)
        return xmlhttp.responseText;
    }
    catch (e) {
        return e.toString();
    }
}

//AJAX异步处理,传递带参数的URL
function function_XmlHttp(sUrl, sXml) {
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.Open("POST", sUrl, false);
    try {
        xmlhttp.Send(sXml)
        return xmlhttp.responseText;
    }
    catch (e) {
        return e.toString();
    }
}

//在客户端设置Cookie值
function setCookie(name, value) {
    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() + ";path=/;";

}

//取出客户端Cookie传
function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]); return null;
}

//删除客户端Cookie
function delCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

function fi_Pause(obj, iMinSecond) {
    if (window.eventList == null) window.eventList = new Array();
    var ind = -1;
    for (var i = 0; i < window.eventList.length; i++) {
        if (window.eventList[i] == null) {
            window.eventList[i] = obj;
            ind = i;
            break;
        }
    }

    if (ind == -1) {
        ind = window.eventList.length;
        window.eventList[ind] = obj;
    }
    setTimeout("fi_GoOn(" + ind + ")", iMinSecond);
}


function fi_GoOn(ind) {
    var obj = window.eventList[ind];
    window.eventList[ind] = null;
    if (obj.NextStep) obj.NextStep();
    else obj();
}


//格式化数据显示
function formatValue(sval, stype, sformat) {
    if (stype == 'system.string' || null == sformat || '' == sformat) return sval; //不需要格式化
    //ssm修改
    if (stype == null || stype == undefined) return sval;
    //ssm end
    if ("system.decimal" == stype || "system.float" == stype || "system.double" == stype) sval = ReplaceChar(sval, ',', '');
    if (("system.decimal" == stype || "system.single" == stype || "system.float" == stype || "system.double" == stype || "system.int32" == stype) && (null == sval || isNaN(sval) || sval == Number.POSITIVE_INFINITY || sval == Number.NEGATIVE_INFINITY)) return '';
    if (sval.toString() == '') return '';
    stype = stype.toLowerCase();
    sformat = sformat.toLowerCase();
    var sdate;
    var stime;
    var syear;
    var shorty;
    var smonth;
    var sh;
    var sm;
    var ss;

    if ("system.datetime" == stype) {

        if (sval.indexOf('T') != -1) {
            sdate = sval.split('T')[0];
            stime = sval.split('T')[1];
        }
        else {
            sdate = sval.split(' ')[0];
            stime = sval.split(' ')[1];
        }
        if (!stime) stime = "00:00:00";

        if (sval.indexOf('-') != -1) {
            syear = sdate.split('-')[0];
            if (syear.length == 2) {
                if (parseInt(syear) > 50) {
                    syear = '19' + syear;
                }
                else {
                    syear = '20' + syear;
                }
            }
            shorty = syear.substring(2);

            smonth = sdate.split('-')[1];
            if (smonth.length == 1) smonth = "0" + smonth;
            sday = sdate.split('-')[2];
            if (sday.length == 1) sday = "0" + sday;
            sdate = syear + "-" + smonth + "-" + sday;
        }
        else if (sval.indexOf('/') != -1) {
            syear = sdate.split('/')[0];
            if (syear.length == 2) {
                if (parseInt(syear) > 50) {
                    syear = '19' + syear;
                }
                else {
                    syear = '20' + syear;
                }
            }
            shorty = syear.substring(2);

            smonth = sdate.split('/')[1];
            if (smonth.length == 1) smonth = "0" + smonth;
            sday = sdate.split('/')[2];
            if (sday.length == 1) sday = "0" + sday;
            sdate = syear + "/" + smonth + "/" + sday;
        }

        if (null != stime && stime.length > 0) {
            sh = stime.split(':')[0];
            sm = stime.split(':')[1];
            if (!sm) sm = "00";
            ss = stime.split(':')[2];
            if (!ss) ss = "00";
            if (sh.length == 1) sh = "0" + sh;
            if (sm.length == 1) sm = "0" + sm;
            if (ss.length == 1) ss = "0" + ss;
            stime = sh + ":" + sm + ":" + ss;
        }

        switch (sformat.toLowerCase()) {
            case "yy-mm-dd":
                return shorty + "-" + smonth + "-" + sday;
            case "yy-mm-dd hh:mm":
                return shorty + "-" + smonth + "-" + sday + " " + sh + ":" + sm;
            case "yyyy-mm-dd":
                return sdate;
            case "yyyy-mm-dd hh:mm":
                return sdate + ' ' + sh + ':' + sm;
            case "yyyy-mm-dd hh:mm:ss":
                return sdate + ' ' + stime;
            case "hh:mm":
                return sh + ":" + sm;
            case "hh:mm:ss":
                return stime;
            case "yy/mm/dd":
                return shorty + "/" + smonth + "/" + sday;
            case "yy/mm/dd hh:mm":
                return shorty + "/" + smonth + "/" + sday + " " + sh + ":" + sm;
            case "yyyy/mm/dd":
                return sdate;
            case "yyyy/mm/dd hh:mm":
                return sdate + ' ' + sh + ':' + sm;
            case "yyyy/mm/dd hh:mm:ss":
                return sdate + ' ' + stime;
            default:
                return sval;

        }
    }
    else if ("system.double" == stype || "system.decimal" == stype) {

        if (sformat) {
            var format = sformat;
            if (sval == 0 && format.indexOf(';') >= 0)	//按值为0时指定输出，format="0.00;"。
            {
                sval = format.split(';')[1];
            }
            else {
                if (format.indexOf(';') >= 0) {
                    format = format.split(';')[0];
                }

                sval = sval.replace(/,/g, '');

                var sval_1 = 0;

                slast = sformat.split('.')[1];
                var ii = (null == slast) ? 0 : slast.length;

                sval_1 = parseFloat(sval).toFixed(ii).split('.')[1];
                sval = parseFloat(sval).toFixed(ii).split('.')[0];

                //sval = formatValue(sval,stype,format);
                if (sformat == ',' || sformat.indexOf(',') >= 0)	//千分号型
                {
                    var re1 = /^-{0,1}\d{4,12}(\.{1}\d{0,6})?$/;
                    var bValid = re1.test(sval);
                    if (bValid)	//不是千分位时，转为千分位
                    {
                        var thousandValue = '';
                        var splits = sval.split('.');
                        var number = splits[0];
                        if (number.indexOf('-') == 0) {
                            thousandValue += '-';
                            number = number.substr(1);
                        }
                        var thousandIndex = number.length % 3
                        thousandValue += number.substr(0, thousandIndex)
                        while (thousandIndex < number.length) {
                            if (thousandIndex > 0)
                                thousandValue += ','
                            thousandValue += number.substr(thousandIndex, 3)
                            thousandIndex += 3;
                        }
                        if (splits.length > 1)
                            thousandValue += '.' + splits[1];
                        sval = thousandValue;
                    }
                }
                sval += '.' + sval_1;
            }
        }
        return sval;
    }
    else if ("system.single" == stype || "system.float" == stype || "system.int32" == stype) {
        slast = sformat.split('.')[1];
        var ii = (null == slast) ? 0 : slast.length;
        return parseFloat(sval).toFixed(ii);
    }
    else {
        return sval;
    }
}

//放大显示图片
//sval为图片的路径
function function_showlargeimg(sval) {
    var pop = window.createPopup();
    pop.document.body.style.border = 'solid gold 2px';
    pop.document.body.innerHTML = '<img style="width:600;" src=' + sval + '>';
    pop.show(10, 10, 600, 600, document.body);
}

function function_getQueryString(sProp) {
    var re = new RegExp(sProp + "=([^\\&]*)", "i");
    var a = re.exec(document.location.search);
    if (a == null)
        return "";
    return a[1];
};

function function_dialogHeight() {
    return parseInt(window.external.dialogHeight.substring(0, window.external.dialogHeight.length - 2))
}



// 获取两个时间的差距
function function_datediff(sDate1, sDate2) {
    if (sDate1.length == 0 || sDate2.length == 0) return '';
    try {
        var aDate1 = sDate1.split('-');
        var oDate1 = new Date(aDate1[1] + '-' + aDate1[2] + '-' + aDate1[0]);

        var aDate2 = sDate2.split('-');
        var oDate2 = new Date(aDate2[1] + '-' + aDate2[2] + '-' + aDate2[0]);

        var iDays = parseInt((oDate2 - oDate1) / 1000 / 60 / 60 / 24) + 1;

        return iDays;
    }
    catch (e) {
        return '';
    }
}


//去除字符串空格
function function_trim(str) {
    return function_ltrim(function_rtrim(str));
}

//去除字符串左边的空格
function function_ltrim(str) {
    for (var i = 0; str.charAt(i) == ' '; i++);
    return str.substring(i, str.length);
}
//去除字符串右边的空格
function function_rtrim(str) {
    for (var i = str.length - 1; str.charAt(i) == ' '; i--);
    return str.substring(0, i + 1);
}


//打开一个740*540的模式窗体
function hj_open740X540(url) {
    var fs = 'dialogLeft:31px; dialogTop:50px;dialogWidth:740px;dialogHeight:540px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}

//打开自定义的的模式窗体，
//传入路径,长度，宽度
function hj_openCustome(url, wid, hei) {
    var fs = 'dialogWidth:' + wid + 'px;dialogHeight:' + hei + 'px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}
function hj_modeCustome(url, wid, hei) {
    var fs = 'dialogWidth:' + wid + 'px;dialogHeight:' + hei + 'px;center:yes;help:no;resizable:no;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}
function hj_open_left_top(url) {
    var fs = 'dialogLeft:3px; dialogTop:0px;dialogWidth:780px;dialogHeight:' + (window.screen.height - 30) + 'px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}

function hj_open740X560(url) {
    var fs = 'dialogLeft:31px; dialogTop:50px;dialogWidth:760px;dialogHeight:540px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}
function hj_open710X600(url) {
    var fs = 'dialogLeft:31px; dialogTop:50px;dialogWidth:740px;dialogHeight:600px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}

function hj_open700X420(url) {
    var fs = 'dialogWidth:700px;dialogHeight:420px;center:yes;help:no;resizable:yes;status:no;';
    var rtn = window.showModalDialog(url, window, fs);

    return rtn;
}


//执行存储过程pFlag: 0 没有返回值； 1 有返回值；
function function_ExecuteSP(pCode, pFlag) {
    var flag = (null == pFlag) ? '0' : pFlag;
    var url = '../frm/frm_server.aspx';
    var xml = '<prms name="procedurexml" flag="' + flag + '"><code><![CDATA[' + pCode + ']]></code></prms>';

    var rs = sendHttp(url, xml);
    return rs
}


//包装从存储过程取值，返回一个值
function function_GetOneValueBySP(spSql) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(function_ExecuteSP(spSql, 1));
        var node = data.documentElement.selectNodes("//row");
        if (node.length == 0) return '';
        return node[0].attributes[0].value;
    }
    catch (e1) {
        alert('发生错误:' + e1);
    }
}

//包装从存储过程取值，返回一个数组
function function_GetArrayBySP(spSql) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(function_ExecuteSP(spSql, 1));
        var node = data.documentElement.selectNodes("//row");
        var rtn = [];
        if (node.length == 0) return '';

        for (var i = 0; i < node.length; i++) {
            rtn.push(node[i].attributes[0].value);
        }
        return rtn;
    }
    catch (e1) {
        alert('发生错误:' + e1);
    }
}

//包装从存储过程取值，返回一个记录对象
function function_GetRecordBySP(spSql) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(function_ExecuteSP(spSql, 1));
        var node = data.documentElement.selectNodes("//row");
        var rtn = new Object();
        if (node.length == 0) return null;
        for (var j = 0; j < node[0].attributes.length; j++) {
            var nodevalue = node[0].attributes[j].value;
            if (!nodevalue) nodevalue = "";
            eval("rtn." + node[0].attributes[j].name + "='" + nodevalue + "'");
        }
        return rtn;
    }
    catch (e1) {
        alert('发生错误:' + e1);
    }
}

//包装从存储过程取值，返回一个记录对象的数组
function function_GetDataSetBySP(spSql) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(function_ExecuteSP(spSql, 1));
        var node = data.documentElement.selectNodes("//row");
        var rtn = [];
        if (node.length == 0) return null;

        for (var i = 0; i < node.length; i++) {
            var record = new Object();
            for (var j = 0; j < node[i].attributes.length; j++) {
                var nodevalue = node[i].attributes[j].value;
                if (!nodevalue) nodevalue = "";
                eval("record." + node[i].attributes[j].name + "='" + nodevalue + "'");
            }
            rtn.push(record);
        }
        return rtn;
    }
    catch (e1) {
        alert('发生错误:' + e1);
    }
}




//取的存储过程值 pFlag: 0 某一字段值； 1 某一字段所有值； 2 一条记录；
function function_GetValueBySP(pCode, pFLag, pColumns) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(function_ExecuteSP(pCode, 1));

        var node = data.documentElement.selectNodes("//row");
        switch (pFLag) {
            case 0:
                if (node.length == 0) return '';
                if (pColumns) {
                    return (null == node[0].getAttribute(pColumns)) ? '' : node[0].getAttribute(pColumns);
                }
                else {
                    return node[0].attributes[0].value;
                }
                break;
            case 1:
                var item = '';
                if (node.length == 0) return '';
                if (pColumns) {
                    var columns = pColumns.split(',');
                    for (var i = 0; i < node.length; i++) {
                        for (var j = 0; j < columns.length; j++) {
                            if (j == columns.length - 1) {
                                item += ((null == node[i].getAttribute(columns[j])) ? '' : node[i].getAttribute(columns[j])) + ';';
                            }
                            else {
                                item += ((null == node[i].getAttribute(columns[j])) ? '' : node[i].getAttribute(columns[j])) + '|';
                            }
                        }
                    }
                }
                else {
                    for (var i = 0; i < node.length; i++) {
                        for (var j = 0; j < node[i].attributes.length; j++) {
                            if (j == node[i].attributes.length - 1) {
                                item += node[i].attributes[j].value + ';';
                            }
                            else {
                                item += node[i].attributes[j].value + '|';
                            }
                        }
                    }
                }
                return item;
                break;
            case 2:
                if (node.length == 0) return null;
                return node[0];
                break;
            default:
                alert('定义错误');
                return '';
                break;
        }
    }
    catch (e) {
        alert('定义错误');
        return '';
    }
}




//取的XML文件值pFlag: 0 某一字段值； 1 某一字段所有值； 3 一条记录；
function function_GetValueByXML(pXML, pFLag, pColumns) {
    try {
        var data = new ActiveXObject("Msxml2.DOMDocument");
        data.loadXML(pXML);

        var node = data.documentElement.selectNodes("//row");
        switch (pFLag) {
            case 0:
                if (node.length == 0) return '';
                if (pColumns) {
                    return (null == node[0].getAttribute(pColumns)) ? '' : node[0].getAttribute(pColumns);
                }
                else {
                    return node[0].attributes[0].value;
                }
                break;
            case 1:
                var item = '';
                if (node.length == 0) return '';
                if (pColumns) {
                    var columns = pColumns.split(',');
                    for (var i = 0; i < node.length; i++) {
                        for (var j = 0; j < columns.length; j++) {
                            if (j == columns.length - 1) {
                                item += ((null == node[i].getAttribute(columns[j])) ? '' : node[i].getAttribute(columns[j])) + ';';
                            }
                            else {
                                item += ((null == node[i].getAttribute(columns[j])) ? '' : node[i].getAttribute(columns[j])) + '|';
                            }
                        }
                    }
                }
                else {
                    for (var i = 0; i < node.length; i++) {
                        for (var j = 0; j < node[i].attributes.length; j++) {
                            if (j == node[i].attributes.length - 1) {
                                item += node[i].attributes[j].value + ';';
                            }
                            else {
                                item += node[i].attributes[j].value + '|';
                            }
                        }
                    }
                }
                return item;
                break;
            case 2:
                if (node.length == 0) return null;
                return node[0];
                break;
            default:
                alert('定义错误');
                return '';
                break;
        }
    }
    catch (e) {
        alert('定义错误');
        return '';
    }
}
/***************************
V1.1  请勿更改功能
功能:得到IE地址传递的参数值                
參數:name(传递参数名称)
參數:url(指定地址或变量串)
***************************/
function getParameter(name, url) {
    var herf;
    if (url)
        herf = url;
    else
        herf = window.location.href.toString();
    var str = "";
    var has = new FI_Hash();

    var are;
    if (herf.indexOf('?') >= 0) {
        are = herf.split('?')[1];
    }
    else {
        are = herf;
    }
    if (typeof (are) == "undefined") return null;
    var arr = are.split('&');
    for (var i = 0; i < arr.length; i++) {
        has.add(arr[i].split('=')[0].toLowerCase(), arr[i].split('=')[1])
    }
    if (name != name.toLowerCase())
        name = name.toLowerCase();
    if (has.contains(name)) {
        str = has.items(name);
    }
    if (!has.contains(name)) {
        str = null;
    }
    return str;
}
function parent_getParameter(name) {
    var str = "";
    var has = new FI_Hash();
    var herf = parent.window.location.href.toString();
    var are = herf.split('?')[1];
    if (typeof (are) == "undefined") return null;
    var arr = are.split('&');
    for (var i = 0; i < arr.length; i++) {
        has.add(arr[i].split('=')[0], arr[i].split('=')[1])
    }
    if (has.contains(name)) {
        str = has.items(name);
    }
    if (!has.contains(name)) {
        str = null;
    }
    return str;
}
//哈希表
function FI_Hash() {
    this._hash = new Object();
    this.add = function (key, value) {
        if (typeof (key) != "undefined") {
            if (this.contains(key) == false) {
                this._hash[key] = typeof (value) == "undefined" ? null : value;
                return true;
            }
            else {
                return false;
            }
        }
        else {
            return false;
        }
    }
    this.remove = function (key) { delete this._hash[key]; }
    this.count = function () { var i = 0; for (var k in this._hash) { i++; } return i; }
    this.items = function (key) { return this._hash[key]; }
    this.contains = function (key) { return typeof (this._hash[key]) != "undefined"; }
    this.clear = function () { for (var k in this._hash) { delete this._hash[k]; } }
    this.showAll = function () {
        var val = "";
        for (var i in this._hash) {
            val += this.items(i) + "|";
        }
        return val.substring(0, val.length - 1);
    }
}

//两个时间的比较============================================================================================

function this_doCheckEarlier(bdate, edate) {
    var bdate1 = bdate.split("T");
    var edate1 = edate.split("T");

    var isearlier = false;
    var arr2 = bdate1[0].split("-");
    var arr3 = edate1[0].split("-");

    for (var i = 0; i < arr2.length; i++) {
        if (arr2[i] * 1 == arr3[i] * 1) continue;
        else {
            isearlier = (arr2[i] * 1 < arr3[i] * 1);
            break;
        }
    }
    return isearlier;
}
//-----------------通用函数---------
function OpenNewUrlScr(url, width, height) {
    var top = (window.screen.height - height) / 2;
    var left = (window.screen.availWidth - width) / 2;
    var screenheiht = height;
    var screenweight = width;
    window.open(url, '', 'titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,hotkeys=no,dependent=no,resizable=no,left=' + left + 'px,top=' + top + 'px,width=' + screenweight + 'px,height=' + screenheiht + 'px');
}
function OpenNewUrl(url, width, height) {
    var top = (window.screen.height - height) / 2;
    var left = (window.screen.availWidth - width) / 2;
    var screenheiht = height;
    var screenweight = width;
    window.open(url, '', 'titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,hotkeys=no,dependent=no,resizable=no,left=' + left + 'px,top=' + top + 'px,width=' + screenweight + 'px,height=' + screenheiht + 'px');
}
function OpenNewUrlTop(url, width, height) {
    var top = 20;
    var left = (window.screen.availWidth - width) / 2;
    var screenheiht = height;
    var screenweight = width;
    window.open(url, '', 'titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,hotkeys=no,dependent=no,resizable=no,left=' + left + 'px,top=' + top + 'px,width=' + screenweight + 'px,height=' + screenheiht + 'px');
}
//获取主框架页面，如：GetMainFrame('f_center');
function GetMainFrame(frameName) {
    var frame = null;
    var win = window.parent;
    while (!win.frames[frameName]) {
        if (win == win.parent)
            break;
        win = win.parent;
    }
    if (win.frames[frameName])
        frame = win.frames[frameName];
    return frame;
}
//使本页面的所有textarea控件，当内容过多时，扩展高度
function function_SetTextAreaExpandHeight() {
    var textAreas = document.getElementsByTagName('textarea');
    for (var i = 0; i < textAreas.length; i++) {
        var textArea = textAreas[i];
        if (textArea.offsetHeight < textArea.scrollHeight)
            textArea.style.height = textArea.scrollHeight + 2;
    }
}

//获取当前窗体所在的父窗体Iframe对象
function GetParentIframe() {
    var parentIFrames = window.parent.document.getElementsByTagName('iframe');
    for (var i = 0; i < parentIFrames.length; i++) {
        var partUrl = parentIFrames[i].src.replace('..', '');
        if (window.location.href.indexOf(partUrl) > 0) {
            refParentIFrame = parentIFrames[i];
            break;
        }
    }
    if (refParentIFrame == null) {
        return null;
    }
    return refParentIFrame;
}

//设置插入号在文件尾端
function setCaretAtEnd(field) {
    if (field.createTextRange) {
        var sRange = field.createTextRange();
        sRange.collapse(false); // move to end of range
        sRange.select();        // re-select 
    }
}

function CloseLoadingData() {
    if (document.all.fi_loading) {
        document.all.fi_loading.style.display = 'none';
    }
}

function ReplaceChar(str, str1, str2) {
    var temp = str;
    while (temp.indexOf(str1) > -1) {
        temp = temp.replace(str1, str2);
    }
    return temp;
}

