<!--
//全局变量
g_sourceSubstr = "`~"    //要替换的字串
g_objecSubstr = "\""    //替换为的字串
//xmreq用于建立服务器连接，获得option字符串
var xmlreq;
var LOADING_TIP = "正在读取数据，请稍后...";
var clickSign = 0;   //getMessage()
var newImg = new Image();
newImg.src = "/images/core/loading2.gif" ;

var newImg2 = new Image();
newImg2.src = "/images/core/title2.gif" ;
/*
 * 将数字转换成带两位小数货币形式
 * 如：
 * 100045  ->   1000.45
 */
function format2money(temp){
	var str = new String(temp);
	if(str == null) return "";
	if(str.charAt(0) == '-'){
		if(str.length > 3){
			return "-" + str.substring(1,str.length-2) + "." + str.substring(str.length -2 ,str.length);
		}else if(str.length == 1){
			return str;
		}else if(str.length == 2){
			return "-0.0" + str;
		}else if(str.length == 3){
			return "-0." + str;
		}
	}else{
		if(str.length > 2){
			return "+" + str.substring(0,str.length-2) + "." + str.substring(str.length -2 ,str.length);
		}else if(str.length == 1){
			if(str == "0"){
				return "0.00";
			}else{
				return "+0.0" + str;
			}
		}else if(str.length == 2){
			return "+0." + str;
		}
	}
	return str;
}

function format2moneyNoFlag(str){
	var str = new String(str);
	if(str == null || str == "") return "";
	if(str.length > 2){
		if(str == '000000000000'){
			return '0.00';
		}
		return str.substring(0,str.length-2) + "." + str.substring(str.length -2 , str.length);
	}else if(str.length == 1){
		return '0.0' + str;
	}else if(str.length == 2){
		return "0." + str;
	}
}
/*
 * 将hhmmssss格式化为hh:mm:ss
 */
function format2time8(str){
	if(str == null) return "";
	if(str.length == 8){
		return str.substring(0,2)+":"+str.substring(2,4)+":"+str.substring(4,6);
	}
	return str;
}
/**
 * 
 */
function transferBillFormat(val){
	if(trim(val) != "" || trim(val) != null){
		if("LT" == val){
			return '0';
		} else if ("EM" == val){
			return '1';
		} else if ("LE" == val){
			return '3';
		} else if("NO" == val){
			return '2';
		}
	}
	return '';
}
/**
 * 把数字小数点及后面字符都去掉
 */
function format(val){
	if(trim(val) != null || trim(val) != ""){
		var index = null;
		if((index = val.indexOf(".")) != -1){
			return val.substring(0,index);
		} else {
			return val;
		}
	}
}

/**
 * 将一个object数组数据插入到一个表格对象中
 * 输入:
 * 		arrayObj: 数据数组
 * 		tableObj: 表格对象 由document.all.item("id")获得
 * 输出:无
 */
function insertTable(arrayObj, tableObj) {
	var trObj = tableObj.insertRow(tableObj.rows.length);
	if (trObj == null) return;  //插入表格行失败
	for(var i = 0; i < tableObj.rows[0].cells.length; i++) {
		trObj.insertCell(i);//返回一个第i个<td>用于插入数据
		trObj.cells(i).innerHTML = arrayObj[i]+"&nbsp;";
	}
}

/**
 * 将一个object数组数据插入到一个表格对象中
 * 输入:
 * 		arrayObj: 数据数组
 * 		tableObj: 表格对象 由document.all.item("id")获得
 * 输出:无
 */
function insertTable2(arrayObj, tableObj) {
	var trObj = tableObj.insertRow(tableObj.rows.length);
	if (trObj == null) return;  //插入表格行失败
	for(var i = 0; i < tableObj.rows[0].cells.length; i++) {
		trObj.insertCell(i);//返回一个第i个<td>用于插入数据
		if(i==6){
			trObj.cells(i).align = "right";
		}
		trObj.cells(i).innerHTML = arrayObj[i]+"&nbsp;";
	}
}

/*
 * 功能:格式化字符串,长度不足左边填充空格
 * 输入:
 * 		str:字符串
 * 		len:长度
 * 		str2:补足字符
 * 输出:长度为len的字符串,若str长度不足则左补str2
 */
function lpad1(str,len,str2){
	var temp = "";
	if(str == null || str == "") {
		for(var i = 0; i< len ; i++ ) {
			temp += str2;
		}
		return temp;
	} else {
		if(str.length<len){
			for(var i = 0; i< len - str.length ; i++ ) {
				temp += str2;
			}
			return temp + str;
		} else {
			return str;
		}
	}
}

/*
 * 功能:格式化字符串,长度不足左边填充空格
 * 输入:
 * 		str:字符串
 * 		len:长度
 * 输出:长度为len的字符串,若str长度不足则左补空格
 */
function lpad(str,len){
	var temp = "";
	if(str == null || str == "") {
		for(var i = 0; i< len ; i++ ) {
			temp += "&nbsp;&nbsp;";
		}
		return temp;
	} else {
		if(str.length<len){
			for(var i = 0; i< len - str.length ; i++ ) {
				temp += "&nbsp;&nbsp;";
			}
			return temp + str;
		} else {
			return str;
		}
	}
}
/*
 * 功能:位数不足右边填充空格
 * 输入:
 * 		str:字符串
 * 		len:长度
 * 输出:长度为len的字符串,若str长度不足则右补空格
 */
function rpad(str,len){
	var temp = "";
	if(str == null || str == "") {
		for(var i = 0; i< len ; i++ ) {
			temp += "&nbsp;&nbsp;";
		}
		return temp;
	} else {
		if(str.length<len){
			for(var i = 0; i< len - str.length ; i++ ) {
				temp += "&nbsp;&nbsp;";
			}
			return str + temp;
		} else {
			return str;
		}
	}
}

/*****************************************
功能：判断字符串是否全由0-9之间的数字组成
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
******************************************/
function isInteger(ParseString) 
{
    if (ParseString == "")
    {  //若为空
        return false;
    }
    else 
    {
        for(var i=0;i<ParseString.length;++i)
        {
            if(ParseString.charAt(i) < "0" || ParseString.charAt(i) > "9")
            {
                return false
            }
        }
    }
    return true;
}

