/* Agenda Funktionen */
// Detail einblenden (index.shtml)
function showDetail(parentelem, event_id, date_identifier) {
if(!$('#'+parentelem+'_detail').hasClass('detailrow')) {
if(event_id != '' && date_identifier != '') {
location.hash = event_id+'_'+date_identifier;
$('#facebook').attr('href', 'http://www.facebook.com/sharer.php?&u=http://www.appenzelleragenda.ch/%23'+event_id+'_'+date_identifier);
$('#twitter').attr('href', 'http://twitter.com/home?status=Ich habe eine interessante Veranstaltung gefunden: http://www.appenzelleragenda.ch/%23'+event_id+'_'+date_identifier);
}
$(".detailrow div.details_wrapper").slideUp('fast'); // Alle Details schliessen
$(".detailrow").removeClass('detailrow').addClass('hiddenrow'); // Zeile verstecken
$('#'+parentelem+'_detail').removeClass('hiddenrow').addClass('detailrow'); // Aktuelle Zeile einblenden
if($('#'+parentelem+' td').hasClass('even')) $('#'+parentelem+'_detail td').addClass('even'); // Farbe von Zeile oberhalb abolen
$('#'+parentelem+'_detail div.details_wrapper').slideDown('fast'); // Zeile auffahren
}
}
// Umleitung für Klick-Statistik
function gotoSite(id, elem) {
var old_href = $(elem).attr('href');
$(elem).attr('href', '/fwd/?banner_id='+id).focusout(function() {
$(elem).attr('href', old_href);
});
}
/* Resultate Fetchen (index.shtml) */
function getResults(page) {
var strQuery = $('#q').val(); // Query abolen
if(page == undefined) var page = 1; // Seite 1 setzen
page = parseInt(page)
var filter = $.param($('#filter').formToArray()) // Erweiterte Suche abholen und in URL Argumente verpacken
if(strQuery != undefined && strQuery.length >= 3) {
var request = "/get.php?action=search&q="+strQuery+'&offset='+page+'&'+filter; // mit Query mit Offset mit Filter
} else if(page > 1) {
var request = "/get.php?offset="+page+'&'+filter; // ohne Query mit Offset mit Filter
} else {
var request = "/get.php?"+filter; // ohne Query ohne Offset mit Filter
}
$('#loader').css('display', 'block'); // AJAX Aktivitätsanzeige EIN
var noCache = Date();
$.getJSON(request,{"noCache":noCache},
function(data){
$('#loader').css('display', 'none'); // AJAX Aktivitätsanzeige AUS
if(data != null && data.count > 0) {
var count = $('.row').length;
$('#results-none').css('display', 'none'); // "Keine Treffer" ausblenden
$('#results-wrapper').css('display', 'block'); // Resulate Rahmen einblenden
getPaging(page, data.count, 10); // Paging abholen
var lastevent = 0;
var lasttitle = '';
if(strQuery == '' || count != 1) {
$('#results tbody').empty();
$.each(data.event, function(i,event){ // Events loopen
// Event-Bild
if(event.image == '') {
image_preview = '/_images/fileupload.png';
image_middle = '/_images/fileupload_middle.png';
} else {
image_preview = '/_images/preview/'+event.image;
image_middle = '/_images/middle/'+event.image;
}
// Datums-Ausgabe
if(event.date_type == 'daily' && event.time_type != 'individual') var datestring = 'täglich bis '+event.date_end;
else if(event.date_type == 'daily' && event.time_type == 'individual') {
var datestring = event.date_start+' - '+event.date_end+'
';
var spacer = '';
$.each(event.time_table, function(i, timetable) {
var weekday_ucfirst = timetable.weekday.slice(0,1).toUpperCase() + timetable.weekday.slice(1);
if(timetable.closed != 1) {
datestring = datestring+spacer+weekday_ucfirst;
spacer = ', ';
}
});
}
else if(event.date_type == 'fromto') var datestring = event.date_start+' - '+event.date_end;
else if(event.date_type == 'multi' && event.time_start == '00:00') var datestring = event.date_start;
else var datestring = event.date_start+'
'+event.time_start+' Uhr';
// Details zusammenstellen (falls vorhanden)
var details_image = '';
var details_left = '';
var details_right = '';
if(event.description != '') details_left = details_left+'
Beschreibung
'+event.description+'
';
if(event.link != '') details_image = details_image+'Homepage
'+event.link+'
';
if(event.email != '') details_image = details_image+'E-Mail
'+event.email+'
';
if(event.date_type == 'daily' && event.time_type != 'individual') var datestring_detail = 'täglich bis '+event.date_end;
else if(event.time_type == 'individual') {
var datestring_detail = event.date_start+' - '+event.date_end;
var timestring_detail = '
';
var spacer = '';
$.each(event.time_table, function(i, timetable) {
var weekday_ucfirst = timetable.weekday.slice(0,1).toUpperCase() + timetable.weekday.slice(1);
if(timetable.closed != 1) timestring_detail = timestring_detail+spacer+''+weekday_ucfirst+' '+timetable.time_start+' - '+timetable.time_end+' Uhr';
else timestring_detail = timestring_detail+spacer+''+weekday_ucfirst+' geschlossen';
spacer = '
';
});
}
else if(event.date_type == 'fromto') var datestring_detail = event.date_start+' - '+event.date_end;
else var datestring_detail = event.date_start;
if(event.time_type == 'fromto') var timestring_detail = event.time_start+' - '+event.time_end+' Uhr';
else if(event.time_type == 'and') var timestring_detail = event.time_start+' Uhr + '+event.time_end;
else if(event.time_type == 'from') var timestring_detail = 'ab '+event.time_start+' Uhr';
else if(event.time_type == 'individual') var foo = '';
else if(event.time_type == 'multi' && event.time_start == '00:00') var timestring_detail = '';
else var timestring_detail = event.time_start+' Uhr';
details_right = details_right+'Datum / Zeit
'+datestring_detail+'
'+timestring_detail+'
';
if(event.location != '') details_right = details_right+'Räumlichkeit
'+event.location+'
';
if(event.city != '') details_right = details_right+'Ort
'+event.city+'
';
if(event.pdf != '' || event.children == 1) details_right = details_right+'Weitere Informationen
';
if(event.pdf != '') details_right = details_right+'PDF herunterladen
';
if(event.children == 1) details_right = details_right+'kinderfreundlich
';
// Hier werden die Resutlate-Zeilen geschustert
$('#results tbody').append(' | '+datestring+' | '+event.title+' '+event.location+' | '+event.city+' |
 '+details_image+' '+details_left+' '+details_right+' |
');
});
}
// Zeilenfärbung steuern
if(data.count > 1 && data.event.length%2 == 0) $('#results tbody tr.row:even td').addClass('even');
else $('#results tbody tr.row:odd td').addClass('even');
// Bei 1 Treffer Detail direkt einblenden + Facebook / Twitter Icons ansteuern
if(data.count == 1) {
showDetail('event_'+data.event[0].id, data.event[0].id, data.event[0].date_identifier);
$('#facebook').attr('href', 'http://www.facebook.com/sharer.php?t='+data.event[0].title+'&u=http://www.appenzelleragenda.ch/%23'+data.event[0].id+'_'+data.event[0].date_identifier);
$('#twitter').attr('href', 'http://twitter.com/home?status=Ich sehe mir gerade die Veranstaltung '+data.event[0].title+' auf http://www.appenzelleragenda.ch/%23'+data.event[0].id+'_'+data.event[0].date_identifier+' an...');
} else {
showDetail('event_0', '', '');
}
} else {
$('#results tbody').empty()
getPaging(page, data.count, 10); // Paging abholen
$('#results-wrapper').css('display', 'none'); // Resultate Rahmen ausblenden
$('#results-none').css('display', 'block'); // "Keine Treffer" einblenden
}
})
}
/* Paging Funktion (index.shtml) */
function getPaging(intCurrent, intResults, intResultsPerPage) {
$('#paging').empty(); // Paging leeren
if(intResults >= intResultsPerPage) { // Falls mehr Resultate als auf einer Seite Platz haben das Paging herstellen
var intPages = Math.ceil(intResults/intResultsPerPage);
// Pfeilchen nach links
if(intCurrent > 1 && intPages > 1) {
$('#paging').append('‹');
}
// Nümmerchen in der mitte
if(intPages > 1) {
for(i = 1; i <= intPages; i++) {
if(intCurrent == i) var active = 'active';
else var active = '';
$('#paging').append(''+i+'');
}
}
// Pfeilchen nach rechts
if(intCurrent < intPages && intPages > 1) {
$('#paging').append('›');
}
}
}
/* Event übermitteln (werbung.shtml) */
function submitBanner() {
$('#adform').attr('action', '/get.php?action=saveBanner');
$('#adform').ajaxSubmit({
success: function(data) {
$('#adform .error').removeClass('error');
var response = $.parseJSON(data);
if(response.error != undefined) {
$.each(response.error, function(i,error){
if(i == 0)$.scrollTo('#'+error, 2000, {easing:'elasout'});
$('#'+error).addClass('error');
});
} else {
if(response.success == 1) {
/*$('#payorder').attr('action', response.paymentLink);
$('#PSPID').val(response.PSPID);
$('#SHASign').val(response.SHASign);
$('#accepturl').val(response.accepturl);
$('#declineurl').val(response.declineurl);
$('#exceptionurl').val(response.exceptionurl);
$('#cancelurl').val(response.cancelurl);
$('#CN').val(response.CN);
$('#EMAIL').val(response.EMAIL);
$('#orderID').val(response.orderID);
$('#amount').val(parseInt(response.amount)*100);*/
$('#payorder').attr('action', response.paymentLink);
$('#business').val(response.business);
$('#cmd').val(response.cmd);
$('#item_name').val(response.item_name);
$('#amount').val(response.amount);
$('#item_number').val(response.item_number);
$('#return').val(response.returnval);
$('#payorder').submit();
}
}
}
});
return false;
}
/* Event übermitteln (eintragen.php) */
function submitEvent() {
$('#eintragen').attr('action', '/get.php?action=saveEvent');
$('#eintragen').ajaxSubmit({
success: function(data) {
$('#eintragen .error').removeClass('error');
var response = $.parseJSON(data);
if(response.error != undefined) {
$.each(response.error, function(i,error){
if(i == 0)$.scrollTo('#'+error, 2000, {easing:'elasout'});
$('#'+error).addClass('error');
});
} else {
if(response.success == 1) {
$('#boxcontent').empty().html('Der Eintrag wurde gespeichert.
Sie erhalten auf Ihre E-Mail-Adresse einen Link, um den Eintrag ändern oder löschen zu können.');
window.location.hash = '#';
}
}
}
});
return false;
}
/* Crop Preview anzeigen (eintragen.php) */
function showPreview(c) {
if (parseInt(c.w) > 0){
$('#preview').attr('src', $('#original').attr('src'));
var rx = 40 / c.w;
var ry = 40 / c.h;
$('#coords').val(c.x+','+c.y+','+c.w+','+c.h);
jQuery('#preview').css({
width: Math.round(rx * $('#original').width()) + 'px',
height: Math.round(ry * $('#original').height()) + 'px',
marginLeft: '-' + Math.round(rx * c.x) + 'px',
marginTop: '-' + Math.round(ry * c.y) + 'px'
});
}
}
/* Validierung und Code Generierung (widget.php) */
function getCode() {
var category = $("input[name^='category']");
var flag = 0;
$.each(category, function(i,elem) {
if($(elem).attr('checked') || $(elem).attr('checked') == 'checked') flag = 1;
});
if(flag == 0) $('#category').addClass('error');
else $('#category').removeClass('error');
if($('#width').val() == '' || $('#width').val() < 400) {
flag = 0;
$('#width').addClass('error');
} else {
$('#width').removeClass('error');
}
if($('#height').val() == '' || $('#height').val() < 200) {
flag = 0;
$('#height').addClass('error');
} else {
$('#height').removeClass('error');
}
if($('#fontcolor').val() == '') {
flag = 0;
$('#fontcolor').addClass('error');
} else {
$('#fontcolor').removeClass('error');
}
if($('#backgroundcolor').val() == '') {
flag = 0;
$('#backgroundcolor').addClass('error');
} else {
$('#backgroundcolor').removeClass('error');
}
if($('#accentcolor').val() == '') {
flag = 0;
$('#accentcolor').addClass('error');
} else {
$('#accentcolor').removeClass('error');
}
if(flag == 1) {
var filter = decodeURIComponent($.param($('#widget').formToArray()));
$('#widgetcode').val('\n