var comments;
jQuery(function(){comments=function($){var base="http://comment.bitstorm.org/";var messageSetup=false;var key;var page;var count=0;$("div.comments, #comments").each(function(){var a=$(this).find("a:first");var parms=querySplit(a.attr("href"));key=parms["key"];page=parms["page"];var summary=parms["summary"];$("head").append($("<script>").attr("src",base+"json.php?key="+key+"&page="+page+"&summary="+summary));var turingA=parseInt(Math.random()*15+1);var turingB=parseInt(Math.random()*3+1);var form=
$("<form>").attr({action:base+"post.php?redirect=1",method:"post"}).append($("<p>").text("Voeg jouw reactie toe:")).append($("<label>").attr({"class":"userid"}).text("Jouw naam")).append($("<input>").attr({"class":"userid",name:"userid"})).append($("<label>").attr({"class":"url"}).text("Jouw url [optioneel]")).append($("<input>").attr({"class":"url",name:"url"}).blur(function(evt){if(!/^(https?:\/\/.*)?$/.test(evt.target.value))evt.target.value="http://"+evt.target.value})).append($("<label>").attr({"class":"ta"}).text(turingA+
" plus "+turingB+" is?")).append($("<input>").attr({"class":"ta",name:"ta"})).append($("<p>").attr({"class":"mesg"}).text("Het sommetje hierboven is om spam tegen te houden. Type hieronder je reactie.")).append($("<textarea>").attr({name:"comment",id:key})).append($("<input>").attr({type:"submit",value:"verstuur"})).append($("<input>").attr({type:"hidden",name:"referrer",value:document.location})).append($("<input>").attr({type:"hidden",name:"tq",value:turingA+"+"+turingB})).append($("<input>").attr({type:"hidden",
name:"key",value:key})).append($("<input>").attr({type:"hidden",name:"page",value:page})).append($("<input>").attr({type:"hidden",name:"lastId"}));a.after(form).replaceWith($("<h2>").html(a.html()));form.before($("<p>").addClass("count")).before($("<ol>").attr({"class":"comments"})).submit(send);var iframe=$("<iframe>").attr({src:base+"frame.html",width:0,height:0,style:"display: none"});$(window).bind("message",messaging);$("body").append(iframe);function messaging(evt){messageSetup=true;var data=
evt.originalEvent.data;var split=data.indexOf(":");if(split!=-1){var d=data.substr(split+1);switch(data.substr(0,split)){case "init":var slash=d.indexOf("|");if(slash!=-1){form.find("input[name=userid]").val(d.substr(0,slash));form.find("input[name=url]").val(d.substr(slash+1))}break;case "comments":eval("show({comments: "+d+"}, true)");form.find("textarea").val("");break;case "error":alert("Er is een fout opgetreden:\n"+d);break}}}function send(evt){var errors=[];if(form.find("input[name=ta]").val()!=
turingA+turingB)errors.push("- Het sommetje om spammers te weren is niet goed beantwoord");var userid=form.find("input[name=userid]").val();if(/\|/.test(userid))errors.push("- Het |-teken is niet toegestaan in de naam");if(/^\s*$/.test(userid))errors.push("- De naam is niet ingevuld");if(userid.length>30)errors.push("- De naam is te lang (maximaal 30 letters)");if(/^\s*$/.test(form.find("textarea").val()))errors.push("- Er is geen reactie gegeven");if(!/^((https?:\/\/)?[a-zA-Z0-9-]+\.[^:]+)?$/.test(form.find("input[name=url]").val()))errors.push("- Ongeldige url");
if(errors.length){var errorMesg="Het formulier kan niet worden verzonden, omdat:\n"+errors.join(",\n")+".";alert(errorMesg);evt.preventDefault();return}if(messageSetup){evt.preventDefault();var s=form.serialize();iframe.get(0).contentWindow.postMessage(s,"*")}}});return{show:show};function show(data,isUpdate){var form=$("div.comments form");var ol=$("div.comments ol");count=parseInt(data.count)||count+data.comments.length;$("div.comments p.count").text(countString(count));var comments=data.comments;
for(var i in comments){var li;if(!data.summary||!li)li=$("<li>").attr({id:"comment_"+comments[i].id});if(comments[i].url)li.append($("<a>").attr({href:comments[i].url,"class":"name"}).text(comments[i].userid));else li.append($("<p>").attr({"class":"name"}).text(comments[i].userid));li.append($("<p>").attr({"class":"date"}).text(niceDate(comments[i].time)));li.append($("<p>").attr({"class":"comment"}).html(comments[i].text));ol.append(li);if(isUpdate&&!$.browser.msie){var h=li.css("height");li.css({height:0}).animate({height:h})}}if(data.summary&&
comments.length)li.append($("<a>").addClass("more").text("> Toon alle reacties.").click(function(){ol.find("li").slideUp();$("head").append($("<script>").attr("src",base+"json.php?key="+key+"&page="+page))}));if(comments.length)form.find("input[name=lastId]").val(comments[comments.length-1].id)}function countString(count){if(count==0)s="Er zijn nog geen reacties.";else if(count==1)s="Er is een reactie.";else s="Er zijn $1 reacties.".replace(/\$1/,count);return s}function querySplit(query){var a=[];
$questionMark=query.indexOf("?");if($questionMark!=-1)query=query.substring($questionMark+1);var pairs=query.split("&");for(var i in pairs){var kv=pairs[i].split("=");a[kv[0]]=unescape(kv[1].replace(/\+/g," "))}return a}function queryMerge(a){var query;for(var i in a)query.push(a+"="+escape(a[i]));return query.join("&")}function niceDate(date){var months=["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"];date=new Date(date.replace(/\-/g,"/"));var s=date.getDate()+" "+months[date.getMonth()]+
" "+date.getFullYear()+" "+date.getHours()+":"+twoDigits(date.getMinutes());return s;function twoDigits(i){return""+parseInt(i/10)+i%10}}}(jQuery)});
