
//var err_blank = "The Email field cannot be blank.";
//var err_format = "The Email field has an invalid format.";
//var reg_msg = "That Email already registered.";
var email_err_code = false;						// false if no error

// email check - returns true if blank or valid, else false
function checkEmailNotReqd(e) {			// not required

var	me = getActivatedObject(e);
var theEmail = me.value;
var id_name = me.id + "_err";
var obj_name = me.id;						// determine field name

//alert  ("checkEmailNotReqd " + theEmail + " / "  + id_name + "  /  " +obj_name);

	if (!isEmpty(theEmail)) {
		if (!isEmail(theEmail)) {			// returns true if valid
			email_err_code = true;				// invalid format, set as invalid
			err_reg	= err_format;
		} else {
			email_err_code = false;				// set as error - invalid
			err_reg	= "";
		}
	} else {
		email_err_code = false;					// empty, not required, set as valid
		err_reg	= "";
	}

	if (!email_err_code) {						// false if no error
		me.className="valid";
		document.getElementById(id_name).className="no-err";
		document.getElementById(id_name).value = "";
		err_reg	= "";
		emailValid = true;
	} else {
		me.className="invalid";
		document.getElementById(id_name).className="err";
		document.getElementById(id_name).value = err_reg;
		emailValid = false;
	}
}

// email check - returns true if valid, else false
function checkEmailContact(e) {			// required, does not need to be registered

var	me = getActivatedObject(e);
var theEmail = me.value;
var id_name = me.id + "_err";
var obj_name = me.id;						// determine field name

//alert  ("checkEmailContact " + theEmail + " / "  + id_name + "  /  " +obj_name);

	if (!isEmpty(theEmail)) {
		if (!isEmail(theEmail)) {			// returns true if valid
			email_err_code = true;			// invalid format, set as invalid
			err_reg	= err_format;
		} else {
			email_err_code = false;			// set as error - invalid
			err_reg	= "";
		}
	} else {
		email_err_code = true;				// empty, required, set as invalid
		err_reg	= err_blank;
	}

	if (!email_err_code) {					// false if no error
		me.className="valid";
		document.getElementById(id_name).className="no-err";
		document.getElementById(id_name).value = "";
		err_reg	= "";
		emailValid = true;
	} else {
		me.className="invalid";
		document.getElementById(id_name).className="err";
		document.getElementById(id_name).value = err_reg;
		emailValid = false;
	}
}




// email check for required
// for user, pastor, and missionary, cannot already be registered
// for organization, used for contact email, not reqiured

function checkEmailReqd(e) {
	var pgmName = document.getElementById("pgmName").value;

//alert ("checkEmailReqd " + pgmName);

// get a request object and send it to the server
var	 me = getActivatedObject(e);
var	 theEmail = me.value;
var	 id_name = me.id + "_err";
var	 obj_name = me.id;							// determine field name
	 email_err_code = false;					// internal error code

//alert  ("checkEmailReqd " + theEmail + " / "  + id_name + "  /  " +obj_name);

	if (isEmpty(theEmail))  {					// error, cannot be empty
		email_err_code = true;					// set as invalid
		err_reg	= err_blank;					// set error message
	} else {									// not empty, check format
		if (!isEmail(theEmail)) {				// returns true if valid format
			email_err_code = true;				// set as invalid
			err_reg	= err_format;				// set format error message
		} else {
			err_reg	= '';						// no error
			email_err_code = false;
		}
	}
//alert ('err_reg  / ' +err_reg +' / '+email_err_code);

	if (email_err_code) {						// invalid, show error msg
		me.className="invalid";
		document.getElementById(id_name).className="err";
		document.getElementById(id_name).value = err_reg;
		emailValid = false;					// set as invalid
	} else {								// not empty, valid format, check for registered
		request = createRequest();
		if (request == null) {
			alert("Unable to create request");
		} else {
			var url = "emailgrabber.php?email=" + theEmail;
			request.onreadystatechange = showEmailStatus;			// callback function for email
			request.open("GET",url,true);		// asynchronous GET request to checkName.php with name = username
			request.send(null);									// send request
		}
	}
}

function showEmailStatus(e) {
//update the page to show whether the username is okay

	if (request.readyState == 4) {
		if (request.status == 200) {
			var response = 	request.responseText;
//alert ('err reg end / ' +err_reg +' / '+response);

			if (response == "not found") {				// not already registered
//alert ("not found");
				document.getElementById("email").className="valid";
				document.getElementById("email_err").className="no-err";
				document.getElementById("email_err").value = "";
				err_reg	= "";
				emailValid = true;									// set as valid

			} else {
// already registered
//alert ("found id= ");
				document.getElementById("email").className="invalid";
				document.getElementById("email_err").className="err";
				document.getElementById("email_err").value = reg_msg;
				err_reg	= reg_msg;
				emailValid = false;					// set as invalid
			}
		}
	}
}
