// De tijd die een afbeelding zichtbaar blijft
var duurTussenCarrouselCrossfade = 8000;

// De fade snelheid. Voor IE is dit op 0 gezet, aangezien daar een bug leeft
// die rare witte puntjes over de afbeeldingen spreid bij een vloeiende crossfade.
// Deze bug wordt ook wel de 'Cor Bakker roos' bug genoemd, vanwege de plek
// van de puntjes op de Cor Bakker afbeelding
var carrouselFadeSnelheid = ($.browser.msie) ? 0 : 2000;

/**
 *
 */
function initializeerHomeMenu() {
    var WACHTTIJD_VOOR_MENU_UITKLAPPEN = 500;
    var MENU_FADE_DUUR = 250;
    var menuUitgeklapt = false;
    var inUitgeklaptMenu = 0;
    
    var actieveMenuLink;
    
    var toonMenuUitgeklapt = function() {
        if (actieveMenuLink) {
            //if (!menuItemUitgeklapt) {
            inUitgeklaptMenu = 0;
            $(".homemenu_uitgeklapt").fadeOut();
            var menuItem = actieveMenuLink.parents(".homemenu_item");
            var id = menuItem.attr("id");
            var idUitgeklapt = id + "_uitgeklapt";
            var menuItemUitgeklapt = $("#" + idUitgeklapt);
            menuItemUitgeklapt.fadeIn(MENU_FADE_DUUR);
            //$(".homemenu_uitgeklapt", homeMenuItem).fadeIn(250);
            menuUitgeklapt = true;
        }
    };
    
    $("#homemenu .homemenu_link").hover(
        function() {
            actieveMenuLink = $(this);
            setTimeout(toonMenuUitgeklapt, WACHTTIJD_VOOR_MENU_UITKLAPPEN);
        },
        function() {
            actieveMenuLink = null;
        }

    );
    
    $(".homemenu_uitgeklapt_element").hover(
        function() {
            inUitgeklaptMenu++;
        },
        function() {
            inUitgeklaptMenu--;
            if (inUitgeklaptMenu <= 0) {
                var menu = $(this).hasClass("homemenu_uitgeklapt") ? $(this) : $(this).parents(".homemenu_uitgeklapt");
                menu.fadeOut(MENU_FADE_DUUR);
                menuUitgeklapt = false;
            }
        }
    );
    
    $(".homemenu_uitgeklapt").mouseleave(function() {
        
    });
    
    var inMenu = false, inUitgeklaptMenu = false;
    if (false/*$.browser.msie*/) {
        var overlayFixer = function() {
            if (inMenu || inUitgeklaptMenu) {
                $("#home .overlay").fadeOut(300);
            } else {
                $("#home .overlay").fadeIn(300);
            }
        }
        $("#homemenu").hover(
            function() {
                inMenu = true;
                overlayFixer();
            },
            function() {
                inMenu = false;
                overlayFixer();
            }
            );
        $(".homemenu_uitgeklapt").hover(function() {
            inUitgeklaptMenu = true;
            overlayFixer();
        }, function() {
            inUitgeklaptMenu = false;
            overlayFixer();
        }
        );
    }
}
/**
 * Zet de teksten van de overlay op basis van de huidige carrousel item
 */
function zetCarrouselItemTeksten(carrouselItem) {
    var tekst1 = $(".tekst_1", carrouselItem).text();
    var tekst2 = $(".tekst_2", carrouselItem).text();
    var url = $(".link", carrouselItem).attr("href");
    
    if ((tekst1 && tekst1 != '') || (tekst2 && tekst2 != '')) {
        $("#home .overlay .tekst_1").text(tekst1);
        $("#home .overlay .tekst_2").text(tekst2);
        $("#home .overlay").attr("href", url);
        $("#home .overlay").show();
    } else {
        $("#home .overlay").hide();
    }

    var heeftURL = (url && url != '');
    if (heeftURL) {
        $("#home .overlay").css("cursor", "pointer");
        carrouselItem.css("cursor", "pointer");
    } else {
        $("#home .overlay").css("cursor", "default");
        carrouselItem.css("cursor", "default");
    }
}

/**
 * 
 */
function initializeerHomeCarrousel() {
    
    // De crossfade tussen alle carrousel items wordt pas gestart als
    // alle afbeeldingen zijn geladen.
    var aantalGeladen = 0;
    var items = $("#home .carrousel .carrousel_item");
    var aantal = items.size();
    items.each(function() {
        //var item = $(this);
        var afbeeldingURL = $(".afbeeldingURL", this).attr("href");
        var afbeelding =  $(".afbeelding", this);
        afbeelding.load(function() {
            aantalGeladen++;
            if (aantalGeladen == aantal) {
                $("#home .carrousel").innerfade({
                    callbackAfter: function(huidige, vorige) {
                        zetCarrouselItemTeksten(huidige);
                    },
                    animationtype: "fade",
                    children: ".carrousel_item",
                    //runningclass: CSS-Class which the container get’s applied (Default: 'innerfade')
                    speed: carrouselFadeSnelheid,//Fadingspeed in milliseconds or keywords (slow, normal or fast)(Default: 'normal'),
                    timeout: duurTussenCarrouselCrossfade,//Time between the fades in milliseconds (Default: '2000'),
                    type: "sequence",//Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'),
                    containerheight: "100%" //Height of the containing element in any css-height-value (Default: 'auto')
                });
                initializeerBannerCarrousel();
            }
        });
        afbeelding.attr("src", afbeeldingURL);
    });

    var openURL = function(url) {
        if (url && url != '') {
            var opties =
            "width=800, height=600,"
            + "screenX=100, screenY=100, "
            + "toolbar=yes, location=yes, directories=yes, "
            + "status=yes, menubar=yes, scrollbars=yes, resizable=yes"
            ;
            var titel = "";
            //alert("Open url: " + url + "\n" + opties);
            window.open(url, titel, opties);
        }
    };
    $("#home .overlay").click(function() {
        var url = $(this).attr("href");
        openURL(url);
        return false;
    });

    var carrouselItems = $("#home .carrousel_item");
    carrouselItems.click(function() {
        var url = $(".link", $(this)).attr("href");
        openURL(url);
    });
    // Initializeer eerste carrousel item, zodat je wat ziet voordat de crossfading start
    if (carrouselItems.size() > 0) {
        var eersteItem = carrouselItems.eq(0);
        var afbeeldingURL = $(".afbeeldingURL", eersteItem).attr("href");
        var afbeelding =  $(".afbeelding", eersteItem);
        afbeelding.load(function() {
            eersteItem.fadeIn(200);
        });
        zetCarrouselItemTeksten(eersteItem);
        afbeelding.attr("src", afbeeldingURL);
    }
}

function initializeerBannerCarrousel() {
    $("#home_banner_midden .banner_midden_carrousel").innerfade({
        animationtype: "fade",
        children: ".carrousel_item",
        //runningclass: CSS-Class which the container get’s applied (Default: 'innerfade')
        speed: carrouselFadeSnelheid,//Fadingspeed in milliseconds or keywords (slow, normal or fast)(Default: 'normal'),
        timeout: duurTussenCarrouselCrossfade,//Time between the fades in milliseconds (Default: '2000'),
        type: "sequence",//Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'),
        containerheight: "100%" //Height of the containing element in any css-height-value (Default: 'auto')
    });
}