/*
Coppenrath & Wiese JS Implementation (see methods.js for classes etc)
by http://www.comspace.de
Dependencies: 
    Mootools Core 1.2.3+
        - * (rc before optimizing)
    Mootools More
        -Slider (mooflow)
        -Assets (mooflow)
        -Fx.Accordion
        - (rc before optimizing)
*/

window.addEvent('domready', function(){
    /*
    
        -coverflow
        -content/marginal
            -accordions: content/marginal
            -box_imgs hover
        -navigation/search
            -navigation: hover animations
            -search: clear input
            -search: animated form
    */

    //.onlyjs => display:none;
    $$('.onlyjs').removeClass('onlyjs');
    
    
    //initialize coverFlow
    (new cfSwitch({el:$('MooFlow'), forceJS:true}));
    

    
    /******************************
    
    CONTENT / MARGINAL
    
    *******************************/
    
    
    //ACCORDIONS
    //content accordions, originally the last element was to be active
    $$('.box_accordion').each(function(accordion){
        var togglers = accordion.getElements('.togglers a');
        if(!togglers[0])return;
        var activeAcc = 0;
        var myAccordion = new Fx.Accordion(togglers, accordion.getElements('.sections > div'), {opacity:false, display:-1})
            .addEvent('active', function(toggler, dings){
                toggler.addClass('active');
            }).addEvent('background', function(toggler){
                toggler.removeClass('active');
            })
        togglers[0].addClass('active');
        myAccordion.display(activeAcc);
    });
    
    //marginal accordions
    $$('.box_inneraccordion').each(function(accordion){
        var togglers = accordion.getChildren('h2'), sections = accordion.getChildren('div');
        if(!togglers[0])return;
        var    last = sections.length-1;
        if(accordion.getParent('.col_cnt')){
            last = 0;

            if(accordion.hasClass('noneOpen')){
                last = -1;
            }else{
                accordion.className.split(' ').each(function(accClass){//set open element via class: open_4 opens the fourth
                    if(accClass.test(/^open_\d+$/)){
                        last = parseInt(accClass.split('_')[1], 10) - 1;
                    }
                });
            }
        }

        
if(accordion.hasClass('sortiment')){

            if($('active_accordion_id')){
                last = $('active_accordion_id').innerHTML;
            }else{
                last = -1;
            }
        }


        var myAccordion = new Fx.Accordion(togglers, sections, {opacity:false, show:last, returnHeightToAuto: true, alwaysHide: accordion.hasClass('sortiment') })
            .addEvent('active', function(toggler, section){
                toggler.addClass('active');
                section.addClass('active');
            }).addEvent('background', function(toggler, section){
                toggler.removeClass('active');
                section.removeClass('active');
            });
        if(togglers[last]) {
            togglers[last].addClass('active');
            sections[last].addClass('active');
            sections[last].setStyle('height', 'auto');
        }    });
    
    
    //change img on hover - reads alternative src from rel of (some) parent link.
    $$('.box_imgs img').each(function(img){
        img.addEvents({
            'mouseenter':function(ev){this.changeSrc(this.getParent('a').rel);}, 
            'mouseleave':function(ev){this.resetSrc();}
        });
    });

    //history book starter

    $$('#frame_cnt div.col_marginal a.historyLink').each(function(el){
    
        var original = $$('.box_history').getNext('a.link');
        if(original){
            el.addEvent('click', function(ev){
                ev.stop();
                original.fireEvent('click', ev);
            });
        }
    });
    /******************************
    
    NAVIGATION / SEARCH
    
    *******************************/
    
    //menu hover animations add-on
    (new CPMenuFade($('frame_nav').getElement('ul')));
 
    //clear search input on hover/click
    (new InputToggle({hover:false}));
    
    //search animation add-on
    (new showSearch());

    document.body.getElements('.print_link').each(function(el){el.addEvent('click', function(ev){ev.stop(); window.print();})});
        
    $$('#frame_cnt a.popup').addEvent('click', function(ev){
            ev.stop();
            if(this.hasClass('scroll')){
                popGenericScroll(ev.target.href);
                return;
            }
            popGeneric(ev.target.href);
        });

        
    if(Mediabox && Mediabox.scanPage)Mediabox.scanPage();
});