$(document).ready(function() {
    /* Bilder via Fancybox */
    $("a.fancybox").fancybox({
        'titleShow': false
    });

    /* Mailer */
    $('a[href^="/mailer/"]').fancybox({
        'hideOnContentClick':   false,
        'width':                490,
        'height':               500,
        'autoDimensions':       false,
        'titleShow':            false,
        'ajax': {
            'data': {
                'ajax': 1
            }
        },
        'onStart': function() {
            $('#fancybox-outer').css('background', '#4d4d4d');
        },
        'onClosed': function() {
            $('#fancybox-outer').css('background', '#fff');
        }
    });

    /* AGBs vor Bestellbestätigung */
    $('a.agb').fancybox({
        'width':            800,
        'height':           500,
        'autoDimensions':   false,
        'ajax': {
            'data': {
                'layout': 'onlyContent'
            }
        }
    });

    /* Unternavigation ein- / ausblenden */
    $('#navigation li div').hide();
    $('#navigation li').hover(
        function() {
            var arrow = $('div.arrow', this);
            var elem = $('a:first', this);
            $('div:hidden', this).show();
            arrow.css('left', elem.position().left + elem.innerWidth() / 2 - (arrow.innerWidth() / 2) + 'px');

        },
        function() {
            $('div', this).hide();
        }
    )

    /* Produkt Varianten Slider */
    initProductSlider();

    /* Warenkorb aktualisieren */
    $('form.cart input').change(function() {
        $('form.cart').submit();
    });

    /* Reg Formular */
    $('.register_start input[type=password]').focus(function() {
       $('#action_login').attr('checked', 'checked');
    });

    /* Registrierungs Formular Std. Daten */
    $('form.register_standard').validate({
        rules: {
            "form[title]": {
                required: true
            },
            "form[first_name]": {
                required: true
            },
            "form[last_name]": {
                required: true
            },
            "form[email]": {
                required: true,
                email: true,
                remote: "/include/ajax/registerEmailCheck.php"
            },
            "form[re_email]": {
                required: true,
                equalTo: '#form_email'
            },
            "form[password]": {
                required: true,
                minlength: 5
            },
            "form[re_password]": {
                required: true,
                minlength: 5,
                equalTo: '#form_password'
            }
        },
        messages: {
            "form[title]": {
                required: "Wählen Sie bitte Ihre Anrede aus."
            },
            "form[first_name]": {
                required: "Geben Sie bitte Ihren Vornamen ein."
            },
            "form[last_name]": {
                required: "Geben Sie bitte Ihren Nachnamen ein."
            },
            "form[email]": {
                required: "Geben Sie bitte eine E-Mail-Adresse ein.",
                email: "Geben Sie bitte eine gültige E-Mail-Adresse ein.",
                remote: "Es existiert bereits ein Benutzer, mit dieser E-Mail-Adresse."
            },
            "form[re_email]": {
                required: "Wiederholen Sie bitte ihre E-Mail-Adresse.",
                equalTo: "Die E-Mail-Adressen stimmen nicht überein."
            },
            "form[password]": {
                required: "Geben Sie bitte ein Passwort ein. ",
                minlength: "Das Passwort muss aus mindestens fünf Zeichen bestehen. "
            },
            "form[re_password]": {
                required: "Geben Sie bitte ein Passwort ein.",
                minlength: "Das Passwort muss aus mindestens fünf Zeichen bestehen.",
                equalTo: "Die Passwörter stimmen nicht überein."
            }
        },
        success: function(label) {
            label.addClass("success");
        }
    });

    // Warenkorb leeren erst bestätigen
    $('.cart a.clear').click(function() {
        var is_confirmed = confirm('Wollen Sie Ihren Warenkorb wirklich leeren?');

        if(!is_confirmed) {
            return false;
        }

        return true;
    });

    // Löschen Links erst bestätigen
    $('a.delete').click(function() {
        var is_confirmed = confirm('Wirklich löschen?');

        if(!is_confirmed) {
            return false;
        }

        return true;
    });

    // Produktset in Warenkorb (Auswahl der Produkte)
    $('form.productSetToCart').bind('submit', function() {
        var product_id = $('input[name=product_id]', this).val();
        $.fancybox({
            href: '/include/ajax/productSetToCart.php?product_id='+product_id,
            autoDimensions: false,
            width: 640,
            height: 450
        })
        return false;
    });

    // QPAY Bezahlvorgang in einer Fancybox
    $('#site form.fancy').bind('submit', function() {
        $.fancybox({
            type:'iframe',
            href:'about:blank',
            height: 500,
            width: 670
        });

        $(this).attr('target', $('#fancybox-frame').attr('name'));
        $(this).prepend('<input type="hidden" name="layout" value="onlyContent" />');
        $(this).prepend('<input type="hidden" name="windowName" value="' + $('#fancybox-frame').attr('name') + '" />');
        
        return true;
    });
    $('.onlyContent form.fancy').prepend('<input type="hidden" name="layout" value="onlyContent" />');

    $('.variants a.product').tooltip();

    // Erweiterte Suche ein / ausblenden
    $('.advancedAnchor a').toggle(
        function() { $('#advanced').slideDown(); $(this).addClass('active'); },
        function() { $('#advanced').slideUp(); $(this).removeClass('active'); }
    );

    // Erweiterte Suche anpassen
    if ($('form.search').length) {
        $.getScript('/include/ajax/customizeAdvancedSearch.php');
    }

    // Erweiterte Suche Reset
    $('form.search input[type=reset]').click(function() {
        $('input', 'form.search')
            .not(':button, :submit, :reset, :hidden')
            .val('')
            .removeAttr('checked')
            .removeAttr('selected');

        $('select', 'form.search').val('');

        $.getScript('/include/ajax/customizeAdvancedSearch.php');

        return false;
    });
});

