// ****************************************************
// 格式化数字
// ****************************************************
function FormatNumber(srcStr, nAfterDot) {
	var srcStr, nAfterDot;
	var resultStr, nTen;
	srcStr = "" + srcStr + "";
	strLen = srcStr.length;
	dotPos = srcStr.indexOf(".", 0);
	var resultStr = srcStr;
	if (dotPos == -1) {
		resultStr = srcStr + ".";
		for (i = 0; i < nAfterDot; i++) {
			resultStr = resultStr + "0";
		}
	} else {
		if ((strLen - dotPos - 1) >= nAfterDot) {
			nAfter = dotPos + nAfterDot + 1;
			nTen = 1;
			for (j = 0; j < nAfterDot; j++) {
				nTen = nTen * 10;
			}
			resultStr = Math.round(parseFloat(srcStr) * nTen) / nTen;
		} else {
			resultStr = srcStr;
			for (i = 0; i < (nAfterDot - strLen + dotPos + 1); i++) {
				resultStr = resultStr + "0";
			}
		}
	}
	document.write(resultStr);
}

// *******************************************************
//
// 判断长度
// *******************************************************
function isoverlen_text(itemname, len, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		if (itemx.value != undefined && itemx.value != "") {
			var len1 = 0;
			var content = itemx.value;
			for (var i = 0; i < content.length; i++) {
				if (content.charCodeAt(i) > 255)
					len1 += 2
				else
					len1 += 1
			}
			if (len1 > len) {
				return promptmsg + "超过允许的长度\n";
			} else
				return "";
		} else
			return "";
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// *******************************************************
//
// 显示发布信息
// *******************************************************
function showme(e) {
	if (e.style.display == "none") {
		e.style.display = "";
	} else {
		e.style.display = "none";
	}
}

// *******************************************************
//
// 取得选中的单选框的值
// *******************************************************
function getselectedvalue_radiobutton(itemname) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		for (var i = 0; i < itemx.length; i++) {
			if (itemx[i].checked == true) {
				return itemx[i].value;
			}
		}

		return "";
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// ******************************************************
//
// 调用打开窗口函数
// ******************************************************
function openWindow(address, winName, features) {

	var d, t;
	d = new Date();
	t = d.getTime();
	var URL = address + "&t=" + t;
	window.MM_openBrWindow(URL, winName, features);

}

// ******************************************************
//
// 调用打开窗口函数
// ******************************************************
function openWindow2(address, winName, features) {

	var d, t;
	d = new Date();
	t = d.getTime();
	var URL = address;
	window.MM_openBrWindow(URL, winName, features);

}

// ******************************************************
//
// 在屏幕中间打开指定页面函数,可指定窗口大小
// ******************************************************
function openCenterWindow(address, widthx, hightx) {

	var windowhight = hightx;
	var windowwidth = widthx;
	var top = (window.screen.availHeight - windowhight) / 2;
	var left = (window.screen.availWidth - windowwidth) / 2;

	var windowname;
	windowname = "openviewerlog";
	openWindow(address, windowname, 'Height=' + windowhight + ',Left=' + left
			+ ',Top=' + top + ',Width=' + windowwidth
			+ ',scrollbars=1,status=no,toolbar=no,menubar=no,location=no');
}

// *******************************************************
//
// 打开新窗口函数
// *******************************************************
function MM_openBrWindow(theURL, winName, features) { // v2.0
	window.open(theURL, winName, features);
}

// *******************************************************
//
// 找到表单项函数
// *******************************************************
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 SelectAll_Checkbox(checkbox) {
	checkbox.checked = true;
	var i;
	for (i = 0; i < checkbox.length; i++) {
		if (checkbox[i].checked == false) {
			checkbox[i].checked = true;
		}
	}
}

// *******************************************************
//
// 取得选中的下拉框的值
// *******************************************************
function getselectedvalue_select(itemname) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		return itemx[itemx.selectedIndex].value;
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// *******************************************************
//
// 取得选中的下拉框的值对应的描述
// *******************************************************
function getselectedtext_select(itemname) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		return itemx[itemx.selectedIndex].text;
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// *******************************************************
//
// 多选框全选函数
// *******************************************************
function SelectAll_Select(Selection) {

	var i;
	for (i = 0; i < Selection.length; i++) {
		if (Selection.options(i).selected == false) {
			Selection.options(i).selected = true;
		}
	}
}

// *******************************************************
//
// 多选框删除选择函数
// *******************************************************
function removeSelect(Selection) {
	var itemx = MM_findObj(Selection);
	if (itemx != null) {
		if (itemx.selectedIndex != -1) {
			if (itemx.options(itemx.selectedIndex).value != "") {
				itemx.options.remove(itemx.selectedIndex);
			}
		}
	}
}

// *******************************************************
//
// 多选框增加选择函数
// *******************************************************
function addSelect(Selection, svalue, hvalue) {
	var itemx = MM_findObj(Selection);
	if (itemx != null) {

		itemx.options.add(new Option(svalue));
		itemx.selectedIndex = itemx.length - 1;
		itemx.options(itemx.selectedIndex).value = hvalue;
		itemx.options(itemx.selectedIndex).selected = false;
	}
}

// *******************************************************
//
// 复选框取消全选函数
// *******************************************************
function DeSelectAll_Checkbox(checkbox) {
	checkbox.checked = false;
	var i;
	for (i = 0; i < checkbox.length; i++) {
		if (checkbox[i].checked == true) {
			checkbox[i].checked = false;
		}
	}
}

// *******************************************************
//
// 全选、取消
// *******************************************************
function selectCheckBox(checkboxname) {
	var checkbox = window.document.getElementsByName(checkboxname);
	if (this.value == " 全  选 " || this.value == null) {
		SelectAll_Checkbox(checkbox);
		this.value = " 清  除 ";
	} else {
		DeSelectAll_Checkbox(checkbox);
		this.value = " 全  选 ";
	}
}

// *******************************************************
//
// 清除文本框中的资料
// *******************************************************
function clearinput(itemname) {
	var item = MM_findObj(itemname);
	var item_show = MM_findObj(itemname + "_Show");
	if (item != null && item_show != null) {
		item_show.value = "";
		item.value = "";
	} else {
		alert("表单项:" + itemname + "或" + itemname + "_Show" + "未定义,无法清空!");
	}
}

// *******************************************************
//
// 检查表单内容文本型是否为空
// *******************************************************
function isnull_text(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		if (itemx.value != undefined && lTrim(itemx.value) == "") {
			// itemx.value="";
			// itemx.focus();
			return "请填写" + promptmsg + "\n";
		} else {
			return "";
		}
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

function checkemail(itemname,promptmsg)
{	
	var itemx = MM_findObj(itemname);
	if (itemx != null){		   
		var sToMatch = itemx.value;
    var pattern =/\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i;
    if (!pattern.test(sToMatch)){
    	  return "请填写" + promptmsg + "\n";
    }else{
    	  return "";
    }		
  }else{
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}    
}

// *******************************************************
//
// 检查表单内容下拉框是否已选择
// *******************************************************
function isnull_comboboxbytext(itemname, promptmsg, emptystyle) {

	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		var i = itemx.selectedIndex;
		var valuex = itemx.options[i].text;

		if (valuex == emptystyle) {
			itemx.focus();
			return "请选择" + promptmsg + "\n";
		} else {
			return "";
		}

	} else {
		return "表单项:" + itemname + "未定义,无法判断用户选择的数据!";
	}
}

// *******************************************************
//
// 检查表单内容文本型是否为空，是否为整数字
// *******************************************************
function isNum_text(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		if (itemx.value != undefined && lTrim(itemx.value) == "") {
			// itemx.value="";
			// itemx.focus();
			return "请填写" + promptmsg + "\n";
		} else {
			if (fucCheckNUM(itemx.value) == 0)
				return promptmsg + "必须填写数字\n";
			else
				return "";
		}
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}

}

