function trim(s) 
{
        while (true) {
                if (s.charAt((s.length-1)) == " " || s.charAt((s.length-1)) == "\n" || s.charAt((s.length-1)) == "\r") {
                        s = s.substr(0, (s.length-1));
                } else {
                        break;
                }
        }
        i=0;
        while (true) {
                if (s.charAt(i) == " " || s.charAt(i) == "\n" || s.charAt(i) == "\r") {
                        s = s.substr((i+1), (s.length-1));
                } else {
                        break;
                }
                i++;
        }
        return s;
}

function LTrim( value ) 
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}
// Removes ending whitespaces
function RTrim( value ) 
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) 
{
	return LTrim(RTrim(value));
}

function IsNumber(value)
{
	if (value == "")
    {
       return false;
    }
    if (value != "" && !value.match(/^[0-9]{1,}$/))
    {
        return false
    }
    return true;
 }       
 
 function IsEmail(value)
 {
	if (value == "")
    {
        return false;
    }
    if (!value.match(/[0-9a-zA-Z.-]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z.-]+.*/))
    {
        return false;
    }
    return true;
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber = true;
	var Char;
	for (i=0;i< sText.length && IsNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function WriteFlash(SWFfile, width, height)
{

	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+width+'" height="'+height+'">');
    document.write('<param name="movie" value="'+SWFfile+'">');
    document.write('<param name="quality" value="high">');
    document.write('<param name="WMode" value="transparent">');
    document.write('<embed src="'+SWFfile+'" wmode="transparent" quality="high" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed>');
    document.write('</object>');
    
}


function IsEmpty(id)
{
	var ret = true;
	
	if (trim(document.getElementById("div"+id).innerHTML) != "")
	{
		ret = false;
	}
	return ret;
}

function GetFreeDivID()
{
	var ret = 0;
	for(var i = 1; i <=30; i++)
	{
		if (IsEmpty(i))
		{
			ret = i;
			break;
		}
	}

	return ret;
}

function ValidName(id)
{
	var ret = true;
	var name = trim(document.getElementById(id).value);
	
	if (name == "" || name == "閣下的名字")
	{
		ret = false;
	}
	return ret;
}


function ValidEmail(id)
{
	var email = trim(document.getElementById(id).value);
	return IsEmail(email);
}

function Clear(id)
{
	document.getElementById("name"+id).value = "";
	document.getElementById("email"+id).value = "";
}

function Destroy(id)
{
	if (document.getElementById("div"+id))
		document.getElementById("div"+id).innerHTML = "";
}

function RemoveAddedItem(id)
{
	document.getElementById("div"+id).innerHTML = "";
}

function Preview()
{
	document.getElementById("main").style.display = "none";
	document.getElementById("preview").style.display = "";
	
	document.getElementById("myname_preview").innerHTML = trim(document.getElementById("myname").value);
	document.getElementById("message_preview").innerHTML = trim(document.getElementById("message").value);
	
}

function BackFromPreview()
{
	document.getElementById("main").style.display = "";
	document.getElementById("preview").style.display = "none";
}

function SomeInput()
{
	
	var ret = false;
	for(var i = 1; i <=30; i++)
	{
		if (document.getElementById("nameadd"+i))
		{
			if (trim(document.getElementById("nameadd"+i).value) != "" || trim(document.getElementById("emailadd"+i).value) != "")
			{
				ret = true;
				break;
			}
		}
	}
	
	for(var i = 1; i <=5; i++)
	{
		if (document.getElementById("name"+i))
		{
			if (trim(document.getElementById("name"+i).value) != "" || trim(document.getElementById("email"+i).value) != "")
			{
				ret = true;
				break;
			}
		}
	}
	
	return ret;

}

function HasOneReceiver()
{
	var ret = "";
	if (SomeInput())
	{
		for(var i = 1; i <=5; i++)
		{
			if (document.getElementById("name"+i))
			{
				var name = trim(document.getElementById("name"+i).value);
				var email = trim(document.getElementById("email"+i).value);
				if (name != "" || email != "")
				{
					if (!ValidName("name"+i)) 
					{
						ret += "請輸入" +email+"的名字!!\n";			
					}
					if (!ValidEmail("email"+i)) 
					{
						if (email != "")
							ret += "收件人電郵不對: " + email + "!!\n";			
						else	
							ret += "請輸入" +name+"的電郵!!\n";				
					}
				}
			}
		}
		
		for(var i = 1; i <=30; i++)
		{
			if (document.getElementById("nameadd"+i))
			{
				var name = trim(document.getElementById("nameadd"+i).value);
				var email = trim(document.getElementById("emailadd"+i).value);
				if (name != "" || email != "")
				{
					if (!ValidName("nameadd"+i)) 
					{
						ret += "請輸入" +email+"的名字!!\n";			
					}
					if (!ValidEmail("emailadd"+i)) 
					{
						if (email != "")
							ret += "收件人電郵不對: " + email + "!!\n";			
						else	
							ret += "請輸入" +name+"的電郵!!\n";					
					}
				}
			}
		}
		
		
	}
	else
	{
		
		ret = "最小一位收件人!!\n";
		
	}
	return ret;

}




function over(sender)
{
	sender.src = sender.src.replace(".jpg", "_d.jpg");
	sender.src = sender.src.replace(".gif", "_d.gif");
}

function out(sender)
{
	sender.src = sender.src.replace("_d.jpg", ".jpg");
	sender.src = sender.src.replace("_d.gif", ".gif");
}

