
function checkOrgname() {
	orgname = document.getElementById("orgname").value;
	pgmName = document.getElementById("pgmName").value;		// called from program name
	err_code = false;										// internal error = true if error
	err_desc = '';

//alert("checkOrgname / "  +pgmName);
	empty_name = isEmpty(orgname);		// returns true if empty or null, otherwise false

	if (!empty_name && !isOrgName(orgname)) {
		err_desc = err_orgName;
		err_code = true;								// invalid format
	}

	if (empty_name) {
		if (pgmName == 'organization') {	// orgname cannot be empty if an organization or leadership
			err_desc = err_orgBlank;
			err_code = true;
		} else {
			err_code = false;						// not an organization, orgname can be empty
		}
	}

	if (err_code) {
		document.getElementById("orgname").className="invalid";
		document.getElementById("orgname_err").className="err";
		document.getElementById("orgname_err").value = err_desc;
		orgNameValid = false;
		return false;
	} else {
		document.getElementById("orgname").className="nvalid";
		document.getElementById("orgname_err").className="no-err";
		document.getElementById("orgname_err").value = "";
		orgNameValid = true;
		return true;
	}
}

// called only for an organization - others use modules in checkEmail.js
// email check for required - cannot already be registered

function checkOrgEmail() {
	var pgmName = document.getElementById("pgmName").value;		// called from program name
	var orgemail = document.getElementById("orgemail").value;

//alert("checkOrgEmail org / " + orgemail);

	if (isEmpty(orgemail)) {
		if(pgmName == 'organization' || pgmName == 'leadership') {				// required only for organizations
			document.getElementById("orgemail").className="invalid";
			document.getElementById("orgemail_err").className="err";
			document.getElementById("orgemail_err").value = err_blank;
			orgEmailValid = false;					// set as invalid
		} else {									// empty, not org, set as valid
			document.getElementById("orgemail").className="valid";
			document.getElementById("orgemail_err").className="no-err";
			document.getElementById("orgemail_err").value = "";
			orgEmailValid = true;					// empty, not org, set as valid
		}

// org email present, check for valid
	} else {
		if (!isEmail(orgemail)) {
			document.getElementById("orgemail").className="invalid";
			document.getElementById("orgemail_err").className="err";
			document.getElementById("orgemail_err").value = err_format;
			orgEmailValid = false;				// set as invalid
		} else {
// org email present and valid, check for existing in table
			request = createRequest();
			if (request == null) {
				alert("Unable to create request");
			} else {
				var url = "orgemailgrabber.php?email=" + orgemail;
				request.onreadystatechange = showOrgEmailStatus;	// callback function
				request.open("GET",url,true);	// asynchronous GET request to checkName.php with name = username
				request.send(null);									// send request
			}
		}
	}
}

function showOrgEmailStatus(e) {
//update the page to show whether the username is okay
	if (request.readyState == 4) {
		if (request.status == 200) {
pgmName = document.getElementById("pgmName").value;		// called from program name
// alert("pgmName " + pgmName);

var response = 	request.responseText;
			if (response != "okay") {						// organization already registered
				var responseArr= response.split("|");
				var valid = responseArr[0];
				var org_name = responseArr[1];				// Organization name
				document.getElementById("orgname").value = org_name;
//				document.getElementById("orgname").disabled = 'disabled';
//				document.getElementById("register").className="disabled";	// do not allow changes to org record
			}  else {
				valid = 'okay';
				document.getElementById("orgname").value = '';
				document.getElementById("orgname").disabled = '';
				document.getElementById("register").className="accept";		// allow changes to record
			}

			if (pgmName == 'organization' && valid == "denied")	{	// for organization,cannot be registered
// already registered
				document.getElementById("orgemail").className="invalid";
				document.getElementById("orgemail_err").className="err";
				document.getElementById("orgemail_err").value = reg_msg;
				orgEmailValid = false;					// set as invalid
				document.getElementById("register").className="disabled";			// do not allow changes to org record
			} else {
				document.getElementById("orgemail").className="valid";
				document.getElementById("orgemail_err").className="no-err";
				document.getElementById("orgemail_err").value = "";
				orgEmailValid = true;					// set as valid
//				document.getElementById("register").className="disabled";	// do not allow changes to org record
			}
		}
	}
}

// check for contact email required - can already be registered
function checkContactEmail() {
	theEmail = document.getElementById("contactemail").value;
	email_err_code = false;					// internal error code

//alert("contact Email / " + theEmail);
	if (isEmpty(theEmail)) {				// required
		document.getElementById("contactemail").className="invalid";
		document.getElementById("contactemail_err").className="err";
		document.getElementById("contactemail_err").value = err_blank;
		document.getElementById("contactfirstName").value ="";
		document.getElementById("contactlastName").value ="";
		document.getElementById("contactfirstName").disabled = '';
		document.getElementById("contactlastName").disabled = '';
		contactEmailValid = false;						// required, set as invalid
		contactfirstNameValid = false;					// set as invalid
		contactlastNameValid = false;					// set as invalid
	} else {
		if (!isEmail(theEmail)) {			// not empty, check for valid, returns true if valid
			document.getElementById("contactemail").className="invalid";
			document.getElementById("contactemail_err").className="err";
			document.getElementById("contactemail_err").value = err_format;
			contactEmailValid = false;					// set as invalid
		} else {								// not empty, valid, check for registered
			request = createRequest();
			if (request == null) {
				alert("Unable to create request");
			} else {
				var url = "emailgrabber.php?email=" + theEmail;
				request.onreadystatechange = showContactEmailStatus;	// callback function for contact email
				request.open("GET",url,true);		// asynchronous GET request to checkName.php with name = username
				request.send(null);									// send request
			}
		}
	}
}

// check for contact registered, get name if available
function showContactEmailStatus(e) {
	if (request.readyState == 4) {
		if (request.status == 200) {
			pgmName = document.getElementById("pgmName").value;		// called from program name
			err_code = false;
			var response = 	request.responseText;
//alert ("responseText = " + response);

			if (response == "not found") {						// contact not already registered
				if (pgmName =="organization") {
					err_code = true;							// contact must already be registered
					document.getElementById("contactemail").className="invalid";
					document.getElementById("contactemail_err").value = not_reg;
					document.getElementById("contactemail_err").className="err";
				} else {
					err_code = false;
					document.getElementById("contactemail").className="valid";
					document.getElementById("contactemail_err").className="no-err";
					document.getElementById("contactfirstName").value ="";
					document.getElementById("contactfirstName").className="valid";
					document.getElementById("contactfirstName").disabled = '';
					document.getElementById("contactlastName").value ="";
					document.getElementById("contactlastName").className="valid";
					document.getElementById("contactlastName").disabled = '';
				}
			} else {								// contact already registered, okay, get name info
				var responseArr= response.split("|");
				var valid = responseArr[0];
				var first_name = responseArr[1];				// contact first name
				var last_name = responseArr[2];				// contact first name
				document.getElementById("contactfirstName").value =first_name;
				document.getElementById("contactlastName").value =last_name;
				document.getElementById("contactfirstName").disabled = 'disabled';
				document.getElementById("contactlastName").disabled = 'disabled';
				document.getElementById("contactemail").className="valid";
				document.getElementById("contactemail_err").className="no-err";
				document.getElementById("contactemail_err").value = "";
				contactEmailValid = true;						// set as valid
				contactfirstNameValid = true;					// set as valid
				contactlastNameValid = true;					// set as valid
			}
		}
	}
}

