$(function () {


	var showGotoMyProfile = function(id) {
		if (!document.getElementById(id))
			return;
		var el = document.getElementById(id);
		el.innerHTML = 'U bent nu ingelogd op het ledennet en u bevindt zich nu op de website. Klik <a id="text_loggedin_vervanging" href="\/ledennet">hier</a> hier om naar het ledennet te gaan.';
		el.style.visibility = "visible";
	}
	showGotoMyProfile('text_loggedin');

	initFontResize();
	tabSelect();

	 $(".acc_tw").tweet({
        join_text: "auto",
        avatar_size: 25,
        count: 3,
        auto_join_text_default: "", 
        auto_join_text_ed: "",
        auto_join_text_ing: "",
        auto_join_text_reply: "",
        auto_join_text_url: "",
        loading_text: "Tweets laden..."
     });
	if (window.initGallery) { initGallery() }

	/* Zoekformulier */
	$('.zoekknop').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 > 1) {
			$("form").submit(function () { return false });
			var searchUrl = searchInputHidden.val();
			searchUrl += searchTerm;
			window.location = searchUrl;
		} else {
			alert('Vul minstens twee tekens in om te zoeken.');
			return false;
		}
	}
	$("#zoek input:text").each(function () {
		$(this).keydown(
			function (e) {
				if (e.keyCode == 13) {
					searchSubmit($(this));
					return false;
				}
			}
		);
		$(this).focus(
			function () {
				this.value = '';
				//				this.className = 'zoekveld';
			}
		);
		$(this).blur(
			function () {
				if (this.value == '') {
					this.value = '';
					//					this.className = 'zoekveld';
				}
			}
		)
	}
	)

	$("div.leesmeer.kleur_onderin_blok:empty").hide();
	
	$("div#CCIPlaceHolder_Content .afbeelding:empty").remove();
	$("div#CCIPlaceHolder_Content .tekst .afbeelding:empty").remove();
	$("div#CCIPlaceHolder_Content .tekst:empty").remove();
	$("#slide_banner a:empty").remove();
	$(".advertensie:empty").remove();
	$(".inhoud_blok h2:empty").remove();
	$(".extra:empty").remove();
	$(".inhoud_blok .tekst:empty").remove();
	$(".inhoud_blok .extra:empty").remove();
	$(".inhoud_blok:empty").remove();
	$(".bestuur:empty").remove();
	$("input:radio").addClass("noBorder");
	$("input:checkbox").addClass("noBorder");
	$(".button_oranje:empty").remove();
	$("#website_meeting_url:empty").parent().remove();
	$("h2:empty").remove();
	$("h3:empty").remove();
	$(".tekst:empty").remove();
	$(".leesmeer:empty").remove();
	$(".border:empty").remove();
	$(".item:empty").remove();
		
	/* Accordeon functions */
	$("#Accordeon .inhoud:first").show();
	$('#Accordeon>h2>a').click(function () {
		  if ($(this).parent().hasClass('actief')) {
			  $(this).parent().next().slideUp('normal');
			  $(this).parent().removeClass('actief');
		  }
		  else {
			$('#Accordeon .inhoud').slideUp('normal');
			$('#Accordeon h2').removeClass('actief');
			$(this).parent().addClass('actief');
			$(this).parent().next().slideDown('normal');
		 }
		return false;
	});
	
	
	 $("#sitemap0").children().appendTo($("#sitemap"));
    $("#sitemap0").remove();
	$("#social_media").appendTo($("#contact_td"));
	/* Tab blogs */
	$("#Blokje_Blogs a#Tab1").click(function () {
		$("#Blokje_Blogs ul li").removeClass('actief');
		$(this).parent().addClass('actief');
		$("#Blokje_Blogs .inhoud").hide();
		$("#Blokje_Blogs #inhoud_1").show();
		return false;
	});
	$("#Blokje_Blogs a#Tab2").click(function () {
		$("#Blokje_Blogs ul li").removeClass('actief');
		$(this).parent().addClass('actief');
		$("#Blokje_Blogs .inhoud").hide();
		$("#Blokje_Blogs #inhoud_2").show();
		return false;
	});
	$("#Blokje_Blogs a#Tab3").click(function () {
		$("#Blokje_Blogs ul li").removeClass('actief');
		$(this).parent().addClass('actief');
		$("#Blokje_Blogs .inhoud").hide();
		$("#Blokje_Blogs #inhoud_3").show();
		return false;
	});
	
	$(".poll_archief_knop:empty").remove();
	$("#video_album li:nth-child(3n)").addClass("derde");
	$("#video_album_extern .text:empty").remove();
	$("div#video_album_extern .laatste:empty").remove();
	$("div#video_album_extern .line:empty").remove();
	$("#video_album_extern:empty").remove();

	$(".afbeelding:empty").remove();
	$(".blok.advertentie:empty").remove();

	jQuery.jQueryRandom = 0;
	jQuery.extend(jQuery.expr[":"],
	{
		random: function (a, i, m, r) {
			if (i == 0) {
				jQuery.jQueryRandom = Math.floor(Math.random() * r.length);
			};
			return (i == jQuery.jQueryRandom);
		}
	});
	$("#leden_thuiswinkel b").filter("b:empty").remove();
	$("#leden_thuiswinkel b").filter("b:random").show().css("display", "block");
	setInterval(function () { $("#leden_thuiswinkel b").hide(); $("#leden_thuiswinkel b").filter("b:random").show().css("display", "block"); }, 4000);


	$('li.klikbaar').click(function () {
		window.location = $('a', this).attr('href');
	});


	$("#video_album li").hover(
		function () {
			$(this).addClass("highlight");
		},
		function () {
			$(this).removeClass("highlight");
		}
	);

	initShowCase.goto(0);
});


