function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{
	var whitespace = " \t\n\r";
	var i;
	// Is s empty?
	//if (isEmpty(s)) return true;
	// Search through string's characters one by one
	//until we find a non-whitespace character.
	// When we do, return false; if we don't, return true.
	for (i = 0; i < s.length; i++)
	{
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (whitespace.indexOf(c) >= 0)
		{
			return true;
		}
	}
	// All characters are whitespace.
	return false;
}

function isCharsInBagEx (s, bag)
{
	var i,c;
	// Search through string's characters one by one.
	// If character is in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{
		c = s.charAt(i);
		if (bag.indexOf(c) > -1)
		return c;
	}
	return "";
}
function isCharsInBag (s, bag)
{
	var i;
	// Search through string's characters one by one.
	// If character is in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) return false;
	}
	return true;
}

function isRegisterUserName(n,s)
{
	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`";
	if (isEmpty(s))
	{
		return show("请输入用户名！",n);
	}
	//is s contain whitespace
	if ( isWhitespace(s) )
	{
		return show("输入的用户名中不能包含空格符，请重新输入！",n);
	}
	if(s.length>16 || s.length<2){
		return show("用户名必须是长度2-16位的字符。",n);
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
	if (errorChar != "" )
	{
		return show("您输入的用户名"+s+"是无效的用户名,\n\n请不要在用户名中输入字符"+errorChar+"!\n\n请重新输入合法的用户名!",n);
	}
	return true;
}

function isYear (n,s){
	if((s != parseInt(s)) || (parseInt(s)<1850) || (parseInt(s)>1999))
	return show("您的出生年份可能有点不对吧，请输入正确的年龄！",n);
	return true;
}

function isMonth (n,s){
	var i = 1;
	var v = "";
	var flg = 0;
	for(i=1;i<=12;i++){
		v = "0" + i;
		if(s == v){
			flg = 1;
			break;
		}
	}
	if(flg==1)
	return true;
	if((s != parseInt(s)) || (parseInt(s)<1) || (parseInt(s)>12))
		return show("您的月份可能有点不对吧，请输入正确的数值！",n);
		return true;
	}

function isDay (n,s){
	var i = 1;
	var v = "";
	var flg = 0;
	for(i=1;i<=31;i++){
		v = "0" + i;
		if(s == v){
			flg = 1;
			break;
		}		
	}
	if(flg==1)
		return true;
	if((s != parseInt(s)) || (parseInt(s)<1) || (parseInt(s)>31))
		return show("您的日期可能有点不对吧，请输入正确的数值！",n);
	return true;
}	

function isEmail (n,s)
{
   	// is s Empty?
    if (isEmpty(s))
	{
		return show("输入的E-mail地址不能为空，请输入！",n);
		
	}
	//is s contain whitespace
    if (isWhitespace(s))
	{
		return show("输入的E-mail地址中不能包含空格符，请重新输入！",n);
		
	}

   // there must be >= 1 character before @, so we
   // start looking at character position 1
   // (i.e. second character)
   var i = 1;
   var len = s.length;

	if (len > 30)
	{
		return show("email地址长度不能超过30位!",n);
		
	}
	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	//check '@' and '.' is not first or last character
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{
		return show("请输入有效的E-mail地址！",n);

	}
	else
	{
		//check @. or .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
		|| ( pos1 != pos3 )  //find two @ 
		|| ( pos4 < pos3 )) //. should behind the '@'
		{
			return show("请输入有效的E-mail地址！",n);
			
		}
	}

	if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
	{
		return show("email地址中只能包含字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@\n" + "请重新输入" ,n);
		
	}
	//is s contain invalid characters
	/*
	var badChar = "><,[]{}?/+=|\\'\":;!#$%^&()`"; 
	if ( isCharsInBag( s, badChar))
	{
		alert("请不要在email地址中输入字符 " + badChar + "\n" );
		alert("请重新输入" );
		return false;
	}
	*/
	return true;
}
function isTelNumber(n,s)
{
	if ( isEmpty(s) )
	{
		return show("联系电话不能为空，请重新输入！",n);
		
	}
	
	//is s contain invalid characters
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //Validate the user name
    if ( isCharsInBag( s, badChar))
	{
		return false;
	}
	//check user length 
	if ((len>12)||(len<6))
	{
		return show("联系电话不能超过12位也不能少于6位！",n);
	
	}
	return true;
}