function onName(sender)
{
	
	if (trim(sender.value) == "閣下的名字")
	{
		sender.value = "";
	}
}

function onEmail(sender)
{
	if (sender.value == "閣下的電郵")
	{
		sender.value = "";
	}

}




var msg = "";

function Add()
{
   
	var divid = 0;
	if (IsValid())
	{
	    
		if (ValidName("name1") && ValidEmail("email1"))
		{
			
			divid = GetFreeDivID();
			if (divid > 0)
			{
			    
				Create1(divid,1);
				
				Clear(1);
				
			}
		}
		if (ValidName("name2") && ValidEmail("email2"))
		{
			divid = GetFreeDivID();
			if (divid > 0)
			{
				Create1(divid,2);
				Clear(2);
			}
		}

		if (ValidName("name3") && ValidEmail("email3"))
		{
			divid = GetFreeDivID();
			if (divid > 0)
			{
				Create1(divid,3);
				Clear(3);
			}
		}

		if (ValidName("name4") && ValidEmail("email4"))
		{
			divid = GetFreeDivID();
			if (divid > 0)
			{
				Create1(divid,4);
				Clear(4);
			}
		}
		if (ValidName("name5") && ValidEmail("email5"))
		{
			divid = GetFreeDivID();
			if (divid > 0)
			{
				Create1(divid,5);
				Clear(5);
			}
		}

	}
	else
	{
		alert(msg);
	}
}

function IsValid()
{
	var ret = true;
	return ret;
}


function IsValidFinal()
{
	var ret = "";
	
	if (!ValidName("myname")) 
	{
		ret += "閣下的名字\n";
	}
	if (!ValidEmail("myemail"))
	{
		ret += "閣下的電郵\n";
	}
	if (trim(document.getElementById("message").value) == "" || trim(document.getElementById("message").value) == "祝福句")
	{
		ret += "祝福句\n";
	}
	if (ret != "")
	{
		ret = "請再輸入以下資料:\n\n" + ret;
	}
	return ret;
}
/*
function GoSubmit()
{
	if (IsValidFinal() && HasOneReceiver())
	{
		document.form1.submit();
	}
	else
	{
		if (!HasOneReceiver())
		{
			msg += "請按「加入收件人按鈕」寄出賀年咭";
		}
		alert(msg);
	}
}
*/

function GoSubmit()
{
	var msg = "";
	msg += IsValidFinal();
	msg += HasOneReceiver();
	
	if (msg != "")
	{
		alert(msg);
	}
	else
	{
		document.form1.submit(); 
	}
	
}


function Create1(id, id2)
{
	var name = trim(document.getElementById("name"+id2).value);
	var email = trim(document.getElementById("email"+id2).value);
	var content = "";
	content+="	<table  border='0' cellspacing='3'>";
	content+="      <tr>";
    content+="          <td width='200px'>";
	content+="              <input  name='nameadd"+id+"' type='text' class='nameWidth' id='nameadd"+id+"' value='"+name+"'/>";
	content+="          </td>";
    content+="          <td width='200px'>";
    content+="              <input name='emailadd"+id+"' type='text' class='emailWidth' id='emailadd"+id+"'  value='"+email+"'/>";
	content+="          </td>";
	content+="          <td>";
	content+="              <a href='javascript:RemoveAddedItem("+id+");'><img src='images/btn_remove.gif' border='0' onMouseOut='out(this)' onMouseOver='over(this)'/></a>";
	content+="          </td>";
	content+="      </tr>";
	content+="	</table>";

	document.getElementById("div"+id).innerHTML = content;

}

function preview()
{
	
	document.body.style.backgroundImage = 'url(images/preview_bg.jpg)' 
	
	document.getElementById("main").style.display = "none";
	document.getElementById("preview").style.display = "";

	document.getElementById("premyName").innerHTML = trim(document.getElementById("myname").value);
	document.getElementById("preRec").innerHTML = "";
	for(var i = 1; i <=5; i++)
	{
		if (trim(document.getElementById("name"+i).value) != "")
		{
			document.getElementById("preRec").innerHTML = trim(document.getElementById("name"+i).value);
			break;
		}
	}
	
	if (document.getElementById("preRec").innerHTML == "")
	{
		for(var i = 1; i <=30; i++)
		{
			if (document.getElementById("nameadd"+i))
			{
				if (trim(document.getElementById("nameadd"+i).value) != "")
				{
					document.getElementById("preRec").innerHTML = trim(document.getElementById("nameadd"+i).value);
					break;
				}
			}
		}

	}

	
	var mg = trim(document.getElementById("message").value);
	for(var i = 0 ; i < 20; i ++)
	{
		mg = mg.replace("\n","<br/>");
	}
	document.getElementById("preMsg").innerHTML = mg;
}

function backMain()
{
	document.body.style.backgroundImage = 'url(images/inside_bg.jpg)' 
	document.getElementById("main").style.display = "";
	document.getElementById("preview").style.display = "none";
}

function onMsg(sender)
{

	if (sender.value == "祝福句")
	{
		sender.value = "";
	}

}

function writeMsg(sender)
{
	if (document.getElementById("message").value == "祝福句")
	{
		document.getElementById("message").value = "";
	}
	if (document.getElementById("message").value != "")
	{
		document.getElementById("message").value += "\n";
	}
	document.getElementById("message").value  += sender.innerHTML;
}


