function isBlank(val)
{
	for (var i = 0; i < val.length; i++)
	{
		var test = val.charAt(i);
		if ((test != ' ') && (test != '　') && (test != '\n') && (test != '\t'))
			return false;
	}
	return true;
}

function isValidEmail(str)
{
	//var regex = new RegExp("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
    //return regex.test(str);
    
	if (!str) return false;
	if (isBlank(str) == true) return false;

	var at_loc = str.indexOf("@");
	var dot_loc = str.lastIndexOf(".");

	if ((at_loc == "-1") || (dot_loc == "-1") || (dot_loc < at_loc) || (dot_loc == (str.length-1)))
		return false;

	var iChars = "*|\":<>[]{}`\';()&$#%!=?\\";
	for (var i = 0; i < str.length; i++) {
		wstr = str.charAt(i);
		if (iChars.indexOf(wstr) != -1) {
			return false;
		}
		c = escape( wstr );		if ( c.length > 3 )
		{
			alert("E-mailアドレスに全角文字が含まれています。");
			return false;
		}
	}
	return true;
}

function CheckEmail(email)
{
	var l, iFirst, iLast, i;
	// left trim
	l = email.length;
	iFirst = 0;
	for (i = 0; i < l; i++)
	{
		var ch = email.charAt(i);
		if (ch == ' ' || ch == '\n' || ch == ',' || ch == '\t')
			iFirst = i + 1;
		else
			break;
	}
	email = email.substring(iFirst);
	// right trim
	l = email.length;
	iLast = l;
	for (i = l - 1; i >= 0; i--)
	{
		var ch = email.charAt(i);
		if (ch == ' ' || ch == '\n' || ch == ',' || ch == '\t')
			iLast = i;
		else
			break;
	}
	email = email.substring(0, iLast);
	
	if (!isValidEmail(email))
		return false;

	return email;
}

function CheckDate(nYear, nMonth, nDate)
{
	if ((nMonth == 2)&&(nDate >= 29 ))
	{
		if (!(nYear % 4))
			nDate = 29;
		else
			nDate = 28;
	}
	else if ((nDate >= 31)&&((nMonth == 4)||(nMonth == 6)||(nMonth == 9)||(nMonth==11)))
	{
		nDate = 30;
	}
	return nDate;
}
