
// These functions build on top of functions defined
// in Series.js

function togglePodletById (id, side)
{
    toggleContentById(id, side);

    scrollToPodlet(id);

    return false;    // for onClick
}

function showPodletById (id, side)
{
    showContentById(id, side);

    scrollToPodlet(id);

    return false;    // for onClick
}

function hidePodletById (id, side)
{
    hideContentById(id, side);

    scrollToPodlet(id);

    return false;    // for onClick
}

function scrollToPodlet (id)
{
    var namespace = 'test';
    var subid     = id;
    var i = id.indexOf('::');
    if (i != -1) {
        namespace = id.substring(0, i);
        subid     = id.substring(i+2);
    }

    var podlet_wrapper = $('podlet_wrapper_' + subid);

    var offset = podlet_wrapper.viewportOffset();
    if (offset['top'] < 0) podlet_wrapper.scrollTo();

    return false;    // for onClick
}

//**********************************************************

function togglePodletByIdWithState (id, side)
{
    var willOpen = toggleWillOpenById(id, side);

    togglePodletById(id, side);

    var url = ALBase.make_uri('/session/set_postlogin_podlet/');

    if (willOpen) {
        url = url + id + '/' + side;
    }
    else {
        url = url + '/';
    }

    new Ajax.Request(url, {
        method: 'post'
        // no need for onSuccess or onFailure,
        // silent failure is ok...
    });

    return false;    // for onClick
}

function loadPodletAjax (id, div, url)
{
    var namespace = 'test';
    var subid     = id;
    var i = id.indexOf('::');
    if (i != -1) {
        namespace = id.substring(0, i);
        subid     = id.substring(i+2);
    }

    var div = $(namespace + '-content-' + subid);

    if (div.visible()) {
        new Ajax.Updater( div, url, { method: 'get', evalScripts: true } );
    }

    return false;
}