function isAddress(n,s)
{
   	// is s Empty?
   	if ( isEmpty(s) )
	{
		return show("地址不能为空，请重新输入！",n);
		
	}
	//is s contain whitespace
   	/*if ( isWhitespace(s) )
	{
		return show("输入的联系地址中不能包含空格符，请重新输入！",n);
	}*/
	//is s contain invalid characters
	var badChar = "><{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //Validate the user name

	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的地址" + s +"是无效的地址,\n\n请不要在地址中输入字符" + errorChar + "!\n\n请重新输入合法的地址",n);
	}
		
		
	
	//check user length 
	if ((len>100)||(len<5))
	{
		return show("地址不能超过50个汉字也不能少于五个汉字！",n);
		
	}
	return true;
}

function isCity(n,s)
{
   	// is s Empty?
   	
   	if ( isEmpty(s) )
	{
		return show("国外城市不能为空，请重新输入！",n);
		
	}
	
	//is s contain invalid characters
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //Validate the user name

	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的城市名" + s +"是无效的城市名,\n\n请不要在城市名中输入字符" + errorChar + "!\n\n请重新输入合法的城市名",n);
		
	}
		
		
	
	//check user length 
	/*if ((len>100)||(len<5))
	{
		return show("城市名不能超过50个汉字也不能少于五个汉字！",n);
		
	}*/
	return true;
}

function isCardNumber(n,s) 
{
//身份证号码验证
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
  if (s == "")
  {
     return show("身份证号码不能为空！请填写！",n);
     
  }
  
  if ((s.length!=15)&&(s.length!=18))
  {
     return show("请检查一下您输入的身份证号码位数是否为15位或18位！",n);
     
  }
  
  	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的身份证号" + s+"是无效的身份证号,\n\n请不要在身份证号中输入字符" + errorChar + "!\n\n请重新输入正确的身份证号！" ,n);
	}	
 
  return true;
}

function isCardNumber2(n,s) 
{
//身份证号码验证
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
  if (s == "")
  {
     return show("身份证号码不能为空！请填写！",n);
     
  }
  	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的身份证号" + s+"是无效的身份证号,\n\n请不要在身份证号中输入字符" + errorChar + "!\n\n请重新输入正确的身份证号！" ,n);
	}	
 
  return true;
}



 function isKeyword(s)
 {
 	var a, errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
	// is s Empty?
   	if ( isEmpty(s) )
	{
		a = confirm("如果您不输入任何查询关键字，您可能会得到太多的查询结果。\n\n您确定要进行查询吗？");
		if (a == false)
			return false;
	}
	else
	{
		//is s contain invalid characters
		//Validate the user name
		errorChar = isCharsInBagEx( s, badChar)
	    	if (errorChar != "" )
		{
			alert("请不要在查询关键字中输入字符" + errorChar + "\n\n请重新输入！" );
			return false;
		} 	
	}
	return true;
 }
 
 function isItemNum(s)
 {
 	if (isEmpty(s))
	{
		alert("请输入物品编号进行查询！");
 		return false;
	}
	var validChar = "0123456789"; 
	if (!isCharsInBag(s, validChar))
	{
		alert("您输入的物品编号" + s +"是无效的物品编号，\n\n请输入合法的物品编号！");
 		return false;
	}
	return true;		
 }
 
 function isUserName(s)
 {
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`"; 
 	if (isEmpty(s))
 	{
 		alert("请输入用户名！");
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(s) )
	{
		alert("输入的用户名中不能包含空格符，请重新输入！");
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的用户名" + s+"是无效的用户名,\n\n请不要在用户名中输入字符" + errorChar + "!\n\n请重新输入合法的用户名！" );
		return false;
	} 	
	
	return true;
 }
 
 function isName(n,s)
 {
 	
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`"; 
 	if (isEmpty(s))
 	{
 	
 		return show("请输入姓名！",n);
 	}
 	//is s contain whitespace
   	/*if ( isWhitespace(s) )
	{
		return show("输入的姓名中不能包含空格符，请重新输入！",n);
		
	}*/
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的姓名" + s+"是无效的姓名,\n\n请不要在姓名中输入字符" + errorChar + "!\n\n请重新输入合法的姓名！" ,n);
		
	} 	
	
	return true;
 }
 
 function isHomePage(n,s)
 {
 	var errorChar;
 	var badChar = "><,[]{}?+=|\\'\";!#$%()`";
 	if (isEmpty(s))
 	{
		return show("请输入主页地址！",n);
	}
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
	if (errorChar != "" )
	{
		return show("您输入的主页地址" + s+"是无效的主页地址,\n\n请不要在主页地址中输入字符" + errorChar + "!\n\n请重新输入合法的主页地址！" ,n);
	}	
	if((s.substring(0,7)!="http://")||(s.substring(0,8)!="https://"))
		return show("您输入的主页地址应满足格式http://..或https://..");
		
	return true;
 }
 
