﻿//验证方法
Validate = function(funcStr) 
{
	if(funcStr.substr(funcStr.length-1,1) == ";"){
		funcStr = funcStr.substring(0,funcStr.length-1)
	}
	var arrFuncs = funcStr.split(";");
	//alert(arrFuncs);
	var isOk = true;
	for(var i=0;i<arrFuncs.length;i++){
		if(isOk){
			isOk = eval(arrFuncs[i]);
		}else{
			break;
		}
	}
	return isOk;
}

//文本框验证
ValidateTextBoxByName = function(ValidateTextBoxName,ValidateType,RegexString,ValidateMsg,ErrBgColor,BgColorOri,maxLength,minLength,maxNumber,minNumber){
	if(!ValidateType){
		ValidateType = "None";
	}
	var IsValid_E = true;
	var IsNumber = false;
	var strMsg_E = "";
	var arrOTextBox_E = document.getElementsByName(ValidateTextBoxName);
	if(ValidateMsg && ValidateMsg != "")
		strMsg_E += "● " + ValidateMsg + "\n";
	
	for(var i=0;i<arrOTextBox_E.length;i++){
		var oTextBox_E = arrOTextBox_E[i];
		strTest_E = oTextBox_E.value.replace(/(^\s*)|(\s*$)/g, "");
		switch(ValidateType){
			case "None":
				break;
			case "NotEmpty":
				if(strTest_E.replace(/[^\x00-\xff]/g,"aa").length == 0){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 此项必填，不能为空！\n";
				}
				break;
			case "Date":
				var regExp_E = new RegExp("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 请输入【2006-03-05】格式的日期！\n";
				}
				break;
			case "Email":
				var regExp_E = new RegExp("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 请输入正确的电子信箱！\n";
				}
				break;
			case "Integer":
				var regExp_E = new RegExp("^-?\\d+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入整数！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "PositiveInteger":
				var regExp_E = new RegExp("^[0-9]*[1-9][0-9]*$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入正整数！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "PositiveIntegerAndZero":
				var regExp_E = new RegExp("^\\d+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入非负整数（正整数或零）！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "Decimal":
				var regExp_E = new RegExp("^(-?\\d+)(\\.\\d+)?$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入浮点数（小数）！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "PositiveDecimal":
				var regExp_E = new RegExp("^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入正浮点数（正小数）！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "PositiveDecimalAndZero":
				var regExp_E = new RegExp("^\\d+(\\.\\d+)?$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入非负数（正数或零）！\n";
				}else{
					IsNumber = true;
				}
				break;
			case "Char":
				var regExp_E = new RegExp("^[A-Za-z]+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入由26个英文字母组成的字符串！\n";
				}
				break;
			case "UpperChar":
				var regExp_E = new RegExp("^[A-Z]+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入由26个大写英文字母组成的字符串！\n";
				}
				break;
			case "LowerChar":
				var regExp_E = new RegExp("^[a-z]+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入由26个小写英文字母组成的字符串！\n";
				}
				break;
			case "IntegerAndChar":
				var regExp_E = new RegExp("^[A-Za-z0-9]+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入由数字和26个英文字母组成的字符串！\n";
				}
				break;
			case "IntegerAndCharAnd_":
				var regExp_E = new RegExp("^\\w+$");
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 只能输入由数字、26个英文字母或下划线组成的字符串！\n";
				}
				break;
			case "Custom":
				var regExp_E = new RegExp(RegexString);
				if(!regExp_E.test(strTest_E)){
					IsValid_E = false;
					if(strMsg_E == "")
						strMsg_E += "● 您的输入不符合规则！\n";
				}
				break;
			default:
				break;
		}
		if(minLength && minLength != 0 && strTest_E.replace(/[^\x00-\xff]/g,"aa").length<minLength){
			IsValid_E = false;
			strMsg_E += "● 输入内容不得少于【" + minLength + "】个字符(一个汉字算两个字符)！\n";
		}
		if(maxLength && maxLength != 0 && strTest_E.replace(/[^\x00-\xff]/g,"cc").length>maxLength){
			IsValid_E = false;
			strMsg_E += "● 输入内容不得多于【" + maxLength + "】个字符(一个汉字算两个字符)！\n";
		}
		var doubleValue = parseFloat(strTest_E);
		if(IsNumber && !isNaN(doubleValue)){
			if(maxNumber && doubleValue > maxNumber){
				IsValid_E = false;
				strMsg_E += "● 输入的数字不能大于【" + maxNumber + "】！\n";
			}
			if(minNumber && doubleValue < minNumber){
				IsValid_E = false;
				strMsg_E += "● 输入的数字不能小于【" + minNumber + "】！\n";
			}
		}
		if(!IsValid_E)
			break;
		else
			if(BgColorOri || BgColorOri == "")
				oTextBox_E.style.backgroundColor = BgColorOri;
	}
	
	if(!IsValid_E){
		alert(strMsg_E);
		oTextBox_E.focus();
		oTextBox_E.select();
		if(ErrBgColor && ErrBgColor != "")
			oTextBox_E.style.backgroundColor = ErrBgColor;
	}
	return IsValid_E;
}

//文本框验证ValidateTextBoxById = function(ValidateTextBoxId,ValidateType,RegexString,ValidateMsg,ErrBgColor,BgColorOri,maxLength,minLength,maxNumber,minNumber){
	if(!ValidateType){
		ValidateType = "None";
	}
	var IsValid_E = true;
	var IsNumber = false;
	var strMsg_E = "";
	var oTextBox_E = document.getElementById(ValidateTextBoxId);
	strTest_E = oTextBox_E.value.replace(/(^\s*)|(\s*$)/g, "");
	if(ValidateMsg && ValidateMsg != "")
		strMsg_E += "● " + ValidateMsg + "\n";
	
	switch(ValidateType){
		case "None":
			break;
		case "NotEmpty":
			if(strTest_E.replace(/[^\x00-\xff]/g,"aa").length == 0){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 此项必填，不能为空！\n";
			}
			break;
		case "Date":
			var regExp_E = new RegExp("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 请输入【2006-03-05】格式的日期！\n";
			}
			break;
		case "Email":
			var regExp_E = new RegExp("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 请输入正确的电子信箱！\n";
			}
			break;
		case "Integer":
			var regExp_E = new RegExp("^-?\\d+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入整数！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "PositiveInteger":
			var regExp_E = new RegExp("^[0-9]*[1-9][0-9]*$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入正整数！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "PositiveIntegerAndZero":
			var regExp_E = new RegExp("^\\d+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入非负整数（正整数或零）！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "Decimal":
			var regExp_E = new RegExp("^(-?\\d+)(\\.\\d+)?$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入浮点数（小数）！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "PositiveDecimal":
			var regExp_E = new RegExp("^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入正浮点数（正小数）！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "PositiveDecimalAndZero":
			var regExp_E = new RegExp("^\\d+(\\.\\d+)?$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入非负数（正数或零）！\n";
			}else{
				IsNumber = true;
			}
			break;
		case "Char":
			var regExp_E = new RegExp("^[A-Za-z]+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入由26个英文字母组成的字符串！\n";
			}
			break;
		case "UpperChar":
			var regExp_E = new RegExp("^[A-Z]+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入由26个大写英文字母组成的字符串！\n";
			}
			break;
		case "LowerChar":
			var regExp_E = new RegExp("^[a-z]+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入由26个小写英文字母组成的字符串！\n";
			}
			break;
		case "IntegerAndChar":
			var regExp_E = new RegExp("^[A-Za-z0-9]+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入由数字和26个英文字母组成的字符串！\n";
			}
			break;
		case "IntegerAndCharAnd_":
			var regExp_E = new RegExp("^\\w+$");
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 只能输入由数字、26个英文字母或下划线组成的字符串！\n";
			}
			break;
		case "Custom":
			var regExp_E = new RegExp(RegexString);
			if(!regExp_E.test(strTest_E)){
				IsValid_E = false;
				if(strMsg_E == "")
					strMsg_E += "● 您的输入不符合规则！\n";
			}
			break;
		default:
			break;
	}
	if(minLength && minLength != 0 && strTest_E.replace(/[^\x00-\xff]/g,"aa").length<minLength){
		IsValid_E = false;
		strMsg_E += "● 输入内容不得少于【" + minLength + "】个字符(一个汉字算两个字符)！\n";
	}
	if(maxLength && maxLength != 0 && strTest_E.replace(/[^\x00-\xff]/g,"cc").length>maxLength){
		IsValid_E = false;
		strMsg_E += "● 输入内容不得多于【" + maxLength + "】个字符(一个汉字算两个字符)！\n";
	}
	var doubleValue = parseFloat(strTest_E);
	if(IsNumber && !isNaN(doubleValue)){
		if(maxNumber && doubleValue > maxNumber){
			IsValid_E = false;
			strMsg_E += "● 输入的数字不能大于【" + maxNumber + "】！\n";
		}
		if(minNumber && doubleValue < minNumber){
			IsValid_E = false;
			strMsg_E += "● 输入的数字不能小于【" + minNumber + "】！\n";
		}
	}
	if(!IsValid_E){
		alert(strMsg_E);
		oTextBox_E.focus();
		oTextBox_E.select();
		if(ErrBgColor && ErrBgColor != "")
			oTextBox_E.style.backgroundColor = ErrBgColor;
	}else{
		if(BgColorOri || BgColorOri == "")
			oTextBox_E.style.backgroundColor = BgColorOri;
	}
	return IsValid_E;
}

//复选框验证
ValidateCheckBoxByName = function(ValidateCheckBoxName,ValidateMsg,ErrBgColor,BgColorOri){
	var IsValid_E = false;
	var strMsg_E = "";
	var arrOCheckBox = document.getElementsByName(ValidateCheckBoxName);
	
	for(var i=0;i<arrOCheckBox.length;i++){
		var oCheckBox_E = arrOCheckBox[i];
		if(oCheckBox_E && oCheckBox_E.checked){
			IsValid_E = true;
			break;
		}
	}
	
	if(!IsValid_E){
		strMsg_E += "● " + ValidateMsg + "\n";
		alert(strMsg_E);
		if(ErrBgColor && ErrBgColor != ""){
			for(var i=0;i<arrOCheckBox.length;i++){
				arrOCheckBox[i].focus();
				arrOCheckBox[i].style.backgroundColor = ErrBgColor;
			}
		}
	}else{
		if(BgColorOri || BgColorOri == ""){
			for(var i=0;i<arrOCheckBox.length;i++){
				arrOCheckBox[i].focus();
				arrOCheckBox[i].style.backgroundColor = BgColorOri;
			}
		}
	}
	return IsValid_E;
}

//复选框验证
ValidateCheckBoxById = function(ValidateCheckBoxIdList,ValidateMsg,ErrBgColor,BgColorOri){
	var IsValid_E = false;
	var strMsg_E = "";
	if(ValidateCheckBoxIdList.substr(ValidateCheckBoxIdList.length-1,1) == ";"){
		ValidateCheckBoxIdList = ValidateCheckBoxIdList.substring(0,ValidateCheckBoxIdList.length-1)
	}
	var arrCheckBoxId = ValidateCheckBoxIdList.split(",");
	var arrOCheckBox = new Array();
	for(var i=0;i<arrCheckBoxId.length;i++){
		var oCheckBox_E = document.getElementById(arrCheckBoxId[i]);
		if(oCheckBox_E)
			arrOCheckBox.push(oCheckBox_E);
	}
	
	for(var i=0;i<arrOCheckBox.length;i++){
		if(arrOCheckBox[i].checked){
			IsValid_E = true;
			break;
		}
	}
	
	if(!IsValid_E){
		strMsg_E += "● " + ValidateMsg + "\n";
		alert(strMsg_E);
		if(ErrBgColor && ErrBgColor != ""){
			for(var i=0;i<arrOCheckBox.length;i++){
				arrOCheckBox[i].focus();
				arrOCheckBox[i].style.backgroundColor = ErrBgColor;
			}
		}
	}else{
		if(BgColorOri || BgColorOri == ""){
			for(var i=0;i<arrOCheckBox.length;i++){
				arrOCheckBox[i].focus();
				arrOCheckBox[i].style.backgroundColor = BgColorOri;
			}
		}
	}
	return IsValid_E;
}


//******************************************************************************************************
//* 显示提示
//******************************************************************************************************
function showTip(msg)
{
	var locX,locY;
	var cursorH = 20;
	
	if(!window.TipLayer){
		var oDiv = document.createElement("div");
		var oTable = document.createElement("TABLE");
		var oRow = oTable.insertRow(-1);
		var oCell = oRow.insertCell(-1);
		oDiv.MsgCell = oCell;
		oDiv.appendChild(oTable);
		document.body.appendChild(oDiv);
		window.TipLayer = oDiv;
		
		oDiv.style.display = "none";
		oDiv.style.position = "absolute";
		oDiv.style.zIndex = 9999;
		oTable.style.borderStyle = "solid";
		oTable.style.borderWidth = "1px";
		oTable.style.borderColor = "#000000";
		oTable.bgColor = "#ffffe1";
	}
	
	mouseX = window.event.x;
	mouseY = window.event.y;
	
	window.TipLayer.MsgCell.innerHTML = msg;
	window.TipLayer.style.display = "block";
	
	bodyW = document.body.clientWidth;
	bodyH = document.body.clientHeight;
	scrollL = document.body.scrollLeft
	scrollT = document.body.scrollTop;
	layerW = window.TipLayer.clientWidth;
	layerH = window.TipLayer.clientHeight;
	
	if(mouseX < bodyW - layerW){
		locX = mouseX + scrollL;
	}else{
		locX = mouseX + scrollL - layerW;
	}
	if(mouseY < bodyH - layerH - cursorH){
		locY = mouseY + scrollT + cursorH;
	}else{
		locY = mouseY + scrollT - layerH;
	}
	
	window.TipLayer.style.top = locY;
	window.TipLayer.style.left = locX;
}

function hideTip()
{
	if(window.TipLayer){
		window.TipLayer.style.display = "none";
	}
}

//******************************************************************************************************
//* 增加一个名为 trim 的函数作为 String 构造函数的原型对象的一个方法。

//******************************************************************************************************
String.prototype.trim = function()
{
    // 用正则表达式将前后空格用空字符串替代。    return this.replace(/(^\s*)|(\s*$)/g, "");
}

/*
// =========================================================================================================
// 缩小窗口高度到内容的高度
// =========================================================================================================
function fitWin(objId){
	obj = eval("document.all." + objId);
	if(obj){
		bodyH = document.body.offsetHeight;
		contentH = obj.offsetHeight
		if(bodyH > contentH)
			window.resizeBy(0,contentH-bodyH);
	}
}
*/

// =========================================================================================================
// 缩小窗口高度到内容的高度
// =========================================================================================================
function wrapWindow(marginTop,marginBottom){
	var bodyHeight;
	//if marginTop or marginBottom is not exist then set to 0
	if(!marginTop)
		marginTop = 0;
	if(!marginBottom)
		marginBottom = 0;
	//set form margin to zero
	var arrForm = document.getElementsByTagName("FORM");
	for(var i=0;i<arrForm.length;i++){
		arrForm[i].style.marginTop = "0px";
		arrForm[i].style.marginBottom = "0px";
	}

	//get body height
	if(document.body.createTextRange){
		var oAdjust = document.createElement("input");
		oAdjust.setAttribute("type","hidden");
		document.body.appendChild(oAdjust);
		var oTextRange = document.body.createTextRange();
		bodyHeight = oTextRange.boundingHeight;
	}else{
		//bodyHeight = window.innerHeight;
		bodyHeight = document.body.offsetHeight;
	}
	//get offsetY
	var offsetY = bodyHeight - document.body.clientHeight + marginTop + marginBottom;
	if(offsetY < 0){
		window.resizeBy(0,offsetY);
	}
}

/*
// =========================================================================================================
// 适合内容到指定容器// =========================================================================================================
function FitArea(trHeaderId,divContentId){
	var objHeader = eval("document.all." + trHeaderId);
	var objDiv = eval("document.all." + divContentId);
	
	if(objHeader && objDiv){
		var html = "";
		html += "<table topMargin=\"0\" bottomMargin=\"0\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\"";
		html += "	align=\"center\">";
		html += "	<tr>";
		html += "		<td style=\"display:none\"></td>";
		html += "	</tr>";
		html += "</table>";
		objDiv.insertAdjacentHTML("beforeEnd",html);
		
		//如果可见区域宽度大于卷滚条的宽度(即有卷滚条)，则将表头表格插入一个与卷滚条宽度相同的单元格
		if(objDiv.offsetWidth > objDiv.scrollWidth){
			newCell = objHeader.insertCell();
			newCell.style.width = objDiv.offsetWidth - objDiv.scrollWidth - 4;
			newCell.innerHTML = "&nbsp;"
		}
		//如果可见区域高度大于卷滚条的高度，则缩小高度以适应可见区域高度
		if(objDiv.offsetHeight > objDiv.scrollHeight){
			objDiv.style.height = objDiv.scrollHeight;
		}
	}
}
*/

/*
// =========================================================================================================
// 控制另一对象内容的显示与不显示的切换
// =========================================================================================================
function SetMaxMin(objId){
	objSrc = event.srcElement;
	obj = eval("document.all." + objId);
	if(obj){
		if(obj.style.display == "none"){
			obj.style.display = "block";
			objSrc.innerHTML = "5";
			//objSrc.scrollIntoView(true);
		}
		else{
			obj.style.display = "none";
			objSrc.innerHTML = "6";
			//objSrc.scrollIntoView(false);
		}
	}
}
// =========================================================================================================
// 控制同一个表的内容的显示与不显示的切换
// =========================================================================================================
function SetMaxMin2(){
	obj = event.srcElement;
	objTable = GetTableObj(obj);

	for(i=0;i<objTable.rows.length;i++){
		if(!objTable.rows[i].contains(obj) && objTable.rows[i].style.display != "none"){
			objTable.rows[i].style.display = "none";
			obj.innerHTML = "6";
		}else{
			objTable.rows[i].style.display = "block";
			obj.innerHTML = "5";
		}
	}
}
*/
// =========================================================================================================
// 得到指定元素所在的表对象
// =========================================================================================================
function GetTableObj(obj){
	var oTable = obj;
	while(oTable.tagName.toUpperCase() != "TABLE"){
		oTable = oTable.offsetParent;
	}
	return oTable;
}
/*
// =========================================================================================================
// 根据指定ID得到元素所在的表对象// =========================================================================================================
function GetTableObjById(objId){
	var oTable = document.getElementById(objId);
	while(oTable.tagName.toUpperCase() != "TABLE"){
		oTable = oTable.offsetParent;
	}
	return oTable;
}
*/
// =========================================================================================================
// 得到指定元素所在的行对象// =========================================================================================================
function GetTableRowObj(obj){
	var oTr = obj;
	while(oTr.tagName.toUpperCase() != "TR"){
		oTr = oTr.parentNode;
	}
	return oTr;
}

// =========================================================================================================
// 打开窗口
// ==========================================================================================================
function popWin(theURL,winName,theW,theH,showAsModal) {
	var theTop = (window.screen.availHeight-theH)/2;
	var theLeft = (window.screen.availWidth-theW)/2;
	var features = "toolbar=0,scrollbars=yes,resizable=yes,left=" + theLeft + ",top=" + theTop + ",width=" + theW + ",height=" + theH;
	theURL = encodeURI(theURL);
	
	window.SubWin = window.open(theURL,winName,features);
	window.SubWin.focus();
	
	if(showAsModal){
		window.CtrlsDisabled = new Array();
		DisableCtrls("INPUT;SELECT;TEXTAREA;BUTTON");
	}

	function DisableCtrls(tagNameStr){
		var arrTags = tagNameStr.split(";");
		for(var i=0;i<arrTags.length;i++){
			var arrEle = document.getElementsByTagName(arrTags[i]);
			PushToCtrlsDisabled(arrEle);
		}

		for(var i=0;i<window.CtrlsDisabled.length;i++){
			window.CtrlsDisabled[i].disabled = true;
			window.CtrlsDisabled[i].readOnly = true;
		}
	}

	function PushToCtrlsDisabled(arrEle){
		for(var i=0;i<arrEle.length;i++){
			if(!arrEle[i].disabled && !arrEle[i].readOnly){
				window.CtrlsDisabled.push(arrEle[i]);
			}
		}
	}
	
	window.onfocus = function(){
		if(window.SubWin && showAsModal){
			if(window.SubWin.closed == true || typeof(window.SubWin.closed) == "undefined"){
				for(var i=0;i<window.CtrlsDisabled.length;i++){
					window.CtrlsDisabled[i].disabled = false;
					window.CtrlsDisabled[i].readOnly = false;
				}
			}else{
				window.SubWin.focus();
			}
		}
	}
}

/*
function popFullWin(theURL,winName) 
{
	//var theW = window.screen.availWidth - 10;
	//var theH = window.screen.availHeight - 28;
	//var features = "resizable=no,toolbar=0,scrollbars=yes,left=0,top=0,width=" + theW + ",height=" + theH;
	//window.open(theURL,winName,features);
	
	var theW = window.screen.availWidth - 4;
	var theH = window.screen.availHeight - 43;
	var features = "menubar=no,titlebar=yes,directories=no,resizable=no,fullscreen=no,toolbar=no,scrollbars=yes,status=yes,left=0,top=0,width=" + theW + ",height=" + theH;
	var nw = window.open(theURL,winName,features);
	nw.moveTo(-4,-4);
	
}

function showModal(url,width,height){
	var winStyle = "border=thin;center=1;dialogWidth=" + width + "px;dialogHeight=" + height + "px;maximize=0;minmize=0;help=0;status=0;scroll=0;unadorned=1;";
	var winObj = window.showModalDialog(url,"winName",winStyle)
}

function showModeless(url,width,height){
	var winStyle = "border=thin;center=1;dialogWidth=" + width + "px;dialogHeight=" + height + "px;maximize=0;minmize=0;help=0;status=0;scroll=0;unadorned=1;";
	var winObj = window.showModelessDialog("dialog.htm","winName",winStyle)
}

function showModeless2(){
	var winStyle = "border=thin;center=1;dialogWidth=200px;dialogHeight=200px;dialogTop=0px;dialogLeft=0px;maximize=0;minmize=0;help=0;status=0;scroll=0;unadorned=1;";
	var winObj = window.showModelessDialog("dialog.htm","winName",winStyle)
}
*/

/*
function ChkEmptyAndChkNum(strName,strDesc,strLimit){
	var isOk = false;
	isOk = ChkEmpty(strName,strDesc);
	if(isOk)
		isOk = ChkCharNumArr(strName,strDesc,strLimit);
	event.returnValue = isOk;
	return isOk;
}
*/
/*
//检查字数function ChkMinCharNum(objName,numLimit)
{
	var obj = eval("document.all." + objName);
	var strValue = obj.value.trim();
	strValue = strValue.replace(/[^\x00-\xff]/g,'**');
	len = strValue.length/2;
	
	if (len<numLimit*2){
		alert('您应输入不少于' + numLimit + '个汉字，已输入了' + len + '个汉字！');
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
	}
	return true;
}
*/
/*
//检查字数function ChkCharNumArr(strName,strDesc,strLimit)
{
	var blnContinue = true;
	var arrName = strName.split("&&&");
	var arrDesc = strDesc.split("&&&");
	var arrNumLimit = strLimit.split("&&&");
	
	for(i=0;i<arrName.length;i++){
		obj = eval("document.all." + arrName[i]);
		strValue = obj.value.trim();
		strValue = strValue.replace(/[^\x00-\xff]/g,'**');
		len = strValue.length/2;
		//alert(arrDesc[i] + " - " + len);
		
		if (len > arrNumLimit[i]){
			alert("您在〖" + arrDesc[i] + "〗里输入了" + len + "个汉字(每两个英文字符算一个汉字)，\n\n\t\t最多只能输入" + arrNumLimit[i] + "个汉字！");
			//blnContinue = false
			obj.focus();
			obj.select();
			event.returnValue = false;
			return false;
			break;
		}
	}
	//if(!blnContinue)
	//	event.returnValue = false;
	return true;
}

function ChkCharNum(objName,numLimit)
{
	var obj = eval("document.all." + objName);
	var strValue = obj.value.trim();
	strValue = strValue.replace(/[^\x00-\xff]/g,'**');
	len = strValue.length/2;
	
	if (len > numLimit){
		alert('您输入了' + len + '个汉字(每两个英文字符算一个汉字)，\n\n\t最多只能输入' + numLimit + '个汉字！');
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
	}
	return true;
}
*/

/*
//******************************************************************************************************
//* 输入是否为空判断函数
//* 如果只对单个对象进行检查，调用方法为 checkEmpty("FieldId","AlertMsg")
//* 如果要对多个对象进行检查，调用方法为 checkEmpty("FieldId1&&&FieldId2","AlertMsg1&&&AlertMsg2")
//******************************************************************************************************
function ChkEmpty(strName,strDesc){
	var arrName = strName.split("&&&");
	var arrDesc = strDesc.split("&&&");
	
	for(i=0;i<arrName.length;i++){
		var obj = eval("document.all." + arrName[i]);
		var strValue;

		if(obj.length == null){
			strValue = obj.value.trim();
			if(strValue == ""){
				alert("〖" + arrDesc[i] + "〗" + "不能为空！");
				obj.focus();
				obj.select();
				//return false;
				event.returnValue = false;
				return false;
				break;
			}
		}else{
			for(j=0;j<obj.length;j++){
				strValue = obj[j].value.trim();
				if(strValue == ""){
					alert("〖" + arrDesc[i] + "〗" + "不能为空！");
					obj[j].focus();
					obj[j].select();
					//return false;
					event.returnValue = false;
					return false;
					break;
				}
			}
		}
	}
	return true;
}
*/

//******************************************************************************************************
//* 输入是否为数字判断函数
//* 如果只对单个对象进行检查，调用方法为 checkEmpty("FieldId","AlertMsg")
//* 如果要对多个对象进行检查，调用方法为 checkEmpty("FieldId1&&&FieldId2","AlertMsg1&&&AlertMsg2")
//******************************************************************************************************
function ChkNumber(strName,strDesc){
	var arrName = strName.split("&&&");
	var arrDesc = strDesc.split("&&&");
	
	for(i=0;i<arrName.length;i++){
		var obj = eval("document.all." + arrName[i]);
		var strValue;

		if(obj.length == null){
			strValue = obj.value.trim();
			if (isNaN(strValue) || (strValue.length == 0)){
				alert("〖" + arrDesc[i] + "〗" + "必须是数值型数据！");
				obj.focus();
				obj.select();
				//return false;
				event.returnValue = false;
				return false;
				break;
			}
		}else{
			for(j=0;j<obj.length;j++){
				strValue = obj[j].value.trim();
				if (isNaN(strValue) || (strValue.length == 0)){
					alert("〖" + arrDesc[i] + "〗" + "必须是数值型数据！");
					obj[j].focus();
					obj[j].select();
					//return false;
					event.returnValue = false;
					return false;
					break;
				}
			}
		}
	}
	return true;
}
/*
//******************************************************************************************************
//* 输入是否为正整数判断函数
//* 如果只对单个对象进行检查，调用方法为 checkEmpty("FieldId","AlertMsg")
//* 如果要对多个对象进行检查，调用方法为 checkEmpty("FieldId1&&&FieldId2","AlertMsg1&&&AlertMsg2")
//******************************************************************************************************
function ChkPositiveInt(strName,strDesc){
	var arrName = strName.split("&&&");
	var arrDesc = strDesc.split("&&&");
	
	for(i=0;i<arrName.length;i++){
		var obj = eval("document.all." + arrName[i]);
		var strValue;

		if(obj.length == null){
			strValue = obj.value.trim();
			if (!IsPositiveInt(strValue)){
				alert("〖" + arrDesc[i] + "〗" + "必须是正整数！");
				obj.focus();
				obj.select();
				//return false;
				event.returnValue = false;
				return false;
				break;
			}
		}else{
			for(j=0;j<obj.length;j++){
				strValue = obj[j].value.trim();
				if (!IsPositiveInt(strValue)){
					alert("〖" + arrDesc[i] + "〗" + "必须是正整数！");
					obj[j].focus();
					obj[j].select();
					//return false;
					event.returnValue = false;
					return false;
					break;
				}
			}
		}
	}
	return true;
}

function IsPositiveInt(sChkStr){
	var i,CheckChar ;
	sCorrectStr = "0123456789";
	var blnYes = true;
	
	if(sChkStr.length > 0){
		for(i = 0 ; i < sChkStr.length; i ++){
			CheckChar = sChkStr.charAt(i) ;
			if (sCorrectStr.indexOf(CheckChar) == -1){
				blnYes = false;
				break;
			}
		}
	}else{
		blnYes = false;
	}
	
	if(blnYes && (parseInt(sChkStr) <= 0)){
		blnYes = false;
	}
	
	event.returnValue = blnYes;
	return blnYes ;	
}
*/
/*
// ----------------------------------------------------------------------------------
// 3.1 本函数用于判断Text文本输入框的值是否在合法字符串sCorrectStr中// ----------------------------------------------------------------------------------
function JCorrectChar(sChkStr,sCorrectStr){
	var i,CheckChar ;
	
	for(i = 0 ; i < sChkStr.length; i ++){
		CheckChar = sChkStr.charAt(i) ;
		if (sCorrectStr.indexOf(CheckChar) == -1){
			event.returnValue = false;
			return false;
			break;
		}
	}
	return true ;	
}
*/

//
function AddTableRow(){
	oButton = event.srcElement;
	oOldRow = GetTableRowObj(oButton);
	oTable = GetTableObj(oButton);
	
	oOldRow.all("btnRowDel").disabled = false;
	
	oNewRow = oTable.insertRow(oOldRow.rowIndex+1);
	oNewRow.align = oOldRow.align;
	oNewRow.vAlign = oOldRow.vAlign;
	oNewRow.bgColor = oOldRow.bgColor;
	for(var i=0;i<oOldRow.cells.length;i++)
	{
		oCell = oNewRow.insertCell();
		oCell.innerHTML = oOldRow.cells[i].innerHTML;
		oCell.align = oOldRow.cells[i].align;
		oCell.vAlign = oOldRow.cells[i].vAlign;
		oCell.colSpan = oOldRow.cells[i].colSpan;
		oCell.className = oOldRow.cells[i].className;

		for(var j=0;j<oCell.childNodes.length;j++)
		{
			if(oCell.childNodes[j].type=="text"||oCell.childNodes[j].tagName=="TEXTAREA")
			{
				oCell.childNodes[j].value = ""
				//oCell.childNodes[j].readOnly = false;
			}
			//if(oCell.childNodes[j].type=="button"||oCell.childNodes[j].tagName=="BUTTON")
			//	oCell.childNodes[j].disabled = false;
			
			if(oCell.childNodes[j].type=="hidden")
				oCell.childNodes[j].value = "0.00";
			
			if(oCell.childNodes[j].tagName=="LABEL")
				oCell.childNodes[j].innerText = "0.00";
			
			if(oCell.childNodes[j].tagName=="SELECT")
				oCell.childNodes[j].selectedIndex = 0;
		}
	}
	for(var i=oOldRow.rowIndex;i<oTable.rows.length;i++)
		oTable.rows[i].all("row_Seq").innerText = (i).toString();
}

function DelTableRow()
{
	oButton = event.srcElement;
	oOldRow = GetTableRowObj(oButton);
	oTable = GetTableObj(oButton);
	
	var oldRowIndex = oOldRow.rowIndex;
	
	oTable.deleteRow(oOldRow.rowIndex);
	
	for(var i=oldRowIndex;i<oTable.rows.length;i++)
		oTable.rows[i].all("row_Seq").innerText = i;
	
	if(document.getElementsByName("btnRowDel").length==1)
		document.getElementsByName("btnRowDel")[0].disabled = true;
}

