var processingLogin = false;
var processingChangePassword = false;

var no_errors = true;
		

/*-----------------------------------------------------*/		
/*--------- Login Functionality on Index Page ---------*/
/*-----------------------------------------------------*/

function loginOnLoad_index()
{
	var sName = loadLogin();
	if ((sName != null) && (sName != ''))
	{
		var screenNameControl = document.getElementById('id_login');
		if (screenNameControl != null)
		{
			screenNameControl.value = sName;
			
			var rememberMe = $.cookie('rememberMe');
			if ((rememberMe != null) && (rememberMe == 1))
			{
				var rememberMeControl = document.getElementById('id_rememberMe');
				if (rememberMeControl != null)
				{
					rememberMeControl.checked = true;
				}
			}
			
			var passwordControl = document.getElementById('id_password');
			if (passwordControl != null)
			{
				passwordControl.focus();
			}
		}
	}
	else
	{
		var screenNameControl = document.getElementById('id_login');
		if (screenNameControl != null)
		{
			if ((screenNameControl.value != null) && (screenNameControl.value != ''))
			{
				var passwordControl = document.getElementById('id_password');
				if (passwordControl != null)
				{
					passwordControl.focus();
				}
			}
			else
			{
				screenNameControl.focus();
			}
		}
	}
}

function login_submitenter_index(myfield, e, fName)
{
	try
	{
		var thiskeycode;
		if (window.event) 
		{
			thiskeycode = window.event.keyCode;
		}
		else if (e) 
		{
			thiskeycode = e.which;
		}
		else 
		{
			return true;
		}
		
		if (thiskeycode == 13)
		{
	   	if (fName == "password")
	   	{
				login_validate_index();
			}
	   	else
	   	{
				var passwordControl = document.getElementById('id_password');
				if (passwordControl != null)
				{
					passwordControl.focus();
				}
			}
		  return false;
		}
		else
		{
			return true;
		}
	}
	catch(ee){}
}

function login_validate_index() 
{
	var screenNameControl = document.getElementById('id_login');
	if (screenNameControl != null)
	{
		if (screenNameControl.value == '')
		{
			screenNameControl.style.backgroundColor = "#ffcccc";
			screenNameControl.style.bgColor = "#ffcccc";
			screenNameControl.focus();
			return;
		}
	}
	screenNameControl.style.backgroundColor = "#ffffff";
	screenNameControl.style.bgColor = "#ffffff";
	
	var passwordControl = document.getElementById('id_password');
	if (passwordControl != null)
	{
		if (passwordControl.value == '')
		{
			passwordControl.style.backgroundColor = "#ffcccc";
			passwordControl.style.bgColor = "#ffcccc";
			passwordControl.focus();
			return;
		}
	}
	passwordControl.style.backgroundColor = "#ffffff";
	passwordControl.style.bgColor = "#ffffff";
	
	storeLogin_index();
	tryLogin_index();
}

function storeLogin_index()
{
	var rememberSelectedInput = document.getElementById('id_rememberSelected');
	if (rememberSelectedInput != null)
	{
		if (rememberSelectedInput.value == 1)
		{
			var screenNameControl = document.getElementById('id_login');
			if (screenNameControl != null)
			{
				var screenNameToStore = screenNameControl.value;
				if (screenNameToStore.length > 1)
				{
					$.cookie('screenName', screenNameToStore, { path: '/', domain: 'dateraters.com' });
					$.cookie('rememberMe', 1, { path: '/', domain: 'dateraters.com' });
				}
			}
		}
	}
}

function tryLogin_index()
{
	if (processingLogin)
	{
		return;	
	}
	
	var loginDiv = document.getElementById('id_loginButton');
	if (loginDiv != null)
	{
		loginDiv.innerHTML = "<img src='"+fileUrl+"/images/buttons/login_off.gif' alt='Login' width='54' height='21' border='0'>";
	}
	processingLogin = true;

	document.loginform.submit();
}


/*-----------------------------------------------------*/		
/*--------- Login Verification on Index Page ----------*/
/*-----------------------------------------------------*/

