/*
function setFocusOnLoad()
function validateLogin(forceLogin)
function validateReturn(validLogin, sessionType, agreeSMLS, agreeEDV, agreeMobile)
function disableAccess()
function disableCompatibility()
function loginForgotPassword()
function loginForgotPassword_execute()
function loginForgotPassword_return()
function loginForgotPassword_reset()
*/

//var
var _MAXFAILEDLOGINS = 15;
var _failedLogins = 0;
//var

function setFocusOnLoad()
{
	try{
		if(document.getElementById("f_username").value != "" && !document.getElementById("f_userpass").disabled)
			document.getElementById("f_userpass").focus();
		else if(!document.getElementById("f_username").disabled)
			document.getElementById("f_username").focus();
	}catch(e){
	};
};

function validateLogin(forceLogin)
{
	//var
	var Js_post = new postback("/login_process.asp");
	var checkedValid = true;
	var longLoginValue = 0;
	//var

	if(!document.getElementById("f_username").disabled && !document.getElementById("f_userpass").disabled)
	{
		if (checkedValid && document.getElementById("f_username").value == '')
		{
			alert('Please enter your User ID.');
			document.getElementById("f_username").focus();
			checkedValid = false;
		};
			
		if (checkedValid && document.getElementById("f_userpass").value == '')
		{
			alert('Please enter your Password.');
			document.getElementById("f_userpass").focus();
			checkedValid = false;
		};

		if (checkedValid)
		{
			if(!forceLogin)
				forceLogin = false;
			if(document.getElementById("f_longLogin").checked)
				longLoginValue = document.getElementById("f_longLogin").value;
			document.getElementById("loginErrorMessage").style.display	= 'none';
			document.getElementById("logoutTimedOut").style.display		= 'none';
			document.getElementById("logoutBumped").style.display		= 'none';
			document.getElementById("logoutDeclined").style.display		= 'none';
			document.getElementById("logoutEDVDeclined").style.display	= 'none';
			Js_post.Parameters="action=login_check&agentid=" + document.getElementById("f_username").value + "&agentpwd=" + document.getElementById("f_userpass").value + "&force=" + forceLogin + "&failedattempts=" + _failedLogins + "&longlogin=" + longLoginValue;
			Js_post.Retrieve();
		};
	};
};

function validateReturn(validLogin, sessionType, agreeSMLS, agreeEDV, agreeMobile)
{
//	alert(validLogin + '\n' + sessionType + '\n' + agreeSMLS + '\n' + agreeEDV + '\n' + agreeMobile);
	if(!validLogin)
	{
		document.getElementById("loginErrorMessage").style.display = 'block';
		_failedLogins++;
		if(_failedLogins > _MAXFAILEDLOGINS)
			disableAccess();
	}else{
		_failedLogins = 0;
 		if(sessionType == 'new')
 		{
 			if(agreeSMLS == '0')
 				document.getElementById("formLogin").action = '/agreementSMLS.asp';
			document.getElementById("formLogin").submit();
		}else{
			if(confirm("Your User ID is already logged-in to SunshineMLS.\nThis may be because you did not log out properly (by choosing ‘Logout’ on the SunshineMLS menu bar) the last time you used SunshineMLS – or – because someone is using your User ID.\n\nTo inactivate the existing session and proceed to the Welcome Page, please click [OK]. Otherwise, click [Cancel]."))
				validateLogin(true);
		};
	};
};

function disableAccess()
{
	document.getElementById("f_username").disabled = 'true';
	document.getElementById("f_userpass").disabled = 'true';
	document.getElementById('lockoutErrorMessage').style.display = 'block';
};

function disableCompatibility()
{
	document.getElementById("f_username").disabled = 'true';
	document.getElementById("f_userpass").disabled = 'true';
	document.getElementById('compatibilityErrorMessage').style.display = 'block';
};

function loginForgotPassword()
{
		overlayFadeIn('overlayForgotLogin');
		
		setTimeout("document.getElementById('f_forgotLogin_userID').value = document.getElementById('f_username').value;",100);
};

function loginForgotPassword_execute()
{
	//var
	var userID			= document.getElementById("f_forgotLogin_userID").value;
	var emailAddress	= document.getElementById("f_forgotLogin_email").value;
	var regexEmailTest	= new RegExp(/^[a-z0-9]([a-z0-9_\.\-]*)@([a-z0-9_\.\-]*)(\.[a-z]{2,4})(\.[a-z]{2})*$/i);
	var Js_post			= new postback("/login_forgotLogin_process.asp");
	//var
	
	if(userID != '' && regexEmailTest.test(emailAddress))
	{
		document.getElementById("loginForgotLoginContent_ask").style.display	= 'none';
		document.getElementById("loginForgotLoginContent_thank").style.display	= 'block';
		document.getElementById("loginForgotLoginButton").style.display			= 'none';
		
		emailAddress	= Base64.encode(emailAddress);
		userID			= Base64.encode(userID);
		
		Js_post.Parameters="action=sendmail&email=" + emailAddress + "&user=" + userID;
		Js_post.Retrieve();
	}else
		alert("Please enter the email addresss associated with your account to continue.");
};

function loginForgotPassword_return()
{
		document.getElementById("loginForgotLoginContent_ask").style.display	= 'none';
		document.getElementById("loginForgotLoginContent_thank").style.display	= 'none';
		document.getElementById("loginForgotLoginButton").style.display			= 'none';
		document.getElementById("loginForgotLoginContent_error").style.display	= 'block';
};

function loginForgotPassword_reset()
{
	//var
	var userID		= document.getElementById("f_forgot_userID").value;
	var answer		= document.getElementById("f_forgot_answer").value;
	var requestID	= window.location.toString().match(/r=(\d+)/)[1];
	var Js_post		= new postback("/login_forgotLogin_process.asp");
	//var
	
	if(userID != '' && answer != '')
	{
		answer	= Base64.encode(answer);
		userID	= Base64.encode(userID);
		
		
		Js_post.Parameters="action=verify&answer=" + answer + "&user=" + userID + '&request=' + requestID;
		Js_post.Retrieve();
	}else
		alert("Please enter the User ID associated with your account and answer the security question to continue.");
};

function loginForgotPassword_reset_returnPass(newPassword)
{
	document.getElementById('forgotLoginStatus').innerHTML = "Your password has succsessfully been reset.<br />Your new password is <span class='fontBoldDarkBlue'>" + newPassword + "</div>.";
};

function loginForgotPassword_reset_returnInValid(status)
{
	if(status == 'reset')
		document.getElementById('forgotLoginStatus').innerHTML = "Already reset.";
	else
		document.getElementById('forgotLoginStatus').innerHTML = "Incorrect.";
};

testCompliance();
setFocusOnLoad();

