﻿/* WEB SERVICE REQUESTS */
function Site_IsAuthenticated(callbackFunction) {
    var svc = new Accountable.Services.AuthenticationService();
    svc.IsAuthenticated(callbackFunction, Site_OnFailedRequest);
}

function Site_GetUser(callbackFunction) {
    var svc = new Accountable.Services.AuthenticationService();
    svc.GetUser(callbackFunction, Site_OnFailedRequest);
}

function Site_OnFailedRequest(error) {
    // use for debugging
    //alert(error.get_message());
}

function Site_Logout() {
    var svc = new Accountable.Services.AuthenticationService();
    svc.Logout(Site_RefreshPage, Site_OnFailedRequest);
}
/* END WEB SERVICE REQUESTS */

/* LOGIN STATUS */
$(document).ready(function () {
    Site_GetUser(Login_SetUserLinks);
});

function Login_SetUserLinks(user) {
    if (user.IsAuthenticated) {
        Login_SetUserName(user.Name);
        Login_SetRoleBasedLinks(user.Roles);
    }
    else {
        $('#lnkLogin').css({ 'display': 'block', 'visibility': 'visible' });
    }
}

function Login_SetUserName(name) {
    if (name) $('#lnkLogout').html('Logout ' + name);
    $('#lnkLogout').css({ 'display': 'block', 'visibility': 'visible' });
}

// Set elements with class = role to visible
function Login_SetRoleBasedLinks(roles) {
    for (var i = 0; i < roles.length; i++) {
        $("a." + roles[i] + ".Block").css({ 'display': 'block', 'visibility': 'visible' });
        $("a." + roles[i] + ".Inline").css({ 'display': 'inline', 'visibility': 'visible' });
    }
}
/* END LOGIN STATUS */

/* SITE SEARCH BOX */
$(document).ready(function () {
    $('#txtSiteSearch').watermark('Search Site', { className: 'LiteTextColor' });
    $('#btnSiteSearch').click(btnSiteSearchClick);
    $('#txtSiteSearch').keypress(txtSiteSearchKeyPress);
});

// Search box key down handler
function txtSiteSearchKeyPress(evt) {
    if (evt.keyCode == 13) {
        SiteSearch($('#txtSiteSearch').val());
        evt.preventDefault();
        return false;
    }
}

// Search box button handler
function btnSiteSearchClick(evt) {
    SiteSearch($('#txtSiteSearch').val());
}

// Do site search
function SiteSearch(query) {
    var approot = $('#lnkHome').attr('href');
    if (query != '') location.href = approot + 'Search?q=' + encodeURIComponent(query);
}
/* END SITE SEARCH BOX */

function Site_RefreshPage() {
    window.location.reload(true);
}


