//检查字符串是否为空
function isEmpty(s)
{
	return ((s == null)||(s.length ==0));
}

//检查字符串为空或者仅仅包含一些空格符号
function isWhiteSpace(s)
{
	var whitespace = "\t\n\t 　";
	if (isEmpty(s)) return true;
	var i;
	for (i = 0; i < s.length; i ++)
	{
		var c=s.charAt(i);
		if(whitespace.indexOf(c) != -1) continue;
		else return false;
	}
	return true;
}

//判断字符串S是否是一个有效EMAIL地址
function isEmail(s)
{
	var i=1;
	var sLength=s.length;	
	
	while((i<sLength)&&(s.charAt(i) != "@")) i++;
	if ((i >= sLength) || (s.charAt(i) != "@")) return false;
	else i += 2;
	
	while((i<sLength)&&(s.charAt(i) != ".")) i++;
	if ((i >= sLength-1) || (s.charAt(i) != ".")) return false;
	else return true;
}

//检查字符串S是否为数值
function isInt(s)
{
	var digits = "0123456789";
	var i;
	var len = s.length;
	var c

	c = s.charAt(0);
	if (digits.indexOf(c) == -1 && c != "-") return false;
	i = 1;
	while((i<len))
	{
		var c = s.charAt(i);
		if (digits.indexOf(c) == -1) return false;
		i ++;
	}
	return true;
}

//检查字符串S是否为一个合法标识符
function isIdentifier(s)
{
	var i;
	var a = "0123456789";
	var b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
	var c;
	var len = s.length;
	
	if (isEmpty(s)) return false;
	c = s.charAt(0);
	if (b.indexOf(c) == -1) return false;
	for (i = 1; i < len; i ++)
	{
		c = s.charAt(i);
		if ((a.indexOf(c) == -1) && (b.indexOf(c) == -1)) return false;
	}
	return true;
}

//检查字符串S是否为一个合法的邮政编码
function isZipCode(s)
{
	var digits = "0123456789";
	var i;
	var len = s.length;
	
	if (len != 6) return false;
	for (i = 0; i < len; i ++)
	{
		var c = s.charAt(i);
		if (digits.indexOf(c) == -1) return false;
	}
	return true;
}

//提示请输入
function alertEmpty(aField, item)
{
	alert(item + "不能为空，请输入！");
	aField.focus();
	return false;
}

//提示输入无效
function alertInvalid(aField, item)
{
	alert("您输入的" + item +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	aField.focus();
	aField.select();
	return false;
}

//检查文本输入框是否为空
function checkStringBox(aField, item)
{
	if (aField == null) return true;
	if (isWhiteSpace(aField.value))
		return alertEmpty(aField, item);
	else return true;
}

//检查银行帐号
function checkBankAccount(aField , item)
{
	if (isEmpty(aField.value)) 
		return alertEmpty(aField, item);
	//if (!isInt(aField.value))
	//	return alertInvalid(aField, item);
	else return true;
}


//检查EMAIL输入框是否有效
function checkEmailBox(aField, item)
{
	if (isEmpty(aField.value)) 
		return alertEmpty(aField, item);
	if (!isEmail(aField.value))
		return alertInvalid(aField, item);
	else return true;
}

//检查数值输入框是否有效
function checkNumberBox(aField, item)
{
	if (isWhiteSpace(aField.value))
	 	return alertEmpty(aField, item);
	if (!isInt(aField.value))
		return alertInvalid(aField, item);
	else return true;
}

//检查密码输入框是否有效
function checkPasswordBox(aField, aFieldAgain, minLen)
{
	if (aField.value != aFieldAgain.value)
	{
		alert("您两次输入的密码不一致！");
		aField.focus();
		return false;
	}
	if (aField.value.length < minLen)
	{
		alert("密码长度不能小于" + minLen);
		aField.focus();
		return false;
	}
	return true;
}

//检查字符串长度不能超过某值
function checkStringMaxLen(aField,item,maxLen)
{
	if (aField.value.length > maxLen)
	{
		alert(item+"长度不能大于" + maxLen);
		aField.focus();
		return false;
	}
	return true;
}

//检查字符串长度不能小于某值
function checkStringMinLen(aField,item,minLen)
{
	if (aField.value.length < maxLen)
	{
		alert(item+"长度不能小于" + minLen);
		aField.focus();
		return false;
	}
	return true;
}


//检查邮政编码输入框是否有效
function checkZipCodeBox(aField, item)
{
	if (!isZipCode(aField.value))
		return alertInvalid(aField, item);
	else return true;
}

//提示输入无效
function alertInvalidNumber(aField, item, nMin, nMax)
{
	alert("您输入的" + item +"是无效的" + item + "，\n\n请输入介于 " + nMin + " 和 " + nMax + "之间" + item + "！");
	aField.focus();
	aField.select();
	return false;
}

//检查数字输入框是否有效
function checkNumberBoxEx(aField, item, nMin, nMax)
{
	if (isWhiteSpace(aField.value))
	 	return alertEmpty(aField, item);

	if (!isInt(aField.value))
		return alertInvalidNumber(aField, item, nMin, nMax);

	if ((parseInt(aField.value) > nMax) || (parseInt(aField.value) < nMin))
		return alertInvalidNumber(aField, item, nMin, nMax);
	else return true;
}

function checkCheckBoxSelected(aField)
{
	var checkBoxCtl = aField ;
	if(!checkBoxCtl)
	{
		return false ;
	}
	if(!checkBoxCtl.length){
		if(!checkBoxCtl.checked)
		{
			return  false ;
		}
	}else{
		var hasSelected = false ;
		for(var i=0 ;i<checkBoxCtl.length ;i++){
			if(checkBoxCtl[i].checked)
				hasSelected = true ;
		}
		if(!hasSelected){	
			return  false;
		}
		else
			return  true;
	}
}

