var IE7_PNG_SUFFIX = ".png";

ENCO = {
    Browser: {},
    Global: {},
    /**
     * Wandelt die Bilder in passende Grafiken um
     * Damit diese auch vom IE transparent dargestellt werden
     * (wratsDieses miese scheiß drecks teil!)
     * http://jeenaparadies.net/weblog/2007/jun/png-alphatransparenz-im-ie-nutzen
     *  - Modifiziert!
     */
    PNGFIX: function(ziel) {
        var images = $("img", ziel);
      
        for(var i=0; i < images.length; i++)
        {
            var img = images[i]
            var imgName = img.src.toUpperCase()
            if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
            {
                var imgID = (img.id) ? "id='" + img.id + "' " : ""
                var imgClass = (img.className) ? "class='" + img.className + "' " : ""
                var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
                var imgStyle = "display:inline-block;" + img.style.cssText
                if (img.align == "left") imgStyle = "float:left;" + imgStyle
                if (img.align == "right") imgStyle = "float:right;" + imgStyle
                // if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
                var strNewHTML = "<span " + imgID + imgClass + imgTitle
                + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
                + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
   
                img.outerHTML = strNewHTML
            //i = i-1
            }
        }
        
    },
    initialisieren: function() {
        // Initialisiert den ImageLoader
        // ENCO.ImageLoader.initialisieren();
        ENCO.setup.animiereMainFrame();
        ENCO.setup.start();
        
        
    }
};

/**
 * Hier stehen globale Inhalte drinne
 *
 */
ENCO.Global = {
    // Variable
    window: $(window),
    windowHeight:  $(window).height(),
    windowWidth: $(window).width(),
    body: $("body"),

    // Bestimmte elemente werden hier gespeichert
    elements: {
        submenubar: null,
        submenubar_content: null,
        mainMenuElements: null,
        contentContainer: null,
        indexMainFrame: null
    }
}

ENCO.Global.events= {
    bild: new Array(),
    /**
     * Sorgt dafür das ein Bild durch sein
     * "glow" pedant ersetzt wird
     * bzw. wieder in den normal zustand gebracht wird
     * 
     */
    imageGlow: function() {
        // Ist das objekt ein aktives quickmenu element?
        if($(this).hasClass("index_quickmenubar_module_element_glow")) { 
            // Es sei denn wir sind im IE
            if(ENCO.Browser.isMSIE()) {
                 
            }
            return; // Dann tue nichts
        }
        
        
               
        // Sonderfall für IE 6
        if(ENCO.Browser.isMSIE()) {
            // Kein Bild da?
            if(ENCO.Global.events.bild[this.id] == null) {
                // Also auf glow setzen
                // Im Fall der Quickmenubar müssen wir noch einige sachen extra beachten
                // wer hätte das gedacht, ich jedenfalls nicht ....
                // Ist ein Kind element aus der klasse quickmenu_module_headline ?
                $(this).children(".quickmenu_module_headline").css("top", -57);
                $(this).children(".quickmenu_module_text").css("bottom", -31);
                //alert("Position vorher: " + vor.left + " - " + vor.top);
                // Jetzt wird der glow pfad gepeichert
                // Aus diesem basteln wir später wieder den originalen Pfad.
                // Das ist nötig da die erweiterung die Transparenz beim IE 6
                // ermöglicht alle Bilder src's durch blank.gif ersetzt, die originale
                // Pfad angabe also verloren ist
                var glow = $(this).children("img").attr("alt");
                // Hier wird er gespeichert
                ENCO.Global.events.bild[this.id] = glow;
                // Und das bild auf die glwo URL setzen
                $(this).children("img").attr("src",glow);
            } else {
                // Das Glow entfernen
                // Dazu wird der gespeicherte glow name genommen und das *_glow.png entfernt
                // anschließend noch das .png wieder hinzugefügt und schon haben
                // wir die ursprüngliche URL
                var src = ENCO.Global.events.bild[this.id].substr(0, ENCO.Global.events.bild[this.id].length-9) + ".png";
                $(this).children("img").attr("src",src);
                ENCO.Global.events.bild[this.id] = null
                // Im Falle der Quickmenubar wieder die alten werte für Text & Headline
                $(this).children(".quickmenu_module_headline").css("top", 17);
                $(this).children(".quickmenu_module_text").css("bottom", 10);
            }
        } else {
            // Wenn wir ein Quickmenu Elemet haben
            if($(this).hasClass("index_quickmenubar_module_element")) {
                // Hat es die GLOW2 klasse? Dann netferne sie wieder
                if($(this).hasClass("index_quickmenubar_module_element_glow_2")) {
                    $(this).removeClass("index_quickmenubar_module_element_glow_2");
                } else {
                    $(this).addClass("index_quickmenubar_module_element_glow_2"); 
                }
            }
            // Wenn nicht IE dann einfach die beiden
            // Attribute glow & src tauschen;
            src  = $(this).children("img").attr("src");
            glow = $(this).children("img").attr("alt");
            $(this).children("img").attr("src",glow);
            $(this).children("img").attr("alt",src);
        }
    },
    /**
     * Sorgt dafür das geklickte Elemente
     * auch geklickt bleiben
     *
     */
    quickmenubar: {
        init: function() {
            // Leucht effekte für die Elemente
            $(".index_quickmenubar_module_element, #index_quickmenubar_module_menubar_howitworks, #index_quickmenubar_module_menubar_demoversion").mouseover(ENCO.Global.events.imageGlow).mouseout(ENCO.Global.events.imageGlow);  
            // Und die Klick handler
            $(".index_quickmenubar_module_element").click(ENCO.Global.events.quickmenubar.click);
        },
        click: function() {
            // Wenn wir schon glühentue nix
            if($(this).hasClass("index_quickmenubar_module_element_glow")) {
                return;
            }
            // Alle anderen Klassen entfernen
            // Sowie den mouseout handler aufrufen
            $(".index_quickmenubar_module_element_glow").removeClass("index_quickmenubar_module_element_glow").mouseout();
            // Hintergrund ändern
            $(this).addClass("index_quickmenubar_module_element_glow");
            //$(this).mouseover();
            // Wenn wir den IE haben, jaaa dann müssen wir die Sachen nochmal positionieren
            if(ENCO.Browser.isMSIE()) {
                $(this).children(".quickmenu_module_headline").css("top", 17);
                $(this).children(".quickmenu_module_text").css("bottom", 10);
            }
        }
    },
    /*
     * Sorgt dafür das alle angeklickten Links makiert bleiben
     */
    aktiviereLinks: function() {
        // Zuerst alle Makierungen entfernen
        $(".a_active").removeClass("a_active");
        // GGF. die quickmenubar deaktivieren
        $(".index_quickmenubar_module_element_glow").removeClass("index_quickmenubar_module_element_glow").mouseout();
        // Bei einem KLick auf einen Link entferne einfach bei allen anderen
        // Die makierung und füge sie bei dir selber ein, es kann ja
        // immer nur ein link zur zeit aktiv sein
        $("a, #index_submenubar_content").click(function() {
            $(".a_active").removeClass("a_active");
            $(this).addClass("a_active");
        });
    },
    // Globaler Resize Handler
    resize: function() {
        var windowHeight = $(window).height();
        var windowWidth = $(window).width();
        ENCO.Global.elements.indexMainFrame.css("left",windowWidth / 2 - 500);
    }
}

