/**
 * Extended info sliding manager
 * @author: Ruben A. Mansilla <rmansilla@rec.unicen.edu.ar>
 * @version: 1.0
 *
 */
function handleInfoSliding( slider, slideInCaption, slideOutCaption, interactorElement, e )
{
    e = new Event(e);
    slider.toggle();

    if ( slider.wrapper.offsetHeight == 0 || slider.wrapper.offsetWidth == 0 )
    {
        interactorElement.innerHTML = slideInCaption;
        
        interactorElement.removeClass( 'hidding' );
        interactorElement.addClass( 'showing' );
    }
    else
    {
        interactorElement.innerHTML = slideOutCaption;

        interactorElement.addClass( 'hidding' );
        interactorElement.removeClass( 'showing' );
    }

    e.stop();
}

function handlePlots( __onSlideInCaption, __onSlideOutCaption, __containerClassSelector, __riClassSelector )
{
    var onSlideInCaption       = __onSlideInCaption || 'Ocultar resumen';
    var onSlideOutCaption      = __onSlideOutCaption || 'Mostrar resumen';
    var containerClassSelector = __containerClassSelector || 'plot';
    var riClassSelector        = __riClassSelector || 'plotRI';

    // some configuration stuff
    var subrogantKeyPrefix = containerClassSelector;
    var subrogantKeySuffix = 0;

    var subrogantInteractorKeyPrefix = riClassSelector;
    var subrogantInteractorKeySuffix = 0;

    var containers = Array();

    // containers harvesting
    $$( '.' + containerClassSelector ).each(
        function( plotContainer )
        {
            plotContainer.id = subrogantKeyPrefix + subrogantKeySuffix;

            containers.push( new Fx.Slide( plotContainer.id ) );

            subrogantKeySuffix++;
        }
    );

    // initial state
    $each( containers, function( element, index ) {
        element.hide();
    });

    // interactors creation
    $$( '.' + riClassSelector ).each(
        function( plotRI )
        {
            plotRI.id = subrogantInteractorKeyPrefix + subrogantInteractorKeySuffix;

            var mySlider = containers[ subrogantInteractorKeySuffix ];

            // click handlers
            plotRI.addEvent('click', function(e){
                handleInfoSliding(
                    mySlider,
                    onSlideInCaption,
                    onSlideOutCaption,
                    this,
                    e
                );
            });

            subrogantInteractorKeySuffix++;
        }
    );
}//handlePlots

function handleExistencesView()
{
    // some configuration stuff
    var subrogantKeyPrefix = 'existences';
    var subrogantKeySuffix = 0;

    var subrogantInteractorKeyPrefix = 'existencesRequestInteractor';
    var subrogantInteractorKeySuffix = 0;

    var onSlideInCaption  = 'Ocultar existencias';
    var onSlideOutCaption = 'Mostrar existencias';

    var containers = Array();

    // containers harvesting
    $$( '.existencesSummery' ).each(
        function( existencesContainer )
        {
            existencesContainer.id = subrogantKeyPrefix + subrogantKeySuffix;

            containers.push( new Fx.Slide( existencesContainer.id ) );

            subrogantKeySuffix++;
        }
    );

    // initial state
    $each( containers, function( element, index ) {
        element.hide();
    });

    // interactors creation
    $$( '.existencesRI' ).each(
        function( existencesRI )
        {
            existencesRI.id = subrogantInteractorKeyPrefix + subrogantInteractorKeySuffix;

            var mySlider = containers[ subrogantInteractorKeySuffix ];

            // click handlers
            existencesRI.addEvent('click', function(e){
                handleInfoSliding(
                    mySlider,
                    onSlideInCaption,
                    onSlideOutCaption,
                    this,
                    e
                );
            });

            subrogantInteractorKeySuffix++;
        }
    );
}//handleExistencesView

function handleImageNotFound( imgElement )
{
    imgElement.remove();
}
