//----------------------------------------------------------------
// Navigation begin
//----------------------------------------------------------------
var lastopenSlide;
var lastToggler;

var eSeason = { Winter:0, Spring:1, Summer:2, Autumn: 3 };

function tooglemenue(togglerid, menuid, region) {

    var toggler = $(togglerid);
    var currentSlide = new Fx.Slide(menuid);

    // fix for ie -> set the display to none to avoid, that the menue is visible during the load process
    // here, reset it to visible.
    $(menuid).style.display = '';

    if (region != document.body.className) {
        currentSlide.hide();
    }
    else {
        lastopenSlide = currentSlide;
        lastToggler = toggler;
        DeclareMenueAsOpen(toggler);
    }

    toggler.addEvent('click', function(e) {
        e = new Event(e);

        // fix the style a little bit
        DeclareMenueAsOpen(toggler);
        if (lastToggler != null) {
            lastToggler.className = '';
        }

        if (lastopenSlide != null) {
            if (lastopenSlide != currentSlide) {
                lastopenSlide.slideOut().chain(function() {
                    currentSlide.slideIn()
                });

                lastopenSlide = currentSlide;
                lastToggler = toggler;
            }
            else {
                lastopenSlide.slideOut();

                lastopenSlide = null;
                lastToggler = null;
            }
        }
        else {
            currentSlide.slideIn();

            lastToggler = toggler;
            lastopenSlide = currentSlide;
        }

        e.stop();
    });
}

function DeclareMenueAsOpen(toggler) {
    toggler.className = 'ouverte';
}
 
function HideNavigationSubMenue(menuid, region) {

    if (region != document.body.className) {
        var submenu = $(menuid);
        if (submenu != null) {
            submenu.style.display = 'none';
        }
    }
}

function HideNavigationSubMenues() {

    HideNavigationSubMenue('navigationweingut', 'weingut');
    HideNavigationSubMenue('navigationkueferei', 'kueferei');
    HideNavigationSubMenue('navigationbrennerei', 'brennerei');
}

function RemoveTogglerLink(togglerid) {
    var toogler = document.getElementById(togglerid);
    if (toogler != null) {
        toogler.href = '#';
    }
}

//----------------------------------------------------------------
// Navigation end
//----------------------------------------------------------------
window.addEvent('domready', function() {

    RemoveTogglerLink('nav-weingut');
    RemoveTogglerLink('nav-kueferei');
    RemoveTogglerLink('nav-brennerei');

    // Init. navigation
    tooglemenue('nav-weingut', 'navigationweingut', 'weingut');
    tooglemenue('nav-kueferei', 'navigationkueferei', 'kueferei');
    tooglemenue('nav-brennerei', 'navigationbrennerei', 'brennerei');

    // Init. slideshow
    var data = null;
    switch (document.body.className) {
        case "home":
            data = HomeImages();
            break;
        case "weingut":
            data = WeingutImages();
            break;
        case "kueferei":
            data = KuefereiImages();
            break;
        case "brennerei":
            data = BrennereiImages();
            break;
        default:
            break;
    }
    if (data != null) {
        var myShow = new Slideshow('photographie', data, { height: 300, hu: 'images/', width: 900 });
    }
    // smooth scroll to anchors
    new SmoothScroll({ duration: 700 }, window); //700 milliseconds to get there
});

function HomeImages() {
    switch (GetSeason()) {
        case eSeason.Summer:
            // Sommer
            return {
                'reben-sommer-home-1.jpg': {},
                'reben-sommer-home-2.jpg': {},
                'reben-sommer-home-3.jpg': {}
            };
        case eSeason.Autumn:
            // Herbst
            return {
                'reben-herbst-home-1.jpg': {},
                'reben-herbst-home-2.jpg': {},
                'reben-herbst-home-3.jpg': {}
            };
        case eSeason.Winter:
            // Winter
            return {
                'reben-winter-home-1.jpg': {},
                'reben-winter-home-2.jpg': {},
                'reben-winter-home-3.jpg': {}
            };
        default:
        case eSeason.Spring:
            // Frühling
            return {
                'reben-fruehling-home-1.jpg': {},
                'reben-fruehling-home-2.jpg': {},
                'reben-fruehling-home-3.jpg': {}
            };
    }
}

function WeingutImages() {
    switch (GetSeason()) {
        case eSeason.Summer:
            // Sommer
            return {
                'reben-hug-fruehling-1.jpg': {},
                'reben-hug-fruehling-2.jpg': {},
                'reben-hug-fruehling-3.jpg': {}
            };
        case eSeason.Autumn:
            // Herbst
            return {
                'reben-hug-herbst-1.jpg': {},
                'reben-hug-herbst-2.jpg': {},
                'reben-hug-herbst-3.jpg': {}
            };
        case eSeason.Winter:
            // Winter
            return {
                'reben-hug-winter-1.jpg': {},
                'reben-hug-winter-2.jpg': {},
                'reben-hug-winter-3.jpg': {}
            };
        default:
        case eSeason.Spring:
            // Frühling
            return {
                'reben-hug-fruehling-1.jpg': {},
                'reben-hug-fruehling-2.jpg': {},
                'reben-hug-fruehling-3.jpg': {}
            };
    }
}

function KuefereiImages() {
    switch (GetSeason()) {
        case eSeason.Summer:
            // Sommer
            return {
                'strausse-kueferei-winter-1.jpg': {},
                'strausse-kueferei-winter-2.jpg': {},
                'strausse-kueferei-winter-3.jpg': {}
            };
        case eSeason.Autumn:
            // Herbst
            return {
                'strausse-kueferei-herbst-1.jpg': {},
                'strausse-kueferei-herbst-2.jpg': {},
                'strausse-kueferei-herbst-3.jpg': {}
            };
        case eSeason.Winter:
            // Winter
            return {
                'strausse-kueferei-winter-1.jpg': {},
                'strausse-kueferei-winter-2.jpg': {},
                'strausse-kueferei-winter-3.jpg': {}
            };
        default:
        case eSeason.Spring:
            // Frühling
            return {
                'strausse-kueferei-winter-1.jpg': {},
                'strausse-kueferei-winter-2.jpg': {},
                'strausse-kueferei-winter-3.jpg': {}
            };
    }
}

function BrennereiImages() {
    switch (GetSeason()) {
        case eSeason.Summer:
            // Sommer
            return {
                'obst-brennerei-fruehling-1.jpg': {},
                'obst-brennerei-fruehling-2.jpg': {},
                'obst-brennerei-fruehling-3.jpg': {}
            };
        case eSeason.Autumn:
            // Herbst
            return {
                'obst-brennerei-winter-1.jpg': {},
                'obst-brennerei-winter-2.jpg': {},
                'obst-brennerei-winter-3.jpg': {}
            };
        case eSeason.Winter:
            // Winter
            return {
                'obst-brennerei-winter-1.jpg': {},
                'obst-brennerei-winter-2.jpg': {},
                'obst-brennerei-winter-3.jpg': {}
            };
        default:
        case eSeason.Spring:
            // Frühling
            return {
                'obst-brennerei-fruehling-1.jpg': {},
                'obst-brennerei-fruehling-2.jpg': {},
                'obst-brennerei-fruehling-3.jpg': {}
            };
    }

}

function GetSeason() {

    var today = new Date();
    var month = today.getMonth();

    if ((month >= 3) && (month < 6)) {
        return eSeason.Spring;
    } else if ((month >= 6) && (month < 8)) {
        return eSeason.Summer;
    } else if ((month >= 8) && (month < 12)) {
        return eSeason.Autumn;
    } else {
        return eSeason.Winter; 
    }
}


