-
-// $(document).ready(function() {
-// $('#events-calendar').fullCalendar({
-// firstDay: {{$i18n.firstDay}},
-// monthNames: ['{{$i18n.January}}','{{$i18n.February}}','{{$i18n.March}}','{{$i18n.April}}','{{$i18n.May}}','{{$i18n.June}}','{{$i18n.July}}','{{$i18n.August}}','{{$i18n.September}}','{{$i18n.October}}','{{$i18n.November}}','{{$i18n.December}}'],
-// monthNamesShort: ['{{$i18n.Jan}}','{{$i18n.Feb}}','{{$i18n.Mar}}','{{$i18n.Apr}}','{{$i18n.May}}','{{$i18n.Jun}}','{{$i18n.Jul}}','{{$i18n.Aug}}','{{$i18n.Sep}}','{{$i18n.Oct}}','{{$i18n.Nov}}','{{$i18n.Dec}}'],
-// dayNames: ['{{$i18n.Sunday}}','{{$i18n.Monday}}','{{$i18n.Tuesday}}','{{$i18n.Wednesday}}','{{$i18n.Thursday}}','{{$i18n.Friday}}','{{$i18n.Saturday}}'],
-// dayNamesShort: ['{{$i18n.Sun}}','{{$i18n.Mon}}','{{$i18n.Tue}}','{{$i18n.Wed}}','{{$i18n.Thu}}','{{$i18n.Fri}}','{{$i18n.Sat}}'],
-// buttonText: {
-// prev: "<span class='fc-text-arrow'>‹</span>",
-// next: "<span class='fc-text-arrow'>›</span>",
-// prevYear: "<span class='fc-text-arrow'>«</span>",
-// nextYear: "<span class='fc-text-arrow'>»</span>",
-// today: '{{$i18n.today}}',
-// month: '{{$i18n.month}}',
-// week: '{{$i18n.week}}',
-// day: '{{$i18n.day}}'
-// },
-// events: '{{$baseurl}}/events/json/',
-// header: {
-// left: '',
-// // center: 'title',
-// right: ''
-// },
-// timeFormat: 'H(:mm)',
-// eventClick: function(calEvent, jsEvent, view) {
-// showEvent(calEvent.id);
-// },
-// loading: function(isLoading, view) {
-// if(!isLoading) {
-// $('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
-// }
-// },
-//
-// eventRender: function(event, element, view) {
-// //console.log(view.name);
-// if (event.item['author-name']==null) return;
-// switch(view.name){
-// case "month":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.title
-// ));
-// break;
-// case "agendaWeek":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.item.desc,
-// event.item.location
-// ));
-// break;
-// case "agendaDay":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.item.desc,
-// event.item.location
-// ));
-// break;
-// }
-// }
-//
-// })
-//
-// // center on date
-// var args=location.href.replace(baseurl,"").split("/");
-// if (args.length>=4) {
-// $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
-// }
-//
-// // echo the title
-// var view = $('#events-calendar').fullCalendar('getView');
-// $('#fc-title').text(view.title);
-//
-// // show event popup
-// var hash = location.hash.split("-")
-// if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
-//
-// });
-
-// $(document).ready(function() {
-// $('#events-calendar').fullCalendar({
-//
-// events: '{{$baseurl}}/events/json/',
-// header: {
-// left: '',
-// // center: 'title',
-// right: ''
-// },
-// timeFormat: 'H(:mm)',
-// eventClick: function(calEvent, jsEvent, view) {
-// showEvent(calEvent.id);
-// },
-// loading: function(isLoading, view) {
-// if(!isLoading) {
-// $('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
-// }
-// },
-//
-// eventRender: function(event, element, view) {
-// //console.log(view.name);
-// if (event.item['author-name']==null) return;
-// switch(view.name){
-// case "month":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.title
-// ));
-// break;
-// case "agendaWeek":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.item.desc,
-// event.item.location
-// ));
-// break;
-// case "agendaDay":
-// element.find(".fc-event-title").html(
-// "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
-// event.item['author-avatar'],
-// event.item['author-name'],
-// event.item.desc,
-// event.item.location
-// ));
-// break;
-// }
-// }
-//
-// })
-//
-// // center on date
-// var args=location.href.replace(baseurl,"").split("/");
-// if (args.length>=4) {
-// $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
-// }
-//
-// // echo the title
-// var view = $('#events-calendar').fullCalendar('getView');
-// $('#fc-title').text(view.title);
-//
-// // show event popup
-// var hash = location.hash.split("-")
-// if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
-//
-// });
-
\ No newline at end of file
+ var $el = $(document.getElementById(elementId));
+ // Test if the Item exists
+ if (!$el.length) {
+ return;
+ }
+
+ // Define the colors which are used for highlighting
+ var colWhite = {backgroundColor:'#F5F5F5'};
+ var colShiny = {backgroundColor:'#FFF176'};
+
+ // Get the Item Position (we need to substract 100 to match correct position
+ var itemPos = $el.offset().top - 100;
+
+ // Scroll to the DIV with the ID (GUID)
+ $('html, body').animate({
+ scrollTop: itemPos
+ }, 400, function() {
+ // Highlight post/commenent with ID (GUID)
+ $el.animate(colWhite, 1000).animate(colShiny).animate(colWhite, 600);
+ });
+}
+
+// format a html string to pure text
+function htmlToText(htmlString) {
+ // Replace line breaks with spaces
+ var text = htmlString.replace(/<br>/g, ' ');
+ // Strip the text out of the html string
+ text = text.replace(/<[^>]*>/g, '');
+
+ return text;
+}
+
+/**
+ * Sends a /like API call and updates the display of the relevant action button
+ * before the update reloads the item.
+ *
+ * @param {string} ident The id of the relevant item
+ * @param {string} verb The verb of the action
+ * @returns {undefined}
+ */
+function doLikeAction(ident, verb) {
+ unpause();
+
+ if (verb.indexOf('attend') === 0) {
+ $('.item-' + ident + ' .button-event:not(#' + verb + '-' + ident + ')').removeClass('active');
+ }
+ $('#' + verb + '-' + ident).toggleClass('active');
+ $('#like-rotator-' + ident.toString()).show();
+ $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate );
+ liking = 1;
+ force_update = true;
+}
\ No newline at end of file