/** 
 * Überprüfe ob Javascript aktiviert, wenn ja, entferne Klasse noJs im Body Element 
 * **/
var checkJs = {
    noJsClass : 'noJs',
    init : function () {
        if ($('body').attr('class') !== this.noJsClass) {
            $('body').removeClass(this.noJsClass);
        } else {
            $('body').removeAttr('class');
        }
    }
};checkJs.init();

/** 
 * li:hover Problem in älteren Browsern 
 * **/
var liHover = {
    overClass : 'over',
    listWrapper : null,
    init : function (a) {
        this.listWrapper = a + ' li';
        
        $(this.listWrapper).hover(function(){
            liHover.hoverLi($(this));
        }, function(){
            liHover.unhoverLi($(this));
        });       
    },
    hoverLi : function (a) {
        a.addClass(this.overClass);
        return true;
    },
    unhoverLi : function (a) {
        if (a.hasClass('active')!== true && a.hasClass('last') !== true && a.hasClass('first') !== true) {
            a.removeAttr('class');
        } else {
            a.removeClass(this.overClass);
        }
        return true;
    }
};liHover.init('#mainNav');

/** 
 * Slideshow im Header 
 * **/
var slider = {
    baseFolder : 'images/slider/',
    wrapper : '#slider',
    slideTime : 2500,
    holdTime : 5000,
    init : function (a, b) {
        this.slideTime = a;
        this.holdTime = b;
        slider.getImages();
    },
    getImages : function () {
        $.getJSON('images/slider/slider.json', function(data) {
            var items = [];
    
            $.each(data, function(key, val) {
                items.push('<img class="posAbs" alt="' + key + '" src="' + slider.baseFolder + val + '"/>');
            });
               
            for (var i = 0, c = items.length; i < c; i++ ) {
                $(slider.wrapper).append(items[i]);
            }  

            setInterval( "slider.slide(slider.wrapper)", slider.holdTime );
        });            
    },
    slide : function (a) {
        var active = $(a +' img.active');

        if ( active.length == 0 ) {active = $(a +' img:last')};

        var next =  active.next().length ? active.next() : $(a +' img:first');

        active.addClass('lastActive');

        next.css({opacity: 0.0})
            .addClass('active')
            .animate({opacity: 1.0}, slider.slideTime, function() {
                active.removeClass('active lastActive');
        });
    }
};slider.init(2500, 5000);//param1 = Zeit beim Sliden, param2 = Zeit zwischen den Slides