// *******************************************************
//
// 检查表单内容文本型是否为空，是否为数字和字母
// *******************************************************
function isEnAndNum_text(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		if (itemx.value != undefined && lTrim(itemx.value) == "") {
			// itemx.value="";
			// itemx.focus();
			return "请填写" + promptmsg + "\n";
		} else {
			if (fucCheckEnNUM(itemx.value) == 0)
				return promptmsg + "必须填写数字或字母\n";
			else
				return "";
		}
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}

}

// *******************************************************
//
// 检查表单内容文本型是否为空，是否为数字
// *******************************************************
function isFloatNum_text(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		if (itemx.value != undefined && lTrim(itemx.value) == "") {
			// itemx.value="";
			// itemx.focus();
			return "请填写" + promptmsg + "\n";
		} else {
			if (fucCheckFloatNUM(itemx.value) == 0)
				return promptmsg + "必须填写数字\n";
			else
				return "";
		}
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}

}


function Trim(str)
{
	return RTrim(lTrim(str));
}

function RTrim(str)
{    
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
       var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
        	 i--;
        }
        s = s.substring(0, i+1);
        }
    return s;
}

function lTrim(str) {
	if (str.charAt(0) == " ") {
		// 如果字串左边第一个字符为空格
		str = str.slice(1);// 将空格从字串中去掉
		// 这一句也可改成 str = str.substring(1, str.length);
		str = lTrim(str); // 递归调用
	}
	return str;
}

