﻿/* Modernizr 2.0.6 (Custom Build - CSS3) | MIT & BSD
* Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-iepp-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
*/
; window.Modernizr = function (a, b, c) { function D(a, b) { var c = a.charAt(0).toUpperCase() + a.substr(1), d = (a + " " + p.join(c + " ") + c).split(" "); return C(d, b) } function C(a, b) { for (var d in a) if (k[a[d]] !== c) return b == "pfx" ? a[d] : !0; return !1 } function B(a, b) { return !! ~("" + a).indexOf(b) } function A(a, b) { return typeof a === b } function z(a, b) { return y(o.join(a + ";") + (b || "")) } function y(a) { k.cssText = a } var d = "2.0.6", e = {}, f = !0, g = b.documentElement, h = b.head || b.getElementsByTagName("head")[0], i = "modernizr", j = b.createElement(i), k = j.style, l, m = ":)", n = Object.prototype.toString, o = " -webkit- -moz- -o- -ms- -khtml- ".split(" "), p = "Webkit Moz O ms Khtml".split(" "), q = {}, r = {}, s = {}, t = [], u = function (a, c, d, e) { var f, h, j, k = b.createElement("div"); if (parseInt(d, 10)) while (d--) j = b.createElement("div"), j.id = e ? e[d] : i + (d + 1), k.appendChild(j); f = ["&shy;", "<style>", a, "</style>"].join(""), k.id = i, k.innerHTML += f, g.appendChild(k), h = c(k, a), k.parentNode.removeChild(k); return !!h }, v, w = {}.hasOwnProperty, x; !A(w, c) && !A(w.call, c) ? x = function (a, b) { return w.call(a, b) } : x = function (a, b) { return b in a && A(a.constructor.prototype[b], c) }; var E = function (a, c) { var d = a.join(""), f = c.length; u(d, function (a, c) { var d = b.styleSheets[b.styleSheets.length - 1], g = d.cssRules && d.cssRules[0] ? d.cssRules[0].cssText : d.cssText || "", h = a.childNodes, i = {}; while (f--) i[h[f].id] = h[f]; e.csstransforms3d = i.csstransforms3d.offsetLeft === 9, e.generatedcontent = i.generatedcontent.offsetHeight >= 1, e.fontface = /src/i.test(g) && g.indexOf(c.split(" ")[0]) === 0 }, f, c) } (['@font-face {font-family:"font";src:url("https://")}', ["@media (", o.join("transform-3d),("), i, ")", "{#csstransforms3d{left:9px;position:absolute}}"].join(""), ['#generatedcontent:after{content:"', m, '";visibility:hidden}'].join("")], ["fontface", "csstransforms3d", "generatedcontent"]); q.flexbox = function () { function c(a, b, c, d) { a.style.cssText = o.join(b + ":" + c + ";") + (d || "") } function a(a, b, c, d) { b += ":", a.style.cssText = (b + o.join(c + ";" + b)).slice(0, -b.length) + (d || "") } var d = b.createElement("div"), e = b.createElement("div"); a(d, "display", "box", "width:42px;padding:0;"), c(e, "box-flex", "1", "width:10px;"), d.appendChild(e), g.appendChild(d); var f = e.offsetWidth === 42; d.removeChild(e), g.removeChild(d); return f }, q.rgba = function () { y("background-color:rgba(150,255,150,.5)"); return B(k.backgroundColor, "rgba") }, q.hsla = function () { y("background-color:hsla(120,40%,100%,.5)"); return B(k.backgroundColor, "rgba") || B(k.backgroundColor, "hsla") }, q.multiplebgs = function () { y("background:url(https://),url(https://),red url(https://)"); return /(url\s*\(.*?){3}/.test(k.background) }, q.backgroundsize = function () { return D("backgroundSize") }, q.borderimage = function () { return D("borderImage") }, q.borderradius = function () { return D("borderRadius") }, q.boxshadow = function () { return D("boxShadow") }, q.textshadow = function () { return b.createElement("div").style.textShadow === "" }, q.opacity = function () { z("opacity:.55"); return /^0.55$/.test(k.opacity) }, q.cssanimations = function () { return D("animationName") }, q.csscolumns = function () { return D("columnCount") }, q.cssgradients = function () { var a = "background-image:", b = "gradient(linear,left top,right bottom,from(#9f9),to(white));", c = "linear-gradient(left top,#9f9, white);"; y((a + o.join(b + a) + o.join(c + a)).slice(0, -a.length)); return B(k.backgroundImage, "gradient") }, q.cssreflections = function () { return D("boxReflect") }, q.csstransforms = function () { return !!C(["transformProperty", "WebkitTransform", "MozTransform", "OTransform", "msTransform"]) }, q.csstransforms3d = function () { var a = !!C(["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"]); a && "webkitPerspective" in g.style && (a = e.csstransforms3d); return a }, q.csstransitions = function () { return D("transitionProperty") }, q.fontface = function () { return e.fontface }, q.generatedcontent = function () { return e.generatedcontent }; for (var F in q) x(q, F) && (v = F.toLowerCase(), e[v] = q[F](), t.push((e[v] ? "" : "no-") + v)); y(""), j = l = null, a.attachEvent && function () { var a = b.createElement("div"); a.innerHTML = "<elem></elem>"; return a.childNodes.length !== 1 } () && function (a, b) { function s(a) { var b = -1; while (++b < g) a.createElement(f[b]) } a.iepp = a.iepp || {}; var d = a.iepp, e = d.html5elements || "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", f = e.split("|"), g = f.length, h = new RegExp("(^|\\s)(" + e + ")", "gi"), i = new RegExp("<(/*)(" + e + ")", "gi"), j = /^\s*[\{\}]\s*$/, k = new RegExp("(^|[^\\n]*?\\s)(" + e + ")([^\\n]*)({[\\n\\w\\W]*?})", "gi"), l = b.createDocumentFragment(), m = b.documentElement, n = m.firstChild, o = b.createElement("body"), p = b.createElement("style"), q = /print|all/, r; d.getCSS = function (a, b) { if (a + "" === c) return ""; var e = -1, f = a.length, g, h = []; while (++e < f) { g = a[e]; if (g.disabled) continue; b = g.media || b, q.test(b) && h.push(d.getCSS(g.imports, b), g.cssText), b = "all" } return h.join("") }, d.parseCSS = function (a) { var b = [], c; while ((c = k.exec(a)) != null) b.push(((j.exec(c[1]) ? "\n" : c[1]) + c[2] + c[3]).replace(h, "$1.iepp_$2") + c[4]); return b.join("\n") }, d.writeHTML = function () { var a = -1; r = r || b.body; while (++a < g) { var c = b.getElementsByTagName(f[a]), d = c.length, e = -1; while (++e < d) c[e].className.indexOf("iepp_") < 0 && (c[e].className += " iepp_" + f[a]) } l.appendChild(r), m.appendChild(o), o.className = r.className, o.id = r.id, o.innerHTML = r.innerHTML.replace(i, "<$1font") }, d._beforePrint = function () { p.styleSheet.cssText = d.parseCSS(d.getCSS(b.styleSheets, "all")), d.writeHTML() }, d.restoreHTML = function () { o.innerHTML = "", m.removeChild(o), m.appendChild(r) }, d._afterPrint = function () { d.restoreHTML(), p.styleSheet.cssText = "" }, s(b), s(l); d.disablePP || (n.insertBefore(p, n.firstChild), p.media = "print", p.className = "iepp-printshim", a.attachEvent("onbeforeprint", d._beforePrint), a.attachEvent("onafterprint", d._afterPrint)) } (a, b), e._version = d, e._prefixes = o, e._domPrefixes = p, e.testProp = function (a) { return C([a]) }, e.testAllProps = D, e.testStyles = u, g.className = g.className.replace(/\bno-js\b/, "") + (f ? " js " + t.join(" ") : ""); return e } (this, this.document), function (a, b, c) { function k(a) { return !a || a == "loaded" || a == "complete" } function j() { var a = 1, b = -1; while (p.length - ++b) if (p[b].s && !(a = p[b].r)) break; a && g() } function i(a) { var c = b.createElement("script"), d; c.src = a.s, c.onreadystatechange = c.onload = function () { !d && k(c.readyState) && (d = 1, j(), c.onload = c.onreadystatechange = null) }, m(function () { d || (d = 1, j()) }, H.errorTimeout), a.e ? c.onload() : n.parentNode.insertBefore(c, n) } function h(a) { var c = b.createElement("link"), d; c.href = a.s, c.rel = "stylesheet", c.type = "text/css"; if (!a.e && (w || r)) { var e = function (a) { m(function () { if (!d) try { a.sheet.cssRules.length ? (d = 1, j()) : e(a) } catch (b) { b.code == 1e3 || b.message == "security" || b.message == "denied" ? (d = 1, m(function () { j() }, 0)) : e(a) } }, 0) }; e(c) } else c.onload = function () { d || (d = 1, m(function () { j() }, 0)) }, a.e && c.onload(); m(function () { d || (d = 1, j()) }, H.errorTimeout), !a.e && n.parentNode.insertBefore(c, n) } function g() { var a = p.shift(); q = 1, a ? a.t ? m(function () { a.t == "c" ? h(a) : i(a) }, 0) : (a(), j()) : q = 0 } function f(a, c, d, e, f, h) { function i() { !o && k(l.readyState) && (r.r = o = 1, !q && j(), l.onload = l.onreadystatechange = null, m(function () { u.removeChild(l) }, 0)) } var l = b.createElement(a), o = 0, r = { t: d, s: c, e: h }; l.src = l.data = c, !s && (l.style.display = "none"), l.width = l.height = "0", a != "object" && (l.type = d), l.onload = l.onreadystatechange = i, a == "img" ? l.onerror = i : a == "script" && (l.onerror = function () { r.e = r.r = 1, g() }), p.splice(e, 0, r), u.insertBefore(l, s ? null : n), m(function () { o || (u.removeChild(l), r.r = r.e = o = 1, j()) }, H.errorTimeout) } function e(a, b, c) { var d = b == "c" ? z : y; q = 0, b = b || "j", C(a) ? f(d, a, b, this.i++, l, c) : (p.splice(this.i++, 0, a), p.length == 1 && g()); return this } function d() { var a = H; a.loader = { load: e, i: 0 }; return a } var l = b.documentElement, m = a.setTimeout, n = b.getElementsByTagName("script")[0], o = {}.toString, p = [], q = 0, r = "MozAppearance" in l.style, s = r && !!b.createRange().compareNode, t = r && !s, u = s ? l : n.parentNode, v = a.opera && o.call(a.opera) == "[object Opera]", w = "webkitAppearance" in l.style, x = w && "async" in b.createElement("script"), y = r ? "object" : v || x ? "img" : "script", z = w ? "img" : y, A = Array.isArray || function (a) { return o.call(a) == "[object Array]" }, B = function (a) { return Object(a) === a }, C = function (a) { return typeof a == "string" }, D = function (a) { return o.call(a) == "[object Function]" }, E = [], F = {}, G, H; H = function (a) { function f(a) { var b = a.split("!"), c = E.length, d = b.pop(), e = b.length, f = { url: d, origUrl: d, prefixes: b }, g, h; for (h = 0; h < e; h++) g = F[b[h]], g && (f = g(f)); for (h = 0; h < c; h++) f = E[h](f); return f } function e(a, b, e, g, h) { var i = f(a), j = i.autoCallback; if (!i.bypass) { b && (b = D(b) ? b : b[a] || b[g] || b[a.split("/").pop().split("?")[0]]); if (i.instead) return i.instead(a, b, e, g, h); e.load(i.url, i.forceCSS || !i.forceJS && /css$/.test(i.url) ? "c" : c, i.noexec), (D(b) || D(j)) && e.load(function () { d(), b && b(i.origUrl, h, g), j && j(i.origUrl, h, g) }) } } function b(a, b) { function c(a) { if (C(a)) e(a, h, b, 0, d); else if (B(a)) for (i in a) a.hasOwnProperty(i) && e(a[i], h, b, i, d) } var d = !!a.test, f = d ? a.yep : a.nope, g = a.load || a.both, h = a.callback, i; c(f), c(g), a.complete && b.load(a.complete) } var g, h, i = this.yepnope.loader; if (C(a)) e(a, 0, i, 0); else if (A(a)) for (g = 0; g < a.length; g++) h = a[g], C(h) ? e(h, 0, i, 0) : A(h) ? H(h) : B(h) && b(h, i); else B(a) && b(a, i) }, H.addPrefix = function (a, b) { F[a] = b }, H.addFilter = function (a) { E.push(a) }, H.errorTimeout = 1e4, b.readyState == null && b.addEventListener && (b.readyState = "loading", b.addEventListener("DOMContentLoaded", G = function () { b.removeEventListener("DOMContentLoaded", G, 0), b.readyState = "complete" }, 0)), a.yepnope = d() } (this, this.document), Modernizr.load = function () { yepnope.apply(window, [].slice.call(arguments, 0)) };

jQuery.noConflict();

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 log != 'undefined') {
		console.log(message);
	}
};

