
/*通过类型判断输入项*/
function isNullByType7_8(hash, form) {
	var formName = document.forms[form];
	var show_BL_Str = "";
	var t_validStrArr = "";
	var t_validDetailArr = "";
	var columnName = "";
	var t_nameStrArr = "";
	/*空的时候返回true*/
	var radioName;
	var inputName;
	var inputValue;
	var keyArr = hash.keys();
	var type2;
	var radioChecked = false;
	for (i = 0; i < keyArr.length; i = i + 1) {
		radioChecked = false;
		inputName = keyArr[i];
		/*radio*/
		radioName = document.forms[form][inputName];
		type2 = typeof radioName;
		if (type2 != "undefined" && inputName.substring(0, 19) == "frame_isRadio_save_") {
			t_validStrArr = radioName.getAttribute("vStr");
			columnName = radioName.value;
			t_nameStrArr = t_validStrArr.split(":");
			/*设置了名称信息*/
			if (t_nameStrArr.length == 2) {
				columnName = t_nameStrArr[0];
				t_validStrArr = t_nameStrArr[1];
			}
			t_validDetailArr = t_validStrArr.split("+");
			for (var k = 0; k < t_validDetailArr.length; k++) {
				/*必录信息的提示*/
				if (t_validDetailArr[k] == "BL") {
					var radioNames = document.forms[form][inputName.substring(19)];
					for (j = 0; j < radioNames.length; j = j + 1) {
						if (radioNames[j].checked) {
							radioChecked = true;
							break;
						}
					}
					if (!radioChecked) {
						show_BL_Str = show_BL_Str + "\n" + columnName;
						break;
					}
				}
			}
		}
		/*checkbox*/
		radioChecked = false;
		radioName = document.forms[form][inputName];
		type2 = typeof radioName;
		if (type2 != "undefined" && inputName.substring(0, 22) == "frame_isCheckbox_save_") {
			t_validStrArr = radioName.getAttribute("vStr");
			columnName = radioName.value;
			t_nameStrArr = t_validStrArr.split(":");
			/*设置了名称信息*/
			if (t_nameStrArr.length == 2) {
				columnName = t_nameStrArr[0];
				t_validStrArr = t_nameStrArr[1];
			}
			t_validDetailArr = t_validStrArr.split("+");
			for (var k = 0; k < t_validDetailArr.length; k++) {
				/*必录信息的提示*/
				if (t_validDetailArr[k] == "BL") {
					var radioNames = document.forms[form]["checkbox_" + inputName.substring(22)];
					for (j = 0; j < radioNames.length; j = j + 1) {
						if (radioNames[j].checked) {
							radioChecked = true;
							break;
						}
					}
					if (!radioChecked) {
						show_BL_Str = show_BL_Str + "\n" + columnName;
						break;
					}
				}
			}
		}
	}
	return show_BL_Str;
}
/*
检查录入的form表单是否按要求
*/
function validForm(form) {
	var numberErrMsg = "";
	var columnName = "";
	var t_Element = "";
	var t_validStrArr = "";
	var t_nameStrArr = "";
	var t_validDetailArr = "";
	var show_BL_Str = "";
	var show_L_str = "";
	var show_N_str = "";
	var show_F_str = "";
	var show_D_str = "";
	var show_M_str = "";//邮件校验
	var formName = document.forms[form];
	var inputHash = new Hash();
	for (i = 0; i < formName.elements.length; i++) {
		t_Element = formName.elements[i];
		/*如果此类型元素没设置vld属性，就会放弃*/
		if (t_Element.getAttribute("vStr") == undefined || isNull(t_Element.getAttribute("vStr")) || t_Element.getAttribute("vStr").length == 0) {
			continue;
		}
		t_validStrArr = t_Element.getAttribute("vStr");
		columnName = t_Element.name;
		t_nameStrArr = t_validStrArr.split(":");
		/*设置了名称信息*/
		if (t_nameStrArr.length == 2) {
			columnName = t_nameStrArr[0];
			t_validStrArr = t_nameStrArr[1];
		}
		
		/*如果是radio,checkbox的input类型时,不需要在循环中检查*/
		if (t_Element.name.substring(0, 22) == "frame_isCheckbox_save_" || t_Element.name.substring(0, 19) == "frame_isRadio_save_") {		
			inputHash.set(t_Element.name, columnName);
			continue;
		}
		//alert(j$("#"+t_Element.name).parents("td").parents("tr"));
		//j$("input[name='DZYX001']").parents("td").parents("tr").addClass("x-form-invalid");
		//j$("input[name='DZYX001']").parents("td").parents("tr").addClass("x-form-invalid_top");
		//j$("input[name="+t_Element.name+"]").parents("td").parents("tr").attr("border","1");
		//t_Element.className = "x-form-invalid";
		t_validDetailArr = t_validStrArr.split("+");		
		
				
		for (var j = 0; j < t_validDetailArr.length; j++) {
			/*必录信息的提示*/
			if (t_validDetailArr[j] == "BL" && isNull(t_Element.value)) {
				show_BL_Str = show_BL_Str + "\n" + columnName;
				
				continue;
			}
			if (t_validDetailArr[j].substr(0, 1) == "L") {
				var tmpA1 = new String();
				tmpA = t_validDetailArr[j];
				var bitL = bitLength(t_Element.value);
				var tmpAL = tmpA.length;
				var pos1 = tmpA.indexOf("[");
				var pos2 = tmpA.indexOf("-");
				var pos3 = tmpA.indexOf("]");
				var bitL1 = tmpA.substring(pos1 + 1, pos2);
				var bitL2 = tmpA.substring(pos2 + 1, pos3);
				if (bitL != 0) {
					if (isInt(bitL1) && isInt(bitL2)) {
						if (bitL < bitL1 || bitL > bitL2) {
							show_L_str = show_L_str + "\n" + columnName + "\uff08\u5b57\u6bcd\u6216\u6570\u5b57\u957f\u5ea6\u5e94\u5728" + bitL1 + "\u548c" + bitL2 + "\u4e4b\u95f4\uff0c\u6c49\u5b57\u957f\u5ea6\u5e94\u5728" + Math.floor(parseInt(bitL1) / 2) + "\u548c" + Math.floor(parseInt(bitL2) / 2) + "\u4e4b\u95f4\uff09";
						}
					}
				}
				continue;
			}
			if (t_validDetailArr[j] == "N" && !isNull(t_Element.value) && !isInt(t_Element.value)) {
				show_N_str = show_N_str + "\n" + columnName;
				continue;
			}
			if (t_validDetailArr[j].substr(0, 1) == "F") {
				var tmpA1 = new String();
				tmpA = t_validDetailArr[j];
				var bitL = bitLength(t_Element.value);
				var tmpAL = tmpA.length;
				var pos1 = tmpA.indexOf("[");
				var pos2 = tmpA.indexOf(".");
				var pos3 = tmpA.indexOf("]");
				var bitL1 = tmpA.substring(pos1 + 1, pos2);
				var bitL2 = tmpA.substring(pos2 + 1, pos3);
				if (bitL != 0) {
					if (isInt(bitL1) && isInt(bitL2)) {
						if (!checkFlaot(bitL1, bitL2, t_Element.value)) {
							show_F_str = show_F_str + "\n" + columnName;
						}
					}
				}
				continue;
			}
			if (t_validDetailArr[j] == "D" && !isNull(t_Element.value) && !isDate_all(t_Element.value)) {
				show_D_str = show_D_str + "\n" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "DM" && !isNull(t_Element.value) && !isDateM(t_Element.value)) {
				show_D_str = show_D_str + "\n" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "D_M" && !isNull(t_Element.value) && !isDate_M(t_Element.value)) {
				show_D_str = show_D_str + "\n" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "M" && !isNull(t_Element.value) && !isEmail(t_Element.value)) {
				show_M_str = show_M_str + "\n" + columnName;
				continue;
			}
		}
	}
	show_BL_Str = show_BL_Str + isNullByType7_8(inputHash, form);
	if (show_BL_Str.length > 0) {
		//以下必填项目需要补充完整
		window.alert("\u4ee5\u4e0b\u5fc5\u586b\u9879\u76ee\u9700\u8981\u8865\u5145\u5b8c\u6574\n" + show_BL_Str);
		return false;
	}
	if (show_L_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u5f55\u5165\u9879\u8d85\u8fc7\u4e86\u957f\u5ea6\u9650\u5236\n" + show_L_str);
		return false;
	}
	if (show_N_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u6570\u503c\u578b\u9879\u76ee\u5f55\u5165\u4e86\u975e\u6570\u5b57\n" + show_N_str);
		return false;
	}
	if (show_F_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u6d6e\u70b9\u578b\u6570\u636e\u5f55\u5165\u9519\u8bef\n" + show_F_str);
		return false;
	}
	if (show_D_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u65e5\u671f\u6570\u636e\u9879\u6709\u9519\u8bef\n" + show_D_str);
		return false;
	}
	if (show_M_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u90ae\u4ef6\u7c7b\u578b\u9879\u76ee\u5f55\u5165\u683c\u5f0f\u51fa\u9519\n" + show_M_str);
		return false;
	}
	//alert("调试");
	//return false;
	return true;
}
function validCheckbox(form) {
	var numberErrMsg = "";
	var columnName = "";
	var t_Element = "";
	var t_validStrArr = "";
	var t_nameStrArr = "";
	var t_validDetailArr = "";
	var show_BL_Str = "";
	var show_L_str = "";
	var show_N_str = "";
	var show_F_str = "";
	var show_D_str = "";
	var show_M_str = "";//邮件校验
	var formName = document.forms[form];
	/*行数*/
	var rowNumStr = "";
	for (i = 0; i < formName.elements.length; i++) {
		t_Element = formName.elements[i];
		/*如果此类型元素没设置vld属性，就会放弃*/
		if (isNull(t_Element.getAttribute("vStr")) || t_Element.getAttribute("vStr").length == 0) {
			continue;
		}
		/*如果未选中时，继续*/
		//alert(j$("form[name='"+form+"'] input[name='"+t_Element.name+"']").parents("tr").find("td:first").find("input").attr("checked"));
		if (!j$("form[name='"+form+"'] input[name='"+t_Element.name+"']").parents("tr").find("td:first").find("input:first").attr("checked")) {
			continue;
		}
		rowNumStr = (t_Element.name.split("_")[1]) * 1 + 1;
		t_validStrArr = t_Element.getAttribute("vStr");
		columnName = t_Element.name;
		t_nameStrArr = t_validStrArr.split(":");
		/*设置了名称信息*/
		if (t_nameStrArr.length == 2) {
			columnName = t_nameStrArr[0];
			t_validStrArr = t_nameStrArr[1];
		}
		t_validDetailArr = t_validStrArr.split("+");
		for (var j = 0; j < t_validDetailArr.length; j++) {
			/*必录信息的提示*/
			if (t_validDetailArr[j] == "BL" && isNull(t_Element.value)) {
				show_BL_Str = show_BL_Str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
				continue;
			}
			if (t_validDetailArr[j].substr(0, 1) == "L") {
				var tmpA1 = new String();
				tmpA = t_validDetailArr[j];
				var bitL = bitLength(t_Element.value);
				var tmpAL = tmpA.length;
				var pos1 = tmpA.indexOf("[");
				var pos2 = tmpA.indexOf("-");
				var pos3 = tmpA.indexOf("]");
				var bitL1 = tmpA.substring(pos1 + 1, pos2);
				var bitL2 = tmpA.substring(pos2 + 1, pos3);
				if (bitL != 0) {
					if (isInt(bitL1) && isInt(bitL2)) {
						if (bitL < bitL1 || bitL > bitL2) {
							show_L_str = show_L_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName + "\uff08\u5b57\u6bcd\u6216\u6570\u5b57\u957f\u5ea6\u5e94\u5728" + bitL1 + "\u548c" + bitL2 + "\u4e4b\u95f4\uff0c\u6c49\u5b57\u957f\u5ea6\u5e94\u5728" + Math.floor(parseInt(bitL1) / 2) + "\u548c" + Math.floor(parseInt(bitL2) / 2) + "\u4e4b\u95f4\uff09";
						}
					}
				}
				continue;
			}
			if (t_validDetailArr[j] == "N" && !isNull(t_Element.value) && !isInt(t_Element.value)) {
				show_N_str = show_N_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
				continue;
			}
			if (t_validDetailArr[j].substr(0, 1) == "F") {
				var tmpA1 = new String();
				tmpA = t_validDetailArr[j];
				var bitL = bitLength(t_Element.value);
				var tmpAL = tmpA.length;
				var pos1 = tmpA.indexOf("[");
				var pos2 = tmpA.indexOf(".");
				var pos3 = tmpA.indexOf("]");
				var bitL1 = tmpA.substring(pos1 + 1, pos2);
				var bitL2 = tmpA.substring(pos2 + 1, pos3);
				if (bitL != 0) {
					if (isInt(bitL1) && isInt(bitL2)) {
						if (!checkFlaot(bitL1, bitL2, t_Element.value)) {
							show_F_str = show_F_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
						}
					}
				}
				continue;
			}
			if (t_validDetailArr[j] == "D" && !isNull(t_Element.value) && !isDate_all(t_Element.value)) {
				show_D_str = show_D_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "DM" && !isNull(t_Element.value) && !isDateM(t_Element.value)) {
				show_D_str = show_D_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "D_M" && !isNull(t_Element.value) && !isDate_M(t_Element.value)) {
				show_D_str = show_D_str + "\n\u9009\u5b9a\u7684\u7b2c" + (rowNumStr) + "\u884c\uff1a" + columnName;
				continue;
			}
			if (t_validDetailArr[j] == "M" && !isNull(t_Element.value) && !isEmail(t_Element.value)) {
				show_M_str = show_M_str + "\n" + columnName;
				continue;
			}
		}
	}
	if (show_BL_Str.length > 0) {
		//以下必填项目需要补充完整
		window.alert("\u4ee5\u4e0b\u5fc5\u586b\u9879\u76ee\u9700\u8981\u8865\u5145\u5b8c\u6574\n" + show_BL_Str);
		return false;
	}
	if (show_L_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u5f55\u5165\u9879\u8d85\u8fc7\u4e86\u957f\u5ea6\u9650\u5236\n" + show_L_str);
		return false;
	}
	if (show_N_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u6570\u503c\u578b\u9879\u76ee\u5f55\u5165\u4e86\u975e\u6570\u5b57\n" + show_N_str);
		return false;
	}
	if (show_F_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u6d6e\u70b9\u578b\u6570\u636e\u5f55\u5165\u9519\u8bef\n" + show_F_str);
		return false;
	}
	if (show_D_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u65e5\u671f\u6570\u636e\u9879\u6709\u9519\u8bef\n" + show_D_str);
		return false;
	}
	if (show_M_str.length > 0) {
		window.alert("\u4ee5\u4e0b\u90ae\u4ef6\u7c7b\u578b\u9879\u76ee\u5f55\u5165\u683c\u5f0f\u51fa\u9519\n" + show_M_str);
		return false;
	}
	return true;
}
/*
校验多个checkbox批量保存
*/
function validFormBatch(form) {
	var formName = document.forms[form];
	var hasSelected = false;
	var checkboxObj = $(formName).getInputs("checkbox");
	for (var i = 0; i < checkboxObj.length; i++) {
		if (checkboxObj[i].checked) {
			return validCheckbox(form);
		}
	}
	if (!hasSelected) {
		//您没有选择任何需要保存的记录!
		alert("\u60a8\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u9700\u8981\u4fdd\u5b58\u7684\u8bb0\u5f55!");
		return false;
	}
	return false;
	if (formName.checkbox == undefined) {
		//您没有选择任何需要保存的记录!
		alert("\u60a8\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u9700\u8981\u4fdd\u5b58\u7684\u8bb0\u5f55!");
		return false;
	}
	if (formName.checkbox.length == undefined) {
		if (formName.checkbox.checked) {
			return validForm(form);
		}
	} else {
		for (i = 0; i < formName.checkbox.length; i++) {
			if (formName.checkbox[i].checked) {
				hasSelected = true;
			}
		}
	}
	if (!hasSelected) {
		//您没有选择任何需要保存的记录!
		alert("\u60a8\u6ca1\u6709\u9009\u62e9\u4efb\u4f55\u9700\u8981\u4fdd\u5b58\u7684\u8bb0\u5f55!");
		return false;
	}
	return validCheckbox(form);
}

