﻿function splitEmail(str)
{
	strEmail = str.split(";");
	
	if (strEmail.length > 10)
	{
		alert("一次請勿寄超過10個人！");
		return false;
	}
	
	for (i = 0; i < strEmail.length; i ++)
	{
		if (!isValidEmail(strEmail[i], true))
		{
			alert("[" + strEmail[i] + "] EMail格式不正確");
			return false;
		}
	}
	
	return true;
}

function isValidEmail(email, required) 
{
    if (required == undefined) 
        required = true;
    
    if (email == null) 
    {
        if (required) 
            return false;
        
        return true;
    }
    
    if (email.length == 0) 
    {  
        if (required) 
            return false;
        
        return true;
    }
    
    if (!allValidChars(email))   // check to make sure all characters are valid
        return false;
    
    if (email.indexOf("@") < 1)  //  must contain @, and it must not be the first character
        return false;
    else if (email.lastIndexOf(".") <= email.indexOf("@"))  // last dot must be after the @
        return false;
    else if (email.indexOf("@") == email.length)  // @ must not be the last character
        return false;
    else if (email.indexOf("..") >= 0)  // two periods in a row is not valid
		return false;
    else if (email.indexOf(".") == email.length)   // . must not be the last character
		return false;
    
    return true;
}

function allValidChars(email) 
{
	var parsed = true;
  	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  	for (var i = 0; i < email.length; i ++) 
  	{
    	var letter = email.charAt(i).toLowerCase();
    	if (validchars.indexOf(letter) != -1)
      		continue;
      		
    	parsed = false;
    	break;
  	}
  	
  	return parsed;
}

