﻿
function StudyGroupHeaderUpdateButtonSearchForMembers() {
    document.cookie = "SearchButton=Members; path=/";
    var SearchButton = document.getElementById('searchHeader');
    SearchButton.value = 'Search Members';
}


function StudyGroupHeaderUpdateButtonSearchForQuestions() {
    document.cookie = "SearchButton=Questions; path=/";
    var SearchButton = document.getElementById('searchHeader');
    SearchButton.value = 'Search Questions';
}

function StudyGroupHeaderUpdateButtonSearchForExams() {
    document.cookie = "SearchButton=Exams; path=/";
    var SearchButton = document.getElementById('searchHeader');
    SearchButton.value = 'Search Exams';
}

function StudyGroupHeaderUpdateButtonSearchForStudyGroups() {
    document.cookie = "SearchButton=Groups; path=/";
    var SearchButton = document.getElementById('searchHeader');
    SearchButton.value = 'Search Groups';
}

function SearchSelectedHeader() {
    var SearchButton = document.getElementById('searchHeader');
    var searchGadget = document.getElementById('searchGadget');
    if (SearchButton.value == 'Search Members') {
        alert('Members');
    }
    else if (SearchButton.value == 'Search Questions') {
        SearchQuestionsFromAnotherPage(searchGadget.value);
    }
    else if (SearchButton.value == 'Search Exams') {
        SearchExamsFromAnotherPage(searchGadget.value);
    }
    else {
        SearchStudyGroupsFromAnotherPage(searchGadget.value);
    }
}

function SearchExamsFromAnotherPage(TextToSearch) {
    document.cookie = "SearchExamsText=" + TextToSearch + "; path=/";
    window.location = '/SearchExams/';
}


function SearchExamsFromTagLink(TextToSearch) {
    document.cookie = "SearchExamsText=" + TextToSearch + "; path=/";
    document.cookie = "SearchExamsByTags=" + TextToSearch + "; path=/";
    window.location = '/SearchExams/';
}


function SearchQuestionsFromAnotherPage(TextToSearch) {
    document.cookie = "SearchQuestionsText=" + TextToSearch + "; path=/";
    window.location = '/SearchQuestions/';
}

function SearchQuestionsFromTagLink(TextToSearch) {
    document.cookie = "SearchQuestionsText=" + TextToSearch + "; path=/";
    document.cookie = "SearchQuestionsByTags=" + TextToSearch + "; path=/";
    window.location = '/SearchQuestions/';
}

function SearchStudyGroupsByTagLink(TextToSearch) {
    document.cookie = "SearchGroupText=" + TextToSearch + "; path=/";
    document.cookie = "SearchGroupText=" + TextToSearch + "; path=/";
    window.location = '/SearchStudyGroups/';
}

function SearchStudyGroupsFromAnotherPage(TextToSearch) {
    document.cookie = "SearchGroupText=" + TextToSearch + "; path=/";
    window.location = '/SearchStudyGroups/';
}

function StartSearchStudyGroups() {
    SearchStudyGroupsFromAnotherPage(document.getElementById('searchStudyGroups').value);
}


function StartSearchExams() {
    SearchExamsFromAnotherPage(document.getElementById('searchExams').value);
}


function StartSearchQuestions() {
    SearchQuestionsFromAnotherPage(document.getElementById('searchQuestions').value);
}


function LogInForm() {
    if (document.getElementById('LogInBox').style.display == 'none') {
        document.getElementById('LogInBox').style.display = 'block';
        var Username = document.getElementById("Username");
        Username.focus();

    }
    else {
        document.getElementById('LogInBox').style.display = 'none';
        HideTheSearchForLogInDetails();
    }
}



function LogThisMemberIn() {
    var usrUsername = document.getElementById('Username');
    var usrPassword = document.getElementById('Password');
    var usernameCheck = MakeSureUserHasProvidedAUserName(usrUsername.value);
    if (usernameCheck) {
        var passwordCheck = MakeSureUserHasProvidedAPassword(usrPassword.value);
        if (passwordCheck) {
            MasterHeader.AttemptToLoginMember(usrUsername.value, usrPassword.value, OnCompleteLogThisMemberIn, OnTimeout, OnError);
        }
    }
}

function MakeSureUserHasProvidedAUserName(UserName) {
    var LoginErrorBox = document.getElementById('LoginErrorBox');
    if (UserName != '') {
        LoginErrorBox.innerHTML = '';
        return true;
    }
    else {
        var TheUsername = document.getElementById("Username");
        TheUsername.focus();
        LoginErrorBox.innerHTML = 'Provide a User Name';
        return false;
    }
}

