﻿function zeige_neues_bild(obj) {
    var tiid = "";
    tiid = $(obj).attr("id");
    tiid = tiid.substr(tiid.lastIndexOf("_") + 1);
    var anzeige;
    var untertitel;
    var gal_pic = "";
    for (var i = 1 ; i<=gal_img_count[tiid]; i++) {
        if ($(obj).attr("src")==gal_img_us[tiid][i]) {
            gal_pic = gal_img_an[tiid][i];
            gal_img_akt[tiid] = i;
        }
    }
    if (gal_pic!='') {
        anzeige = "Galerie_Anzeige_" + tiid;
        $("#" + anzeige).hide();
        $("#" + anzeige).attr("src", gal_pic);
        var alt = gal_img_titel[tiid][gal_img_akt[tiid]];
        if (alt == '') {
            alt = gal_pic.substr(gal_pic.lastIndexOf("/")+1);
        }
        $("#" + anzeige).attr("alt", alt);
        $("#" + anzeige).fadeIn("slow");
        untertitel = "Galerie_Untertitel_" + tiid;
        var titel = 'Bild ' + gal_img_akt[tiid] + '/' + gal_img_count[tiid];
        if (gal_img_titel[tiid][gal_img_akt[tiid]] != '') {
            titel = gal_img_titel[tiid][gal_img_akt[tiid]] + '(' + gal_img_akt[tiid] + '/' + gal_img_count[tiid] + ')';
        }
        $("#" + untertitel).text(titel) ;
    }
    $("#galerie_zaehler" + tiid).text('Seite ' + (gal_img_seite[tiid] + 1) + ' / ' + (Div(gal_img_count[tiid], gal_img_spalten[tiid] * gal_img_zeilen[tiid]) + 1));        
};

function Div(z1, z2) {
    return Math.floor(z1 / z2);
}


function gal_fuellen(tiid, start) {
    var max = gal_img_count[tiid];
    var anzahl = gal_img_spalten[tiid] * gal_img_zeilen[tiid];
    var img
    
    if ((start % anzahl) != 1) {
        if (start % anzahl == 0) {
            start = anzahl * (Div(start, anzahl)-1)+1;
        } else {
            start = anzahl * (Div(start, anzahl))+1;
        }
    }

    if (start + anzahl - 1 <= max) {
        for (var i = 0; i < anzahl; i++) {
            img = (i + 1) + "_" + tiid;
            $("#" + img).parent().show(); 
            $("#" + img).attr("src", gal_img_us[tiid][start + i]);
        }
    } else {
        for (var i = start; i <= max; i++) {
            img = (i - start + 1) + "_" + tiid;
            $("#" + img).parent().show(); ;
            $("#" + img).attr("src", gal_img_us[tiid][i]);
        }
        for (var i = 0; i < anzahl-(max - start + 1); i++) {
            img = (i + max - start + 2) + '_' + tiid;
            $("#" + img).parent().hide();
        }
    }
    gal_img_start[tiid] = start;
    gal_img_seite[tiid] = Div(start, (anzahl < max) ? anzahl : max);
    $("#galerie_zaehler" + tiid).text('Seite ' + (gal_img_seite[tiid] + 1) + ' / ' + (Div(max,anzahl)+1));        
}

function gal_setze_start(tiid, start) {
    gal_fuellen(tiid, start);
}

function gal_zurueck(tiid) {
    var anzahl = gal_img_spalten[tiid] * gal_img_zeilen[tiid];
    var start

    start = gal_img_start[tiid];
    if (start >= anzahl) {
        start = start - anzahl;
    }
    gal_fuellen(tiid, start)
}

function gal_vor(tiid) {
    var max = gal_img_count[tiid];
    var anzahl = gal_img_spalten[tiid] * gal_img_zeilen[tiid];
    var start

    start = gal_img_start[tiid];
    if (start+anzahl <=max) {
        start = start + anzahl;
    }
    gal_fuellen(tiid, start)
}

function gal_starte_dia(tiid) {
    gal_img_dia[tiid] = !gal_img_dia[tiid];
}

function gal_zeige_dia(tiid) {
    var anzahl = gal_img_spalten[tiid] * gal_img_zeilen[tiid];
    var start = gal_img_start[tiid];
    if ((gal_img_akt[tiid] < start + anzahl - 1) && (gal_img_akt[tiid] < gal_img_count[tiid]) && (gal_img_akt[tiid] >= start)) {
        gal_img_akt[tiid]++;
        img = (gal_img_akt[tiid] - start + 1) + '_' + tiid;
        zeige_neues_bild($("#" + img));
    } else {
        if (gal_img_akt[tiid] < gal_img_count[tiid]) {
            gal_img_akt[tiid]++;

            if ((gal_img_akt[tiid] % anzahl) != 1) {
                if (gal_img_akt[tiid] % anzahl == 0) {
                    start = anzahl * (Div(gal_img_akt[tiid], anzahl) - 1) + 1;
                } else {
                    start = anzahl * (Div(gal_img_akt[tiid], anzahl)) + 1;
                }
            } else {
                start = gal_img_akt[tiid];
            }
            gal_setze_start(tiid,start);
            img = (gal_img_akt[tiid] - start + 1) + '_' + tiid;
            zeige_neues_bild($("#" + img));
        } else {
            gal_img_akt[tiid] = 1;
            gal_setze_start(tiid, 1);
            start = gal_img_start[tiid]; 
            img = (gal_img_akt[tiid] - start + 1) + '_' + tiid;
            zeige_neues_bild($("#" + img));
        }
    }   
}

function gal_diashow() {
    for (var i = 0; i <= gal_img_dia.length; i++) {
        if (gal_img_dia[i]) {
            gal_zeige_dia(i);
        }
    }
}

function init_galerie() {
    $("div[name=galerie_uebersicht] img").live("click", function() { zeige_neues_bild(this); });
    window.setInterval("gal_diashow()", 3000);
}

var gal_img_count = Array();
var gal_img_us = Array();
var gal_img_an = Array();
var gal_img_spalten = Array();
var gal_img_zeilen = Array();
var gal_img_start = Array();
var gal_img_akt = Array();
var gal_img_dia = Array();
var gal_img_seite = Array();
var gal_img_titel = Array();