function redirectIfLoggedIn()
{
	var myRequest = new ajaxObject('');
	myRequest.callback = function(responseText, responseStatus, responseXML) 
	{
		if (responseStatus = 200) 
		{
	  	var status = 999;
	  	var message = '';
	  	
	  	var entityId = -1;
	  	var screenName = "";
	  	
	  	try { eval(responseText); } catch (e) {}
  		
	  	// Status=1		Message='OK'
	  	
	  	if (status == 1)
	  	{
	  		if (entityId != -1)
	  		{
	  			top.document.location = fileUrl+"/mainMenu/mainMenuFrame.html";
	  			return;
	  		}
	  	}
		} 
		
		var loadingDiv = document.getElementById('id_loading');
		if (loadingDiv != null)
		{
			$(loadingDiv).hide();
		} 
		
		var outerTableDiv = document.getElementById('id_outerTable');
		if (outerTableDiv != null)
		{
			$(outerTableDiv).show();
		} 
		
		loginOnLoad_index(); 
		setImagesTo('images/common/box_off.gif', 'images/common/box_on.gif'); 
		replaceChecks();
	}
	
	var app = 'app=people';
	var cmd = 'cmd=USERINFO';
	var subcmd = 'subcmd=SCREENNAME';

	var sendString = app+'&'+cmd+'&'+subcmd;
	myRequest.update(sendString,'POST',false);
}


/*-----------------------------------------------------*/		
/*--------- Login Functionality on Login Page ---------*/
/*-----------------------------------------------------*/

function loginOnLoad()
{
	var sName = loadLogin();
	
	document.submitform.login.value = sName;
	if (sName.length < 1)
	{
		document.submitform.login.focus();
	}
	else
	{
		try 
		{ 
			document.submitform.password.focus(); 
		} 
		catch (ee) {}
	}
}

function login_submitenter(myfield, e, fName)
{
	try
	{
		var thiskeycode;
		if (window.event) 
		{
			thiskeycode = window.event.keyCode;
		}
		else if (e) 
		{
			thiskeycode = e.which;
		}
		else 
		{
			return true;
		}
		
		if (thiskeycode == 13)
		{
	   	if (fName == "password")
	   	{
				login_validate();
			}
	   	else
	   	{
	   		storeLogin();
				document.submitform.password.focus();
			}
		  return false;
		}
		else
		{
			return true;
		}
	}
	catch(ee){}
}

function login_validate() 
{
	checkform("login","Login");
	checkform("password","Password");
	if (no_errors) 
	{
		storeLogin();
		tryLogin();
	} 
	else 
	{
		no_errors = true;
	}
}

function tryLogin()
{
	if (processingLogin)
	{
		return;	
	}
	
	// Clear previous errors if there were any.
	var errorDiv = document.getElementById('id_errorDiv');
	if (errorDiv != null)
	{
		errorDiv.innerHTML = "";
	}
	
	var loginDiv = document.getElementById('id_loginButton');
	if (loginDiv != null)
	{
		loginDiv.innerHTML = "<img src='"+fileUrl+"/images/buttons/login_off.gif' width='54' height='21' border='0'>";
	}
	processingLogin = true;

	document.submitform.submit();
}



/// --- Forgot Password --- ///

function forgotPasswordOnLoad()
{
	var sName = loadLogin();
	document.submitform.login.value = sName;
	document.submitform.login.focus();
}

function enterForgotPassword(myfield, e, fName)
{
	try
	{
		var thiskeycode;
		if (window.event) 
		{
			thiskeycode = window.event.keyCode;
		}
		else if (e) 
		{
			thiskeycode = e.which;
		}
		else 
		{
			return true;
		}
		
		if (thiskeycode == 13)
		{
	   	if (fName == "login")
	   	{				  		
				submitForgotPassword();
			}
		  return false;
		}
		else
		{
			return true;
		}
	}
	catch(ee){}
}

function submitForgotPassword()
{
	checkform("login","Email Address");
	if (no_errors) 
	{
		// Clear previous errors if there were any.
		var errorDiv = document.getElementById('id_errorDiv');
		if (errorDiv != null)
		{
			errorDiv.innerHTML = "<table align='center'>\n" +
  												 "  <tr>\n" +
  												 "    <td>\n" +
  												 "      <div class='bsorange'>Give us just a second while we hook you up with a new password ...</div>\n" +
  												 "    </td>\n" +
  												 "  </tr>\n" +
  												 "</table>\n";
		}
		else
		
		var loginDiv = document.getElementById('id_requestButton');
		if (loginDiv != null)
		{
			loginDiv.innerHTML = "&nbsp;<img src='images/buttons/requestPassword_off.gif' width='153' height='21' border='0' hspace='10'>";
		}
		processingLogin = true;
		
		document.submitform.submit();
	}
	else
	{
		no_errors = true;
	}
}



/// --- Change Password --- ///

function onLoadChangePassword()
{
	try 
	{ 
		document.submitform.newpassword1.focus(); 
	} 
	catch (ee) {}
}

