//
// ---- ahk.js ------------- included by catjs
//
try {
	// JS function for adding javascripts

if(typeof String.prototype.trim !== 'function') {
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, '');
    }
}


jQuery(document).ready(function(){

	// hide all submenu's
	jQuery('.open_next_ul').next('ul').hide();

		// screenwidth  1024 or lower => remove left margin
	var screenwidth = screen.width;
	if(screenwidth <= 1024) {
		jQuery("body").css({'width':1000});
		jQuery("#wrapper").css({'left':0,'border-left':0,'width':1000});
		jQuery("#header").css({'width':1000});
		jQuery("#container").css({'margin-left':'10px'});
		jQuery("#container-home").css({'margin-left':'10px'});
		jQuery("#servicecol").css({'padding-left':'2px'});
		jQuery("#footer").css({'left':0,'border-left':0,'width':1000});
	}

		// langmenu
	jQuery(".mainli").hover(
		function(){
			jQuery(this).addClass("hover");
			jQuery('ul:first',this).css('visibility', 'visible');
		},
		function(){
			jQuery(this).removeClass("hover");
			jQuery('ul:first',this).css('visibility', 'hidden');
	});


		// DATEPICKER functions START
		// datepicker default initialize
	if("#datepicker" != undefined) {
		var language = $('#currentlanguage').data('languageuid');
		if(language==0 || language==undefined) {
			$.datepicker.setDefaults($.datepicker.regional['nl']);
		}
		initializeMonthView();
	}

	function initializeMonthView() {
		$("#datepicker").datepicker("destroy");
		var urlparams = getUrlParameters();
		var currentStartDay = urlparams['tx_cal_controller[startday]'];
			// datepicker options
		$("#datepicker").datepicker({
			dateFormat : 'dd-mm-yy',
			firstDay : 1,
			numberOfMonths: 1,
			showOtherMonths: true,
			selectOtherMonths: false,
			showWeek: true,
			changeYear: false,
			defaultDate: '+'+currentStartDay,
			showButtonPanel: false,
			gotoCurrent: false,
			onSelect: onDateSelected
		});
		attachWeekNumbersEvent(); // make weeknumbers clickable
		setMonthYear(); // sets month year in middle column + prev next buttons
		setMonthNavigation() ; // set month prev next buttons
		initCalLinks() ; // set cal list-item links
		var urlparams = getUrlParameters();
		var currentType = urlparams['tx_cal_controller[nav]'];
		if(currentType == 'week') {
			setActiveDays();
		}
	}

	function attachWeekNumbersEvent() {
		setWeekWrap();	// set link around week number

		$('a.week-number').on('click', function(event) {
			$('table.ui-datepicker-calendar tbody tr').removeClass("current"); // remove current highlighted week
			$('table.ui-datepicker-calendar tbody tr td').removeClass("ui-datepicker-current-day"); // remove current highlighted day

			$(this).closest('tr').addClass("current");

				// calculate week-start-day and week-end-day
			var week = $(this).html();
			var startDay = $(this).closest('tr').children('td:nth-child(2)').children('a').html();
			if(startDay == undefined){ // if we have an inactive day (month before current one)
				var startDay = $(this).closest('tr').children('td:nth-child(2)').children('span').html();
			}
			var startMonthStr = $(this).closest('tr').children('td:nth-child(2)').attr('data-month');
			if(startMonthStr == undefined){ // if we have an inactive month (month before current one)
				var startMonthStr = $(this).closest('tr').children('td:nth-child(8)').attr('data-month');
				var startMonthStr = startMonthStr-1;
			}
			var startMonthInt = parseInt(startMonthStr);
			var startYear = $(this).closest('tr').children('td:nth-child(2)').attr('data-year');
			if(startYear == undefined){ // if we have an inactive year (month before current one)
				var startYear = $(this).closest('tr').children('td:nth-child(8)').attr('data-year');
			}
			var startDate = new Date(startYear, startMonthInt, startDay);
			var weekStartDay = daysFromDateSelected(startDate);
			$('#currentstartday').data('start',weekStartDay); 	// remember current startday

			var weekEndDay = weekStartDay + 6;
			$('#currentendday').data('end',weekEndDay); 	// remember current startday
				// go
			var href = createHref(weekStartDay,weekEndDay,'week');
			return ajaxCall(href);

			return false;

		});
	}

	function attachCategoryEvent() {
		$('ul#category-links li a').on('click', function(event) {
			$('ul#category-links li').removeClass("active");	// remove active
			$(this).closest('li').addClass("active");
			var currentCategory = $(this).data('category');
			$('#currentcategory').data('category',currentCategory); 	// remember current category

				// get current start-day and end-day
			var weekStartDay = $('#currentstartday').data('start');
			var weekEndDay = $('#currentendday').data('end');

				// go
			var href = createHref(weekStartDay,weekEndDay);
			return ajaxCall(href);

			return false;

		});
	}

	function setWeekWrap() {
		$('#datepicker td.ui-datepicker-week-col').wrapInner('<a href="#" class="week-number" title="Selecteer deze week"></a>');
			// weekday  hover
		$('#datepicker td.ui-datepicker-week-col').mouseenter(function(){
			$(this).parent().toggleClass("active");
		});
		$('#datepicker td.ui-datepicker-week-col').mouseleave(function(){
			$(this).parent().toggleClass("active");
		});
	}

	function onDateSelected(event) {
		setWeekWrap();
		var date = /(\d*)-(\d*)-(\d*)/.exec(event);
		if (date) {
			var startday = daysFromDateSelected(new Date(date[3], date[2] - 1, date[1]));
			$('#currentstartday').data('start',parseInt(startday)); 	// remember current startday
			$('#currentendday').data('end',''); 	// empty endday
			 // go
			var href = createHref(startday);
			return ajaxCall(href,1); // 1 = make weekno's clickable
			return false;
		}
	}

		// date = inputdate
		// dateselected = selected day in week or now
	function daysFromDateSelected(date, dateselected) {
		var oneDay = 24 * 60 * 60 * 1000;
		if (!dateselected) {
			var  dateselected = new Date();
		}
		var days = Math.ceil((date.getTime() - dateselected.getTime()) / oneDay);
		return days;
	}

		// set month and year title in header
	function setMonthYear() {
		var month = $("span.ui-datepicker-month").text() ;
		var year = $("span.ui-datepicker-year").text() ;
		$(".month-small-nav-section h2").text('');
		$(".month-small-nav-section h2").html(month+'<br />'+year);
		$(".ui-datepicker-title").hide();
	}

		// prev next buttons month
	function setMonthNavigation() {
		$('a.ui-datepicker-prev').appendTo( $('#month-header-prevnext') );
		//$('<img src="/fileadmin/templates/main/2010/images/white_links.png" alt="[Previous Month]">').appendTo( $('a.ui-datepicker-prev') );
		$('a.ui-datepicker-next').appendTo( $('#month-header-prevnext') );
		//$('<img src="/fileadmin/templates/main/2010/images/white_pijlrechts.png" alt="[Next Month]">').appendTo( $('a.ui-datepicker-next') );
	}

		// get url parameters and return json
	function getUrlParameters() {
		var searchString = window.location.search.substring(1),
			params = searchString.split("&"),
			hash = {};
		if (searchString == "") return {};
		for (var i = 0; i < params.length; i++) {
			var val = params[i].split("=");
			hash[unescape(val[0])] = unescape(val[1]);
		}
		return hash;
	}

	function ajaxloader() {
		var parentid = 	$('.tx-cal-controller').parent().attr('id');
		$('#'+parentid).empty(); // remove current cal-controller content
		$('<div id="ajaxloader" style="display: block;"></div>').appendTo('div.tx-ahkutilities-pi1'); // ajaxloader css
		return parentid;
	}

	function killajaxloader() {
		$('div#ajaxloader').remove();
	}

		// AJAX call
	function ajaxCall(href,attachweekNos){
		var parentid = ajaxloader(); // get the parentid of the div container to fill with the result

console.log(href);

		$.ajax({
			url: href,
			success: function(result) {
				$('#'+parentid).empty(); // remove current cal-controller (list-view) content
				$(result).appendTo('#'+parentid); // new cal-controller (list-view) content
				if(attachweekNos) {
					attachWeekNumbersEvent();
				}
				killajaxloader(); // kill animated loader
				initCalLinks() ; // attach event cal links
			}
			,
			error: function(jqXHR) {
				console.log("An error occured: " + jqXHR.status + " " + jqXHR.statusText);
				console.log(jqXHR);
			}

		});

		return false;
	}


	function createHref(weekStartDay,weekEndDay,week) {
		var urlparams = getUrlParameters();
		var page = '';
		var typeParam = '';
		var categoryId = $('#currentcategory').data('category');
		var category = '';
		var startDayParam = '';
		var endDayParam = '';
		var currentpageid = $('#currentpageid').data('currentpageid');
		var ajaxpageid = $('#ajaxpageid').data('ajaxpageid');
		var language = $('#currentlanguage').data('languageuid');
		var languageparam = '';

		var protocol = window.location.protocol;
		var hostname = window.location.hostname;
		var host = protocol+'//'+hostname; // ajax
		var page = '/index.php?id='+ajaxpageid; // ajax Cal plugin
		var type = '&type=1234567'; // ajax type without headers etc.

		if(currentpageid != undefined && ajaxpageid != undefined) {
			if(language>0) {
				var languageparam = '&L='+language;
			}
			if(categoryId != undefined) {
				var category = '&tx_cal_controller[category]='+categoryId;
			}
			if(week != undefined) {
				var typeParam = '&tx_cal_controller[nav]='+week;
			}
			if(weekStartDay != undefined) {
				var startDayParam = '&tx_cal_controller[startday]='+weekStartDay;
			}
			if(weekEndDay != undefined) {
				var endDayParam = '&tx_cal_controller[endday]='+weekEndDay;
			}
			var href = host+page+type+languageparam+typeParam+category+startDayParam+endDayParam;
			//var href = page+typeParam+category+startDayParam+endDayParam;
			return href;
		} else {
			return host;
		}
	}

		// datepicker previous month
	$('a.ui-datepicker-prev').bind('click', function(event) {
		setMonthYear();
		attachWeekNumbersEvent();
	});

		// datepicker next month
	$('a.ui-datepicker-next').bind('click', function(event) {
		setMonthYear();
		attachWeekNumbersEvent();
	});

	function setActiveDays() {
		$('#datepicker').find('.ui-datepicker-current-day').parent().children().addClass('ui-datepicker-current-day');
	}

	function attachPageBrowserLinks() {
		$('p.pagebrowser span a').on('click', function(event) {
			var protocol = window.location.protocol;
			var hostname = window.location.hostname;
			var host = protocol+'//'+hostname+'/'; // ajax

			var type = '&type=1234567'; // ajax type without headers etc.
			var attrhref = $(this).attr('href');
			var noRealurl = attrhref.match(/index.php/);
			if(!noRealurl) {
				var ajaxpageid = $('#ajaxpageid').data('ajaxpageid');
				var categoryId = $('#currentcategory').data('category');
				//var page = 'index.php?id='+ajaxpageid+'&no_cache=1'; // ajax Cal plugin
				var page = 'index.php?id='+ajaxpageid; // ajax Cal plugin
				var category = '&tx_cal_controller[category]='+categoryId;
				var startday = '&tx_cal_controller[startday]=0';
				var offsetRaw = attrhref.match(/tx_cal_controller.*&/);
				var offset = '&'+offsetRaw[0].slice(0,-1); // remove last ampersand "&"
				var chash = '&cHash=89e16171d3ec65f6a1429a416c837993';
				var href = host+page+type+category+startday+offset;
			} else {
				var href = host+attrhref+type;
			}
			return ajaxCall(href);

			return false;
		});
	}

	function initCalLinks() {
		attachCategoryEvent();
		attachPageBrowserLinks();
		// hover-control bij cal-lijst rows
		$('div.vevent').each(function(index) {
			var selector = $(this).find('a').parent().attr("class");
			if(selector != undefined && selector.indexOf("hover-link-display") != -1) { // -1 means NOT found, so only wrap a link if class contains "hover-link-display"
				var href = $(this).find('a').attr("href");
				var title = $(this).find('a').attr("title");
				$(this).wrapInner("<a href=\""+href+"\" title=\""+title+"\" class=\"transparent\"></a>");
			}
		});
			// vevent block overlay hover
		$('div.vevent a').mouseenter(function(){
			$(this).parent().toggleClass("active");
			$(this).parent().prev('div.day-events').toggleClass('active');
		});
		$('div.vevent a').mouseleave(function(){
			$(this).parent().toggleClass("active");
			$(this).parent().prev('div.day-events').toggleClass('active');
		});

	}

	function consolelog(){
		console.log($('#currentpageid').data('currentpageid'));
		console.log($('#ajaxpageid').data('ajaxpageid'));
		console.log($('#currentcategory').data('category'));
		console.log($('#currentstartday').data('start'));
		console.log($('#currentendday').data('end'));

	}

	// DATEPICKER functions END


		// toggle MyAHK submenu's
	jQuery('.open_next_ul').click(function () {
		if(jQuery(this).hasClass('opened')) {
			jQuery(this).parent().find('ul').hide('fast');
			jQuery(this).removeClass('opened');
		} else {
			jQuery(this).parent().find('ul').show('fast');
			jQuery(this).addClass('opened');
		}
		return false;
	});

	jQuery(".close").click(function(){
		jQuery("#servicecol").animate({width:'toggle'},0);
		if(jQuery("#servicecolclosed").hasClass('hide')){
			jQuery("#servicecolclosed").delay(1000).removeClass('hide');
			jQuery("#wrapper").css('min-width','826px');
		} else {
			jQuery("#servicecolclosed").addClass('hide');
			jQuery("#wrapper").css('min-width','1024px');
		};
	});


    jQuery(".fce-ikwil-menu-items").hide();

	jQuery('.fce-ikwil-menu-head a').click(function(event){
		event.preventDefault();
		var items = jQuery(this).parent().next(".fce-ikwil-menu-items");
		items.slideToggle();

		jQuery(this).parent().toggleClass('open');

	});

		// hover-control bij o.a. nieuws-lijst en cal-lijst views
	jQuery('.hover-control')
		.click(function(){
			var href = jQuery(this).find('a.hover-link,.hover-link a').attr('href');
			var target = jQuery(this).find('a.hover-link,.hover-link a').attr('target')
			var ua = navigator.userAgent;
				/* Put "/" in front of every internal link in MSIE */
			if(ua.indexOf('MSIE') > 0 || ua.indexOf('Trident') > 0) { // if MSIE of MSIE 11, Trident = Layout engine for the Microsoft Windows version of Internet Explorer.
				if ( href.substr(0, 7) != 'http://') {
					if ( href[0] != '/' ) href = '/' + href;
				}
			}
			if (target=='_blank') {
				window.open(href);
			} else {
				document.location = href;
			}
		})
		.hover(
			function(){
				jQuery(this).addClass('hover');
			},
			function(){
				jQuery(this).removeClass('hover');
				jQuery(this).attr('align', 'left');
			}

		)
		.find('.hover-link').hide()
	;

	jQuery('.hover-control').tooltip({
		track: false,
		delay: 1200,
		showURL: false,
		opacity: 1,
		bodyHandler: function(){
			return jQuery(this).find('.hover-link').find('a').attr('title');
		},
		top: -15,
		left: 5
	});

	if('dfn[title]' != undefined) {
		jQuery('dfn[title]').tooltip({
		});
	}


	jQuery("a.iframe").click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'transitionIn'	: 'elastic',
			'transitionOut'	: 'elastic',
			'title'			: this.title,
			'titlePosition'	: 'inside',
			'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'			: 'swf',
			'swf'			: {
				'wmode'		: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});
		return false;
	});

		// info : fancybox215/source/helpers/jquery.fancybox-media.js
	$('.video').fancybox({
		helpers : {
			media: {
				youtube : {
					params : {
						autoplay: 0
					}
				},
				vimeo : {
					params : {
						autoplay: 0
					}
				}
			}
		}
    });


});

	// social media share buttons start
