﻿/**
 * 弹出错误信息,并把焦点移动到指定控件
 *
 * @param obj     指定控件
 * @param message 错误信息
 */
function AlertMessage(obj, message)
{
	alert(message);
	if(obj.type != "hidden")
	{
	    obj.focus();
	}
}

/**
 * 把错误信息显示在指定的控件上
 *
 * @param obj     指定控件
 * @param message 错误信息
 */
function ShowMessage(obj, message)
{
	obj.innerHTML = "<font color=\"#FF0000\">" + message + "<\/font>";
}
	
/**
 * 验证控件文本的最小长度
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param number  文本的长度
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckLengthMin(obj, obj1, message, number, type)
{
	if(Trim(obj.value).length < number)
	{	
		messageTemp = message + "必须是" + number + "位以上！";
		if(Trim(obj.value).length == 0)
		{
			messageTemp = "请输入" + message + "!";
		}
		
		switch (type)
		{		
		    case "alert":
				AlertMessage(obj, messageTemp);
				break;
		    case "show":
				ShowMessage(obj1, messageTemp);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本的最大长度
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param number  文本的长度
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckLengthMax(obj, obj1, message, number, type)
{
	if(Trim(obj.value).length > number)
	{	
		messageTemp = message + "不能超过" + number + "个字符！";
		
		switch (type)
		{		
		    case "alert":
				AlertMessage(obj, messageTemp);
				break;
		    case "show":
				ShowMessage(obj1, messageTemp);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为数字(不能有小数点)
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckNumberInt(obj, obj1, message, type)
{
	exp1 = /^[0-9]*$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是数字！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为数字(能有小数点)
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckNumber(obj, obj1, message, type)
{
	exp1 = /^[0-9,.]*$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是数字！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为中文
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckChinese(obj, obj1, message, type)
{
	exp1 = /^[\u4e00-\u9fa5]*$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是中文！";

		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的邮箱格式
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckEmail(obj, obj1, type)
{
	exp1 = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = "邮箱格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default:
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的电话号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckTel(obj, obj1, type)
{
	exp1 = /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	
	exp2 = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
	str2  = Trim(obj.value);
	str2  = str2.match(exp2);
	if(str == null && str2 == null)
	{
		message = "电话号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的传真号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckFax(obj, obj1, type)
{
	exp1 = /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	str  = Trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = "传真号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的手机号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckMobile(obj, obj1, type)
{
	exp1 =  /^13[0-9]\d{8}$/;
	exp2 =  /^159\d{8}$/;
	exp3 =  /^158\d{8}$/;
	
	str  = Trim(obj.value);
	str  = str.match(exp1);
	str1  = Trim(obj.value);
	str1  = str1.match(exp2);
	str2  = Trim(obj.value);
	str2  = str2.match(exp3);
	if(str == null && str1 == null&& str2 == null)
	{
		message = "手机号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "　";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证两次密码输入是否一致
 *
 * @param obj     密码控件
 * @param obj1    确认密码控件
 * @param obj2    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckDoublePassword(obj, obj1, obj2, type)
{
	if(obj.value != obj1.value)
	{
		message = "两次密码输入不一致！";
		
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj1, message);
				break;
		    case "show":
				ShowMessage(obj2, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj2.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为字母和数字的组合
 *
 * @param obj 要验证的控件
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckStrNum(obj,put)
{
	str  = Trim(obj.value);
	exp1 = /^[0-9]*$/;
	str  = str.match(exp1);
	if(str != null)
	{
		if(put)
		{
			AlertMessage(obj, '密码必修是字母和数字的组合！');
		}
		return false;
	}
	str2=Trim(obj.value);
	exp2=/^[A-Za-z]*$/;
	str2=str2.match(exp2);
	if(str2!=null)
	{
		if(put)
		{
			AlertMessage(obj,'密码必修是字母和数字的组合！');
		}
		return false;
	}
	str3=Trim(obj.value);
	exp3=/^[A-Za-z0-9]*$/;
	str3=str3.match(exp3);
	if(str3==null)
	{
		if(put)
		{
			AlertMessage(obj,'密码必修是字母和数字的组合！');
		}
		return false;
	}
	return true;
}

/**
 * 去掉字符串左边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function LeftTrim(str)
{
	if (str.charAt(0) == " ")
	{
		str = str.slice(1);
		str = LeftTrim(str);
	}
	return str;
}

/**
 * 去掉字符串右边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function RightTrim(str)
{
	var iLength;
		
	iLength = str.length;
	if (str.charAt(iLength - 1) == " ")
	{
		str = str.slice(0, iLength - 1);
		str = RightTrim(str);
	}
	return str;
}

/**
 * 去掉字符串两边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function Trim(str)
{
	return LeftTrim(RightTrim(str));
}

/**
 * 验证字符串是否为正确的域名格式
 *
 * @param str 要验证的字符串
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckDomainName(obj, obj1, type)
{
	message = "请输入正确的网站域名！";
	var pattern = /^(http:\/\/)+([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	flag = pattern.test(obj.value);
	if(!flag)
	{
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为指定的文件格式
 *
 * @param obj       要验证的控件
 * @param fileType 指定的文件格式
 * @return true  验证通过
 * @return false 验证没通过  
 */
function CheckType(obj, obj1, fileType, type)
{
	message = "上传文件格式不正确！";
	var isCheck = false;
	fileTypes = fileType.split(',');
	filename = obj.value;
	ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
	for(i = 0; i < fileTypes.length; i++)
	{
		if(ext == fileTypes[i])
		{
			isCheck = true;
		}
	}
	if(isCheck)
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	else
	{
		switch (type)
		{		
		    case "alert":		
				AlertMessage(obj, message);
				break;
		    case "show":
				ShowMessage(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	return true;
}

/**
 * 只能输入中文
 *
 */
function ChineseOnly()
{
	if(event.keyCode < 0x4e00 || event.keyCode > 0x9fa5)
	{
		event.keyCode = 0;
	}
}

/**
 * 设置事件类型
 *
 * @param obj 要设置的事件类型名称
 */
function SetButtomType(obj)
{
	document.getElementById("buttomType").value = obj;
}
