autoActivate: true,
toggle: true,
onSelect: function(feature) {
+ var attr = feature.attributes;
var popup_div = createElement('div');
- if (feature.attributes.type == 'sledrun') {
- popup_div.append(createElement('h2').text(feature.attributes.name));
+
+ // name
+ if (attr.name !== undefined && (attr.wiki !== undefined || attr.thumb_url !== undefined))
+ popup_div.append(createElement('h2').text(attr.name));
+
+ // sledrun information
+ if (attr.type == 'sledrun') {
var ul = appendElement(popup_div, 'ul');
- ul.append(createElement('li').append(createElement('a', {'href': feature.attributes.wiki}).text('Details zur Rodelbahn')));
+ ul.append(createElement('li').append(createElement('a', {'href': attr.wiki}).text('Details zur Rodelbahn')));
var li = appendElement(ul, 'li').text('Rodelbahnzustand').append(createElement('br'));
- if (feature.attributes.condition !== undefined) {
+ if (attr.condition !== undefined) {
var condition_text = {1: 'Sehr gut', 2: 'Gut', 3: 'Mittelmäßig', 4: 'Schlecht', 5: 'Geht nicht'};
- var year_month_day = feature.attributes.date_report.split('-');
- li.append(createElement('a', {'href': feature.attributes.wiki + '#Eintr.C3.A4ge'}).text(condition_text[feature.attributes.condition]), ' ');
+ var year_month_day = attr.date_report.split('-');
+ li.append(createElement('a', {'href': attr.wiki + '#Eintr.C3.A4ge'}).text(condition_text[attr.condition]), ' ');
li.append(createElement('small').text(year_month_day[2] + '.' + year_month_day[1] + '.'), ' ');
- li.append(createElement('em').append(createElement('a', {'href': feature.attributes.wiki + '#Eintragen'}).text('Neu')));
+ li.append(createElement('em').append(createElement('a', {'href': attr.wiki + '#Eintragen'}).text('Neu')));
} else {
- li.append(createElement('em').append(createElement('a', {'href': feature.attributes.wiki + '#Eintragen'}).text('Bitte eintragen')));
+ li.append(createElement('em').append(createElement('a', {'href': attr.wiki + '#Eintragen'}).text('Bitte eintragen')));
}
- } else if (feature.attributes.wiki !== undefined) {
- if (feature.attributes.name != undefined) popup_div.append(createElement('h2').text(feature.attributes.name));
- popup_div.append(createElement('p').append(createElement('a', {'href': feature.attributes.wiki}).text('Details')));
- } else return;
+ }
+
+ // wiki link
+ if (attr.wiki !== undefined) {
+ var a = appendElement(appendElement(popup_div, 'p'), 'a', {'href': attr.wiki});
+ if (attr.thumb_url === undefined) a.text('Details');
+ else a.append(createElement('img', {'src': attr.thumb_url, 'alt': 'Details'}));
+ }
+
+ // no popup if we don't have anything to say
+ if (popup_div.children().length == 0) return;
// Open popup
var selectFeatureControl = this;
- var popup = new OpenLayers.Popup.FramedCloud('sledruninfopopup_' + feature.attributes.wiki,
+ var popup = new OpenLayers.Popup.FramedCloud('sledruninfopopup_' + attr.wiki,
feature.geometry.getBounds().getCenterLonLat(),
null,
popup_div.html(),