/*
 * 功能:判断字符串是否为正确的货币形式
 * 输入: 字符串
 * 输出: 是则返回true,否返回false
 */
function isMoneyValid(money) {
	var p1 = new RegExp("^[0-9]+\.?[0-9]{0,2}$");
    return (!isNaN(money) && p1.exec(money));
}

/*****************************************
功能：判断字符串是否为空字符串或全为空格
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
******************************************/
function isBlank(ParseString)
{
    if(ParseString.length==0)
    {
        return true
    }
    else
    {
        for(var i=0;i<ParseString.length;++i)
        {
            if(ParseString.charAt(i)!=" ")
            {
                return false
            }
        }
    }
    return true
}

/*************************************************
功能：去掉字符串首尾的空格
输入：ParseString        供解析的字符串，当输入变量不为
    undefined或null类型时，均首先转化为字符串再处理。
输出：返回去掉首尾空格的字符串
**************************************************/
function trim(ParseString) 
{
    if (typeof(ParseString) == "undefined" || ParseString == null) 
    {
        return "";
    }
    //其他类型均先转化为字符串类型
    ParseString = "" + ParseString;
    var Pos1 = -1, Pos2 = -1;
    if(ParseString.length == 0) 
    {
        return "";
    } 
    else 
    {
        for(var i = 0;i < ParseString.length; ++i) 
        {
            if(ParseString.charAt(i) != " ") 
            {
                Pos1 = i;
                break;
            }
        }

        for(var i = ParseString.length-1;i >= 0;--i) 
        {
            if(ParseString.charAt(i) != " ") 
            {
                Pos2 = i;
                break;
            }
        }

        if(Pos1 == -1) 
        {
            return "";
        } 
        else 
        {
            if(Pos2 == -1) 
            {
                return ParseString.substring(Pos1);
            } 
            else 
            {
                return ParseString.substring(Pos1, Pos2 + 1);
            }
        }
    }
}
function isNumberic(aValue){
  var Letters = "0123456789";
  for (i=0; i< aValue.length; i++){
    var CheckChar = aValue.charAt(i);
    if (Letters.indexOf(CheckChar) == -1){
      return false;
    }
  }
  return true;
}

/******************************************
 *判断字符串是否为邮箱格式
 *规则：包含@的任意字符（不包括空格）
 *  val    字符串
 *
 **********************************/
function isEmail(val){
//开始验证
	if(isBlank(val)){
		return false;
	}
	var pattern = /^[\S+]+@[\S]/;
	return pattern.test(val);
}

function isPwd(val){
	if(isBlank(val)){return false;}
	var pattern = /[a-zA-z0-9_]{4,16}/;
	return pattern.test(val);
}

 
/*****************************************
功能：判断字符串中是否含有单引号'
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
******************************************/
function hasSingleQuote(ParseString) 
{
    if (ParseString.indexOf("'") >= 0) 
    {    //有单引号
        return true
    } 
    else 
    {    //没有单引号
        return false
    }
}

/*****************************************
功能：判断字符串中是否含有双引号"
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
******************************************/
function hasDoubleQuotes(ParseString) 
{
    if (ParseString.indexOf("\"") >= 0) 
    {    //有双引号
        return true
    } 
    else 
    {    //没有双引号
        return false
    }
}

/*************************************************
功能：检查表单的所有元素的值是否至少有一个含有单引号'
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
**************************************************/
function formHasSingleQuote(FormObj) 
{
    var counts = FormObj.elements.length
    for(var i=0; i<counts; i++) 
    {
        if (hasSingleQuote(FormObj.elements[i].value)) 
        {
            return true
        }
    }
    return false
}

/*************************************************
功能：检查表单的所有元素的值是否至少有一个含有双引号"
输入：ParseString        供解析的字符串
输出：是则返回true，否则返回false
*************************************************/
function formHasDoubleQuotes(FormObj) 
{
    var counts = FormObj.elements.length
    for(var i=0; i<counts; i++) 
    {
        if (hasDoubleQuotes(FormObj.elements[i].value)) 
        {
            return true
        }
    }
    return false
}

/*************************************************
功能：将字符串中的某子串全部替换为另一子串
输入：
        parseString: 原始字符串(供解析的字符串)
        sourceSubstr: 要替换的子串
        objecSubstr:    替换为的字串
输出：返回替换后的字符串
*************************************************/
function userReplace(parseString, sourceSubstr, objecSubstr) 
{
    lengthOfsourceSubstr = sourceSubstr.length;    //要替换的字符串的长度
    startPos = 0;    //每次查找的开始位置
    foundPos = -1;    //找到的位置
    returnedString = "";    //该方法将返回的字符串

    foundPos = parseString.indexOf(sourceSubstr, startPos);
    while (foundPos >= 0) 
    {
        returnedString = returnedString + parseString.substring(startPos, foundPos) + objecSubstr;
        startPos = foundPos + lengthOfsourceSubstr;    //变化查找位置
        foundPos = parseString.indexOf(sourceSubstr, startPos);
    }
    returnedString = returnedString + parseString.substring(startPos);

    return returnedString;
}

/*************************************************
功能：检查查询表单域是否为空或含有单引号
输入：
        theObj: 表单域
        caption: 表单域名称
输出：是则返回true，否则返回false
*************************************************/
function checkQueryData(theObj, caption) {
    var msg;
    if (theObj.value == "") {
        msg = "您选择了查询字段“" + caption + "”，但输入内容为空！";
        alert(msg);
        return false;
    } else {
        if (hasSingleQuote(theObj.value)) {
            msg = "您选择了查询字段“" + caption + "”，但输入内容中不能包含单引号！";
            alert(msg);
            return false;
        }
    }
    return true
}

/*************************************************
功能：判断字符串中的每个字母是否都在给定的字符串中
输入：
        parseString: 原始字符串(供解析的字符串)
        givedString: 给定的字符串

输出：
        true     供解析的字符串的字母都在给定的字符串
        flase    供解析的字符串的字母没有全部在给定的字符串
*************************************************/
function isGivedString(parseString,givedString)
{
    for(i=0;i<parseString.length;i++)
    {
        if(givedString.indexOf(parseString.substring(i,i+1))<0)
            return false;
    }
    return true;
}