ENCO.setup = {    
    start:  function() {
        // Wichtige elemente  speichern
        ENCO.Global.elements = {
            submenubar: $("#index_submenubar"),
            submenubar_content: $(".index_submenubar_content"),
            mainMenuElements: $(".mainMenu_element"),
            contentContainer: $("#index_content_container"),
            quickmenubarElemente: $(".index_quickmenubar_module_element"),
            indexMainFrame: $("#index_mainframe")
        }
        // Die Submenubar initilaisieren
        ENCO.func.submenubar.init();
        // Loader initialisieren
        ENCO.func.loader.init();
        // Quickmenubar aktivieren
        ENCO.Global.events.quickmenubar.init();
        // Resize Handler einfügen und positionieren
        ENCO.Global.events.resize();
        $(window).resize(ENCO.Global.events.resize);
        // Referenzen Slider starten
        ENCO.func.referenzSlider.init();
       
    // Wir starten mit einem Klick auf Home :)
        
    },
    // Hilffunktionen
    /**
     * Setzt die Hauptseite außerhalb des Bildschirms und schiebt sie rein
     */
    animiereMainFrame : function() {
        $("#index_mainframe").animate({
            top: 0
        }, 1500, function() {
            $("#mainMenu_element_home").click();
        //$("#referenzenSlider").imageSlider();
        });
    }
}

/**
 * Hier werdne die Funktionen, nach modul sortiert,
 * neriet gestellt und alle wichtigen Variablen gespeichert
 */
