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 console.log != 'undefined') {
		console.log(message);
	}
};

jQuery(document).ready(function() {
	
	//Remove noJs bodyclass
	jQuery("body").addClass("activeJs").removeClass("noJs");

	//init eduSelector
	if (jQuery('#ctrNavigator').length) {initEduSelector();}

	//init mainnav 
	if (jQuery('#mainnav').length) {initMainnav();}
	
	//init print button
	jQuery('.print','.toolbar').each(function(){jQuery(this).printButton()})
	
	//init quickfilters
	//if (jQuery('#quickfilter').length) {initQuickfilter();}

	// Init Slideshow on 'pijler' pages
	if (jQuery('#slideShow').length) { initSlideShow(); }

	//init gallery lightbox
	if (jQuery('.gallery','.maincontent').length) { initGallery(); }

	//esthetic fixes
	if (jQuery('.blockwrapper','.rightCol').children().length < 1) {  
		jQuery('.blockwrapper','.rightCol').remove();
	}

	// apply zebra coloring
	if (jQuery('.events').length) {
		jQuery('table tr:odd', '.events').addClass('even');
	}

	// reposition buttons
	if (jQuery('.buttonbar').length) {
		var nrOfButs = jQuery('.buttonbar').find('a').length;
		if (nrOfButs == 1) {jQuery('.buttonbar').addClass("singleButton")};
		if (nrOfButs == 2) {jQuery('.buttonbar').addClass("doubleButton")};
		if (nrOfButs == 3) {jQuery('.buttonbar').addClass("tripleButton")};
	}
	
		
});


jQuery.fn.printButton = function() {	
	var printlink =
		(jQuery(document.createElement('a'))
		.attr('href','javascript:void(0)')
		.attr('title','print deze pagina')
		.bind("mousedown", function(e){window.print();}))
		.append(jQuery(document.createTextNode('Print')));
	this.prepend(printlink)
};


function initEduSelector() {
	
	var classcalc = "navigator-calc";
	var classactive = "navigator-js";

	//temporarily add calculation className for navigator height calculation
	jQuery('#navigator').addClass(classactive).addClass(classcalc);
	//calculate required height
	var ctrheight = jQuery('#navigator').height();
	jQuery('#logbox p').text("javascript detected container height: "+ctrheight+"px");
	//remove calculation className 
	//min-fast hack adjustment according to calculated height
	//create container for detail information
	jQuery('#navigator')
		.removeClass(classcalc)	
		.css({'height':ctrheight,'min-height':ctrheight})
		.prepend(jQuery(document.createElement('div')).addClass('clusterdetails'));
	
	
	//register navigator events

	jQuery('#navigator h3').click(function(){
		if (!jQuery(this).hasClass('active'))
		{
			jQuery('.clusterlist','#navigator').hide();
			jQuery('.clusterdetails','#navigator').hide();
			jQuery('.active').removeClass('active');
			jQuery(this).addClass('active').next('ul').show('slide',200);
		}
	})

	jQuery('ul.clusterlist li','#navigator').click(function(){
		jQuery(this).siblings('.active').removeClass().end().addClass('active');	
		jQuery('.clusterdetails')
			.empty()
			.show()
			.append(jQuery('.cluster',this).clone())
			.children().show('slide',200);
	});

	// apply zebra coloring
	jQuery('ul li:even','ul.clusterlist li .cluster').addClass('even');

}



function initMainnav() {

	//helper function: calculate height of highest mainnav dropdown item
	function maxHeight() {	
		var heightArray = []; 
		jQuery('.mainitem ul',mainnav).each(function(intIndex){ 
			heightArray.push(jQuery(this).height());
		});
		return Math.max.apply(null, heightArray);	
	}
	
	var navigation = jQuery("#navigation");
	var mainnav = jQuery("#mainnav");
	var dropheight = maxHeight();
	
	// set height of UL's in drop down to zero
	jQuery('.mainitem ul',mainnav)
		.css('height','0')
			.mouseenter(function(){
				jQuery(this).addClass("over");
				jQuery(this).prev().addClass("over");
			})
			.mouseleave(function(){
				jQuery(this).removeClass("over");
				jQuery(this).prev().removeClass("over");
			});

	// set mainnav mouseover behaviour
	navigation.mouseenter(function(){
		jQuery(this).addClass('opened').css({'height':'auto','overflow':'visible'});	
		jQuery('ul',mainnav).stop().animate({ 'height': dropheight }, 250);			
	});
	// set mainnav mouseout behaviour
	navigation.mouseleave(function(){
		jQuery('ul',mainnav).stop().animate({ 'height': 0 }, 10, function() {
			navigation.removeClass('opened').css({'height':'65px','overflow':'hidden'});
		});
	});
	
}