function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
	}
	return null;
};


var initShowCase = function () {

	var container = "#showCase";
	var speed = 1000;
	var sec = 10;
	var xm;
	var items = $(container).find(".item");
	var cases;
	var current;
	var iCase = 1;

	items.find(".button_oranje:empty").remove();
	items.find(".tekst:empty, h3:empty").remove();
	items.filter(":empty").remove();
	items = $(container).find(".item");

	items.each(function () {
		$("ul.nav").append("<li><a href='#case_" + iCase + "'>" + iCase + "</a></li>")
		iCase = iCase + 1;
	});

	cases = $(container).find(".nav li");
	current = cases.filter(":eq(0)");

	items.fadeOut(0).removeClass("active");
	items.filter(":eq(0)").fadeIn(speed).addClass("active");
	var show = function (n) {
		current.removeClass("active");
		current = cases.filter(":eq(" + n + ")");
		current.addClass("active");
		var currentItem = items.filter(":eq(" + n + ")");
		if (!currentItem.hasClass("active")) {
			items.stop(true, true).fadeOut(speed).removeClass("active");
			currentItem.fadeIn(speed).addClass("active");
		}
		xm = setTimeout('initShowCase.goto(' + parseInt((n + 1) > cases.length - 1 ? 0 : n + 1) + ')', sec * 1000.0);
	}
	cases.each(
		function () {
			$(this).hover(
				function () {
					initShowCase.goto(cases.index($(this)));
				},
				function () { }
			)
		}
	);
	var clear_and_show = function (x) {
		window.clearTimeout(xm);
		show(x);
	};
	return (
		{
			goto: function (x) {
				clear_and_show(x);
			}
		}
	)
} ();

Date.prototype.setISO8601 = function(string) {
	var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
        "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
        "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
	var d = string.match(new RegExp(regexp));


	var date = new Date(d[1], 0, 1);

	if (d[3]) { date.setMonth(d[3] - 1); }
	if (d[5]) { date.setDate(d[5]); }
	if (d[7]) { date.setHours(d[7]); }
	if (d[8]) { date.setMinutes(d[8]); }
	if (d[10]) { date.setSeconds(d[10]); }
	if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }

	
	time = (Number(date) );
	this.setTime(Number(time));
}

Date.prototype.setISO8601 = function (string) {
    var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
        "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
        "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
    var d = string.match(new RegExp(regexp));

    var offset = 0;
    var date = new Date(d[1], 0, 1);

    if (d[3]) { date.setMonth(d[3] - 1); }
    if (d[5]) { date.setDate(d[5]); }
    if (d[7]) { date.setHours(d[7]); }
    if (d[8]) { date.setMinutes(d[8]); }
    if (d[10]) { date.setSeconds(d[10]); }
    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
    if (d[14]) {
        offset = (Number(d[16]) * 60) + Number(d[17]);
        offset *= ((d[15] == '-') ? 1 : -1);
    }

    // offset -= date.getTimezoneOffset();
    time = (Number(date) + (offset * 60 * 1000));
    this.setTime(Number(time));
}