ENCO.func = {
    submenubar: {
        // Speichert das Element welches zuletzt angeklickz wurde
        lastCall: null,
        // Speichern die Höhe auf die das Menü ausfahren soll
        height: 0,
        children: null,
        init: function() {
 
            // Clickhandler auf die Menu Elemente paclen
            ENCO.Global.elements.mainMenuElements.click(ENCO.func.submenubar.click);
            // Glow Effekt für mainMenu
            ENCO.Global.elements.mainMenuElements.mouseover(ENCO.Global.events.imageGlow).mouseout(ENCO.Global.events.imageGlow);
            // Die Submenubar einfahren
            ENCO.func.submenubar.setHeight(0);
            //ENCO.Global.elements.submenubar_content.slideUp(0);
            // Alle submenu bars sammeln
            ENCO.func.submenubar.children = $(".index_submenubar_content");
            ENCO.func.submenubar.children.remove();
        },

        setHeight: function(height) {
            // Wenn als höhe 0 angeben wurde dann wird sie nur eingefahren
            if(height <= 0) {
                ENCO.Global.elements.submenubar.slideUp("slow");
                return;
            }
            // Wenn die Submenubar ausgblendet ist, dann setze die CSS eigenschaft
            // Und fahre sie raus
            if(ENCO.Global.elements.submenubar.css("display") == "none") {
                ENCO.Global.elements.submenubar.css("height", height + 'px').slideDown("slow");
            // Ansonsten animiere sie auf de richtige höhe
            } else {
                ENCO.Global.elements.submenubar.animate({
                    height: height
                }, "slow")
            }
        },
        
        loadContent: function(id) {
            // Wird das Element schon angezeigt?
            if(ENCO.Global.elements.submenubar.children().filter("#" + id + "_content").length >= 1) {
                // Mache nichts.
                return;
            }
            // Alte elemente ausblenden und aus dem DOM entfernen
            ENCO.Global.elements.submenubar.children().animate({
                top: 115
            }, "slow", function() {
                $(this).remove();
            } );
            // Suche den passenden Content
            var content = ENCO.func.submenubar.children.filter("#" + id + "_content");
            // Richtige Position dem neuen Element zuweisen
            content.css("top", -115);
            // Neues Element der Submenubar hinzufügen
            ENCO.Global.elements.submenubar.append(content);
            // Und an die richtige Position animieren
            content.animate({
                top: 0
            }, "slow");        
        },

        click: function() {
            // this ist jetzt das Menü Element
            // Wnn lastCall != null dann die makierungs Klasse entfernen
            if(ENCO.func.submenubar.lastCall != null) {
                $(ENCO.func.submenubar.lastCall).removeClass("mainMenu_element_selected");
                // Im IE natürlich wieder von hand....
                if(ENCO.Browser.isMSIE()) {
                    $(ENCO.func.submenubar.lastCall).css("background", "transparent;");
                }
            }

            // Prüfen ob das selbe Element nochmal geklickt wurde
            if(this == ENCO.func.submenubar.lastCall) {
                // Dann einfach nur das Menü einfahren
                // Und makierung entfernen
                $(ENCO.func.submenubar.lastCall).removeClass("mainMenu_element_selected");
                // Im IE natürlich wieder von hand....
                if(ENCO.Browser.isMSIE()) {
                    $(ENCO.func.submenubar.lastCall).css("background", "transparent;");
                }
                ENCO.func.submenubar.setHeight(0);
                // Auswahl löschen
                ENCO.func.submenubar.lastCall = null;
                return; 
            }
            // Aktuelles Element makieren
            if(ENCO.Browser.isMSIE()) {
                $(this).css("background", "url(bilder/designe/mainMenu/mainMenu_background_hover.png) top left repeat-x;");
            } else {
                $(this).addClass("mainMenu_element_selected");
            }
            
            
            // Speichern welches Element gerade geklickt wurde
            ENCO.func.submenubar.lastCall = this;
            // Jetzt die Höhe und die Aktion bestimmen
            switch(this.id) {
                case "mainMenu_element_home":
                    ENCO.func.submenubar.setHeight(0);
                    // Startseite laden
                    ENCO.func.loader.locations.home.home();
                    
                    break;
                case "mainMenu_element_produkte":
                    ENCO.func.submenubar.setHeight(80);
                    ENCO.func.submenubar.loadContent(this.id);
                    // Die Produkte starteseite
                    ENCO.func.loader.locations.produkte.safetyoffice();
                    break;
                case "mainMenu_element_consulting":
                    ENCO.func.submenubar.setHeight(40);
                    ENCO.func.submenubar.loadContent(this.id);
                    // Die Cosnulting startseite laden
                    ENCO.func.loader.locations.consulting.consulting();
                    break;
                case "mainMenu_element_training":
                    ENCO.func.submenubar.setHeight(120);
                    ENCO.func.submenubar.loadContent(this.id);
                    // LAde die Training startseote
                    ENCO.func.loader.locations.training.training();
                    break;
                case "mainMenu_element_unternehmen":
                    ENCO.func.submenubar.setHeight(40);
                    ENCO.func.submenubar.loadContent(this.id);
                    break;
                case "mainMenu_element_resource":
                    ENCO.func.submenubar.setHeight(100);
                    ENCO.func.submenubar.loadContent(this.id);
                    //ENCO.func.loader.load("content/unternehmen/de/veranstaltungen.html");
                    ENCO.func.loader.locations.resource.resource();
                    break;
            }
            ENCO.Global.events.aktiviereLinks();
        }
    },
    loader: {
        // Variablen
        callback: null,
        daten: {},
        lang: "de",
        // Methoden
        init: function() {
            // Den Anzeige bereich leerraumen
            ENCO.Global.elements.contentContainer.children().remove();
        },
        animate: function(content) {
            // Zuerst suchen wir die schon agzeigten Elemente
            // Im Content Frame und speichern ihn unter cc ab um nicht
            // Jedesmal den ganzen Namen schreiben zu müssen
            var cc = ENCO.Global.elements.contentContainer;
            // Suche die Kinder elemente
            var ccc = cc.children();
            // jetzt hängen wir ein neues Element an cc
            // Dieses wird später den inhalt der eben geladenen Seite cc
            // Darstellen
            var neuesDiv = $('<div></div>');
            // Is DOM einhängen
            cc.append(neuesDiv);
            // Die passende Klasse setzen
            neuesDiv.attr("class", "index_content");
            // Sicher gehen das es außerhalb des anzeige bereichs ist
            neuesDiv.css("top",-400);
            // Noch schnell den inhalt rinn
            neuesDiv.html(content);
            // Sollte es sich um den IE 6 handel....
            // Dürfen wir nochmal alle Bilder durch einen
            // Filter jagen, juhu
            if(ENCO.Browser.isMSIE()) {
                ENCO.PNGFIX(neuesDiv);
            }
           
            // Und schon kann es rein animiert werden
            neuesDiv.animate({
                top: 0
            }, "slow");
            // Und das alte raus ;)
            // Außerdem wird es aus dem DOM entfernt
            ccc.animate({
                top: 400
            }, "slow", function() {
                // Hier die Entfernung :)
                $(this).remove();
            }); 
        },
        /**
         * Lädt die übergebene URL und blendet sie ein
         */
        load: function(url) {
            // Cursor soll laden anzeigen
            $("body").css("cursor","progress");
            // Lokale instanz speichern um sie im AJAX Obejekt zu nutzen
            var self = ENCO.func.loader;
            // Ajax Request ausführen
            $.ajax({
                // DIe URL die geladen werden soll
                url: url,
                // Der Anfrage Typ für den Header
                type: "GET",
                // Was wir zurückerwarten
                dataType: "html",
                // Daten die wir mit schicken wollen
                // als JSON Objekt
                data: this.daten,
                // Aktion beim erfolgreichen laden
                success: function(content) {
                    // Animation zum einblende starten
                    self.animate(content);
                    // GGF. noch die CallBack funktion 
                    // ausführen
                    if(typeof(self.callback) == "function") {
                        self.callback();
                    }
                    // Und wieder auf null setzen
                    self.callback = null;
                    // Cursor wieder normalisieren
                    $("body").css("cursor","default");
                },
                // Fehlerbehandlung
                error: function() { 
                }
            });
        },
        /**
         * Setzt die Callback funktion
         */
        setCallback: function(fn) {
            if(typeof(fn) == "function") {
                this.callback = fn;
            }
            return this;
        },
        locations: {
            home: {
                home: function() {
                    ENCO.func.loader.setCallback(function() {
                        slideShow_init();
                        ENCO.func.news.init();
                    }).load("content/home/" + ENCO.func.loader.lang + "/home.html");
                }
            },
            produkte: {
                systemdesigner: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/systemdefinition.html");
                },
                gefahrdungsanalyse: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/gefahrdungsanalyse.html");
                },
                konzeptdesigner: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/konzeotdesigner.html");
                },
                fmea: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/fmea.html");
                },
                fmeda: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/fmeda.html");
                },
                fta: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/fta.html");
                },
                review: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/review.html");
                },
                sicherheitsplan: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/sicherheitsplan.html");
                },
                safetyoffice: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/safetyoffice.html");
                }
            },
            consulting: {
                consulting: function() {
                    ENCO.func.loader.load("content/consulting/" + ENCO.func.loader.lang + "/consulting.html");
                }
            },
            unternehmen: {
                team: function() {
                    ENCO.func.loader.setCallback(function() {
                        FOTO.Slider.reload('default'); 
                    });
                    ENCO.func.loader.load("content/unternehmen/" + ENCO.func.loader.lang + "/team.html");
                },
                standorte: function() {
                    ENCO.func.loader.load("content/unternehmen/" + ENCO.func.loader.lang + "/standorte.html");
                },
                philosophie: function() {
                    ENCO.func.loader.load("content/unternehmen/" + ENCO.func.loader.lang + "/philosophie.html");
                },
                partner: function() {
                    ENCO.func.loader.load("content/unternehmen/" + ENCO.func.loader.lang + "/partner.html");
                }
            },
            training: {
                training: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/training.html");
                },
                methoden: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/methoden.html");
                },
                safetyoffice: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/saftyoffice.html");
                },
                fmea: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/methoden/fmea.html");
                },
                fta: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/methoden/fta.html");
                },
                fmeda: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/methoden/fmeda.html");
                },
                zusammenspiel: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/methoden/zusammen.html");
                },
                antragsformular: function() {
                    ENCO.func.loader.setCallback(ENCO.func.trainingformular.init);
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/antragsformular.html");
                },
                prozess: function() {
                    ENCO.func.loader.load("content/training/" + ENCO.func.loader.lang + "/prozess.html");
                }
            },
            sonstiges: {
                impressum: function() {
                    ENCO.func.loader.load("content/sonstiges/" + ENCO.func.loader.lang + "/impressum.html");
                },
                howitworks: function() {
                    ENCO.func.loader.load("content/howitworks/film.html");
                },
                demoversion: function() {
                    ENCO.func.loader.load("content/produkte/" + ENCO.func.loader.lang + "/safetyoffice/demozugang.html");
                  
                }
            },
            resource: {
                resource: function() {
                    ENCO.func.loader.load("content/resource/" + ENCO.func.loader.lang  + "/download.html");
                }
            },
            karriere: {
                ingeneur: function() {
                    ENCO.func.loader.load("content/karriere/" + ENCO.func.loader.lang  + "/ingeneur.html");
                },
                sw: function() {
                    ENCO.func.loader.load("content/karriere/" + ENCO.func.loader.lang  + "/sw-entwickler.html");
                }
            }
        }
    },
    trainingformular: {
        init: function() {
            $("#antragformular_teilnehmer").change(ENCO.func.trainingformular.updatePreis);
        },
        submit: function() {
            var icon = '<img src="bilder/icons/ajax_load.gif" style="width: 13px;">';
            // Speichert die eingaben des Users
            var eingaben = $("#antragformular_form").serialize();
            // Alle Felder disablen
            $(".antragformular").attr("disabled", "disabled");
            // Zeigen das gearbeitet wird, dazu wird dem Button ein Image gegeben 
            // das einen ladebildschrim zeigt
            $("#antragformular_submit").html(icon + " Senden");
            $("#antragformular_submit").attr("disabled", "disabled");
            
            $.ajax({
                url: "ajax/send_seminar.php",
                dataType: "json",
                type: "post",
                data: eingaben,
                success: function(json) {
                    if(json.status) {
                        $("#antragformular_submit").html("Senden erfolgreich");
                    } else {
                        $(".antragformular").each(function() {
                            $(this).removeAttr("disabled");
                        });
                        $("#antragformular_submit").html("Senden Fehlgeschlagen");
                    }
                },
                error: function(a,b,c) {
                    alert("Kritscher Fehler beim senden");
                }
            });
            return false;
        },
        /**
         * Lädt Ort und Datum in das passende select
         */
        ladeOrtUndDatum: function(select) {
            // Zuerst den Wert des Optionfeldes speichern
            var option_value = $(select).val();
            // Jetzt basteln wir uns den Pfad zum Array zusammen
            var pfad_zum_array = "ENCO.func.trainingformular." + option_value;
            // Und speichern die neuen Werte
            var objekt = eval(pfad_zum_array);
            // Nun laden wir das passende Select Feld
            var ortUndDatumSelect = $("#antragformular_ortdatum");
            // Entfernen alle einträge
            ortUndDatumSelect.children().remove();
            // Anzahl Twilnehmer erkennen
            var anzahlTeilnehmer = $("#antragformular_teilnehmer");
            // Jetzt wird über die Orte Iteriert
            $(objekt.orte).each(function(i, elem) {
                // Und einsortiert in das passende Select
                ortUndDatumSelect.append('<option value="' + elem + '">' + elem + '</option>');
            });
            // Jetzt wird die Dauer angezeigt
            $("#antragformular_dauer").val(objekt.dauer);
            // Und der Preis
            $("#antragformular_preis").val(objekt.preis * anzahlTeilnehmer.val()).attr("basisPreis", objekt.preis);
        },
        updatePreis: function() {
            var form = $("#antragformular_preis");
            var anzahlTeilnehmer = $("#antragformular_teilnehmer");
            var preis = form.attr("basisPreis");
            
            form.val(preis * anzahlTeilnehmer.val() + ' (' + preis + ' € pro Person)');
            
        },
        fmea:  {
            preis: '750',
            dauer: 2,
            orte: new Array("16-17.01.2012 Frankfurt", "16-17.04.2012 M&uuml;nchen","18-19.06.2012 Frankfurt","17-18.09.2012 M&uuml;nchen")
        },
        fta:  {
            preis: '750',
            dauer: 1,
            orte: new Array("18.01.2012 Frankfurt", "18.04.2012 M&uuml;nchen","20.06.2012 Frankfurt","19.09.2012 M&uuml;nchen")
        },
        fmeda:  {
            preis: '750',
            dauer: 2,
            orte: new Array("06-07.02.2012 Frankfurt", "07-08.05.2012 M&uuml;nchen","03-04.09.2012 Frankfurt","05-06.11.2012 M&uuml;nchen")
        },
        zusammenspiel:  {
            preis: '1100',
            dauer: 2,
            orte: new Array("08-09.02.2012 Frankfurt", "09-10.05.2012 M&uuml;nchen","05-06.09.2012 Frankfurt","07-08.11.2012 M&uuml;nchen")
        }
    },
    referenzSlider: {
        time: 2, // Gibt in Sekunden an wie lange ein Partner angezeigt wird
        anitime: 8, // Gibt an wie lange die Animation dauert, in sekunden
        frame: $("#referenzenSlider"),
        referenzen: new Array(), // Hier werden die Bilder gespeichert 
        counter: 0, // Speichert das aktuelle Bild, welches angezeigt wird
        maxImages: 0, // speichert die maximale anzahl an Bildern
        init: function() {
            // Frame finden
            ENCO.func.referenzSlider.frame = $("#referenzenSlider");
            // Alle Kinder elemnte laden
            ENCO.func.referenzSlider.referenzen = ENCO.func.referenzSlider.frame.children("img");
            // Alle Bilder aus dem DOM entfernen
            ENCO.func.referenzSlider.frame.children("img").remove();
            // Anzahl der Bilder speichern
            ENCO.func.referenzSlider.maxImages = ENCO.func.referenzSlider.referenzen.length;
            // Und dann kann es schon mit dem ersten Bild losgehen
            ENCO.func.referenzSlider.next();
        },
        next: function() {
            // ist der Counter am Maximum angelangt? Dann wieder bei 0 anfangen
            if(ENCO.func.referenzSlider.counter == ENCO.func.referenzSlider.maxImages) {
                ENCO.func.referenzSlider.counter = 0;
            }
            // Jetzt Frame für das nächste Bild erstellen
            var temp = $('<div class="subframe"></div>');
            // Und einfügen
            ENCO.func.referenzSlider.frame.append(temp);
            // jetzt wird temp noch das bild eingefüpgt
            // dazu speichern wir es eben zwschen
            var tempImage = $(ENCO.func.referenzSlider.referenzen.get(ENCO.func.referenzSlider.counter));
            // Machen es sichtbar
            tempImage.css("display", "block");
            temp.append(tempImage);
            // Jetzt wird er animiert
            temp.animate({
                top: 200
            }, 1000 * ENCO.func.referenzSlider.anitime, "linear", function() {
                // Und wenn die Animation fertig ist aus dem DOM entfernt
                temp.remove();
            });
            ENCO.func.referenzSlider.counter++;
            setTimeout(ENCO.func.referenzSlider.next, 500 * (ENCO.func.referenzSlider.anitime / 2));
        }
        
    },
    news: {
        vars: {
           news: null,
           frame: null,
           container: null
        },
        init: function() {
            // Als erstes suchen wir den anzeigebereich 
            ENCO.func.news.vars.frame = $("#slideShowNewsFrame");
            // Den Container
            ENCO.func.news.vars.container = $("#slideShowNews");
            // Und nun alle news
            ENCO.func.news.vars.news = $(".news");
            // Alle unsichtbar mache und entfernen
            $(".news").fadeOut(0).remove();
            // Und die news Starten
            ENCO.func.news.next(9999);
        },
        next: function(nextNews) {
            // Aliase holen für die langen namen
            var news = ENCO.func.news.vars.news;
            var container = ENCO.func.news.vars.container;
            var frame = ENCO.func.news.vars.frame;
            // Ist die "nextNews" grßer als die länge des news array?
            if(nextNews >= news.length) {
                 nextNews = 0; // Dann beginne von vorne
            }
            // Jetzt fade den container aus
            container.fadeOut("slow", function() {
                $(this).html($(news[nextNews]).html());
                $(this).fadeIn("slow");
            });
            
            // Und Rotation weiter führen
            window.setTimeout(ENCO.func.news.next, 10000, (nextNews + 1));
            
        }
    }
}
/*
 * Stellt grunlegede Informationen über den Browser bereit
 * z.B. Welche version, oder welchen Typ, auch auf IE 6.0 Angepasst
 */
