﻿//helper functions

function stop(e) {
	if (!e) e = window.event;
	(e.stopPropagation) ? e.stopPropagation() : e.cancelBubble = true;
	(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
	return false;
}

function prevDef(e) {
	if (!e) e = window.event;
	(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
	return false;
}    

function log(message) {
	if (typeof console != 'undefined' && typeof console.log != 'undefined') {
		console.log(message);
	}
};

$(document).ready(function () {

    //Remove noJs bodyclass
    $("body").removeClass("noJs").addClass("activeJs");
    //start slideShow
    jQuery("#slideShow").each(function () { jQuery(this).initSlideShow() })

    //Search input
    $('#inputsearch').example('Zoekterm...');
    $('.example1').example('Zoek opnieuw...');

    // accordion 
    $(".accordion").accordion({});

    //dropdown
    $("#subnav li").hover(function () {
        $(this).addClass("hover");
        $('ul:first', this).css('visibility', 'visible');
    }, function () {
        $(this).removeClass("hover");
        $('ul:first', this).css('visibility', 'hidden');
    });
    $("#subnav li ul li:has(ul)").find("a:first").append(" &raquo; ");

    //dropdown lerenwerken
    $("#subnav46 li").hover(function () {
        $(this).addClass("hover");
        $('ul:first', this).css('visibility', 'visible');
    }, function () {
        $(this).removeClass("hover");
        $('ul:first', this).css('visibility', 'hidden');
    });
    $("#subnav46 li ul li:has(ul)").find("a:first").append(" &raquo; ");
    // leerbedrijf ervaringen
    $("#interviews-list li").click(setMarginTop);
    //$("span.previous").click(function () { setMarginTopFromNav(event) });
    //$("span.next").click(function () { setMarginTopFromNav(event) });
    $("span.previous").click(setMarginTopFromNav);
    $("span.next").click(setMarginTopFromNav);
    setMarginTopFromQS();
    // leerbedrijf fancybox
    if ($.fn.fancybox) {
        $("a.word-leerbedrijf-button").fancybox();
        $("a.blijf-leerbedrijf-button").fancybox();
        $("a.button-link").fancybox();
    }
});




$(function () {
    var delay = 400;

    function hideMenu() {
        if (!$('.custom_button').data('in') && !$('.hover_menu').data('in') && !$('.hover_menu').data('hidden')) {
            $('.hover_menu').fadeOut('fast');
            $('.custom_button').removeClass('active');
            $('.hover_menu').data('hidden', true);
        }
    }

    $('.custom_button, .hover_menu').mouseenter(function () {
        $('.hover_menu').fadeIn('fast');
        $('.custom_button').addClass('active');
        $(this).data('in', true);
        $('.hover_menu').data('hidden', false);
    }).mouseleave(function () {
        $(this).data('in', false);
        setTimeout(hideMenu, delay);
    });

});

//slideshow

jQuery.fn.initSlideShow = function () {

	var slideShow = $(this);
	var slideWidth = slideShow.width();

	//calculate canvas width
	var totalslides = $(".slide", slideShow).length - 1;

	// only slide when there is more than 1 slide
	if (totalslides < 1) {
		$(".directaccess", slideShow).remove();
		return;
	}

	var canvasWidth = -(totalslides - 1) * slideWidth;
	var slideSpeed = 1;
	var WaitTime = 8;
	var timeUnit = 600; //timeUnit = seconds
	var speed = slideSpeed * timeUnit;
	var slideTimer = null;
	var activeSlide = 0; //which slide is active
	var loop = "true";
	var indexmode = "thumb"; // [number|image|thumb] default="number"


	//init directaccess ----------

	$(".slide", slideShow).each(function (i) {
		checklink(this);
		var indexlist = $(document.createElement('li'));
		var indexlink = $(document.createElement('a')).attr('href', 'javascript:void(0)');
		var indexbutton;
		if (indexmode == "thumb") { indexbutton = indexlist.append(indexlink.append($(".slider-bg", $(this)).clone())); }
		else { indexbutton = indexlist.append(indexlink.append(i)); }
		$(".directaccess ul").append(indexbutton);
	})

	var thumbWidth = $(".directaccess li", slideShow).outerWidth();

	$(".directaccess a").bind("click", function (e) {
		stop(e);
		var position = $(".directaccess a").index($(this));
		slide(position);
	})

	if (loop == "true") {
		$("#canvas", slideShow).append($(".slide:first", slideShow).clone());
	}

	//helper function to add link to slide image

	function checklink(slide) {
		var thelink = $('a.slidelink', slide);
		if (!thelink.length) { return false }
		var slidelink = $(thelink).attr('href');
		if (slidelink != '') {
			$(slide).find('img').css({ 'cursor': 'hand', 'cursor': 'pointer' }).click(function (e) {
				window.open(slidelink);
				return false;
			});
		}
	}

	//init nextPrev ----------

	slideShow.bind("mouseenter", function () {
		$(".prevnext", slideShow).fadeIn(350);
		clearInterval(slideTimer)
	});

	slideShow.bind("mouseleave", function () {
		$(".prevnext", slideShow).fadeOut(50);
		clearInterval(slideTimer);
		autoplay();
	});

	$(".next", slideShow).bind("click", function (e) { slideNext(); });
	$(".prev", slideShow).bind("click", function (e) { slidePrev(); });

	//init slide magic ----------

	function autoplay() {
		slideTimer = setInterval(function () { slideNext() }, WaitTime * timeUnit)
	}

	function slideNext() {
		if (activeSlide < totalslides) { slide(activeSlide + 1) }
		else {
			if (loop == "true") { loopslide() }
			else { slide(0) }
		}
	}

	function slidePrev() {
		if (activeSlide == 0) { slide(totalslides) }
		else { slide(activeSlide - 1) }
	}

	function slide(pos) {
		$("#canvas", slideShow).animate({ "margin-left": -slideWidth * pos }, speed / 2);
		$(".current", slideShow).animate({ "margin-left": pos * thumbWidth }, timeUnit / 2);
		activeSlide = pos;
	}
	function loopslide() {
		$("#canvas", slideShow).animate({ "margin-left": -slideWidth * (activeSlide + 1) }, speed / 2, function () { $("#canvas", slideShow).css({ "margin-left": 0 }) })
		$(".current", slideShow).animate({ "margin-left": 0 }, timeUnit / 2);
		activeSlide = 0;
	}

	//start the show
	autoplay();

};

// ervaringen 

function SetMargin(parm) {
	var interview = $("ul.interviews li" + parm);
	var liHeight = $(interview).height();
	var liFirstHeight = $("ul.interviews").height();
	var interviewList = $("ul#interviews-list");
	interviewList.css("margin-top", liHeight - liFirstHeight);
}

function SetCurrent(currentInterview) {
	$("ul#interviews-list li").each(function () { $(this).removeClass() });
	$(currentInterview).addClass("current");

}

function SetAnchorHrefs(currentInterview) {
	var prevInterview = $(currentInterview).prev();
	var query = window.location.href.split("#");
	var qs = query[0];

	if ($(prevInterview).length != 0) {
		$("#hlPrev").css("display", "block");
		$("#hlPrev").attr("href", "#" + prevInterview.attr("rel"));
	}
	else {
		$("#hlPrev").css("display", "none");
	}
	var nextInterview = $(currentInterview).next();
	if ($(nextInterview).length != 0) {
		$("#hlNext").css("display", "block");
		$("#hlNext").attr("href", "#" + nextInterview.attr("rel"));
	}
	else {
		$("#hlNext").css("display", "none");
	}
};

// used by interview-list
function setMarginTop() {

	//event.preventDefault();
	var currentInterview = $(this);
	var parm = "#" + $(currentInterview).attr("rel");

	SetMargin(parm);
	SetCurrent(currentInterview);
	SetAnchorHrefs(currentInterview);

	document.location = parm;

};
// used by anchors
function setMarginTopFromNav(event) {
	
	event.preventDefault();
	var navAnchor = $(this).find("a:first");
	var parm = $(navAnchor).attr("href").split("#")[1];
	var currentInterview = $("ul#interviews-list li#li" + parm);

	SetMargin("#" + parm);
	SetCurrent(currentInterview);
	SetAnchorHrefs(currentInterview);

	document.location =  "#" + parm;
};
// used by postback
function setMarginTopFromQS() {

	var query = window.location.href.split("#");
	var qs = query[0];
	var parmlist = "#li" + query[1];
	var parm = "#" + query[1];

	if (parm == "#undefined") {
		parm = ":first-child";
		parmlist = ":first-child";
	}

	var currentInterview = $("ul#interviews-list li" + parmlist);
	if ($(currentInterview).length == 0) {
		parm = ":first-child";
		parmlist = ":first-child";
		currentInterview = $("ul#interviews-list li" + parmlist);
	}

	SetMargin(parm);
	SetCurrent(currentInterview);
	SetAnchorHrefs(currentInterview);


};