jQuery(document).ready(function () {

    if (typeof Sitecore == 'undefined') {

        //init mainnav 
        if (jQuery('#mainnav').length) { initMainnav(); }

        //init print button
        if (jQuery('#studydetail').hasClass('print')) { jQuery('#studydetail').printButton("print opleiding"); }

        //init quickfilters
        if (jQuery('#quickfilter').length) { initQuickfilter(); }

        //init innerlabel
        if (jQuery('#quicksearch').length) { jQuery('.innerlabel', '#quicksearch').inputLabel(); }

        //init contactform
        if (jQuery('#contactform').length) { initContactform(); }

        //init Study Search
        initStudySearch(); 
        
        // Init Slideshow on 'pijler' pages
        if (jQuery('#carrousel').length) { initCarrousel(); }

        // Init Slideshows
        jQuery('.ctrSlideshow', '#studysearch').each(function () { jQuery(this).initDetailSlideshow(); });
        jQuery('.ctrSlideshow', '#detailGallery').each(function () { jQuery(this).initDetailSlideshow(); });
        jQuery('.slideshow', '#blockwrapper').each(function () { jQuery(this).initFlexblockSlideshow(); });
        jQuery('.usplist', '.homewrapper').each(function () { jQuery(this).initCTASlideshow(); });

        // Init Studydetail tabs
        if (jQuery('#studytabs').length) { initStudytabs(); }

        // Init detail gallery
        if (jQuery('#detailGallery').length) { initDetailGallery(); }

        // init study detail contacts
        if (jQuery('.contacts-list').length) { initStudyContacts(); }

        //init searchSuggest
        if (jQuery('#quicksearch').length) { setupSuggestedSearch(); }

        //make some cosmetic adjustments where CSS falls short

        // call-to-action button 
        //if (jQuery('#callToActionBtns').length) {
        //    jQuery('.ctaButton', '#callToActionBtns').each(function () {
        //        jQuery(this).resetLineHeight(13, 300);
        //    })
        //}

        // domainlisting
        if (jQuery('.domainlist').length) {
            jQuery('.domainlist li').each(function (index) {
                if (jQuery(this).find('.domain').size() == 1) {
                    jQuery(this).addClass('single');
                }
            })
        }

    }

});