function isSource(s)
{
   if (s=='选择')
   {
      alert("信息来源不能为空，请你选择");
      return false;
   }
   return true;
}

function isSex(s)
{
   if (s=='选')
   {
      alert("性别信息不能为空，请你选择");
      return false;
   }
   return true;
}


function isPassword (n1,n2,s1,s2)
{
   if (isEmpty(s1))
   { 
   	return show("请输入密码！",n1);
   }
   if (isEmpty(s2))
   {
 	return show("请输入确认密码！",n2);
   }	
   if(s1 != s2)
   {
   	return show("口令与确认口令不一致，请重新输入密码！",n1)
   }
  
  
//is s contain whitespace
  if ( isWhitespace(s1) )
  {
	return show("密码中不能包含空格符，请重新输入！",n1);
  }

  if ((s1.length>16)||(s1.length<4))
  {
 	return show("口令不能超过16位也不能少于4位！",n1);
  }
  return true;
}

function isInt(n,s, item)
{
  if (isEmpty(s))
  {
	return show(item + "不能为空，请输入！",n);
	
  }
      	
  var validChar = "0123456789"; 
  if (!isCharsInBag(s, validChar))
  {
	return show("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！",n);
	
  }

  return true;
}

function isIntEx(n,s, item, len, bCompare)
{
  if (isEmpty(s))
  {
	return show(item + "不能为空，请输入！",n);
	
  }

	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //Validate the user name

	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的邮编" + s +"是无效的邮编,\n\n请不要在邮编中输入字符" + errorChar + "!\n\n请重新输入合法的邮编",n);
				
	}  
  /*    	
  var validChar = "0123456789"; 
  if (!isCharsInBag(s, validChar))
  {
	return show("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！",n);
	
  }
  
  if (bCompare == "=") 
  {
    if (s.length != len)
    {
	return show("您输入的" + item + s +"是无效的" + item + "，\n\n必须等于" + len + "位！",n);
	
    }
  }
  else if (bCompare == "<")
  {
    if (s.length >= len) 
    {
	return show("您输入的" + item + s +"是无效的" + item + "，\n\n必须小于" + len + "位！",n);
	
    }
  }
  */
  return true;
}