ENCO.Browser = {
    // Methoden
    
    /**
     * Liefert eine String repräsentation des Browsers
     * @return string den String des Browsers
     */
    getBrowser: function() {
        ret = null;
        jQuery.each(jQuery.browser, function(i, val) {
            if(val && i != "version") ret = i;
        });
        return ret;
    },

    /**
     * Gibt die major Version des Browser zurück
     */
    getMajorVersion: function() {
        return parseInt(jQuery.browser.version);
    },

    /**
     * Gibt die volle Version des Browser zurück
     */
    getVersion: function() {
        return jQuery.browser.version;
    },

    /**
     * Gibt true zurück wenn wir den IE 6 oder 7 haben
     * @return bool true wenn Client = IE6 || IE7
     */
    isMSIE: function() {
        if(ENCO.Browser.getBrowser() == "msie" && ENCO.Browser.getMajorVersion() <= 6)
            return true;
        return false;
    }
}

ENCO.ImageLoader = {
    // Variablen
    // Der preload Main Frame
    pFrame: null,
    // Der Lade Balken
    pBalken:  null,
    pBalkenWidth: null,
    // Daten für den Lade Balken
    schrittSize: null,
    // Daten für Fehlgeschlagene oder erfolgreiche Bilder
    fertig: 0,
    error: 0,
    abort: 0,
    // Speichert das der Loader verlassen wurde
    ladenFertig: false,
    bilder: new Array(),
    bilderSize: 0,

    initialisieren : function() {
        // Zuerst den Ladeframe zeigen
        $("body").append('<div style="position:absolute; width: 100%; height: 100%; background-color: #202020; z-index: 9999; left: 0px; top: 0px;" id="preload_ladeframe">\n\
                                Lade....\n\
                                    <div style="width: 400px; height: 20px; border: 1px solid white">\n\
                                        <div style="background-color: #3366ff; width: 0px; height: 20px; border: 0px solid black; text-align: right;" id="preload_balken"></div>  \n\
                                    </div>\n\
                          </div>');
        // Für den FAll das wir den IE 7 oder 7 haben eine meldung anzeigen
        //
        // Jetzt die Variablen befüllen
        this.pFrame = $("#preload_ladeframe");
        this.pBalken = $("#preload_balken");
        this.pBalkenWidth = $(this.pBalken).width();
        // Jetzt der sonderfall für IE6 + 7
        if(ENCO.Browser.isMSIE()) {
            // Zuerst eine Meldung anzeigen das
            // Hier evtl probleme auftreten können
            this.pFrame.append('<p>Bei der Verwendung des IE 6 oder 7 k&ouml;nnen vereinzelt Fehler auftreten. <br>\n\
                                   Sollte der Ladeschirm nach 20 Sekunden noch immer gezeigt werden, oder der Fortschritt nicht voranschreiten <br>\n\
                                   Klicken Sie bitte <a href="javascript:ENCO.ImageLoader.abbruch()">hier</a></p>');
            setTimeout(ENCO.ImageLoader.abbruch, 20);
        }

        this.setImages();
        this.preload();
    },

    /**
     * Speichert alle zu ladenen Bilder in einem Array
     * Und berechnet außerdem die Prozent Anzeige
     */
    setImages: function() {
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/resource.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/resource_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/unternehmen.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/unternehmen_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/training.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/training_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/consulting.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/consulting_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/produkte.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/produkte_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/home.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/elements_de/home_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/howitworks.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/howitworks_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/demoversion.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/demoversion_glow.png");
        // Die Bilder für die Quickmenubar
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/systemdefinition.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/systemdefinition_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/gefaehrdung.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/gefaehrdung_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/konzeptdesigner.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/konzeptdesigner_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FMEA.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FMEA_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FMEDA.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FMEDA_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FTA.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/FTA_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/review.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/review_glow.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/sicherheitsplan.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/icons/sicherheitsplan_glow.png");
        // Slideshow
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco_text_1.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco_text_2.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco2_text_1.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco2_text_2.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco3_text_1.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco3_text_2.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco2.png");
        ENCO.ImageLoader.bilder.push("bilder/slideShow/de/enco3.png");
        // Allgemeine Bilder
        ENCO.ImageLoader.bilder.push("bilder/designe/content/content_background.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/submenu/submenu_bg.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/mainMenu/mainMenu_background.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/quickmenuba_module_bg.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/quickmenuba_module_bg.jpg");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/rahmen.png");
        ENCO.ImageLoader.bilder.push("bilder/designe/quickmenubar_module/rahmen_glow.png");
        // Das Team
        ENCO.ImageLoader.bilder.push("bilder/team/heine.png");
        ENCO.ImageLoader.bilder.push("bilder/team/tollkuhn.png");
        ENCO.ImageLoader.bilder.push("bilder/team/wang.png");
        ENCO.ImageLoader.bilder.push("bilder/team/pollok.png");
        ENCO.ImageLoader.bilder.push("bilder/team/hell.png");
        ENCO.ImageLoader.bilder.push("bilder/team/jordan.png");
        ENCO.ImageLoader.bilder.push("bilder/team/nicolai.png");
        ENCO.ImageLoader.bilder.push("bilder/team/koch.png");
        ENCO.ImageLoader.bilder.push("bilder/team/salehi.png");

        // Bilder größe speichern
        this.bilderSize = this.bilder.length;
        this.schrittSize = 100 / this.bilderSize;
    },

    preload: function() {
        // URL Parameter laden
        debug = (get_url_param("debug") == 0?false:true);
        for(var i = 0; i < this.bilderSize; i++) {
            var img = new Image();
            // Wird aufgerufen sobald das bild fertig geladen wurde
            img.onload = function() {
                // Text Node erstellem
                //p = document.createTextNode(this.src);
                // Und anzeigen
                //ENCO.ImageLoader.pFrame.append(p);
                //ENCO.ImageLoader.pFrame.append(document.createElement("br"));
                // Fertige bilder zähler ein hoch
                ENCO.ImageLoader.fertig++;
                // Lade Balken updaten
                var newWidth = Math.round(ENCO.ImageLoader.fertig * ENCO.ImageLoader.schrittSize) + '%';
                ENCO.ImageLoader.pBalken.css("width", newWidth );
                ENCO.ImageLoader.pBalken.html(newWidth);
                // Jetzt prüfen ob wir fertig sind
                ENCO.ImageLoader.checkStatus();
            }

            img.onerror = function() {
                ENCO.ImageLoader.fertig++;
                ENCO.ImageLoader.error++;
                ENCO.ImageLoader.checkStatus();
            }

            img.abort = function() {
                alert("bla");
            }
            // Die Url setzen
            img.src = this.bilder[i];
        }
    },

    /**
     * Prüft ob alle Bilder fertig geladen sind
     * Und falls ja, wird der loader beendet und die Seite geziegt
     */
    checkStatus: function() {
        if(this.fertig == this.bilderSize) {
            // Speichern das fertig sind
            this.ladenFertig = true;
            // Balken auf 100% Breite setzen
            this.pBalken.css("width",'100%');
            // lade Bildschrim ausblenden
            this.pFrame.animate({
                top: $("#index_mainframe").height()
            }, 1500, function() {
                // Wenn ausblenden abgeschlossen wurde
                // Den Frame aus dem DOM entfernen
                ENCO.ImageLoader.pFrame.remove();
                ENCO.ImageLoader.ladenFertig = true;
            // Den Mainframe einblenden
            });
            ENCO.setup.animiereMainFrame();
        }
    },

    /**
     * Bricht das Laden ab und zwingt das anzeigen der Seite
     */
    abbruch: function (){
        //alert("Greife korrigierend ein");
        if(!ENCO.ImageLoader.ladenFertig) {
            ENCO.ImageLoader.fertig = ENCO.ImageLoader.bilderSize;
            ENCO.ImageLoader.checkStatus();
        }
        
    }
}

