// JavaScript Document
//<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

var digitalStr="0123456789.";
var lowerCaseStr="abcdefghijklmnopqrstuvwxyz";
var upperCaseStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var textObj;

/*
==================================================================
LTrim(string):去除左边的空格
==================================================================
*/
function lTrim(str)
{	
	var resultStr;
	if(str.length>0)
	{
		for(i=0;i<str.length;i++)
		{
			if(str.charAt(i)!=' ')
				break;
		}
		resultStr=str.substring(i,str.length);
	}
	else
		resultStr=str;
		
	return resultStr;
}

/*
==================================================================
RTrim(string):去除右边的空格
==================================================================
*/
function rTrim(str)
{
	var resultStr;
	if(str.length>0)
	{
		for(i=str.length-1;i>0;i--)
		{
			if(str.charAt(i)!=' ')
				break; 
		}        
		resultStr=str.substring(0,i+1);              
	}
	else
		resultStr=str;
		
	return resultStr;
}

/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/
function trim(str)
{
    return rTrim(lTrim(str));
}

/*
==================================================================
isEmpty(string):判断是否为空字串
==================================================================
*/
function isEmpty(str)
{
	if(str)
	{
		if(trim(str)=='')
			return true;
		else
			return false;
	}
	else
	{
		return true;
	}
}


/*
==================================================================
isDigital(string):判断是否为数字串
==================================================================
*/
function isDigital(str)
{
	str=trim(str);
	for(i=0;i<str.length;i++)
	{
		if(digitalStr.indexOf(str.charAt(i))==-1)
		{
			return false;
			break;
		}
	}
	return true;	
}

/*
==================================================================
isTelephoneNumber(string):判断是否为电话号码
==================================================================
*/
function isTelephoneNumber(fData)
{
	var fDatastr='';
    if (IsEmpty(fData))
        return true;
    for (var i=0;i<fData.length;i++)
    {
        str=fData.substring(i,i+1);
		if((str!='(')&&(str!=')')&&(str!='+')&&(str!='-')&&(str!=''))
           fDatastr=fDatastr+str;
    }  
    //alert(fDatastr);  
    if (isNaN(fDatastr))
        return false;
    return true;
}

/*
==================================================================
isIdcard(string):判断是否为身份证号
==================================================================
*/
function isIdcard(str)
{
	if(trim(str)!="")
	{
		if((str.length!=15)&&(str.length!=18))
			return false;
		
		if(!isDigital(str))
			return false;
	}
	return true;
}

/*
==================================================================
isPostCode(string):判断是否为邮政编码
==================================================================
*/
function isPostCode(str)
{
	if(trim(str)!="")
	{	
		if(str.length!=6)
			return false;
		
		if(!isDigital(str))
			return false;
	}
	return true;
}

/*
==================================================================
isEmail(string):判断是否为邮件地址
==================================================================
*/
function isEmail(str)
{
	if(trim(str)!="")
	{
		if(isEmpty(str))
			return false;
		
		if(!(str.search(/^[\w-]+@[\w-]+\.[A-Za-z0-9]{2,}$/)>=0))
			return false;
	}
	return true;
}

/*
==================================================================
isValidPass(string):判断用户密码
==================================================================
*/
function isValidPass(str)
{
	if(isEmpty(str))
		return false;
		
	if(str.length<6)
		return false;
		
	var fullString=digitalStr+lowerCaseStr+upperCaseStr;
	for(i=0;i<str.length;i++)
	{
		if(fullString.indexOf(str.charAt(i))==-1)
		{
			return false;
			break;
		}
	}
	return true;
}

/*
==================================================================
isValidUID(string):判断用户代号
==================================================================
*/
function isValidUID(str)
{
	if(isEmpty(str))
		return false;
		
	if(str.length<6)
		return false;
		
	var fullString=digitalStr+lowerCaseStr+upperCaseStr+"_";
	for(i=0;i<str.length;i++)
	{
		if(fullString.indexOf(str.charAt(i))==-1)
		{
			return false;
			break;
		}
	}
	
	return true;	
}

/*
==================================================================
isDateRange(from_year,from_month,month_day,to_year,to_month,to_day)
判断是否是正确的日期范围
==================================================================
*/
function isDateRange(from_year,from_month,month_day,to_year,to_month,to_day)
{
	fromDate=new Date(from_year,from_month,month_day);
	toDate=new Date(to_year,to_month,to_day);
	if(toDate<=fromDate)
		return false;
		
	return true;	
}

