
function isletter(c)
{
  c = c.toLowerCase();
  if ((c>='a') && (c<='z'))
    return true
  else
    return false
}

function isnumber(c)
{
  if ((c>='0') && (c<='9'))
    return true
  else
	return false;
}

function checknumber(s)
{
	if (s == "")
		return false;
		
	for (i=0; i<s.length; i++)
    {
		n = s.substr(i, 1);
		if (!(isnumber(n)))
		{
			return false;
		}
    }

	return true;
}

function RadioChecked(control)
{
	var radio, i;
	radio = -1;
	for (i=0; i<control.length; i++)
	{
		if (control[i].checked)
		{
			radio = i;
			break;
		}
	}
	return radio;
}

function IsValidDate(formateddate)
{
	var DateValue = "";
	var day;
    var month;
    var year;
	var leap;

	DateValue = formateddate;
	if (!(DateValue.length == 10))
	{
		//alert("Date format error!");
		return false;
	}
	year = DateValue.substr(0,4);
	if (!checknumber(year) || year < 1900 || year > 2100)
	{
		//alert("Year is out of range!");
		return false;
	}
	// Month and Day can be zero. Here is one sample: 1970-00-00
	month = DateValue.substr(5,2);
    if (!checknumber(month) || (month < 0) || (month > 12)) 
	{
        //alert("Month is out of range!");
		return false;
    }
	day = DateValue.substr(8,2);
    if (!checknumber(day) || day < 0 || day > 31) 
	{
        //alert("Day is out of range");
		return false;
    }
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) 
	{
        leap = 1;
    }
    if ((month == 2) && (leap == 1) && (day > 29)) 
	{
        //alert("The last day of February in leap year is greater than 29");
		return false;
    }
    if ((month == 2) && (leap != 1) && (day > 28)) 
	{
        //alert("The last day of February is greater than 28");
		return false;
    }
    if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
        //alert("Day is greater than 30");
		return false;
    }
	return true;
}

function CheckPID(pid, region)
{
	switch (region)
	{
		case "1":
			if (pid.length != 15 && pid.length != 18 )
			{
				return false;
			}
			if (checknumber(pid))
			{
				return true;
			}
			if (checknumber(pid.substr(0,17)) && pid.substr(17,1) == "x")
			{
				return true;
			}
			break;
		case "2": // One sample: D101323(1)
			break;
	}
	return true;
}

function checkmobile(mobile, region)
{
	switch (region)
	{
		case "1":
			if (checknumber(mobile) && (mobile.length == 11) && (mobile.substr(0, 2) == 13))
			{
				  return true;
			}
			break;
		case "2":
			if (checknumber(mobile) && (mobile.length == 8) && (mobile.substr(0, 1) == 9))
			{
				  return true;
			}
			break;
	}
	return true;
}

function isEmail (s)
{
	var i = 1;
	var len = s.length;
	if (len > 50 || len < 5)
	{
		return false;
	}

	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 false;
	}
	else
	{
		//check @. or .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
                  || ( pos1 != pos3 )  //find two @
                  || ( pos4 < pos3 ) ) //. should behind the '@'
		{
			return false;
		}
	}
	return true;
}

function checkMemberName(s)
{
    var pattern=/^\w+$/
	if(s.length>18 || s.length<6 || pattern.test(s)==false){
		return false;
	}
	return true;
}
function checkPassword(s)
{
    var pattern=/^\w+$/
	if(s.length>18 || s.length<6 || pattern.test(s)==false){
		return false;
	}
	return true;
}
function checkChineseCharacter(s)
{
    var pattern=/^[\u4E00-\u9FA5\uF900-\uFA2D]+$/
	if(pattern.test(s)==false){
		return false;
	}
	return true;
}