$(document).ready(function() {
    // Bilder laden starten und beu erfolg das Setup Ingang bringen
    ENCO.initialisieren();

    // Resize event
    $(window).resize(ENCO.Global.resize);
    
    //change the 'baseURL' to reflect the host and or path to your images
    FOTO.Slider.baseURL = 'bilder/team/';

    //set images by filling our bucket directly
    FOTO.Slider.bucket = {
        'default': {
            0: {
                'thumb': 'heine_thumb.png',
                'main': 'heine.png',
                'caption': '',
                'text' : '<b>Marcus H.</b> <br> Geschäftsführung',
                'zitat': '<img src="bilder/team/zitat_marcus.png" alt="Zitat Markus" width="360px">'
            },
            1: {
                'thumb': 'tollkuhn_thumb.png',
                'main': 'tollkuhn.png',
                'caption': '',
                'text' : '<b>Daniela T.</b> <br> Assistenz der Geschäftsführung',
                'zitat': '<img src="bilder/team/zitat_daniela.png" alt="Zitat Markus" width="360px">'
            },
            2: {
                'thumb': 'hansjuergen_thumb.png',
                'main': 'hansjuergen.png',
                'caption': '',
                'text' : '<b>Hans-J&uuml;rgen S.</b> <br> Bereichsleiter Consulting',
                'zitat': '<img src="bilder/team/zitat_hans-juergen.png" alt="Zitat Hans-Jürgen" width="360px">'
            },
            3: {
                'thumb': 'giesbert_thumb.png',
                'main': 'giesbert.png',
                'caption': '',
                'text' : '<b>Gisbert B.</b> <br> Senior Consultant',
                'zitat': ''
            },
            4: {
                'thumb': 'pollok_thumb.png',
                'main': 'pollok.png',
                'caption': '',
                'text' : '<b>Bj&ouml;rn P.</b> <br> Senior Consultant',
                'zitat': '<img src="bilder/team/zitat_bjoern.png" alt="Zitat Markus" width="360px">'
            },
            5: {
                'thumb': 'wang_thumb.png',
                'main' : 'wang.png',
                'caption' : '',
                'text': '<b>Chongqin W.</b> <br> Senior Consultant',
                'zitat': '<img src="bilder/team/zitat_chongqin.png" alt="Zitat Kathrin" width="360px">'
            },
            6: {
                'thumb': 'nicolai_thumb.png',
                'main': 'nicolai.png',
                'caption': '',
                'text' : '<b>Michael N.</b> <br> Consultant',
                'zitat': '<img src="bilder/team/zitat_michael.png" alt="Zitat Markus" width="360px">'
            },
            7: {
                'thumb': 'salehi_thumb.png',
                'main': 'salehi.png',
                'caption': '',
                'text' : '<b>Mohammad S.</b> <br> Consultant',
                'zitat': '<img src="bilder/team/zitat_mohammed.png" alt="Zitat Markus" width="360px">'
            },
            8: {
                'thumb': 'kathrin_thumb.png',
                'main': 'kathrin.png',
                'caption': '',
                'text' : '<b>Kathrin B.</b> <br> Consultant',
                'zitat': '<img src="bilder/team/zitat_kathrin.png" alt="Zitat Kathrin" width="360px">'
            },
            9: {
                'thumb': 'klaus_thumb.png',
                'main': 'klaus.png',
                'caption': '',
                'text' : '<b>Klaus W.</b> <br>Consultant',
                'zitat': '<img src="bilder/team/zitat_klaus.png" alt="Zitat Kathrin" width="360px">'
            },
            10: {
                'thumb': 'maria_thumb.png',
                'main' : 'maria.png',
                'caption' : '',
                'text': '<b>Maria D.</b> <br> Consultant',
                'zitat': ''
            },
            11: {
                'thumb': 'toufik_thumb.png',
                'main' : 'toufik.png',
                'caption' : '',
                'text': '<b>Toufik K.</b> <br> Consultant',
                'zitat': ''
            },
            12: {
                'thumb': 'georgi_thumb.png',
                'main' : 'georgi.png',
                'caption' : '',
                'text': '<b>Georgi C.</b> <br> Consultant',
                'zitat': ''
            },
            13: {
                'thumb': 'philip_thumb.png',
                'main': 'philip.png',
                'caption': '',
                'text' : '<b>Philip  S.</b> <br>Consultant',
                'zitat': '<img src="bilder/team/zitat_philip.png" alt="Zitat Kathrin" width="360px">'
            },
            14: {
                'thumb': 'jacek_thumb.png',
                'main' : 'jacek.png',
                'caption' : '',
                'text': '<b>Jacek W.</b> <br> Bereichsleiter Entwicklung',
                'zitat': ''
            },
            15: {
                'thumb': 'koch_thumb.png',
                'main': 'koch.png',
                'caption': '',
                'text' : '<b>Oliver K.</b> <br> Entwickler',
                'zitat': '<img src="bilder/team/zitat_oliver.png" alt="Zitat Markus" width="360px">'
            },
            16: {
                'thumb': 'erdal_thumb.png',
                'main' : 'erdal.png',
                'caption' : '',
                'text': '<b>Erdal K.</b> <br> Entwickler',
                'zitat': ''
            },
            17: {
                'thumb': 'ilker_thumb.png',
                'main': 'ilker.png',
                'caption': '',
                'text' : '<b>Ilker U.</b> <br> Student',
                'zitat': '<img src="bilder/team/zitat_ilker.png" alt="Zitat Kathrin" width="360px">'
            },
            
            18: {
                'thumb': 'dmitrij_thumb.png',
                'main' : 'dmitrij.png',
                'caption' : '',
                'text': '<b>Dmitrij C.</b> <br> Student',
                'zitat': '<img src="bilder/team/zitat_dimitrij.png" alt="Zitat Kathrin" width="360px">'
            },
            19: {
                'thumb': 'jost_thumb.png',
                'main': 'jost.png',
                'caption': '',
                'text' : '<b>Hanno J.</b> <br> Student',
                'zitat': '<img src="bilder/team/zitat_hanno.png" alt="Zitat Markus" width="360px">'
            },
            20: {
                'thumb': 'sven_thumb.png',
                'main': 'sven.png',
                'caption': '',
                'text' : '<b>Sven Hendrik R.</b> <br> Student',
                'zitat': '<img src="bilder/team/zitat_sven.png" alt="Zitat Kathrin" width="360px">'
            },
            21: {
                'thumb': 'jennifer_thumb.png',
                'main': 'jennifer.png',
                'caption': '',
                'text' : '<b>Jennifer d. L.</b> <br> Praktikantin',
                'zitat': '<img src="bilder/team/zitat_jennifer.png" alt="Zitat Markus" width="360px">'
            }
        }
    };

});