Date.prototype.showDate = function(endDate){
	var d = this;
	
	var monthArray = ['jan','feb','mrt','apr','mei','jun','jul','aug','sept','okt','nov','dec'];
	var y = this.getYear();

	var t = "";
	t += this.getDate() + " ";
	t += monthArray[this.getMonth() ] + "  ";
	t += y> 1900 ? y : (y+1900);
	t += ", ";
	var hours = this.getHours();
	if (hours < 10) 
	{
		t += "0";
	}
	t += hours + ":";
	var minutes = this.getMinutes();
	if (minutes < 10) 
	{
		t += "0";
	}
	t += minutes;
	t += "  uur";
	return t;
}




$.fn.tweet = function (o) {
	var s = {
		username: ["thuiswinkelorg"],              // [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: 25,                      // [integer]  height and width of avatar if displayed (48px max)
		count: 3,                               // [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: null,                       // [string]   optional text in between date and tweet, try setting to "auto"
		auto_join_text_default: "i said,",      // [string]   auto text for non verb: "i said" bullocks
		auto_join_text_ed: "i",                 // [string]   auto text for past tense: "i" surfed
		auto_join_text_ing: "i am",             // [string]   auto tense for present tense: "i was" surfing
		auto_join_text_reply: "i replied to",   // [string]   auto tense for replies: "i replied to" @someone "with"
		auto_join_text_url: "i was looking at", // [string]   auto tense for urls: "i was looking at" http:...
		loading_text: null,                     // [string]   optional loading text, displayed while tweets load
		query: null,                            // [string]   optional search query
		refresh_interval: null                  // [integer]  optional number of seconds after which to reload tweets
	};

	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://twitter.com/$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://search.twitter.com/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 gelden';
		}
		return 'ongeveer ' + r;
	}

	function build_url() {
		var proto = ('https:' == document.location.protocol ? 'https:' : 'http:');
		if (s.list) {
			return proto + "//api.twitter.com/1/" + s.username[0] + "/lists/" + s.list + "/statuses.json?per_page=" + s.count + "&callback=?";
		} else if (s.query == null && s.username.length == 1) {
			return proto + '//api.twitter.com/1/statuses/user_timeline.json?screen_name=' + s.username[0] + '&count=' + s.count + '&include_rts=1&callback=?';
		} else {
			var query = (s.query || 'from:' + s.username.join(' OR from:'));
			return proto + '//search.twitter.com/search.json?&q=' + encodeURIComponent(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 = "//www.thuiswinkel.org/images/ftptw.jpg" || 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" href="http://twitter.com/' + 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>';
					var avatar = (s.avatar_size ? avatar_template : '');
					var date = '<span class="tweet_time"><a href="http://twitter.com/' + from_user + '/statuses/' + item.id_str + '" 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 + date + join + text + '</li>');

					list.children('li:first').addClass('tweet_first');
					list.children('li:odd').addClass('tweet_even');
					list.children('li:even').addClass('tweet_odd');
				});
				$('ul.tweet_list li:last').addClass('tweet_last');
				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");
	});
};

function replaceContent(id, data) {

	$("#" + id).replaceWith(data);

}

function initFontResize() {
	setFont();
	$("#fontGrootteM").click(function () {
		setFont("");
	});

	$("#fontGrootteL").click(function () {
		setFont("groot");
	});

	$("#fontGrootteXL").click(function () {
		setFont("extra_groot");
	});
}
function tabSelect() {
	$('.tabmenu div.tab').hide();
	$('.tabmenu').each(
					function () {
						$(this).find('div.tab:first').show();
					});

	$('.tabmenu li.tabknop:first').addClass('actief');

	$('li.tabknop > a').click(function () {
		$(this).parent().parent().find("li.tabknop").removeClass('actief');

		$(this).parent().addClass('actief');
		var currentTab = $(this).attr('href');
		$(this).parent().parent().parent().find('div.tab').hide();
		$(currentTab).show();
		return false;
	});
}

function setFont(fontSize) {

	fontSize = (fontSize != undefined ? fontSize : readCookie("fontType") || "");

	createCookie("fontType", fontSize, 366);
	if (fontSize == "") {
		$("#container").removeClass("extra_groot");
		$("#container").removeClass("groot");
	}
	if (fontSize == "groot") {
		$("#container").addClass("groot");
		$("#container").removeClass("extra_groot");
	} else {
		$("#container").removeClass("groot");
	}
	if (fontSize == "extra_groot") {
		$("#container").addClass("extra_groot");
		$("#container").removeClass("groot");
	} else {
		$("#container").removeClass("extra_groot");
	}
}