function isValidString(n,s, des)
{
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`";
 	if (isEmpty(s))
 	{
 		return show("请输入"+ des +"！",n);
 		
 	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		return show("您输入的" + des +"是无效的"+des +",\n\n请不要在"+des+"中输入字符" + errorChar + "!\n\n请重新输入合法的"+des+"！" ,n);
		
	} 	
	
	return true;
}

function isValidPhone(n,s, item)
{
  if (isEmpty(s))
  {
	return show(item + "不能为空，请输入！",n);

  }
      	
  var validChar = "0123456789-";
  if (!isCharsInBag(s, validChar))
  {
	return show("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！",n);

  }

  return true;
}
 
function YearOptionMenu1()
{
	var YearArray = new Array;
	
	var defaultYearID, MaxYearNum;
	//defaultYearID = 1; //now set default Year "1999"
	MaxYearNum = 2000;

	var i;
	document.write("<select name='BirthYear' size='1' class='p9'>");
	var YearOptionStr;
	/*if (sel_year == "")
		sel_year = YearArray[defaultYearID];*/
 	for(i=1900; i<= MaxYearNum; i++)
	{
		
		YearOptionStr = "<option value='" + i + "'>" + i + "</option>";
		
		document.write(YearOptionStr);
	}
    document.write("</select>");
}

function MonthOptionMenu1()
{	
	var MonthArray = new Array;
	MonthArray[1] = "1";
	MonthArray[2] = "2";
	MonthArray[3] = "3";
	MonthArray[4] = "4";
	MonthArray[5] = "5";
	MonthArray[6] = "6";
	MonthArray[7] = "7";
	MonthArray[8] = "8";
	MonthArray[9] = "9";
	MonthArray[10] = "10";
	MonthArray[11] = "11";
	MonthArray[12] = "12";
	var defaultMonthID, MaxMonthNum;
	defaultMonthID = 10; //now set default Month "10"
	MaxMonthNum = 12;

	var i;
	document.write("<select name='BirthMonth' size='1' class='p9'>");
	var MonthOptionStr;
	
	/*if (sel_month == "")
		sel_month = MonthArray[defaultMonthID];*/
 	for(i=1; i<=MaxMonthNum; i++)
	{
		
		MonthOptionStr = "<option value='" + MonthArray[i] + "'>" + MonthArray[i] + "</option>";
		
		document.write(MonthOptionStr);
	}
    document.write("</select>");
}
                    
function DayOptionMenu1()
{	
	var DayArray = new Array;
	DayArray[1] = "1";
	DayArray[2] = "2";
	DayArray[3] = "3";
	DayArray[4] = "4";
	DayArray[5] = "5";
	DayArray[6] = "6";
	DayArray[7] = "7";
	DayArray[8] = "8";
	DayArray[9] = "9";
	DayArray[10] = "10";
	DayArray[11] = "11";
	DayArray[12] = "12";
	DayArray[13] = "13";
	DayArray[14] = "14";
	DayArray[15] = "15";
	DayArray[16] = "16";
	DayArray[17] = "17";
	DayArray[18] = "18";
	DayArray[19] = "19";
	DayArray[20] = "20";
	DayArray[21] = "21";
	DayArray[22] = "22";
	DayArray[23] = "23";
	DayArray[24] = "24";
	DayArray[25] = "25";
	DayArray[26] = "26";
	DayArray[27] = "27";
	DayArray[28] = "28";
	DayArray[29] = "29";
	DayArray[30] = "30";
	DayArray[31] = "31";
	var defaultDayID, MaxDayNum;
	defaultDayID = 1; //now set default Day "上海"
	MaxDayNum = 31;

	var i;
	document.write("<select name='BirthDay' size='1' class='p9'>");
	var DayOptionStr;
	/*if (sel_day == "")
		sel_day = DayArray[defaultDayID];*/
 	for(i=1; i<=MaxDayNum; i++)
	{
	
		DayOptionStr = "<option value='" + DayArray[i] + "'>" + DayArray[i] + "</option>";
		document.write(DayOptionStr);
	}
    document.write("</select>");
    }
 
function show(text,name){
   alert(""+text);
   name.focus();
   name.select();
   return false;
}