+function writeGooglePlusEvents(data, elem)
+{
+ var ghtml = "";
+ for (var i=0; i< data.items.length; i++)
+ {
+ var item = data.items[i];
+ var noteobj = item.object;
+ var attach = noteobj.attachments;
+ var notetxt = noteobj.content;
+ var noteimgs = new Array();
+ if (attach)
+ {
+ for (var a=0; a<attach.length; a++)
+ {
+ if ( attach[a].objectType == "album")
+ {
+ 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")
+ {
+ notetxt = "<b>" + attach[a].displayName+"</b><br/>"+notetxt;
+ }
+ }
+ }
+ 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 (noteimgs.length>0)
+ {
+ 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>';
+ }
+ elem.innerHTML=ghtml;
+}
+
+
+function loadGooglePlusEvents()
+{
+ 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");
+ $.getJSON(gplusuri, function(data){
+ writeGooglePlusEvents(data, gpluscontainer);
+ });
+}
+
function writeCalendar(data, elem)
{
{
stime=stime.substring(0,stime.length-3);
}
- when = data[s].start +", "+stime+" Uhr";
+ if (stime.length <= 2) { stime+="h"; }
+ when = data[s].start.substring(8,10)+"."+data[s].start.substring(5,7) +", "+stime;
}
- calhtml += '<li class="level1"><div class="li">'+when+' - <a href="'+data[s].url+'" class="urlextern" title="'+data[s].title+'" rel="nofollow">'+data[s].title+'</a></div></li>'+"\n";
+ calhtml += '<li class="level1">'+when+' - <span class="r3red">'+data[s].title+'</span></li>'+"\n";
}
elem.innerHTML='<ul>'+calhtml+'</ul>';
}
{
//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);
});
{
$.each( data.sensors[s], function(stype, std){
$.each( std, function(swhere, svalue){
- sensorstd+='<td style="background-color:white; height:42px; text-align:center; vertical-align:middle; display:table-cell;"><b>'+stype+'</b><br/>'+swhere+': '+svalue+'</td>';
+ sensorstd+='<td class="sensorstatus"><b>'+stype+'</b><br/>'+swhere+': '+svalue+'</td>';
});
});
}
function updateSensors()
{
- //reloadImg(document.getElementById("tempsensor"));
+ reloadImg(document.getElementById("tempsensor"));
reloadImg(document.getElementById("movementsensor"));
reloadImg(document.getElementById("lightsensor"));
}
setInterval("clock()", 500);
updateAnwesenheitStatus();
loadCalendar();
+ loadGooglePlusEvents();
setInterval("updateAnwesenheitStatus()", 10000);
- setInterval("loadCalendar()", 100000);
- setInterval("updateSensors()", 50000);
+ setInterval("loadCalendar()", 123*1000);
+ setInterval("updateSensors()",125*1000);
+ setInterval("loadGooglePlusEvents()", 1207*1000);
});
function updateDateClock(now)
alert("Error: " + textStatus);
}
+function IsImageOk(img) {
+ if (!img.complete) {
+ return false;
+ }
+ if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
+ return false;
+ }
+ return true;
+}
+
function reloadImg(element)
{
//var image = document.getElementById("theText");
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;
- element.parentNode.insertBefore(new_image,element);
- element.parentNode.removeChild(element);
+ if (IsImageOk(new_image))
+ {
+ element.parentNode.insertBefore(new_image,element);
+ element.parentNode.removeChild(element);
+ }
}
}