function log (msg) {
  if(typeof (console) != 'undefined'){
      console.log("%s: %o", msg, this);
  }
}

/****** navigation inkl. hoverintent ******/

$(function(){
    $("body").addClass("hasJS");
    $("#navigation>ul>li").each(function () {
        $(this).hoverIntent({
            over: function () {
                $(this).addClass("hover");
            },
            timeout: 300,
            out: function () {
                $(this).removeClass("hover");
            }
        });
    });

    /****** verschiedene nyroModal-popups ******/

    $("a.nyroModal").nyroModal( {bgColor: '#002D5A', zIndexStart: 2000} ); 
    $("a.nyroModal.newsletter").nyroModal( {type: 'iframe', bgColor: '#002D5A', width: 560, minHeight:430, zIndexStart: 2000} );
    $("a.nyroModal.impressum").nyroModal( {type: 'iframe', bgColor: '#002D5A', width: 630, minHeight:650, zIndexStart: 2000} ); 

    if ($('a.nyroModal.kontakt').length) {
        $("a.nyroModal.kontakt").nyroModal( {type: 'iframe', bgColor: '#002D5A', width: 580, minHeight:570, zIndexStart: 2000} ); 
        $("a.nyroModal.anfahrt").nyroModal( {type: 'iframe', bgColor: '#002D5A', width: 650, minHeight: 420, zIndexStart: 2000} );
    }

    if ($('a.nyroModal.mitarbeiter').length) {
        $("a.nyroModal.mitarbeiter").nyroModal( {bgColor: '#002D5A', zIndexStart: 2000, width: 720} ); 
    }

    /****** suchfeld bei focus sichtbar ******/

    $("input#we_lv_search_0").focus(function() {
        $(this).parents("li.hover").addClass("stayOpen");
    });
    $("input#we_lv_search_0").blur(function() {
        $(this).parents("li.stayOpen").removeClass("stayOpen");
    });

    /****** nivoslider für slideshow ******/

    if ($('#slider1').length) {
        $('#slider1').nivoSlider({ pauseTime:5000, pauseOnHover:false, effect:'fade', animSpeed:300, controlNav:false, directionNav:false});
    } 

});