/*************************************************
功能：取出某个字符串中的子串，如"aaaa;fdsaf;sadf;ueru;werr;"
输入：
        parseString: 原始字符串（供解析的字符串）
        givedNo: 给定的字符串序号（从1开始）

输出：
        子串
*************************************************/
function getSubString(parseString,givedNo)
{

    for(i=0;i<parseString.length;i++)
    {
        if(givedString.indexOf(parseString.substring(i,i+1))<0)
            return false;
    }
    return true;
}


/************************************************
功能：弹出新窗口， 该窗口仅有标题栏，可缩放。
输入：    top - 顶部位置；
                left - 左边位置；
                width - 窗口宽度；
                height - 高度。单位：pixels
                winName - 窗口名称；
                url - 要打开的url
                options - 附加选项
输出：新窗口句柄 
*************************************************/
function popupNewWindow(top, left, width, height, winName, url, options) 
{
    var optionStr = "top=" + top + ", left=" + left + ",width=" + width + " ,height=" + height +
            ",toolbar=No,scrollbars=Yes, resizable=Yes,status=Yes" +
            (options == "" ? "" : "," + options);
    return window.open(url, winName, optionStr);
}

function popupNewModalDialog(url,winName)
{
	return window.showModalDialog(url,winName,"dialogwidth:750px;dialogheight:750px;center:yes;status:no;scroll:no;help:no");
}

function popupNewWindowForOther(top, left, width, height, winName, url, options) 
{
    var optionStr = "top=" + top + ", left=" + left + ",width=" + width + " ,height=" + height +
            ",toolbar=No,scrollbars=no, resizable=no,status=no" +
            (options == "" ? "" : "," + options);
    return window.open(url, winName, optionStr);
}

/*****************************************
功能：将表单中的所有复选框选择或不选择
输入：
            formObj                    表单对象
            selDeselChkBox     全选/不选复选框
******************************************/
function selDeselAll(formObj, selDeselChkBox) 
{
    for(var i = 0; i < formObj.elements.length; i++) 
    {
        if (formObj.elements[i].type == "checkbox") 
        {
            if (selDeselChkBox.checked) formObj.elements[i].checked = true;
            else formObj.elements[i].checked = false;
        }
    }
}

/**********************************************
功能：检查表单中的指定名称的复选框是否都已选择
输入：
            formObj                    表单对象
            chkBoxName             选项框名称
输出：是返回true，否返回false
**********************************************/
function allSelected (formObj, chkBoxName) 
{
    for(var i = 0; i < formObj.elements.length; i++) 
    {
        if (formObj.elements[i].type == "checkbox" && formObj.elements[i].name == chkBoxName) 
        {
            if (!formObj.elements[i].checked) return false;
        }
    }
    return true;
}

/**********************************************
功能：检查表单中的指定名称的复选框是否都未选择
输入：
            formObj                    表单对象
            chkBoxName             选项框名称
输出：是返回true，否返回false
**********************************************/
function allUnSelected (formObj, chkBoxName) 
{
    for(var i = 0; i < formObj.elements.length; i++) 
    {
        if (formObj.elements[i].type == "checkbox" && formObj.elements[i].name == chkBoxName) 
        {
            if (formObj.elements[i].checked) return false;
        }
    }
    return true;
}

/*****************************************************
功能：判断是否选择了指定的单选或复选项框中的至少一项
输入：
            formObj                    表单对象
            elemName                 单选或复选钮名称
输出：若有选择的记录，则返回true，否则，返回false
*****************************************************/
function hasSelections(formObj, elemName) 
{
    for(var i = 0; i < formObj.elements.length; i++) 
    {
        if ((formObj.elements[i].type == "radio" || formObj.elements[i].type == "checkbox") &&
                formObj.elements[i].name == elemName && formObj.elements[i].checked) 
        {
            return true;
        }
    }
    return false;
}

/*****************************************************
功能：判断选择了指定的单选或复选项框中的项数
输入：
            formObj                    表单对象
            elemName                 单选或复选钮名称
输出：返回已选择的项数
*****************************************************/
function seledItems(formObj, elemName) {
    var count = 0;
    for(var i = 0; i < formObj.elements.length; i++) 
    {
        if ((formObj.elements[i].type == "radio" || formObj.elements[i].type == "checkbox") &&
                formObj.elements[i].name == elemName && formObj.elements[i].checked) 
        {
            count++;
        }
    }
    return count;
}

function getSelectedRadioSingleValue(radiosName){
	var radios = document.getElementsByName(radiosName);
	var result = "";
	for(var i=0; i < radios.length; i++){
		if(radios[i].checked == true){
			result = radios[i].value;
		}
	}
	return result;
}

/************************************************
功能：将源列表框中的所有已选择项加入到目标列表框中，但如果目标框中
      已存在要加入的项（比较value），则该项不添加。源列表框中的项
      加入到目标框中后仍存留于源列表框中
输入：
            from     源列表框
            to         目标列表框
*************************************************/
function addOptions(from, to) 
{
    if (from.options.length > 0) 
    {
        if (from.selectedIndex == -1) 
        {
            alert("未选择要添加的任何项，请选择。");
            return;
        } else {
            for (var i = 0; i < from.options.length; i++) 
            {
                if (from.options[i].selected) 
                {
                    var selectedOption = from.options[i];
                    var found = false;
                    for(var j = 0; j < to.options.length; j++) 
                    {
                        if (to.options[j].value == selectedOption.value) 
                        {
                            found = true;
                            break;
                        }
                    }
                    if(!found) 
                    {
                        to.options[to.options.length] = new Option(selectedOption.text, selectedOption.value);
                    }
                }
            }
        }
    }
}

/****************************************************************
功能：移去列表框中选择的项，但不移去第一项
输入：
            listObj     列表框
*****************************************************************/
function removeOptions(listObj) 
{
    var selectedCounts = 0;    //已选项数
    if (listObj.options.length > 0) 
    {
        for (var i = 0; i < listObj.options.length; i++) 
        {
            if (listObj.options[i].selected) 
            {
                selectedCounts++;
            }
        }
        for (var i = 0; i < selectedCounts; i++) 
        {
            for (var j = 0; j < listObj.options.length; j++) 
            {
                if (listObj.options[j].selected && j != 0) 
                {
                    listObj.options.remove(j);
                    break;
                }
            }
        }
    }
}