/* Main Navigation Dropdown
--------------------------------------------------------------------------*/

function initMainnav() {
	jQuery("#mainnav li.mainitem").mouseenter(function(){
		jQuery(this).addClass('collapse');
	});
	jQuery("#mainnav li.mainitem").mouseleave(function () {
	    jQuery(this).removeClass('collapse');
	});	
}

/* Quickfilters Domeinen/Locaties
--------------------------------------------------------------------------*/

function initQuickfilter() {
	jQuery('#quickfilter ul').find('li:nth-child(even)').addClass('standout');	
}

/* Contact form
--------------------------------------------------------------------------*/

function initContactform() {
	
	//contact form states
	jQuery('#contactform input, #contactform textarea').focus(function() {
		jQuery(this).parent().toggleClass("formfocus");
	});
	jQuery('#contactform input, #contactform textarea').blur(function() {
		jQuery(this).parent().toggleClass("formfocus");
	});

	//validation
	jQuery('#contactform p').each(function(){
		if (jQuery('.validation',this).length){
			jQuery('.validation',this).hide();
			jQuery(this).addClass("notvalid");
		}
	})
	
}

function addFilterMask(target) {
	target.prepend(
		jQuery(document.createElement('div'))
		.addClass('mask')
	);
}

/* Cosmetic improvements helper functions
--------------------------------------------------------------------------*/