/********************************** page-Flip **********************************/
        jQuery(document).ready(function() {
            $('.prev').removeAttr('href').css('cursor', 'pointer');
            $('.next').removeAttr('href').css('cursor', 'pointer');
            $('#next').bind('click', function(e){
                flipPage('next');
                e.preventDefault();
            });
            $('#prev').bind('click', function(e){
                flipPage('prev');
                e.preventDefault();
            });
        });

    flipEasing = Math.floor(Math.random() * 4);
    //flipEasing = 2;
    if (flipEasing == 0){
        var flipEasing = 'easeInOutBack';
    }else if (flipEasing == 1){
        var flipEasing = 'easeOutBounce';
    }else if (flipEasing == 2){
        var flipEasing = 'easeInOutExpo';
    }else if (flipEasing == 3){
        var flipEasing = 'easeInOutElastic';
    }

    var pageFlipping = false;

    function flipPage(direction)
    {
        if (pageFlipping){
            return;
        }
        $('#flipInfo').fadeOut(400);

       
        if (direction == 'prev' && pageId > 0){
            pageFlipping = true;
            $('.prev').css('cursor', 'wait');
            pageId--;
            show(pageId);
            var newLeft = -1 * (pageId - minSeenPageId) * pageWidth + 'px';
            $('#content_main').animate({ left: newLeft }, animationDuration, flipEasing, function() { 
	            // Animation complete.
                hide((pageId  + 1));
                show(pageId);
                if (pageId <= minSeenPageId & pageId > 0){
                    loadPage(pageId-1, 'prev');
                }else{
                    pageFlipping = false;
                   $('.prev').css('cursor', 'pointer');
                }
            });
	    if (pageId < 1){
	        $('.prev').css('display', 'none');
            }

            $('.next').css('display', 'inline');
            newLeft = ((pageId - (minSeenPageId)) * (-1) * pageWidth) + 'px';
        }
        if (direction == 'next' && (pageId+1) < pages){
            $('.next').css('cursor', 'wait');
            //var newLeft = ((pageId - minSeenPageId + 1) * (-1) * pageWidth) + 'px';

            if(maxSeenPageId - minSeenPageId > 1 && pageId != 0){
                   newLeft = -2 * pageWidth + 'px';
            }else{
                   newLeft = -1 * pageWidth + 'px';
            }

//            newLeft = (pageId - maxSeenPageId ) * pageWidth + 'px';
/*            if(1 || axSeenPageId + 1 == pages){
                newLeft = -2 * pageWidth + 'px';
            } */

            pageId++;
            show(pageId);
            $('#content_main').animate({ left: newLeft }, animationDuration, flipEasing ,function() { 
                 // Animation complete.
                 hide((pageId -1));
                 show(pageId);
                 if (pageId >= maxSeenPageId && pageId < pages - 1){
                    loadPage(pageId+1, 'next');
                 }else{
                    $('.next').css('cursor', 'pointer');
                 }
            });
            if(pageId + 1 >= pages){
                $('.next').css('display', 'none');
            }
            $('.prev').css('display', 'inline');
        }
    }
    
    function hideAll(){
         $('.page').removeClass('visible').addClass('hidden');
     }

     function show(id){
         $('#page' + id).removeClass('hidden').addClass('visible');
     }

     function hide(id){
         $('#page' + id).addClass('hidden').removeClass('visible');
     }

     var loadingPage = false;

     function loadPage(id, direction)
     {  
        if (direction == '' || typeof(direction) == 'undefined'){
            return;
        }
        if(loadingPage == true) {
            window.setTimeout('loadPage("'+id+'", "'+direction+'")', 100);
            return;
        }
        loadingPage = true;

        $('#content_main').css('width', '3200px');

        if (direction == 'next' && id < pages){
            for(i = parseInt(maxSeenPageId) + 1; i <= id; i++){
                if( $('#page' + i).length > 0) {
                    continue;
                }
                url = 'http://' + window.location.hostname + '/de/' + baseUrl + '?' + controlVar + '=' + i + '&ajaxPreload=true';
                $.get(url, function (data){ 
                    if( $('#page' + i).length > 0) {
                        loadingPage = false;
                        pageFlipping = false;
                        $('.next').css('cursor', 'pointer');
                        return;   
                    }
                    $(data).appendTo('#content_main');
                    while(i - minSeenPageId > 3){
                        ++minSeenPageId;
                        $('#content_main .page:first').remove();
                        $('#content_main').css('left', (-1 * pageWidth) + 'px');
                        //minSeenPageId++;
                    }
	            $('#content_main .page:last').addClass('hidden').removeClass('visible');
                    loadingPage = false;
                    pageFlipping = false;
                    $('.next').css('cursor', 'pointer');
                    hideAll();
                    show(pageId);
                    $("a.nyroModal.mitarbeiter").nyroModal( {bgColor: '#002D5A', zIndexStart: 2000, width: 720} );

                });
            }
            maxSeenPageId = id;
        }
        if (direction == 'prev' && id >= 0){

            for(i = minSeenPageId - 1; i >= id; i--){
                if( $('#content_main > #page' + i).length > 0) {
                    continue;
                }
                url = 'http://' + window.location.hostname + '/de/' + baseUrl + '?' + controlVar + '=' + i + '&ajaxPreload=true';
                $.get(url, function (data){ 
                    if( $('#page' + i).length > 0) {
                        loadingPage = false;
                        pageFlipping = false;
                        return;   
                    }
                    newLeft = ( -1 * pageWidth) + 'px';
                    $(data).prependTo('#content_main');
                    $('#content_main').css('left', newLeft);
                    while(maxSeenPageId - minSeenPageId > 2){
                        maxSeenPageId--;
                        $('#content_main .page:last').remove();
                    }

                    loadingPage = false;
                    pageFlipping = false;
                    $('.prev').css('cursor', 'pointer');
                    hideAll();
                    show(pageId);
                    $("a.nyroModal.mitarbeiter").nyroModal( {bgColor: '#002D5A', zIndexStart: 2000, width: 720} );
                });
            }

            minSeenPageId = id;
        }
        if (typeof(direction) == 'undefined'){        
            url = 'http://' + window.location.hostname + '/de/' + baseUrl + '?' + controlVar + '=' + id + '&ajaxPreload=true';
            $.get(url, function (data){ 
            $(data).appendTo('#content_main').addClass('hidden').removeClass('visible');
            show(pageId);
            $('.next').css('cursor', 'pointer');
            $('.prev').css('cursor', 'pointer');
            });
            loadingPage = false;
        }
    }

jQuery(document).ready(function() {

    if (typeof pageId != "undefined"){
        if(pageId > 0){
            loadPage((pageId - 1), 'prev');
        }
        if(pageId < pages){
            loadPage((pageId + 1), 'next');
        }
    }
    if(typeof pages != "undefined" && pages < 2){
        $('.next').css('display', 'none');
    }

    window.setTimeout(function(){
        $('#flipInfo').fadeOut(400, 'swing');
     }, 5000
    );

    
});