function initGallery() {
	jQuery(".gallery a",".maincontent").fancybox({
		'transitionIn'	:	'fade',
		'transitionOut'	:	'fade',
		'speedIn'		:	300, 
		'speedOut'		:	50, 
		'overlayShow'	:	true,
		'overlayOpacity':	0.8,
		'overlayColor'	:	'#000',
		'showNavArrows'	:	true,
		'cyclic'	:	true
	});
}

function initSlideShow() {
	
	var slideShow = jQuery("#slideShow");
	var slideWidth = slideShow.width();
	
	//calculate canvas width
	var totalslides= jQuery(".slide",slideShow).length-1;
	var canvasWidth = -(totalslides-1)*slideWidth;	
	var slideSpeed = 1;
	var WaitTime = 10;
	var timeUnit = 600; //timeUnit = seconds
	var speed = slideSpeed * timeUnit
	var slideTimer = null;
	var activeSlide = 0; //which slide is active
	var loopmode = "circular" // [linear|circular]
	var indexmode = "thumb" // [number|image|thumb] default="number"
	
	
	//init directaccess ----------

	jQuery(".slide",slideShow).each(function(i){
		var indexlist = jQuery(document.createElement('li'));
		var indexlink = jQuery(document.createElement('a')).attr('href','javascript:void(0)');
		var indexbutton;
		if (indexmode=="thumb") { indexbutton = indexlist.append(indexlink.append(jQuery(".slider-bg",jQuery(this)).clone())); } 
		else { indexbutton = indexlist.append(indexlink.append(i));	}
		jQuery(".directaccess ul").append(indexbutton);
		if (i==0) {jQuery(".slider-fg",this).fadeIn(350)};
	})
	
	var thumbWidth = jQuery(".directaccess li",slideShow).outerWidth();
		
	jQuery(".directaccess a").bind("click",function(e){
		stop(e);
		var position = jQuery(".directaccess a").index(jQuery(this));
		slide(position);
	})

	if (loopmode == "circular")
	{

	}

	//init nextPrev ----------

	slideShow.bind("mouseenter", function () {
		jQuery(".prevnext",slideShow).fadeIn(150);
		clearInterval(slideTimer)
	});

	slideShow.bind("mouseleave", function () {
		jQuery(".prevnext",slideShow).fadeOut(50);
		clearInterval(slideTimer);
		autoplay();
	});

	jQuery(".next",slideShow).bind("click",function(e){slideNext();});
	jQuery(".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 {slide(0)}
	}

	function slidePrev() {
		if (activeSlide==0) {slide(totalslides)} 
		else {slide(activeSlide-1)}
	}

	function slide(pos) {
		jQuery(".slider-fg",slideShow).hide();
		jQuery("#canvas",slideShow).animate({"margin-left":-slideWidth*pos},speed/2,function(){
			jQuery(".slider-fg",slideShow).fadeIn(350);
		})				    
		jQuery(".current",slideShow).animate({"margin-left":pos*thumbWidth},timeUnit/2);
		activeSlide = pos;
	}
	
	//start the show
	autoplay();
	
}

function jsUpdateGuardianFieldWithPersonData(field_guardian, field_person) {
    var field_guardian_address_obj = document.getElementById(field_guardian);

    if (field_guardian_address_obj == null || field_guardian_address_obj == undefined) {
        alert("xxx guardian field " + field_guardian + " not found");
        return;
    }

    var field_address_obj = document.getElementById(field_person);

    if (field_address_obj == null || field_address_obj == undefined) {
        alert("xxx person field " + field_person + " not found");
        return;
    }

    //        alert(field_guardian_address_obj.value);

    field_guardian_address_obj.value = field_address_obj.value;
}



