var currently_open = 0;
Event.observe(window, 'load', loadAccordions, false);

function loadAccordions() 
{
    var last_id      = 0;
    var slides       = new Array();
    var slide_width  = new Array();
    var slide_height = new Array();
    var slide_speed  = 0.9;
    if( $( 'accordion_header0' ) != null )
    {
        $( 'accordion_header0' ).addClassName( 'headr-active' );
        Effect.SlideDown( 'accordion_content0', { duration: 0.5, queue: 'end' } );
        $$( '.accordion' ).each( function( element ) { element.hide(); } );
    }
    $$( ".reszletes_content" ).each( function( element ) 
    {
        var id = last_id++;
        slides[ id ] = false;
        slide_width[ id ] = element.getDimensions().width;
        slide_height[ id ] = element.ancestors()[0].getDimensions().height;
        Effect.SlideUp( element, { duration: slide_speed } );
        element.ancestors()[0].setStyle( {
            maxHeight: element.ancestors()[0].getStyle( 'height' )
        });
/*
        element.ancestors()[0].immediateDescendants()[0].setStyle( {
            maxHeight: element.ancestors()[0].immediateDescendants()[0].getStyle( 'height' )
        });
*/
        element.ancestors()[0].firstDescendant().next().observe( 'click', function( event ) 
        {
            if( slides[ id ] ) 
            {
                slides[ id ] = false;
                element.ancestors()[0].ancestors()[0].removeClassName( 'reszletes_open' );
                element.ancestors()[0].morph( "width: 480px; height: 20px;", { duration: slide_speed } );
                element.ancestors()[0].morph( "background-color: #fff;", { duration: ( slide_speed + 0.3 ) } );
                element.next().morph( "background-color: #ffffff;", { duration: slide_speed } );
                setTimeout( function() { element.ancestors()[0].ancestors()[0].addClassName( 'reszletes_closed' ) }, 900 );
                this.firstDescendant().innerHTML = 'Részletes adatok';
                Effect.SlideUp( element, { duration: slide_speed } );
            }
            else
            {
                slides[ id ] = true;
                element.ancestors()[0].ancestors()[0].removeClassName( 'reszletes_closed' );
                var str = slide_width[ id ] + "px;";
                element.ancestors()[0].morph( "background-color: #223265; width: " + str + " height: " + slide_height[ id ] + "px;", { duration: slide_speed } );  
                element.next().morph( "background-color: #223265;", { duration: slide_speed } );
                this.firstDescendant().innerHTML = 'Bezár';
                Effect.SlideDown( element, { duration: slide_speed } );
            }
        });
    });
    $$( '.modal_popup').each( function( element ) 
    {
        new Control.Modal( element, { overlayCloseOnClick: false } );
    } );
}
function toggle_accordion( id )
{
    if( currently_open != id )
    {
        $( 'accordion_header' + id ).removeClassName( 'headr' ).addClassName( 'headr-active' );
        Effect.SlideDown( 'accordion_content' + id, { duration: 0.5, queue: 'end' } );
        $( 'accordion_header' + currently_open ).removeClassName( 'headr-active' ).addClassName( 'headr' );
        Effect.SlideUp( 'accordion_content' + currently_open, { duration: 0.5, queue: 'end' } );
        currently_open = id;
    }
}