Comments added
authordaniel <daniel@danielabrecht.ch>
Sun, 13 Dec 2015 17:26:11 +0000 (18:26 +0100)
committerdaniel <daniel@danielabrecht.ch>
Sun, 13 Dec 2015 17:26:11 +0000 (18:26 +0100)
Unbenanntes Dokument [deleted file]
js/main.js

diff --git a/Unbenanntes Dokument b/Unbenanntes Dokument
deleted file mode 100644 (file)
index 78cdf58..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-http://home.gibm.ch/interfaces/133/berufe.php
-http://home.gibm.ch/interfaces/133/klassen.php?beruf_id=xxx
-http://home.gibm.ch/interfaces/133/tafel.php?klasse_id=xxx
-
-
index f347af2..33019c1 100644 (file)
@@ -1,7 +1,12 @@
+/*********************************
+* Kalender, quick&dirty solution *
+*********************************/
+
 model=window.model||{};
 
 var lastxhr;
 
+// Funktion zum Laden von Inhalten
 function load(path,onload,onerror){
   onerror = onerror||function(){};
   var xhr = new XMLHttpRequest();
@@ -31,6 +36,13 @@ var jobId = null;
 var classId = null;
 var date = new Date();
 
+/*
+* Funktionen zum Prototyp des Konstruktors hinzufügen
+* Diese können bei Datumsobjekten aufgerufen werden
+* weil new Date().__proto__ === Date.prototype
+* und JS bei x.y auch nach x.__proto__.y und x.__proto__.__proto__.y etc. sucht.
+*/
+// Tag des Jahres ermitteln
 Date.prototype.getDayOfYear = function(){
   var start = new Date(this.getFullYear(), 0, 0);
   var diff = this - start;
@@ -39,30 +51,43 @@ Date.prototype.getDayOfYear = function(){
   return day;
 };
 
+// Eine woche zum Datum hinzufügen
 Date.prototype.nextWeek = function(){
   this.setDate(this.getDate()+7);
 }
 
+// Eine woche vom Datum entfernen
 Date.prototype.lastWeek = function(){
   this.setDate(this.getDate()-7);
 }
 
+/*
+* Lade und Updatefunktionen
+*/
+
+// Datum auf Seite aktualisieren
 function updateDate(){
   model.week = Math.floor(date.getDayOfYear()/7) + '-' + date.getFullYear();
   loadCalendar();
 }
 
+// Funktion für nächste Woche Knopf
 model.nextWeek = function(){
   date.nextWeek();
   updateDate();
 }
+
+// Funktion für letzte Woche Knopf
 model.lastWeek = function(){
   date.lastWeek();
   updateDate();
 }
 
+// Klassen laden
 function loadClasses(){
   jobId = this.value;
+  if(window.localStorage)
+    localStorage.jobId = jobId;
   classId = null;
   model.classes = null;
   model.displayInfo="none";
@@ -79,6 +104,7 @@ function loadClasses(){
   );
 }
 
+// Kalender laden
 function loadCalendar(){
   if( "value" in this )
     classId = this.value;
@@ -96,20 +122,28 @@ function loadCalendar(){
         };
         model.displayInfo="none";
       }else{
-        model.displayInfo="block";
+        model.displayInfo="block"; // Keine Termine meldung anzeigen
       }
     },
     console.error
   );
 }
 
+// Datum aktualisieren
 updateDate();
 
 model.displayInfo="none";
 
+// Berufe laden
 model.jobs = null;
 load("http://home.gibm.ch/interfaces/133/berufe.php", function( res ){
   jobId = null;
+  setTimeout(function(){
+    if(window.jobList&&window.localStorage&&localStorage.jobId){
+      jobList.value = localStorage.jobId;
+      jobList.onchange.call(jobList);
+    }
+  },33);
   model.displayInfo="none";
   model.jobs = {
     list: JSON.parse( res ),