// *******************************************************
//
// 检查表单内容多选选框复选框是否之选择一个
// *******************************************************
function single_checkbox(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		var checked = 0;
		if (itemx.length == undefined && itemx.checked == true) {
			checked = 1;
		}
		for (var i = 0; i < itemx.length; i++) {
			if (itemx[i].checked == true) {
				checked = checked + 1;
				if (checked > 1) {
					break;
				}
			}
		}
		if (checked == 0) {//if (checked == 0 || checked > 1) {
			return "\n请选择" + promptmsg;
		} else
			return "";
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// *******************************************************
//
// 检查表单内容单选框复选框是否为空
// *******************************************************
function isnull_radiobutton(itemname, promptmsg) {
	var itemx = MM_findObj(itemname);
	if (itemx != null) {
		for (var i = 0; i < itemx.length; i++) {
			if (itemx[i].checked == true) {
				return "";
			}
		}
		if (itemx.checked)
			return "";
		return "\n请选择" + promptmsg;
	} else {
		return "表单项:" + itemname + "未定义,无法判断用户输入的数据!";
	}
}

// *******************************************************
//
// 保存表单前调用的提交函数
// *******************************************************
function savesubmit(msg) {
	if (msg != "") {
		alert(msg);
		return false;
	} else {
		return true;
	}
}

// 函数名：fucCheckNUM
// 功能介绍：检查是否为数字
// 参数说明：要检查的数字
// 返回值：1为是数字，0为不是数字
function fucCheckNUM(NUM) {
	var i, j, strTemp;
	strTemp = "0123456789";
	if (NUM.length == 0)
		return 0
	for (i = 0; i < NUM.length; i++) {
		j = strTemp.indexOf(NUM.charAt(i));
		if (j == -1) {
			// 说明有字符不是数字
			return 0;
		}
	}
	// 说明是数字
	return 1;
}

// 函数名：fucCheckNUM
// 功能介绍：检查是否为数字可以有小数点
// 参数说明：要检查的数字
// 返回值：1为是数字，0为不是数字
function fucCheckFloatNUM(NUM) {
	var i, j, strTemp;
	strTemp = "0123456789.";
	if (NUM.length == 0)
		return 0
	for (i = 0; i < NUM.length; i++) {
		j = strTemp.indexOf(NUM.charAt(i));
		if (j == -1) {
			// 说明有字符不是数字
			return 0;
		}
	}
	// 说明是数字
	return 1;
}

// 函数名：fucCheckEnNUM
// 功能介绍：检查是否为数字和字母
// 参数说明：要检查的数字和字母
// 返回值：1为是数字和字母，0为不是数字和字母
function fucCheckEnNUM(EnNUM) {
	var i, j, strTemp;
	re = "/[\W]/g";
	strTemp = re.test(EnNUM);
	if (EnNUM.length == 0)
		return 0
	for (i = 0; i < EnNUM.length; i++) {
		j = strTemp.indexOf(EnNUM.charAt(i));
		if (j == -1) {
			// 说明有字符不是数字和字母
			return 0;
		}
	}
	// 说明是数字和字母
	return 1;
}

// *******************************************************
//
// 是否继续执行操作确认函数
// *******************************************************
function ContinueConfirm(alerttext) {
	var continuex = window.confirm(alerttext, "系统提示");
	if (continuex) {
		return true;
	} else {
		return false;
	}
}

// *******************************************************
//
// 取得选择的值
// *******************************************************
function GetSelectedValue(Selectitem) {
	var v = "";
	for (var i = 0; i < Selectitem.length; i++) {
		if (Selectitem[i].checked == true) {

			var valuex = Selectitem[i].value;
			// 取传过来的值格式为显示的值x保存的值
			v += valuex + ";";
		}
	}
	// 去掉最后的“；”号
	v = v.substr(0, v.length - 1);
	return v;
}

// *******************************************************
//
// 取得选择的值的SELECTINDEX
// *******************************************************
function GetSelectedIndex(Selectitem) {
	var v = "";
	for (var i = 0; i < Selectitem.length; i++) {
		if (Selectitem[i].checked == true) {
			return i;
		}
	}
}

// *******************************************************

function getObject(objectId) {
	if (document.getElementById && document.getElementById(objectId)) {
		// W3C DOM
		return document.getElementById(objectId);
	} else if (document.all && document.all(objectId)) {
		// MSIE 4 DOM
		return document.all(objectId);
	} else if (document.layers && document.layers[objectId]) {
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
	} else {
		return false;
	}
}

// *******************************************************
// 隐藏、显示查询输入框
// *******************************************************

function showOrHiddenSearch(source, searchId, root) {
	if (getObject(searchId).style.display == "none") {
		source.src = root + "/images/icon/icon_loadSearch.gif";
		getObject(searchId).style.display = "block";
	} else {
		source.src = root + "/images/icon/icon_closeSearch.gif";
		getObject(searchId).style.display = "none";
	}
}

// *******************************************************
// 弹出查询框
// 这个弹出框的大小不要去更改。
// *******************************************************
function openWindowDialog(address) {
	var d, t;
	var address2 = address + "?t=" + Math.random();
	var form2 = window.document.forms.form0;
	window.showModalDialog(address2, form2,
			"dialogWidth:500px;dialogHeight:500px;help:no;scroll:no;status:no");

	// var x =
	// window.showModalDialog(URL,arry,"dialogWidth=800px;dialogHeight=500px;status:yes");
}

function openWindowDialog2(address) {
	var d, t;
	var address2 = address + "&t=" + Math.random();
	var form2 = window.document.forms.form0;
	window.showModalDialog(address2, form2,
			"dialogWidth:500px;dialogHeight:500px;help:no;scroll:no;status:no");

	// var x =
	// window.showModalDialog(URL,arry,"dialogWidth=800px;dialogHeight=500px;status:yes");
}

function openWindowDialog3(address) {
	var d, t;
	var address2 = address;
	var form2 = window.document.forms.form0;
	window.showModalDialog(address2, form2,"dialogWidth:500px;dialogHeight:500px;help:no;scroll:no;status:no");

	// var x =
	// window.showModalDialog(URL,arry,"dialogWidth=800px;dialogHeight=500px;status:yes");
}

function formTopSearch(address) {
	var form = window.document.forms[0];
	form.action = address;
	form.submit();
}

// *******************************************************
//
// 判断是否为数字或小数
// *******************************************************
function checkKeyPressNumAndPercent() {
	try {
		if ((window.event.keyCode < 48 && window.event.keyCode != 46)
				|| window.event.keyCode > 58) {
			// alert("只允许输入数字！");
			window.event.keyCode = 0;
			return false;
		}
	} catch (e) {
		alert(e.description);
	}
}

/**
 * 校验浮点型最小值 str：要校验的串。 val：比较的值
 * 
 * 返回值： 如果为空，定义校验通过， 返回true 如果满足条件，大于等于给定值，校验通过，返回true 如果小于给定值， 返回false
 * 参考提示信息：输入域必须小于给定值！
 */

function checkDoubleMinValue2(buttonObj) {
	alert(buttonObj.value);
}

function checkDoubleMinValue(str, val) {
	// 如果为空，则通过校验
	if (str == "")
		return true;
	if (typeof(val) != "string")
		val = val + "";
	if (checkIsDouble(str) == true) {
		if (parseFloat(str) <= parseFloat(val))
			return true;
		else
			return false;
	} else
		return false;
}

/**
 * 校验字符串是否为浮点型 返回值： 如果为空，定义校验通过， 返回true 如果字串为浮点型，校验通过， 返回true 如果校验不通过， 返回false
 * 参考提示信息：输入域不是合法的浮点数！
 */
function checkIsDouble(str) {
	// 如果为空，则通过校验
	if (str == "")
		return true;
	// 如果是整数，则校验整数的有效性
	if (str.indexOf(".") == -1) {
		if (checkIsInteger(str) == true)
			return true;
		else
			return false;
	} else {
		if (/^(\\-?)(\\d+)(.{1})(\\d+)$/g.test(str))
			return true;
		else
			return false;
	}
}

/**
 * 防重复提交
 * 
 */
var invokTrue = true;

function invoke() {
	if (invokTrue) {
		invokTrue = false;
		return true;
	} else {
		alert('已提交,请稍候');
		return false;
	}
}

/**
 * 自由知会
 */

function liberalNotifyFunction() {
	var form = window.document.forms[0];

	window.showModalDialog("forLiberalNotifyFunction.action", form,
			"dialogWidth=600px;dialogHeight=400px;scroll:yes;status:yes");
}
/**
 * 多选
 */
function getSelected() {
	var checkBoxList = document.getElementsByName("toSelect");
	var ids = "";
	var flag = true;
	for (i = 0; i < checkBoxList.length; i++) {
		if (checkBoxList[i].checked) {
			if (flag) {
				ids = checkBoxList[i].value;				
				flag = false;
			} else {
				ids = ids + ";" + checkBoxList[i].value;			
			}
		}

	}
	return ids
}

// 展开/伸缩 *
function showb() {

	if (document.getElementById("imgtag") == null) {
		return;
	}
	if (document.getElementById("imgtag").src.indexOf("right") > -1) {
		document.getElementById("imgtag").src = "images/icon/icon_arrowleft.gif";
	} else {
		document.getElementById("imgtag").src = "images/icon/icon_arrowright.gif";
	}
	var size;
	if (document.getElementById("listsize") == null) {
		size = 0;
	} else {
		size = document.getElementById("listsize").value;
	}
	var p;
	if (size == null || size == "") {
		p = 0;
	} else {
		p = parseInt(size);
	}
	for (var i = 0; i < p; i++) {
		// a
		if (document.getElementById('a' + eval(i + 1)) != null) {
			if (document.getElementById('a' + eval(i + 1)).style.display == "none") {
				eval("document.getElementById('a'+eval(i+1)).style.display='block'");
				a.style.display = '';
			} else {
				eval("document.getElementById('a'+eval(i+1)).style.display='none'");
				a.style.display = 'none';
			}
		}

		// b
		if (document.getElementById('b' + eval(i + 1)) != null) {
			if (document.getElementById('b' + eval(i + 1)).style.display == "none") {
				eval("document.getElementById('b'+eval(i+1)).style.display='block'");
				b.style.display = '';
			} else {
				eval("document.getElementById('b'+eval(i+1)).style.display='none'");
				b.style.display = 'none';
			}
		}

		// c
		if (document.getElementById('c' + eval(i + 1)) != null) {
			if (document.getElementById('c' + eval(i + 1)).style.display == "none") {
				eval("document.getElementById('c'+eval(i+1)).style.display='block'");
				c.style.display = '';
			} else {
				eval("document.getElementById('c'+eval(i+1)).style.display='none'");
				c.style.display = 'none';
			}
		}

		// 以此类推,展开/伸缩 e,f,g等隐藏列

	}

}
// 订单相关默认公用的查询方法
function commonSearch(strAction) {
	var form = window.document.forms[0];
	form.action = strAction;
	form.submit();
}

// 检验PO日期
function commonSearch2(strAction) {
    var msg="";
    var form = window.document.forms[0]; 			
	  var voucherDateFrom=Trim(form.voucherDateFrom.value);
    var voucherDateTo=Trim(form.voucherDateTo.value);  		   
    if(!strDateTime(voucherDateFrom)){		          
		   msg+="请输入有效的PO开始日期!\n";			 
    }
   if(!strDateTime(voucherDateTo)){
	    msg+="请输入有效的PO结束日期!\n";			   
	 }		        
   if (savesubmit(msg) == true){ 		           
		if((voucherDateFrom!="")&& (voucherDateTo!="") && (voucherDateFrom > voucherDateTo))
          {
            alert("起始日期大于结束日期");
            return;
          }
		 form.action = strAction;
		 form.submit();
	 }
}
// 检验PO日期、送货日期
function checkVoucherAndShipDate( ) {
	  var msg="";
    var form = window.document.forms[0]; 			
	  var voucherDateFrom=Trim(form.voucherDateFrom.value);
    var voucherDateTo=Trim(form.voucherDateTo.value); 
    var shipDateFrom=Trim(form.shipDateFrom.value);
    var shipDateTo=Trim(form.shipDateTo.value);     		   
   if(!isDate2(voucherDateFrom)){	          
		   msg+="请输入有效的PO开始日期!\n";			 
    }
   if(!isDate2(voucherDateTo)){
	    msg+="请输入有效的PO结束日期!\n";			   
	 }
	  if(!isDate2(shipDateFrom)){		          
		   msg+="请输入有效的送货开始日期!\n";			 
    }
   if(!isDate2(shipDateTo)){
	    msg+="请输入有效的送货结束日期!\n";			   
	 }	         
	if((voucherDateFrom!="")&& (voucherDateTo!="") && (voucherDateFrom > voucherDateTo)){
      msg+="起始日期大于结束日期!\n";     		
	 }
	  if((shipDateFrom!="")&& (shipDateTo!="") && (shipDateFrom > shipDateTo))
          {
            alert("起始日期大于结束日期");
            return;
          }
	return msg;		
}

// 检验日期
function checkVoucherDate() {	
    var msg="";
    var form = window.document.forms[0]; 			
	  var voucherDateFrom=Trim(form.voucherDateFrom.value);
    var voucherDateTo=Trim(form.voucherDateTo.value);     		   
   if(!isDate2(voucherDateFrom)){	          
		   msg+="请输入有效的PO开始日期!\n";			 
    }
   if(!isDate2(voucherDateTo)){
	    msg+="请输入有效的PO结束日期!\n";			   
	 }            
	if((voucherDateFrom!="")&& (voucherDateTo!="") && (voucherDateFrom > voucherDateTo)){
      msg+="起始日期大于结束日期!\n";     		
	 }
	return msg;	 
}


// 检验日期2
function checkDate(voucherDateFrom,voucherDateTo) {	
    var msg="";
    
   if(!isDate2(voucherDateFrom)){	          
		   msg+="请输入格式为:YYYY-MM-DD的开始日期!\n";			 
    }
   if(!isDate2(voucherDateTo)){
	    msg+="请输入格式为:YYYY-MM-DD的结束日期!\n";			   
	 }            
	if((voucherDateFrom!="")&& (voucherDateTo!="") && isDate2(voucherDateFrom) && isDate2(voucherDateTo) && (voucherDateFrom > voucherDateTo)){
      msg+="起始日期大于结束日期!\n";     		
	 }
	return msg;	 
}


function isDate2(str){
 if(str==null || str=="") return true;   
 var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;
 if(!pattern.test(str))
 return false;
 var arrDate = str.split("-");
 if(parseInt(arrDate[0],10) < 100)
 arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
 var date =  new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
 if(date.getYear() == arrDate[0]
 && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
 && date.getDate() == arrDate[2])
 return true;
 else
 return false;
}

function isDate(v)
{	
  if(v==null || v=="") return true;     
  return (isDatePart(v));
}

//日期比较 如果第一个数大于 第二个数则为假，否则为真

function compareDate(dataOne,dataTwo){
        
        var strdt1=dataOne.replace("-","/");
            var strdt2=dataTwo.replace("-","/");            
            var dt1=new Date(Date.parse(strdt1));
            var dt2=new Date(Date.parse(strdt2));
    
        if(dt1>dt2)
        {
            return false;
        }   
      return true;  

}

function compareDate2(DateOne, DateTwo) {
	var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));
	var OneDay = DateOne
			.substring(DateOne.length, DateOne.lastIndexOf("-") + 1);
	var OneYear = DateOne.substring(0, DateOne.indexOf("-"));

	var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));
	var TwoDay = DateTwo
			.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1);
	var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-"));

	if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date
			.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) {
		return true;
	} else {
		return false;
	}
}

