
/* FRONTEND MODE */


/* BEGIN OF INCLUDED FILE '/modules/navigation/navigation.js' */

var currentAufklappElem = new Array();
var currentAufklappTimer = new Array();

window.autoDropdownSelectedLevel = null;
window.autoDropdownSelectedElemId = null;

// Layer fuer ausgewaehlten Eintrag automatisch einblenden
window.showAufklappLayerAutoDropdownSelected = function(level, elemId) {
    window.autoDropdownSelectedLevel = level;
    window.autoDropdownSelectedElemId = elemId;
    window.showAufklappLayer(level, elemId);
};

// Layoer fuer ausgewaehlten Eintrag automatisch wiedereinblenden, nachdem ein anderer Layer eingeblendet war
window.restoreAufklappLayerAutoDropdownSelected = function() {
    if (currentAufklappElem[window.autoDropdownSelectedLevel] == null) { // nur, wenn kein layer mehr eingeblendet ist
        window.showAufklappLayer(window.autoDropdownSelectedLevel, window.autoDropdownSelectedElemId);
    }
};

// Layer einblenden
window.showAufklappLayer = function(level, elemId) {
    // Momentan angezeigten Layer ausblenden
    if (currentAufklappElem[level] != null){
        hideCurrentAufklappLayerNow(level);
    }
    // Neuen Layer einblenden
    var elem = document.getElementById(elemId);
    elem.style.display = 'block';
    currentAufklappElem[level] = elem;
    // Dem passenden Link eine Hover-Klasse zuweisen
    if (window.dojo) {
        var aElements = dojo.query('a', elem.parentNode);
        if (aElements) {
            dojo.forEach(aElements, function(e){
                dojo.addClass(e, "dropdownHover");
            });
        }
    }
};

// Layer ausblenden (verzoegert!)
window.hideAufklappLayer = function(level, elemId) {
    if (currentAufklappTimer[level] != null) {
        window.clearTimeout(currentAufklappTimer[level]);
        currentAufklappTimer[level] = null;
    }
    currentAufklappTimer[level] = window.setTimeout('hideCurrentAufklappLayerNow('+level+');', 500);
};

// Layer jetzt ausblenden
window.hideCurrentAufklappLayerNow = function(level) {
    if (currentAufklappTimer[level] != null) {
        window.clearTimeout(currentAufklappTimer[level]);
        currentAufklappTimer[level] = null;
    }
    if (currentAufklappElem[level] != null) {
        var elem = currentAufklappElem[level];
        elem.style.display = 'none';
        currentAufklappElem[level] = null;
        // Dem passenden Link die Hover-Klasse wieder wegnehmen
        if (window.dojo) {
            var aElements = dojo.query('a', elem.parentNode);
            if (aElements) {
                dojo.forEach(aElements, function(elem){
                    dojo.removeClass(elem, "dropdownHover");
                });
            }
        }
        // Layer fuer ausgewaehlten Eintrag wieder einblenden, falls autoDropdownSelected aktiv
        if (window.autoDropdownSelectedLevel != null && window.autoDropdownSelectedElemId != null && window.autoDropdownSelectedLevel == level) {
            window.setTimeout("restoreAufklappLayerAutoDropdownSelected();", 50);
        }
    }
};



/* END OF INCLUDED FILE '/modules/navigation/navigation.js' */



/* BEGIN OF INCLUDED FILE '/modules/usability/js/seitbox_dijit_form_SlickCheckBox.js' */