(function (jQuery) {
    jQuery.fn.resetLineHeight = function (maxChars, lineHeight) {
        var charCount = jQuery.trim(jQuery(this).text().replace(/ /g, '')).length;
        if (charCount < maxChars) {
            jQuery(this).css("line-height", lineHeight + "%");
        }
    };
})(jQuery);

/* Study Searchfilters
--------------------------------------------------------------------------*/
function initStudySearch() {

	//make some cosmetic adjustments for filter Buttons
	jQuery('span','#filter_where').each(function() {
		if (jQuery(this).attr("disabled")=="disabled") {
			jQuery('input',this).hide();
			jQuery('label',this).addClass('disabled');
		}
		jQuery('label',this).resetLineHeight(12,185);
	}) 
	
	//loop through checked checkboxes and add "checked" className to matching label
	jQuery('#filter_where input:checked').siblings("label").addClass("checked");

	//toggle "checked" classname when checkbox is used
	jQuery('#filter_where input').bind("click",function(){
		jQuery(this).siblings("label").toggleClass("checked");
	});

    //set searchfilters for studysearch filterset I
	jQuery("#filter_what").children("li").each(function () {
	    if (!jQuery("a", this).hasClass("open")) { jQuery(".subfilters", this).hide() }
	    else { jQuery(this).addClass("opened"); }
	})
    	
	//add mask to studyfilters in case of detail page
	if (jQuery('#studydetail').length) { addFilterMask(jQuery('#studyfilters')); }

	//set continuous scrolling
	var prev = 0;
	if (jQuery('#studies').length) {
	    jQuery(window).unbind("scroll");
		jQuery(window).bind("scroll",function () {

			var correctedHeight = jQuery("#studylisting").height() + jQuery("#studylisting").offset().top;

			//if ( correctedHeight - jQuery(this).scrollTop() == jQuery(this).height() ) {						
			if (jQuery(this).scrollTop() + jQuery(this).height() > correctedHeight) {

				//progress indication         
				jQuery(".ajaxLoader","#studysearch").hide();
				jQuery(".ajaxLoader","#studysearch").ajaxStart(function() {jQuery(this).show();});
				jQuery(".ajaxLoader","#studysearch").ajaxStop(function() {jQuery(this).hide();});		

				//get last Order Id to track next fetch
				//var OrderIdLast = jQuery("#liststudies li:last").children("a:first").html();
				var OrderIdLast = jQuery("#studies li:last").index() + 1;
				//log(OrderIdLast);
				//get last table row in order to append the new result set increment
				var liLast = jQuery("#studies li:last");

				if (parseInt(OrderIdLast, 10) > parseInt(prev, 10)) {

					prev = OrderIdLast;
				   
					//make a async call to fetch the incremental results     
					jQuery.post("/handlers/zadkinenl/AsyncHandler.ashx?StartIndex=" + OrderIdLast + "", function (data) {
						if (data != null) {
							//append new result set to last row
							liLast.after(data);
						}
					});
				}

			}

		});
	}

}