//日期格式
/***********************************************************************
* 判断一个字符串是否为合法的日期格式：YYYY-MM-DD
*/
function isDatePart(dateStr){
var parts;

if(dateStr.indexOf("-") > -1){
    parts = dateStr.split('-');
}else if(dateStr.indexOf("/") > -1){
    parts = dateStr.split('/');
}else{
    return false;
}

if(parts.length < 3){
//日期部分不允许缺少年、月、日中的任何一项
    return false;
}

for(i = 0 ;i < 3; i ++){
//如果构成日期的某个部分不是数字，则返回false
    if(isNaN(parts[i])){
      return false;
    }
}

y = parts[0];//年
m = parts[1];//月
d = parts[2];//日

if(y > 3000){
    return false;
}

if(m < 1 || m > 12){
    return false;
}

switch(d){
    case 29:
      if(m == 2){
      //如果是2月份
        if( (y / 100) * 100 == y && (y / 400) * 400 != y){
          //如果年份能被100整除但不能被400整除 (即闰年)
        }else{
          return false;
        }
      }
      break;
    case 30:
      if(m == 2){
      //2月没有30日
        return false;
      }
      break;
    case 31:
      if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
      //2、4、6、9、11月没有31日
        return false;
      }
      break;
    default:

}

return true;
}
function _isDate(aa){
	
	re=/^((((1[6-9]|[2-9]\d)\d{2})(\-|\/)(0?[13578]|1[02])(\-|\/)(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})(\-|\/)(0?[13456789]|1[012])(\-|\/)(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})(\-|\/)0?2(\-|\/)(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))(\-|\/)0?2-29(\-|\/)))$/g  
	
	if(aa.type=="text"&&aa.value!=""){
         var str = aa.value;
		 str=Trim(str);
		
			if(!re.test(str)){
			alert("请输入正确的日期!如:年-月-日或yyy/mm/dd")
			return false;
		}else{
			
			return true;
		}
	}else{
		return true;
	}
}

