﻿function CheckRequiredFields() {
var errormessage = new String();
var Today = new Date();
var ThisYear = Today.getFullYear();
var ThisMonth = Today.getMonth() + 1;
if(WithoutSelectionValue(document.form1.Title))	{errormessage += "\n\nPlease select your title.";}
if(WithoutContent(document.form1.First_Name.value))	{errormessage += "\n\nPlease enter your first name.";}
if(WithoutContent(document.form1.Surname.value))	{errormessage += "\n\nPlease enter your surname.";}
if(WithoutSelectionValue(document.form1.Gender))	{errormessage += "\n\nPlease enter your gender.";}
if(WithoutContent(document.form1.Address1.value))	{errormessage += "\n\nPlease enter your address.";}
if(WithoutContent(document.form1.Town_City.value))	{errormessage += "\n\nPlease enter your town or city.";}
if(WithoutContent(document.form1.Postcode.value))	{errormessage += "\n\nPlease enter your postcode.";}
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(WithoutSelectionValue(document.form1.Sponsored_Participant_ID))	{errormessage += "\n\nPlease select the participant.";}
if(NoneWithCheck(document.form1.Sponsored_Amt) && WithoutContent(document.form1.Sponsored_Amt_Other.value))	{errormessage += "\n\nPlease select a sponsorship amount.";}
if(WithoutSelectionValue(document.form1.Credit_Card_Type))	{errormessage += "\n\nPlease enter the credit card type.";}
if(WithoutContent(document.form1.Credit_Card_Number.value) || !isCreditCard(document.form1.Credit_Card_Number.value))	{errormessage += "\n\nPlease enter the credit card number.";}
var cardM = document.form1.Expiry_Date_Month.selectedIndex
var cardMonth = document.form1.Expiry_Date_Month.options[cardM].value;
if(WithoutSelectionValue(document.form1.Expiry_Date_Month))	{errormessage += "\n\nPlease select the credit card expiry month.";}
var cardY = document.form1.Expiry_Date_Year.selectedIndex
var cardYear = document.form1.Expiry_Date_Year.options[cardY].value;
if(WithoutSelectionValue(document.form1.Expiry_Date_Year))	{errormessage += "\n\nPlease select the credit card expiry year.";}
if (cardYear < ThisYear || cardYear <= ThisYear && cardMonth < ThisMonth){errormessage += "\n\nYour card appears to have expired.";}
if(WithoutContent(document.form1.Security_Code.value))	{errormessage += "\n\nPlease enter the credit card security code.";}
if(WithoutContent(document.form1.Name_on_Card.value))	{errormessage += "\n\nPlease enter the name on the credit card.";}
if(WithoutContent(document.form1.Billing_Postcode.value))	{errormessage += "\n\nPlease enter credit card billing postcode.";}


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.Sponsored_Amt.length; i++){
		document.form1.Sponsored_Amt[i].checked = false
	}
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	else 
	countfield.value = maxlimit - field.value.length;
}