﻿
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
WEB页面公用函数
*/
//*****************************************************************  
//函数名: getEmt
//输  入: tag为目标对象
//输  出: 返回目标对象
//功  能: 取目标对象obj
//*****************************************************************
function getEmt(tag) {
    if (document.all) {
        return document.all[tag];
    }
    else {
        return document.getElementById(tag);
    }
}

//*****************************************************************  
//函数名: strLen
//输  入: strtemp --- 要检查的字符串
//输  出: 字符串的长度
//功  能: 用来确定字符的长度，汉字占2个，数字英文占一个
//*****************************************************************

function strLen(strtemp) {
    return strtemp.replace(/[^\x00-\xff]/g, 'ff').length;
}
//*****************************************************************  
//函数名: SetFocus
//输  入: ID,为页面中控件的ID名
//输  出: 设置当前焦点的位置
//功  能: 设置当前焦点的位置
//*****************************************************************
function SetFocus(ID) { document.getElementById(ID).focus(); }
//*****************************************************************  
//函数名:AlertAndFocus
//输  入: ID,为页面中控件的ID名，str为错误提示字符串
//输  出: 弹出错误提示信息，同时将当前的焦点位置移动到指定的位置
//功  能: 弹出错误提示信息，并设置当前焦点的位置
//*****************************************************************
function AlertAndFocus(str, ID) {
    alert(str);
    if (document.getElementById(ID)) {
        document.getElementById(ID).focus();
    }
    else {
        ID.focus();
    }
    //document.getElementById(ID).focus();
}
//*****************************************************************  
//函数名:IsEmpty
//输  入: ID,为页面中控件的ID名
//输  出: 如果要检测的控件值为空则返回 true，否则返回false
//功  能: 检测是否为空
//*****************************************************************
function IsEmpty(ID) {
    var pattern = /^(\s)*$/;
    if (pattern.test(document.getElementById(ID).value))
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名: ChkLen
//输  入: ID,为页面中控件的ID名,min长度下限，max长度上限
//输  出: 如果要检测的控件值在长度下限和长度上限之间则返回 true，否则返回false
//功  能: 检测指定控件的值是否超出范围
//*****************************************************************
function ChkLen(ID, Min, Max) {
    var len = strLen(document.getElementById(ID).value);
    if ((len >= Min) & (len <= Max))
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名: ChkAlike
//输  入: ID1,ID2,为页面中要比较控件的ID名
//输  出: 如果要检测的两个控件的值相同则返回 true，否则返回false
//功  能: 检测指定控件的值是否相同(检查时会去掉所有的空格符，包括tab键和换行符)
//*****************************************************************
function ChkAlike(ID1, ID2) {
    var str1;
    var str2;
    var re = /(\s*)(\S*)(\s*)(\S*)(\s*)/;
    str1 = document.getElementById(ID1).value.replace(re, "$2$4");
    str2 = document.getElementById(ID2).value.replace(re, "$2$4");
    if (str1 == str2)
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名:IsSpecial
//输  入: ID,为页面中控件的ID名
//输  出: 如果要检测的控件值为<、>、'的字符则返回 true，否则返回false
//功  能: 检测是否为字母，数字或下划线外的字符
//*****************************************************************
function IsSpecial(ID) {
    if (/[<>']+/.test(document.getElementById(ID).value))
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名:IsPhone
//输  入: ID,为页面中控件的ID名
//输  出: 如果要检测的控件值为电话号码则返回 true，否则返回false
//功  能: 检测是否为手机号
//*****************************************************************
function IsPhone(ID) {
    var pattern = /^[0-9;；\-\+\(\)（）＋－]*$/;
    var pattern2 = /^(\s)*$/;
    if (pattern2.test(document.getElementById(ID).value)) { return true; }
    if (pattern.test(document.getElementById(ID).value))
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名:IsIDCard
//输  入: ID,为页面中控件的ID名
//输  出: 如果要检测的控件值为身份证号码则返回 true，否则返回false
//功  能: 检测是否为身份证号
//*****************************************************************
function IsIDCard(ID) {
    var objvalue;
    if (document.getElementById(ID)) {
        objvalue = document.getElementById(ID).value;
    }
    else {
        objvalue = ID.value;
    }
    if (objvalue.length == 15 || objvalue.length == 18)
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名:IsEmail
//输  入: ID,为页面中控件的ID名
//输  出: 如果要检测的控件值为电子邮件格式则返回 true，否则返回false
//功  能: 检测是否为电子邮件
//*****************************************************************
function IsEmail(ID) {
    var pattern = /\w+@\w+\.[a-z]+/;
    var objvalue;
    if (document.getElementById(ID)) {
        objvalue = document.getElementById(ID).value;
    }
    else {
        objvalue = ID.value;
    }
    if (pattern.test(objvalue))
        return true;
    else
        return false;
}
//*****************************************************************  
//函数名: IsNum
//输  入: strvalue,为一个值参数
//输  出: 如果要检测的控件值只有数字则返回 true，否则返回false
//功  能: 检测指定控件的值是否只有数字(0-9)
//*****************************************************************
function IsNum(strvalue) {
    var pattern = /^[0-9]*$/;
    var pattern2 = /^(\s)*$/;
    //var objvalue = document.getElementById(ID).value;
    //var objvalue;
    //if(document.getElementById(ID))
    //{
    //	objvalue = document.getElementById(ID).value;
    //}
    //else
    //{
    //	objvalue = ID.value;
    //}
    if (pattern2.test(strvalue)) { return true; }
    if (pattern.test(strvalue))
        return true;
    else
        return false;
}
//*****************************************************************  
//==================================================================================================
//将代码转换为名字
function CodeToName() {
    var arr, from = "", Separator1 = "", Separator2 = "", str = "";
    this.From = function(value) {
        from = value;
    }
    this.Separator1 = function(value) {
        Separator1 = value;
    }
    this.Separator2 = function(value) {
        Separator2 = value;
    }
    this.Open = function() {
        arr = from.split(";");
    }
    this.Close = function() {
        arr = null;
    }
    this.GetName = function(value) {
        if (Separator1 == "") {
            str = value;
            return twofenfind(0, arr.length - 2);
        }
        else {
            var arrtemp, strtemp = "";
            arrtemp = value.replace(" ", "").split(Separator1);
            for (i = 0; i < arrtemp.length; i++) {
                if (arrtemp[i] != "") {
                    str = arrtemp[i];
                    if (strtemp != "") strtemp = strtemp + Separator2;
                    strtemp = strtemp + twofenfind(0, arr.length - 2);
                }
            }
            return strtemp;
        }
    }
    function twofenfind(i, j) {
        var t = Math.ceil((i + j) / 2), arri, arrj, arrt;
        arri = arr[i].split(","); arrj = arr[j].split(",");
        if (arri[0] < str && str < arrj[0] && (j - i) > 1) {
            arrt = arr[t].split(",");
            if (str == arrt[0]) { return arrt[1]; }
            if (str < arrt[0]) {
                return twofenfind(i, t);
            }
            else {
                return twofenfind(t, j);
            }
        }
        else {
            if (arri[0] == str) return arri[1];
            if (arrj[0] == str) return arrj[1];
            return "";
        }
    }
}
//*****************************************************************  
//函数名: HideMe
//输  入: idName -------要隐藏的控件ID名
//输  出: 无
//功  能: 隐藏指定控件
//****************************************************************
function HideMe(idName) {
    var obj = document.getElementById(idName);
    if (obj) {
        if (obj.style.display == '')
            obj.style.visibility = "hidden";
        else
            obj.style.display = "none";
    }
}
//*****************************************************************  
//函数名: ShowLwin
//输  入: idName -------要显示的控件ID名
//输  出: 无
//功  能: 显示指定控件
//****************************************************************
function ShowLwin(idName) {
    var obj = document.getElementById(idName);
    if (obj) {
        if (obj.style.display == '')
            obj.style.visibility = "visible";
        else
            obj.style.display = "block";
    }
}

//*****************************************************************  
//函数名: OpenNewWindows
//输  入: url -------跳转的url地址,参数,target,打开方式,parameter是否显示状态栏等,height=100, width=100, top=1 00, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, loca tion=no, status=no
//输  出: 无
//功  能: 打开新的窗口url
//****************************************************************    
function OpenNewWindows(url, target, parameter) {
    window.open(url, target, parameter);
}

//*****************************************************************  
//函数名: SetTextEmpty
//输  入: 无
//输  出: 无
//功  能: 清空所有的Text表单,包括普通文本与密码框内容
//****************************************************************
function SetTextEmpty() {
    var mm = document.getElementsByTagName("input").length;
    var tt = document.getElementsByTagName("textarea").length;
    if (mm > 0) {
        for (var i = 0; i < mm; i++) {
            var dd = document.getElementsByTagName("input").item(i);
            if (dd.type == "text" || dd.type == "password") {
                dd.value = "";
            }
        }
    }
    if (tt > 0) {
        for (var i = 0; i < tt; i++) {
            var dd = document.getElementsByTagName("textarea").item(i);
            dd.value = "";
        }
    }
}

//*****************************************************************  
//函数名: CheckRadioSelect
//输  入: 无
//输  出: 无
//功  能: 检查所有radio控件.如果被选中则返回值,否则返回"-1"
//****************************************************************
function CheckRadioSelect() {
    var roleid = 0;
    var mm = document.getElementsByTagName("input").length;
    if (mm > 0) {
        for (var i = 0; i < mm; i++) {
            var dd = document.getElementsByTagName("input").item(i);
            if (dd.type == "radio" && dd.checked == true) {
                roleid = dd.value;
            }
        }
    }
    return roleid;
}

//*****************************************************************  
//函数名: CheckAllS
//输  入: who,form
//输  出: checkbox全选
//功  能: JS全选
//****************************************************************
function CheckAllS(who, form) {
    for (var i = 0; i < form.elements.length; i++) {
        var e = form.elements[i];
        e.checked = who.checked;
    }
}
function CheckGridviewAll(controlchbox, parentid) {
    var control = document.getElementById(controlchbox);
    var table = document.getElementById(parentid);
    var inputelement = table.getElementsByTagName("input");
    for (var i = 0; i < inputelement.length; i++) {
        if (inputelement[i].type == "checkbox") inputelement[i].checked = controlchbox.checked;
    }
}

//*****************************************************************  
//函数名: SubmitKeyClick
//输  入: button,按钮
//输  出: 
//功  能: 实现对指定按钮的点击
//****************************************************************  
function SubmitKeyClick(button) {
    if (event.keyCode == 13) {
        event.keyCode = 9;
        event.returnValue = false;
        document.all[button].click();
    }
}
//*****************************************************************  
//函数名: ChangeFocus
//输  入: InputBox输入框,KeyCodeStr按键的键值
//输  出: 
//功  能: 键盘按钮触发使下一个输入框获得焦点
//****************************************************************  
function ChangeFocus(InputBox, KeyCodeStr) {
    if (event.keyCode == KeyCodeStr) {
        event.returnValue = false;
        getEmt(InputBox).focus();
    }
}
//*****************************************************************  
//函数名: killErrors
//输  入: 
//输  出: 
//功  能: 隐藏JS错误
//****************************************************************  
function killErrors() {
    return true;
}
//*****************************************************************  
//扩展String 去除空格或者左，右空格
//****************************************************************
String.prototype.trim = function() {
    // 用正则表达式将前后空格用空字符串替代。
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.leftTrim = function() {
    // 用正则表达式将前空格用空字符串替代。
    return this.replace(/(^\s*)/g, "");
}

String.prototype.rightTrim = function() {
    // 用正则表达式将后空格用空字符串替代。
    return this.replace(/(\s*$)/g, "");
}

window.onerror = killErrors;

//*****************************************************************  
//获取/设置 cookie
//****************************************************************  
function setCookie(c_name, value, expiredays) {
    var exdate = new Date()
    exdate.setDate(exdate.getDate() + expiredays)
    document.cookie = c_name + "=" + escape(value) +
    ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
}
function getCookie(cooname) {
    var allcookie = document.cookie.toString();
    var thiscookie = allcookie.substr(allcookie.indexOf(cooname));
    if (thiscookie.indexOf(";") != -1) thiscookie = thiscookie.substr(0, thiscookie.indexOf(";"));

    return unescape(thiscookie);
}

//*****************************************************************  
//加入收藏与设置首页
//****************************************************************  
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("此操作被浏览器拒绝！");
                        }
                        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
                        prefs.setCharPref("browser.startup.homepage",vrl);
                 }
        }
}
//*****************************************************************  
//复制到剪贴板
//**************************************************************** 
function copyToClipboard(txt) {   
    if(window.clipboardData) {   
            window.clipboardData.clearData();   
            window.clipboardData.setData("Text", txt);   
    } else if(navigator.userAgent.indexOf("Opera") != -1) {   
         window.location = txt;   
    } else if (window.netscape) {   
         try {   
              netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
         } catch (e) {   
             alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");   
         }   
         var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
         if (!clip)   
              return;   
         var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);   
         if (!trans)   
              return;   
         trans.addDataFlavor('text/unicode');   
         var str = new Object();   
         var len = new Object();   
         var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);   
         var copytext = txt;   
         str.data = copytext;   
         trans.setTransferData("text/unicode",str,copytext.length*2);   
         var clipid = Components.interfaces.nsIClipboard;   
         if (!clip)   
              return false;   
         clip.setData(trans,null,clipid.kGlobalClipboard);   
         alert("复制成功！")   
    }   
}

//*****************************************************************  
//输出flash
//例 <script language="javascript">writeflashhtml("_swf=images/flash/login.swf", "_width=262", "_height=89","_wmode=transparent");</script>
//**************************************************************** 
function writeflashhtml(arg) {
    var parm = []
    var _default_version = "8,0,24,0";
    var _default_quality = "high";
    var _default_align = "middle";
    var _default_menu = "false";

    for (i = 0; i < arguments.length; i++) {
        parm[i] = arguments[i].split(' ').join('').split('=')
        for (var j = parm[i].length - 1; j > 1; j--) {
            parm[i][j - 1] += "=" + parm[i].pop();
        }
        switch (parm[i][0]) {
            case '_version': var _version = parm[i][1]; break;
            case '_swf': var _swf = parm[i][1]; break;
            case '_base': var _base = parm[i][1]; break;
            case '_quality': var _quality = parm[i][1]; break;
            case '_loop': var _loop = parm[i][1]; break;
            case '_bgcolor': var _bgcolor = parm[i][1]; break;
            case '_wmode': var _wmode = parm[i][1]; break;
            case '_play': var _play = parm[i][1]; break;
            case '_menu': var _menu = parm[i][1]; break;
            case '_scale': var _scale = parm[i][1]; break;
            case '_salign': var _salign = parm[i][1]; break;
            case '_height': var _height = parm[i][1]; break;
            case '_width': var _width = parm[i][1]; break;
            case '_hspace': var _hspace = parm[i][1]; break;
            case '_vspace': var _vspace = parm[i][1]; break;
            case '_align': var _align = parm[i][1]; break;
            case '_class': var _class = parm[i][1]; break;
            case '_id': var _id = parm[i][1]; break;
            case '_name': var _name = parm[i][1]; break;
            case '_style': var _style = parm[i][1]; break;
            case '_declare': var _declare = parm[i][1]; break;
            case '_flashvars': var _flashvars = parm[i][1]; break;
            default: ;
        }
    }
    var thtml = ""
    thtml += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" + ((_version) ? _version : _default_version) + "'"
    if (_width) thtml += " width='" + _width + "'"
    if (_height) thtml += " height='" + _height + "'"
    if (_hspace) thtml += " hspace='" + _hspace + "'"
    if (_vspace) thtml += " vspace='" + _vspace + "'"
    if (_align) thtml += " align='" + _align + "'"
    else thtml += " align='" + _default_align + "'"
    if (_class) thtml += " class='" + _class + "'"
    if (_id) thtml += " id='" + _id + "'"
    if (_name) thtml += " name='" + _name + "'"
    if (_style) thtml += " style='" + _style + "'"
    if (_declare) thtml += " " + _declare
    thtml += ">"
    if (_swf) thtml += "<param name='movie' value='" + _swf + "'>"
    if (_quality) thtml += "<param name='quality' value='" + _quality + "'>"
    else thtml += "<param name='quality' value ='" + _default_quality + "'>"
    if (_loop) thtml += "<param name='loop' value='" + _loop + "'>"
    if (_bgcolor) thtml += "<param name='bgcolor' value='" + _bgcolor + "'>"
    if (_play) thtml += "<param name='play' value='" + _play + "'>"
    if (_menu) thtml += "<param name='menu' value='" + _menu + "'>"
    else thtml += "<param name='menu' value='" + _default_menu + "'>"
    if (_scale) thtml += "<param name='scale' value='" + _scale + "'>"
    if (_salign) thtml += "<param name='salign' value='" + _salign + "'>"
    if (_wmode) thtml += "<param name='wmode' value='" + _wmode + "'>"
    if (_base) thtml += "<param name='base' value='" + _base + "'>"
    if (_flashvars) thtml += "<param name='flashvars' value='" + _flashvars + "'>"
    thtml += "<embed pluginspage='http://www.macromedia.com/go/getflashplayer'"
    if (_width) thtml += " width='" + _width + "'"
    if (_height) thtml += " height='" + _height + "'"
    if (_hspace) thtml += " hspace='" + _hspace + "'"
    if (_vspace) thtml += " vspace='" + _vspace + "'"
    if (_align) thtml += " align='" + _align + "'"
    else thtml += " align='" + _default_align + "'"
    if (_class) thtml += " class='" + _class + "'"
    if (_id) thtml += " id='" + _id + "'"
    if (_name) thtml += " name='" + _name + "'"
    if (_style) thtml += " style='" + _style + "'"
    thtml += " type='application/x-shockwave-flash'"
    if (_declare) thtml += " " + _declare
    if (_swf) thtml += " src='" + _swf + "'"
    if (_quality) thtml += " quality='" + _quality + "'"
    else thtml += " quality='" + _default_quality + "'"
    if (_loop) thtml += " loop='" + _loop + "'"
    if (_bgcolor) thtml += " bgcolor='" + _bgcolor + "'"
    if (_play) thtml += " play='" + _play + "'"
    if (_menu) thtml += " menu='" + _menu + "'"
    else thtml += " menu='" + _default_menu + "'"
    if (_scale) thtml += " scale='" + _scale + "'"
    if (_salign) thtml += " salign='" + _salign + "'"
    if (_wmode) thtml += " wmode='" + _wmode + "'"
    if (_base) thtml += " base='" + _base + "'"
    if (_flashvars) thtml += " flashvars='" + _flashvars + "'"
    thtml += "></embed>"
    thtml += "</object>"
    document.write(thtml)
}

//代码结束
