/**
 * Ladebalken einblenden bei Klick in der Hauptnavigation und neue Navigation
 * einblenden
 */

if (Browser.Engine.name !== 'presto') {
    $$('a.navigation').each(function(a){
        a.addEvent('click', function(){
            $('spalte-links').toggleClass('loading');
        });
    });
}
/* Letzte Hauptnavigation einblenden */
var navigation = $$('#spalte-links div.letzte')[0];
if( navigation !== undefined ) {
    navigation.setStyle('display','none');
    (function(){
        navigation.set('reveal', {duration: 1000, mode: 'vertical', transition: Fx.Transitions.Expo.easeOut});
        navigation.reveal();
    }).delay(200);
}

/**
 * Externe Links
 */   
$$('a.extern').each(function(link){
    link.set('target','_blank');    
});

/**
 * Popuplinks
 */
var links = $$('a[class=popup]');
if( links.length > 0 ) {
    SqueezeBox.assign(links, {
        parse: 'rel'
    });
}
// Einzelnes Bild
SqueezeBox.assign($$('a[rel=detailalternativ]'));
/**
 * Startseite Accordion
 */
$accordion = document.id('teaser-accordion');
if( $accordion ){
    var $teasers = new Accordion( $accordion.getElements('dt'), $accordion.getElements('dd'), {
        show       : -1,
        alwaysHide : true,
    });
    document.getElements('.link').addEvent('click',function() {
       var $id    = this.getParent().get('id').split(':')[1];
       var $index = $teasers.elements.indexOf( document.id( 'teaser-' + $id ) );
       $teasers.display($index);
    });
}
/**
 * Scroller und Effekte für die Vorschaubilder und Detailansichten
 */
var slider_vorschau = document.id('slider-vorschau');
if( $chk( slider_vorschau ) )
{
    // scroller für die Vorschaubilder
    var scroller = new Scroller_Controls({
        'scroller' : 'slider-vorschau',
        'element'  : 'div.item',
        'steps'    : 3,
        'fx'                  : {     // for all options see: http://mootools.net/docs/core/Fx/Fx
            'duration'   : 'long',
            'link'       : 'cancel',
            'transition' : 'expo:out' // for all options see: http://mootools.net/docs/core/Fx/Fx.Transitions
        },
        'onMove'  : function(prev,current,next) {
            if (Browser.Engine.name !== 'presto') {
                if( next === false){
                    scroller.control_forward.setStyle('visibility','hidden');
                } else {
                    scroller.control_forward.setStyle('visibility','visible');
                }
            }
        }
    });
    
    // Mouseover-Effekt für die Vorschaubilder
    slider_vorschau.getElements('a').each(function(a){
        var img           = a.getElement('img');
        var img_src       = img.get('src');
        var img_src_hover = a.get('rel');
        
        img.set('morph', {
            duration   : 200, 
            transition : 'linear',
            onComplete : function(){
                if( img.get('src') === img_src_hover ){
                    img.set('src',img_src);
                }
                else{
                    img.set('src', img_src_hover);
                }
            }
        });
        a.addEvents({
            'mouseenter' : function(e){
                e = new Event(e).stop();
                img.morph({
                    'margin'   : 0,
                    'width'    : 220
                });
            },
            'mouseleave': function(e){
               e = new Event(e).stop();
               a.getElement('img').morph({
                   'margin'     : 15,
                   'width'      : 180
               });
            }
        });
    });
}

// Wenn die Details da sind      
var slider_detail  = document.id('slider-detail');
if ($chk(slider_detail)) {

    // Höhe für den Slider-Container ermitteln.    
    var detail_hoehe = slider_detail.getStyle('height').toInt();
    var produkte = slider_detail.getElements('div.produkt');
    produkte.each(function(produkt){
        var hoehe = produkt.getDimensions().height;
        if( hoehe > detail_hoehe ){ detail_hoehe = hoehe }
    });
    slider_detail.setStyle('height',detail_hoehe);
    produkte.setStyle('height',detail_hoehe);
    
    if ($chk(slider_vorschau)) {
        var scroller_detail = new Fx.Scroll('slider-detail', {
            duration: 'long',
            wait: false,
            transition: Fx.Transitions.Expo.easeOut
        });
        slider_vorschau.getElements('a').each(function(a){
            a.addEvent('click', function(e){
                e.stop();
                var id = a.get('href').split('#')[1];
                scroller_detail.toElement(id);
            });
        });
    }
    /**
     * Aktionen pro Produkt-Detail
     */    
    produkte.each( function(produkt) {
        // Detailbilder
        var $detailbilder = produkt.getElements('img.detailbild');
        // Variantenlinks / Bildtauschen
        produkt.getElements('a.variante').each(function(variante){
            variante.addEvent('mouseenter',function(){
                var $src = this.get('rel');
                if ($src && $detailbilder[0]) {
                    $detailbilder[0].set('src', $src);
                }
            }); 
        })
    }); // slider_detail.getElements('.produkt').each( function(produkt) {
}

/**
 * Suche
 */
var $suche_tabs = document.id('suche-tabs');
if( $suche_tabs ){
    var tabs = new SimpleTabs('suche-tabs', {
        selector: 'h2',
        show: 0
    });
}
/* Radiobutton check */
var $suche_radios = $$('input[name=searchtype]');
$$('ul.tab-menu li').addEvent('click',function(){
    $suche_radios.set('checked','');
    this.getElement('input').set('checked','checked');
});

var $suche_p_formular = document.id('suche-preis-formular');
var $suche_formular   = document.id('suche-formular');
var $suche_preis      = document.id('suche-preis');
var $suche_sortiment  = document.id('suche-sortiment');
var $suche_exakt      = document.id('suche-exact');
var $suche_feld       = document.id('suche-begriff');
var $suche_ergebnis   = document.id('suchergebnis');

var $suche_request    = new Request.HTML({
    url    : '/ax.html',
    method : 'get',
    update : 'suchergebnis',
    onRequest: function(){
        $suche_ergebnis.toggleClass('loading');
    },
    onSuccess: function(){
        $suche_ergebnis.toggleClass('loading');
        var links = $suche_ergebnis.getElements('a[class=popup]');
        if( links.length > 0 ) {
            SqueezeBox.assign(links, {
                parse: 'rel'
            });
        }
        $suche_ergebnis.getElements('div.item img.thumb').addEvent('click',function(){
            this.getPrevious().setStyle('display','block').makeDraggable();
        });
        $suche_ergebnis.getElements('div.item div.data img.close').addEvent('click',function(){
            this.getParent().setStyles({'display':'none','left':'-30px','top':'-60px'});
        });
    }
});
if( $chk($suche_exakt) && $chk( $suche_formular ) ) {
    $suche_formular.addEvent('submit',function(){
        $suche_request.send({
           data: 'task=suche&s=t&phrase=' + $suche_feld.get('value') + '&exact=' + $suche_exakt.get('checked')
        });
        return false;
    });
};
if( $chk( $suche_p_formular ) ) {
    $suche_p_formular.addEvent('submit',function(){
        $suche_request.send({
            data: 'task=suche&s=p&preis=' + $suche_preis.get('value') + '&sortiment=' + $suche_sortiment.get('value')
        });
        return false;
    });
};