/* Tabs
--------------------------------------------------------------------------*/

function initDetailGallery() {

	if (jQuery('#detailGallery object').length) {
		jQuery('#detailGallery object').attr({'width':'534','height':'324'});
		jQuery('#detailGallery object embed').attr({'width':'534','height':'324'});
	}

	if (jQuery('#detailtabs').length) {
		var context = jQuery('#detailGallery');
		jQuery('#detailGallery').addClass('tabbed');
		jQuery('#detailtabs',context).addClass('clearfix');
		jQuery('.tab:first',context).hide();

		jQuery("#detailtabs a",context)
			.each(function(intIndex){
			jQuery(this).attr('href', 'javascript:void(0)').click(function(){
				jQuery(".tab").hide();
				jQuery('.active',context).removeClass("active");
				jQuery(this).addClass("active");
				jQuery(".tab:eq("+intIndex+")",context).show();			
			})
		});
	}	
}

/* Study detail contacts
--------------------------------------------------------------------------*/

function initStudyContacts() {
    jQuery('.contacts-list div').each(function (intIndex) {
        jQuery(this).slideUp();
    });

    jQuery('.contacts-list span').each(function (intIndex) {
        jQuery(this).click(function () {
            jQuery(this).toggleClass('open').parent().find('div').slideToggle();
        });
    });
}    


/* Carrousel
--------------------------------------------------------------------------*/

