function CheckRequiredFields() {

var errormessage = new String();
var Today = new Date();
var ThisYear = Today.getFullYear();
var ThisMonth = Today.getMonth() + 1;
var cardM = document.form1.epMonth.selectedIndex
var cardY = document.form1.epYear.selectedIndex
var cardYear = document.form1.epYear.options[cardY].value;
var cardMonth = document.form1.epMonth.options[cardM].value;
var cardType = document.form1.pMethod.selectedIndex

if(WithoutContent(document.form1.Given_Name.value))	{errormessage += "\n\nPlease enter your first name.";}
if(WithoutContent(document.form1.Family_Name.value))	{errormessage += "\n\nPlease enter your family name.";}
if(WithoutContent(document.form1.Address1.value))	{errormessage += "\n\nPlease enter your address.";}
if(WithoutContent(document.form1.Country.value))	{errormessage += "\n\nPlease enter your country.";}
if(WithoutContent(document.form1.Telephone.value))	{errormessage += "\n\nPlease enter your telephone number.";}
if(WithoutContent(document.form1.Email.value))	{errormessage += "\n\nPlease enter your email address.";}
if(NoneWithCheck(document.form1.Amt) && WithoutContent(document.form1.Amt_Other.value))	{errormessage += "\n\nPlease enter a donation amount.";}
if(WithoutContent(document.form1.cardNo.value))	{errormessage += "\n\nPlease enter the credit card number.";}
if(!isCreditCard(document.form1.cardNo.value))	{errormessage += "\n\nPlease check the credit card number.";}
if(WithoutContent(document.form1.securityCode.value))	{errormessage += "\n\nPlease enter the credit card security code.";}
if(WithoutSelectionValue(document.form1.epMonth))	{errormessage += "\n\nPlease select the credit card expiry month.";}
if(WithoutSelectionValue(document.form1.epYear))	{errormessage += "\n\nPlease select the credit card expiry year.";}
if (cardYear < ThisYear){errormessage += "\n\nYour card appears to have expired.";}
if (cardYear <= ThisYear && cardMonth < ThisMonth){errormessage += "\n\nYour card appears to have expired.";}
if(WithoutContent(document.form1.cardHolder.value))	{errormessage += "\n\nPlease enter the name on the credit card.";}
for (var m= 0; m < document.form1.Receipt.length; m++){
	if (document.form1.Receipt[m].checked){
		var rcpt = document.form1.Receipt[m].value;
	}
}
if(WithoutCheck(document.form1.Keep_Informed))	{
	var KI = "Keep Me Informed";
	} else {
	var KI = "Do Not Keep Me Informed";
	}

if(NoneWithCheck(document.form1.Amt))	{
	document.form1.amount.value = document.form1.Amt_Other.value;
	var aa =  
	document.form1.Title.options[document.form1.Title.selectedIndex].text + '|' + 
	document.form1.Given_Name.value + '|' + 
	document.form1.Family_Name.value + '|' + 
	document.form1.Address1.value + '|' + 
	document.form1.Address2.value + '|' + 
	document.form1.Address3.value + '|' + 
	document.form1.Country.value + '|' + 
	document.form1.Telephone.value + '|' + 
	document.form1.Fax.value + '|' + 
	document.form1.Email.value + '|' + 
	document.form1.Purpose.options[document.form1.Purpose.selectedIndex].text + '|' + 
	rcpt + '|' + 
	KI;
	document.form1.remark.value = aa;
}
if(WithoutContent(document.form1.Amt_Other.value))	{
	for (var i = 0; i < document.form1.Amt.length; i++){
		if(document.form1.Amt[i].checked){
			document.form1.amount.value = document.form1.Amt[i].value;
		}
	}
	var bb = 
	document.form1.Title.options[document.form1.Title.selectedIndex].text + '|' + 
	document.form1.Given_Name.value + '|' + 
	document.form1.Family_Name.value + '|' + 
	document.form1.Address1.value + '|' + 
	document.form1.Address2.value + '|' + 
	document.form1.Address3.value + '|' + 
	document.form1.Country.value + '|' + 
	document.form1.Telephone.value + '|' + 
	document.form1.Fax.value + '|' + 
	document.form1.Email.value + '|' + 
	document.form1.Purpose.options[document.form1.Purpose.selectedIndex].text + '|' + 
	rcpt + '|' + 
	KI;
	document.form1.remark.value = bb
}

if(errormessage.length > 2) {
	alert('NOTE:' + errormessage);
	return false;
	}
return true;
} 

function WithoutContent(ss) {
if(ss.length > 0) { return false; }
return true;
}

function NoneWithContent(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].value.length > 0) { return false; }
	}
return true;
}

function NoneWithCheck(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].checked) { return false; }
	}
return true;
}

function WithoutCheck(ss) {
if(ss.checked) { return false; }
return true;
}

function WithoutSelectionValue(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].selected) {
		if(ss[i].value.length) { return false; }
		}
	}
return true;
}

function isCreditCard( CC ) {                         
if (CC.length > 19)	return (false);
sum = 0; mul = 1; l = CC.length;
for (i = 0; i < l; i++) {
   digit = CC.substring(l-i-1,l-i);
   tproduct = parseInt(digit ,10)*mul;
   if (tproduct >= 10)
		sum += (tproduct % 10) + 1;
   else
		sum += tproduct;
   if (mul == 1)
		mul++;
   else
		mul--;
}
if ((sum % 10) == 0)              
	return (true);
else
   return (false);
}

function DeselectRadio(form){
	for (var i = 0; i < document.form1.Amt.length; i++){
		document.form1.Amt[i].checked = false
	}
}
