/**
 * Created by JetBrains PhpStorm.
 * User: Giel Berkers
 * Date: 4-3-11
 * Time: 16:03
 * To change this template use File | Settings | File Templates.
 */

var timeOutID  = -1;
var currentSub = null;
var currentSlide = 0;
var slideTimeOutID = -1;

/*
Cufon.replace("#top nav.main > ul > li > a");
Cufon.replace("#main h1:not(div.black h1), #main h2", {textShadow: '#fff 0px 1px, #333 0px -1px'});
Cufon.replace("#main div.bars div.black h1", {textShadow: '#ccc 0px 1px, #333 0px -1px'});
*/
// Cufon.replace("#slideshow div.info p.header");

$(function(){
    // Lineheight op 0 zetten voor de gecufonde items:
    // $("#top nav.main > ul > li > a, #main h1:not(div.black h1), #main h2, #main div.bars div.black h1").css({lineHeight: 0});

    // Searchform, bovenaan de pagina:
    var searchText = $("#top form input[type=text]").val();

    $("#top form input[type=text]").focus(function(){
        if($(this).val() == searchText) {
            $(this).val('');
            $("#search").show();
            $("#search div.zebra").html('<p><em>Begin met typen voor live zoekresultaten.</em></p>')
        }
    }).blur(function(){
        if($(this).val() == '')
        {
            $(this).val(searchText);
            $("#search").hide();
        }
    });
    
    // Navigatie submenu:
    // Dit wordt gedaan door de unordered list 1-op-1 te kopie�ren naar nav.sub:
    $("nav.main > ul > li").hover(function(){
        $(this).addClass("hover");
        // Cufon.replace('nav.main > ul > li > a');
        if($("ul", this).length > 0)
        {
            if(currentSub != null) {
                currentSub.removeClass("sub");
                // Cufon.replace('nav.main > ul > li > a');
            }
            currentSub = $(this);
            currentSub.addClass("sub");
            $("nav.sub div.inner").html('<ul>' + $("ul", this).html() + '</ul>');
            $("nav.sub div.inner li").hover(function(){
                $(this).addClass("hover");
            }, function(){
                $(this).removeClass("hover");
            }).click(function(){
                window.location = $("a", this).attr("href");
            });
            clearTimeout(timeOutID);
            $("nav.sub").stop().animate({height: 80}, 250);  // Was 134
        } else {
            hideSub();
        }
    }, function(){
        $(this).removeClass("hover");
        // Cufon.replace('nav.main > ul > li > a');
        timeOutID = setTimeout("hideSub()", 500);
    });
    $("nav.sub").hover(function(){
        clearTimeout(timeOutID);
    }, function(){
        timeOutID = setTimeout("hideSub()", 500);
    });

    // Formulieren validatie:
    $("form.validate").submit(function(){
        var ok = true;
        $("input.required, textarea.required", this).each(function(){
            if($(this).val() == '') {
                ok = false;
                $(this).addClass("error");
            } else {
                $(this).removeClass("error");
            }
        });
        if(!ok) {
            alert('Niet alle verplichte velden zijn ingevuld!');
            return false;
        }
    });

    // Zebra list:
/*
    $("div.zebra li").each(function(){
        if($("a", this).length == 1)
        {
            $(this).hover(function(){
                $(this).addClass("hover");
            }, function(){
                $(this).removeClass("hover");
            }).click(function(e){
                if($(this).hasClass("link"))
                {
                    window.location = $("a", this).attr("href");
                } else {
                    $("a", this).click();
                }
            });
        }
    });
*/
    
    // Externe links:
    $("a[rel=external]").click(function(){
        window.open(this.href);
        return false;
    });

    // Downloads list:
    $("ul.downloads li").hover(function(){
        $(this).addClass("hover");
    }, function(){
        $(this).removeClass("hover");
    }).click(function(){
        window.location = $("a", this).attr("href");
    });

    // Footer onderaan plaatsen als het document kleiner is als het venster:
    $(window).resize(function(){
        $("#main").css({minHeight: 0});
        var h = $(window).height() - (360 + 103);
        if($("#main").height() < h)
        {
            $("#main").css({minHeight: h});
        }
    }).resize();

    // Mensen:
    $("#mensen div.info:first, #mensen div.image:first span.arrow").show();
    $("#mensen div.image").click(function(){
        $("#mensen div.info").hide();
        $("#mensen div.image span.arrow").hide();
        var id = $(this).attr("id").replace("mens-", '');
        $("#info-" + id).show();
        $("span.arrow", this).show();
        return false;
    });

    // Live search:
    $("#search a.close").click(function(){
        $("#search").hide();
        $("#top form input[type=text]").val(searchText).blur();
        return false;
    });
    $("#top form input[type=text]").keyup(function(){
        var query = $(this).val();
        if(query.length > 2)
        {
            $("#search div.zebra").html('<img src="/workspace/assets/images/ajax-loader-small.gif" alt="loader" width="16" height="16" />')
            $("#search div.zebra").load('/zoeken/live/?keywords=' + query, function(){

            });
        } else {
            $("#search div.zebra").html('<p><em>Uw zoekopdracht dient minstens 3 karakters lang te zijn.</em></p>')
        }
    });
    overruleZebraList($("#search div.zebra ul"));

    // Contact formulier:
    $("select.anders").change(function(){
        if($("option:selected", this).hasClass("anders")) {
            $("input.anders").show();
        } else {
            $("input.anders").hide();
        }
    });

    // Slideshow:
    $("#slideshow div.slide:first").show();
    $("#slideshow div.bullits a:first").addClass("active");
    $("#slideshow a.next").click(function(){
        showSlide(currentSlide + 1);
        clearTimeout(slideTimeOutID);
        slideTimeOutID = setInterval("nextSlide()", 5000);
        return false;
    });
    $("#slideshow a.prev").click(function(){
        showSlide(currentSlide - 1);
        clearTimeout(slideTimeOutID);
        slideTimeOutID = setInterval("nextSlide()", 5000);
        return false;
    });
    $("#slideshow div.bullits a").click(function(){
        showSlide($(this).attr("rel") - 1);
        clearTimeout(slideTimeOutID);
        slideTimeOutID = setInterval("nextSlide()", 5000);
        return false;
    });
    if($("#slideshow").length == 1)
    {
        slideTimeOutID = setInterval("nextSlide()", 5000);
    }
    
    // Read more:
    $("a.read-more").click(function(){
        if($("div.more").hasClass('expanded'))
        {
            $("div.more").slideUp().removeClass('expanded');
            $(this).text('lees meer »');
        } else {
            $("div.more").slideDown().addClass('expanded');
            $(this).text('« lees minder');
        }
        return false;
    });
});

