// Tonen van de slider pijlen
$(document).ready(function() {
    $(".prevTrigger span").hide();
    
    $(".prevTrigger").hover(function() {
        $(".prevTrigger span").show();
    }, function() {
        $(".prevTrigger span").hide();
    });
});

$(document).ready(function(){
       
        //Verticaal uitlijnen fix
        $(window).resize(function() {
            if($(window).height() < '520') {
                $('#wrapper').css("margin-top","20px");
                $('#wrapper').css("top","0");
            } else {
                $('#wrapper').css("margin-top","-240px");
                $('#wrapper').css("top","50%");
            }

            if($(window).width() < '960') {
                $('#wrapper').css("margin-left","0px");
                $('#wrapper').css("left","0");
            } else {
                $('#wrapper').css("margin-left","-480px");
                $('#wrapper').css("left","50%");
            }
        });
        
        //Zoek formulier uitklapper
        $('#zoeken').click(function() {
            $('#zoekform').show(750);
        });
        
       
        // Fade effect op hover van de pdf knop
        $("#pdfinfo a").hover(function() {
                $(this).animate({backgroundPosition: '0px -16px'},{queue:false,duration:250});
            } , function() {
                $(this).animate({backgroundPosition: '0px 0px'},{queue:false,duration:250});
	});

  	//Case slider
        // Let erop bij het aanpassen, dat de benaming van up en down en prev en next verwarrend kan werken.
        // Omdat er bij een aanpassing de functionaliteit precies andersom is gezet.
   	
        $("#caseSlides .caseSlide").each(function(index){
                if(index < 9) {var number = "0"+(index + 1);}
                else {var number = index + 1;}
                $(".sliderBtns .caseTotal").html(number);
        });
        
        var countSlides = function() {
            $(".caseProjectSlides .current .caseSlideVert").each(function(index){
                    if(index < 9) {var number = "0"+(index + 1);}
                    else {var number = index + 1;}
                    
                    if($(this).hasClass("currentVert")) {
                       $(".sliderBtns .caseCurrent").html(number);
                    }
                    
                    $(".sliderBtns .caseTotal").html(number);
            });
        }
        countSlides();

        $("span.triggers").each(function(){
            $("span.triggers").show();
        });
        
   	var displayArrows = function(newContent) {
            if(newContent) {
                var new_content = newContent;
                var currentId = new_content;
             } else {
                 var new_content = "#caseSlides .current";
                 var currentId = "#"+$(new_content).attr("id");
             }
             var vertSlides = 0;
             
             $(currentId +" .caseSlideVert").each(function(index){
                vertSlides = index + 1;
             });
             
             if(vertSlides > 1) {
                 $('span.triggersVert').fadeIn(1000);
             } else {
                 $("span.triggersVert").hide();
             }
        };
        
   	var displayArrowsProjects = function() {
             var new_content = "#caseSlides .caseSlide";
             var slides = 0;
             
             $(new_content).each(function(index){
                slides = index + 1;
             });
             if(slides > 1) {
                 $('span.triggers').fadeIn(1000);
             } else {
                 $("span.triggers").hide();
             }
        };

        var slideInfoSwitch = function(newContent) {
            if(newContent) {
                var new_content = newContent;
             } else {
                 var new_content = "#caseSlides .current";
             }

             var slideInfo = $(new_content).find(".slideInfo").html();
             $("#afbinfo").html(slideInfo);
             $('#afbinfo').hide();
             $('#afbinfo').fadeIn(1000, function() {});

             var slidePdf = $(new_content).find(".slidePdf").html();
             $("#pdfinfo a").attr("href" ,slidePdf);
             
             if(slidePdf == '/uploads/dps/_' || slidePdf == '/uploads/projecten/_' || slidePdf == '/uploads/nieuws/_' || slidePdf == '/uploads/bureau/_') {
                $('#pdfinfo').hide();
             } else {
                $('#pdfinfo').fadeIn(1000);
             }
        };

       displayArrows();
       displayArrowsProjects();
       slideInfoSwitch();

        $("#caseSlides .caseSlide").each(function(index){
                if(index < 9) {var numberKey = "0"+(index + 1);}
                else {var numberKey = index + 1;}

                totalNumber = numberKey;
        });
        if(totalNumber > 01) {
                var caseSlideFunction = function(swipeDirection) {

                        var sliderContainer             = ".caseContainer";
                        var sliderHolder 		= "#caseSlides";
                        var slideClass			= ".caseSlide";
                        var currentClass		= ".current";
                        var slideHeight			= "430";
                        var slideHeightPix		= slideHeight+"px";
                        var slideHeightMin		= "-"+slideHeightPix;
                        var slideEasing			= "easeOutExpo";
                        var slideTime			= 1000;

                        if($(this).hasClass("previous") || (swipeDirection == 'down') || (swipeDirection == 38) ) {
                                if($(sliderHolder +" "+ currentClass).index() == 0)
                                {
                                        var new_content = "#"+$(sliderHolder +" "+ slideClass).last().attr("id");
                                        $(new_content).css("top", slideHeightMin);
                                }
                                else {
                                        var new_content = "#"+$(sliderHolder +" "+ currentClass).prev(slideClass).attr("id");
                                }
                        }
                        else if($(this).hasClass("next") || (swipeDirection == 'up') || (swipeDirection == 40)) {
                                if($(sliderHolder +" "+ currentClass).index() == $(sliderHolder +" "+ slideClass).last().index())
                                {
                                        var new_content = "#"+$(sliderHolder +" "+ slideClass).first().attr("id");
                                        $(new_content).css("top", slideHeightPix);
                                }
                                else {
                                        var new_content = "#"+$(sliderHolder +" "+ currentClass).next(slideClass).attr("id");
                                }
                        }
                        else {
                                if($(sliderHolder +" "+ currentClass).index() == $(sliderHolder +" "+ slideClass).last().index())
                                {
                                        var new_content = "#"+$(sliderHolder +" "+ slideClass).first().attr("id");
                                        $(new_content).css("top", slideHeightPix);
                                }
                                else {
                                        var new_content = "#"+$(sliderHolder +" "+ currentClass).next(slideClass).attr("id");
                                }
                        }

                        if(!$(new_content).hasClass("current")) {
                                if(!$(sliderHolder +" "+ slideClass).is(":animated")) {

                                    var new_content_vert = new_content +" .caseSlideVert";
                                    $(new_content_vert).each( function() {
                                       $(this).removeClass("currentVert");
                                       //$(this).css("top", "0px");
                                       $(this).css("left", "700px");
                                    });

                                    $(new_content_vert).first(".caseSlideVert").addClass("currentVert").css("left", "0px");

                                    $("#afbinfo").html("");
                                        if($(new_content).css("top") == slideHeightMin) {
                                                $(sliderHolder +" "+ currentClass).animate({
                                                        top: slideHeight
                                                        },{
                                                duration: slideTime,
                                                easing: slideEasing,
                                                complete: function() {
                                                                //$(this).removeAttr("style").removeClass("current");
                                                                $(this).removeClass("current");
                                                                $(this).css("top", slideHeightPix);
                                                        }
                                                });

                                                $(new_content).animate({
                                                        top: "0"
                                                        },{
                                                duration: slideTime,
                                                easing: slideEasing,
                                                complete: function() {
                                                                $(new_content).addClass("current");
                                                                $(new_content).css("top", "0");
                                                                $(new_content).nextAll(slideClass).css("top", slideHeightPix);
                                                                $(new_content).prevAll(slideClass).css("top", slideHeightMin);
                                                                slideInfoSwitch(new_content);
                                                                countSlides();
                                                        }
                                                });
                                        }
                                        else {
                                                $(sliderHolder +" "+ currentClass).animate({
                                                        top: "-430"
                                                        },{
                                                duration: slideTime,
                                                easing: slideEasing,
                                                complete: function() {
                                                                //$(this).removeAttr("style").removeClass("current");
                                                                $(this).removeClass("current");
                                                                $(this).css("top", slideHeightMin);
                                                        }
                                                });
                                                $(new_content).animate({
                                                        top: "0"
                                                        },{
                                                duration: slideTime,
                                                easing: slideEasing,
                                                complete: function() {
                                                                $(new_content).addClass("current");
                                                                $(new_content).css("top", "0");
                                                                $(new_content).nextAll(slideClass).css("top", slideHeightPix);
                                                                $(new_content).prevAll(slideClass).css("top", slideHeightMin);
                                                                slideInfoSwitch(new_content);
                                                                countSlides();
                                                        }
                                                });
                                        }

                                        var currentIndex = $(new_content).index();

                                        $(".caseProjectSlides").each(function(){
                                                currentIndex = $(new_content_vert).index();
                                        });

                                        if(currentIndex < 9) {
                                                var currentNumber = "0"+(currentIndex + 1);
                                        }
                                        else {
                                                var currentNumber = currentIndex + 1;
                                        }
                                        $(".sliderBtns .caseCurrent").html(currentNumber);

                                        displayArrows(new_content);
// Submenu, aanpassen uitgezet
//                                        $(".submenu li a").each( function() {
//                                           $(this).removeClass("active");
//                                           $(".submenu li span").detach();
//                                        });
//                                        $(".subsubmenu li a").each( function() {
//                                           $(this).removeClass("active");
//                                           $(".subsubmenu li span").detach();
//                                        });
//                                        var pageIdHolder = new_content + " .slideId";
//                                        var currentMenu = "#menu"+$(pageIdHolder).html();
//                                        $("<span>&rsaquo;</span>").insertBefore(currentMenu);
//                                        $(currentMenu).addClass("active");
                                }
                        }
                        return false;
                };
                $(".caseSlider .triggers a").click(caseSlideFunction);                
        }
        
        // Swipe functie toegevoegd, plugin via http://labs.skinkers.com/touchSwipe/
            var swipeOptions= {
            swipe:swipe,
            threshold:0
        }

        $(function() {
            $("#caseSlides").swipe( swipeOptions );
        });

        function swipe(event, direction) {
            if(direction == 'up') {
                caseSlideFunction(direction);
            }
            if(direction == 'down') {
                caseSlideFunction(direction);
            }
            if(direction == 'left') {
                caseVertSlideFunction(direction);
            }
            if(direction == 'right') {
                caseVertSlideFunction(direction);
            }
        }
        
        // Key functie toegevoegd
        $(document).keydown(function(e){
            if(e.keyCode == 37) {
                caseVertSlideFunction(e.keyCode);
            }
            if(e.keyCode == 39) {
                caseVertSlideFunction(e.keyCode);
            }
            if(e.keyCode == 38) {
                caseSlideFunction(e.keyCode);
            }
            if(e.keyCode == 40) {
                caseSlideFunction(e.keyCode);
            }
        });
        
        // Mouse functie toegevoegd, alleen bij boven en beneden paginas
        $('.caseSlideVert').bind('mousewheel', function(event, deltaX, deltaY) {
            //alert(deltaX+" | "+deltaY);
            if(deltaX > 0 && deltaY == 0) {
                caseSlideFunction("down");
            }
            if(deltaX < 0 && deltaY == 0) {
                caseSlideFunction("up");
            }
            if(deltaY > 0) {
                caseVertSlideFunction("left");
            }
            if(deltaY < 0) {
                caseVertSlideFunction("right");
            }
        });

        totalNumberHor = 01
        //Check of er genoeg slides onder zitten, anders word de functie niet aangeroepen.
        $("#caseSlides .current .caseSlideVert").each(function(index){
                if(index < 9) {var numberKeyHor = "0"+(index + 1);}
                else {var numberKeyHor = index + 1;}

                totalNumberHor = numberKeyHor;
        });
        if(totalNumberHor > 01) {
            var caseVertSlideFunction = function(swipeDirection) {

                    var sliderContainer             = ".caseSlider";
                    var sliderHolder                = ".current";
                    var slideClass                  = ".caseSlideVert";
                    var currentClass                = ".currentVert";
                    var slideWidth                  = "700";
                    var slideWidthPix               = slideWidth+"px";
                    var slideWidthMin               = "-"+slideWidthPix;
                    var slideEasing                 = "easeOutExpo";
                    var slideTime                   = 650;

                    if($(this).hasClass("up") || (swipeDirection == 'right') || (swipeDirection == 37)) {

                            if($(sliderHolder +" "+ currentClass).index() == 0)
                            {
                                    var new_content = "#"+$(sliderHolder +" "+ slideClass).last().attr("id");
                                    $(new_content).css("left", slideWidthMin);
                            }
                            else {
                                    var new_content = "#"+$(sliderHolder +" "+ currentClass).prev(slideClass).attr("id");
                            }
                    }
                    else if($(this).hasClass("down") || (swipeDirection == 'left') || (swipeDirection == 39)) {
                            if($(sliderHolder +" "+ currentClass).index() == $(sliderHolder +" "+ slideClass).last().index())
                            {
                                    var new_content = "#"+$(sliderHolder +" "+ slideClass).first().attr("id");
                                    $(new_content).css("left", slideWidthPix);
                            }
                            else {
                                    var new_content = "#"+$(sliderHolder +" "+ currentClass).next(slideClass).attr("id");
                            }
                    }
                    else {
                            if($(sliderHolder +" "+ currentClass).index() == $(sliderHolder +" "+ slideClass).last().index())
                            {
                                    var new_content = "#"+$(sliderHolder +" "+ slideClass).first().attr("id");
                                    $(new_content).css("left", slideWidthPix);
                            }
                            else {
                                    var new_content = "#"+$(sliderHolder +" "+ currentClass).next(slideClass).attr("id");
                            }
                    }

                    if(!$(new_content).hasClass("currentVert")) {
                            if(!$(sliderHolder +" "+ slideClass).is(":animated")) {
                                $("#afbinfo").html("");
                                    if($(new_content).css("left") == slideWidthMin) {
                                            $(sliderHolder +" "+ currentClass).animate({
                                                    left: slideWidth
                                                    },{
                                            duration: slideTime,
                                            easing: slideEasing,
                                            complete: function() {
                                                            //$(this).removeAttr("style").removeClass("currentVert");
                                                            $(this).removeClass("currentVert");
                                                            $(this).css("left", slideWidthPix);
                                                    }
                                            });

                                            $(new_content).animate({
                                                    left: "0"
                                                    },{
                                            duration: slideTime,
                                            easing: slideEasing,
                                            complete: function() {
                                                            $(new_content).addClass("currentVert");
                                                            $(new_content).css("left", "0");
                                                            $(new_content).nextAll(slideClass).css("left", slideWidthPix);
                                                            $(new_content).prevAll(slideClass).css("left", slideWidthMin);
                                                            slideInfoSwitch(new_content);
                                                    }
                                            });
                                    }
                                    else {
                                            $(sliderHolder +" "+ currentClass).animate({
                                                    left: "-700"
                                                    },{
                                            duration: slideTime,
                                            easing: slideEasing,
                                            complete: function() {
                                                            //$(this).removeAttr("style").removeClass("currentVert");
                                                            $(this).removeClass("currentVert");
                                                            $(this).css("left", slideWidthMin);
                                                    }
                                            });
                                            $(new_content).animate({
                                                    left: "0"
                                                    },{
                                            duration: slideTime,
                                            easing: slideEasing,
                                            complete: function() {
                                                            $(new_content).addClass("currentVert");
                                                            $(new_content).css("left", "0");
                                                            $(new_content).nextAll(slideClass).css("left", slideWidthPix);
                                                            $(new_content).prevAll(slideClass).css("left", slideWidthMin);
                                                            slideInfoSwitch(new_content);
                                                    }
                                            });
                                    }
                                    var currentIndex = $(new_content).index();
                                    if(currentIndex < 9) {
                                            var currentNumber = "0"+(currentIndex + 1);
                                    }
                                    else {
                                            var currentNumber = currentIndex + 1;
                                    }
                                    $(".sliderBtns .caseCurrent").html(currentNumber);
                                    
                                    // Bij een slide de legenda laten verdwijnen
                                    $("#navPijlen img").hide();
                                    $(".tooltip").hide();
                            }
                    }
                    return false;
            };
            $(".caseSlider .triggersVert a").click(caseVertSlideFunction);

            if($("#case_0").hasClass("sliderHome")) {
                var intervalTime = 7000;
                var interval = setInterval(caseVertSlideFunction, intervalTime);
                $(".caseSlider").mouseover(function() {
                        clearInterval(interval);
                });

                $(".caseSlider").mouseleave(function() {
                        interval = setInterval(caseVertSlideFunction, intervalTime);
                });
            }
        }
        
});