function submitenterChangePassword(myfield, e, fName)
{
	try
	{
		var thiskeycode;
		if (window.event) 
		{
			thiskeycode = window.event.keyCode;
		}
		else if (e) 
		{
			thiskeycode = e.which;
		}
		else 
		{
			return true;
		}
		
		if (thiskeycode == 13)
		{
	   	if (fName == "oldpassword")
	   	{
	   		document.submitform.newpassword1.focus();
			}
			else if (fName == "newpassword1")
			{
				document.submitform.newpassword2.focus();
			}
	   	else
	   	{
				validateChangePassword();
			}
			
		  return false;
		}
		else
		{
			return true;
		}
	}
	catch(ee){}
}

function validateChangePassword() 
{
	no_errors = true;
	
	checkform("oldpassword","Password");
	checkform("newpassword1","New Password");
	checkform("newpassword2","Confirm Password");
	checkPasswords();
	if (no_errors) 
	{
			tryChangePassword();
	} 
}

function checkPasswords()
{
	if (no_errors)
	{
		var newpassword1 = document.submitform.newpassword1.value;
		var newpassword2 = document.submitform.newpassword2.value;
		
		if (newpassword1 != newpassword2)
		{
			no_errors = false;
			
			var errorDiv = document.getElementById('id_errorDiv');
			if (errorDiv != null)
			{
				errorDiv.innerHTML = "<div class='alert_noimg'>Please make sure Confirmed Password matches New Password!</div>\n";
			}
			document.submitform.newpassword2.focus();
		
			return;
		}
		
		if (newpassword1.length < 4)
		{
			no_errors = false;
			
			var errorDiv = document.getElementById('id_errorDiv');
			if (errorDiv != null)
			{
				errorDiv.innerHTML = "<div class='alert_noimg'>Please make sure your new password is at least 4 characters long!</div>\n";
			}
			
			document.submitform.newpassword1.value = "";
			document.submitform.newpassword2.value = "";
			
			document.submitform.newpassword1.focus();
		}
	}
}


function tryChangePassword()
{
	if (processingChangePassword)
	{
		return;	
	}
	
	// Clear previous errors if there were any.
	var errorDiv = document.getElementById('id_errorDiv');
	if (errorDiv != null)
	{
		errorDiv.innerHTML = "";
	}
	
	var changePasswordDiv = document.getElementById('id_changePasswordButton');
	if (changePasswordDiv != null)
	{
		changePasswordDiv.innerHTML = "<img src='"+fileUrl+"/images/buttons/changePassword_off.gif' width='140' height='21' border='0'>";
	}
	
	processingChangePassword = true;
	document.submitform.submit();
}




/// --- Generic Functions --- ///

function checkform(formfield, msgtext) 
{
	if (no_errors) 
	{
		var field = eval("document.submitform." + formfield);
		if (field.value == "") 
		{
			no_errors = false;

			var errorDiv = document.getElementById('id_errorDiv');
			if (errorDiv != null)
			{
				errorDiv.innerHTML = "<div class='alert_noimg'>"+msgtext+" is blank. Please add this info.</div>";
			}
			field.focus();
		}
	}
}

function storeLogin()
{
	var screenNameToStore = document.submitform.login.value;
	if (screenNameToStore.length > 1)
	{
		$.cookie('screenName', screenNameToStore, { path: '/', domain: 'dateraters.com' });
	}
}

function loadLogin()
{
	var screenName = $.cookie('screenName');
	if (screenName == null)
	{
		screenName = "";
	}
	return screenName;
}


// message = 'OK'
// message = 'please relogin'
// message = 'login/password incorrect'
// message = 'missing information'
// message = 'unknown login' 					- for forgot password request
// message = 'incorrect password' 		- for change password request (refers to old password)
// message = 'passwords do not match' - for change password request
// message = 'password sent'

function updateErrorMessage()
{
	var errorDiv = document.getElementById('id_errorDiv');
	if (errorDiv != null)
	{
		if ((message == 'OK') || (message == 'please relogin'))
		{
			// do nothing
		}
		else if (message == 'login/password incorrect')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>Email Address or Password you entered are incorrect.<br>Please try again!</div>";
		}
		else if (message == 'unknown login')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>Sorry, we cannot find Email Address you entered.<br>Please try again!</div>";
		}
		else if (message == 'incorrect password')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>Old Password you entered is incorrect.<br>Please try again!</div>";
		}
		else if (message == 'passwords do not match')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>Please make sure Confirmed Password matches New Password!</div>";
		}
		else if (message == 'missing information')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>There is not enough information to complete your request.<br>Please try again!</div>";
		}
		else if (message == 'password sent')
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>We just sent your new password ... check your email!</div>";
		}
		else
		{
			errorDiv.innerHTML = "<div class='alert_noimg'>"+getGenericErrorMessage()+"</div><br>";
		}
	}
}
