var noteobj = item.object;
var attach = noteobj.attachments;
var notetxt = noteobj.content;
- var noteimg = false;
+ var noteimgs = new Array();
if (attach)
{
for (var a=0; a<attach.length; a++)
{
- if ( attach[a].objectType == "photo")
+ if ( attach[a].objectType == "album")
{
- noteimg = attach[a].image.url;
+ for (var t=0; t<attach[a].thumbnails.length; t++)
+ {
+ noteimgs.push(attach[a].thumbnails[t].image.url);
+ }
+ }
+ else if ( attach[a].objectType == "photo")
+ {
+ noteimgs.push(attach[a].image.url);
}
else if (attach[a].objectType == "event")
{
ghtml += '<div class="gpluspost">'
ghtml += '<img class="gplusactor" src="'+item.actor.image.url+'"/><p class="gplustimestamp">'+item.updated.substring(0,16).replace("T"," ")+'</p>';
ghtml += '<p class="gplustxt">'+notetxt+'</p>';
- if (noteimg)
+ if (noteimgs.length>0)
{
- ghtml += '<p class="gplusimg"><img class="gplusimg" src="'+noteimg+'"/></p>';
+ ghtml += '<table class="gplusimg" cellspacing="0"><tr>';
+ for (var ni=0; ni<noteimgs.length; ni++)
+ {
+ ghtml += '<td><img class="gplusimg" src="'+noteimgs[ni]+'"/></td>';
+ }
+ ghtml += '</tr></table>';
}
ghtml += '</div>';
}
var gpak = "AIzaSyD9xBFM-KWwSYBgZ8VzftJ5wYYvurOxEHg";
var gplusuri = "https://www.googleapis.com/plus/v1/people/113737596421797426873/activities/public?maxResults=4&key="+gpak;
var gpluscontainer=document.getElementById("gplusevents");
- gpluscontainer.innerHTML="Plus loading ...";
$.getJSON(gplusuri, function(data){
writeGooglePlusEvents(data, gpluscontainer);
});
}
+function weekday2str(dow)
+{
+ var weekday=new Array(7);
+ weekday[0]="So";
+ weekday[1]="Mo";
+ weekday[2]="Di";
+ weekday[3]="Mi";
+ weekday[4]="Do";
+ weekday[5]="Fr";
+ weekday[6]="Sa";
+ weekday[7]="So";
+ if (dow >=0 && dow <=7)
+ return weekday[dow];
+ else
+ return "";
+}
function writeCalendar(data, elem)
{
}
else
{
+ var weekday = weekday2str((new Date(dt)).getDay());
var stime = data[s].starttime;
+ var month = data[s].start.substring(5,7);
+ if (month[0] == '0')
+ month = month[1];
+ var dayofmonth = data[s].start.substring(8,10);
+ if (dayofmonth[0] == '0')
+ dayofmonth = dayofmonth[1];
while (stime.substring(stime.length-3,stime.length) == ":00")
{
stime=stime.substring(0,stime.length-3);
}
if (stime.length <= 2) { stime+="h"; }
- when = data[s].start.substring(8,10)+"."+data[s].start.substring(5,7) +", "+stime;
+ when = weekday + " " + dayofmonth+"."+month +", "+stime;
}
calhtml += '<li class="level1">'+when+' - <span class="r3red">'+data[s].title+'</span></li>'+"\n";
}
{
//old URI: //grical.realraum.at/s/?query=!realraum&limit=9&view=json
var calcontainer=document.getElementById("grical_upcoming");
- calcontainer.innerHTML="Calendar loading ...<br/>please wait a second or two";
$.getJSON('/shmcache/grical_realraum.json', function(data){
writeCalendar(data, calcontainer);
});
//req.send(null);
var jqxhr = $.getJSON(url, writeAnwesenheitStatus);
}
-var anwesenheit_timer = window.setInterval("updateAnwesenheitStatus()", 10000);
-
-function updateSensors()
-{
- reloadImg(document.getElementById("tempsensor"));
- reloadImg(document.getElementById("movementsensor"));
- reloadImg(document.getElementById("lightsensor"));
-}
-
-var timer;
-var seconds = 0;
-var schedule = Array()
$(document).ready(function()
{
updateAnwesenheitStatus();
loadCalendar();
loadGooglePlusEvents();
- setInterval("updateAnwesenheitStatus()", 10000);
+ setInterval("updateAnwesenheitStatus()", 10*1000);
setInterval("loadCalendar()", 123*1000);
- setInterval("updateSensors()",125*1000);
+ setInterval("updateSensors()",145*1000);
setInterval("loadGooglePlusEvents()", 1207*1000);
});
}
}
-
+var seconds = 0;
function clock(now)
{
var now = new Date(new Date().valueOf() + 300);
}
}
-//function updateSchedule()
-//{
-// $.ajax({type: "GET", url: "/export/schedules.php", data: "days=3&start=-1", dataType: "xml", error: showError, success: parseXml});
-//}
-
function showError(XMLHttpRequest, textStatus, errorThrown)
{
alert("Error: " + textStatus);
}
+function updateSensors()
+{
+ reloadImg(document.getElementById("tempsensor"));
+ reloadImg(document.getElementById("movementsensor"));
+ reloadImg(document.getElementById("lightsensor"));
+}
+
+function IsImageOk(img) {
+ if (!img.complete)
+ {
+ return false;
+ }
+ if (typeof img.naturalWidth == "undefined" || (typeof img.naturalWidth == "number" && img.naturalWidth == 0))
+ {
+ return false;
+ }
+ return true;
+}
+
+var img_orig_src = {};
function reloadImg(element)
{
- //var image = document.getElementById("theText");
- if(element.complete) {
- var new_image = new Image();
- //set up the new image
- new_image.id = element.id;
- new_image.className = element.className;
- new_image.src = element.src;
+ if(element.complete)
+ {
+ var new_image = new Image();
+ //set up the new image
+ new_image.id = element.id;
+ new_image.className = element.className;
+ if (! img_orig_src[element.id])
+ {
+ img_orig_src[element.id] = element.src;
+ }
+ new_image.src = img_orig_src[element.id] + "?dt="+Math.floor(new Date().getTime() / 1000).toString();
+ if (IsImageOk(new_image))
+ {
element.parentNode.insertBefore(new_image,element);
element.parentNode.removeChild(element);
+ }
}
}