function initProductSlider() {
    adjustProductSliderHeight();
    $('.slider').scrollable({
        items: 'li',
        size: 4,
        onBeforeSeek: adjustProductSliderHeight
    }).navigator();
}

function adjustProductSliderHeight(e, index_start) {
    if(index_start == null) {
        index_start = 0;
    }

    var visible_items = $('.slider li').slice(index_start, index_start + 4);

    // Maximale Höhe ermitteln
    var max_height = 0;
    $(visible_items).each(function() {
       if($('img', this).attr('height') > max_height) {
           max_height = $('img', this).attr('height');
       }
    });

    // Höhe der Produkte anpassen
    $(visible_items).each(function() {
        var height_diff = max_height - $('img', this).attr('height');
        $('.img', this).css('padding-top', height_diff + 'px');
    });

    // Höhe des gesamtem Sliders anpassen
    max_height = 0;
    $('.slider li').each(function() {
       if($(this).height() > max_height) {
           max_height = $(this).height();
       }
    });
    $('.slider').height(max_height);
}

/* TIMM4 Mailer */
function timm4_mailer_send() {
    if(document.forms['timm4_mailer'] == undefined) {
        return;
    }

    // Ohne Fancybox
    if($('#timm4_mailer').html()) {
        $.fancybox.showActivity();
        
        $.ajax({
            'url':      '/timm/mailer.php?ajax=1&mailer_id=' + $('input[name=adress_id]').val(),
            'type':     'POST',
            'data':     $('form[name=timm4_mailer]').serialize() + '&send=1',
            'success':  function(data) {
                $('#timm4_mailer').html(data);
                $.fancybox.hideActivity();
            }
        });
        return;
    }

    // Mit Fancybox
    $.fancybox({
        href: '/timm/mailer.php?ajax=1&mailer_id=' + $('input[name=adress_id]').val(),
        'hideOnContentClick':   false,
        'width':                490,
        'height':               500,
        'autoDimensions':       false,
        'titleShow':            false,
        'ajax': {
            'type': 'POST',
            'data': $('form[name=timm4_mailer]').serialize() + '&send=1'
        },
        'onStart': function() {
            $('#fancybox-outer').css('background', '#4d4d4d');
        },
        'onClosed': function() {
            $('#fancybox-outer').css('background', '#fff');
        }
    });
}
