var I18N={locale:function(){return typeof current_locale=="undefined"?"en":current_locale},t:function(a){var b=I18N.translations[a][I18N.locale()];return b?b:"Need a translation for "+a},translations:{log_in_to_comment:{en:"Log in to comment",de:"Log Dich ein um einen Kommentar zu schreiben"},load_more_comments:{en:"Load more comments",de:"Mehr Kommentare anzeigen"},edit_pic:{en:"Edit Pic",de:"Bild bearbeiten"},log_out:{en:"Log out",de:"Abmelden"},bad_words:{en:"Bad Words!",de:"Melden!"},post_a_comment:{en:"Post a comment!",de:"Einen Kommentar schreiben"},post:{en:"Post!",de:"OK!"},by:{en:"by ",de:"von "}}},Mustache=function(){var a=function(){};return a.prototype={otag:"{{",ctag:"}}",pragmas:{},buffer:[],pragmas_implemented:{"IMPLICIT-ITERATOR":!0},render:function(a,b,c,d){if(a.indexOf(this.otag)==-1){if(d)return a;this.send(a);return}d||(this.buffer=[]),a=this.render_pragmas(a);var e=this.render_section(a,b,c);if(d)return this.render_tags(e,b,c,d);this.render_tags(e,b,c,d)},send:function(a){a!=""&&this.buffer.push(a)},render_pragmas:function(a){if(a.indexOf(this.otag+"%")==-1)return a;var b=this,c=new RegExp(this.otag+"%([\\w_-]+) ?([\\w]+=[\\w]+)?"+this.ctag);return a.replace(c,function(a,c,d){if(!b.pragmas_implemented[c])throw{message:"This implementation of mustache doesn't understand the '"+c+"' pragma"};b.pragmas[c]={};if(d){var e=d.split("=");b.pragmas[c][e[0]]=e[1]}return""})},render_partial:function(a,b,c){if(!c||!c[a])throw{message:"unknown_partial '"+a+"'"};return typeof b[a]!="object"?c[a]:this.render(c[a],b[a],c,!0)},render_section:function(a,b,c){if(a.indexOf(this.otag+"#")==-1)return a;var d=this,e=new RegExp(this.otag+"\\#(.+)"+this.ctag+"\\s*([\\s\\S]+?)"+this.otag+"\\/\\1"+this.ctag+"\\s*","mg");return a.replace(e,function(a,e,f){var g=d.find(e,b);return d.is_array(g)?d.map(g,function(a){return d.render(f,d.merge(b,d.create_context(a)),c,!0)}).join(""):g?d.render(f,b,c,!0):""})},render_tags:function(a,b,c,d){var e=this,f=function(){return new RegExp(e.otag+"(=|!|>|\\{|%)?([^/#]+?)\\1?"+e.ctag+"+","g")},g=f(),h=a.split("\n");for(var i=0;i<h.length;i++)h[i]=h[i].replace(g,function(a,d,h){switch(d){case"!":return a;case"=":return e.set_delimiters(h),g=f(),"";case">":return e.render_partial(h,b,c);case"{":return e.find(h,b);default:return e.escape(e.find(h,b))}},this),d||this.send(h[i]);if(d)return h.join("\n")},set_delimiters:function(a){var b=a.split(" ");this.otag=this.escape_regex(b[0]),this.ctag=this.escape_regex(b[1])},escape_regex:function(a){if(!arguments.callee.sRE){var b=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];arguments.callee.sRE=new RegExp("(\\"+b.join("|\\")+")","g")}return a.replace(arguments.callee.sRE,"\\$1")},find:function(a,b){return a=this.trim(a),typeof b[a]=="function"?b[a].apply(b):b[a]!==undefined?b[a]:""},escape:function(a){return(a==null?"":a).toString().replace(/[&"<>\\]/g,function(a){switch(a){case"&":return"&amp;";case"\\":return"\\\\";case'"':return'"';case"<":return"&lt;";case">":return"&gt;";default:return a}})},merge:function(a,b){var c={};for(var d in a)a.hasOwnProperty(d)&&(c[d]=a[d]);for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);return c},create_context:function(a){if(this.is_object(a))return a;if(this.pragmas["IMPLICIT-ITERATOR"]){var b=this.pragmas["IMPLICIT-ITERATOR"].iterator||".",c={};return c[b]=a,c}},is_object:function(a){return a&&typeof a=="object"},is_array:function(a){return Object.prototype.toString.call(a)==="[object Array]"},trim:function(a){return a.replace(/^\s*|\s*$/g,"")},map:function(a,b){if(typeof a.map=="function")return a.map(b);var c=[],d=a.length;for(var e=0;e<d;e++)c.push(b(a[e]));return c}},{name:"mustache.js",version:"0.2.3-dev",to_html:function(b,c,d,e){var f=new a;e&&(f.send=e),f.render(b,c,d);if(!e)return f.buffer.join("\n")}}}();(function($){$.toJSON=function(a){if(typeof JSON=="object"&&JSON.stringify)return JSON.stringify(a);var b=typeof a;if(a===null)return"null";if(b=="undefined")return undefined;if(b=="number"||b=="boolean")return a+"";if(b=="string")return $.quoteString(a);if(b=="object"){if(typeof a.toJSON=="function")return $.toJSON(a.toJSON());if(a.constructor===Date){var c=a.getUTCMonth()+1;c<10&&(c="0"+c);var d=a.getUTCDate();d<10&&(d="0"+d);var e=a.getUTCFullYear(),f=a.getUTCHours();f<10&&(f="0"+f);var g=a.getUTCMinutes();g<10&&(g="0"+g);var h=a.getUTCSeconds();h<10&&(h="0"+h);var i=a.getUTCMilliseconds();return i<100&&(i="0"+i),i<10&&(i="0"+i),'"'+e+"-"+c+"-"+d+"T"+f+":"+g+":"+h+"."+i+'Z"'}if(a.constructor===Array){var j=[];for(var k=0;k<a.length;k++)j.push($.toJSON(a[k])||"null");return"["+j.join(",")+"]"}var l=[];for(var m in a){var n,b=typeof m;if(b=="number")n='"'+m+'"';else{if(b!="string")continue;n=$.quoteString(m)}if(typeof a[m]=="function")continue;var o=$.toJSON(a[m]);l.push(n+":"+o)}return"{"+l.join(", ")+"}"}},$.evalJSON=function(src){return typeof JSON=="object"&&JSON.parse?JSON.parse(src):eval("("+src+")")},$.secureEvalJSON=function(src){if(typeof JSON=="object"&&JSON.parse)return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,"@"),filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]"),filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(filtered))return eval("("+src+")");throw new SyntaxError("Error parsing JSON, source is not valid.")},$.quoteString=function(a){return a.match(_escapeable)?'"'+a.replace(_escapeable,function(a){var b=_meta[a];return typeof b=="string"?b:(b=a.charCodeAt(),"\\u00"+Math.floor(b/16).toString(16)+(b%16).toString(16))})+'"':'"'+a+'"'};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g,_meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}})(jQuery);var bccs_helpers={flag_url:function(a){return BssoHelpers.profileServerUrl()+"/comments/"+a+"/flag.js"},reject_url:function(a){return BssoHelpers.profileServerUrl()+"/comments/"+a+"/reject.js"},comments_url:function(){return BssoHelpers.profileServerUrl()+"/comments.json?commentable_url="+bccs_helpers.commentable_url()},create_comment_url:function(){return BssoHelpers.profileServerUrl()+"/comments/create.json"},log_in_url:function(){return BssoHelpers.profileServerUrl()+"/log_in?return_to="+window.location.href},log_out_url:function(){return BssoHelpers.profileServerUrl()+"/log_out?return_to="+window.location.href},change_avatar_url:function(){return BssoHelpers.profileServerUrl()+"/edit_my_info/avatar"},avatar_image_tag:function(a){var b=BssoHelpers.profileServerUrl().replace("-stage","")+"/api/avatars/"+a;return'<img src="'+b+'" width="55" height="55" class="bccs-avatar"/>'},cookie_domain:function(){return"."+BssoHelpers.domain()},user_info_url:function(a){return a?BssoHelpers.profileServerUrl()+"/api/users/sat/"+a+".json":""},commentable_url:function(){if(typeof bccs_commentable_url=="undefined"){var a=window.location.href,b=a.indexOf("#"),c=a.indexOf("?");return b!=-1?a=a.substring(0,b):c!=-1&&(a=a.substring(0,c)),a}return bccs_commentable_url},commentable_owner:function(){return typeof bccs_commentable_owner=="undefined"?"":bccs_commentable_owner},add_script_tag:function(a){var b='<script type="text/javascript" src="'+a+'"></script>';document.write(b)},add_stylesheet_tag:function(a){var b='<link href="'+a+'" media="screen" rel="stylesheet" type="text/css" />';document.write(b)}};jQuery.preloadImages=function(){for(var a=0;a<arguments.length;a++)jQuery("<img>").attr("src",arguments[a])};var DateHelper={time_ago_in_words_with_parsing:function(b){a=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(b);if(a)var c=new Date(Date.UTC(+a[1],+a[2]-1,+a[3],+a[4],+a[5],+a[6]));else var c=Date.parse(b);return this.time_ago_in_words(c)},time_ago_in_words:function(a){return this.distance_of_time_in_words(new Date,a)},distance_of_time_in_words:function(a,b){var c=(a-b)/1e3,d=Math.floor(c/60);return d==0?"less than a minute ago":d==1?"a minute ago":d<45?d+" minutes ago":d<90?"about 1 hour ago":d<1440?"about "+Math.floor(d/60)+" hours ago":d<2880?"1 day ago":d<43200?Math.floor(d/1440)+" days ago":d<86400?"about 1 month ago":d<525960?Math.floor(d/43200)+" months ago":d<1051199?"about 1 year ago":"over "+Math.floor(d/525960)+" years ago"}},bccs_templates={comment_form:function(){return'\t\t\t<div id="bccs-user-info">\t\t\t\t{{{avatar_image_tag}}}\t\t\t\t<a href="{{ change_avatar_url }}">{{ edit_pic }}</a>\t\t\t\t<a href="{{ log_out_url }}" id="bccs-log-out-link">{{ log_out }}</a>\t\t\t</div>\t\t\t<div class="bccs-comment-body">\t\t\t<form action="{{ create_comment_url }}" method="get">\t\t\t\t<p><textarea cols="50" id="bccs-comment-body" name="comment[body]" rows="5"></textarea></p>\t\t\t\t<p class="bccs-form-submit">\t\t\t\t\t<input type="submit" name="commit" value="{{ post }}"/>\t\t\t\t</p>\t\t\t\t<input type="hidden" name="comment[commentable_url]" value="{{ url }}"/>\t\t\t\t<input type="hidden" name="comment[commentable_owner]" value="{{ owner_uuid }}"/>\t\t\t\t<input type="hidden" name="comment[referrer]" value="{{ referrer }}"/>\t\t\t\t<input type="hidden" name="uuid" value="{{ uuid }}"/>\t\t\t</form> <!-- end #bccs-comment-form -->\t\t\t</div> \t\t'},render_comment_form:function(){var a=bccs_auth.current_user(),b={url:bccs_helpers.commentable_url(),owner_uuid:bccs_helpers.commentable_owner(),create_comment_url:bccs_helpers.create_comment_url(),username:a.username,avatar_image_tag:bccs_helpers.avatar_image_tag(a.uuid),change_avatar_url:bccs_helpers.change_avatar_url(),log_out_url:bccs_helpers.log_out_url(),uuid:a.uuid,referrer:document.referrer,edit_pic:I18N.t("edit_pic"),log_out:I18N.t("log_out"),post:I18N.t("post")};return Mustache.to_html(bccs_templates.comment_form(),b)},log_in_link:function(){return'<p id="bccs-log-in-link"><a href="{{ log_in_url }}">{{ log_in_to_comment }}</a></p>'},render_log_in_link:function(){return Mustache.to_html(bccs_templates.log_in_link(),{log_in_url:bccs_helpers.log_in_url(),log_in_to_comment:I18N.t("log_in_to_comment")})},comment:function(){return'\t\t\t<li class="bccs-comment clearfix">\t\t\t\t<div id="bccs-user-info">\t\t\t\t\t{{{avatar_image_tag}}}\t\t\t\t</div>\t\t\t\t<div class="bccs-comment-body">\t\t\t\t\t<div class="bccs-who">{{ by }}<em><strong>{{ author_username }}</strong></em>, <span class="bccs-created">{{ created_at }}</span></div>\t\t\t\t\t<div class="bccs-textiled">\t\t\t\t\t\t{{{ body }}}\t\t\t\t\t</div>\t\t\t\t\t<div class="bccs-mod-link">\t\t\t\t\t\t{{#is_not_admin_or_commentable_url_owner}}\t\t\t\t\t\t\t<a href="{{ flag_url }}" class="flag">{{ bad_words }}</a>\t\t\t\t\t\t{{/is_not_admin_or_commentable_url_owner}}\t\t\t\t\t\t{{#is_admin_or_commentable_url_owner}}              <a href="{{ reject_url }}" class="reject">Delete!</a>\t\t\t\t\t\t{{/is_admin_or_commentable_url_owner}}\t\t\t\t\t</div>\t\t\t\t</div> <!-- end .bccs-comment-body -->\t\t\t</li>'},render_comment:function(a){var b=bccs_auth.current_user(),c=typeof b!="undefined",d={created_at:DateHelper.time_ago_in_words_with_parsing(a.created_at),body:a.body,author_username:a.author.username,flag_url:bccs_helpers.flag_url(a.id),reject_url:bccs_helpers.reject_url(a.id),avatar_image_tag:bccs_helpers.avatar_image_tag(a.author.uuid),is_admin_or_commentable_url_owner:function(){return c&&(b.admin=="true"||b.uuid==a.commentable_owner)},is_not_admin_or_commentable_url_owner:function(){return!c||b.admin!="true"&&b.uuid!=a.commentable_owner},by:I18N.t("by"),bad_words:I18N.t("bad_words")};return Mustache.to_html(bccs_templates.comment(),d)}},bccs_current_user,bccs_auth={initialize:function(){$.cookie("sat")&&$.cookie("bccs")?bccs_auth.logged_in():$.cookie("sat")?bccs_auth.initialize_current_user($.cookie("sat")):bccs_auth.logged_out()},logged_in:function(){bccs.insert_comment_form()},logged_out:function(){$.cookie("bccs",null,{path:"/",domain:bccs_helpers.cookie_domain()}),$.cookie("sat",null,{path:"/",domain:bccs_helpers.cookie_domain()}),bccs.insert_log_in_link()},initialize_current_user:function(a){var b=bccs_helpers.user_info_url(a);b!=""&&$.ajax({url:b,dataType:"jsonp",data:null,success:function(a){typeof a.error=="undefined"?(bccs_auth.set_current_user(a),bccs_auth.logged_in()):bccs_auth.logged_out()}})},set_current_user:function(a){bccs_current_user=a;var b=new Date,c=new Date(b);return c.setMinutes(b.getMinutes()+20),$.cookie("bccs",$.toJSON(a),{expires:c,path:"/",domain:bccs_helpers.cookie_domain()}),bccs_current_user},current_user:function(){return typeof bccs_current_user=="undefined"&&$.cookie("bccs")&&(typeof $.cookie("bccs")=="string"?bccs_current_user=$.evalJSON($.cookie("bccs")):bccs_current_user=$.cookie("bccs")),bccs_current_user}},bccs={comment_default_text:I18N.t("post_a_comment"),initialize:function(){bccs_auth.initialize(),bccs.init_comments(),bccs.init_loaders(),bccs.init_ga()},insert_comment_form:function(){$("#bccs-comment-form").append(bccs_templates.render_comment_form()),$("#bccs-comment-form form").ajaxForm({clearForm:!0,dataType:"jsonp",beforeSubmit:bccs.prevent_bad_comments,success:function(a){typeof a.error=="undefined"&&bccs.insert_new_comment(a),$(".bccs-form-submit").removeClass("loading"),bccs.init_comment_defaults()},error:function(a,b,c){alert("there was an error")}}),bccs.init_comment_defaults()},prevent_bad_comments:function(){var a=$("#bccs-comment-form form textarea").val();if(a==bccs.comment_default_text||a=="")return $(".bccs-form-submit").removeClass("loading"),!1},init_comment_defaults:function(){var a=$("#bccs-comment-form textarea");a.val(bccs.comment_default_text),a.focus(function(){a.val("")}).blur(function(){var b=a.val();b==""&&a.val(bccs.comment_default_text)})},insert_new_comment:function(a){$("#bccs-comments").prepend(bccs_templates.render_comment(a))},init_comments:function(){$("#bccs-comments").after('<p class="bccs-load-comments"><a href="">'+I18N.t("load_more_comments")+"</a></p>"),bccs.load_comments(1),bccs.load_more_comments(),bccs.init_moderation()},init_moderation:function(){$("#bccs-comments").click(function(a){var b=$(a.target).closest(".bccs-mod-link a");if(b&&b.attr("href"))return $.ajax({url:b.attr("href"),dataType:"jsonp",data:null,success:function(a){b.attr("class")=="flag"?b.replaceWith("<span>"+a.message+"</span>"):b.parents(".bccs-comment").fadeOut("slow",function(){$(this).remove()})}}),!1})},load_more_comments:function(){$(".bccs-load-comments").click(function(){var a=$("#bccs ol .bccs-comment").length,b=Math.ceil(a/10+1);return bccs.load_comments(b),!1})},load_comments:function(a){$.ajax({url:bccs_helpers.comments_url(),dataType:"jsonp",data:{page:a},success:function(a){$.each(a,function(a,b){$("#bccs-comments").append(bccs_templates.render_comment(b))}),$(".bccs-load-comments").removeClass("loading")}})},insert_log_in_link:function(){$("#bccs-comment-form").append(bccs_templates.render_log_in_link())},init_loaders:function(){$.preloadImages(BssoHelpers.profileServerUrl()+"/assets/bccs/ajax-loader.gif"),$(".bccs-form-submit input, .bccs-load-comments a").click(function(){$(this).parent().addClass("loading")})},init_ga:function(){$(".bccs-form-submit input").click(function(){typeof _gaq!="undefined"&&_gaq.push(["t1._trackEvent","comment","submitted"])})}};document.write('<div id="bccs">'),bccs_helpers.add_stylesheet_tag(BssoHelpers.profileServerUrl()+"/assets/bccs.css"),document.write('<div id="bccs-comment-form" class="bccs-comment clearfix"></div>'),document.write('<ol id="bccs-comments"></ol>'),document.write("</div>"),$(document).ready(bccs.initialize)
