var folded_page_boxes= new Array();

function loadFoldedBoxesFromCookie()
{
    var stored_cookies= getCookieValue( "folded_boxes" );
    
    if( stored_cookies )
    {
        folded_page_boxes= stored_cookies.split( '|||' );
        folded_page_boxes.sort();
        
        var array_clear= false;
        
        while( !array_clear )
        {
            for( itr= 1; itr < folded_page_boxes.length; itr++ );
            {
                if( folded_page_boxes[ itr-1 ] == folded_page_boxes[ itr ] )
                {
                    folded_page_boxes.splice( itr-1, 1 );
                    break;
                }
                
                if( itr == folded_page_boxes.length )
                    array_clear= true;
            }
        }
    }
    
    
}


function saveFoldedBoxesInCookie()
{
    setCookieValue( "folded_boxes", folded_page_boxes.join( '|||' ) );
}


function getFoldableBoxLabel( box )
{
    var tmp_name= false;
    
    for( var itr= 0; itr < box.childNodes.length; itr++ )
        if( box.childNodes[ itr ].nodeType == 3 )
            tmp_name= box.childNodes[ itr ].data.replace( /^\s+|\s+$/, '' );
    
    if( tmp_name )
    {
        tmp_name= tmp_name.replace( /[ąćęłńóśźżĄĆĘŁŃÓŚŚŹŻ]/g, '_' );
        return tmp_name;
    }
}


function switchBox( event )
{
    var sender= getEventTarget( event );
    
    var foldedElement= sender.parentNode.nextSibling;
        
    var box_label= getFoldableBoxLabel( sender.parentNode );
    
    while( foldedElement.nodeName != "DIV" )
        foldedElement= foldedElement.nextSibling;
    
    
    console.log( "running event" );
    
    if( foldedElement.style.display == "block" )
    {
        foldedElement.style.display= "none";
        sender.className= "boxFolderButtonFolded";
        
        folded_page_boxes.push( box_label );
    }
    else
    {
        foldedElement.style.display= "block";
        sender.className= "boxFolderButtonUnfolded";
        
        folded_page_boxes.splice(
            folded_page_boxes.indexOf( box_label ),
            1
            );
    }
    
    saveFoldedBoxesInCookie();
}





function bindBoxFoldingFunctions()
{
    loadFoldedBoxesFromCookie();
    
    
    for( itr= document.links.length-1; itr >= 0; itr-- )
        if( ( document.links[ itr ].className ) && ( document.links[ itr ].rel == 'boxFolderButton' ) )
        {
            addPortableEventListener( document.links[ itr ], 'click', switchBox );
            
            parent_label= getFoldableBoxLabel( document.links[ itr ].parentNode );
            
            
            var foldedElement= document.links[ itr ].parentNode.nextSibling;
            while( foldedElement.nodeName != "DIV" )
                foldedElement= foldedElement.nextSibling;


            if( folded_page_boxes.indexOf( parent_label ) != -1 )
            {
                foldedElement.style.display= "none";
                document.links[ itr ].className= "boxFolderButtonFolded";
            }
            else
            {
                if( ( foldedElement.style.display ) || ( foldedElement.style.display != "none" ) )
                {
                    foldedElement.style.display= "block";
                    document.links[ itr ].className= "boxFolderButtonUnfolded";
                }
            }
        }
}







runOnLoad( bindBoxFoldingFunctions );