/************************************************
功能：除列表框中第一项外，其他项均置为选择（列表框必须有multiple属性）；
      第一项置为不选择
输入：
            listObj     列表框
**************************************************/
function selAllExcludeFirst(listObj) 
{
    if (listObj.options.length > 0) 
    {
        for (var i = 0; i < listObj.options.length; i++) 
        {
            if (i != 0) 
            {
                listObj.options[i].selected = true;
            } 
            else 
            {
                listObj.options[i].selected = false;
            }
        }
    }
}

/******************************************************
功能：产生一定范围年份的option列表, 并初始化为当前年份
            option日的值为4位年
*******************************************************/
function prodYearList() 
{
    var rangeStart = 1980;
    var rangeEnd = 2020;
    for (var i = rangeStart; i <= rangeEnd; i++) 
    {
        var optionHTML
        if (i == new Date().getYear())
            optionHTML = "<option value=\"" + i + "\" selected>" + i + "</option>"
        else
            optionHTML = "<option value=\"" + i + "\">" + i + "</option>"
        document.writeln(optionHTML);
    }
}

/*****************************************************
功能：产生一定范围月份的option列表, 并初始化为当前月份
            option日的值为2位月
******************************************************/
function prodMonthList() 
{
    var rangeStart = 1;
    var rangeEnd = 12;
    for (var i = rangeStart; i <= rangeEnd; i++) 
    {
        var optionHTML
        if (i == (new Date().getMonth() + 1))
            optionHTML = "<option value=\"" + (i >= 10 ? i : "0" + i) + "\" selected>" + i + "</option>"
        else
            optionHTML = "<option value=\"" + (i >= 10 ? i : "0" + i) + "\">" + i + "</option>"
        document.writeln(optionHTML);
    }
}

/******************************************************
功能：产生一定范围日期的option列表, 并初始化为当前日期
         option日的值为2位日
*******************************************************/
function prodDateList() 
{
    var rangeStart = 1;
    var rangeEnd = 31;
    for (var i = rangeStart; i <= rangeEnd; i++) 
    {
        var optionHTML
        if (i == new Date().getDate())
            optionHTML = "<option value=\"" + (i >= 10 ? i : "0" + i) + "\" selected>" + i + "</option>"
        else
            optionHTML = "<option value=\"" + (i >= 10 ? i : "0" + i) + "\">" + i + "</option>"
        document.writeln(optionHTML);
    }
}

/*************************************************************************
功能：将由指定分隔符分隔的字符串解析为数组，数组的长度为分隔符的数目 + 1
            例如：分隔符为"|"
            |    返回2个成员的数组，各成员的值集依次为："", ""
            ""    或 null 返回一个成员的数组，该成员的值为""
            12|34|55    返回3个成员的数组，各成员的值集依次为：12, 34, 55
            12||    返回3个成员的数组，各成员的值集依次为：12, "", ""
            12        返回一个成员的数组，该成员的值为：12
            分隔符为null或空字符串时，返回一个成员的数组，该成员的值为""
输入：str                 供解析的字符串
         delimeter     分隔符
输出：返回根据指定分隔符分隔的字符串解析的数组
**************************************************************************/
function parseFormattedString(str, delimeter) 
{
    var arr = new Array(1);
    var start = 0;
    var pos = -1;
    var i = 0;
    var lastPos = 0;
    if (str == null || str.length == 0) 
    {
        arr[0] = "";
    } 
    else 
    {
        if (delimeter == null || delimeter.length == 0 || str.indexOf(delimeter, start) < 0) 
        {
            arr[0] = str;
        } 
        else 
        {    //至少找到一个分隔符
            pos = str.indexOf(delimeter, start)
            while (pos >= 0) 
            {
                lastPos = pos;
                arr[i] = str.substring(start, pos);
                start = pos + delimeter.length;
                if (start >= str.length) 
                {    //分隔符在最后
                    arr[i + 1] = "";
                    break;
                }
                pos = str.indexOf(delimeter, start);
                i++;
            }
            if (pos < 0) arr[i] =    str.substring(lastPos + delimeter.length);
        }
    }
    return arr;
}

/*************************************************************************
功能：将由指定分隔符分隔的字符串解析为数组，数组的长度为有效元素的个数
            例如：分隔符为"|"
            |    返回0个成员的数组
            ""    或 null 返回0个成员的数组，该成员的值为""
            12|34|55    返回3个成员的数组，各成员的值集依次为：12, 34, 55
            12||    返回1个成员的数组，各成员的值集依次为：12
            12        返回一个成员的数组，该成员的值为：12
            分隔符为null或空字符串时，返回有0个成员的数组
输入：str                 供解析的字符串
         delimeter     分隔符
输出：返回有效元素的数组
**************************************************************************/
function parseValidString(str, delimeter) 
{
    var arr = new Array(0);
    var start = 0;
    var pos = -1;
    var i = 0;
    var lastPos = 0;
    if (str != null && str.length != 0) 
    {
        if (delimeter == null || delimeter.length == 0 || str.indexOf(delimeter, start) < 0) 
        {
            arr[0] = str;
        } else {    //至少找到一个分隔符
            pos = str.indexOf(delimeter, start)
            while (pos >= 0) 
            {
                lastPos = pos;
                if (str.substring(start, pos).length != 0) 
                {
                    arr[i] = str.substring(start, pos);
                    i++;
                }
                start = pos + delimeter.length;
                if (start >= str.length) 
                {    //分隔符在最后
                    break;
                }
                pos = str.indexOf(delimeter, start);
            }
            if (pos < 0) arr[i] = str.substring(lastPos + delimeter.length);
        }
    }
    return arr;
}

/*****************************************************
功能：取字符串的字节长度. 即英文算一个，中文算两个字节
输入：str    要计算字节长度的字符串
输出：字符串的字节长度
*****************************************************/
function strLenthByByte(str)
{
    var len;
    var i;
    len = 0;
    for (i=0;i<str.length;i++) 
    {
        if (str.charCodeAt(i)>255) len+=2;
        else len++;
    }
    return len;
}