function initCarrousel() {

	var control     = jQuery("#carrouselControl");
	var controllers = jQuery("#carrouselControl .info");
	var target      = jQuery("#carrouselImages");
	var slideTimer  = null;

	slideTimer = setInterval(function () { nextSlide() }, 5000);
	nextSlide();

	function nextSlide(cause) {

		if (cause == undefined) {
			var current = jQuery(".active", control).find(".info");
			var index = controllers.index(current)

			if (index == controllers.length-1) { index= -1 }

			cause = jQuery(controllers[index + 1]);
			//log(index,cause);
		};

		if (cause == undefined) {
			cause = jQuery(".info:eq(0)", control)
		};

		var father = cause.parent();
		var index = controllers.index(cause)

		if (cause.hasClass("active")) { return false };

		jQuery(".active .info", control).stop().animate({ "width": 162, "padding-left": 10, "font-size": '100%' }, 200)

		jQuery(".active .colorBackdrop", control).stop().animate({ "width": 182 }, 250)

		jQuery(".active p", control).stop().animate({ "padding-left": 0 }, 200);

		jQuery(".active", control).removeClass("active");

		jQuery(".colorBackdrop", father).stop().animate({ "width": 756 }, 400);

		jQuery(".info", father)
			.stop().animate({ "width": 716, "padding-left": 30, "font-size": "140%" }, 400)
			.find("p").stop().animate({ "padding-left": 35 }, 400)

		father.addClass("active");

		target.find("li:not(" + index + ")").stop().fadeTo(500, 0)
		target.find("li:eq(" + index + ")").stop().fadeTo(500, 1)
	}

	controllers.bind("mouseenter", function (e) {
		nextSlide(jQuery(this))
	});

	controllers.bind("click", function (e) {
		var link = jQuery(this).find("a").attr("href");
		location.href=link;
	});

	control.bind("mouseenter", function () {
		clearInterval(slideTimer);
	});

	control.bind("mouseleave", function () {
		clearInterval(slideTimer);
		slideTimer = setInterval(function () { nextSlide() }, 5000);
	});

}


/* SlideShow
--------------------------------------------------------------------------*/

jQuery.fn.initDetailSlideshow = function () {

    var counter = 0;
    var current = null;
    var issData = [];

    var slideWidth = jQuery(".slideshow", this).outerWidth();
    var name = "iss_" + counter;

    issData[name] = new Object;
    issData[name].show = jQuery(".slideshow", this);
    issData[name].header = jQuery(".head h4", this);
    issData[name].length = jQuery(".slideshow li", this).length;
    issData[name].current = 1;
    issData[name].slideTime = jQuery(".slidetime", this).val();

    var imgTitle = jQuery("ul img:eq(0)", issData[name].show).attr("title");
    issData[name].header.html(createHeader(1, imgTitle));

    jQuery(this).attr("id", "iss_" + counter);
    counter += 1;

    //initialize slideshow
    jQuery(issData[name].show).slideshow({
        thumbnails: false,
        indexers: false,
        autoplay: { interval: issData[name].slideTime }
    });

    //pause slideshow onload
    jQuery(issData[name].show).slideshow().autoplay.paused(true);

    //set play button behaviour
    jQuery(".play", this).click(function () {
        jQuery(issData[name].show).slideshow().autoplay.paused(false);
    });

    //update heading text on slide change
    jQuery(issData[name].show).bind("performadvance", function (e, data) {
        var imgTitle = jQuery("ul li:eq(" + data.currentindex + 1 + ") img", this).attr("title");
        issData[name].header.html(createHeader(data.handler.normalizeindex(data.proposedindex) + 1, imgTitle));
    })

    //helper functions
    function createHeader(current, imgtitle) {
        if (imgtitle == undefined) { imgtitle = "" }
        return current + " van " + issData[name].length + " - " + imgtitle;
    }

}


jQuery.fn.initFlexblockSlideshow = function () {
    jQuery(this).slideshow({ thumbnails: false, navigation:false, indexers: {numbers:false} });
}

jQuery.fn.initCTASlideshow = function () {

    if (jQuery("html").hasClass("oldie")) {
        //to save IE7 and IE8 from emberasement during animation of PNG alpha: //assign and set slideshow without animation 
        jQuery(this).slideshow({ thumbnails: false, navigation: false, indexers: false, autoplay: false });
    }
    else {
        //for capable browsers: assign and set slideshow and set crossfading between images
        jQuery(this).slideshow({ thumbnails: false, navigation: false, indexers: false, transition: { handler: jQuery.slideshow.transitions.fade("crossfade"), duration: 2000} });
        
        //check if loop is required
        if (!jQuery('.loop', this).length) {
            jQuery(this).bind("performadvance", function (e, data) {
                if (data.currentindex == data.handler.slides.length - 1) {
                    data.proposedindex = data.handler.slides.length - 1;
                }
            });
        }
    }    

}

