///tagName为标签的name，strDiscription为标签的描述

//是否为int
function IsInt(tagName,strDiscription)
{ 
	var integer=parseInt(tagName.value);
	if (isNaN(integer))
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不是整数！");
			tagName.focus();tagName.select();
		}
		return false;
	}
	else if (integer.toString().length==tagName.value.length)
	{
		//alert("int");
		return true;
	}
	else
	{
		alert("" + strDiscription + "不是整数！");
		tagName.focus();tagName.select();
		return false;
	}
}

//是否为float
function IsFloat(tagName,strDiscription)
{
	var floatnum=parseFloat(tagName.value);	

	if (isNaN(floatnum))
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不是数值！");
			tagName.focus();tagName.select();
		}
		return false;
	}
	else if (floatnum.toString().length==tagName.value.length)
	{
		return true;
	}
	else
	{
		var location = tagName.value.indexOf(".");
		var floatStr = tagName.value.substr(0,location);
		var zero = tagName.value.substr(location+1);
		reg=/(\D)/;
		if(floatStr.length==floatnum.toString().length && !reg.test(zero))
			return true;
		alert("" + strDiscription + "不是数值！");
		
		tagName.focus();tagName.select();
		return false;
	}
}
//是否为float
function IsFloat2(str,strDiscription)
{ 
	var floatnum=parseFloat(str);	
//alert(float)
	if (isNaN(floatnum))
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不是数值！");			
		}
		return false;
	}
	else if (floatnum.toString().length==str.length)
	{
		return true;
	}
	else
	{
		var location = str.indexOf(".");
		var floatStr = str.substr(0,location);
		var zero = str.substr(location+1);
		reg=/(\D)/;
		if(floatStr.length==floatnum.toString().length && !reg.test(zero))
			return true;
		alert("" + strDiscription + "不是数值！");		
		return false;
	}
}
//是否为正的float
function IsPosFloat(tagName,strDiscription)
{ 
	if(IsFloat(tagName,strDiscription)==true)
	{
	    //只能有两位小数
	    var str=tagName.value;
	    var location = str.indexOf(".");
	
	    //alert('小数点的位置：'+location);
	
	    var len = str.substr(location+1);
	    if(location > 0 && len != null && len.length > 2)
	    {
	        alert("" + strDiscription + "的小数部分不能超过两位！");
			tagName.focus();
			tagName.select();
			return false;
	     }
	    if(len != null && len.length == 0)
	    {
	        alert("" + strDiscription + "如果有小数点，\n\n则小数部分必须为1-2小数！");
			tagName.focus();
			tagName.select();
			return false;
	     }
	
		var floatnum=parseFloat(tagName.value);
		if(floatnum<0)
		{
			alert("" + strDiscription + "不能小于0！");
			tagName.focus();
			tagName.select();
			return false;
		}
		
		return true;
		
	}
	else 
	{
	    return false;
	}
	
	
	
}
//是否为正的float
function IsPosFloat2(str,strDiscription)
{     
	if(IsFloat(str,strDiscription)==true)
	{
		var floatnum=parseFloat(str);
		if(floatnum<0)
		{
			alert("" + strDiscription + "不能小于0！");			
			return false;
		}else
		{
		    return true;
		}
	}else 
	{
	return false;
	}
}
//是否为大于0小于10的数
function IsFloatOverZero(tagName,strDiscription)
{ 
	if(IsFloat(tagName,strDiscription)==true)
	{
		var floatnum=parseFloat(tagName.value);
		if(floatnum<0||floatnum>10)
		{
			alert("" + strDiscription + "不能小于0或大于10！");
			tagName.focus();tagName.select();
			return false;
		}
	}else 
	{
	return false;
	}
		
	
}
//是否为数字字符串
function IsDigit(tagName,strDiscription)
{ 
	reg=/(\D)/
	if (reg.test(tagName.value))
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "应该为数字！");
			tagName.focus();tagName.select();
		}
		return false;
	}
	else
		return true;
}