/*
 * 检查表单域长度(字节)，若超长，则不允许键入
 * 输入: field - 待检查的表单域
 *       charLen - 内容长度上限
 */
function checkCharLength(field, charLen) {
  var keyCode = window.event.keyCode;    //取得用户的按键
  var keyCodeLen = 1;
  if (keyCode > 255) keyCodeLen++;
  if (strLenthByByte(field.value) + keyCodeLen > charLen) {
    window.event.returnValue = false;
  }
}

//打开模式对话框
/*****************************************************
功能：打开模式对话框
输入：sURL    模式对话框访问的URL
            width    对话框宽度
            height    对话框高度
*****************************************************/
function showModalWindow(sURL, width, height) 
{
    var features="dialogWidth=" + width + "px;dialogHeight=" + height +
            "px;center=yes;middle=yes;help=no;status=no;scroll=no";
    window.showModalDialog(sURL,'',features);
}


/*******************************************************
功能：检查用户的按键，禁止键入非数字键
输出：若合法，则返回true，否则，提示不合法消息，并返回false
*******************************************************/
function checkNumber() {
    var keyCode = window.event.keyCode;    //取得用户的按键
    if (!(keyCode >= 48 && keyCode <= 57)) 
    {
        window.event.returnValue = false;
    }
}

/************************************************
功能：禁止在文档上选择
*************************************************/
function disableDocSelect()
{
    window.event.cancelBubble = true;
    window.event.returnValue = false;
    return false;
}

/************************************************
功能: 屏蔽若干快捷键, 以防误操作(须在每个有效的网页中引用本js)
************************************************/
/*
function document.onkeydown() {
    if ((window.event.altKey)&&
            ((window.event.keyCode==37)||     //屏蔽 Alt+ 方向键 ←
            (window.event.keyCode==39)))     //屏蔽 Alt+ 方向键 →
    {
         alert("禁止使用ALT+方向键前进或后退网页！");
         event.returnValue=false;
    }
         /* 注：这还不是真正地屏蔽 Alt+ 方向键，
         因为 Alt+ 方向键弹出警告框时，按住 Alt 键不放，
         用鼠标点掉警告框，这种屏蔽方法就失效了。以后若
         有哪位高手有真正屏蔽 Alt 键的方法，请告知。*/
    /*
    if ((event.keyCode==116)||                                 //屏蔽F5(刷新键快捷键)
            (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
        event.keyCode=0;
        event.returnValue=false;
    }
    if (event.keyCode==122)
    {
        event.keyCode=0;event.returnValue=false;
    }    //屏蔽F11(最大化窗口快捷键) 
    if (event.ctrlKey && event.keyCode==78) 
        event.returnValue=false;     //屏蔽 Ctrl+n(打开新窗口快捷键)
	if (event.keyCode==13){ 
        event.keyCode=0;
        event.returnValue=false;     //屏蔽回车键
    }
    if (event.shiftKey && event.keyCode==121)
        event.returnValue=false;    //屏蔽 shift+F10(上下文菜单快捷键)
    if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
        window.event.returnValue = false;                         //屏蔽 shift 加鼠标左键新开一网页
    if ((window.event.altKey)&&(window.event.keyCode==115))                         //屏蔽Alt+F4(关闭窗口快捷键)
    {
        window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
        return false;
    }
}*/
//禁止粘贴
//document.onpaste = function() {return false}

/*
 * 功能: 屏蔽鼠标右键
 */
/*
function document.oncontextmenu()
{
    event.returnValue=false;
}*/

/*
 * 功能: 屏蔽F1帮助
 */
 /*
function window.onhelp()
{
    return false
}*/

/*
 * 功能：创建xmlHTTPRequest对象，用来向服务器发送请求
 */
