function DisplayMessage(ctrl, msg)
{
	alert(msg);
	ctrl.focus();
	ctrl.select();
}

function CheckInteger(ctrl, allowNone, minData, maxData, type, ctrlDesc)
{
	//ctrl要检查的控件，包括input type=text、password，textarea。
	//allowNone，是否允许零长度。
	//minData，最小值。为null时不判断最小。
	//maxData，最大值。为null时不判断最大。
	//type，区间类型。1，左开右闭；2，左开右开；3，左闭右闭；4，左闭右开
	//ctrlDesc，控件的含义，用于显示提示信息。

	var s = ctrl.value;

	//检查是否允许零长度字符串。
	if (!allowNone)
	{
		if (IsNone(s))
		{
			DisplayMessage(ctrl, "请务必录入" + ctrlDesc + "。");
			return false;
		}
	}
	
	//检查是否是整型。
	if (!IsInteger(s))
	{
		alert("请录入有效的" + ctrlDesc + "信息。");
		ctrl.focus();
		ctrl.select();
		return false;
	}
	var n = new Number(s);
	if (minData==null && maxData!=null)
	{
		switch(type)
		{
			case 1: //左开右闭
			case 3: //左闭右闭
				if (n>maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值不能超过" + maxData + "。");
					return false;
				}
				break;
			case 2: //左开右开
			case 4: //左闭右开
				if (n>=maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须小于" + maxData + "。");
					return false;
				}
				break;
		}
	}

	if (minData!=null && maxData==null)
	{
		switch(type)
		{
			case 1: //左开右闭
			case 2: //左开右开
				if (n<=minData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须大于" + minData + "。");
					return false;
				}
				break;
			case 3: //左闭右闭
			case 4: //左闭右开
				if (n<minData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值不能低于" + minData + "。");
					return false;
				}
				break;
		}
	}
	
	if (minData!=null && maxData!=null)
	{
		switch(type)
		{
			case 1: //左开右闭
				if (n<=minData || n>maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须大于" + minData + "，并且必须小于或者等于" + maxData + "。");
					return false;
				}
				break;
			case 2: //左开右开
				if (n<=minData || n>=maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须大于" + minData + "，并且必须小于" + maxData + "。");
					return false;
				}
				break;
			case 3: //左闭右闭
				if (n<minData || n>maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须大于或者等于" + minData + "，并且必须小于或者等于" + maxData + "。");
					return false;
				}
				break;
			case 4: //左闭右开
				if (n<minData || n>=maxData)
				{
					DisplayMessage(ctrl, ctrlDesc + "的值必须大于或者等于" + minData + "，并且必须小于" + maxData + "。");
					return false;
				}
				break;
		}
	}

	return true;
}

function CheckString(ctrl, allowNone, allowEmpty, ctrlDesc)
{
	//ctrl要检查的控件，包括input type=text、password，textarea。
	//allowNone，是否允许零长度。
	//allowEmpty，是否允许只录入空白字符，包括空白、回车、TAB
	//ctrlDesc，控件的含义，用于显示提示信息。

	var s = ctrl.value;

	//检查是否允许零长度字符串。
	if (!allowNone)
	{
		if (IsNone(s))
		{
			DisplayMessage(ctrl, "请务必录入" + ctrlDesc + "。");
			return false;
		}
	}
	
	//检查是否允许只录入空白字符。
	if (!allowEmpty)
	{
		if (IsEmpty(s))
		{
			DisplayMessage(ctrl, "请录入有效的" + ctrlDesc + "信息。");
			ctrl.focus();
			ctrl.select();
			return false;
		}
	}

	return true;
}

function CheckEMail(ctrl, allowNone, ctrlDesc)
{
	//ctrl要检查的控件，包括input type=text、password，textarea。
	//allowNone，是否允许零长度。
	//ctrlDesc，控件的含义，用于显示提示信息。
	if (!CheckString(ctrl, allowNone, false, ctrlDesc))
		return false;
	
	if (!IsEMail(ctrl.value))
	{
		DisplayMessage(ctrl, "请录入正确格式的" + ctrlDesc + "信息。");
		ctrl.focus();
		ctrl.select();
		return false;
	}
	
	return true;
}