//是否为空或有空格
function IsVoid(tagName,strDiscription)
{
	if( tagName.value == "")
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不能为空！");//或有空格
			tagName.focus();tagName.select();
		}
		return true;
	}
	if(tagName.value.indexOf(" ") == 0 || tagName.value.indexOf("　")==0 
	|| tagName.value.lastIndexOf(" ") == tagName.value.length-1 
	|| tagName.value.lastIndexOf("　") == tagName.value.length-1)
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不能以空格开头或结尾！");
			tagName.focus();tagName.select();
		}
		return true;
	}
	return false;
}

//是否有空格
function HasVoid(tagName,strDiscription)
{
	if( tagName.value.indexOf(" ") != -1)
	{
		if(strDiscription != null)
		{
			alert("" + strDiscription + "不能有空格！");
			tagName.focus();tagName.select();
		}
		return true;
	}
	return false;
}

//电话号码
/**
  * @param: i: 当一页中出现多个同名但编号不同的电话时使用，如linkmanTel1、linkmanTel2...；没有则传入""（空串）
 **/
function checkTel(tagName,i,strDiscription,CanVoid)
{
//alert("tagName:" + tagName + "; i:" + i + "; " )
//alert(eval("" + tagName + "3" + i))
	if(CanVoid == false)
	{
		if(IsVoid(eval("" + tagName + "3" + i),"此处号码")==true) return false;
	}

	if(eval("" + tagName + "1" + i).value!="")
	{
		if(IsDigit(eval("" + tagName + "1"+ i),"此处号码")==false) return false;
		if(IsVoid(eval("" + tagName + "2" + i),"此处号码")==true) return false;
		if(IsVoid(eval("" + tagName + "3" + i),"此处号码")==true) return false;
	}
//alert("oo0")
	if(eval("" + tagName + "2" + i).value!="")
	{
		if(IsDigit(eval("" + tagName + "2"+ i),"此处号码")==false) return false;
		if(IsVoid(eval("" + tagName + "3" + i),"此处号码")==true) return false;
	}
//alert("oo1")	
	if(eval("" + tagName + "3" + i).value!="")
		if(IsDigit(eval("" + tagName + "3"+ i),"此处号码")==false) return false;
//alert("oo2")	
	if(eval("" + tagName + "4" + i).value!="")
	{
		if(IsDigit(eval("" + tagName + "4"+ i),"此处号码")==false) return false;
		if(IsVoid(eval("" + tagName + "3" + i),"此处号码")==true) return false;
	}
//alert("oo3")	
	//拼出电话
	eval("" + tagName + "" + i).value = 
		eval("" + tagName + "1"+ i).value + "-" +
		eval("" + tagName + "2"+ i).value + "-" +
		eval("" + tagName + "3"+ i).value + "-" +
		eval("" + tagName + "4"+ i).value;
	
	return true;	
}

//分解电话号码
function divideTel(wholeTel,telPartTagName,i)
{
	var str1,str2,str3,str4;
	
	var location = wholeTel.indexOf("-");
	str1 = wholeTel.substr(0,location)
	if(str1 != "0") eval(telPartTagName + "1" + i).value = str1;
	wholeTel=wholeTel.substr(location+1)
	
	location = wholeTel.indexOf("-");
	str2 = wholeTel.substr(0,location)
	if(str2 != "0") eval(telPartTagName + "2" + i).value = str2;
	wholeTel=wholeTel.substr(location+1)
	
	location = wholeTel.indexOf("-");
	str3 = wholeTel.substr(0,location)
	if(str3 != "0") eval(telPartTagName + "3" + i).value = str3;
	
	str4=wholeTel.substr(location+1)
	if(str4 != "0") eval(telPartTagName + "4" + i).value = str4;
}