var share = {
	fb:function(title,url) {
		this.share('http://www.facebook.com/sharer.php?u=##URL##',title,url,'facebook');
	},
	tw:function(title,url) {
		this.share('http://twitter.com/share?url=##URL##&via=kunsthogeschool&text=##TITLE##',title,url,'twitter');
	},
	ln:function(title,url) {
		this.share('http://www.linkedin.com/shareArticle?mini=true&url=##URL##&title=##TITLE##',title,url,'linkedin');
	},
	yr:function(title,url) {
		this.share('https://www.yammer.com/home/bookmarklet?u=##URL##&t=##TITLE##',title,url,'yammer');
	},
	gp:function(title,url) {
		this.share('https://plus.google.com/share?url=##URL##',title,url,'googleplus');
	},
	em:function(title,url) {
		this.share('mailto:?body=##URL##&subject=##TITLE##',title,url,'email');
	},

	share:function(tpl,title,url,medium) {
		if(!url) url = encodeURIComponent(window.location+'?utm_source='+medium+'&utm_medium=ahkweb&utm_campaign=sociaal');
		if(!title) title = encodeURIComponent(document.title);

		tpl = tpl.replace('##URL##', url);
		tpl = tpl.replace('##TITLE##',title);

		//window.open(tpl,"sharewindow"+tpl.substr(6,15),"width=640,height=480");
		window.open(tpl,'_blank','width=640,height=480');
	}
};
	// social media share buttons end


	// JS function for mouse-over