function createRequest() 
{
    if (!xmlreq){
        if (window.XMLHttpRequest) 
        {
            // Create XMLHttpRequest object in non-Microsoft browsers
            xmlreq = new XMLHttpRequest();
        } else if (window.ActiveXObject) 
        {
            // Create XMLHttpRequest via MS ActiveX
            try 
            {
                // Try to create XMLHttpRequest in later versions of Internet Explorer
                xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (e1) 
            {
                // Failed to create required ActiveXObject
                try 
                {
                    // Try version supported by older versions
                    // of Internet Explorer
                    xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch (e2) 
                {
                    // Unable to create an XMLHttpRequest with ActiveX
                }
            }
        }
    }
}

/*
 * 功能：实时获取执行URL的的结果
 * 输入：
 *    sURL    要执行的URL
 * 输出：执行URL的的结果
 */
function getExeURLRsult(sURL) 
{
    createRequest();
    xmlreq.open("GET", sURL, false);
    xmlreq.send(null);
    return xmlreq.responseText;
}

/**
 * 功能：用十六进制值替换URL中的特殊字符
 * 输入：aStr: 要替换的字符串
 * 输出：替换后的字符串值
 */
function replaceSpecialChar(aStr)
{
    aStr=userReplace(aStr,"%","%25");
    aStr=userReplace(aStr,"+","%2B");
    aStr=userReplace(aStr," ","%20");
    aStr=userReplace(aStr,"/","%2F");
    aStr=userReplace(aStr,"?","%3F");
    aStr=userReplace(aStr,"#","%23");
    aStr=userReplace(aStr,"&","%26");
    aStr=userReplace(aStr,"=","%3D");
    return aStr;
}

/*
 * 功能：显示/隐藏页面元素，若为表单元素，隐藏时同时清空其值
 * 输入：obj: 页面元素对象
 *            falg: 显示/隐藏标志，true时显示，false时隐藏
 */
function display(obj, flag) 
{
    if (flag) 
    {
        obj.style.display = "";
        try {
            obj.value = "";
        } catch (e) {}
    } 
    else 
    {
        obj.style.display = "none";
        try 
        {
            obj.value = "";
        } 
        catch (e) 
        {}
    }
}

/*
 * 功能：获取当前日期，格式为: YYYY{del}MM{del}DD
 * 输入：del    分隔符
 * 输出: 按YYYY{del}MM{del}DD格式的日期
 */
function getCurrDate(del) 
{
    //获取当前年月日
    var currentDateTime = new Date();
    var currentYear = currentDateTime.getYear();    //IE中返回当前4位年份值
    var currentMonth = currentDateTime.getMonth() + 1;
    var currentDate = currentDateTime.getDate();
    if (currentMonth < 10) currentMonth = "0" + currentMonth;
    if (currentDate < 10) currentDate = "0" + currentDate;
    return currentYear + del + currentMonth + del + currentDate;
}


/*
 * 功能：获取当前时间，格式为: hh{del}mm{del}ss
 * 输入：del    分隔符
 * 输出: 按hh{del}mm{del}ss格式的时间
 */
function getCurrTime(del) 
{
    //获取当前年月日
    var currentDateTime = new Date();
    var currentHours = currentDateTime.getHours();    
    var currentMinutes = currentDateTime.getMinutes();
    var currentSeconds = currentDateTime.getSeconds();
    if (currentHours < 10) currentHours = "0" + currentHours;
    if (currentMinutes < 10) currentMinutes = "0" + currentMinutes;
    if (currentSeconds < 10) currentSeconds = "0" + currentSeconds;
    return currentHours + del + currentMinutes + del + currentSeconds;
}
//-->
var lastId;
var lastStyle;
	
function toggle(object, selectTr)
{
	if( lastId != undefined )
	{
		document.getElementById(lastId).className = lastStyle;
	}	
		
	lastId = object.id;
	lastStyle = object.className;
	object.className = "selected";
	document.all(selectTr).value = lastId.substring(lastId.indexOf("_")+1, lastId.lenght);
}

// 将yyyy-MM-dd转换为MM/dd/yyyy added by Leiyuping
function getInformixDate(d) {
	if(d != "") {
		var a = d.split("-");
		return a[1] + "/" + a[2] + "/" + a[0];
	}
	else return d;
}

/*
 * 功能：页面提示信息的显示
 * 操作：点击页面提示图标，提示信息显示，再次点击，提示信息隐藏
 * 
 */
function getMessage(){
	if( clickSign == 0) 
	{
		message.style.display = "block";        //提示信息显示
		clickSign  = 1;
	} 
	else if (clickSign == 1) 
	{
		message.style.display = "none";         //提示信息隐藏
		clickSign  = 0;
	}
}
/*
 * 功能：页面提示信息的显示/隐藏
 * 操作：有业务提示时显示"问号"图标,无业务提示时不显示"问号"图标
 * 用法: 在页面中定义<input type="hidden" name="mark" value="<csi:functionOperation functionId="${dataBean.functionId}"/>"/>
 *       在页面的onload函数中引用此方法
 */
function isMarked(){ 
      /*判断是否有业务提示*/
      if(document.all("mark").value=="<label>null</label>"){
      document.all.prompt.style.display="none";
      }
}

// -- add by zhoux -- begin
// 以str截取字符串stringObj，返回数组stringArray
function splitStr(stringObj,str) {
	var stringArray = stringObj.split(str);
	return stringArray;
}

// 返回当前日期dayNum天后的时间，返回格式为：yyyy-MM-dd
function getOtherDate(dayNum){
    var currentDateTime = new Date();
    var year  = currentDateTime.getFullYear(); 
    var month = currentDateTime.getMonth() + 1;
    var date  = currentDateTime.getDate();
    var dateTime = year+"/"+month+"/"+date;
    var d = new Date(dateTime);
    d.setDate(d.getDate()+dayNum);
    year  = d.getFullYear();
    month = d.getMonth()+1;
    date  = d.getDate();
    if (month < 10) {
    	month = "0" + month;
    }
    if (date < 10) {
    	date = "0" + date;
    }
    return [year,month,date].join("-");
}
// -- add by zhoux -- end 

	function viewAttach(url)
	{
		open("jsp/workform/export/download.jsp?filePath=" + url);
	}
	
	function updateAttach(id,attachId)
	{
		var trObj= document.getElementById(id);
		trObj.style.display= "none";
		document.all("dataBean.attachDeleted").value +=attachId +",";
	}
	
	function checkForm(){
		var notNullArray = null;
		if (notNullObj != null){
			notNullArray = notNullObj.split(",");
			for(var i=0;i<notNullArray.length;i++)
			{
				if(isBlank(trim(document.getElementsByName(notNullArray[i])[0].value))){
					alert("打*号的是必填项!");
					return false
				}
			}
		}
		return true;
	}
	
/*
 * 功能: 从业务页面提交至表单页面
 * 输入: formObj - 待提交的form对象
 *       actionUrl - 处理form提交的action
 */
function tranToFormFrm(formObj, actionUrl) {
  with(parent.document.all) {
	  workAreaWindow.style.display = "none";
	  formAreaWindow.style.display = "block";
	  customerInfoAreaWindow.style.display = "none";
  }
  with(formObj) {
    action = actionUrl;
    target = parent.formAreaWindow.name;
    submit();
  }
}

/*
 * 功能: 将格式为yyyy-mm-dd的日期转化为ddmmyyyy格式
 * 输入: oldDate - 需要转化日期，格式为yyyy-mm-dd
 * 输出：newDate - 转化后的日期，格式为ddmmyyyy
 */
function changeDateTo8Bit(oldDate)
{
  var temp="";
  if(oldDate != null && oldDate.length==10){
  var newDate=oldDate.substring(8,10)+oldDate.substring(5,7)+oldDate.substring(0,4);
  return newDate;
  }
  else return temp;
}

/*
 * 功能: 将格式为yyyy-mm-dd的日期转化为ddmmyy格式
 * 输入: oldDate - 需要转化日期，格式为yyyy-mm-dd
 * 输出：newDate - 转化后的日期，格式为ddmmyy
 */
function changeDateTo6Bit(oldDate)
{
  var temp="";
  if(oldDate != null && oldDate.length==10){
  var newDate=oldDate.substring(8,10)+oldDate.substring(5,7)+oldDate.substring(2,4);
  return newDate;
  }
  else return temp;
}

/*
 * 功能: 将格式为ddmmyy的日期转化为yyyy-mm-dd格式
 * 输入: oldDate - 需要转化日期，格式为ddmmyy
 * 输出：newDate - 转化后的日期，格式为yyyy-mm-dd
 */
function changeDateTo10Bit(oldDate)
{
   var temp="";
  if(oldDate != null && oldDate.length==6){
  var newDate="20"+oldDate.substring(4,6)+"-"+oldDate.substring(2,4)+"-"+oldDate.substring(0,2);
  return newDate;
  }
  else return oldDate;
}

/*
 * 根据特定格式的日期字符串，转化为YYYY-MM或YYYY-MM-DD格式
 * 处理如下特定格式：
 *   0411 --> 2004-11
 * 输入: str  要转化的日期字符串
 * 输出: 转化后的日期字符串
 */
function formatDate(str) {
  if (str == null ) return "";
  if (str.indexOf("-") >= 0) return str;
  if (str.length == 4) {
    return "20" + str.substring(0, 2) + "-" + str.substring(2, 4);
  } else {
    return str;
  }
}

/*
 * 根据MMddyyyy格式的日期字符串，转化为YYYY-MM或YYYY-MM-DD格式
 * 处理如下特定格式：
 *   03021988 --> 1988-03-02
 * 输入: str  要转化的日期字符串
 * 输出: 转化后的日期字符串
 */
function formatDate8(str) {
  if (str == null ) return "";
  if (str.indexOf("-") >= 0) return str;
  if (str.length == 8) {
    return str.substring(4, 8) + "-" + str.substring(2, 4) + "-" + str.substring(0, 2);
  } else {
    return str;
  }
}

/*
 * 根据yyyyMMDD格式的日期字符串，转化为YYYY-MM-DD格式
 * 处理如下特定格式：
 *   19880302 --> 1988-03-02
 * 输入: str  要转化的日期字符串
 * 输出: 转化后的日期字符串
 */
function format2Date8(str) {
  if (str == null) return "";
  if (str.indexOf("-") >= 0) return str;
  if (str.length == 8) {
    return str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8);
  } else {
    return str;
  }
}

/*
 * 获得元素离指定父级元素的左边距离
 */
function getLeft(el, topEl){ 
	if(el == topEl) return 0;
	else return el.offsetLeft + getLeft(el.offsetParent, topEl);
}
			
/*
 * 获得元素离指定父级元素的顶端距离
 */
function getTop(el, topEl){
	if(el == topEl) return 0;
	else return el.offsetTop + getTop(el.offsetParent, topEl);
}

function CheckDateTime(dateControlName)
{
     var strDTCheck = eval(dateControlName).value.Trim() ;
     var strDateString = eval(dateControlName).value.Trim();
     var strDate;
     var strTime;
     var strSp = 0;
     
     if (strDateString.length == 0) //注意      
     {  return true;  }
          
     //取得分隔符" " 的位置 日期部分和时间部分的分隔符             
     for (var i=0;i<strDateString.length;i++)
     {
        if (strDateString.substr(i,1) == " ")
        {
            strSp=i;
            break;
        }
     }
     //如果没有分隔符" "；日期时间格式错误
     if (strSp == 0)
     {  //如果没有日期时间分隔符" ",
         if(strDTCheck.length <= 10 ) 
         {  //如果字符串长度小于等于10，说明输入的有可能只是日期部分,而没有时间部分
            strDate = strDTCheck ;
            return CheckDate(strDate) ;
         }                 
         return false;
      }
    strDate = strDateString.substr(0,strSp); //取日期部分
    strTime = strDateString.substr(strSp+1,strDateString.length-strSp+1); //取时间部分
    
    var separator = ':';//时间分隔符
    var arrayOfTimes = strTime.split(separator); // HH:mm:ss 两个分隔符    
    if(arrayOfTimes.length == 2 ) 
    { //如果没有秒钟，补上 使之成为 HH:mm:ss 格式
        strTime = strTime   +":00"; 
    }
    if (CheckDate(strDate) == true)//调用子函数CheckDate
    {   //校验日期部分正确 
         // if (CheckTime(strTime) == true)
          if (isTime(strTime) == true) //调用子函数isTime
              {  return true;}
          else
              {  return false;}
    }
    else
    {//校验日期部分不正确 ，返回false
          return false;
    }                  
}
  // 添加时间: 2005-07-11
  //短时间，形如 (13:04:06)
  function isTime(str)
      {
        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
        if (a == null) {alert('输入的时间格式不正确'); return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60)
        {
          alert("时间格式不对");
          return false
        }
        return true;
      }

      //校验 完全使用时间正则表达式
      //用法：isDateTimeString(document.getElementById('TextBox1').value) ;
       function isDateTimeString(str)
      {
        str = trim(str);
        if(str.length == 0 ) return true ;
        var a = str.match(/^((\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-9]|[0-1][0-9]|[2][0-3]))\:([0-9]|[0-5][0-9])(()|(\:([0-9]|[0-5][0-9])))))?$/);
        if (a == null) { return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60)
        {
          alert("时间格式不对");
          return false
        }
        return true;
      }
     
     //校验 金额正则表达式 例：0.11 ，11.11 ，1.00 ，22.00
     //参数： str  String
	function checkSum(str){
		if(str == null){
			return false;
		}
		var regex = "^[0-9][\.]{1}[0-9]{2}$|^[1-9][0-9]+[\.]{1}[0-9]{2}$";
		var result = str.match(regex);
		if(result == null){
			return false;
		}else{
			return true;
		}
	}