/**
 * For the timeout
 */
function nextSlide()
{
    showSlide(currentSlide + 1);
}

/**
 * Show a specific slide
 * @param nr    The nr of the slide
 */
function showSlide(nr)
{
    var direction = nr > currentSlide ? -1 : 1;
    var l = $("#slideshow div.slide").length;
    var toLeft = 940 * direction;
    $("#slideshow div.slide:eq(" + currentSlide + ")").stop().animate({left: toLeft, opacity: 0});
    currentSlide = nr;
    if(currentSlide >= l) { currentSlide = 0; }
    if(currentSlide < 0) { currentSlide = l - 1; }
    $("#slideshow div.slide:eq(" + currentSlide + ")").stop().show().css({left: -toLeft, opacity: 0}).animate({left: 0, opacity: 1});
    $("#slideshow div.bullits a").removeClass("active");
    $("#slideshow div.bullits a:eq(" + currentSlide + ")").addClass("active");
}


/**
 * Overrule de CSS-zebra list als er een li.header in voorkomt
 */
function overruleZebraList(list)
{
    // $("li", list).css({background: "none"});
    var counter = 0;
    $("li", list).each(function(){
        if($(this).hasClass("header"))
        {
            counter = 0;
        } else {
            if(counter % 2 == 0) {
                $(this).addClass("even");
            } else {
                $(this).addClass("odd");
            }
            counter++;
        }
    });
}

/**
 * Verberg het submenu
 */
function hideSub()
{
    clearTimeout(timeOutID);
    $("nav.sub").stop().animate({height: 0}, 250);
    if(currentSub != null)
    {
        currentSub.removeClass("sub");
    }
    // Cufon.replace('nav.main > ul > li > a');
}

// Google analytics:
var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-28647458-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