/**
  	*日期格式校验
  	*校验格式 如:2008-04-04
  	*/
	function strDateTime(str){
		var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
		var r = str.match(reg); 
		if(r==null)return true; 
		var d= new Date(r[1], r[3]-1,r[4]); 
		var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate();
		var dstr=r[1]+r[2]+parseInt(r[3],10)+r[2]+parseInt(r[4],10);
		return newStr==dstr
	}
	
		/**
	  	*日期格式校验
	  	*校验格式 如:2008-04
	  	*返回值:成功true,失败false
	  	*/
		function strDateTimeYM(str){
			var reg = /^(\d{1,4})(-)(\d{1,2})$/; 
			var r = str.match(reg); 
			if(r==null)return false; 
			//var txt="";
			//for(var i=0;i<r.length;i++){
			//txt+="r["+i+"]="+r[i]+"\n";
			//}
			
			var d= new Date(r[1], r[3]-1); 
			var newStr=d.getFullYear()+r[2]+(d.getMonth()+1);
			var dstr=r[1]+r[2]+parseInt(r[3],10);
//			alert(txt+"\n"
//			+"newStr:"+newStr+"\n"
//			+"dstr:"+dstr
//			);
			return newStr==dstr
		}
		
	//办理过程
	function showTrackRecordListWindow(serialNumber){
		var URL = "getTrackRecordListBySerialNumber.action?serialNumber=" + serialNumber;
		window.showModalDialog(URL,'',"dialogWidth=800px;dialogHeight=500px;status:no");
	}
	
	 function doubleTest(obj){
			var regu2="(^0$)|(^[1-9]{1,}[0-9]{0,}$)|(^0\.[0-9]{1}[0-9]{0,2}$)|(^[1-9]{1,}[0-9]{0,}\.[0-9]{1}[0-9]{0,2}$)";   
		    var re2 = new RegExp(regu2);    
		    if (!re2.test(obj.value)) { 
		    	alert("请输入数值,且只能输入3位小数!");
		      	obj.value="0"; 
		    }
		    ECSideUtil.updateEditCell(obj);
	 } 
	
	function zalert(value){
		alert(value);
	}
	
	/**
		*检查采购组或物料组是否合法
		*val 待检查输入项的值
		*roleIds 当前登陆用户所拥有的采购组集合
		*/
	    function checkGroupCode(val,roleIds){
	    	var msg="";
	    	//var roleIds="${requestScope.roleIds}";
	    	//alert("roleIds:"+${requestScope.roleIds});
	    	if(roleIds!=""){
				if(val!=""){
					var arr=val.split(';');
					for(var i=0;i<arr.length;i++){
						if(arr[i]!=""){
							if(roleIds.indexOf(arr[i])==-1){
								msg+=arr[i]+";";
							}
						}
					}
					if(msg!=""){
						msg="采购组:"+msg+" 不在当前用户操作范围 "+roleIds+"!";
					}
				}
			}
			else{
				msg="当前用户没有采购组操作权限,请联系系统管理员!"
			}
			return msg;
		}
		
		/**
		*检查物料组是否合法
		*val 待检查输入项的值
		*roleIds 当前登陆用户所拥有的采购组集合
		*/
	    function checkGroupCode2(val,roleIds){
	    	var msg="";
	    	//var roleIds="${requestScope.roleIds}";
	    	//alert("roleIds:"+${requestScope.roleIds});
	    	if(roleIds!=""){
				if(val!=""){
					var arr=val.split(';');
					for(var i=0;i<arr.length;i++){
						if(arr[i]!=""){
							if(roleIds.indexOf(arr[i])==-1){
								msg+=arr[i]+";";
							}
						}
					}
					if(msg!=""){
						msg="物料组:"+msg+" 不在当前用户操作范围 "+roleIds+"!";
					}
				}
			}
			else{
				msg="当前用户没有物料组操作权限,请联系系统管理员!"
			}
			return msg;
		}	
	
