//////////////////////////////////////////////////////////////////////////////
//																			//
//	Name: 			Users.js
//	
//	Author: 		C.CALL
//
//	Description: 	functions used in support of the forgot user password
//				 	routines. 
//
//	File Reference: forgotloginpassword.cfm & forgotpasswordcomplete.cfm
//
//	Date:			3/27/09
//
//	Revision:		1.0	3/27/09
//
//////////////////////////////////////////////////////////////////////////////


function resetMessage()
{
																	// this function was used as a test sample
																	// to erase any messages after 5 seconds
																	// test only alert('resetMessage'); 
																	// TryAgain/TryAgain2 are the message variables
	var sTryAgain = document.getElementById('TryAgain');
	var sTryAgain2 = document.getElementById('TryAgain2');
	sTryAgain.style.visibility = "hidden";
	sTryAgain2.style.visibility = "hidden";

}

 
function onEmailSubmit()
{ 
	var emailButton=document.getElementById('Email');
	var captchaText=document.getElementById('captchadata');
	var captchaout=document.getElementById('captchaout');
	var sCaptchaData = captchaText.value;
	var sCaptchaOut = captchaout.value;
																	// test only alert('captcha out: ' + sCaptchaOut);
																	// test only alert('catpcha: ' + sCaptcha + ' catpcha text: ' + sCaptchaData);
	var sEmail = emailButton.value;   								// test only "ccall@lifeware.com"; 
	var sTryAgain = document.getElementById('TryAgain');
	var sTryAgain2 = document.getElementById('TryAgain2');
	if (sEmail == '')												// no email address entered
	{
		sTryAgain.innerHTML = "Please enter your email address";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
																	// test delay message hide var stime = setTimeout("resetMessage()",5000);
																	//alert('Please enter your email address!');   
	}
	else   
	{
		if ( (sEmail.indexOf('@') > 0) && (sEmail.indexOf('.') > 0) ) 
		{
																	// alert('Begin Email Validation and verification for email address: ' + sEmail);
			var u = new users(); 									// create a Users.cfc object
			var emreturn = u.checkEmailAddress(sEmail);				// call the Users.cfc getEmailAddress function
			if (emreturn != '') {   								// look for email address 
																	// test lower alert(' captcha data: ' + sCaptchaData.toLowerCase()+ ' entered captcha: ' + sCaptchaOut.toLowerCase());
				if ( (sCaptchaData != '') && ( sCaptchaData.toLowerCase() == sCaptchaOut.toLowerCase() ) ) {
					ColdFusion.navigate('/inc/Registration/forgotpasswordcomplete.cfm?ForgotEmail=' + sEmail + '&ForgotUserID=' + emreturn, 'content-main');
				}
				else {
					sTryAgain.innerHTML = "Please enter characters you see in box";
					sTryAgain.style.visibility = "visible";
					sTryAgain2.style.visibility = "hidden";				
				}
			}
			else {   												// did not find email address
				sTryAgain.innerHTML = "Sorry! The email address you entered has not been";
				sTryAgain.style.visibility = "visible";
				sTryAgain2.style.visibility = "visible";
				setTimeout("resetMessage()",5000);
			}	
		}
		else 														//alert('InValid Email format! ' + sEmail);
		{
			sTryAgain.innerHTML = "InValid Email format!";
			sTryAgain.style.visibility = "visible";
			sTryAgain2.style.visibility = "hidden";
			setTimeout("resetMessage()",5000);
			
		}	
	}
}




function onRegisterSubmit()
{ 
																	// test only  alert('email: ' + sEmail);
																	// test alert('email index: ' + sEmail.indexOf('@'));
	var emailButton=document.getElementById('email');
	var sEmail = emailButton.value;
	if (sEmail == '')
	{
		//alert('Please enter your email address!');  
	}
	else  
	{
		// check for valid email address
		if ( (sEmail.indexOf('@') > 0) && (sEmail.indexOf('.') > 0))
		{
			alert('Begin Email Validation and verification for email address: ' + sEmail);
			var u = new users(); 									//
			var emreturn = u.checkEmailAddress(sEmail);
			//alert('returned email address: ' + emreturn);
			if (emreturn != '') {   								// look for email address 
				sTryAgain.innerHTML = "";
				alert('Send Reset Instructions to Email Address: ' + sEmail);
			}
			else {   												// did not find email address
			}	
		}
		else 
		{
			alert('InValid Email format! ' + sEmail);
		}	
	}

}




function onNewPasswordSubmit()
{ 
	// get and set the input variables and any output messages
	var NewPasswordButton=document.getElementById('NewPassword');
	var sNewPassword = NewPasswordButton.value;
	var sUserVIdButton = document.getElementById('UserId');
	var sUserVId = sUserVIdButton.value;
	var sTryAgain = document.getElementById('TryAgain');
	var sTryAgain2 = document.getElementById('TryAgain2');
	var ConfirmPasswordButton=document.getElementById('ConfirmPassword');
	var sConfirmPassword = ConfirmPasswordButton.value;
																	// alert('UserVId ' + sUserVId);
	if (sNewPassword == '')											// new password empty
	{
										     						// test purposes only email index: ' + sEmail.indexOf('@'));
																	// alert('New password empty!'); 
		sTryAgain.innerHTML = "Please enter your New Password";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
		setTimeout("resetMessage()",5000);
																	// this was used originall to see if we wanted it to disappear after 5 seconeds
																	// var stime = setTimeout("resetMessage()",5000);
	}
	else if (sConfirmPassword == '')
	{
																	// test only!
																	//alert('Confirm password empty!');      //email index: ' + sEmail.indexOf('@'));
		sTryAgain.innerHTML = "Please enter your Confirm Password";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
		setTimeout("resetMessage()",5000);
																	//test only for time delay  var stime = setTimeout("resetMessage()",5000);
	}
	else if ( sNewPassword != sConfirmPassword)  
	{ 																// CHECK TO MAKE SURE THE NEW PASSWORD EQUALS THE CONFIRM PASSWORD
		sTryAgain.innerHTML = "Passwords do not match!";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
		setTimeout("resetMessage()",5000);
	}
	else if ( sNewPassword.length > 20)  
	{ 																// CHECK TO MAKE SURE THE NEW PASSWORD IS NOT GREATER THAN 20
		sTryAgain.innerHTML = "Password length exceeded!";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
		setTimeout("resetMessage()",5000);
	}
	else if ( sNewPassword.indexOf(' ') > 0)  
	{ 																// CHECK TO MAKE SURE THE NEW PASSWORD IS NOT GREATER THAN 20
		sTryAgain.innerHTML = "Invalid Password!";
		sTryAgain.style.visibility = "visible";
		sTryAgain2.style.visibility = "hidden";
		setTimeout("resetMessage()",5000);
		
	}
	else
	{	
		/// note passwords will have to be listed for size and complexity
		sTryAgain.innerHTML = "Password Updated!";
		sTryAgain.style.visibility = "visible";
																	// now update the password in the table
																	// alert('UPDATE PASSWORD TO: ' + sNewPassword);
			var u = new users(); 									// create Users.cfc object
			u.setUserPassword(sUserVId, sNewPassword);
	}

}