function ChkEMail(email)
{
	invalid = ""; 
	
	if (!email)
		invalid = "请输入您的Email地址。";
	else {
	
		if ((email.indexOf("@") == -1) || (email.indexOf(".") == -1) ) 
			invalid += "\n\nEmail地址不合法。应当包含'@'和'.'；例如('.com')。请检查后再递交。";
	
		if (email.indexOf("your email here") > -1)
			invalid += "\n\nEmail地址不合法，请检测您的Email地址，在域名内应当包含'@'和'.'；例如('.com')。";
	
		if (email.indexOf("\\") > -1) 
			invalid += "\n\nEmail地址不合法，含有非法字符(\\)。";
	
		if (email.indexOf("/") > -1) 
			invalid += "\n\nEmail地址不合法，含有非法字符(/)。";
	
		if (email.indexOf("'") > -1) 
			invalid += "\n\nEmail地址不合法，含有非法字符(')。";
	
		if (email.indexOf("!") > -1) 
			invalid += "\n\nEmail地址不合法，含有非法字符(!)。";
	
		if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) )
			invalid += "\n\n只输入一个Email地址，不要含有分号和逗号。";
	
		if (email.indexOf("?subject") > -1) 
			invalid += "\n\n不要加入'?subject=...'。";
	}
	
	if (invalid == "")
	{
		return true;
	}
	else 
	{ 
		alert("输入的Email可能包含错误：" + invalid);
		return false;
	}
}

//日期检查(允许格式：2005、2005-05、2005-05-09三种)
function checkDate(dateObj)
{
	var alertStr = "输入日期有误，请检查日期内容及格式\n格式如'2005 或 2005-05 或 2005-05-09'";
	dateObj.value = dateObj.value.trim();
	var dateStr = dateObj.value;
	if(dateStr==""){return true;}
	var year = dateStr.substr(0,4);
	var iYear = parseInt(year);
	if(year != iYear)
	{
		alert(alertStr);
		dateObj.select();
		dateObj.focus();
		return;
	}
	if(dateStr.length>4 && dateStr.length<=10)
	{
		var line = dateStr.substr(4,1);
		if(line != "-" || dateStr.length<7)
		{
			alert(alertStr);
			dateObj.select();
			dateObj.focus();
			return;
		}
		else
		{
			var month = dateStr.substr(5,2);
			var tempMonth = month.substr(0,1);
			if(tempMonth == "0") month = month.substr(1,1);
			var iMonth = parseInt(month);
			if(iMonth<1 || iMonth>12)
			{
				alert(alertStr);
				dateObj.select();
				dateObj.focus();
				return;
			}
			else if(dateStr.length > 7)
			{
				var line = dateStr.substr(7,1);
				if(line != "-" || dateStr.length<10)
				{
					alert(alertStr);
					dateObj.select();
					dateObj.focus();
					return;
				}
				else
				{
					var day = dateStr.substr(8,2);
					var tempDay = day.substr(0,1);
					if(tempDay == "0") day = day.substr(1,1);
					var iDay = parseInt(day);
					if(iDay<1 || iDay>31)
					{
						alert(alertStr);
						dateObj.select();
						dateObj.focus();
						return;
					}
				}
			}
		}
	}
	else if(dateStr.length != 4)
	{
		alert(alertStr);
		dateObj.select();
		dateObj.focus();
		return;
	}
	return true;
}

//日期检查(允许格式：2005-05、2005-05-09两种)
function checkDate2(dateObj)
{
	var alertStr = "输入日期有误，请检查日期内容及格式\n格式如'2005-05 或 2005-05-09'";
	dateObj.value = dateObj.value.trim();
	var dateStr = dateObj.value;
	if(dateStr==""){return true;}
	var year = dateStr.substr(0,4);
	var iYear = parseInt(year);
	if(year != iYear)
	{
		alert(alertStr);
		dateObj.select();
		dateObj.focus(); 
		return false; 
	}
	if(dateStr.length>4 && dateStr.length<=10)
	{
		var line = dateStr.substr(4,1);
		if(line != "-" || dateStr.length<7)
		{
			alert(alertStr);
			dateObj.select();
			dateObj.focus();
			return false;
		}
		else
		{
			var month = dateStr.substr(5,2);
			var tempMonth = month.substr(0,1);
			if(tempMonth == "0") month = month.substr(1,1);
			var iMonth = parseInt(month);
			if(iMonth<1 || iMonth>12)
			{
				alert(alertStr);
				dateObj.select();
				dateObj.focus();
				return false;
			}
			else if(dateStr.length > 7)
			{
				var line = dateStr.substr(7,1);
				if(line != "-" || dateStr.length<10)
				{
					alert(alertStr);
					dateObj.select();
					dateObj.focus();
					return false;
				}
				else
				{
					var day = dateStr.substr(8,2);
					var tempDay = day.substr(0,1);
					if(tempDay == "0") day = day.substr(1,1);
					var iDay = parseInt(day);
					if(iDay<1 || iDay>31)
					{
						alert(alertStr);
						dateObj.select();
						dateObj.focus();
						return false;
					}
				}
			}
		}
	}
	else
	{
		alert(alertStr);
		dateObj.select();
		dateObj.focus();
		return false;
	}
	return true;
}