/*
==================================================================
checkDigital(DigitalObj,FieldName)
判断是否是数字内容
==================================================================
*/
function checkDigital(DigitalObj,FieldName)
{
	if(isEmpty(DigitalObj.value))
		DigitalObj.value=0;
	if(!isEmpty(DigitalObj.value)&&!isDigital(DigitalObj.value))
	{
		alert(FieldName+'只能为数字！');
		DigitalObj.focus();
		return false;
	}
	else
	{
		return true;
	}
}

/*
==================================================================
isPassword(strPassword)
判断是否是规范的用户ID
==================================================================
*/
function isPassword(Password)
{
	var lngLength = Password.length;
	var strCharSet="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
	for(i=0; i<lngLength; i++)
	{
		if (strCharSet.search(Password.substr(i,1))<0) return false;
	}
	return true;
}
/*
isSamePassword(firstPwd,secondPwd)
判断输入的用户名密码是否相同
*/
function isSamePassword(firstPwd,secondPwd)
{
	if(firstPwd!=secondPwd)
	{
		return false;
	}else
	{
		return true;
	}
}

function isFileType(fileName,extName)
{
	var matchType=false;
	var dotIdx=-1;
	if(!isEmpty(fileName))
	{
		dotIdx=fileName.lastIndexOf(".");
		if(dotIdx>-1)
		{
			if((fileName.length-dotIdx-1)<5)
			{
				toMatch=extName.split(",");
				for(idx=0;idx<toMatch.length;idx++)
				{
					if(fileName.substring(dotIdx+1).toLowerCase()==toMatch[idx].toLowerCase())
					{
						matchType=true;
						break;
					}
				}
			}
		}
	}
	return(matchType);
}

