﻿
// flag indicating whether or not user login input was successfully validated i.e. not empty
var validated = true;

// defaults to loginNameTxtBox, but set via dynamically rendered declaration of this variable value from asp.net code behind

var LoginFocusObjectId = "loginNameTxtBox"; 


// called on window load to set textbox focus

function setLoginFocus()
{
	document.getElementById(LoginFocusObjectId).focus();
}
					
function swapClass(obj,ClassName)
{
	document.getElementById(obj).className = ClassName
}

// clears login name and passwors input textboxes
function clearBoxes()
{
	document.getElementById("loginNameTxtBox").value = "";
	document.getElementById("passwordTxtBox").value = "";
}

// clears all validation messages (as they may still exist on screen from a previous failed login attempt)
function clearPreviousMessages()
{
	document.getElementById("passwordMsg").style.display = "none";      
	document.getElementById("loginNameMsg").style.display = "none";
}

// select login type list index changed
function LoginTypeListChange()
{
    clearPreviousMessages();
    clearBoxes();
    document.getElementById("loginFailedMessage").innerHTML = "";
}

    
// VALIDATES REQUIRED LOG IN DETAILS HAVE BEEN ENTERED BEFORE SUBMISSION TO SERVER    

function validateLogin()
{
	clearPreviousMessages();
	validated = true;

       // check password textbox is not empty

       if( !checkValueEntered( document.getElementById("passwordTxtBox").value ) )
       {
            validated = false;
            document.getElementById("passwordMsg").style.display = "block";      
			setLoginFocus("passwordTxtBox");
       }

       // check login name textbox is not empty
        
       if( !checkValueEntered( document.getElementById("loginNameTxtBox").value ) )
       {
            validated = false;
            document.getElementById("loginNameMsg").style.display = "block";     
			setLoginFocus("loginNameTxtBox");
       }

       //return validated
       
       if(validated == true)
       {
            document.forms[0].submit();
       }
   
}
    

// CHECKS TEXTBOX IS NOT EMPTY
    
function checkValueEntered( elemValue ) 
{
	var str = elemValue;
	var re = /.+/;

	if( !str.match(re) ) 
	{
		return false;
	}
	
	else
	{
	   return true;
	}

}
    
    
    // --------------- ajax email password request (added 20/3/08) ---------
    
    function EmailPasswordBtnClick()
    {
        DisplayHideObj("PasswordRequestMsg","none");
        DisplayHideObj("EmailValMsg","none");
        document.getElementById("PasswordRequestMsg").innerHTML = "";
        var email = document.getElementById("txtSendEmail").value.Trim();
        var validEmail = IsValidEMailAddressFormat(email);
        
        if(email != ""  && validEmail == true)
        {
            document.getElementById("PasswordRequestMsg").innerHTML = "<p>We are processing your password request! An email will be sent to " + email + " containing your password </p>";
            DisplayHideObj("PasswordRequestMsg","block");
            document.getElementById("txtSendEmail").value = "";
            PageMethods.EmailUsersPassword(email, PasswordRequestCompleted, PasswordRequestError,'');
        }
        else
        {
            DisplayHideObj("EmailValMsg","block");
        }
        
    }

    function PasswordRequestCompleted(responsetext)
    {
        displayResponseMsg(responsetext);
    }
    
    function PasswordRequestError(errorObject, requestContext)
    {
        RequestErrorMessage = errorObject.get_message();
        RequestExceptionType = errorObject.get_exceptionType();
        displayResponseMsg("Sorry, a network or technical problem has prevented us from emailing your password! Please try again soon" + RequestErrorMessage);
    }
    
    function displayResponseMsg(responseMsg)
    {
    document.getElementById("PasswordRequestMsg").innerHTML = '<p class="responseMsgText">' + responseMsg + '</p>';
    }
    