//公共函数区:::
//程序设计：偷猫:::
//主页：www.eachfun.com
//QQ：33751
//最终版本：2005-03-20 20:45
//以下内容不须要修改:::

var ErrNum,strErr_JS//错误个数，错误内容:::

//清空所有错误信息:::
function ResetErrInfo()
{
	ErrNum = 0;
	strErr_JS = "您的操作中发生以下错误：\n";
}

//增加一条错误提示:::
function AddErrInfo(ErrInfo)
{
	ErrNum ++;
	strErr_JS += "\n";
	strErr_JS += ErrNum;
	strErr_JS += "：";
	strErr_JS += ErrInfo;
}

//检查用户的输入是否合法:::
function CheckInputErrorText(InputText, ErrText, CanEmpty, InputName, MinLength, MaxLength)
{
	//InputText用于接收待检查的字符串:::
	//ErrText是一个字符串，包含所有不允许的字符，例如“<>=”表示不允许输入大于号、小于号、等于号:::
	//CanEmpty为1时表示允许用户不输入，为0表示用户必须输入:::
	//InputName是被检查的字符串所起的作用，如“用户名”、“贴子主题”等，为了显示错误信息时人性化而设:::
	//MinLength是最短字符数:::
	//MaxLength是最长字符数，可以为零，表示不作要求:::
	//程序设计by偷猫,http://www.eachfun.com,QQ33751:::
	if ((CanEmpty == 0) && (InputText.length == 0))
	{
		AddErrInfo(InputName + "必填！");
		return;
	}
	if (InputText.length > 0)
	{
		//如果已填，就检查它的长度是否符合要求:::
		//如果未填，则分两种情况：一、允许空，不用检查长度，二、不允许空，上面已经作过检查:::
		if (InputText.length < MinLength)
		{
			//短于最小长度:::
			AddErrInfo(InputName + "至少" + MinLength + "个字符！");
			return;
		}
		if ((MaxLength > 0) && (InputText.length > MaxLength))
		{
			//对最大长长度有要求，并且超出了最大长度:::
			AddErrInfo(InputName + "最多" + MaxLength + "个字符！");
			return;
		}
	}
	if ((ErrText.length == 0) || (InputText.length == 0)) return;//如果没有规定非法字符，或者待检的字符为空，则不用检查:::
	var i, j;
	for (i=0; i<ErrText.length; i++)
	{
		j = ErrText.substr(i, 1);//从不允许的字符串里一个一个取字符:::
		if (InputText.indexOf(j) > -1)
		{
			if (j == "\\") AddErrInfo(InputName + "包含斜杠(\\)！");
			else if (j == "\'") AddErrInfo(InputName + "包含单引号(\')！");
			else if (j == "\"") AddErrInfo(InputName + "包含双引号(\")！");
			else if (j == "\/") AddErrInfo(InputName + "包含斜杠(\/)！");
			else if (j == " ") AddErrInfo(InputName + "包含空格( )！");
			else if (j == "<") AddErrInfo(InputName + "包含小于号(<)！");
			else if (j == ">") AddErrInfo(InputName + "包含大于号(>)！");
			else if (j == ",") AddErrInfo(InputName + "包含逗号(,)！");
			else if (j == ".") AddErrInfo(InputName + "包含句号(.)！");
			else if (j == "&") AddErrInfo(InputName + "包含连字符(&)！");
			else AddErrInfo(InputName + "包含" + j + "！");
		}
	}
}

function CheckInputMustText(InputText, MustText, CanEmpty, InputName, MinLength, MaxLength)
{
	//InputText用于接收待检查的字符串:::
	//MustText是一个字符串，包含所有可以使用的字符，例如“0123456789”表示必须输入数字:::
	//CanEmpty为1时表示允许用户不输入，为0表示用户必须输入:::
	//InputName是被检查的字符串所起的作用，如“用户名”、“贴子主题”等，为了显示错误信息时人性化而设:::
	//MinLength是最短字符数:::
	//MaxLength是最长字符数，可以为零，表示不作要求:::
	if ((CanEmpty == 0) && (InputText.length == 0))
	{
		AddErrInfo(InputName + "必填！");
		return;
	}
	if (InputText.length > 0)
	{
		//如果已填，就检查它的长度是否符合要求:::
		//如果未填，则分两种情况：一、允许空，不用检查长度，二、不允许空，上面已经作过检查:::
		if (InputText.length < MinLength)
		{
			//短于最小长度:::
			AddErrInfo(InputName + "至少" + MinLength + "个字符！");
			return;
		}
		if ((MaxLength > 0) && (InputText.length > MaxLength))
		{
			//对最大长长度有要求，并且超出了最大长度:::
			AddErrInfo(InputName + "最多" + MaxLength + "个字符！");
			return;
		}
	}
	if ((MustText.length == 0) || (InputText.length == 0)) return;//如果没有规定非法字符，或者待检的字符为空，则不用检查:::
	var i, j;
	for (i=0; i<InputText.length; i++)
	{
		j = InputText.substr(i, 1);
		if (MustText.indexOf(j) == -1)
		{
			if (j == "\\") AddErrInfo(InputName + "必含斜杠(\\)！");
			else if (j == "\'") AddErrInfo(InputName + "包含单引号(\')！");
			else if (j == "\"") AddErrInfo(InputName + "包含双引号(\")！");
			else if (j == "\/") AddErrInfo(InputName + "包含斜杠(\/)！");
			else if (j == " ") AddErrInfo(InputName + "包含空格( )！");
			else if (j == "<") AddErrInfo(InputName + "包含小于号(<)！");
			else if (j == ">") AddErrInfo(InputName + "包含大于号(>)！");
			else if (j == ",") AddErrInfo(InputName + "包含逗号(,)！");
			else if (j == ".") AddErrInfo(InputName + "包含句号(.)！");
			else if (j == "&") AddErrInfo(InputName + "包含连字符(&)！");
			else AddErrInfo(InputName + "包含" + j + "！");
		}
	}
}

function CheckInputErrString(InputText, ErrString, InputName)
{
	if (InputText.indexOf(ErrString) > -1)
	{
		AddErrInfo(InputName + "不可以包含(" + ErrString + ")！");
	}
}

function CheckPassSame(InputPass1, InputPass2)
{
	if (InputPass1 != InputPass2) AddErrInfo("密码不一致！");
}

function CheckRadioSelect(RdoName, InputName)
{
	var i, j;
	if (RdoName.length == undefined)
	{
		if (!RdoName.checked)
			AddErrInfo(InputName + "必选！");
	}
	else
	{
		j = 0;
		for (i=0; i<RdoName.length; i++)
			if (RdoName[i].checked)
				j = 1;//只要有一个已选，就设为1，其实也只可能有一个已选:::
		if (j == 0)
			AddErrInfo(InputName + "必选！");
	}
}

function CheckCheckSelect(RdoName, MinSel, MaxSel, InputName)
{
	var i, j;
	j = 0;
	if (RdoName.length == undefined)
	{
		if (RdoName.checked)
			j ++;
	}
	else
	{
		for (i=0; i<RdoName.length; i++)
			if (RdoName[i].checked)
				j ++;//只要有一个已选，就设为1，其实也只可能有一个已选:::
	}
	if ((j < MinSel) && (MinSel > 0))
		AddErrInfo(InputName + "至少选择" + MinSel + "项！");
	if ((j > MaxSel) && (MaxSel > 0))
		AddErrInfo(InputName + "最多选择" + MaxSel + "项！");
}

function ShowErrInfo()
{
	if (ErrNum)
	{
		alert(strErr_JS);
		return false;
	}
	return true;
}

ResetErrInfo();