/* 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