﻿// Stand 10.08.2011
//(c) IDS GmbH

$(document).ready(function () {
// Veranstaltungen aktuellen Monat auswählen und anzeigen;
    if ($('#selectormonth').length > 0)
    {
        $('#selectormonth').change(function() {
            $('#selectormonth').next().click();
        });
    }

// Bildergalerie Monat/Jahr Selektor
    if ($('#dateselector').length > 0)
    {
        $idfilter = $('#dnn_ctr446_DNMParentControl_DNMMainControl_DNMLoadForm_ctl00_suchfeld_veranstaltungsbezeichnung_suchfeld_veranstaltungsbezeichnung');
        $idbutton = $('#dnn_ctr446_DNMParentControl_DNMMainControl_DNMLoadForm_ctl00_ctl00_btnSucheBezeichnung');
        $('#dateselector').show();
        $sfilter = $idfilter.val();
        if ($sfilter.length == 7)
        {
            $('#datemonth').val($sfilter.substring(0, 2));
            $('#dateyear').val($sfilter.substring(3, 7));
        }
        $('#datemonth').change(function() {
            if ($('#datemonth').val() != '' && $('#dateyear').val() != '')
            {
                $idfilter.val($('#datemonth').val()+'-'+$('#dateyear').val());
                $idbutton.click();
                return;
            }
        });
        $('#dateyear').change(function() {
            if ($('#datemonth').val() != '' && $('#dateyear').val() != '')
            {
                $idfilter.val($('#datemonth').val()+'-'+$('#dateyear').val());
                $idbutton.click();
                return;
            }
        });
        $idfilter.keyup(function() {
            $('#datemonth').val('');
            $('#dateyear').val('');
        });
    }

// 1 Seiten Pager ausblenden
    if ($('.pager_current').length > 0)
    {
        $('.pager_current').each(function(index, item) {
            if ($(item).text() == 'Seite 1 von 1')
                $(item).parent().parent().parent().parent().hide();
        });
    }

// Ticketlink als IFRAME umbauen
    if ($('.karten a').length > 0)
    {
        $('.karten a[rel]').overlay({
            mask: {
                color: '#ffffff',
                loadSpeed: 200,
                opacity: 0.8
            },
            closeOnClick: false,
            onBeforeLoad: function() {
                this.getOverlay().find('#ticket_wrap').html('<iframe src="' + this.getTrigger().attr('href') + '" width="780" height="600" border="0"></iframe>');
           }
        });
    }

// Bilder Overlay
    var currenttrigger;
    var currentoverlay;
    var currentimages;
    var currentimage;
    var currentloaded;

    $('.veranstaltungbilder img[rel]').overlay({
        mask: {
            color: '#ffffff',
            loadSpeed: 200,
            opacity: 0.8
        },
        closeOnClick: false,
        onBeforeLoad: function() { overlayBeforeLoad(this); },
        onClose: function () {
            currenttrigger = null;
            currentoverlay = null;
        }
    });

    $('.bandbilder img[rel]').overlay({
        mask: {
            color: '#ffffff',
            loadSpeed: 200,
            opacity: 0.8
        },
        closeOnClick: false,
        onBeforeLoad: function() { overlayBeforeLoad(this); },
        onClose: function () {
            currenttrigger = null;
            currentoverlay = null;
        }
    });

    $('#image_overlay_image').load(function () {
        if (!currentloaded[currentimage]) {
            currentloaded[currentimage] = true;
            $('#image_overlay_loader').removeClass('loading');
            $('#image_overlay_image').fadeIn(function () {
                if (currentimages.length > 1) {
                    $('.image_button_right').show();
                    $('.image_button_left').show();
                }
            });
        }
    });

    function overlayBeforeLoad(element) {
        currenttrigger = element.getTrigger();
        currentoverlay = element.getOverlay();

        $parent = currenttrigger.parent().parent().parent();
        $anz = $parent.children().length;

        if ($anz > 0) {
            currentimages = new Array($anz);
            currentloaded = new Array($anz);
            currentimage = 0;

            for (i = 0; i < $anz; i++) {
                currentimages[i] = $($parent.children()[i]).find('a:first').attr('href');
                currentloaded[i] = false;
                if (currentimages[i] == element.getTrigger().parent().attr("href")) {
                    currentimage = i;
                }
            }
            showimage(currentimage);
        }
    }

    function showimage(i) {
        currentoverlay.find('#image_overlay_image').attr({ 'src': currentimages[i] });
        if (!currentloaded[i]) {
            $('#image_overlay_image').hide();
            $('#image_overlay_loader').addClass('loading');
            $('.image_button_right').hide();
            $('.image_button_left').hide();
        }
        else
        {
            if (currentimages.length > 1) {
                $('.image_button_right').show();
                $('.image_button_left').show();
            }
            else {
                $('.image_button_right').hide();
                $('.image_button_left').hide();
            }
        }
    }

    $('.image_button_right').click(function () {
        if (currentimage < (currentimages.length - 1)) { currentimage++; } else { currentimage = 0; }
        showimage(currentimage);
        return false;
    });

    $('.image_button_left').click(function () {
        if (currentimage > 0) { currentimage--; } else { currentimage = currentimages.length - 1; }
        showimage(currentimage);
        return false;
    });

    $(document).keydown(function(event) {
        if (currentoverlay != null && currentimages.length > 1) {
            $('.image_overlay_text').slideUp();
            if (event.which == 37) {
                if (currentimage > 0) { currentimage--; } else { currentimage = currentimages.length - 1; }
                showimage(currentimage);
                return false;
            }
            else if(event.which == 39) {
                if (currentimage < (currentimages.length - 1)) { currentimage++; } else { currentimage = 0; }
                showimage(currentimage);
                return false;
            }
        }
    });

});