/* Added by Leiyuping */
function popTip(obj) {
	obj.title = obj.innerText;
}


/*
功能：提交form时弹出等待框 ADDED BY ZHOUXIAO
*/
function loadingMsg(msg)
{
    var msgw,msgh,bordercolor;
    msgw=310; //提示窗口的宽度
    msgh=60; //提示窗口的高度
    bordercolor="#6D76D8"; //提示窗口的边框颜色
    
    var sWidth,sHeight;
    sWidth=document.body.offsetWidth;
    sHeight=screen.height;

    var bgObj=document.createElement("div");
    bgObj.setAttribute('id','bgDiv');
    bgObj.style.position="absolute";
    bgObj.style.top="0";
    bgObj.style.background="#777";
    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=10)";
    bgObj.style.opacity="0.6";
    bgObj.style.left="0";
    bgObj.style.width=sWidth + "px";
    bgObj.style.height=sHeight + "px";
    bgObj.style.zIndex = "10000";
    document.body.appendChild(bgObj);

    var msgObj=document.createElement("div")
    msgObj.setAttribute("id","msgDiv");
    msgObj.setAttribute("align","center");
    msgObj.style.background="white";
    msgObj.style.border="1px solid " + bordercolor;
    msgObj.style.position = "absolute";
    msgObj.style.left = "50%";
    msgObj.style.top = "50%";
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
    msgObj.style.marginLeft = "-225px" ;
    msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
    msgObj.style.width = msgw + "px";
    msgObj.style.height =msgh + "px";
    msgObj.style.textAlign = "center";
    msgObj.style.lineHeight ="25px";
    msgObj.style.zIndex = "10001";

    var title=document.createElement("h4");
    title.setAttribute("id","msgTitle");
    title.setAttribute("align","right");
    title.style.margin="0";
    title.style.padding="3px";
    title.style.background=bordercolor;
    title.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=85);";
    //title.style.opacity="0.75";
    title.style.border="0px solid " + bordercolor;
    title.style.height= "10px";
    title.style.font="11px Verdana, Geneva, Arial, Helvetica, sans-serif";
    title.style.color="white";
    title.style.cursor="pointer";
    title.innerHTML="<div id='imgId'></div><div id='myclose' class='close-control' title='关闭'>x</div>";

    document.body.appendChild(msgObj);
    document.getElementById("msgDiv").appendChild(title);

    var imgDiv = document.getElementById("imgId");
    imgDiv.appendChild(newImg2);
    imgDiv.appendChild(document.createTextNode("processing..."));

    var txt=document.createElement("p");
    txt.style.margin="1em 0";
    txt.setAttribute("id","msgTxt");
    txt.style.color = "red";
    document.getElementById("msgDiv").appendChild(txt);
    document.getElementById("msgTxt").appendChild(newImg);
    document.getElementById("msgTxt").appendChild(document.createTextNode("  " + msg));

    document.getElementById("myclose").onclick = function() {
        document.body.removeChild(bgObj);
        document.getElementById("msgDiv").removeChild(title);
        document.body.removeChild(msgObj);
    }

}
function getUrl(actionName, method, params){
	var url = "/";
	if(!isBlank(actionName)){
		url = url + actionName + ".do"
	}
	if(!isBlank(method)){
		url = url + "?action=" + method;
	}
	if(!isBlank(params)){
		url = url + '&' + params;
	}
	return url;
}
/**
 *检查域名合法性
 */
