Author: andre
Date: 2010-07-19 10:06:15 +0200 (Mon, 19 Jul 2010)
New Revision: 42944

Added:
   mmweb/trunk/src/main/webapp/scripts/main.js.jsp
Log:
moved main.js to here and made it a jsp to be able to use mm:link, added 
jquery.lighbox

Copied: mmweb/trunk/src/main/webapp/scripts/main.js.jsp (from rev 42927, 
mmweb/trunk/src/main/webapp/html/style/js/main.js)
===================================================================
--- mmweb/trunk/src/main/webapp/scripts/main.js.jsp                             
(rev 0)
+++ mmweb/trunk/src/main/webapp/scripts/main.js.jsp     2010-07-19 08:06:15 UTC 
(rev 42944)
@@ -0,0 +1,65 @@
+// -*- mode: javascript; -*-
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" 
+%><%@ taglib uri="http://www.mmbase.org/mmbase-taglib-2.0"; prefix="mm" %>
+<mm:content encoding="UTF-8" type="text/javascript" expires="1800">
+
+/*
+  Main javascript, depends on jQuery
+  @author:  Andre van Toly
+  @version: '$Id:  $'
+*/
+
+function tweets() {
+    $('li.tweet em a').each(function(i) {
+        var time = $(this).text();
+        $(this).text( relative(time) );
+    });
+    $('li.tweet').each(function(i) {
+        var txt = $(this).html();
+        txt = txt.replace(/\B@([_a-z0-9]+)/ig, function(r) { return 
r.charAt(0)+'<a 
href="http://twitter.com/'+r.substring(1)+'">'+r.substring(1)+'</a>';});
+        $(this).html(txt);
+    });
+}
+
+function relative(time_value) {
+    var values = time_value.split(" ");
+    time_value = values[1] + " " + values[2] + ", " + values[5] + " " + 
values[3];
+    var parsed_date = Date.parse(time_value);
+    var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
+    var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
+    delta = delta + (relative_to.getTimezoneOffset() * 60);
+  
+    if (delta < 60) {
+        return 'less than a minute ago';
+    } else if(delta < 120) {
+        return 'about a minute ago';
+    } else if(delta < (60*60)) {
+        return (parseInt(delta / 60)).toString() + ' minutes ago';
+    } else if(delta < (120*60)) {
+        return 'about an hour ago';
+    } else if(delta < (24*60*60)) {
+        return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
+    } else if(delta < (48*60*60)) {
+        return '1 day ago';
+    } else {
+        return (parseInt(delta / 86400)).toString() + ' days ago';
+    }
+}
+
+function initLightBox() {
+    var settings = jQuery.extend({
+        imageLoading:   '${mm:link('/scripts/lightbox-ico-loading.gif')}',
+        imageBtnPrev:   '${mm:link('/scripts/lightbox-btn-prev.gif')}',
+        imageBtnNext:   '${mm:link('/scripts/lightbox-btn-next.gif')}',
+        imageBtnClose:  '${mm:link('/scripts/lightbox-btn-close.gif')}',
+        imageBlank:     '${mm:link('/scripts/lightbox-blank.gif')}'
+    }, settings);
+    $('a.lightbox').lightBox(settings);
+}
+
+$(document).ready(function() {
+    tweets();
+    initLightBox();
+});
+
+</mm:content>

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to