$(function () {
	/* Linkerkant en Rechterkant tonen of verbergen + class op id content div */
	if ($('#subnavigatie:has(ul)').length == 0 && $('#CCIPlaceHolder_Rechterkant').is(':empty') || $('#rechterkant').length == 0){
		$('#container').addClass('volledig_breed');
	}
	else if ($('#subnavigatie:has(ul)').length == 0) {
		$('#container').addClass('breed');
	} 
	else if ($('#CCIPlaceHolder_Rechterkant:empty')){
		$('#container').addClass('breed');
	} 
	function recordOutboundLink(link, category, action) { 
	try { 
	  var pageTracker=_gat._getTracker("UA-20587678-1"); 
	  pageTracker._trackEvent(category, action); 
	  setTimeout('document.location = "' + link.href + '"', 100) 
	  }catch(err){} 
	} 
	if($('#subnavigatie:has(ul)').length !== 0){
		$("#CCIPlaceHolder_Linkerkant").css("display","block");
	}
	$("#CCIPlaceHolder_Rechterkant:empty").parent().remove();
	
	/* Gallery inladen */	
	if (window.initGallery) { initGallery() }
	
	/* Twitter inladen */
	$(".tweet").tweet({
		join_text: "auto",
		avatar_size: 30,
		count: 2,
		auto_join_text_default: "",
		auto_join_text_ed: "",
		auto_join_text_ing: "",
		auto_join_text_reply: "",
		auto_join_text_url: "",
		loading_text: "Tweets laden..."
	}).bind("empty", function () { $(this).append("Geen tweets gevonden"); });
	
	$(".tweets_overzicht").tweet().bind("empty", function () { $(this).append("Geen tweets gevonden"); });
	
    /* Indien ingelogd */
    var showGotoMyProfile = function(id) {
        if (!document.getElementById(id))
            return;
        var el = document.getElementById(id);
        el.innerHTML = 'U bent al ingelogd, klik <a href="/ledennet/homepage">hier</a> om naar het ledennet te gaan.';
        el.style.visibility = "visible";
    }
    showGotoMyProfile('text_loggedin');

    $("#login_form_container:has('#text_loggedin')").addClass("ingelogd");
	
	initFontResize();
	initShowCase();
	initShowCase_vervolg();
	
	/* Sitemap in Footer plaatsen */
	$("#sitemap0").children().appendTo($("#sitemap"));
	$("#sitemap0").remove(); 

	$('#btnContentSearch').click(function () {
		searchSubmit($(this));
		return false;
	});
	
	var searchSubmit = function (sNode) {
		var theForm = $(sNode).parent();
		var searchInputText = $(theForm).find('input:text');
		var searchInputHidden = $(theForm).find('input:hidden');
		searchTerm = encodeURIComponent(searchInputText.val());
		if (searchTerm.length > 2) {
			$("form").submit(function () { return false });
			var searchUrl = searchInputHidden.val();
			searchUrl += searchTerm;
			window.location = searchUrl;
		} else {
			alert('Vul minstens drie tekens in om te zoeken.');
			return false;
		}
	}
	$(".zoekformulier input:text").each(function () {
		$(this).keydown(
				function (e) {
					if (e.keyCode == 13) {
						searchSubmit($(this));
						return false;
					}
				}
			);
		$(this).focus(
				function () {
					this.value = '';
				}
			);
		$(this).blur(
				function () {
					if (this.value == '') {
						this.value = 'Vul zoekterm in';
					}
				}
			)
	})
	var removeEmptyOptionalElements = function (s) {
		if (typeof s == "undefined") s = $("body");
		s.find(".blok, .tekst, .extra, .afbeelding, h2, h3, li").each(
			function () {
				var t = "";
				removeEmptyOptionalElements($(this));
				t = $.trim($(this).text().replace(/&nbsp;/g, ' '));
				if (t === "" && $(this).find("img,input,textarea,option,object,embed").length == 0) {
					$(this).remove();
				}
			}
		);
	}
	removeEmptyOptionalElements();
	
	/* Tijdlijn */
	$(".vlag").click(function(){
		$(".vlag").removeClass("actief");
		$(this).addClass("actief");
	});

	
});
function initFontResize(){
	if (document.getElementById("tekstgrootte")){
		document.getElementById("tekstgrootte").style.visibility="visible";
	}
	setFont();
	
	$("#fontGrootteM").click(function() {
		setFont("");return false;
	});

	$("#fontGrootteL").click(function() {
		setFont("groot");return false;
	});

	$("#fontGrootteXL").click(function() {
		setFont("extra_groot");return false;
	});
}
function setFont(fontSize) {
	var fontSize = (fontSize != undefined ? fontSize : $.cookie("fontType"));
	if (fontSize != "groot" && fontSize != "extra_groot") fontSize = "";

	$.cookie("fontType", fontSize, {path:'/',expires:366});
	var pContainer = $("#pagina");
	// '#CCIPlaceHolder_Top, #CCIPlaceHolder_Linkerkant, #CCIPlaceHolder_Content, #CCIPlaceHolder_Rechterkant'
	if (fontSize == "groot") {
		pContainer.addClass("groot").removeClass("extra_groot");
	}else if (fontSize == "extra_groot") {
		pContainer.removeClass("groot").addClass("extra_groot");
	} else {
		pContainer.removeClass("extra_groot").removeClass("groot");
	}
	return false;
}

