
window.onload = initPage;

// if var is false, field has error or not tested
var emailValid = false;
var firstNameValid = false;
var lastNameValid = false;
var commentsValid = false;

var err_blank = "The Email field cannot be blank.";
var err_format = "The Email cannot be blank or has an invalid format.";
var err_reg ="Please enter a valid email address.";				// email error, set in checkEmail.js
var err_name = "That name blank or has an invalid format";

var err_comments ="The Comments field is blank or has invalid characters."

function initPage() {
// equivalent to assigning the "onblur" in the input field	HF, p57
//alert ("init");
	document.getElementById("email").onblur= checkEmailContact;			// required
	document.getElementById("firstName").onblur= firstNameCheck;		// required
	document.getElementById("lastName").onblur= lastNameCheck;			// required
	document.getElementById("comments").onblur= checkComments;			// required

	rtn = getSession();									// get requestor information from session

	var	projNo = document.getElementById("projNo").value;
	if (projNo > 0) {
		rtn = getProj();
	}
}

function getSession() {
//alert ("get session");
	userRequest = createRequest();
	if (userRequest == null) {
		alert("Unable to create userRequest");
	} else {
		var url = "sessiongrabber.php";
//alert ("url " + url);
		userRequest.onreadystatechange = showSessionStatus;		// callback function for session info
		userRequest.open("GET",url,true);		// asynchronous GET userRequest to checkName.php with name = username
		userRequest.send(null);									// send userRequest
	}
}

function showSessionStatus() {
	if (userRequest.readyState == 4) {
		if (userRequest.status == 200) {

			var responseText =	userRequest.responseText;
//alert ("responseText "+responseText);
			var userResponseXML = userRequest.responseXML;

			var userEmail = userResponseXML.getElementsByTagName("email")[0];	// logged in user
			var userEmailText = userEmail.firstChild.nodeValue;
			document.getElementById("email").value=userEmailText;
// alert("userEmailText " + userEmailText + ' / ' + userEmailText.length);
			if (userEmailText.length > 1) {
				document.getElementById("email").disabled = 'disabled';
				document.getElementById("firstName").disabled = 'disabled';
				document.getElementById("lastName").disabled = 'disabled';
			}

			var firstName = userResponseXML.getElementsByTagName("first_name")[0];
			var firstNameText = firstName.firstChild.nodeValue;
			document.getElementById("firstName").value=firstNameText;

			var lastName = userResponseXML.getElementsByTagName("last_name")[0];
			var lastNameText = lastName.firstChild.nodeValue;
			lastNameText = stripBlanks(lastNameText);
			document.getElementById("lastName").value=lastNameText;
		}
	}
}

function getProj() {							// get project information
//alert ("getProj");
	mailToRequest = createRequest();
	if (mailToRequest == null) {
		alert("Unable to create mailToRequest");
	} else {
		var url = "projInfoGrabber.php?projNumber=" +projNo;
//alert ("url " + url);
		mailToRequest.onreadystatechange = showMailToStatus;		// callback function for session info
		mailToRequest.open("GET",url,true);		// asynchronous GET userRequest to checkName.php with name = username
		mailToRequest.send(null);									// send userRequest
	}
}

function showMailToStatus () {
	if (projRequest.readyState == 4) {
		if (mailToRequest.status == 200) {
			var mailToResponseText = mailToRequest.responseText;
alert ("mailToResponseText "+mailToResponseText);

			var mailToResponseXML = mailToRequest.responseXML;

			var mailToEmail = mailToResponseXML.getElementsByTagName("emailTo")[0];	// logged in user
			var mailToEmailText = mailToEmail.firstChild.nodeValue;
			document.getElementById("emailTo").value=mailToEmailText;

			var mailToFirstName = mailToResponseXML.getElementsByTagName("firstName")[0];
			var mailToFirstNameText = mailToFirstName.firstChild.nodeValue;
			mailToFirstNameText = stripBlanks(mailToFirstNameText);
			document.getElementById("user_first").value=mailToFirstNameText;

			var mailToLastName = mailToResponseXML.getElementsByTagName("lastName")[0];
			var mailToLastNameText = mailToLastName.firstChild.nodeValue;
			mailToLastNameText = stripBlanks(mailToLastNameText);
			document.getElementById("user_last").value=mailToLastNameText;
		}
	}
}

// assure all fields valid before submission
function checkValid() {
	if (!emailValid) {
		document.getElementById("email").className="invalid";
		document.getElementById("email_err").className="err";
		document.getElementById("email_err").value = err_reg;
		document.getElementById("email").focus();				// error, set focus
		return false;
	}

	if (!firstNameValid) {
		document.getElementById("firstName").className="invalid";
		document.getElementById("firstName_err").className="err";
		document.getElementById("firstName_err").value = err_name;
			document.getElementById("firstName").focus();				// error, set focus
		return false;
	}

	if (!lastNameValid) {
		document.getElementById("lastName").className="invalid";
		document.getElementById("lastName_err").className="err";
		document.getElementById("lastName_err").value = err_name;
			document.getElementById("lastName").focus();				// error, set focus
		return false;
	}

	if (!commentsValid) {
		document.getElementById("comments").className="invalid";
		document.getElementById("comments_err").className="err";
		document.getElementById("comments_err").value = err_name;
		document.getElementById("comments").focus();				// error, set focus
		return false;
	}

	return true;
}