////
//// SlickCheckBox dijit
////
//// A checkbox which supports the parameters 'checkedValue' and 'uncheckedValue' and posts
//// one of this values to the server, depending on it's current state.
////
if (window.dojo) {
    dojo.provide("seitbox.dijit.form.SlickCheckBox");
    dojo.require("dijit.form.CheckBox");
    dojo.declare(
        "seitbox.dijit.form.SlickCheckBox",
        [dijit.form.CheckBox],
        {
            checkedValue: '1',
            uncheckedValue: '0',
            _currentValue: null,
            _uncheckedHiddenField: null,
            postMixInProperties: function(){
                // store current value and set value to checked value
                this._currentValue = this.value;
                this.value = this.checkedValue;
                // set checked state from current value
                if (this._currentValue == this.checkedValue) {
                    this.checked = true;
                } else {
                    this.checked = false;
                    this._createUncheckedHiddenField();
                }
                // call inherited
                this.inherited(arguments);
            },
            postCreate: function(){
                this.inherited(arguments);
                if(!this.checked){
                    this._createUncheckedHiddenField();
                }
            },
            _setCheckedAttr: function(){
                this.inherited(arguments);
                if (!this.checked) {
                    this._createUncheckedHiddenField();
                } else {
                    this._removeUncheckedHiddenField();
                }
            },
            _createUncheckedHiddenField: function() {
                this._uncheckedHiddenField = dojo.doc.createElement("input");
                dojo.attr(this._uncheckedHiddenField, "type", "hidden");
                dojo.attr(this._uncheckedHiddenField, "name", this.name);
                dojo.attr(this._uncheckedHiddenField, "value", this.uncheckedValue);
                dojo.place(this._uncheckedHiddenField, this.domNode, "before");
            },
            _removeUncheckedHiddenField: function() {
                if (this._uncheckedHiddenField != null) {
                    this._uncheckedHiddenField.parentNode.removeChild(this._uncheckedHiddenField);
                    this._uncheckedHiddenField = null;
                }
            }
        }  
    );
}


/* END OF INCLUDED FILE '/modules/usability/js/seitbox_dijit_form_SlickCheckBox.js' */



/* BEGIN OF INCLUDED FILE '/modules/headerimage/js/headerimage.js' */


// Init slideshow if first slide found
if (window.dojo) {
    dojo.addOnLoad(function(){
        if (dojo.byId('headerimageSlide0') && dojo.byId('headerimageSlide1')) { // we need at least two slides
            window.headerimage.startSlideshow();
        }
    });
}

// Create namespace
window.headerimage = new Object();

// Array containing all slide nodes
window.headerimage.DELAY = 6000;  
window.headerimage.DURATION = 750;
window.headerimage.currentOffset = 0;
window.headerimage.allSlides = new Array();

// Start slideshow
window.headerimage.startSlideshow = function() {
	var containerNode = dojo.byId("headerimageSlideshow");
    // find all slides
    window.headerimage.allSlides = dojo.query(".headerimageSlide", containerNode);
    // set the size of all slides to the size of the container, set the z-index
    for(var i=0; i<window.headerimage.allSlides.length; i++) {
    	dojo.style(window.headerimage.allSlides[i], "width", containerNode.offsetWidth+"px");
    	dojo.style(window.headerimage.allSlides[i], "height", containerNode.offsetHeight+"px");
    	dojo.style(window.headerimage.allSlides[i], "zIndex", 8);
    }
    // make all but the first slide transparent
    dojo.style(window.headerimage.allSlides[0], "opacity", 1.0);
    dojo.style(window.headerimage.allSlides[0], "visibility", "visible");
    for(var i=1; i<window.headerimage.allSlides.length; i++) {
        dojo.style(window.headerimage.allSlides[i], "opacity", 0.0);
        dojo.style(window.headerimage.allSlides[i], "visibility", "visible"); // slides are hidden when loading
    }
    // start the slideshow loop
    window.setTimeout(window.headerimage.nextSlide, window.headerimage.DELAY);
};

// Skip to next slide
window.headerimage.nextSlide = function() {
    var newOffset = window.headerimage.currentOffset + 1;
    if (newOffset >= window.headerimage.allSlides.length) {
        newOffset = 0;
    }
    window.headerimage.gotoSlide(newOffset);
    // repeat the slideshow loop forever
    window.setTimeout(window.headerimage.nextSlide, window.headerimage.DELAY);
};

// Goto given slide
window.headerimage.gotoSlide = function(newOffset) {
    var oldOffset = window.headerimage.currentOffset;
    // set z-indexes
    dojo.style("headerimageSlide"+oldOffset, "zIndex", 8);
    dojo.style("headerimageSlide"+newOffset, "zIndex", 9);
    // fade in new slide and make old slide invisible on end
    var fadeIn = dojo.animateProperty(
    	{
    		node: "headerimageSlide"+newOffset,
    		duration: window.headerimage.DURATION,
    		properties: {
    			opacity: 1.0
    		},
    		onEnd: function() {
    			dojo.style("headerimageSlide"+oldOffset, "opacity", 0.0);
    		}
    	}
    );
    fadeIn.play();
    // set current slide
    window.headerimage.currentOffset = newOffset;
};



/* END OF INCLUDED FILE '/modules/headerimage/js/headerimage.js' */


