
loginUserEnter = function(event,ourform)
{
	switch (BrowserDetect.browser)
		{
		case "Explorer":
			if (window.event && window.event.keyCode == 13)
				{
					login();
				}
   			else
				{
					return true;
				}
		break
		
		default:
			if (event && event.which == 13)
				{
					login();
				}
    		else
				{
					return true;
				}
		break
		}
	
}

function login(){
	var u = getControlValue('txtUsername');
	var p = getControlValue('txtPassword');
	
	showFeedback('loginActionContainer');
	eng_login.loginUser('txtUsername', u, 'txtPassword', p, callback_login);
}

function callback_login(res){
	if (res.error!=null){alert(res.error)};
	
	var results = res.value.Tables[0];
	if (results.Rows[0].result == "True")
	{
		var controls = res.value.Tables[1];
		for (var i=0; i<controls.Rows.length; i++)
		{
			clearInputField(controls.Rows[i].controlID);
			setControlErrorMessage(controls.Rows[i].controlID,'');
		}
		switch (results.Rows[0].errMessage)
		{
			case "valid":
			clearInputField('txtUsername');
			clearInputField('txtPassword');
			
		
			feedbackValid('Verifying','Logging In');
			window.setTimeout('hideLogin();',4000);
					
			break		
		}
	}
	else
	{
		var controls = res.value.Tables[1];
		switch (results.Rows[0].errMessage)
		{			
			case "invalid":
				feedbackInvalid('loginActionContainer');
				window.setTimeout(function(){processValidationResponse(controls)}, 2001);
			break
			
		}
	}
}

function hideLogin(){
		cleanupFeedback('loginActionContainer');
		var urls = location.href.split("/");
		var pageName = urls[urls.length - 2];
		if (pageName=='reading-room')
			{
			window.location.reload();
			}
		else
			{
			window.location = "/my-profile/index.aspx";
			}
	
}

function logout(){
	eng_login.logout_user(callback_logout);
}

function callback_logout(res){
	if (res.error!=null){alert(res.error)};
	if (res.value)
		{
		window.location = "/index.aspx";
		}
}

function getEmailQuestion(){

	var email = getControlValue('txtEmailPasswordStep1');
	setSpanValue('confirmSuccessEmail', email)
	
	showFeedback('passwordStep1ActionContainer');
	eng_login.getSecQues('txtEmailPasswordStep1', email, callback_getEmailQuestion);
}

function callback_getEmailQuestion(res){
	if (res.error!=null){alert(res.error)};
	
	
	var results = res.value.Tables[0];
	if (results.Rows[0].result == "True")
		{
		var controls = res.value.Tables[1];
		for (var i=0; i<controls.Rows.length; i++)
			{
			clearInputField(controls.Rows[i].controlID);
			resetControlErrorMessage(controls.Rows[i].controlID,'');
			}
			var vals = results.Rows[0].errMessage.split("|");
			
			switch (vals[0])
				{
					case "valid":
					
					feedbackValid('Looking it up&#8230;','Got it!');
					
					setSpanValue('emailQuestion', vals[1])
					window.setTimeout("showPasswordQuestion();",4000);
					
					break
				}
		}
	else
		{
		var controls = res.value.Tables[1];
		switch (results.Rows[0].errMessage)
				{
					case "invalid":
						feedbackInvalid('passwordStep1ActionContainer');
						window.setTimeout(function(){processValidationResponse(controls)}, 2001);
					break
		
				}
		}
}

function showPasswordQuestion(){
showPasswordRecoveryStep(2);
cleanupFeedback('passwordStep1ActionContainer');
}

function checkEmailQuestion(){

	var answer = getControlValue('txtSecurityAnswerReminder');
	
	showFeedback('passwordStep2ActionContainer');
	eng_login.checkSecQues('txtSecurityAnswerReminder', answer, callback_checkEmailQuestion);
}

function callback_checkEmailQuestion(res){
	if (res.error!=null){alert(res.error)};
	
	
	var results = res.value.Tables[0];
	if (results.Rows[0].result == "True")
		{
		var controls = res.value.Tables[1];
		for (var i=0; i<controls.Rows.length; i++)
			{
			clearInputField(controls.Rows[i].controlID);
			resetControlErrorMessage(controls.Rows[i].controlID,'');
			}
			
			switch (results.Rows[0].errMessage)
				{
					case "valid":
					
					feedbackValid('Sending you mail&#8230;','Done!');
					
					window.setTimeout("showPasswordComplete();",4000);
					
					break
				}
		}
	else
		{
		var controls = res.value.Tables[1];
		switch (results.Rows[0].errMessage)
				{
					case "invalid":
						feedbackInvalid('passwordStep2ActionContainer');
						window.setTimeout(function(){processValidationResponse(controls)}, 2001);
					break
					
					case "incorrect":
						feedbackInvalid('passwordStep2ActionContainer');
						window.setTimeout(function(){processValidationResponse(controls)}, 2001);
					break
		
				}
		}
}

function showPasswordComplete(){
showPasswordRecoveryStep(3);
cleanupFeedback('passwordStep2ActionContainer');
}

function closePasswordModal(){
showPasswordRecoveryStep(1);
}

showPasswordRecoveryStep = function(intId)
{
	new Effect.DropOut('passwordRecoveryStep' + (intId - 1));
	new Effect.Appear('passwordRecoveryStep' + intId);
}
