﻿/// <reference path="API/Agility.js" />
/// <reference path="../Cosmo.WebServices.js" />

$(document).ready(function() {
    var $container = $("div[id$=pnlTopLogin]"),
        $usernameBox = $("[id$=txtUsername]", $container),
        $passwordBox = $("[id$=txtPassword]", $container),
        $defaultPasswordText = $("#DefaultPassword");
        
    $defaultPasswordText.bind("click", function() {
        $(this).hide();
        $passwordBox.get(0).focus();
    });
    $usernameBox.bind("focus", function() {
        if (this.value == defaultUsername) {
            this.value = "";
        }
    });
    $passwordBox.bind("focus", function() {
        $defaultPasswordText.hide();
    });

    setTimeout("LoadLoginPanel()", 100);
});

function removeDefault(sender) {
    sender.value = '';
}

function removeDefaultPassword(sender) {
    $(sender).hide();
    $(sender).prev().focus();
}

function GetUserName(fnLoggedIn, fnLoggedOut) {

    var webServiceUrl = Edentity.ResolveUrl("~/WebServices/AjaxServices.asmx/GetDisplayName");
    
    Cosmo.WebServices.CallAsmx(webServiceUrl, "{}", function(result) {
        if (result.d) {
            $('.MemberPanel #UserName').html(result.d);
            if (fnLoggedIn) {
                fnLoggedIn();
            }
        } else {
            if (fnLoggedOut) {
                fnLoggedOut();
            }
        }
    });
}

function GetCurrentLoggedUsername(WebServiceUrl, callback) {
    $.ajax({
        type: "POST",
        url: WebServiceUrl + "/GetCurrentUserName",
        cache: false,
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(result) {
            if (jQuery.isFunction(callback)) callback(result.d);
        },
        complete: function(XMLHttpRequest, textStatus) {
            //alert(XMLHttpRequest.status + ' ' + textStatus);
            //alert(XMLHttpRequest.responseText);
        }
    });
};

function LoadLoginPanel() {
    GetUserName(function() {
        $('.LoginPanel').hide();
        $('.LoginButton').hide();
        $('.JoinArea').hide();
        $('.MemberArea').show();
        $('.MemberPanel').show();
    }, function() {
        $('.MemberArea').hide();
        $('.MemberPanel').hide();
        $('.LoginPanel').show();
        $('.LoginButton').show();
        $('.JoinArea').show();

        var inputs = $('.LoginPanel input.InnerLoginBox');
        if (inputs.length > 0 && inputs[0].value == "") {
            inputs[0].value = defaultUsername;
        }
    });
};

function ValidateLogin() {
    var inputs = $(".OuterLoginBox input");
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].value.length == 0) {
            alertTimeout("Please enter your login information.");
            return false;
        }
    }
    return true;
};

function alertTimeout(msg) {
    setTimeout(function() { alert(msg) }, 1500);
    var $container = $("div[id$=pnlTopLogin]");
    var passwordBox = $("[id$=txtPassword]", $container);
    passwordBox.focus();
};

function Login_Logout(cookieName) {
    try {
        ClearCosmoUserCookie();
        clearCookie(cookieName);
        window.location.reload();
    }
    catch (er) {
    }
};


