﻿// JScript File

//This file contains all of the calls made to the 'ws_Users' web service and handles the return calls from it
var g_intCurrentRequesteeID=0;
var g_intCurrentUserID=0;

    function u_BreakFriends(intUserID, intFriendID){
        g_intCurrentUserID = intUserID;
        ret = ws_Users.BreakFriends(intUserID, intFriendID, u_OnCompleteBreakFriends, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteBreakFriends(result){
        ret = ws_Users.ShowFriendsList(g_intCurrentUserID, u_OnCompleteShowFriends, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }


    function u_ShowFriends(){
        var intUserID = 0;
        document.getElementById("FriendsList").innerHTML = "Loading....";
        intUserID = document.getElementById("cmbUsers").value;
        if (intUserID.length>0){
            ret = ws_Users.ShowFriendsList(intUserID, u_OnCompleteShowFriends, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }else{
            document.getElementById("FriendsList").innerHTML = "Please select a user....";
        }
    }
    function u_OnCompleteShowFriends(result){
        document.getElementById("FriendsList").innerHTML = result;
    }

    function u_SearchLogins(){
        var intUserID;
        var strSurname;
        var strUsername;
        var strDateFrom;
        var strDateTo;

        intUserID = '';
        intUserID = document.getElementById("txtsrchID").value;
        if (intUserID.length<1){
            intUserID='j';
        }
        if(isNaN(intUserID)==true){
            intUserID = 0;
        }
        strSurname = document.getElementById("txtsrchSurname").value;
        strUsername = document.getElementById("txtsrchUsername").value;
        strDateFrom = document.getElementById("txtsrchDateFrom").value;
        strDateTo = document.getElementById("txtsrchDateTo").value;

        document.getElementById("SearchResults").innerHTML = "Loading....";
        ret = ws_Users.SearchLogins(intUserID, strSurname, strUsername, strDateFrom, strDateTo, u_OnCompleteSearchLogins, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteSearchLogins(result){
        document.getElementById("SearchResults").innerHTML = result;
    }



    function u_CheckKitazMembers(){
        ret = ws_Users.CheckKitazMembers(u_OnCompleteCheckKitazMembers, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteCheckKitazMembers(result){
        if (result.length>0){
            window.alert(result);        
        }else{
            window.alert("Kitaz members checked");
        }
    }


    function u_ProcessNewRegistration(){
        var strFirstName;
        var strLastName;
        var strEmail;
        var strPhone;
        var strInterests;
        
        strFirstName = document.getElementById("txtFirstname").value;
        strLastName = document.getElementById("txtLastname").value;
        strEmail = document.getElementById("txtEmail").value;
        strPhone = document.getElementById("txtPhone").value;
        strInterests = document.getElementById("txtInterests").value;
        
        ret = ws_Users.ProcessNewRegistration(strFirstName, strLastName, strEmail, strPhone, strInterests, u_OnCompleteProcessNewRegistration, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteProcessNewRegistration(result){
        document.getElementById("RegisterText").innerHTML = result;
    }


    function u_Kitaz_AcceptFriendRequest(intRequestingID, intRequesteeID){
        g_intCurrentRequesteeID = intRequesteeID;
        document.getElementById("DivSiteEventsSearchResults").innerHTML = 'loading...';
        ret = ws_Users.Kitaz_AcceptFriendRequest(intRequestingID, intRequesteeID, u_OnCompleteKitazAcceptFriendRequest, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteKitazAcceptFriendRequest(result){
        //update the noticeboard
        s_SiteEventSearch(1, g_intCurrentRequesteeID);
    }

    function u_Kitaz_RejectFriendRequest(intRequestingID, intRequesteeID){
        g_intCurrentRequesteeID = intRequesteeID;
        document.getElementById("DivSiteEventsSearchResults").innerHTML = 'loading...';
        ret = ws_Users.Kitaz_RejectFriendRequest(intRequestingID, intRequesteeID, u_OnCompleteKitazRejectFriendRequest, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteKitazRejectFriendRequest(result){
        //update the noticeboard
        s_SiteEventSearch(1, g_intCurrentRequesteeID);
    }


    function u_Kitaz_SubmitFriendRequest(intRequestingID, intRequesteeID){
        var strMessage;
        strMessage = document.getElementById("txtRequest" + intRequesteeID).value;
        g_intCurrentRequesteeID = intRequesteeID;
        ret = ws_Users.Kitaz_SubmitFriendRequest(intRequestingID, intRequesteeID, strMessage, u_OnCompleteKitazSubmitFriendRequest, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteKitazSubmitFriendRequest(result){
        window.alert("Your friend request has been sent");
        document.getElementById("divFriend" + g_intCurrentRequesteeID + "Request").innerHTML = result + '<br/><br/><a class="titles" href="javascript:CloseFriendRequest(' + g_intCurrentRequesteeID + ')">ok</a>';
    }


    function u_Kitaz_ShowMyFriends(intPageNumber){        
        //window.alert(intPageNumber + ', ' + strSearchTerm );
        document.getElementById("DivFriends").innerHTML = 'loading...';
        ret = ws_Users.Kitaz_ShowMyFriends(intPageNumber, 7, u_OnCompleteKitazShowMyFriends, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteKitazShowMyFriends(result){
        document.getElementById("DivFriends").innerHTML = result;
    }


    function u_Kitaz_Search(intPageNumber){
        var strSearchTerm;

        //window.alert("in u_Kitaz_Search");

        strSearchTerm = document.getElementById("txtSearchName").value;
        
        //if (strSearchTerm.length>0){
            //window.alert(intPageNumber + ', ' + strSearchTerm );
            document.getElementById("DivFriendsSearchResults").innerHTML = 'loading...';
            ret = ws_Users.Kitaz_Search(intPageNumber, 5, strSearchTerm, u_OnCompleteKitazSearch, u_OnErrorGeneric, u_OnTimeOutGeneric);
        //}else{
                    
        //}
    }
    function u_Angels_Search(intPageNumber){
        var strSearchTerm;

        //window.alert("in u_Kitaz_Search");

        strSearchTerm = document.getElementById("txtSearchName").value;
        
        //if (strSearchTerm.length>0){
            //window.alert(intPageNumber + ', ' + strSearchTerm );
            document.getElementById("DivFriendsSearchResults").innerHTML = 'loading...';
            ret = ws_Users.Angels_Search(intPageNumber, 5, strSearchTerm, u_OnCompleteKitazSearch, u_OnErrorGeneric, u_OnTimeOutGeneric);
        //}else{
                    
        //}
    }
    function u_OnCompleteKitazSearch(result){
        document.getElementById("DivFriendsSearchResults").innerHTML = result;
    }
    

    function u_PostMessage(){
        var strSubject;
        var strMessage;
        document.getElementById("MessagePostConf").value = '';
        strSubject = document.getElementById("txtSubject").value;
        strMessage = document.getElementById("txtMessage").value;
        ret = ws_Users.PostAdvisorMessage(strSubject, strMessage, u_OnCompleteMessage, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteMessage(result){
        document.getElementById("MessagePostConf").innerHTML = '<font color="red">' + result + '</font>';
    }


    function u_ListUsers(){
        document.getElementById("UserList").innerHTML = "Loading....";
        document.getElementById("UserDetail").innerHTML = "";
        ret = ws_Users.ListUsers(u_OnCompleteList, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_Search(){
        var ID;
        var strFirstname;
        var strSurname;
        var strPostcode;
        var strCountry;
        var strNotes;
        var intSubsLevelID;

        ID = '';
        ID = document.getElementById("txtSrchID").value;
        if (ID.length<1){
            ID='j';
        }
        strFirstname = document.getElementById("txtSrchFirstname").value;
        strSurname = document.getElementById("txtSrchSurname").value;
        if(isNaN(ID)==true){
            ID = 0;
        }
        strPostcode = document.getElementById("txtSrchPostcode").value;
        strCountry = document.getElementById("cmbSrchCountries").value;
        strNotes = document.getElementById("txtSrchNotes").value;
        intSubsLevelID = 0;
        intSubsLevelID = document.getElementById("cmbSrchSubsLevels").value;
        if (intSubsLevelID.length<1){
            intSubsLevelID=0;
        }

        document.getElementById("UserList").innerHTML = "Loading....";
        document.getElementById("UserDetail").innerHTML = "";
        ret = ws_Users.Search(ID, strFirstname, strSurname, strPostcode, strCountry, intSubsLevelID, strNotes, u_OnCompleteList, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteList(result){
        document.getElementById("UserList").innerHTML = result;
    }


    function u_PrintResults(){
        var ID;
        var strFirstname;
        var strSurname;
        var strPostcode;
        var strCountry;
        var intSubsLevelID;

        ID = '';
        ID = document.getElementById("txtSrchID").value;
        if (ID.length<1){
            ID='j';
        }
        if(isNaN(ID)==true){
            ID = 0;
        }

        strFirstname = document.getElementById("txtSrchFirstname").value;
        strSurname = document.getElementById("txtSrchSurname").value;
        strPostcode = document.getElementById("txtSrchPostcode").value;
        strCountry = document.getElementById("cmbSrchCountries").value;
        intSubsLevelID = 0;
        intSubsLevelID = document.getElementById("cmbSrchSubsLevels").value;
        if (intSubsLevelID.length<1){
            intSubsLevelID=0;
        }
        
        window.open('print.aspx?mode=u&id=' + ID + '&firstname=' + strFirstname + '&surname=' + strSurname + '&country=' + strCountry + '&postcode=' + strPostcode + '&subslevel=' + intSubsLevelID);
   }


    function u_NewUser(){
        document.getElementById("UserList").innerHTML = "Loading....";
        document.getElementById("UserDetail").innerHTML = "";
        ret = ws_Users.NewUser(u_OnCompleteDetail, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_NewPressMember(){
        var strName;
        var strEmail;
        var strPublications;
        
        document.getElementById("PressWait").innerHTML = 'Please wait...';
        strName= document.getElementById("txtPressName").value;
        strEmail= document.getElementById("txtPressEmail").value;
        strPublications= document.getElementById("txtPressPubs").value;
        if (strEmail.length<1){
            window.alert("Please enter your email address");
        }else{
            ret = ws_Users.SubmitNewPressMember(strName, strEmail, strPublications, u_OnCompleteNewPress, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }
    }
    function u_NewVisitingMember(){
        var strName;
        var strEmail;
        var strAddress;
        var strPhone;
        var strRef;
        
        document.getElementById("VisWait").innerHTML = 'Please wait...';
        strName= document.getElementById("txtVisName").value;
        strEmail= document.getElementById("txtVisEmail").value;
        strAddress= document.getElementById("txtVisAddress").value;
        strPhone= document.getElementById("txtVisPhone").value;
        strRef= document.getElementById("txtVisReference").value;
        
        if (strEmail.length<1){
            window.alert("Please enter your email address");
        }else{
            ret = ws_Users.SubmitNewVisitingMember(strName, strEmail, strAddress, strPhone, strRef, u_OnCompleteNewGuest, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }        
    }
    function u_ShowUserDetail(intUserID){
        document.getElementById("UserDetail").innerHTML = "Loading....";
        ret = ws_Users.UserDetail(intUserID, u_OnCompleteDetail, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteDetail(result){
        document.getElementById("UserDetail").innerHTML = result;
    }
    function u_OnCompleteNewPress(result){
        document.getElementById("PressWait").innerHTML = '';
        document.getElementById("PressConf").innerHTML = 'Thank you for giving us your details.<br/>We will be in touch soon.';
        document.getElementById("txtPressName").value = '';
        document.getElementById("txtPressEmail").value = '';
        document.getElementById("txtPressPubs").value = '';
    }
    function u_OnCompleteNewGuest(result){
        document.getElementById("VisWait").innerHTML = '';
        document.getElementById("VisConf").innerHTML = 'Thank you for giving us your details.<br/>We will be in touch soon.';
        document.getElementById("txtVisName").value = '';
        document.getElementById("txtVisEmail").value = '';
        document.getElementById("txtVisAddress").value = '';
        document.getElementById("txtVisPhone").value= '';
    }

    function u_SubmitNewAngelsUser(intUserID){
        var strFirstName;
        var strSurname;
        var strEmail;
        var strUsername;
        var strPass1;
        var strPass2;
        var strMessage='';
        
        strFirstName= document.getElementById("txtFirstname").value;
        strSurname= document.getElementById("txtSurname").value;
        strEmail= document.getElementById("txtEmail").value;
        strUsername= document.getElementById("txtUsername").value;
        strPass1= document.getElementById("txtPassword").value;
        strPass2= document.getElementById("txtPassword2").value;
        
        if (strSurname.length<1){
            if (strMessage.length>0){
                strMessage = strMessage + ", ";
            }
            strMessage = strMessage + "missing surname";
        }
        if (strEmail.length<1){
            if (strMessage.length>0){
                strMessage = strMessage + ", ";
            }
            strMessage = strMessage + "missing email address";
        }
        if (strUsername.length<1){
            if (strMessage.length>0){
                strMessage = strMessage + ", ";
            }
            strMessage = strMessage + "missing username";
        }
        if (strPass1.length<1){
            if (strMessage.length>0){
                strMessage = strMessage + ", ";
            }
            strMessage = strMessage + "missing password";
        }
        if (strPass1 != strPass2){
            if (strMessage.length>0){
                strMessage = strMessage + ", ";
            }
            strMessage = strMessage + "passwords did not match";
        }
        
        if (strMessage.length<1){
            ret = ws_Users.SubmitNewAngelsUser(intUserID, strFirstName, strSurname, strEmail, strUsername, strPass1, u_OnCompleteNewAngelsUser, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }else{
            strMessage = "There is a problem with your information.  Please address the following issues; " + strMessage;
            window.alert(strMessage);
        }        
    }
    function u_OnCompleteNewAngelsUser(result){
        var temp;
        
        if (result.length>0){
            if (result.indexOf("~")>0){
                temp = result.split('~');
                //save ok, so open the profile page
                window.location="profile.aspx?uid=" + temp[0] + "&guid=" + temp[1];
            }else{
                //message to display
                window.alert(result);                
                //document.getElementById("divMessage").innerHTML = result;
            }
        }
    }


    function u_Save(intUserID, strSubsLevelIDs, strAdvisorIDs){
        var strFirstname;
        var strSurname;
        var strInitial;
        var strTitle;
        var strAddress1;
        var strAddress2;
        var strAddress3;
        var strCity;
        var strCounty;
        var strPostcode;
        var strCountry;
        var strEmailAddress;
        var strEmailAddress2;
        var strPhoneNumber;
        var strPhoneNumber2;
        var strUsername;
        var strPassword;
        var strNotes;
        var strDateDeleted;
        var strSelectedSubs;
        var strSelectedAdvisors;
        var intFCCustodianID;
        var intFCAccountID;
        var temp = new Array();

        strFirstname =  document.getElementById("txtFirstname").value;
        strSurname =  document.getElementById("txtSurname").value;
        strInitial = document.getElementById("txtInitials").value;
        strTitle =  document.getElementById("txtTitle").value;
        strAddress1 = document.getElementById("txtAddress1").value;
        strAddress2 = document.getElementById("txtAddress2").value;
        strAddress3 = document.getElementById("txtAddress3").value;
        strCity =  document.getElementById("txtCity").value;
        strCounty = document.getElementById("txtCounty").value;
        strPostcode =  document.getElementById("txtPostcode").value;
        strCountry = document.getElementById("txtCountry").value;
        strEmailAddress = document.getElementById("txtEmailAddress").value;
        strEmailAddress2 = document.getElementById("txtEmailAddress2").value;
        strPhoneNumber = document.getElementById("txtPhoneNumber").value;
        strPhoneNumber2 = document.getElementById("txtPhoneNumber2").value;
        strUsername  = document.getElementById("txtUsername").value;
        strPassword =  document.getElementById("txtPassword").value;
        strNotes =  document.getElementById("txtNotes").value;
        intFCCustodianID =  document.getElementById("txtFCCustodianID").value;
        intFCAccountID =  document.getElementById("txtFCAccountID").value;
        strDateDeleted =  document.getElementById("txtDateDeleted").value;
        strSelectedSubs = '';
        strSelectedAdvisors = '';
        
        //now see how many subs levels the user has        
        temp = strSubsLevelIDs.split('~');
        for (var i=0;i<=temp.length-1;i++)
        {
            if (document.getElementById("chkSubs~" + temp[i]).checked==true){
                strSelectedSubs += temp[i] + "~";
            }
        }
        
        //now see how many advisors the user has
        if (strAdvisorIDs.length>0){      
            temp = strAdvisorIDs.split('~');
            for (var i=0;i<=temp.length-1;i++)
            {
                if (document.getElementById("chkAdv~" + temp[i]).checked==true){
                    strSelectedAdvisors += temp[i] + "~";
                }
            }
        }

        ret = ws_Users.Save(intUserID, strFirstname, strSurname, strInitial, strTitle, strAddress1, strAddress2, strAddress3, strCity, strCounty, strPostcode, strCountry, strEmailAddress, strEmailAddress2, strPhoneNumber, strPhoneNumber2, strUsername, strPassword, strNotes, strDateDeleted, strSelectedSubs, strSelectedAdvisors, intFCCustodianID, intFCAccountID, u_OnCompleteSave, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_Delete(intID){
        var resp= confirm("Do you really want to delete this user?");
        if (resp==true){
            ret = ws_Users.Delete(intID, u_OnCompleteSave, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }
    }
    function u_OnCompleteSave(result){
        if (result.length > 0){
            window.alert(result);        
        }else{
            document.getElementById("UserDetail").innerHTML = result;
            u_Search();
        }
    }
    

    function u_Login(){
        var strNumber;
        var strWord;
        
        strNumber = document.getElementById("txtLoginNumber").value;
        strWord = document.getElementById("txtLoginWord").value;
        
        ret = ws_Users.LoginUser(strNumber, strWord, u_OnCompleteLogin, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteLogin(result){
        if (result.length > 0){
            document.getElementById("LoginResult").innerHTML = result;
        }else{
            //login ok so redirect to the home page which will draw on the allowed menu items
            window.location='my_home.aspx';
        }
    }
    

    function u_setDeleted(){
        document.getElementById("lblDeleted").innerHTML = Date();
        document.getElementById("txtDateDeleted").value = Date();
    }
    
    function u_setUnDeleted(){
        document.getElementById("lblDeleted").innerHTML = '<a onclick="setDeleted()">[delete]</a>';
        document.getElementById("txtDateDeleted").value = '';
    }

    function u_OnErrorGeneric(result){
        window.alert("Error in users web service:" + result);
    }

    function u_OnTimeOutGeneric(result){
        window.alert("Timeout in users web service:" + result);
    }