$(document).ready(function(){

	// flash inladen
	// als een div aangemaakt wordt met als class "js_flash",
	// en als inhoud het absolute pad naar de flash en de variable
	// wordt deze automatisch ingeladen
	$('.js_flash').each(function(){
		slideshowvars = $(this).find('.js_flashlink').html();
		//strip HTML comment from flash vars
		slideshowvars = slideshowvars.replace(/^<!--/, "");
		slideshowvars = slideshowvars.replace(/-->$/, "");
		slideshowheight = $(this).css('height');
		slideshowwidth = $(this).css('width');
		$(this).html("");
		$(this).flash({
	    	src: slideshowvars,
	    	width: slideshowwidth,
	    	height: slideshowheight,
			wmode: 'transparent',
			allowFullScreen: 'true'
		});
	});



	// Staqndaard image colorbox
	// rel is voor als er genavigeerd moet kunnen worden
	// <a class="js_colorbox" rel="testblaat" href="/public/img/video2.jpg">klik</a>
	// <a class="js_colorbox" rel="testblaat" href="/public/img/banner.jpg">klik</a>
	$('.js_colorbox').each(function(){
		$('.js_colorbox').colorbox({
			transition:'elastic'
		});
	});

	// Html tonen in colorbox:
	// <a class="js_htmlcolorbox" rel="idvanjehtmldiv">Klik</a>

	$('.js_htmlcolorbox').each(function(){
		$('.js_htmlcolorbox').click(function(){
			var targetid = $(this).attr('rel');
			if (typeof targetid == 'undefined' || targetid == '') return ;

			$(this).colorbox({
				open: true,
				inline:true,
				transition:'none',
				width: 842,
				height: 574,
				href:"#" + targetid
			});
		});
	});

	$('.js_popup').each(function(){
		var breedte = $(this).find('.js_refslider img').length * 87;
		$(this).find('.js_navi').css('width',breedte+'px');
	});

	var navbreedte = $(this).closest('.js_popup').find('.js_refslider img').length * 87;
	var newPosition = 0;

	$('.js_rechts').click(function () {
		var navi = $(this).closest('.js_naviholder').find('.js_navi');

		oldPosition = newPosition;
		newPosition -= 783;

		if (newPosition < 783-$('.js_navi').width())
		{
			newPosition = 783-$('.js_navi').width();
		}

		if (newPosition != oldPosition)
		{
			navi.animate({'left': newPosition+'px'}, 'slow');
		}
	});

	$('.js_links').click(function () {
		var navi = $(this).closest('.js_naviholder').find('.js_navi');

		oldPosition = newPosition;
		newPosition += 783;

		if (newPosition > 0)
		{
			newPosition = 0;
		}

		if (newPosition != oldPosition)
		{
			navi.animate({'left': newPosition+'px'}, 'slow');
		}
	});

	// Contact form tonen in colorbox:
	// Verschil met htmlcolorbox is dat deze de pagina herlaadt als hij sluit (om form te resetten)
	// <a class="js_contactcolorbox" rel="idvanjehtmldiv">Klik</a>

	$('.js_contactcolorbox').each(function(){
		$('.js_contactcolorbox').click(function(){
			var targetid = $(this).attr('rel');
			if (typeof targetid == 'undefined' || targetid == '') return ;

			$(this).colorbox({
				open: true,
				inline:true,
				transition:'none',
				href:"#" + targetid,
				onClosed:function(){
					// pagina herladen
					if(ajaxFormChanged) {
						window.location.href = window.location.href;
					}
				}
			});
		});
	});

	// Youtube movie tonen in colorbox:
	// rel is voor als er genavigeerd moet kunnen worden
	// <a class="js_youtubecolorbox" rel="testblaat" href="http://www.youtube.com/v/[movie-id]">Klik</a>
	// <a class="js_youtubecolorbox" rel="testblaat" href="http://www.youtube.com/v/[movie-id]">Klik</a>

	$('.js_youtubecolorbox').each(function(){
		$('.js_youtubecolorbox').colorbox({
			iframe:true,
			innerWidth: 640,
			innerHeight:505,
			transition:'elastic'
		});
   });


	// Klapblokken
	if (0 < $('.js_uitklapblokken').length)
	{
		$('.js_uitklaplink').click(function ()
		{
			var obj = $(this).parents('.js_uitklapblok:first').find('.js_uitklapdetail:first');

			if (!$(this).hasClass('js_keepothers')) //andere blokken sluiten
			{
				$(this).parents('.js_uitklapblokken').find('.js_uitklapdetail').each(function(){
					if (!$(this).hasClass('js_dontclose')) //dit blok niet altijd open houden
					{
						$(this).slideUp();
						$(this).find('.js_uitklaplink').removeClass('open');
					}
				})
			}

			//overal active verwijderen
			$(this).parents('.js_uitklapblokken').find('.js_uitklaplink').removeClass('active');

			if (obj.css('display')=='none') //geklikt item openen
			{
				obj.slideDown('fast', function(){$(this).css('display', 'block');}); //callback zodat het in IE8 nog steeds werkt
				$(this).addClass('active');
				$(this).addClass('open');
			}
			else //geklikt item sluiten
			{
				obj.slideUp('fast');
				$(this).removeClass('open');
			}
		});
	}

	// slideshow (functie voor extern bedienen onderaan document)
	$('.js_slideshow').each(function()
	{
		$(this).before('<div class="nav absolute js_nav">')
		.cycle({
			fx:     'scrollDown',
			easeIn:  'easeInOutQuint',
			easeOut:  'easeInOutQuint',
			speed:  2000,
			timeout: 2000,
			pager:  '.js_nav'
		});
	});
	$('.js_refslider').cycle({
		fx: 'fade',
		speed: 300,
		timeout: 5000,
		pager:  '.js_navi',
		pagerAnchorBuilder: function(idx, slide) {
			return '<a href="#" title=""><img src="' + slide.src + '" width="80" height="60" /></a>';
		}
	});


	$('.js_refslider').cycle('pause');
	$('.js_play').click(function() {
		var play = $(this).closest('.js_popup').find('.js_refslider');
		$('.js_refslider').cycle('resume');
		$('.js_play').css('display' , 'none');
		$('.js_pauze').css('display' , 'block');
		return false; });
	$('.js_pauze').click(function() {
		var pause = $(this).closest('.js_popup').find('.js_refslider');
		$('.js_refslider').cycle('pause');
		$('.js_pauze').css('display' , 'none');
		$('.js_play').css('display' , 'block');
		return false; });



	// laatste x pagina's opslaan
    var cLastPages = $.cookie('lastpages');
    var lastPages = new Array();
    if (cLastPages) {
        lastPages = cLastPages.split("\\");
    }
    lastPages.push(document.location);
    while(10 < lastPages.length) {
        lastPages.shift();
    }
    var joined = lastPages.join("\\");
	var date = new Date();
    date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000));
    $.cookie('lastpages', joined, {path: '/', expires: date});

    $('.js_lastpagesfield').each( function() {
        $(this).attr('value',joined);
    });

	//field hints
	$(".js_hintfield").each(function(i) {
        var beginStyle = $(this).attr("style");
		$(this).addClass("js_hint");
		$(this).val($(this).attr("title"));

        $(this).bind("focus", function(e) {
            if ($(this).val() == $(this).attr("title")) {
                $(this).val("");
				$(this).removeClass("js_hint");
            }
        });
        $(this).bind("blur", function(e) {
            if ($(this).val() == "") {
				$(this).addClass("js_hint");
				$(this).val($(this).attr("title"));
            } else {
				$(this).removeClass("js_hint");
			}
        });
    });

	//submit form link
	$('.js_submitform').click(function(){
		$(this).parents('form:first').submit();
		return false;
	})

	//AJAX FORMS automatisch
	if (typeof $().ajaxForm == 'function')
	{
		$('form.js_ajaxform').each(function(){
			$(this).append('<input type="hidden" name="ajax_post" value="oke" />');
			var form = $(this);
			$(this).ajaxForm({
				dataType: 'json',
				beforeSerialize: function(){
					form.find('.js_hint').val('');
				},
				beforeSubmit: function(){
					form.parent().find('.js_errormelding').remove();
				},
				success: function(response){
					if (response.success)
					{
						form.html('<p>'+response.message+'</p>');

						if ( typeof _gaq == 'object' )
							_gaq.push(['_trackPageview', location.pathname + '-bedankt']);
						else if ( typeof pageTracker == 'object' )
							pageTracker._trackPageview( location.pathname + '-bedankt' );
					}
					else if (response.message)
					{
						form.before($('<p class="foutmelding js_errormelding">'+response.message+'</p>'));
					}
					form.find('.js_hint').trigger('blur');
				}
			})
		})
	}
});