function checkUrlValid(val) {
	var obj=document.getElementById(val);
	var str ="http://"+obj.value; 
	if(isBlank(obj.value)){
		alert("域名不能为空"); 
		return false; 
	} 

	if(obj.value.split(".").length<3){
  		alert("域名不合法，请检查。如：www.idcsea.com");
  		return false;
	}
	if(/.*[\u4e00-\u9fa5]+.*$/.test(obj.value)) {  
		alert("域名不合法，不能含有中文。");
		return false;  
	}  

	var urlpatern0 = /^https?:\/\/.+$/i; 
	if(!urlpatern0.test(str)) { 
		//alert(dispStr+"不合法：必须以'http:\/\/'或'https:\/\/'开头!"); 
		alert("域名不合法!如：www.idcsea.com");
		return false; 
	} 
	var urlpatern2= /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?.+$/i; 
	if(!urlpatern2.test(str)) { 
		alert("域名端口号必须为数字且应在1－65535之间!"); 
		return false; 
	} 

	//var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*.+\.(com|net|cn)$/i; 
	var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*.+$/i; 
	if(!urlpatern1.test(str)) { 
		alert("域名不合法,请检查!如：www.idcsea.com"); 
		return false; 
	} 
	var s = "0"; 
	var t =0; 
	var re = new RegExp(":\\d+","ig"); 
	while((arr = re.exec(str))!=null) { 
		s = str.substring(RegExp.index+1,RegExp.lastIndex); 
		if(s.substring(0,1)=="0") { 
			alert("域名端口号不能以0开头!"); 
			return false; 
		} 
		t = parseInt(s); 
		if(t<1 || t >65535) { 
			alert("域名端口号必须为数字且应在1－65535之间!"); 
			return false; 
		} 
	}
 	return true;
}
/**
 *检查多选框是否有选中
 */
function isChecked(val){
	flag = false;
	var grp = document.getElementsByName(val);
	if(grp == null || grp.length < 1) return;
	for(var i=0;i<grp.length;i++){
		if(grp[i].checked) flag = true;
	}
	return flag;
}
/**
 *将多选框的值拼成一个数组
 *val 多选框名字
 */
 function getSelectedCheckBoxArrayValue(val){
 	var array = null;
 	var grp = document.getElementsByName(val);
 	var str = "";
	if(grp == null || grp.length < 1) return null;
	for(var i=0;i<grp.length;i++){
		if(grp[i].checked){
			str += (grp[i].value + '|'); 
		}
	}
	str = str.substring(0,str.length-1);
	array = str.split('|');
	return array;
 }
 /**
  *得到checkbox的被选中的数量
  */
 function getSelectedCheckBoxQuntity(val,val2){
 	var grp = document.getElementsByName(val);
 	var sum = 0;
	if(grp == null || grp.length < 1) return null;
	for(var i=0;i<grp.length;i++){
		if(grp[i].checked && grp[i].value!=val2){
			sum ++;
		}
	}
	return sum;
 }
 
 /**
  *得到select被选中的值
  */
function getSelectedSelectValue(val){
	var obj = document.getElementById(val);
	return obj.options[obj.selectedIndex].value;
}

function isIP(val){
	var ip = document.getElementById(val).value;
	var exp = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;     
	var reg = ip.match(exp);   	
	var	ErrMsg="你输入的是一个非法的IP地址段！\nIP段为：:xxx.xxx.xxx.xxx（xxx为0-255)！";
	if(reg==null) {     
		alert(ErrMsg);   			
		return false;
	}else{
		return true;
	}
}