function validate()
{
	var allInput=document.getElementsByTagName("input");
	var allValid=true;
	for(inputIndex=0;inputIndex<allInput.length;inputIndex++)
	{
		$toValidate=true;
		$thisInputIsValid=true;
		if(allInput[inputIndex].tovalidate)
		{
			if(allInput[inputIndex].tovalidate=="false")
				$toValidate=false;
		}
		if($toValidate)
		{
			inputValidate=allInput[inputIndex].validate;
			if(inputValidate)
			{
				var validateItems=inputValidate.split(",");
				var showMsg='';
				for(validateIndex=0;validateIndex<validateItems.length;validateIndex++)
				{
					switch(validateItems[validateIndex])
					{
						case "required":
							if(isEmpty(allInput[inputIndex].value))
							{
								if(isEmpty(allInput[inputIndex].msg))
								{
									showMsg+=allInput[inputIndex].name+'必须填写!';
								}
								allValid=false;
								$thisInputIsValid=false;
								//allInput[inputIndex].focus();
							}
							break;
						case "isemail":
							if(!isEmpty(allInput[inputIndex].value))
							{
								if(!isEmail(allInput[inputIndex].value))
								{
									if(isEmpty(allInput[inputIndex].msg))
									{
										showMsg+=allInput[inputIndex].name+'必须为真实有效的Email地址!';
										
									}
									allValid=false;
									$thisInputIsValid=false;
									//allInput[inputIndex].focus();
								}
							}
							break;
						case "isSamePassword"://判断人员基本信息是用户密码是否相同
							var firstPwd=document.getElementById("LoginPassword");
							if(!isSamePassword(allInput[inputIndex].value,firstPwd.value))
							{
								if(isEmpty(allInput[inputIndex].msg))
								{
									showMsg+=allInput[inputIndex].name+'必须为相同的用户名密码!';
									
								}
								allValid=false;
								$thisInputIsValid=false;
								//allInput[inputIndex].focus();
							}
							break;
						case "isDigital":
							if(!isEmpty(allInput[inputIndex].value))
							{
								if(!isDigital(allInput[inputIndex].value))
								{
									if(isEmpty(allInput[inputIndex].msg))
									{
										showMsg+=allInput[inputIndex].name+'必须为数字!';
										
									}
									allValid=false;
									$thisInputIsValid=false;
									//allInput[inputIndex].focus();
								}
							}
							break;
						case "isOverMaxLength":
							if(!isEmpty(allInput[inputIndex].value))
								{
									alert(allInput[inputIndex].value.length>200);
									if(allInput[inputIndex].value.length>200)
									{
										if(isEmpty(allInput[inputIndex].msg))
										{
											showMsg+=allInput[inputIndex].name+'填写文字超过最多限制!';
											
										}
										allValid=false;
										$thisInputIsValid=false;
										//allInput[inputIndex].focus();
									}
								}
								break;
						case "isDate":
							if(!isEmpty(allInput[inputIndex].value))
							{
								dateTimeString=allInput[inputIndex].value;
								valid=true;
								if(dateTimeString.length!=10)
								{
									valid=false;
									//alert("length");
								}
								else
								{
									if(!(isDigital(dateTimeString.substr(0,4))&&isDigital(dateTimeString.substr(5,2))&&isDigital(dateTimeString.substr(8,2))))
									{
										valid=false;
										//alert("digital");
									}
									else
									{
										if(dateTimeString.charAt(4)!="-"||dateTimeString.charAt(7)!="-")
										{
											valid=false;
											//alert("spare");
										}
									}
								}
								
								if(!valid)
								{
									if(isEmpty(allInput[inputIndex].msg))
									{
										showMsg+=allInput[inputIndex].name+'日期正确格式为yyyy-mm-dd共10位字符长!';
										
									}
									allValid=false;
									$thisInputIsValid=false;
								}
							}
							break;
						case "isDateTime":
							if(!isEmpty(allInput[inputIndex].value))
							{
								dateTimeString=allInput[inputIndex].value;
								valid=true;
								if(dateTimeString.length!=19)
								{
									valid=false;
									//alert("length");
								}
								else
								{

									if(!(isDigital(dateTimeString.substr(0,4))&&isDigital(dateTimeString.substr(5,2))&&isDigital(dateTimeString.substr(8,2))&&isDigital(dateTimeString.substr(11,2))&&isDigital(dateTimeString.substr(14,2))&&isDigital(dateTimeString.substr(17,2))))
									{
										valid=false;
										//alert("digital");
									}
									else
									{
										if(dateTimeString.charAt(4)!="-"||dateTimeString.charAt(7)!="-"||dateTimeString.charAt(13)!=":"||dateTimeString.charAt(16)!=":")
										{
											valid=false;
											//alert("spare");
										}
									}
								}
								
								if(!valid)
								{
									if(isEmpty(allInput[inputIndex].msg))
									{
										showMsg+=allInput[inputIndex].name+'日期时间正确格式为yyyy-mm-dd hh:mm:ss共19位字符长!';
										
									}
									allValid=false;
									$thisInputIsValid=false;
								}
							}
							break;
						}
				}
				if(!isEmpty(allInput[inputIndex].msg))
					showMsg=allInput[inputIndex].msg;
				if(!$thisInputIsValid)
				{
					if(allInput[inputIndex].msgContainerId)
					{
						document.getElementById(allInput[inputIndex].msgContainerId).innerText=showMsg;
					}
					else if(allInput[inputIndex].msgcontainerid)
					{
						document.getElementById(allInput[inputIndex].msgcontainerid).innerText=showMsg;
					}
					else
					{
						alert(showMsg);
					}
				}
				else
				{
					if(allInput[inputIndex].msgContainerId)
					{
						if(!isEmpty(document.getElementById(allInput[inputIndex].msgContainerId).innerText))
							document.getElementById(allInput[inputIndex].msgContainerId).innerText="";
					}
					else if(allInput[inputIndex].msgcontainerid)
					{
						if(!isEmpty(document.getElementById(allInput[inputIndex].msgcontainerid).innerText))
							document.getElementById(allInput[inputIndex].msgcontainerid).innerText="";
					}					
				}
			}
		}
		//if(!allValid)
			//break;
	}
	return(allValid);
}

function isFileType(fileName,extName)
{
	var matchType=false;
	var dotIdx=-1;
	if(!isEmpty(fileName))
	{
		dotIdx=fileName.lastIndexOf(".");
		if(dotIdx>-1)
		{
			if((fileName.length-dotIdx-1)<5)
			{
				toMatch=extName.split(",");
				for(idx=0;idx<toMatch.length;idx++)
				{
					if(fileName.substring(dotIdx+1).toLowerCase()==toMatch[idx].toLowerCase())
					{
						matchType=true;
						break;
					}
				}
			}
		}
	}
	return(matchType);
}