$.fn.tweet = function (o) {
	var s = {
		username: ["keeszwetsloot", "KatjaJonker", "BobCommandeur", "deCBM"],                // [string]   required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"]
		
		list: null,                               // [string]   optional name of list belonging to username
		avatar_size: 30,                        // [integer]  height and width of avatar if displayed (48px max)
		count: 300,                                 // [integer]  how many tweets to display?
		intro_text: null,                         // [string]   do you want text BEFORE your your tweets?
		outro_text: null,                         // [string]   do you want text AFTER your tweets?
		join_text: "auto",                         // [string]   optional text in between date and tweet, try setting to "auto"
		auto_join_text_default: "",        // [string]   auto text for non verb: "i said" bullocks
		auto_join_text_ed: "",                   // [string]   auto text for past tense: "i" surfed
		auto_join_text_ing: "",               // [string]   auto tense for present tense: "i was" surfing
		auto_join_text_reply: "",     // [string]   auto tense for replies: "i replied to" @someone "with"
		auto_join_text_url: "",   // [string]   auto tense for urls: "i was looking at" http:...
		loading_text: "Tweets laden...",                       // [string]   optional loading text, displayed while tweets load
		query: null,                              // [string]   optional search query
		tag: "CBM",
		refresh_interval: null,                  // [integer]  optional number of seconds after which to reload tweets
		twitter_url: "twitter.com",               // [string]   custom twitter url, if any (apigee, etc.)
		twitter_api_url: "api.twitter.com",       // [string]   custom twitter api url, if any (apigee, etc.)
		twitter_search_url: "search.twitter.com"  // [string]   custom twitter search url, if any (apigee, etc.)
	};

	if (o) $.extend(s, o);

	$.fn.extend({
		linkUrl: function () {
			var returning = [];
			var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
			this.each(function () {
				returning.push(this.replace(regexp, "<a href=\"$1\">$1</a>"));
			});
			return $(returning);
		},
		linkUser: function () {
			var returning = [];
			var regexp = /[\@]+([A-Za-z0-9-_]+)/gi;
			this.each(function () {
				returning.push(this.replace(regexp, "<a href=\"http://" + s.twitter_url + "/$1\">@$1</a>"));
			});
			return $(returning);
		},
		linkHash: function () {
			var returning = [];
			var regexp = /(?:^| )[\#]+([A-Za-z0-9-_]+)/gi;
			this.each(function () {
				returning.push(this.replace(regexp, ' <a href="http://' + s.twitter_search_url + '/search?q=&tag=$1&lang=all&from=' + s.username.join("%2BOR%2B") + '">#$1</a>'));
			});
			return $(returning);
		},
		capAwesome: function () {
			var returning = [];
			this.each(function () {
				returning.push(this.replace(/\b(awesome)\b/gi, '<span class="awesome">$1</span>'));
			});
			return $(returning);
		},
		capEpic: function () {
			var returning = [];
			this.each(function () {
				returning.push(this.replace(/\b(epic)\b/gi, '<span class="epic">$1</span>'));
			});
			return $(returning);
		},
		makeHeart: function () {
			var returning = [];
			this.each(function () {
				returning.push(this.replace(/(&lt;)+[3]/gi, "<tt class='heart'>&#x2665;</tt>"));
			});
			return $(returning);
		}
	});

	function parse_date(date_str) {
		// The non-search twitter APIs return inconsistently-formatted dates, which Date.parse
		// cannot handle in IE. We therefore perform the following transformation:
		// "Wed Apr 29 08:53:31 +0000 2009" => "Wed, Apr 29 2009 08:53:31 +0000"
		return Date.parse(date_str.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, '$1,$2$4$3'));
	}

	function relative_time(time_value) {
		var parsed_date = parse_date(time_value);
		var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
		var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
		var r = '';
		if (delta < 60) {
			r = delta + ' seconden geleden';
		} else if (delta < 120) {
			r = 'een minuut geleden';
		} else if (delta < (45 * 60)) {
			r = (parseInt(delta / 60, 10)).toString() + ' minuten geleden';
		} else if (delta < (2 * 60 * 60)) {
			r = 'een uur geleden';
		} else if (delta < (24 * 60 * 60)) {
			r = '' + (parseInt(delta / 3600, 10)).toString() + ' uur geleden';
		} else if (delta < (48 * 60 * 60)) {
			r = 'een dag geleden';
		} else {
			r = (parseInt(delta / 86400, 10)).toString() + ' dagen geleden';
		}
		return 'ongeveer ' + r;
	}

	function build_url() {
		var proto = ('https:' == document.location.protocol ? 'https:' : 'http:');

		var query = ('from:'+s.username.join(' OR from:'));
		return proto + '//' + s.twitter_search_url + '/search.json?tag='+ s.tag + '&q=' + query + '&rpp=' + s.count + '&callback=?';
	}


	return this.each(function (i, widget) {
		var list = $('<ul class="tweet_list">').appendTo(widget);
		var intro = '<p class="tweet_intro">' + s.intro_text + '</p>';
		var outro = '<p class="tweet_outro">' + s.outro_text + '</p>';
		var loading = $('<p class="loading">' + s.loading_text + '</p>');

		if (typeof (s.username) == "string") {
			s.username = [s.username];
		}

		if (s.loading_text) $(widget).append(loading);
		$(widget).bind("load", function () {
			$.getJSON(build_url(), function (data) {
				if (s.loading_text) loading.remove();
				if (s.intro_text) list.before(intro);
				list.empty();
				var tweets = (data.results || data);
				$.each(tweets, function (i, item) {
					// auto join text based on verb tense and content
					if (s.join_text == "auto") {
						if (item.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)) {
							var join_text = s.auto_join_text_reply;
						} else if (item.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)) {
							var join_text = s.auto_join_text_url;
						} else if (item.text.match(/^((\w+ed)|just) .*/im)) {
							var join_text = s.auto_join_text_ed;
						} else if (item.text.match(/^(\w*ing) .*/i)) {
							var join_text = s.auto_join_text_ing;
						} else {
							var join_text = s.auto_join_text_default;
						}
					} else {
						var join_text = s.join_text;
					};

					var from_user = item.from_user || item.user.screen_name;
					var profile_image_url = item.profile_image_url || item.user.profile_image_url;
					var join_template = '<span class="tweet_join"> ' + join_text + ' </span>';
					var join = ((s.join_text) ? join_template : ' ');
					var avatar_template = '<a class="tweet_avatar" target="_blank" href="http://' + s.twitter_url + '/' + from_user + '"><img src="' + profile_image_url + '" height="' + s.avatar_size + '" width="' + s.avatar_size + '" alt="' + from_user + '\'s avatar" title="' + from_user + '\'s avatar" border="0"/></a><a href="http://' + s.twitter_url + '/' + from_user + '" target="_blank" class="gebruiker">' + from_user + '</a>';
					var avatar = (s.avatar_size ? avatar_template : '');
					var date = '<span class="tweet_time"><a href="http://' + s.twitter_url + '/' + from_user + '/statuses/' + item.id_str + '" target="_blank" title="view tweet on twitter">' + relative_time(item.created_at) + '</a></span>';
					var text = '<span class="tweet_text">' + $([item.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0] + '</span>';

					// until we create a template option, arrange the items below to alter a tweet's display.
					list.append('<li>' + avatar + join + text + date + '</li>');

					list.children('li:first').addClass('tweet_first');
					list.children('li:odd').addClass('tweet_even');
					list.children('li:even').addClass('tweet_odd');
				});
				if (s.outro_text) list.after(outro);
				$(widget).trigger("loaded").trigger((tweets.length == 0 ? "empty" : "full"));
				if (s.refresh_interval) {
					window.setTimeout(function () { $(widget).trigger("load"); }, 1000 * s.refresh_interval);
				};
			});
		}).trigger("load");
	});
};
var initShowCase = function() {
	var current = $("#showCase .case:first");
	current.find(".item").css("display", "block");
	$("#showCase .case").each(
		function() {
			var link = $(this).find("h2 a").attr("href");
			$(this).find(".tekst a").attr("href", link);
			$(this).hover(
				function() {
					current.removeClass("active");
					current.find(".item").css("display", "none");
					current = $(this);
					$(this).addClass("active");
					$(this).find(".item").css("display", "block");
				},
				function() { }
			)
		}
	);
}
var initShowCase_vervolg = function() {
	var current = $("#showCase2 .case:first");
	current.find(".item").css("display", "block");
	$("#showCase2 .case").each(
		function() {
			$("#showCase2 .case h2").hover(
				function() {
					current.removeClass("active");
					current.find(".item").css("display", "none");
					current = $(this).parent();
					$(this).parent().addClass("active");
					$(this).parent().find(".item").css("display", "block");
				},
				function() { }
			)
		}
	);
}
/** Cookie plugin * Copyright (c) 2006 Klaus Hartl (stilbuero.de)* Dual licensed under the MIT and GPL licenses:* http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */

jQuery.cookie = function(name, value, options){
	if (typeof value != 'undefined'){ // name and value given, set cookie
		options = options || {};
		if (value === null){
			value = '';
			options.expires = -1;
		}
		var expires = '';
		if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)){
			var date;
			if (typeof options.expires == 'number'){
				date = new Date();
				date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
			} else{
				date = options.expires;
			}
			expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
		}
		// CAUTION: Needed to parenthesize options.path and options.domain
		// in the following expressions, otherwise they evaluate to undefined
		// in the packed version for some reason...
		var path = options.path ? '; path=' + (options.path) : '';
		var domain = options.domain ? '; domain=' + (options.domain) : '';
		var secure = options.secure ? '; secure' : '';
		document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
	} else{ // only name given, get cookie
		var cookieValue = null;
		if (document.cookie && document.cookie != ''){
			var cookies = document.cookie.split(';');
			for (var i = 0; i < cookies.length; i++){
				var cookie = jQuery.trim(cookies[i]);
				// Does this cookie string begin with the name we want?
				if (cookie.substring(0, name.length + 1) == (name + '=')){
					cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
					break;
				}
			}
		}
		return cookieValue;
	}
};
