﻿var loadingIndicator;
var uploadButton;

function replaceQuotes(sourceStr)
{
    var replaceStr = sourceStr.replace(/&#34;/g, "\"");
    replaceStr = replaceStr.replace(/&#8217;/g, "\'");
    replaceStr = replaceStr.replace(/<br\\>/g, "\r\n");
    replaceStr = replaceStr.replace(/%22/g, "\"");
    return replaceStr;
}

function openLoginPanel()
{
    $("#loginUsernameTB").val("");
    $("#loginPasswordTB").val("");
    $("#loginErrorSpan").html("");
    $("#loginBox").modal();
}

function setLoadingIndicator(buttonId)
{
    if (buttonId)
        uploadButton = $("#" + buttonId);
    if (uploadButton)
    {
        uploadButton.toggle();
        loadingIndicator = $(document.createElement("span"));
        loadingIndicator.addClass("loadingIndicator");
        uploadButton.after(loadingIndicator);
    }
}

function clearLoadingIndicator()
{
    if (loadingIndicator)
        loadingIndicator.remove();
    if (uploadButton)
        uploadButton.show();
    loadingIndicator = null;
    uploadButton = null;
}

function keyPressIsEnter(e)
{
    var keyCode = (e.keyCode ? e.keyCode : e.charCode);
    return (keyCode == 13);
}

function loginUser()
{
    var loginUsernameTB = $("#loginUsernameTB");
    var loginPasswordTB = $("#loginPasswordTB");
    setLoadingIndicator("loginBtn");
    var responseText = $.ajax(
    {
        type: "POST", url: "UserAccountJSON.aspx", data: "action=login&username=" + loginUsernameTB.val() + "&password=" + loginPasswordTB.val(),
        success: function(msg)
        {
            if (msg != "")
            {
                serverResponseObj = $.parseJSON(msg);
                if (serverResponseObj)
                {
                    if (serverResponseObj.error)
                    {
                        $("#loginErrorSpan").html(serverResponseObj.error);
                    }
                    else if (serverResponseObj.user)
                    {
                        clearLoadingIndicator();
                        location.reload();
                    }
                }
            }
        }
    });
}

function logoutUser()
{
    if (confirm("Are you sure you wish to log out?"))
    {
        setLoadingIndicator("logoutButton");
        var responseText = $.ajax(
        {
            type: "POST", url: "UserAccountJSON.aspx", data: "action=logout",
            success: function(msg)
            {
                if (msg != "")
                {
                    serverResponseObj = $.parseJSON(msg);
                    if (serverResponseObj)
                    {
                        if (serverResponseObj.error)
                        {
                            $("#loginErrorSpan").html(serverResponseObj.error);
                        }
                        else if (serverResponseObj.success)
                        {
                            clearLoadingIndicator();
                            location.reload();
                        }
                    }
                }
            }
        });
    }
}

function formatThousandSeperator(x)
{
    return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}

function truncateText(text, length)
{
    if (text.length <= length)
        return text;
    return text.substring(0, length) + "&hellip;";
}