/* Quicksearch
--------------------------------------------------------------------------*/

function quickSearch() {
    var searchBox = jQuery(".inputtext.quicksearch");

    if (searchBox.length == 0) {
        return false;
    }
        
    var qs_val = searchBox.val()

    var resultlist = jQuery(document.createElement("ul")).attr('id', 'suggestedlist').css('display','none');

    jQuery.ajax({
        url: "/handlers/zadkinenl/AutoSuggest.ashx" + "?prefix=" + qs_val,
        type: "post",
        dataType: "json",
        success: function (data) {

            var resultarray = jQuery(data);

            if (resultarray.length) {
                jQuery.each(resultarray, function (i, suggeststring) {
                    var resultItem = jQuery(document.createElement("li")).append(
				    jQuery(document.createElement("a")).attr('href', '/Zoeken.aspx?searchstring=' + suggeststring).append(suggeststring));
                    resultlist.append(resultItem);
                });

                if (jQuery("#suggestedlist").length == 0) {
                    jQuery("#quicksearch").append(resultlist);
                    jQuery("#suggestedlist").fadeIn();
                }
                else {
                    jQuery("#suggestedlist").remove();
                    jQuery("#quicksearch").append(resultlist);
                    jQuery("#suggestedlist").fadeIn();
                }
            }

        },
        error: function (error) {
            console.log("Error in Processing: " + error.statusText);
        }
    });

}

function setupSuggestedSearch() {
    jQuery("#suggestedlist").fadeOut(0);
    var searchBox = jQuery(".inputtext.quicksearch");

    if (searchBox.length == 0) {
        return false;
    }

    searchBox.bind('focus', function (e) {
        var qs_value = searchBox.val();
        if (qs_value.length >= 3) {
            //jQuery("#suggestedlist").fadeIn();
            quickSearch();
        }
    })

    searchBox.bind('keydown', function (e) {
        jQuery("#mainform").attr("autocomplete", "off");
        switch (e.keyCode) {
            case 13: // User pressed "enter"
                stop(e);
        }
    })

    searchBox.blur(function (e) {
        jQuery("#suggestedlist").fadeOut();
    });

    searchBox.bind('keyup', function (e) {

        var qs_value = searchBox.val();

        switch (e.keyCode) {
            case 38: // User pressed "up" arrow
                if (jQuery("#suggestedlist .active").length > 0) {
                    jQuery("#suggestedlist .active").removeClass("active").prev().addClass("active");
                } else {
                    jQuery("#suggestedlist li:last").addClass("active");
                }
                break;
            case 40: // User pressed "down" arrow
                if (jQuery("#suggestedlist .active").length > 0) {
                    jQuery("#suggestedlist .active").removeClass("active").next().addClass("active");
                } else {
                    jQuery("#suggestedlist li:first").addClass("active");
                }
                //alert('down');
                break;
            case 13: // User pressed "enter"
                if (jQuery("#suggestedlist .active").length > 0) {
                    searchBox.val(jQuery("#suggestedlist .active").html());
                    jQuery(".inputsubmit").trigger("click");
                }
                
                jQuery("#suggestedlist").fadeOut();
                if (qs_value.length >= 3) {
                    jQuery(".quicksearchbutton").trigger("click");
                } else {
                    jQuery("#suggestedlist").html("ZOEKTERM MINIMAAL 3 CHAR LANG");
                    jQuery("#suggestedlist").fadeIn();
                }
                break;
            default: //in all other cases
                if (qs_value.length >= 3) {
                    quickSearch();
                } else {
                    jQuery("#suggestedlist").fadeOut();
                }
        }
    });

    jQuery("#suggestedlist li").live("click", function (e) {
        window.location = "/Zoeken.aspx?searchstring=" + jQuery(this).value();
        jQuery("#suggestedlist").fadeOut();
        jQuery(".inputtext.quicksearch").trigger("click");
    })
}
