
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////                Login               ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var doLogin	=	function(path_FGF)
{
	var username		=	document.getElementById('txtUser');
	var password		=	document.getElementById('txtPassword_Login');
	var rememberMe		=	document.getElementById('txtRememberMe');

	if (username)
	{
		jsUsername		=	username.value;
	}

	if (password)
	{
		jsPassword		=	password.value;
	}

	if (rememberMe)
	{
		if (rememberMe.checked)
		{
			jsRememberMe	=	1;
		}
		else
		{
			jsRememberMe	=	0;
		}
	}
	else
	{
		jsRememberMe	=	0;
	}


	/////////////////////////
	// set up proxy call   //
	/////////////////////////
	var accountFunctions = new accountFunctionsProxy();

	///////////////////////////////////////
	// call function to validate login   //
	///////////////////////////////////////
	accountFunctions.setHTTPMethod("GET");
	var arrayLogin = accountFunctions.validateLogin(jsUsername,jsPassword);


	//////////////////////
	//   login failed   //
	//////////////////////
	if (parseInt(arrayLogin[0][9])	>=	201)
	{
		errLogin(parseInt(arrayLogin[0][9]));
		return false;
	}

	///////////////////////////////
	// multiple accounts exist   //
	///////////////////////////////
	else if (arrayLogin.length	>=	2)
	{
		var msgType			=	3;	//green
		var msgTitle		=	'Select Account';
		var msgWidth		=	600;
		var msgHeight		=	'auto';
		var msgString		=	createRadioString(arrayLogin,jsUsername,jsPassword,jsRememberMe,path_FGF);
		openMsgModal(msgType,msgTitle,msgString,msgWidth,msgHeight);

	}

	///////////////////////
	// login succeeded   //
	///////////////////////
	else 
	{
		var jsIdCustomer	=	arrayLogin[0][0];
		var jsIdAccount		=	arrayLogin[0][1];

		/////////////////////////
		// set up proxy call   //
		/////////////////////////
		initializeLogin(jsIdCustomer,jsIdAccount,jsUsername,jsPassword,jsRememberMe);

	}
};


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////           submitLoginForm          ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var submitLoginForm = function(jsIdCustomer,jsIdAccount)
{
	//submit
	var idCustomerField = document.getElementById('txtIdCustomer');
	var idAccountField = document.getElementById('txtIdAccount');

	if (idCustomerField)
	{
		idCustomerField.value	=	jsIdCustomer;
	}

	if (idAccountField)
	{
		idAccountField.value	=	jsIdAccount;
	}

	document.frmLogin.submit();
};


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////          createRadioString         ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var createRadioString	=	function(arrayLogin,jsUsername,jsPassword,jsRememberMe)
{
	var displayString = "";
	var jsAccount_Nickname = "";

	// set beginning table tag and header row
	displayString += "<table><tr>"
	displayString += "<th scope=\"col\" colspan=\"1\" class=\"width_Auto paddingTop10 paddingBottom10\"><\/th>"
	displayString += "<th scope=\"col\" colspan=\"1\" class=\"width_Auto colorGreen paddingTop10 paddingBottom10\"><h5 class=\"marginLeft3\">Account Nickname<\/h5><\/th>";
	displayString += "<th scope=\"col\" colspan=\"1\" class=\"width_Auto colorGreen paddingTop10 paddingBottom10\"><h5 class=\"marginLeft3\">Account Owner<\/h5><\/th><\/tr>";

	// set each radio button
	for(var nextAccount=0;nextAccount<arrayLogin.length;nextAccount++)
	{
		if (arrayLogin[nextAccount][10]	===	'')
		{
			jsAccount_Nickname	=	"&lt;Account Nickname&gt;";
		}
		else
		{
			jsAccount_Nickname	=	arrayLogin[nextAccount][10];
		}

		displayString	+=	"<tr><td scope=\"col\" colspan=\"1\" ><input type=\"radio\" name=\"txtAccount\" id=\"" + nextAccount + "\" class=\"radioButton\" onclick=\"initializeLogin(" + arrayLogin[nextAccount][0] + "," + arrayLogin[nextAccount][1] + ",'" + jsUsername + "','" + jsPassword + "'," + jsRememberMe +");\" \/><\/td>";
		displayString	+=	"<td scope=\"col\" colspan=\"1\" class=\"width_xLrg radioLabel modalPaddingBottom3\"><label for=\"" + nextAccount + "\">" + jsAccount_Nickname + "<\/label><\/td>";
		displayString	+=	"<td scope=\"col\" colspan=\"1\" class=\"width_Auto radioLabel modalPaddingBottom3\">" + arrayLogin[nextAccount][7] + " " + arrayLogin[nextAccount][8] + "<\/td><\/tr>";
	}

	// close table tag
	displayString += "<\/table>";

	// return string
	return displayString;

};


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////        Init Login Proxy Call       ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
var initializeLogin		=	function(jsIdCustomer,jsIdAccount,jsUsername,jsPassword,jsRememberMe,path_FGF)
{
	var loginFunctions	=	new loginFunctionsProxy();

	/////////////////////////////////////////
	// call function to initialize login   //
	/////////////////////////////////////////
	loginFunctions.setHTTPMethod("POST");
	loginFunctions.setReturnFormat("PLAIN");

	loginFunctions.initLogin(jsIdCustomer,jsIdAccount,jsUsername,jsPassword,jsRememberMe);
	focusThisPerson(0,0,0,path_FGF);
};


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////            Forgot Login            ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var loadForgotPassword = function ()
{
//	config='toolbar=no,location=no,directories=no,status=no,menubar=no,width=400,height=410, top=200, left=300 scrollbars=no,resizable=yes'
//	open(jsPathLogin + '/includes/loginForgot.cfm', 'Remote',config)

	var displayString = "";
	
	// set outer div
	displayString	+=	"<div class=\"contentSurround\">";
	
	// set input div
	displayString	+=	"<div id=\"usernameInput\">";

	displayString	+=	"<table id=\"mainEdit\" cellpadding=\"0\" cellspacing=\"0\">";
			
	// set field to enter user name
	displayString	+=	"<tr><th scope=\"col\" colspan=\"1\" class=\"labelUsername\">";
	displayString	+=	"<label for=\"txtEmail\">Username\/Email Address:<\/label><\/th></tr>";
	
	displayString	+=	"<tr><td scope=\"col\" colspan=\"1\">";
	displayString	+=	"<input type=\"text\" name=\"txtEmailAddress\" id=\"txtEmailAddress\" class=\"fieldUsername\" \/><\/td><\/tr>";
	
	displayString	+=	"<\/table>";
	
	// set submit/cancel buttons
	displayString	+=	"<div class=\"buttonCenter paddingBottom10 paddingTop20\">";
	displayString	+=	"<a href=\"javascript:;\" class=\"button\" onclick=\"getPasswordHint();\">Submit<\/a>";
	displayString	+=	"<\/div>";
	
	// close input div
	displayString	+=	"<\/div>";
	
	// set display of password hint
	displayString	+=	"<div id=\"displayPasswordHint\" style=\"display:none;\"><\/div>";
	
	// close outer divs
	displayString	+=	"<\/div>";


	openMsgModal(3,'FORGOT YOUR PASSWORD?',displayString,600,'auto');
	$("#txtEmailAddress").focus();
}


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////         Get Password Hint          ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var getPasswordHint = function ()
{
	var emailAddress		=	'';
	var displayString		=	'<br \/>';
	var passwordCount		=	0;
	
	var emailAddressField	=	document.getElementById('txtEmailAddress');
	if(emailAddressField)
	{
		emailAddress		=	emailAddressField.value;
	}

	// check for empty email address field
	if(emailAddress === '')
	{
		displayString	+=	"<div class=\"resultMsg colorRed\"><img class=\"resultImg\" src=\"/messageStack/images/imgMsgRed.gif\" \/><span>Please enter your username and click submit.<\/span><\/div>";
	}
	else
	{
		// set up proxy
		var loginFunctions		=	new loginFunctionsProxy();
		loginFunctions.setHTTPMethod("GET");

		// get password hints
		var passwordHintsArray	=	loginFunctions.getPasswordHint(emailAddress);
		passwordCount			=	passwordHintsArray.length;

		if (parseInt(passwordHintsArray[0][4])	>=	201)
		{
			displayString	+=	"<div class=\"resultMsg colorRed\"><img class=\"resultImg\" src=\"/messageStack/images/imgMsgRed.gif\" \/><span>You have entered an invalid username.<\/span><\/div>";
		}
		else
		{
			// hide input div
			$("#usernameInput").hide();

			// set beginning table tag and header row
			displayString	+=	"<table class=\"hintDisplay\" cellpadding=\"0\" cellspacing=\"0\"><tr><th><label>Account Nickname<\/label><\/th>";
			displayString	+=	"<th><label>Password Hint<\/label><\/th><\/tr>";

			// set each account nickname/password hint
			for(var i=0;i<passwordHintsArray.length;i++)
			{
				if (passwordHintsArray[i][1]	===	'')
				{
					jsAccount_Nickname	=	"&lt;Account Nickname&gt;";
				}
				else
				{
					jsAccount_Nickname	=	passwordHintsArray[i][1];
				}
		
				displayString	+=	"<tr><td>" + jsAccount_Nickname + "<\/td>";
				displayString	+=	"<td>" + passwordHintsArray[i][2] + "<\/td><\/tr>";
			}

			// close table tag
			displayString	+=	"<\/table>";

			// set email password buttons
			displayString	+=	"<div class=\"divider marginTop20 marginBottom20\"><\/div>";
			displayString	+=	"<div id=\"emailLabel\" class=\"paddingBottom20\"><center><h5 class=\"colorLabelBlue\">Email My Password<\/h5><\/center><\/div>";
			displayString	+=	"<div id=\"emailButton\" class=\"buttonCenter paddingBottom10\">";
			displayString	+=	"<a href=\"javascript:;\" class=\"button\" onclick=\"sendPasswordEmail('" + emailAddress + "'," + passwordCount + ")\">Email<\/a>";
			displayString	+=	"<\/div>";

			// set display of email success/failure
			displayString	+=	"<div id=\"displayEmailStatus\" style=\"display:none;\"><\/div>";
	

		}
	}
	
	$("#displayPasswordHint").html(displayString);
	
	// display password hints
	$("#displayPasswordHint").show();
};


