function CheckLetterCase(field, type) {
// change the case of letters
// Type 1 = sentence case so look for .
// Type 2 = each word starts with capital e.g. for names and adddresses 
var originalstring = field.value;
var newstring = "";
var nextletter = "uppercase";
var stringlength = originalstring.length;
if (stringlength != 0) {
	for (i=0;i<stringlength;i++) {
		thisletter = originalstring.charAt(i);
		if (thisletter == ".") {nextletter = "uppercase";}
		if (thisletter == " " && type == "2") {nextletter = "uppercase";
		newstring = newstring + " ";
		}
		else if (nextletter == "uppercase" && thisletter == " ") {; }// do nothing to remove blanks
		else if (nextletter == "uppercase") {newstring = newstring + thisletter.toUpperCase();
		nextletter = "lowercase";	}
		else newstring = newstring + thisletter.toLowerCase();
		// end of loop below
	}
field.value = newstring;
}
// empty field
else;
// end of not function below
}


function CheckEMailCharacters(field,validcharacters) {
var charactersallowed  = validcharacters;
var checkStr = field;
var allValid = true;
var i = 0;
while (allValid == true && i < checkStr.length) {
ThisOneValid = false;
j = 0;
while (ThisOneValid == false && j < charactersallowed.length) {
if (checkStr.charAt(i)==charactersallowed.charAt(j)) ThisOneValid=true;
j++;
}
if (ThisOneValid == false) allValid = false;
else i++;		
}		
if (allValid==false) {
//alert("Invalid Character Found " + checkStr.charAt(i));	
return 1;
}
else return 0;
}	

function CheckEMailFormat(field) {
	var charactersallowed  = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
  	email = field.value;
	var emailpattern=/^(.+)@(.+)$/;
	//var userdomainpattern=/^(.+)\.(.+)$/;
	var emailarray=email.match(emailpattern);
    // check pattern user.name@domain.address and create array username before@,domain after@
	if (emailarray==null) {
	alert(document.EmailMessages.Message1.value);
	return 1;
    }	
    else { // we now have the first part in EmailArray[1] and the second part in EmailArray[2];
		var username=emailarray[1];
		// now check parts of user name 
	    var usernamearray=username.split(/\./);
		var len=usernamearray.length;
		for (i=0;i<len;i++) {
		if (CheckEMailCharacters(usernamearray[i],charactersallowed)==0);
		else {
	    alert(document.EmailMessages.Message2a.value + usernamearray[i] + document.EmailMessages.Message2b.value + charactersallowed);
		return 2;
		}
		}
		var domain=emailarray[2];
		var domainarray=domain.split(/\./);
		var len=domainarray.length;
		for (i=0;i<len;i++) {
		if (CheckEMailCharacters(domainarray[i],charactersallowed)==0);
		else {
		alert(document.EmailMessages.Message3a.value + domainarray[i] + document.EmailMessages.Message3b.value + charactersallowed);
		return 3;
		}
		}
		var domainendings=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var domainend="com,net,org,edu,int,mil,gov,arpa,biz,aero,name,coop,info,pro,museum";
		if (domainarray[len-1].length!=2 &&  domainarray[len-1].toLowerCase().search(domainendings)==-1) {
		alert(document.EmailMessages.Message4a.value + domain + document.EmailMessages.Message4b.value + domainend);
		return 4;
		}
		if (len<2) {
		alert(document.EmailMessages.Message5a.value + domain + document.EmailMessages.Message5b.value);
		return  5;	
		}
	}	
	return 0;
	
}

function CheckEMail(field) {
	if (field.value==null||field.value=="") {
	// Do Not Check as field is blank
	return 98;
	}
	else {
	var result = CheckEMailFormat(field);
	if (result==0) return 0;
	else {
	if (field.type!="hidden") field.focus();
	return 99;
	}
	}
}

function CheckSubmit() {
    var email1=document.getElementById('textfield3').value;
    var email2=document.getElementById('textfield4').value;
    
	if (email1!=email2) alert (" The E Mail addresses are different. \n Please amend and then submit");
	else document.getElementById('form1').submit();
	
	
	}