//日期检查(允许格式:2005-05-09)
function checkDate3(dateObj)
{
	var alertStr = "输入日期有误，请检查日期内容及格式\n格式如'2005-05-09'";
	alert(alertStr);
	dateObj.value = dateObj.value.trim();
	var dateStr = dateObj.value;

	if(dateStr.length > 7 && dateStr.length<=10)
	{
	    var year = dateStr.substr(0,4);
	    var iYear = parseInt(year);
	    if(year != iYear)
	    {
		   alert(alertStr);
		   dateObj.select();
		   dateObj.focus();
		   return false; 
	    }
	    
		var line = dateStr.substr(4,1);
		if(line != "-" || dateStr.length<7)
		{
			alert(alertStr);
			dateObj.select();
			dateObj.focus();
			return false;
		}	   

		var month = dateStr.substr(5,2);
		var tempMonth = month.substr(0,1);
		if(tempMonth == "0") month = month.substr(1,1);
		var iMonth = parseInt(month);
		if(iMonth<1 || iMonth>12)
		{
			alert(alertStr);
			dateObj.select();
			dateObj.focus();
			return false;
		}
		 
		var line = dateStr.substr(7,1);
	    if(line != "-" || dateStr.length<10)
		{
			alert(alertStr);
		    dateObj.select();
		    dateObj.focus();
		    return false;
		}
	    else
		{
			var day = dateStr.substr(8,2);
			var tempDay = day.substr(0,1);
			if(tempDay == "0") day = day.substr(1,1);
			var iDay = parseInt(day);
			if(iDay<1 || iDay>31)
			{
				alert(alertStr);
				dateObj.select();
				dateObj.focus();
				return false;
			}
		}

	}
	else
	{
		alert(alertStr);
		dateObj.select();
		dateObj.focus();
		return false;
	}
	
	return true;
}

function checkRemark(tagName)
{
   var value = tagName.innerText;
   if(value != null && value.length > 0)
   {
      if(tagName.innerText.length > 200)
      {
         alert("备注最多可以填写200个字符！");
         tagName.focus();
         return false;
      }
      
   }
}
////////////////////////////////////////////////////
/**
 * 检查是否为数字
 */
function isNumber(value)
{
	if(isNaN(parseInt(value)))
	{
	    return false;
	}

        nLength = value.length;

	for ( i = 0 ; i < nLength ; i ++)
	{
            currentChar = value.charAt(i);
            if(currentChar< '0' || currentChar > '9')
                return false;
	}
	return true;
}

/**
 * Name:    checkDate
 * Desc:    判断日期值是否正确
 * Author:  
 * @param   sDate  8码（"YYYYMMDD")的日期字符串
 * @return  True:正确日期	False:错误日期
 */
function checkDate(sDate) {
	if((sDate==null) || (sDate=="")) {
		return false;
	}
	var intLen = sDate.length;
	if(intLen != 8) {
		return false;
	}
	sYear = sDate.substring(0,4);
	sMonth = sDate.substring(4,6)-1;
	sDay = sDate.substring(6,8);
    if(isNaN(sYear) || isNaN(sMonth) || isNaN(sDay)) {
        return false;
	}
	var tmpDate = new Date(sYear,sMonth,sDay);
    if (1900 <= sYear && sYear < 2000) {
        sYear = sYear - 1900;
	}
    if(tmpDate.getYear() != sYear) {
        return false;
	}
	if(tmpDate.getMonth() != sMonth) {
         return false;
	}
	return true;
}

function compareDate(DateOne,DateTwo){
	var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"));
	var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1);
	var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));
	var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"));
	var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1);
	var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
	
	if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) > Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
		return true;
	}else{
		return false;
	}
}

/**
 * 检查是否为合法IPv4地址
 */
function isIPv4(ip){
	var re=/^((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))$/;
	if(re.test(ip)){
		return true;
	} else{ 
		return false;
	}
}
