///////////////////////////////////////////////////////////////////////////////////////////
//////////////////  G E N E R A L   ///////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_display_login_message(msg) {
		blink_on_blink4(document.getElementById("sign_in_login_message"), msg);

}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_format_remember_password() {

	var remember_string = "0";
	if (document.getElementById("sign_in_remember").checked)
		remember_string = "1";
	document.getElementById("sign_in_remember_password").value = remember_string;

}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_submit_login() {

	if (!sign_in_validate_login())
		return;
	sign_in_format_remember_password();
	document.getElementById("sign_in_MainForm").submit();
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_submit_login_from_main() {

	if (!sign_in_validate_login())
		return;

	document.getElementById("sign_in_MainForm").submit();
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_validate_login() {

	if (document.getElementById("sign_in_username").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_in_display_login_message("enter username");
		return false;
	}
	if (document.getElementById("sign_in_password").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_in_display_login_message("enter password");
		return false;
	}
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_login_enter(e) {

	var evt = e || window.event;
	var keyCode = evt.which || evt.keyCode;

	if (keyCode == 13)
		sign_in_submit_login();
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_email_enter(e) {

	var evt = e || window.event;
	var keyCode = evt.which || evt.keyCode;

	if (keyCode == 13)
		sign_in_submit_get_password();
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_onload() {

	var url = window.location;
	var s = url.toString();

	var remember = s.indexOf("remember=1");		
	if (remember >= 0)
		document.getElementById("sign_in_email_address").focus();
	else
		document.getElementById("sign_in_username").focus();
}

///////////////////////////////////////////////////////////////////////////////////////////
//////////////////  G E T    P A S S W O R D   ////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

var sign_in_getPasswordTimeout = null;

var sign_in_validation_status = false;

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_validate_username_email() {

	var email = document.getElementById("sign_in_email_address").value;
	var username = "xxx";

	var poststr = "email=" + encodeURI(email) + "&UserName=" + encodeURI("username");
	var resultObj = document.getElementById("sign_in_server_validation_result");
	resultObj.value = "";

	var sign_in_validation_status = false;
	var func = sign_in_parse_result;
	ajax_makePOSTRequestSync("UsernameAndEmailUniquenessValidation.jsp", poststr, func, resultObj);

	var result = document.getElementById("sign_in_server_validation_result").value;

	if (result.indexOf("Err 5000") >= 0) {
		sign_in_validation_status = false;
		sign_in_display_get_password_message("Operation failed");
	}
	else 
		sign_in_getPasswordTimeout = setTimeout('sign_in_get_password_timeout()',3000);

	return;
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_parse_result() {

	var s = document.getElementById("sign_in_server_validation_result").value;
	s = s.replace(/^\s*|\s*$/g,'');

	var i,j,t;
	i = s.indexOf("#0");
	if (i == 0) {
		t = s.substr(2,s.length-1);
		j = t.indexOf("#0");
		if (j >= 0) {
			sign_in_validation_status = false;
			sign_in_display_get_password_message("Email address not found in the system...");
			return;
		} 
		else {
			sign_in_validation_status = true;
			return;
		}	
	}
	else {
		t = s.substr(2,s.length-1);
		j = t.indexOf("#0");	
		if (j >= 0) {
			sign_in_validation_status = false;
			sign_in_display_get_password_message("Email address not found in the system...");
			return;
		} 
		else {
			sign_in_validation_status = false;
			sign_in_display_get_password_message("Email address not found in the system...");
			return;
		}	
	}
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_get_password_timeout() {

	clearTimeout(sign_in_getPasswordTimeout);
	sign_in_getPasswordTimeout = null;

	blink_on_blink4(document.getElementById("sign_in_get_password_message"), "");

	var url = window.location;
	var s = url.toString();
	var sign_in_url = s.substr(0, s.indexOf("/signin_input")) + "/signin_input.jsp";
	window.location.href = sign_in_url;

}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_get_password_first_timeout() {

	clearTimeout(sign_in_getPasswordTimeout);
	sign_in_getPasswordTimeout = null;

	var email = document.getElementById("sign_in_email_address").value;
	var poststr = "email=" + encodeURI(email);
	var resultObj = document.getElementById("sign_in_getPasswordHiddenMsgResult");
	resultObj.value = "99";
	ajax_makePOSTRequestSync("PasswordRecovery.jsp", poststr, null, resultObj);
	var result = document.getElementById("sign_in_getPasswordHiddenMsgResult").value;

	if (result.indexOf("Err 3000") >= 0)
		sign_in_display_get_password_message("Operation failed");
	else {
		var url = window.location;
		var s = url.toString();
		var sign_in_url = s;
		window.location.href = sign_in_url;
	}
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_submit_get_password() {

	if (!sign_in_validate_get_password())
		return;

	sign_in_validate_username_email();
	
	if (!sign_in_validation_status)
		return;

	sign_in_display_get_password_message("Submitting request...");

	sign_in_getPasswordTimeout = setTimeout('sign_in_get_password_first_timeout()',3000);
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_validate_get_password() {

	if (document.getElementById("sign_in_email_address").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_in_display_get_password_message("enter email address");
		return false;
	}
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_in_display_get_password_message(msg) {
	blink_on_blink4(document.getElementById("sign_in_get_password_message"), msg);

}
