
/**
 * Login page validation functions
 * Copyright (c) 2008 Kynamic, Inc.
 */
function CheckEntries(Form) {
	var parsed = true;
	var password = Form.passwd.value;
//	alert("Form.passwd.value="+password);
	if (!CheckEMail(Form)) {
		parsed = false;
	} else {
		if (password.length === 0) {
			alert("You must enter your password.");
			parsed = false;
		}
		else {
			parsed = validateUser(Form);
			parsed = false;
		}
	}
//	alert("parsed="+parsed);
	return parsed;
}
function CheckEMail(Form) {
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	var email = Form.EMail.value;
	if (email.length === 0) {
		alert("You must enter e-mail address first.");
		parsed = false;
	} else {
		if (email.indexOf("@") == -1) {
			alert("Incomplete e-mail address.");
			parsed = false;
		} else {
			for (var i = 0; i < email.length; i++) {
				var letter = email.charAt(i).toLowerCase();
				if (validchars.indexOf(letter) != -1) {
					continue;
				}
				alert("Invalid character: '" + letter + "' in e-mail address.");
				parsed = false;
				break;
			}
		}
	}
	return (parsed);
}
function HighlightEMail() {
  //alert("LoginForm.EMail.name = " + LoginForm.EMail.name);
	document.LoginForm.EMail.focus();
}

var xmlHttp;
function validateUser(Form) {
	var email = Form.EMail.value;
	var password = Form.passwd.value;

	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}
	var url = "servlet/AuthenticateWebUser";
	url = url + "?e=" + email;
	url = url + "&p=" + password;
	url = url + "&sid=" + Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
function stateChanged() {
	var intAuthenticationCode = 0;
	document.getElementById("trWaitMessage").style.display="";
	document.getElementById("trErrorMessage").style.display="none";
	if (xmlHttp.readyState == 4) {
		intAuthenticationCode = parseInt(xmlHttp.responseText);
		if (intAuthenticationCode == 0) {
			// 0 = User not anthenticated
			document.getElementById("trWaitMessage").style.display="none";
			document.getElementById("trErrorMessage").style.display="";
		}
		else if (intAuthenticationCode >= 1) {
			/* 	Authenticated user
				1 = "Cleverex Employee";
				2 = "Cleverex customer";
				3 = "Kynamic user";
			*/
			document.getElementById("UserTypeCode").value = intAuthenticationCode;
			document.LoginForm.submit();
		}
	}
}

var xmlHttp1;
function SendPasswordToEmail(Form){
	var parsed = true;
	if (!CheckEMail(Form)) {
		parsed = false;
	}
	if(parsed){
		var email = Form.EMail.value;
	
		xmlHttp1 = GetXmlHttpObject();
		if (xmlHttp1 == null) {
			alert("Your browser does not support AJAX!");
			return;
		}
		var url = "servlet/RetrievePasswordServlet";
		url = url + "?e=" + email;
		url = url + "&sid=" + Math.random();
		xmlHttp1.onreadystatechange = serverStateChanged;
		xmlHttp1.open("GET", url, true);
		xmlHttp1.send(null);
	}
}

function serverStateChanged() {
	var intAuthenticationCode = 0;
	document.getElementById("trMessage").style.display="none";
	if (xmlHttp1.readyState == 4) {
		intAuthenticationCode = parseInt(xmlHttp1.responseText);
		if (intAuthenticationCode == 0) {
			// 0 = User not anthenticated
			document.getElementById("trErrorMessage").style.display="none";
			document.getElementById("Message").innerHTML="<p style='color: red'>Email not recognized.</p>";
			document.getElementById("trMessage").style.display="";
		}
		else if (intAuthenticationCode >= 1) {
			/* 	Authenticated user
				1 = "Cleverex Employee";
				2 = "Cleverex customer";
				3 = "Kynamic user";
			*/
			document.getElementById("Message").innerHTML="Your password is sent to you via email!";
			document.getElementById("trMessage").style.display="";
		}
	}
}

