
$(function() {
	// Comment filter initializers
	var entry_id = 2587511;
	var cfiltermin = -10;
	var cfiltermax = 10;
	var filtercss = '';
	var moderatorcss = '';
	var filterarray = new Array();
	filterarray[0] = '0',
	bestcomments = [];
	for(var i=(cfiltermin-1); i<=(cfiltermax+1); i++) {
		if(i<0) {
			filterarray[i] = 'm'+(-1*i);
		} else if(i>0) {
			filterarray[i] = 'p'+i;
		}
	}

	// Maak css regels aan voor die de comments filteren
	for(var i=cfiltermin; i<=cfiltermax; i++) {
		var cfmainclass = '#comments.cfilter-'+filterarray[i];
		for(var j=cfiltermin; j<=(cfiltermax+1); j++) {
			filtercss+= cfmainclass+' article.r-'+filterarray[j]+' { ';
			filtercss+= (i>=j) ? 'display: none' : 'display: block';
			filtercss+= '}\r\n';
		}
		filtercss+= '\r\n';
		
		moderatorcss+='#comments.modview article.r-'+filterarray[i]+' { ';
		moderatorcss+= (i<0) ? 'display: block' : 'display: none';
		moderatorcss+= '}\r\n';
		
		// roodmaken waar nodig
		moderatorcss+= (i<-4) ? '#comments.modview article.r-'+filterarray[i]+' .modrating { color: #f00; font-weight: bold; }' : '';
	} // en nog 1 regel die alle comments boven het max wegfietst
	moderatorcss+='#comments.modview article.r-'+filterarray[(cfiltermax+1)]+' { ';
	moderatorcss+= ((cfiltermax+1)<0) ? 'display: block' : 'display: none';
	moderatorcss+= '}\r\n';
	
	moderatorcss+= '#comments.modview article.nsb {display: block; }\r\n';
	
	// $('<style></style>').attr('innerHTML', filtercss+moderatorcss).appendTo('head');
	// $('<style></style>').text(filtercss+moderatorcss).appendTo('head');
	$('<style>'+filtercss+moderatorcss+'</style>').appendTo('head');


	function setcommentfilter(val) {
		$.cookie('commentfilter-min', val, { expires: 365, path: '/'});
		if(val=='--') {
			$('#comments').attr('class', '');
		} else if(val=='modview') {
			$('#comments').attr('class', 'modview');
		} else {
			$('#comments').attr('class', 'cfilter-'+filterarray[val]);
		}
		try {GSTV.fixheight();} catch(e) {}
	}
	
	// Bouw selectbox en voeg toe aan commentcontainer
	var minrating = $.cookie('commentfilter-min');
	setcommentfilter(minrating);
	$commentfilter = $('<select class="thinborder"></select>');
	for(var i=cfiltermin; i<=cfiltermax; (i=i+2)) {
		var numstr = i>0 ? '+'+i : i;
		$commentfilter.prepend(minrating==i ? '<option value="'+i+'" selected>&gt; '+numstr+'</option>' : '<option value="'+i+'">&gt; '+numstr+'</option>');
	}
	$commentfilter.prepend('<option value="--">Alles</option>')
		.change(function() {
			var newval = $(this).prop('value');
			setcommentfilter(newval);
		})
		.wrap('<div id="commentfilter">')
		.parent().prepend('toon: ')
		.appendTo('#comments header');



	$('#loggedin #text').bind('keypress focusout', function(e) {
		var txtval = $(this).prop('value');
		var rxShorterner = /(bit\.ly|is\.gd|tinyurl\.com|\/\/t\.co|goo\.gl|cli\.gs|short\.ie|adf\.ly|u\.bb|9\.bb|j\.gs|q\.gs|quidlinks\.com|tiny\.cc|alturl\.com|shrtlnk\.nl|adfoc\.us)/i,
		rxSpam = /(zakelijkthuis\.nl)/i;

		if (rxShorterner.test(txtval)) {
			$('#loggedin form').replaceWith($('<strong style="color: red">Noem eens &eacute;&eacute;n goede reden om een url-verkorter te gebruiken.</strong>'));
		}

		if (rxSpam.test(txtval)) {
			$('#loggedin form').replaceWith($('<strong style="color: red">Dat is een hele goede manier om een permaban te krijgen.</strong>'));
		}

	});



	var moderation = [];

	moderation['132408751'] = '-3';
	moderation['132399321'] = '2';
	moderation['132402621'] = '2';
	moderation['132396701'] = '-2';
	moderation['132396081'] = '2';
	moderation['132395021'] = '-1';
	moderation['132394201'] = '14';
	moderation['132393801'] = '-5';
	moderation['132393291'] = '1';
	moderation['132393171'] = '1';
	moderation['132391691'] = '7';
	moderation['132391521'] = '-2';
	moderation['132390681'] = '-5';
	moderation['132390281'] = '5';
	moderation['132390121'] = '-4';
	moderation['132390131'] = '-5';
	moderation['132389991'] = '3';
	moderation['132390001'] = '-4';
	moderation['132389941'] = '-4';
	moderation['132389471'] = '4';
	moderation['132389281'] = '8';
	moderation['132389261'] = '32';
	moderation['132389251'] = '2';
	moderation['132389161'] = '-3';
	moderation['132388601'] = '9';
	moderation['132388521'] = '4';
	moderation['132388471'] = '-2';
	moderation['132388321'] = '4';
	moderation['132388161'] = '4';
	moderation['132387951'] = '2';
	moderation['132387581'] = '18';
	moderation['132387411'] = '16';
	moderation['132387251'] = '-6';
	moderation['132387221'] = '9';
	moderation['132387161'] = '-13';
	moderation['132386921'] = '-1';
	moderation['132386871'] = '-13';
	moderation['132386771'] = '1';
	moderation['132386561'] = '22';
	moderation['132386381'] = '17';
	moderation['132386371'] = '27';
	moderation['132386251'] = '7';
	moderation['132385961'] = '-1';
	moderation['132385841'] = '37';
	moderation['132385801'] = '5';
	moderation['132385791'] = '-10';
	moderation['132455081'] = '1';
	moderation['132442171'] = '4';
	moderation['132437161'] = '2';
	moderation['132509441'] = '-1';
	moderation['132428611'] = '1';
	moderation['132418571'] = '-2';
	moderation['132420441'] = '2';
	moderation['132421791'] = '-1';
	moderation['132422781'] = '-2';

	// Let's get to business!

	$('#comments article').each(function () {
		var comment_id = $(this).attr('id').substring(1);
		var rating = (undefined==moderation[comment_id]) ? 0 : moderation[comment_id];
		
		var $footer = $(this).find('footer');

		// set the comments class based on the rating
		if(rating>cfiltermax) {
			var cname = 'r-'+filterarray[cfiltermax+1];
		} else if(rating<=cfiltermin) {
			var cname = 'r-'+filterarray[cfiltermin];
		} else {
			var cname = 'r-'+filterarray[rating];
		}
		$(this).addClass(cname);
		$footer.append(' | <a class="modmark p" title="+1" data-modifier="1">+</a> <span class="modrating">'+rating+'</span> <a class="modmark m" title="-1" data-modifier="-1">-</a>');
		
		$(this).find('footer a.modmark').click(function() {
			var modifier = $(this).attr('data-modifier');
			var $rating = $(this).parent().find('span.modrating');
			$.getJSON('http://www.geenstijl.tv/modlinks/domod.php?entry='+entry_id+'&cid='+comment_id+'&mod='+modifier, function(data) {
				if(data.success===true) {
//					$rating.attr('innerHTML', parseInt($rating.attr('innerHTML'))+parseInt(modifier));
					$rating.html(parseInt($rating.text())+parseInt(modifier));
				}
			});
		});

		// NSB knopjes
		$('<span class="nsb" title="Deze reactie is in overtreding met de huisregels."></span>').click(function () {
			if(confirm('Ongepaste reactie melden?')) {
				$.getJSON('http://www.geenstijl.tv/modlinks/report.php?entry='+entry_id+'&cid='+comment_id, function(data) {
					if(data.success===true) {
						// alert('Je melding is ontvangen.');
					}
				});
			}
		}).appendTo($footer);

	});

	$.each(bestcomments, function() {
		//if(undefined!== moderation[this] && moderation[this]>10) $('#c'+this).clone(true).addClass('promoted').insertAfter('#comments header');
		if(undefined!== moderation[this] && moderation[this]>10) $('#c'+this).addClass('promoted').insertAfter('#comments header');
	});	


});