function MakeSureUserHasProvidedAPassword(Password) {
    var LoginErrorBox = document.getElementById('LoginErrorBox');
    if (Password != '') {
        LoginErrorBox.innerHTML = '';
        return true;
    }
    else {
        var ThePassword = document.getElementById("Password");
        ThePassword.focus();
        LoginErrorBox.innerHTML = 'Provide a Password';
        return false;
    }
}



function OnCompleteLogThisMemberIn(value) {
    if (value == true) {
        document.cookie = "LoggingInUsername=" + document.getElementById('Username').value + "; path=/";
        document.cookie = "LoggingInPassword=" + document.getElementById('Password').value + "; path=/";
        document.cookie = "LoggingInURL=" + window.location.href + "; path=/";
        document.cookie = "LogThisMemberIn=true; path=/";
        window.location = '/LogIn/';
    }
    else {
        var LoginErrorBox = document.getElementById('LoginErrorBox');
        var TheUsername = document.getElementById("Username");
        TheUsername.focus();
        LoginErrorBox.innerHTML = 'Invalid User Name / Password';
    }
}


function LogThisMemberOut() {
    window.location = '/LogOut/';
}

function LogInForgotLogInDetails() {


    var TheLogInContainer = document.getElementById('TheLogInContainer');
    var TheForgottenLogInDetailsContainer = document.getElementById('TheForgottenLogInDetailsContainer');
    if (TheForgottenLogInDetailsContainer.style.display == 'none') {
        TheForgottenLogInDetailsContainer.style.display = 'block';
        TheLogInContainer.style.display = 'none';
        var TheUsername = document.getElementById("Username");
        var ThePassword = document.getElementById("Password");
        var LoginErrorBox = document.getElementById('LoginErrorBox');
        TheUsername.value = '';
        ThePassword.value = '';
        LoginErrorBox.innerHTML = '';

    }
    else {
        HideTheSearchForLogInDetails();
    }
}


function HideTheSearchForLogInDetails() {
    var TheLogInContainer = document.getElementById('TheLogInContainer');
    var TheForgottenLogInDetailsContainer = document.getElementById('TheForgottenLogInDetailsContainer');
    TheForgottenLogInDetailsContainer.style.display = 'none';
    TheLogInContainer.style.display = 'block';
}


function RetrieveThisMembersPassword() {
    var EmailAddress = document.getElementById('RetrieveThisMembersPasswordEmailAddress');
    var EmailAddressCheck = MakeSureUserHasProvidedAnEmailAddress(EmailAddress.value);
    if (EmailAddressCheck) {
        var theButton = document.getElementById('TheRetrieveLogInDetailsButton');
        theButton.style.visibility = 'hidden';
        theButton.style.display = 'none';
        MasterHeader.RetrieveMembersLogInDetails(EmailAddress.value, OnCompleteRetrieveMembersLogInDetails, OnTimeout, OnError);
    }
}

function OnCompleteRetrieveMembersLogInDetails(value) {
    var RetrieveLoginErrorBox = document.getElementById('RetrieveLoginErrorBox');
    if (value == true) {
        var RetrieveThisMembersPasswordEmailAddress = document.getElementById('RetrieveThisMembersPasswordEmailAddress');
        RetrieveLoginErrorBox.innerHTML = 'Your log in details have been mailed to you.';
    }
    else {
        var theButton = document.getElementById('TheRetrieveLogInDetailsButton');
        theButton.style.visibility = 'visible';
        theButton.style.display = 'inline';
        var RetrieveThisMembersPasswordEmailAddress = document.getElementById('RetrieveThisMembersPasswordEmailAddress');
        RetrieveLoginErrorBox.innerHTML = 'The email address does not have an account associated with it.';
    }
}

function MakeSureUserHasProvidedAnEmailAddress(EmailAddress) {
    var RetrieveLoginErrorBox = document.getElementById('RetrieveLoginErrorBox');
    if (EmailAddress != '') {
        RetrieveLoginErrorBox.innerHTML = '';
        return true;
    }
    else {
        var RetrieveThisMembersPasswordEmailAddress = document.getElementById("RetrieveThisMembersPasswordEmailAddress");
        RetrieveThisMembersPasswordEmailAddress.focus();
        RetrieveLoginErrorBox.innerHTML = 'Provide an Email Address';
        return false;
    }
}

