/**
* @namespace Diese Klasse liefert HTML-formatierte Seiten zurück.
* @author Jan Kossick, jankossick@online.de
* @version 2.0
*/
var Info = {
/**
* Zeigt Text-Informationen im {@link Infowindow} an.
* @param {Object} data Ein Objekt mit den Attributen js, css, toolbar und
* content.
*/
message : function(data) {
Infowindow.setContentCSS(data.css);
Infowindow.setContent(data.content);
eval(data.js);
Infowindow.show();
},
/**
* Lädt eine HTML-Seite mit Informationen zum Ort und den Veranstaltungen,
* basierend auf den Einstellungen von {@link Events} und zeigt diese im
* {@link Infowindow} an.
* @param {Number} locId Die ID des Ortes.
*/
event : function(locId) {
jQuery.post("ajax", {
"action": "get_info_event",
"loc_id": locId,
"is_favorite" : Events.isLocationFavorite(locId),
"categories_yourbash": jQuery.toJSON(Events.YourbashCategories),
"start": Events.DateStart.toMySQLDate(),
"end": Events.DateEnd.toMySQLDate() },
this.message, "json"
);
},
/**
* Lädt eine HTML-Seite mit Informationen zum Ort und den Yourbashs,
* basierend auf den Einstellungen von {@link Events} und zeigt diese im
* {@link Infowindow} an.
* @param {Number} id Die ID des Yourbashs.
*/
yourbash : function(id, callback) {
if(typeof callback == 'undefined') callback = this.message;
jQuery.post("ajax", {
"action": "get_info_yourbash",
"id": id,
"categories_yourbash": jQuery.toJSON(Events.YourbashCategories),
"start": Events.DateStart.toMySQLDate(),
"end": Events.DateEnd.toMySQLDate() },
callback, "json"
);
},
/**
* Lädt eine HTML-Seite mit Informationen zu Doodles, basierend auf den
* Einstellungen von {@link Events} und zeigt diese im {@link Infowindow}
* an. Weitere Doodles an der selben Adresse werden automatisch geladen.
* @param {String} vkey Der Schlüssel des Doodles.
*/
doodle : function(vkey) {
jQuery.post("ajax", {
"action":"get_info_doodle",
'vkey' : vkey,
'vkeys' : jQuery.toJSON(Events.getVisitkeys()),
"start": Events.DateStart.toMySQLDate(),
"end": Events.DateEnd.toMySQLDate() },
this.message, "json"
);
},
/**
* Lädt eine HTML-Seite mit den News.
*/
news : function() {
jQuery.post("ajax", {
"action":"get_info_news" },
Info.message, "json"
);
},
/**
* Lädt eine HTML-Seite mit der Hilfe.
*/
hilfe : function() {
jQuery.post("ajax", {
"action":"get_info_hilfe" },
Info.message, "json"
);
},
/**
* Lädt eine HTML-Seite mit dem Impressum.
*/
impressum : function() {
jQuery.post("ajax", {
"action":"get_info_impressum" },
this.message, "json"
);
},
/**
* Lädt eine HTML-Seite mit dem Kontaktformular.
*/
kontakt : function() {
jQuery.post("ajax", {
"action":"get_info_kontakt" },
this.message, "json"
);
},
/**
* Übermittelt eine Kontaktnachricht und lädt eine HTML-Seite mit dem
* Status.
* @param {String} data Serialisierte Formulardaten.
*/
kontaktSend : function(data) {
jQuery.post("ajax", data, this.message, "json");
},
/**
* Lädt eine HTML-Seite mit dem Fehlerformular.
* @param {String} type Typ des Fehlers. location oder event.
* @param {Number} id ID der entprechenden Location oder Veranstaltung.
*/
fehler : function(type, id) {
jQuery.post("ajax", {
"action":"get_info_fehler",
"type":type,
"id":id },
this.message, "json"
);
},
/**
* Übermittelt eine Fehlernachricht und lädt eine HTML-Seite mit dem
* Status.
* @param {String} data Serialisierte Formulardaten.
*/
fehlerSend : function(data) {
jQuery.post("ajax", data, this.message, "json");
}
};