﻿// JScript File

// JScript File
//This file contains all of the calls made to the 'ws_Users' web service and handles the return calls from it

    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 strCompany;
        var strFirstname;
        var strSurname;
        var strEmailAddress;
        var intCountryID;
        var intSubsLevelID;
        var boolExcludeDeleted;
        var boolUnpaidBI;

        ID = '';
        ID = document.getElementById("txtsrchID").value;
        if (ID.length<1){
            ID='j';
        }
        
        boolExcludeDeleted = document.getElementById("chksrchExcludeDeleted").checked;
        boolUnpaidBI = document.getElementById("chkUnpaidBI").checked;
        
        //window.alert(document.getElementById("cmbSrchSubsLevels").selectedIndex);
        //window.alert(document.getElementById("cmbSrchSubsLevels").options[document.getElementById("cmbSrchSubsLevels").selectedIndex].value);
        intSubsLevelID = '';
        intSubsLevelID = document.getElementById("cmbsrchSubsLevels").options[document.getElementById("cmbsrchSubsLevels").selectedIndex].value;
        if (intSubsLevelID.length<1){
            intSubsLevelID='j';
        }
        intCountryID = '';
        intCountryID = document.getElementById("cmbsrchCountries").options[document.getElementById("cmbsrchCountries").selectedIndex].value;
        if (intCountryID.length<1){
            intCountryID='j';
        }

        strCompany = document.getElementById("txtsrchCompany").value;
        strFirstname = document.getElementById("txtsrchFirstname").value;
        strSurname = document.getElementById("txtsrchSurname").value;
        strEmailAddress = document.getElementById("txtsrchEmail").value;
        if(isNaN(ID)==true){
            ID = 0;
        }
        if(isNaN(intCountryID)==true){
            intCountryID = 0;
        }
        if(isNaN(intSubsLevelID)==true){
            intSubsLevelID = 0;
        }

        document.getElementById("UserList").innerHTML = "Loading....";
        document.getElementById("UserDetail").innerHTML = "";
        
        //window.alert("country" + intCountryID);
        //window.alert("subs" + intSubsLevelID);
        
        ret = ws_Users.Search(ID, strCompany, strFirstname, strSurname, strEmailAddress, intCountryID, intSubsLevelID, boolExcludeDeleted, boolUnpaidBI, u_OnCompleteList, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteList(result){
        document.getElementById("UserList").innerHTML = result;
    }



    function u_NewUser(){
        document.getElementById("UserList").innerHTML = "Loading....";
        document.getElementById("UserDetail").innerHTML = "";
        ret = ws_Users.NewUser(u_OnCompleteDetail, 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_ShowUserDetailGuid(strGuid){
        document.getElementById("UserDetail").innerHTML = "Loading....";
        ret = ws_Users.UserDetailGuid(strGuid, u_OnCompleteDetail, u_OnErrorGeneric, u_OnTimeOutGeneric);
    }
    function u_OnCompleteDetail(result){
        document.getElementById("UserDetail").innerHTML = result;
    }



    function u_Save(intUserID, strSubsLevelIDs){
        var strFirstname
        var strSurname
        var strInitial
        var strTitle
        var strJobTitle
        var strJobArea
        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 strSubsLevels
        var temp = new Array()
        var strChkBox
        var strExp
        
        strSubsLevels = "";
        //window.alert("subs" + strSubsLevelIDs);
        temp = strSubsLevelIDs.split('~');                
        for (var i=0;i<=temp.length-1;i++)
            {
            if (temp[i].length > 0){
                strChkBox = "chkSubs" + temp[i];
                strExp = "txtSubs" + temp[i] + "Expiry"
                //window.alert("Checking: " + strChkBox);
                //window.alert(document.getElementById(strChkBox).checked);
                if(document.getElementById(strChkBox).checked==true){
                    strSubsLevels += temp[i] + "~" + document.getElementById(strExp).value + "~" + document.getElementById("chkSubsLive" + temp[i]).checked + "||"
                }   
                //window.alert(strSubsLevels);
            }
        }

        strFirstname =  document.getElementById("txtFirstname").value;
        strSurname =  document.getElementById("txtSurname").value;
        strInitial = document.getElementById("txtInitials").value;
        strTitle =  document.getElementById("txtTitle").value;
        strJobTitle =  document.getElementById("txtJobTitle").value;
        strJobArea =  document.getElementById("txtJobArea").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("cmbCountries").options[document.getElementById("cmbCountries").selectedIndex].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;
        strDateDeleted =  document.getElementById("txtDateDeleted").value;

        ret = ws_Users.Save(intUserID, strFirstname, strSurname, strInitial, strTitle, strJobTitle, strJobArea, strAddress1, strAddress2, strAddress3, strCity, strCounty, strPostcode, strCountry, strEmailAddress, strEmailAddress2, strPhoneNumber, strPhoneNumber2, strUsername, strPassword, strNotes, strDateDeleted, strSubsLevels, 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);
        }
        document.getElementById("UserDetail").innerHTML = result;
        u_Search();
    }
    


    function u_Save_Site(intUserID){
        var strFirstname = '';
        var strSurname = '';
        var strCompanyName = '';
        var strJobTitle = '';
        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 strNewPassword = '';
        var strMessage = '';
        var boolEReport = false;
        var boolBreakingNews = false;
        
        strMessage = '';
        strNewPassword = '';
        
        strFirstname =  document.getElementById("txtFirstname").value;
        strSurname =  document.getElementById("txtSurname").value;
        strCompanyName =  document.getElementById("txtCompanyName").value;
        strJobTitle =  document.getElementById("txtJobTitle").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("cmbCountries").options[document.getElementById("cmbCountries").selectedIndex].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;
        strNewPassword =  document.getElementById("txtNewPassword").value;
        boolEReport = document.getElementById("chkNLeReport").checked;

        if (strFirstname.length<1){
            strMessage = 'Please enter your first name';
        }
        if (strMessage.length<1){
            if (strSurname.length<1){
                strMessage = 'Please enter your last name';
            }
        }
        if (strMessage.length<1){
            if (strJobTitle.length<1){
                strMessage = 'Please enter your job title';
            }
        }
        if (strMessage.length<1){
            if (strEmailAddress.length<1){
                strMessage = 'Please enter your email address';
            }
        }
        if (strMessage.length<1){
            if (strUsername.length<1){
                strMessage = 'Please enter your username';
            }
        }
        if (strMessage.length<1){
            if (strPassword.length<1){
                strMessage = 'Please enter your password';
            }
        }
        if (strCountry.length<1){
            strCountry='j';
        }
        if(isNaN(strCountry)==true){
            strMessage = 'Please select your country';
            strCountry = 0;
        }
        if (strMessage.length<1){
            if (strUsername.length < 1){
                strUsername = strEmailAddress;
            }
            if (strNewPassword.length>0){
                strPassword = strNewPassword;
            }
        }
        if (strMessage.length<1){    
            ret = ws_Users.SaveSite(intUserID, strFirstname, strSurname, strCompanyName, strJobTitle, strAddress1, strAddress2, strAddress3, strCity, strCounty, strPostcode, strCountry, strEmailAddress, strEmailAddress2, strPhoneNumber, strPhoneNumber2, strUsername, strPassword, boolBreakingNews, boolEReport, u_OnCompleteSiteSave, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }else{
            window.alert(strMessage);
        }
    }
    function u_OnCompleteSiteSave(result){
        var temp = new Array();
        temp = result.split('~');
        if (temp[0]=='Your details have been saved'){
            document.getElementById("Save").style.left = '100px';
            document.getElementById("Save").innerHTML = temp[0] + '<br/>Please <a onclick=u_LoginX("' + temp[1] + '","' + temp[2] + '")><u>click here</u></a> to continue as a logged in user';
        }else{
            window.alert(result);
        }
    }

    
    function u_Login(){
        var strUserName
        var strPassword
        
        strUserName = '';
        strPassword = '';
        
        strUserName = document.getElementById("txtUsername").value;
        strPassword = document.getElementById("txtPassword").value;
        
        if (strUserName.length<1 || strPassword.length<1){
            document.getElementById("LoginResult").innerHTML = 'Please enter your username and password';            
        }else{
            ret = ws_Users.Login(strUserName, strPassword, u_onCompleteLogin, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }
    }
    function u_onCompleteLogin(result){
        if (result.length>0){
            document.getElementById("LoginResult").innerHTML = result;        
        }else{
            var strLink = querySt("lnk");
            if (strLink.length>0){
                strLink = strLink.replace('eeqquu', '=');
                //window.alert(strLink);
                //window.alert(strLink.indexOf('login.aspx?'));
                //if (strLink.indexOf('login.aspx?')>0){
                //    //we have been directed here from a login page
                //    window.location="home.aspx";                    
                //}
                window.location=strLink;
            }else{
                window.location="home.aspx";
            }
        }
    }
    function u_LoginX(strUsername, strPassword){
        if (strUsername.length<1 || strPassword.length<1){
        }else{
            ret = ws_Users.Login(strUsername, strPassword, u_onCompleteLoginX, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }
    }
    function u_onCompleteLoginX(result){
        if (result.length>0){
            window.alert = result;        
        }else{
            window.location="home.aspx";
        }
    }


    function querySt(ji) {
        var strRet;
        strRet = '';
        hu = window.location.search.substring(1);
        gy = hu.split("&");
        if (gy.length>0){
            for (i=0;i<gy.length;i++) {
                ft = gy[i].split("=");
                if (ft[0] == ji) {
                    return ft[1];
                }
            }
        }else{
            return strRet;
        }
        return strRet;
    }
    
    function u_ForgottenPassword(){
        var strEmail
        
        strEmail = '';
        strEmail = document.getElementById("txtEmail").value;
        
        if (strEmail.length<1){
            document.getElementById("Result").innerHTML = 'Please enter your email address';            
        }else{
            ret = ws_Users.ForgottenPassword(strEmail, u_onCompleteForgottenPassword, u_OnErrorGeneric, u_OnTimeOutGeneric);
        }    
    }
    function u_onCompleteForgottenPassword(result){
        document.getElementById("Result").innerHTML = result;        
    }
    
    

    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(error){
        var stackTrace = error.get_stackTrace();
        var message = error.get_message();
        var statusCode = error.get_statusCode();
        var exceptionType = error.get_exceptionType();
        var timedout = error.get_timedOut();
        var strMessage;
       
        // Display the error.    
        strMessage = "Stack Trace: " +  stackTrace + "    ||    Service Error: " + message + "    ||    Status Code: " + statusCode + "    ||    Exception Type: " + exceptionType + "    ||    Timedout: " + timedout;
        //strMessage = "Message: " +  message;
        window.alert("Error:" + strMessage);  
    }

    function u_OnTimeOutGeneric(result){
        window.alert("Timeout in users web service: " + result);
    }