﻿var mrp_isCurrentUserLoggedIn = false;

// Favourites handler.
var mrp_AddFavouriteFieldName;
var mrp_AddFavouriteButtonName;
var mrp_AddFavouriteYouMustLoginMessage;

function mrp_InitFavouriteIds(addFavouriteFieldName, addFavouriteButtonName, addFavouriteYouMustLoginMessage)
{
    mrp_AddFavouriteFieldName = addFavouriteFieldName;
    mrp_AddFavouriteButtonName = addFavouriteButtonName;
    mrp_AddFavouriteYouMustLoginMessage = addFavouriteYouMustLoginMessage;
}

function mrp_AddFavourite(marketReferenceId) 
{
    if (mrp_isCurrentUserLoggedIn) 
    {
        mrp_AddFavouriteImpl(marketReferenceId);
    }
    else 
    {
        mrp_CheckLoggedIn(
            function() {
                var mrId = marketReferenceId;
                mrp_AddFavouriteImpl(mrId);
            },
            mrp_AddFavouriteYouMustLoginMessage);
    }
}

function mrp_AddFavouriteImpl(marketReferenceId) 
{
    $get(mrp_AddFavouriteFieldName).value = marketReferenceId;
    $get(mrp_AddFavouriteButtonName).click();
}

// Logging in/out handler.
var mrp_loginCallBack;
var mrp_logoutCallBack;

function mrp_CheckLoggedIn(logincallback, youMustLoginMessage) 
{
    if (mrp_isCurrentUserLoggedIn) 
    {
        logincallback();
    }
    else 
    {
        // Save pending login.
        mrp_loginCallBack = logincallback;
        mrp_ShowLoginPopup(youMustLoginMessage);
    }
}

function mrp_NotifyPendingLogin() 
{
    if (mrp_loginCallBack != undefined)
        mrp_loginCallBack(); 
}

function mrp_NotifyPendingLogout() 
{
    if (mrp_logoutCallBack != undefined)
        mrp_logoutCallBack();
}

// Popup.
var mrp_PopupMessageElementId;

function mrp_ShowLoginPopup(message) 
{
    $get(mrp_PopupMessageElementId).innerHtml = message; 
    $find('mpeLoginPopup').show(); 
}

function mrp_HideLoginPopup() 
{
    $find('mpeLoginPopup').hide();
}

// Panel.
var mrp_MyPanelId;

function mrp_ReloadMyPanel() 
{
    __doPostBack(mrp_MyPanelId, '');
}
