$( document ).ready(function(){
	if( $( '.promo_item' ).length < 6 ){
		$( '#vorige' ).css( { 'visibility':'hidden' });
		$( '#volgende' ).css( { 'visibility':'hidden' } );
	}else{
		$( '#vorige' ).bind( 'click', function(){previous_promo();} );
		$( '#volgende' ).bind( 'click', function(){next_promo(); } );
	}
	
	active_menu( 'nav' );
	
	genereer_maand( Huidige_maand )
	
	$( '.slideToggle' ).slideToggle( 0 );
	$( '.slideToggle' ).addClass( 'closed' );
	$( '.slideActivator' ).bind( 'click', function(){ slide_activator( this ); } );
	
	$( '#slidernav ul li a' ).bind( 'click', function(){ check_target(); });
	
	$( '#gb_formulier' ).slideToggle( 0 );
	$( '#toon_gb_form' ).bind( 'click', function(){
		$(this).text($(this).text() == 'Een nieuw bericht plaatsen.' ? 'verberg formulier' : 'Een nieuw bericht plaatsen.');
		$( '#gb_formulier' ).slideToggle( 500, 'swing' );
	});

	check_target();
});

function check_target(){
	setTimeout( function(){
		var url = window.location;

		$.ajax({
			type: "POST",
			url: "ajax_target_id.php",
			data: "url=" + url,
			success: function(msg){
				if( msg !== 'false' ){
					slide_activator( '#' + msg );
				}
			}
		 });
		
	}, 300 );
}

function AddSmile(SmileCode) { 
	var txtBericht = document.getElementById('txtBericht');
	txtBericht.value += SmileCode; 
	txtBericht.focus(); 
	return; 
}

function slide_activator( e ){
	$( '.open' ).slideToggle( 700, 'swing', function(){
		$( '.open' ).addClass( 'closed' );
		$( '.closed' ).removeClass( 'open' );
	} );
	if( $( e ).next( '.slideToggle' ).hasClass( 'open' ) === false ){
		
	
		$( e ).next( '.slideToggle' ).slideToggle( 700, 'swing', function(){
			if( $( e ).next( '.slideToggle' ).hasClass( 'closed' ) ){
				$( e ).next( '.slideToggle' ).removeClass( 'closed' );
				$( e ).next( '.slideToggle' ).addClass( 'open' );
			}
		});
	}else{
		
	}
}

$( window ).load( function(){
	$('.slider').nivoSlider({	
		effect: 'fade', 
		pauseOnHover:false,
		animSpeed:1000,
		pauseTime:4000,
		directionNav:false, // Next & Prev navigation
		directionNavHide:false, // Show on hover
		controlNav:false // 1,2,3... navigation
	});
	
	$('.nivo_slider').nivoSlider({	
		effect: 'fade', 
		pauseOnHover:false,
		animSpeed:100,
		pauseTime:500,
		directionNav:false, // Next & Prev navigation
		directionNavHide:false, // Show on hover
		controlNav:false // 1,2,3... navigation
	});

	
	
	$( '.nivo_slider' ).bind( 'mouseover', function(){
		$( this ).data( 'nivoslider' ).start();
	} );
	$( '.nivo_slider' ).bind( 'mouseout', function(){
		$( this ).data( 'nivoslider' ).stop();
	} );
	
	$( '.nivo_slider' ).bind( 'click', function(){
		var href = $( this ).next( 'a' ).attr( 'href' );
		window.location = href;
	} );
	
	$('#slider').cycle({
		  fx:     'fade',
		  speed:  'slow',
		  timeout: 5000,
		  pager:  '#slider_nav',
		  pagerAnchorBuilder: function(idx, slide) {
			//return '#slider_nav li:eq(' + (idx) + ') a';
		  }
	});
	
	for( var i = 0; i < $( '.nivo_slider' ).length; i++ ){
		$( '.nivo_slider:eq(' + i + ')' ).data( 'nivoslider' ).stop();
	}
	
	//gastenboek
	$( '#oudere_berichten' ).bind( 'click', function(){
		get_gb( );
		return false;
	});
	
} );

function get_gb(){
	$( '#oudere_berichten' ).unbind( 'click' );
	$( '#oudere_berichten' ).html( "<span class='small'>Bezig met ophalen oudere berichten...</span>" );
	$.ajax({
		type: "POST",
		url: "/temp/fecomo/ajax_gb.ajax.php",
		data: "",
		success: function(msg){
			$( '#oudere_berichten' ).remove();
			$( '#content' ).append( msg );
			$( '#oudere_berichten' ).bind( 'click', function(){
				get_gb( );
				return false;
			});
		}
	});
}


function next_promo(){
	$( '.promo_item:last' ).insertBefore( '.promo_item:first' ); //laatste vooraan plaatsen

	$( '.promo_item:first' ).css( { 'margin-left':'-162px'} );
	$( '.promo_item:first' ).animate( {
						   	'margin-left':'0'
						   }, 500, 'swing');
}

function previous_promo(){
	$( '.promo_item:first' ).animate( {
		'margin-left':'-162'
		}, 500, 'swing', function(){
			$( '.promo_item:first' ).css({ 'margin-left':'0',
				'top':'0',
				'left':'0',
				'width':'160px',
				'height':'90px',
				'margin-right':'10px'
			});
		$( '.promo_item:first' ).insertAfter( '.promo_item:last' );
	});
}

function active_menu( containerID ){
	var container = document.getElementById( containerID );
	if( container ){
		var anchors = container.getElementsByTagName( 'a' );
		for( var i = 0; i < anchors.length; i++ ){
			var a_href = anchors[i].href;
			var huidige_pagina = location.href;
			//php gets verwijderen...
			huidige_pagina = huidige_pagina.split( '?' );
			huidige_pagina = huidige_pagina[0];
			//anchor id's verwijderen
			huidige_pagina = huidige_pagina.split( '#' );
			huidige_pagina = huidige_pagina[0];
			
			var last_char = huidige_pagina.substring( huidige_pagina.length - 1 );
			if(  last_char == '/' ){
				huidige_pagina += 'index.php';
			}
			if( a_href == huidige_pagina ){
				$( anchors[i] ).addClass( 'active' );
				$( anchors[i] ).parent().addClass( 'active' );
			}
		}
	}
}

/*
 * Kalender
 */
 	var Ajax = new create_AJAX_Connection();
 	var currentTime = new Date();
	var Huidige_maand = currentTime.getMonth();
 
 	function create_AJAX_Connection(){
		if (window.XMLHttpRequest)
		{
			xhttp=new XMLHttpRequest();
		}
			else /* IE */
		{
			xhttp=new ActiveXObject('Microsoft.XMLHTTP');
		}
		return xhttp;
	}
 
	function vorige_maand(){
		Huidige_maand--;
		genereer_maand(Huidige_maand);
		return false;
	}
	
	function volgende_maand(){
		Huidige_maand++;
		genereer_maand(Huidige_maand);
		return false;
	}
	
	function genereer_maand(maand){
		Ajax.onreadystatechange = kalender_tonen;
		Ajax.open('GET','/ajax_kalender.ajax.php?maand='+maand,true);
		Ajax.send();
	}
	
	function kalender_tonen(){
		if(Ajax.readyState == 4 && Ajax.status == 200) {
			var div_kalender = document.getElementById('kalender');
			div_kalender.innerHTML = Ajax.responseText;
			$( '#kalender a' ).bind( 'click', function(){ check_target(); });
		}
	}
	
/*
 * jquery ease
 */
 
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});