function over(name,imgObj)	{	//
//alert(document[name].src );
		document[name].src = eval(name+"_h.src");
}
	// JS function for mouse-out
function out(name,imgObj)	{	//
		document[name].src = eval(name+"_n.src");
}
} catch (exception) {
  if(window.console && window.console.log) console.log('Exception in ahk.js', exception);
}
//
// ---- ahk_nl.js ------------- included by catjs
//
try {
jQuery(document).ready(function($){

		// set zoekwoord in searchbox if empty
	jQuery('input.tx-solr-q:not(.lichtingen,.opleidingen)').searchbox({
				placeholder: 'zoeken...'
		});
	jQuery('input.tx-solr-q.opleidingen').searchbox({
				placeholder: 'trefwoord of naam...'
		});
	jQuery('input.tx-solr-q.lichtingen').searchbox({
				placeholder: 'naam...'
		});

	if(jQuery('.csc-sitemap').length){
		jQuery('.csc-sitemap').prepend(
			'<div id="treecontrol">'+
			'	<a title="Klap de hele boom in" href="#"><img src="/fileadmin/js/jquery.treeview/images/minus.gif" /> Alles inklappen</a>'+
			'	<a title="Klap de hele boom uit" href="#"><img src="/fileadmin/js/jquery.treeview/images/plus.gif" /> Alles uitvouwen</a>'+
			'	• <a title="Wissel de hele boom om: sluit open takken, open gesloten takken" href="#">Alles omwisselen</a>'+
			'</div>');
	
		jQuery('.csc-sitemap > ul').treeview({
			control: "#treecontrol",
			persist: "cookie",
			animated:"fast",
			collapsed:true,
			control: "#treecontrol"
		});
	}

});
} catch (exception) {
  if(window.console && window.console.log) console.log('Exception in ahk_nl.js', exception);
}