//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////                                    ///////////////////////////////
///////////////////////////////        Send Password Email         ///////////////////////////////
///////////////////////////////                                    ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

var sendPasswordEmail = function (emailAddress,passwordCount)
{
	var errCode			=	0;
	var displayString	=	'';

	// hide email button
	$("#emailButton").hide();
	$("#emailLabel").hide();
	
	// set up proxy
	var loginFunctions		=	new loginFunctionsProxy();
	loginFunctions.setHTTPMethod("GET");

	errCode = parseInt(loginFunctions.sendPasswordEmail(emailAddress));

	if(errCode == 0)
	{
		if(passwordCount == 1)
		{
			var passwordString = "password has";
		}
		else
		{
			var passwordString = "passwords have";
		}
		displayString	+=	"<div class=\"resultMsg colorBlue\"><img class=\"resultImg\" src=\"/messageStack/images/imgMsgBlue.gif\" \/><span>Your " + passwordString + " been emailed to " + emailAddress + "<\/span><\/div>";
	}
	else
	{
		displayString	+=	"<div class=\"resultMsg colorRed\"><img class=\"resultImg\" src=\"/messageStack/images/imgMsgRed.gif\" \/><span>There was a problem sending the email.  Please try again later.<\/span><\/div>";
	}

	$("#displayEmailStatus").html(displayString);
	
	// display password hints
	$("#displayEmailStatus").show();

};


