open_graph_reader 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1764 @@
1
+ <!DOCTYPE html SYSTEM "about:legacy-compat">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:my="mynames" xmlns:gf="http://www.taz.de/namespace/gitfilter"><!--
3
+ Content Management: openNewspaper www.opennewspaper.org based on TYPO3 www.typo3.org
4
+ Community Platform: Invsision Power Board www.invisionpower.com via ipbwi.com + manufactured PHP
5
+ Presentation Layer: XML, XSL, HTML, CSS, JS (+ toil, tears and sweat) webmaster@taz.de
6
+ --><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
7
+ <!--
8
+ page_id :: 4623--><meta http-equiv="Content-Script-Type" content="text/javascript"></meta><meta name="robots" content="index,follow,noarchive"></meta><meta name="language" content="de"></meta><meta name="copyright" content="TAZ Verlags- und Vertriebs GmbH"></meta><title>Wandel im Biohandel: Alnatura weitet Vertrieb im Netz aus - taz.de
9
+ </title><meta name="author" content="Eva Oer"></meta><meta name="description" content="Die Drogeriekette dm hatte im April eine Eigenmarke für Ökolebensmittel gegründet. Nun startet der frühere Hauptlieferant eine Offensive."></meta><meta name="keywords" content="Biohändler, Alnatura, dm, Drogeriekette, Ökonomie, Öko, taz, tageszeitung "></meta><meta name="generator" content="tazxslt, 0.52; "></meta><meta property="og:locale" content="de_DE"></meta><meta property="og:type" content="article"></meta><meta name="twitter:card" content="summary_large_image"></meta><meta name="twitter:site" content="@tazgezwitscher"></meta><meta property="og:title" content="Wandel im Biohandel: Alnatura weitet Vertrieb im Netz aus"></meta><meta name="twitter:title" content="Wandel im Biohandel: Alnatura weitet Vertrieb im Netz aus"></meta><meta property="og:description" content="Die Drogeriekette dm hatte im April eine Eigenmarke für Ökolebensmittel gegründet. Nun startet der frühere Hauptlieferant eine Offensive."></meta><meta name="twitter:description" content=" Die Drogeriekette dm hatte im April eine Eigenmarke für Ökolebensmittel gegründet. Nun startet der frühere Hauptlieferant eine Offensive."></meta><meta property="og:image" content="http://www.taz.de/uploads/images/948/0634n.jpg"></meta><meta name="twitter:image" content="http://www.taz.de/uploads/images/948/0634n.jpg"></meta><meta property="article:published_time" content="2015-05-04T16:28:34+02:00"></meta><meta property="article:modified_time" content="2015-05-04T16:28:34+02:00"></meta><link rel="canonical" href="http://www.taz.de/!159273/"></link><link rel="alternate" type="application/rss+xml" title="taz.de - Ökonomie" href="/!p4623/rss.xml"></link><link rel="alternate" type="application/rss+xml" title="taz.de - Schlagzeilen" href="/rss.xml"></link><link rel="home" type="text/html" title="taz.de - Schlagzeilen" href="/"></link><link rel="copyright" type="text/html" title="Impressum" href="/6/impressum/"></link><link href="/lib/ch/web/css/news2015-04-21_00.css" type="text/css" rel="stylesheet" media="screen, print" gf:attribute="href" gf:clean="/lib/ch/web/css/news0.css" gf:smudge="/lib/ch/web/css/news###_TIMESTAMP_###.css" gf:master="/lib/ch/web/css/news###_TIMESTAMP_###.css"></link><link href="/lib/ch/web/css/local/print.css" type="text/css" rel="stylesheet" media="print"></link><!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="/lib/style/ie6.css"> <![endif]--><!--[if lte IE 7]><style type="text/css">
10
+ ul.topbar >li >a>span,
11
+ .secthead>ul[role='navigation']>li >a>span { border-left: 1px solid; padding: 0px 4px; }
12
+ ul.topbar >li.first>a>span,
13
+ .secthead>ul[role='navigation']>li.first>a>span { border:none; padding-left:0px; }
14
+ ul.topbar >li >a>span { border-color:white; }
15
+ .secthead>ul[role='navigation']>li >a>span { border-color:#888888; }
16
+ .box h2 { line-height:20px; }
17
+ .author { display:inline; float:none; }
18
+ .sect_spb .sectbody { padding-top:8px; }
19
+ /* fil 2011-04-08 */
20
+ .sect_article >.sectfoot ul.toolbar >li,
21
+ #reward >ul.toolbar { height:28px; }
22
+ .sect_article >.sectfoot ul.toolbar >li,
23
+ #reward ul.toolbar >li { float: left !important; }
24
+ #reward >div { clear:both; }
25
+ .sect_article >.sectfoot ul.toolbar { position:relative !important; top:0px; left:0px; height:24px; }
26
+ #micropay ul.toolbar { height:52px; }
27
+ .sect_article >.sectfoot { padding-bottom:30px }
28
+ </style><![endif]--><!--[if lte IE 8]><style type="text/css">
29
+ p.article,
30
+ .sect_article >.sectbody >h6,
31
+ p.caption,
32
+ .price-tag >.info,
33
+ .ad_badge,
34
+ li.tag >a,
35
+ .secthead > ul.toolbar,
36
+ .sect_meta,
37
+ .sect_service >.sectbody,
38
+ .head >.search >.frame >input,
39
+ .person >h5 {
40
+ font-family: Verdana, DejaVu Sans, Bitstream Vera Sans, Helvetica, sans-serif;
41
+ }
42
+ </style><![endif]--><script type="text/javascript" src="/lib/ch/web/js/2015-04-20_01.js" gf:attribute="src" gf:clean="/lib/ch/web/js/0.js" gf:smudge="/lib/ch/web/js/###_TIMESTAMP_###.js" gf:master="/lib/ch/web/js/###_TIMESTAMP_###.js" xml:space="preserve"></script><script type="text/javascript" xml:space="preserve"> if( filOtaz_de && filOtaz_de.goMobile ) filOtaz_de.goMobile(); </script><script type="text/javascript" src="https://script.ioam.de/iam.js" xml:space="preserve"></script><link rel="shortcut icon" href="/favicon.ico" type="image/ico"></link></head><body><script type="text/javascript" xml:space="preserve">(function(){
43
+ var body = $(document.body);
44
+ body.addClass('js');
45
+ if( screen.width >=640 ) body.addClass('vga'); else body.addClass('novga');
46
+ if( screen.width >=800 ) body.addClass('svga'); else body.addClass('nosvga');
47
+ if( screen.width >=1024 ) body.addClass('xga'); else body.addClass('noxga');
48
+ if( screen.width >=1280 ) body.addClass('sxga'); else body.addClass('nosxga');
49
+ })(); </script><script xml:space="preserve">
50
+ // identify adspirit ad zones, set IDs
51
+ // expect jQuery already to be loaded
52
+ (function() {
53
+ if( !window.filOtaz_de ) window.filOtaz_de = Object;
54
+ if( !window.filOtaz_de.ads ) window.filOtaz_de.ads = Object;
55
+ if( !window.filOtaz_de.ads.adspirit ) window.filOtaz_de.ads.adspirit = Object;
56
+
57
+ // data / config
58
+ var adids = {
59
+ artikelliste: [29],
60
+ artikel_co: [28],
61
+ banner: [30],
62
+ sky: [41],
63
+ layer: [31],
64
+ rechts_co0_gut_bez: [308],
65
+ klein_co1_bez_at: [32],
66
+ co2_at: [33],
67
+ co3_bez: [34],
68
+ co_urban: [1389],
69
+ co5_rest: [36],
70
+ co6_bez: [37],
71
+ co_mob_urban: [3691],
72
+ co_mob_50: [112],
73
+ co_mob_75: [333],
74
+ co_mob_100: [334],
75
+ footer_mob: [109],
76
+ pageID: [4610],
77
+ message: ['ok']
78
+ }; // transfer data from XML
79
+
80
+ /*
81
+ var zones = [ 'banner', 'sky', 'billboard', 'layer', 'artikelliste', 'artikel_co',
82
+ 'rechts_co0', 'rechts_co1', 'rechts_co2', 'rechts_co3', 'rechts_co4',
83
+ 'rechts_co5', 'rechts_co6', 'rechts_co7', 'rechts_co8', 'rechts_co9'
84
+ ];
85
+ // normalize data
86
+ zones=$.grep( zones, function( type, i ){ return adids[type] && adids[type][0] != undefined; } );
87
+ */
88
+
89
+
90
+ // general ad handling
91
+ filOtaz_de.ads.fitIn = function( container ) { // make space for ad in layout
92
+ var container = $( container );
93
+ //console.log('fit '+ container.attr('id') );
94
+ if( !container.is('.ad_zone') ) return;
95
+ var packing = container.parent('.ad_bin');
96
+ packing.addClass('shown');
97
+ container.addClass('ad_zone_shown');
98
+ if( container.hasClass('ad_zone_contentad') ) {
99
+ packing.prev('.sect_leads').addClass('aded_'+( container.height() >120 ?'big' :'small' ) );
100
+ var badge = container.hasClass('ad_zone_sold') ? 'Anzeige' : 'taz-Angebot' ;
101
+ container.before('<div class="ad_badge ad_badge_'+ name +'">'+ badge +'</div>');
102
+ }
103
+ container.trigger('TAZadInserted');
104
+ };
105
+
106
+ filOtaz_de.ads.reclaim = function( container ) { // remove whitespace from non-delivered ad
107
+ var container = $( container );
108
+ //console.log('reclaim '+ container.attr('id') );
109
+ if( !container.is('.ad_zone') ) return;
110
+ var packing = container.parent('.ad_bin');
111
+ packing.removeClass('shown');
112
+ container.removeClass('ad_zone_shown');
113
+ if( container.hasClass('ad_zone_contentad') ) {
114
+ packing.prev('.sect_leads').removeClass('aded_big aded_small');
115
+ }
116
+ container.trigger('TAZadRemoved');
117
+ };
118
+
119
+
120
+
121
+ // legacy callback interface for ads written in frames
122
+ filOtaz_de.ads.adspirit.handleFrameNoAdScript = function( frameN ) {
123
+ $( frameN ).trigger('filOtaz_de.ads.adspirit.noBanner');
124
+ };
125
+ filOtaz_de.ads.adspirit.handleFramePreAdScript = function( frameN ) {
126
+ $( frameN ).trigger('filOtaz_de.ads.adspirit.preBanner');
127
+ };
128
+ filOtaz_de.ads.adspirit.handleFramePostAdScript = function( frameN ) {
129
+ $( frameN ).trigger('filOtaz_de.ads.adspirit.postBanner');
130
+ };
131
+
132
+ // callback interface for inline script ads
133
+ var domAnchor = function( pos ) {
134
+ var marker = Math.floor( Math.random()*9999999 );
135
+ document.write('<div id="ad_marker_'+ marker +'" class="ad_'+ pos +'_marker"></div>');
136
+ return( $('#ad_marker_'+ marker)[0] );
137
+ };
138
+ filOtaz_de.ads.adspirit.handleNoAdScript = function( frame ) { // called from inline script
139
+ var container = frame ? frame : domAnchor('noAd').parentNode;
140
+ $( container ).trigger('filOtaz_de.ads.adspirit.noBanner');
141
+ };
142
+ filOtaz_de.ads.adspirit.handlePreAdScript = function( frame ) { // called from inline script
143
+ var container = frame ? frame : domAnchor('noAd').parentNode;
144
+ $( container ).trigger('filOtaz_de.ads.adspirit.preBanner');
145
+ };
146
+ filOtaz_de.ads.adspirit.handlePostAdScript = function( frame ) { // called from inline script
147
+ var container = frame ? frame : domAnchor('noAd').parentNode;
148
+ $( container ).trigger('filOtaz_de.ads.adspirit.postBanner');
149
+ };
150
+
151
+ var fuzeAdFrame = function( frame ) { // register frame for messages, fire if one is from our content
152
+ var container = frame; // keep for closure
153
+ $( window ).bind('message', function(jqe){
154
+ var e = jqe.originalEvent;
155
+ if( e.source != container[0].contentWindow ) return;
156
+ //if( e.origin != safeOrigin ) return;
157
+ container.trigger( e.data );
158
+ return false;
159
+ } );
160
+ };
161
+
162
+
163
+ // activate ad frame
164
+ var adZoneHandled = {};
165
+ filOtaz_de.ads.adspirit.activateAdFrame = function( type ) {
166
+ if( !type ) return;
167
+ if( adZoneHandled[type] ) return; adZoneHandled[type] = true; // only one active zone per type
168
+ if( !adids[type] ) return;
169
+
170
+ var name = type; // keep for closure
171
+ var host = ( name=='co_urban' || name=='co_mob_urban' ) ? 'urban.adspirit.de' : 'taz.adspirit.de';
172
+ var id = adids[name][0];
173
+ var packing = $('#ad_bin_'+ name );
174
+ var container = packing.find('>#ad_zone_'+ name );
175
+
176
+ // register frame for messages, fire if one is from our content
177
+ if( container.is('iframe') )
178
+ fuzeAdFrame( container );
179
+
180
+ // handle custom ad load events
181
+ container.bind('filOtaz_de.ads.adspirit.noBanner', function(){ return false; });
182
+ container.bind('filOtaz_de.ads.adspirit.preBanner', function(){
183
+ filOtaz_de.ads.fitIn( container );
184
+ return false;
185
+ });
186
+ container.bind('filOtaz_de.ads.adspirit.postBanner', function(){ return false; });
187
+ /*
188
+ container.bind('filOtaz_de.ads.adspirit.noBanner', function(jqe){
189
+ //console.log('noBanner for framed '+ name +' '+ container.length );
190
+ // ToDo: remove empty frame
191
+ return false;
192
+ } );
193
+ container.bind('filOtaz_de.ads.adspirit.preBanner', function(jqe){
194
+ //console.log('preBanner for framed '+ name +' '+ container.length );
195
+ // ToDo: reserve space in layout
196
+ packing.addClass('shown');
197
+ container.addClass('ad_zone_shown');
198
+ if( container.hasClass('ad_zone_contentad') ) {
199
+ packing.prev('.sect_leads').addClass('aded_'+( container.height() >120 ?'big' :'small' ) );
200
+ var badge = container.hasClass('ad_zone_sold') ? 'Anzeige' : 'taz-Angebot' ;
201
+ //packing.find('>.ad_badge').remove();
202
+ container.before('<div class="ad_badge ad_badge_'+ name +'">'+ badge +'</div>');
203
+ }
204
+ container.trigger('TAZadInserted');
205
+ return false;
206
+ } );
207
+ container.bind('filOtaz_de.ads.adspirit.postBanner', function(jqe){
208
+ //console.log('postBanner for framed '+ name +' '+ id );
209
+ // ToDo: resize / reposition / show
210
+ return false;
211
+ } );
212
+ */
213
+
214
+ if( container.is('iframe') ) { // define content
215
+ if( window.postMessage )
216
+ container.attr({ src: '//'+ host +'/adframe.php?pid='+ id })
217
+ else container[0].contentWindow.document.write(
218
+ '<script src="//'+ host +'/adscript.php?pid='+ id +'" type="text/javascript"></'+'script>'
219
+ )
220
+ ;
221
+ }
222
+ /*
223
+ else { // inline ad - trigger ad load handlers
224
+ container.trigger('filOtaz_de.ads.adspirit.preBanner');
225
+ container.trigger('filOtaz_de.ads.adspirit.postBanner');
226
+ }
227
+ */
228
+ };
229
+
230
+ // activate wallpaper combo add frame
231
+ filOtaz_de.ads.adspirit.wallpaper = function() {
232
+ var name = 'wall';
233
+ var id1 = adids['banner'][0], id2 = adids['sky'][0];
234
+ var container = $('iframe#ad_zone_wall');
235
+ // var skirt, bar, heightFixed;
236
+
237
+ // register frame for messages, fire if one is from our content
238
+ fuzeAdFrame( container );
239
+
240
+ var pages, bar;
241
+ var fixHeight = function() {
242
+ if( !pages || !pages.length ) pages = $('#pages');
243
+ if( !bar || !bar.length ) bar = pages.find('>.sect_tdt >.sectbody,>.sect_end >ul.sectbody').first();
244
+ if( bar && bar.length ) {
245
+ container.height( bar.offset().top +90 );
246
+ fixHeight = null; // this is our final height
247
+ }
248
+ else container.height( $(document).height() );
249
+ };
250
+
251
+ var preAdHandled = false;
252
+ container.bind('filOtaz_de.ads.adspirit.preBanner', function(jqe){
253
+ if( preAdHandled ) return; preAdHandled = true; // run once only
254
+ //console.log('preBanner for wallpaper frame '+ container.length );
255
+ if( $(document).width() > container.width() ) container.width( $(document).width() +500 );
256
+ fixHeight();
257
+ if( fixHeight ) { // height not yet final
258
+ var handleStage = function(ev) {
259
+ if( !fixHeight ) { // height already final
260
+ $(this).unbind('filOtaz_de.layout.stageDone', handleStage );
261
+ return;
262
+ }
263
+ if( $(ev.target).is('.sect_tdt, .sect_end') ) { // to be the final call
264
+ fixHeight();
265
+ $(this).unbind('filOtaz_de.layout.stageDone', handleStage );
266
+ }
267
+ };
268
+ if( $(document.body).is('.homepage') )
269
+ container.parent().bind('filOtaz_de.layout.stageDone', handleStage ); // fix height early
270
+ $(document).ready( fixHeight ); // … or at least when dom ready
271
+ }
272
+
273
+ container.addClass('ad_zone_shown');
274
+ $('#centered').addClass('shifted');
275
+ container.trigger('TAZadInserted');
276
+ //console.log('preBanner for wallpaper frame '+ container.length );
277
+ return false;
278
+ } );
279
+
280
+ // var dy = $('#pages>.first.page>.body>*:first-child').offset() - $('#pages').offset();
281
+ container.attr({ src:'/fireplace.php?b='+ id1 +'&s='+ id2 });
282
+ };
283
+
284
+
285
+ // inline script postloader
286
+ filOtaz_de.ads.adspirit.postload = function( type ) {
287
+ if( !adids[type] ) return;
288
+ var name = type; // keep for closure
289
+ var id = adids[type][0];
290
+ var container = $('#ad_zone_'+ type +'_postloader');
291
+ var target = $('#ad_zone_'+ type );
292
+
293
+ var noAd_handled = false;
294
+ container.bind('filOtaz_de.ads.adspirit.noBanner', function(jqe){
295
+ if( noAd_handled ) return; noAd_handled = true;
296
+ //console.log('noBanner for inline '+ name +' '+ id );
297
+ // ToDo: remove empty container?
298
+ return false;
299
+ } );
300
+ container.bind('filOtaz_de.ads.adspirit.preBanner', function(jqe){
301
+ if( preAd_handled ) return; preAd_handled = true;
302
+ //console.log('preBanner for inline '+ name +' '+ id );
303
+ // ToDo: reserve space in layout
304
+ target.addClass('ad_zone_shown');
305
+ return false;
306
+ } );
307
+ container.bind('filOtaz_de.ads.adspirit.postBanner', function(jqe){
308
+ if( postAd_handled ) return; postAd_handled = true;
309
+ //console.log('postBanner for inline '+ name +' '+ id );
310
+ // ToDo: resize / reposition / show
311
+ var toMove = container.find('>.ad_preAd_marker:last~*')
312
+ .not('script')
313
+ .not('.ad_postAd_marker:first~*') // !!! IE9 doesn't like :first
314
+ .not('.ad_postAd_marker')
315
+ .appendTo( target )
316
+ ;
317
+ //console.log('found '+ toMove.length +' to move: '+ toMove.last().attr('class') );
318
+ return false;
319
+ } );
320
+
321
+ document.write('\
322
+ <script src="//'+ host +'/adscript.php?pid='+ id +'" type="text/javascript" language="JavaScript"></'+'script>\
323
+ ');
324
+ };
325
+
326
+
327
+
328
+ })();
329
+ </script><div class="topo_wit" id="counter"><!-- begin: analog.taz.de --><script type="text/javascript" xml:space="preserve">
330
+ rand = (''+Math.random());
331
+ len = rand.length;
332
+ append = rand.substr(len-10,10);
333
+ var IVW='/digitaz/cntres/Ökonomie-Artikel/ecnt/'+append+'.taz/countergif';
334
+ document.write('<img src="'+IVW+'" width="1" height="1" border="0" alt="zaehler">');
335
+ </script><noscript><img src="/digitaz/cntres/Ökonomie-Artikel/ecnt/1430731296.taz/countergif" border="0" width="1" height="1" alt=""></img></noscript><!-- end: analog.taz.de --><!-- begin: ivw --><script type="text/javascript" xml:space="preserve">
336
+ var iam_data = {
337
+ "st": "taz",
338
+ "cp": "Redaktion/Oeko/Oekonomie,Artikel",
339
+ "sv": "i2"
340
+ };
341
+ if( typeof( iom ) !=='undefined' && iom.c )
342
+ iom.c (iam_data,1);
343
+ </script><!-- end: ivw --><!-- begin: etracker --><!--BEGIN etracker Tracklet 3.0--><!--BEGIN etracker Tracklet 3.0 async--><script type="text/javascript" xml:space="preserve">
344
+ //
345
+
346
+ (function(){
347
+ var et_init = function(){
348
+ var et = document.createElement('script');
349
+ et.src = 'http'
350
+ + ('https:'==document.location.protocol?'s':'')
351
+ + '://code.etracker.com/a.js?et=ZBEiQb'
352
+ ;
353
+ var head = document.getElementsByTagName('head')[0];
354
+ head.insertBefore(et, head.firstChild);
355
+
356
+ // 2012-09-12 fil: add event tracker
357
+ var eachZone = function(){
358
+ // remember event target zone for et category
359
+ var zone = $(this);
360
+ zone.filter('a[href]')
361
+ .add(' >.sect, >.rack>.sect, >#globalnavigation, >#newsnavigation, >#helplinks, >#siblinglinks ',zone)
362
+ .each(function(){
363
+ // remember event target section for et object
364
+ var sec = $(this);
365
+ sec.filter('a[href],#globalnavigation,#newsnavigation,#helplinks,#siblinglinks')
366
+ .add(' >.secthead>h2, >.secthead>ul, >.sectbody, >.sectfoot>ul, >.sectfoot>div, >ul[role="directory"]>.sectbody ',sec)
367
+ .each(function(){
368
+ // remember event target section-limb for et action
369
+ var part = $(this);
370
+ part.filter('a[href]')
371
+ .add('a[href]',part)
372
+ .each(function(){
373
+ // only one tracker per link!
374
+ if( this.hasEtEventTracker ) return;
375
+ this.hasEtEventTracker = true;
376
+ // remember event target link for et action
377
+ var tgt = $(this);
378
+ tgt.bind('mousedown',function(){
379
+ var is = {
380
+ zone : {
381
+ /*
382
+ head : zone.filter('#headerleft,#headerright').length >0 ,
383
+ */
384
+ head : zone.parent('#riegel').length >0,
385
+ main : zone.hasClass('main_col') ,
386
+ right : zone.hasClass('right_col') ,
387
+ article : zone.parent().hasClass('sect_article')
388
+ },
389
+ menu : {
390
+ site : sec.filter('#globalnavigation').length >0 ,
391
+ news : sec.filter('#newsnavigation').length >0 ,
392
+ help : sec.filter('#helplinks').length >0 ,
393
+ peer : sec.filter('#siblinglinks').length >0
394
+ },
395
+ sect : {
396
+ leads : sec.hasClass('sect_leads') ,
397
+ article : sec.hasClass('sect_article') ,
398
+ results : sec.hasClass('sect_searchresults') ,
399
+ spb : sec.hasClass('sect_spb') ,
400
+ adr : sec.hasClass('sect_adr') ,
401
+ dossier : sec.hasClass('sect_dossier') ,
402
+ shorty : sec.hasClass('sect_shorty') ,
403
+ comment : sec.hasClass('sect_comment') ,
404
+ author : sec.hasClass('sect_author') ,
405
+ first : sec.parent().hasClass('first_rack')
406
+ },
407
+ limb : {
408
+ head : part.parent().hasClass('secthead') ,
409
+ title : part.filter('h2').length >0 ,
410
+ menu : part.filter('ul[role="navigation"]').length >0 ,
411
+ icons : part.hasClass('toolbar') ,
412
+ body : part.hasClass('sectbody') ,
413
+ foot : part.parent().hasClass('sectfoot') ,
414
+ reward : part.filter('#reward').length >0 ,
415
+ share : part.hasClass('share') ,
416
+ service : part.hasClass('service') ,
417
+ taz_de : tgt.find('>#logo_tazde').length >0 ,
418
+ taz : tgt.filter('#logo_dietageszeitung').length >0 ,
419
+ pict : tgt.attr('target') == 'fullImage' ,
420
+ text : tgt.parent('p').hasClass('article')
421
+ }
422
+ }
423
+ var cat =
424
+ is.zone.head ? 'Kopf' :
425
+ is.sect.article ? 'Artikel' :
426
+ is.zone.article ? 'Artikel' :
427
+ is.zone.main ? 'Hauptspalte' :
428
+ is.zone.right ? 'Marginalspalte' :
429
+ 'sonstige'
430
+ ;
431
+ var obj =
432
+ tgt.filter('a.sticker').length ? 'Sticker' :
433
+ is.limb.taz_de ? 'taz.de-Logo' :
434
+ is.limb.taz ? 'tageszeitung-Logo' :
435
+ is.menu.site ? 'Riegel-Menu' :
436
+ is.menu.news ? 'Hauptmenu' :
437
+ is.menu.help ? 'Hilfe-Menu' :
438
+ is.menu.peer ? 'Zusatz-Menu' :
439
+ is.sect.leads ? 'Artikelteaser' :
440
+ is.sect.article ?
441
+ is.limb.head ? 'Artikelkopf' :
442
+ is.limb.body ? 'Artikelinhalt' :
443
+ is.limb.foot ? 'Artikelfuß' :
444
+ 'sonstige' :
445
+ is.sect.results ? 'Suchergebnis' :
446
+ is.sect.spb ? 'Schwerpunktbox' :
447
+ is.sect.adr ? 'Ressortteaser' :
448
+ is.sect.dossier ? 'Schmuckbild' :
449
+ is.sect.shorty ? 'Textkasten' :
450
+ is.sect.author ? 'Biokasten' :
451
+ sec.find('>.secthead>h2').text()
452
+ ;
453
+ if( is.sect.comment ) obj = obj.replace( /Kommentar von .*/i, 'Kommentar von ...');
454
+ if( is.sect.first ) obj = obj.replace( /Stichwort: .*/i, 'Stichwort: ...');
455
+ var act =
456
+ tgt.find('>.frame >img.full').length ? 'Zeitung' :
457
+ is.limb.pict ? 'Bild vergrößern' :
458
+ is.limb.text ? 'Link im Text' :
459
+ is.limb.title ? 'Titel-Link' :
460
+ is.limb.menu ? 'Menu' :
461
+ is.limb.icons ?
462
+ is.limb.head ? 'Icon oben' :
463
+ is.limb.foot ? 'Icon unten' :
464
+ 'Icon?' :
465
+ is.limb.head ? 'Element-Kopf' :
466
+ is.limb.body ? 'Inhalt' :
467
+ is.limb.reward ? 'belohnen' :
468
+ is.limb.share ? 'teilen' :
469
+ is.limb.service ? 'Service' :
470
+ is.limb.foot ? 'Element-Fuß' :
471
+ 'sonstige'
472
+ ;
473
+ $(this).attr('title', $(this).attr('title') + cat +' / '+ obj +' / '+ act );
474
+ ET_Event.eventStart(
475
+ encodeURIComponent(cat),
476
+ encodeURIComponent(obj),
477
+ encodeURIComponent(act),
478
+ ''
479
+ );
480
+ });
481
+ });
482
+ });
483
+ });
484
+ }; //eachZone()
485
+
486
+ // prefer assigning to deeper zones - handle them seperately and first
487
+ $(' #riegel ').find(' >span.topo_col, >a.sticker ').each(eachZone);
488
+ $(' #hauptspalte >.sect_article >.sectbody ').each(eachZone);
489
+ $(' #hauptspalte, #marginalspalte ').each(eachZone);
490
+
491
+ }; // et_init()
492
+ window.addEventListener ? window.addEventListener('load', et_init, false) : window.attachEvent('onload', et_init);
493
+ })();
494
+ function et_params() {
495
+ et_pagename = "/Biohaendler-Alnatura-weitet-Vertrieb-im-Internet-aus/!159273/";
496
+ et_areas = "taz.de/Redaktion/Öko/Ökonomie";
497
+
498
+ var cc_url_ein = "Artikel";
499
+
500
+ cc_url0 = location.href.split('#')[0].split('?')[0] + location.search;
501
+ cc_url0 += location.search.length >0 ? '&' : '?';
502
+ cc_url0 += 'ein='+ cc_url_ein;
503
+
504
+ try {
505
+ taz_form_et_params_et_target ();
506
+ } catch (e) {
507
+ }
508
+
509
+ // try {
510
+ // taz_form_et_params ();
511
+ // } catch (e) {
512
+ // }
513
+
514
+
515
+ if( location.hash.length >0 ) {
516
+ var parameter = location.hash.split('&');
517
+ location.hash = parameter.shift();
518
+ if( parameter.length >0 ) cc_url0 += '&'+ parameter.join('&');
519
+ if( location.hash.length >1 ) cc_url0 += location.hash;
520
+ }
521
+ }
522
+ //
523
+ </script><!--END etracker Tracklet 3.0 async--><!--BEGINN etracker CODE NOSCRIPT 3.0--><noscript><p><a href="http://www.etracker.de/app?et=ZBEiQb" shape="rect"><img style="border:0px;" alt="" src="https://www.etracker.de/cnt.php?et=ZBEiQb&amp;v=3.0&amp;java=n&amp;et_easy=0&amp;et_pagename=/Biohaendler-Alnatura-weitet-Vertrieb-im-Internet-aus/!159273/&amp;et_areas=taz.de/Redaktion/Öko/Ökonomie&amp;et_ilevel=0&amp;et_target=,0,0,0&amp;et_lpage=0&amp;et_trig=0&amp;et_se=0&amp;et_cust=0&amp;et_basket=&amp;et_url=&amp;et_tag=&amp;et_sub=&amp;et_organisation=&amp;et_demographic="></img></a></p></noscript><!--END etracker CODE NOSCRIPT 3.0--><!--END etracker Tracklet 3.0--><!-- end: etracker --></div><div id="adOverlay" class="topo_lay"></div><div id="fake" class="topo_wit"></div><div id="background" class="topo_bin"><div id="skirt"></div><div id="centered"><script type="text/javascript" xml:space="preserve"> // to be called inline early in #centered
524
+ //console.log( $('#background') );
525
+ //console.log( $('#centered') );
526
+ //console.log( $('#pages') );
527
+ var checkHash = function() {
528
+ var hashURL = window.location.hash.slice(1);
529
+ if( hashURL.indexOf('!tom=') ==0 ) new filOtaz_de.TomOL( hashURL.substr(5) );
530
+ if( hashURL.indexOf('!g=') ==0 ) new filOtaz_de.Gallery('/'+ hashURL );
531
+ if( hashURL.indexOf('!vimeo=') ==0 ) new filOtaz_de.VimeoVideo('/'+ hashURL );
532
+ if( hashURL.indexOf('berlinfolgen') ==0 ) new patOtaz_de.Berlinfolgen( hashURL );
533
+ if( hashURL.indexOf('!bbi') ==0 ) new patOtaz_de.BbiFluglaermkarte();
534
+ if( hashURL.indexOf('!pwatch') ==0 ) new patOtaz_de.ParteispendenWatch();
535
+ if( hashURL.indexOf('!ackerkartell') ==0 ) new patOtaz_de.Ackerkartell();
536
+ if( hashURL.indexOf('!wm2014') ==0 ) new patOtaz_de.Wm2014();
537
+ //if( hashURL.search(/^![0-9]/) ==0 ) new filOtaz_de.Wtf('/'+ hashURL );
538
+ };
539
+ checkHash();
540
+ $(window).hashchange( checkHash );
541
+ </script><iframe id="ad_zone_wall" name="wall" scrolling="no" frameborder="0" noresize marginheight="0" marginwidth="0" allowtransparency="true" class="ad_zone ad_zone_sold"></iframe><script xml:space="preserve"> filOtaz_de.ads.adspirit.wallpaper(); </script><div id="pages" class="news"><ul role="navigation" id="globalnavigation" class="navbar"><li class="first odd trodd"><a href="/Abo/!p4209/" id="menu_p4209"><span>Abo</span></a></li><li class="even trodd"><a href="/Info/!p4206/" id="menu_p4206"><span>Info</span></a></li><li class="odd treven"><a href="/Anzeigen/!p4288/" id="menu_p4288"><span>Anzeigen</span></a></li><li class="even trodd"><a href="/Genossenschaft/!p4271/" id="menu_p4271"><span>Genossenschaft</span></a></li><li class="odd trodd"><a href="/taz.zahl ich/!p4697/" id="menu_p4697"><span>taz.zahl ich</span></a></li><li class="even treven"><a href="/Panterpreis/!p4207/" id="menu_p4207"><span>Panterpreis</span></a></li><li class="odd trodd"><a href="http://www.shop.taz.de/" target="_blank" id="menu_p4378"><span>Shop</span></a></li><li class="even trodd"><a href="/ePaper/!p4350/" id="menu_p4350"><span>ePaper</span></a></li><li class="odd treven"><a href="/Archiv/!p4311/" id="menu_p4311"><span>Archiv</span></a></li><li class="even trodd"><a href="/Café/!p4237/" id="menu_p4237"><span>Café</span></a></li><li class="odd trodd"><a href="/lab 2015/!p4901/" id="menu_p4901"><span>lab 2015</span></a></li><li class="even treven"><a href="/Neubau/!p4820/" id="menu_p4820"><span>Neubau</span></a></li><li class="odd trodd"><a href="/Panter Stiftung/!p4258/" id="menu_p4258"><span>Panter Stiftung</span></a></li><li class="even trodd"><a href="/taz.am wochenende/!p4662/" id="menu_p4662"><span>taz.am wochenende</span></a></li><li class="odd treven"><a href="/zeozwei/!p4688/" id="menu_p4688"><span>zeozwei</span></a></li><li class="even trodd"><a href="http://blogs.taz.de/hausblog/" target="_blank" id="menu_p4718"><span>Hausblog</span></a></li><li class="odd trodd"><a href="http://blogs.taz.de/" target="_blank" id="menu_p4366"><span>Blogs</span></a></li><li class="even treven"><a href="/Reisen in die Zivilgesellschaft/!p4310/" id="menu_p4310"><span>Reisen in die Zivilgesellschaft</span></a></li><li class="odd trodd"><a href="http://bewegung.taz.de/" target="_blank" id="menu_p4313"><span>bewegung</span></a></li><li class="even trodd"><a href="http://monde-diplomatique.de/" target="_blank" id="menu_p4387"><span>LE MONDE diplomatique</span></a></li><li class="odd treven"><a href="http://www.kontextwochenzeitung.de/" target="_blank" id="menu_p4721"><span>KONTEXT: Wochenzeitung</span></a></li><li class="even trodd"><a href="http://www.taz.de/!150710/" id="menu_p4895"><span>Auslandsrecherchefonds</span></a></li><li class="last odd trodd"><a href="/Hilfe/!p4591/" id="menu_p4591"><span>Hilfe</span></a></li></ul><div class="full news report article page first odd first_page"><div class="head" role="head"><ul role="navigation" class="news navbar newsnavigation"><li class="first odd trodd home"><a itemprop="url" href="/" id="menu_p4608"><span itemprop="title">taz.de</span></a></li><li class="even trodd"><a href="/Politik/!p4615/" id="menu_p4615"><span>Politik</span></a></li><li class="odd treven selected" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="/Öko/!p4610/" id="menu_p4610"><span itemprop="title">Öko</span></a></li><li class="even trodd"><a href="/Gesellschaft/!p4611/" id="menu_p4611"><span>Gesellschaft</span></a></li><li class="odd trodd"><a href="/Kultur/!p4639/" id="menu_p4639"><span>Kultur</span></a></li><li class="even treven"><a href="/Sport/!p4646/" id="menu_p4646"><span>Sport</span></a></li><li class="odd trodd"><a href="/Berlin/!p4649/" id="menu_p4649"><span>Berlin</span></a></li><li class="even trodd"><a href="/Nord/!p4650/" id="menu_p4650"><span>Nord</span></a></li><li class="last odd treven"><a href="/Wahrheit/!p4644/" id="menu_p4644"><span>Wahrheit</span></a></li></ul><form class="search" role="search" action="/!s=" method="GET"><div class="frame"><input type="text" class="text" name="s" value="suchen ..."></input><script type="text/javascript" language="javascript">filOtaz_de.searchslot();</script><input type="image" class="send" title="suche senden" alt="suche senden" name="ignore" src="/lib/ch/web/pix/redArrowsRight.png"></input></div></form></div><span class="body" role="main"><div class="metadata"><a id="articleURL" href="/!159273" shape="rect"></a><a id="speakingURL" href="/Wandel-im-Biohandel/!159273" shape="rect"></a><span id="articleID">taz_akt_739175</span><span id="cmsArticleID">159273</span><img src="//taz.met.vgwort.de/na/e39127011af04b37bfbc1586618536e8" width="1" height="1" alt=""></img><img src="/count/vgwort/e39127011af04b37bfbc1586618536e8.gif" width="1" height="1" alt=""></img></div><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>Wandel im Biohandel</h4><h1>Alnatura weitet Vertrieb im Netz aus</h1><p class="intro">Die Drogeriekette dm hatte im April eine Eigenmarke für Ökolebensmittel gegründet. Nun startet der frühere Hauptlieferant eine Offensive.</p>
542
+
543
+
544
+
545
+
546
+
547
+ <a class="picture" shape="rect" href="/uploads/images/684x342/0634n.jpg" target="fullImage" onclick="
548
+ var href = this.href;
549
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
550
+ vHWin.focus();
551
+ return false;
552
+ "><img src="/uploads/images/624/0634n.jpg" alt="" title=""></img></a><p class="caption">Die Drogeriekette dm macht ihrem einstigen Hauslieferanten Alnatura Konkurrenz. 
553
+ <span class="credit">Bild:
554
+ dpa</span></p>
555
+
556
+
557
+
558
+ <p class="article">BERLIN <em>taz</em><strong> </strong>|<strong> </strong>Was in den Läden wegfällt, könnte das Internet richten: Gerade erst hat der Biohändler Alnatura in Kooperation mit dem Feinkostversand Gourmondo einen Onlineshop eröffnet. Seit vergangener Woche verkauft Alnatura sein Kindersortiment nun auch über die Website windeln.de. Will der Ökomarkt aus dem hessischen Bickenbach so potenzielle Verluste durch die Einführung der Marke „dm Bio“ ausgleichen?
559
+ </p>
560
+ <p class="article even">Die Drogeriekette dm bietet die Eigenmarke für Öko-Lebensmittel seit Mitte April an. Diese Nachricht hatte Ende vergangenen Jahres für Unruhe im Biohandel gesorgt. Denn dm-Gründer Götz Werner und Alnatura-Gründer Götz Rehn hatten seit Langem zusammengearbeitet. Beide verbindet die anthroposophische Weltanschauung, sie sollen sich auch privat nahestehen. Die Hessen dürften bisher einen großen Teil ihres Umsatzes über die dm-Märkte erzielen.
561
+ </p>
562
+
563
+
564
+
565
+ <span id="ad_bin_artikel_co" class="ad_bin sold contentad"><iframe id="ad_zone_artikel_co" scrolling="no" name="artikel_co" frameborder="0" noresize marginheight="0" marginwidth="0" allowtransparency="true" class="ad_zone ad_zone_contentad ad_zone_badged ad_zone_sold"></iframe></span><script type="text/javascript" xml:space="preserve"> (function(){
566
+ var parent = $('#ad_bin_artikel_co').parent();
567
+ if( !parent.is('.wing') || parent.is('.floating.wing') ) // for wings only run when already floating
568
+ filOtaz_de.ads.adspirit.activateAdFrame('artikel_co');
569
+ })();
570
+ </script>
571
+
572
+
573
+
574
+ <p class="article odd">Doch Alnatura will sein Vorpreschen in die Onlinemärkte nicht als Reaktion auf die neue Linie der Karlsruher verstanden wissen. Das zeitliche Zusammentreffen sei reiner Zufall, gibt eine Sprecherin des Unternehmens an. „Wir erhalten schon seit Langem sehr viele Anfragen nach Onlinebestellmöglichkeiten von Alnatura-Produkten, insbesondere aus Regionen, in denen unsere Produkte noch nicht über unsere eigenen Filialen oder über Handelspartner erhältlich sind.“
575
+ </p>
576
+ <p class="article even">Der Lebensmittelhandel im Netz könnte in den kommenden Jahren stark wachsen – das prognostiziert etwa das Beratungsunternehmen EY (Ernst &amp; Young) in einer Studie. Demnach wird der Onlineanteil am Lebensmittelmarkt von 0,3 Prozent im Jahr 2014 bis 2020 auf 10 Prozent steigen. Auch Alnatura gibt sich optimistisch. „Die Bestellzahlen der ersten Woche (…) zeigen, dass der Onlineshop von Gourmondo sehr gut angenommen werden wird“, gibt die Unternehmenssprecherin an – nähere Zahlen nennt sie jedoch auf Nachfrage nicht.
577
+ </p>
578
+
579
+ <p class="article odd">Mit windeln.de hat sich der hessische Naturkosthändler jedenfalls einen rasant wachsenden Partner ausgesucht: Allein in den vergangenen drei Jahren kletterte der Umsatz der 2010 gegründeten Firma aus Grünwald bei München von gut 21 Millionen Euro 2012 auf zuletzt mehr als 101 Millionen Euro. In dieser Woche geht das Unternehmen an die Börse: Die Erstnotiz an der Frankfurter Börse ist laut windeln.de für den 6. oder 7. Mai geplant. </p>
580
+
581
+ <p class="article even"></p>
582
+ </div><div class="sectfoot"><script type="text/javascript" xml:space="preserve">
583
+ jQuery (document).ready (function ($) {
584
+ if ($ ('#articlebuttons').length > 0) {
585
+
586
+ /*
587
+ * Heises 2Klick-jQuery
588
+ */
589
+
590
+ // <ul>-<li> mit Social-Media-Buttons einhaengen
591
+ $ ('#articlebuttons').socialSharePrivacy ({
592
+ 'services' : {
593
+ 'facebook' : {
594
+ 'dummy_img' : '/lib/ch/web/pix/icons/facebook.com.png',
595
+ 'txt_info' : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>info</em>.'
596
+ },
597
+ 'twitter' : {
598
+ 'dummy_img' : '/lib/ch/web/pix/icons/twitter.png',
599
+ 'txt_info' : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>info</em>.'
600
+ },
601
+ 'gplus' : {
602
+ 'dummy_img' : '/lib/ch/web/pix/icons/plus.google.com.png',
603
+ 'txt_info' : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>info</em>.'
604
+ }
605
+ },
606
+ 'css_path' : '',
607
+ 'info_link' : '/!118400',
608
+ 'txt_help' : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter oder Google in die USA &uuml;bertragen und unter Umst&auml;nden auch dort gespeichert. N&auml;heres erfahren Sie durch einen Klick auf das <em>info</em>.'
609
+ });
610
+
611
+ // Erweiterung zu Heises jQuery, damit der Clickhandler auch auf dem Text liegt
612
+ // fuer Facebook:
613
+ var toClick_fb = $ ('.fb_like.dummy_btn');
614
+ toClick_fb.click (function (event) {
615
+ if (event.target == toClick_fb[0] ) {
616
+ $ ('.fb_like_privacy_dummy').click ();
617
+ }
618
+ });
619
+
620
+ // fuer Twitter:
621
+ var toClick_tw = $ ('.tweet.dummy_btn');
622
+ toClick_tw.click (function (event) {
623
+ if (event.target == toClick_tw[0] ) {
624
+ $ ('.tweet_this_dummy').click ();
625
+ }
626
+ });
627
+
628
+ // fuer GooglePlus:
629
+ var toClick_gp = $ ('.gplusone.dummy_btn');
630
+ toClick_gp.click (function (event) {
631
+ if (event.target == toClick_gp[0] ) {
632
+ $ ('.gplus_one_dummy').click ();
633
+ }
634
+ });
635
+
636
+ // ToDo: Aus den drei obigen Schnipseln einen machen.
637
+
638
+ } // if
639
+ }); // jQuery
640
+ </script><div id="articlebuttons"> </div></div></div><script id="tziArticles" type="text/html" xml:space="preserve">
641
+ <div role="region" id="xid668670" class="even sect sect_adr style_adr"><ul role="directory" class="sectbody corp directory"><li class=" first odd trodd leaded pictured story"><article href="/tazzahl-ich/!155797/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Wir haben keinen Online-Journalismus. </h1><p class="intro">Wir haben Journalismus online.</p>
642
+
643
+
644
+
645
+
646
+
647
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Helle_Thorning-Schmidt_Merkel_reuters.png" target="fullImage" onclick="
648
+ var href = this.href;
649
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
650
+ vHWin.focus();
651
+ return false;
652
+ "><img src="/uploads/images/624/Helle_Thorning-Schmidt_Merkel_reuters.png" alt="" title=""></img></a><p class="caption">Fuchsia und Ocker oder auch Senf. Ach, Sie wollten mehr wissen? Dann ab auf taz.de. 
653
+ <span class="credit">Bild:
654
+ reuters</span></p>
655
+
656
+
657
+
658
+ <p class="article">Die <em>taz</em> ist die einzige große deutsche Tageszeitung, die ihre Print-Inhalte vollständig kostenlos ins Internet stellt. Wir sind der Überzeugung, dass Nachrichten frei zugänglich bleiben sollen. Das sehen Sie auch so?
659
+ </p>
660
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
661
+
662
+ <p class="article odd"></p>
663
+ </div></div></article></li><li class=" even trodd leaded pictured story"><article href="/tazzahl-ich/!155794/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Kostenloser Journalismus hat seinen Preis.</h1><p class="intro">Aber niemand soll dafür zahlen, wenn er nicht kann. </p>
664
+
665
+
666
+
667
+
668
+
669
+ <a class="picture" shape="rect" href="/uploads/images/684x342/gay_marriage_usa_reuters.png" target="fullImage" onclick="
670
+ var href = this.href;
671
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
672
+ vHWin.focus();
673
+ return false;
674
+ "><img src="/uploads/images/624/gay_marriage_usa_reuters.png" alt="" title=""></img></a><p class="caption">Am Ende des Regebogens liegt ein Schatz vergraben. 
675
+ <span class="credit">Bild:
676
+ reuters</span></p>
677
+
678
+
679
+
680
+ <p class="article">Natürlich kostet <em>taz.de</em> Geld. Aber wir sind der Überzeugung, dass Nachrichten und Informationen frei zugänglich bleiben sollen. Das sehen Sie auch so?
681
+ </p>
682
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. Mehr dazu auf <a target="_blank" shape="rect" href="http://www.taz.de/binich"><em>taz.de/binich </em></a></p>
683
+
684
+ <p class="article odd"></p>
685
+ </div></div></article></li><li class=" odd treven leaded pictured story"><article href="/tazzahl-ich/!155793/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Zahlen für Wörter?</h1><p class="intro">Auf taz.de muss niemand für unsere Inhalte zahlen.
686
+ </p>
687
+
688
+
689
+
690
+
691
+
692
+ <a class="picture" shape="rect" href="/uploads/images/684x342/vietnam_40th_anniversary_dpa.png" target="fullImage" onclick="
693
+ var href = this.href;
694
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
695
+ vHWin.focus();
696
+ return false;
697
+ "><img src="/uploads/images/624/vietnam_40th_anniversary_dpa.png" alt="" title=""></img></a><p class="caption">Die taz ist 36 Jahre alt, „taz.zahl ich” 4 und das Ende des Vietnamkrieges 40 Jahre her. 
698
+ <span class="credit">Bild:
699
+ dpa</span></p>
700
+
701
+
702
+
703
+ <p class="article">Denn wir sind der Überzeugung, dass Nachrichten und Informationen frei zugänglich bleiben sollen. Das sehen Sie auch so?
704
+ </p>
705
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
706
+
707
+ <p class="article odd"></p>
708
+ </div></div></article></li><li class=" even trodd leaded pictured story"><article href="/tazzahl-ich/!155790/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Lesen und lesen lassen.</h1><p class="intro">Alle sollen unsere Inhalte lesen können, auch wenn sie sich keine Zeitung leisten können.</p>
709
+
710
+
711
+
712
+
713
+
714
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Papst_Ban-Ki-Moon_dpa.png" target="fullImage" onclick="
715
+ var href = this.href;
716
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
717
+ vHWin.focus();
718
+ return false;
719
+ "><img src="/uploads/images/624/Papst_Ban-Ki-Moon_dpa.png" alt="" title=""></img></a><p class="caption">Papst Benedikt XVl. und Kim Jong-un. Wie bitte? Bei uns bekommen Sie nur verifizierte Nachrichten. 
720
+ <span class="credit">Bild:
721
+ dpa</span></p>
722
+
723
+
724
+
725
+ <p class="article">Das sehen Sie auch so? Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
726
+
727
+ <p class="article even"></p>
728
+ </div></div></article></li><li class=" odd trodd leaded pictured story"><article href="/tazzahl-ich/!155427/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Kostenloser Journalismus hat seinen Preis.</h1><p class="intro">Aber niemand soll dafür zahlen, wenn er nicht kann.</p>
729
+
730
+
731
+
732
+
733
+
734
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Boris_Becker_dpa.png" target="fullImage" onclick="
735
+ var href = this.href;
736
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
737
+ vHWin.focus();
738
+ return false;
739
+ "><img src="/uploads/images/624/Boris_Becker_dpa.png" alt="" title=""></img></a><p class="caption">Es gibt Nachrichten, die werden Sie nicht auf taz.de finden. 
740
+ <span class="credit">Bild:
741
+ dpa</span></p>
742
+
743
+
744
+
745
+ <p class="article">Natürlich kostet <em>taz.de</em> Geld. Aber wir sind der Überzeugung, dass Nachrichten und Informationen frei zugänglich bleiben sollen. Das sehen Sie auch so?
746
+ </p>
747
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
748
+
749
+ <p class="article odd"></p>
750
+ </div></div></article></li><li class=" even treven leaded pictured story"><article href="/tazzahl-ich/!155430/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>taz.de ist kostenlos.</h1><p class="intro">Für nur 5 Euro im Monat.</p>
751
+
752
+
753
+
754
+
755
+
756
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Nago_City_dpa.png" target="fullImage" onclick="
757
+ var href = this.href;
758
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
759
+ vHWin.focus();
760
+ return false;
761
+ "><img src="/uploads/images/624/Nago_City_dpa.png" alt="" title=""></img></a><p class="caption">Keine Sorge, wir übersetzen das für Sie. 
762
+ <span class="credit">Bild:
763
+ dpa</span></p>
764
+
765
+
766
+
767
+ <p class="article">Natürlich kostet <em>taz.de</em> Geld. Dennoch soll niemand dafür bezahlen, wenn er nicht kann. Denn wir sind der Überzeugung, dass Nachrichten und Informationen frei zugänglich bleiben sollen. Das sehen Sie auch so?
768
+ </p>
769
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist</a> ...</p>
770
+
771
+ <p class="article odd"></p>
772
+ </div></div></article></li><li class=" odd trodd leaded pictured story"><article href="/tazzahl-ich/!155432/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Sie können unsere Gedanken lesen.</h1><p class="intro">Weil wir sie täglich aufschreiben und kostenlos online stellen.</p>
773
+
774
+
775
+
776
+
777
+
778
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Drogennotfall_dpa.png" target="fullImage" onclick="
779
+ var href = this.href;
780
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
781
+ vHWin.focus();
782
+ return false;
783
+ "><img src="/uploads/images/624/Drogennotfall_dpa.png" alt="" title=""></img></a><p class="caption">Fragen Sie Ihren Arzt oder Apotheker oder gehen Sie auf taz.de und die taz.blogs. 
784
+ <span class="credit">Bild:
785
+ dpa</span></p>
786
+
787
+
788
+
789
+ <p class="article">Denn wir sind der Überzeugung, dass Nachrichten und Informationen frei zugänglich bleiben sollen. Das sehen Sie auch so?
790
+ </p>
791
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
792
+
793
+ <p class="article odd"></p>
794
+ </div></div></article></li><li class=" last even trodd leaded pictured story"><article href="/tazzahl-ich/!155696/" class="objlink nolead" role="link"><div role="region" id="" class="odd sect sect_article news report"><div class="sectbody"><h4>taz.zahl ich</h4><h1>Wir haben keinen Online-Journalismus. </h1><p class="intro">Wir haben Journalismus online.</p>
795
+
796
+
797
+
798
+
799
+
800
+ <a class="picture" shape="rect" href="/uploads/images/684x342/Voting_Frankreich_Parlament_reuters.png" target="fullImage" onclick="
801
+ var href = this.href;
802
+ vHWin=window.open( href , 'fullImage' , 'width=710,height=368' );
803
+ vHWin.focus();
804
+ return false;
805
+ "><img src="/uploads/images/624/Voting_Frankreich_Parlament_reuters.png" alt="" title=""></img></a><p class="caption">Wir sagen ja! zu „taz.zahl ich”. 
806
+ <span class="credit">Bild:
807
+ reuters</span></p>
808
+
809
+
810
+
811
+ <p class="article">Die <em>taz</em> ist die einzige große deutsche Tageszeitung, die ihre Print-Inhalte vollständig kostenlos ins Internet stellt. Wir sind der Überzeugung, dass Nachrichten frei zugänglich bleiben sollen. Das sehen Sie auch so?
812
+ </p>
813
+ <p class="article even">Dann seien Sie dabei: Ein Abo von <em>taz.zahl ich</em> sichert unsere Unabhängigkeit und den kostenlosen Online-Zugang zu unseren Inhalten. Für alle. <a target="_blank" shape="rect" href="http://www.taz.de/!156925/">Warum wir glauben, dass das richtig ist ...</a></p>
814
+
815
+ <p class="article odd"></p>
816
+ </div></div></article></li></ul></div>
817
+ </script><div id="tzi_paywall" style="display: none"></div><script type="text/javascript" xml:space="preserve">
818
+ (function () {
819
+ patOtaz_de.tzi_paywall({'campaign': '2015-03-16'});
820
+ })();
821
+ </script><div class="rack first_rack">
822
+
823
+ <div role="region" id="" class="first last odd sect sect_zahl ich corp"><div class="secthead" role="heading"><h2><a name="zahl ich"><span>zahl ich</span></a></h2></div><div class="sectbody"><link xmlns="" type="text/css" rel="stylesheet" href="/scripts/taz_zahl_ich/css/jquery.qtip.min.css">
824
+ <a xmlns="" id="reward" shape="rect">Unser Artikel hat Ihnen gefallen? Sie können dafür bezahlen!</a></div></div>
825
+
826
+ </div></span><span class="wing" role="contentinfo"><div class="rack first_rack">
827
+
828
+
829
+
830
+
831
+ <div role="region" id="" class="even sect sect_meta "><div class="sectbody"><ul role="navigation"><li class="first odd trodd selected"><a href="/Öko/!p4610/" id="menu_p4610"><span>Öko</span></a></li><li class="last even trodd selected"><a href="/Öko/Ökonomie/!p4623/" id="menu_p4623"><span>Ökonomie</span></a></li></ul><span class="date">04.
832
+ 05.
833
+ 2015</span></div></div>
834
+
835
+
836
+ <div role="region" id="" class="odd sect sect_profile "><div class="sectbody" itemscope="itemscope" itemtype="http://schema.org/Person"><a rel="author" shape="rect" class="author person objlink" itemprop="url" href="/Eva-Oer/!a14536/"><h4 itemprop="name">Eva Oer</h4></a></div></div>
837
+
838
+
839
+ <div role="region" id="" class="last even sect sect_tags "><div class="secthead" role="heading"><h2><a name="Themen"><span>Themen</span></a></h2></div><ul role="directory" class="news directory sectbody"><li class="first odd trodd tag"><a role="link" href="/!t39886/" class="tag dirlink"><span>Biohändler</span></a></li><li class="even trodd tag"><a role="link" href="/!t25939/" class="tag dirlink"><span>Alnatura</span></a></li><li class="odd treven tag"><a role="link" href="/!t10361/" class="tag dirlink"><span>dm</span></a></li><li class="last even trodd tag"><a role="link" href="/!t39887/" class="tag dirlink"><span>Drogeriekette</span></a></li></ul></div>
840
+
841
+ </div><span id="ad_bin_rechts_co0_gut_bez" class="ad_bin sold contentad"><iframe id="ad_zone_rechts_co0_gut_bez" scrolling="no" name="rechts_co0_gut_bez" frameborder="0" noresize marginheight="0" marginwidth="0" allowtransparency="true" class="ad_zone ad_zone_contentad ad_zone_badged ad_zone_sold"></iframe></span><script type="text/javascript" xml:space="preserve"> (function(){
842
+ var parent = $('#ad_bin_rechts_co0_gut_bez').parent();
843
+ if( !parent.is('.wing') || parent.is('.floating.wing') ) // for wings only run when already floating
844
+ filOtaz_de.ads.adspirit.activateAdFrame('rechts_co0_gut_bez');
845
+ })();
846
+ </script></span><span class="tail" role="complementary"><div class="rack first_rack">
847
+
848
+ <div role="region" id="" class="first odd sect sect_tags "><div class="secthead" role="heading"><h2><a name="mehr zum Thema"><span>mehr zum Thema</span></a></h2></div><ul role="directory" class="news directory sectbody"><li class="first odd trodd tag"><a role="link" href="/!t39886/" class="tag dirlink"><span>Biohändler</span></a></li><li class="even trodd tag"><a role="link" href="/!t25939/" class="tag dirlink"><span>Alnatura</span></a></li><li class="odd treven tag"><a role="link" href="/!t10361/" class="tag dirlink"><span>dm</span></a></li><li class="last even trodd tag"><a role="link" href="/!t39887/" class="tag dirlink"><span>Drogeriekette</span></a></li></ul></div>
849
+
850
+
851
+
852
+
853
+ <div class="rack first_rack style_accordion" id="xid489838">
854
+
855
+ <div role="region" id="" class="first odd sect sect_related style_related shown"><div class="secthead" role="heading"><h2><a name="Artikel zum Thema"><span>Artikel zum Thema</span></a></h2></div><ul role="directory" class="sectbody news directory"><li class=" first odd trodd report article"><a href="/Drogeriekette-dm-denkt-um/!152626/" class="objlink report article" role="link"><h4>Drogeriekette dm denkt um</h4><h3>Biolabel startet im April</h3></a></li><li class=" even trodd report article"><a href="/Legehennen-Farmen-verlieren-Biosiegel/!151542/" class="objlink report article" role="link"><h4>Legehennen-Farmen verlieren Biosiegel</h4><h3>Weniger Ökoeier wegen Pestiziden</h3></a></li><li class=" odd treven subjective column article"><a href="/Kolumne-Oeko/!151144/" class="objlink subjective column article" role="link"><h4>Kolumne Öko</h4><h3>Bio hat Besseres verdient</h3></a></li><li class=" last even trodd subjective commentary article"><a href="/Kommentar-Bio-Skandale/!150554/" class="objlink subjective commentary article" role="link"><h4>Kommentar Bio-Skandale</h4><h3>EU-Regeln endlich durchsetzen</h3></a></li></ul></div>
856
+
857
+
858
+ <div role="region" id="" class="last even sect sect_moreleads style_moreleads"><div class="secthead" role="heading"><h2><a name="weitere Schlagzeilen ..." href="/Oeko/Oekonomie/!p4623/"><span>weitere Schlagzeilen ...</span></a></h2></div><ul role="directory" class="sectbody news directory"><li class=" first odd trodd report article"><a class="objlink report article" role="link"><h4>Wandel im Biohandel</h4><h3>Alnatura weitet Vertrieb im Netz aus</h3></a></li><li class=" even trodd subjective commentary article"><a href="/Kommentar-TTIP-Handelsgericht/!159264/" class="objlink subjective commentary article" role="link"><h4>Kommentar TTIP-Handelsgericht</h4><h3>Gabriel will nur minimalen Fortschritt</h3></a></li><li class=" odd treven report article"><a href="/TTIP-und-private-Schiedsgerichte/!159266/" class="objlink report article" role="link"><h4>TTIP und private Schiedsgerichte</h4><h3>Gabriel für öffentliches Gericht</h3></a></li><li class=" even trodd interview article"><a href="/Oekonom-ueber-Bruttoinlandsprodukt/!159215/" class="objlink interview article" role="link"><h4>Ökonom über Bruttoinlandsprodukt</h4><h3>„Eine erfundene Realität“</h3></a></li><li class=" last odd trodd report article"><a href="/VW-Aufsichtsrat-nach-Pich-Abgang/!159169/" class="objlink report article" role="link"><h4>VW-Aufsichtsrat nach Piëch-Abgang</h4><h3>Neue Frauen hat das Land</h3></a></li></ul></div>
859
+ </div><script xml:space="preserve"> filOtaz_de.accordion('xid489838',1); </script>
860
+
861
+
862
+ </div><div class="rack first_rack" id="xid479112">
863
+
864
+ <div role="region" id="" class="first last odd sect sect_profile brief "><div class="secthead" role="heading"><h2><a name="mehr von"><span>mehr von</span></a></h2></div><div class="sectbody" itemscope="itemscope" itemtype="http://schema.org/Person"><a rel="author" shape="rect" class="brief author person objlink" itemprop="url" href="/Eva-Oer/!a14536/"><h4 itemprop="name">Eva Oer</h4></a></div></div>
865
+
866
+
867
+ </div><div role="region" id="" class="odd sect sect_text style_tzi-basket"><div class="secthead" role="heading"><h2><a name="Artikel-Warenkorb"><span>Artikel-Warenkorb</span></a></h2></div><div class="sectbody"><h6 xmlns="">Sie haben <strong>taz-Artikel</strong> gelesen. <br> Das kostet Sie <strong>€0,00</strong>.</h6>
868
+ <p> Das finden Sie gut? Bereits 5 Euro monatlich helfen, taz.de auch weiterhin frei zugänglich zu halten. Für alle. </p><div><a class="hint" href="https://www.taz.de/Regelmaessig-zahlen-per-Bankeinzug/!115932/" shape="rect">Ja, ich will</a><a class="dept" href="/!p4697" shape="rect">zahl ich</a></div></div></div></span></div><script type="text/javascript">(function(){ // align skirt top with first page's bottom asap
869
+ var page1N = $('#pages >.first_page'),
870
+ skirtN = $('#skirt');
871
+ skirtN.css({ top: ''+( page1N.offset().top + 90 + page1N.height() )+'px' });
872
+ })(); </script><div class="full community page last even"><div class="head" role="head"><ul role="navigation" class=" navbar newsnavigation"><li class="first last odd trodd home"><a itemprop="url" href="/" id="menu_p4608"><span itemprop="title">taz.de</span></a></li></ul></div><span class="body" role="main"><div class="rack first_rack">
873
+
874
+
875
+ <div role="region" id="" class="first last odd sect sect_text "><div class="secthead" role="heading"><h2><a name="So können Sie kommentieren:"><span>So können Sie kommentieren:</span></a></h2></div><div class="sectbody"><p> Bitte <a shape="rect" href="https://www.taz.de/kommune/post.php?a=registration" target="_blank">registrieren Sie sich</a> und halten Sie sich an unsere <a shape="rect" href="http://taz.de/netiquette" target="_blank">Netiquette</a>.
876
+ </p><p> Wenn Sie Ihren Kommentar nicht finden, klicken Sie bitte <a shape="rect" href="http://taz.de/%21121968/" target="_blank">hier</a>. </p></div></div>
877
+
878
+ </div><div role="region" id="" class="even sect sect_commentlinks style_commentlinks"><div class="secthead" role="heading"><h2><a name="Leserkommentare"><span>Leserkommentare</span></a></h2></div><ul role="directory" class="sectbody directory"><li class="member " id="bb_message_3257714"><a class="author person" shape="rect" href="
879
+
880
+
881
+ /!ku389/
882
+ "><h4>Hanne</h4></a><time datetime="2015-05-04T18:11:11+02:00"><meta value="1430755871"></meta>04. 05. 2015,
883
+ 18:11</time><script type="text/javascript" xml:space="preserve">
884
+ (function(){
885
+ var timeN = $('#bb_message_3257714 >time');
886
+ var then = new Date( parseInt( timeN.find('>meta').attr('value') ) *1000 );
887
+ var now = new Date();
888
+ var passed = new Date( now - then );
889
+ var tell;
890
+ if( passed <2*60*60*1000 ) { // within last 2 hours
891
+ tell = passed.getUTCMinutes() +' Min';
892
+ if( passed <60*60*1000 ) // within last hour
893
+ tell += 'uten';
894
+ else // earlier
895
+ tell = passed.getUTCHours() +' Std, '+ tell;
896
+ tell = 'vor '+ tell;
897
+ }
898
+ else { // earlier
899
+ if( passed <5*24*60*60*1000 ) { // within last 5 days
900
+ var passedDays = now.getDay() - then.getDay(); if( passedDays <0 ) passedDays +=7;
901
+ if( passedDays <=1 ) tell = ['heute','gestern','vorgestern'][ passedDays ]
902
+ else tell = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'][ then.getDay() ];
903
+ }
904
+ else if( then.getFullYear() == now.getFullYear() ) // this year
905
+ tell = then.getDate() +'. '+ ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'][ then.getMonth() ];
906
+ else { // earlier
907
+ var day = then.getDate(); day = ( day <10 ? '0' : '' )+ day;
908
+ var mon = then.getMonth() +1; mon = ( mon <10 ? '0' : '' )+ mon;
909
+ tell = day +'.'+ mon +'.'+ then.getFullYear(); // 'DD.MM.YYYY'
910
+ }
911
+ tell += ', '+ then.toTimeString().replace(/^(.*:.*):.*$/, '$1'); // append time
912
+ }
913
+ if( tell ) timeN.text( tell );
914
+ })(); </script><div class="objlink nolead" role="link"><p>Ich denke, dass dm sich mit der Eigenmarke STATT Alnatura keinen Gefallen tut. Alnatura ist einfach DIE bekannte Bio-Marke bei dm und hat dort auch sehr viel Ziehpotential. So was haben Eigenmarken nie, siehe auch bei Rossmann.<br><br>Zurzeit stehen viele Käufer/innen inkl. Kindern vor den dm-Regalen und suchen ihre bekannten und vertrauten Produkte, die es zum Teil schon nicht mehr gibt. Mir geht es genauso, einen gleichwertigen Ersatz wird es so mit der Eigenmarke nicht geben.<br><br>Alnatura PLUS Eigenmarke in einigen wenigen Bereichen wäre in Ordnung, z. B. wie zurzeit mit den bereits ausgetauschten Milchtüten und Reiswaffeln.<br><br>Wir werden sehen und vielleicht dann dort in dem Bereich auch nicht mehr so viel kaufen, sondern online bestellen... Schade eigentlich!</p></div><ul class="toolbar"><li class="reply"><a title="auf diesen Beitrag antworten …" shape="rect">antworten</a></li><li class="report"><a title="diesen Beitrag als unangemessen melden …" shape="rect">melden</a></li></ul></li><li class="member " id="bb_message_3257690"><a class="author person" shape="rect" href="
915
+
916
+
917
+ /!ku397/
918
+ "><h4>anamolie</h4><img src="/kommune/files/images/profile/70x70/397.png" alt="" title=""></img></a><time datetime="2015-05-04T16:47:16+02:00"><meta value="1430750836"></meta>04. 05. 2015,
919
+ 16:47</time><script type="text/javascript" xml:space="preserve">
920
+ (function(){
921
+ var timeN = $('#bb_message_3257690 >time');
922
+ var then = new Date( parseInt( timeN.find('>meta').attr('value') ) *1000 );
923
+ var now = new Date();
924
+ var passed = new Date( now - then );
925
+ var tell;
926
+ if( passed <2*60*60*1000 ) { // within last 2 hours
927
+ tell = passed.getUTCMinutes() +' Min';
928
+ if( passed <60*60*1000 ) // within last hour
929
+ tell += 'uten';
930
+ else // earlier
931
+ tell = passed.getUTCHours() +' Std, '+ tell;
932
+ tell = 'vor '+ tell;
933
+ }
934
+ else { // earlier
935
+ if( passed <5*24*60*60*1000 ) { // within last 5 days
936
+ var passedDays = now.getDay() - then.getDay(); if( passedDays <0 ) passedDays +=7;
937
+ if( passedDays <=1 ) tell = ['heute','gestern','vorgestern'][ passedDays ]
938
+ else tell = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'][ then.getDay() ];
939
+ }
940
+ else if( then.getFullYear() == now.getFullYear() ) // this year
941
+ tell = then.getDate() +'. '+ ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'][ then.getMonth() ];
942
+ else { // earlier
943
+ var day = then.getDate(); day = ( day <10 ? '0' : '' )+ day;
944
+ var mon = then.getMonth() +1; mon = ( mon <10 ? '0' : '' )+ mon;
945
+ tell = day +'.'+ mon +'.'+ then.getFullYear(); // 'DD.MM.YYYY'
946
+ }
947
+ tell += ', '+ then.toTimeString().replace(/^(.*:.*):.*$/, '$1'); // append time
948
+ }
949
+ if( tell ) timeN.text( tell );
950
+ })(); </script><div class="objlink nolead" role="link"><p>Bei windeln.de ? Klingt jetzt nicht gerade nach lecker Marketing. Naja egal, letztendlich landet einiges ja doch wieder in den de.windeln.</p></div><ul class="toolbar"><li class="reply"><a title="auf diesen Beitrag antworten …" shape="rect">antworten</a></li><li class="report"><a title="diesen Beitrag als unangemessen melden …" shape="rect">melden</a></li></ul></li></ul></div></span><span class="wing" role="complementary"><div class="rack first_rack">
951
+
952
+
953
+ <form name="form" method="post" enctype="application/x-www-form-urlencoded" id="send-comment" class="first last odd sect sect_send-comment_form style_commentform" action="https://www.taz.de/kommune/post.php" target="_blank"><div role="heading" class="secthead"><h2><a name="jetzt mitreden"><span>jetzt mitreden</span></a></h2></div><div class="sectbody"><input class="constant" type="hidden" name="test" value="yes"></input><input class="constant" type="hidden" name="id" value="159273"></input><input type="hidden" name="scope" class="constant" id="form_scope" value="cms-article"></input><input type="hidden" name="asid" class="constant" id="form_asid" value=""></input><span class="field"><p class="label">Ihren Kommentar hier eingeben</p><textarea name="post" class="text" id="form_post"></textarea></span><input type="submit" class="submit" name="ignore" value="abschicken"></input></div></form><script xml:space="preserve"> filOtaz_de.Form( 'send-comment' ); </script><script type="text/javascript" xml:space="preserve"> (function(){
954
+ if( filOtaz_de.ajaxifyForm ) return;
955
+
956
+ if ('withCredentials' in new XMLHttpRequest() )
957
+ var haveCORS = true;
958
+ if( typeof XDomainRequest !== "undefined" )
959
+ var haveXDR = true;
960
+ //console.log('haveCORS: '+ haveCORS );
961
+
962
+ filOtaz_de.ajaxifyForm = function( id, options ){
963
+ /* options : {
964
+ option : choice, …,
965
+ handlername : function(){…}, …
966
+ }
967
+ options:
968
+ mirrorInput true/false, default false
969
+ implemented handlers:
970
+ handle200 handle OK Server response instead of default
971
+ on Success done first in default 200 handler
972
+ to implement:
973
+ handle4xx handle specific 4xx response from Server
974
+ onReset done before resetting form to start
975
+ onError done first in 4xx handlers
976
+ */
977
+ var formID = id;
978
+ var form1N = $('#'+ id );
979
+ if( !form1N.length ) return;
980
+ if( form1N[0].submit_via_ajax ) return; form1N[0].submit_via_ajax = true;
981
+
982
+ var mirror = { node : options.mirrorInput ? form1N : $() };
983
+ mirror.toShow = mirror.node.find('input, textarea');
984
+ mirror.toHide = mirror.node.find('input:submit');
985
+
986
+ if( !( location.protocol=='https:' || haveCORS ) )
987
+ return $('<div class="warning">Um sichere und dennoch bequeme Kommunikation mit unseren Servern zu erlauben, '
988
+ +'sollten sie zu einem aktuelleren Browser wechseln '
989
+ +'oder diese Seite <a href="https:.#'+ formID +'">per HTTPS aufrufen</a></div>'
990
+ );
991
+
992
+ // var callback = callback;
993
+
994
+ var altFormNs = $(); // keep track of form nodes we may insert from server responses
995
+ var clear4reset = function(){
996
+ altFormNs.slideUp( function(){
997
+ altFormNs.remove(); altFormNs = $();
998
+ });
999
+ };
1000
+ var back2start = function( val ){
1001
+ if( typeof val == 'string' ) {
1002
+ form1N.find('>.sectbody >span >textarea')
1003
+ .val( val )
1004
+ .trigger('blur')
1005
+ ;
1006
+ }
1007
+ // ToDo: show hint -> change filOtaz_de.Form first
1008
+ mirror.toShow.removeAttr('disabled');
1009
+ mirror.toHide.slideDown();
1010
+ form1N.slideDown();
1011
+ };
1012
+ var reset = function( val ){
1013
+ clear4reset();
1014
+ back2start( val );
1015
+ };
1016
+ var handle200 = ( options.handle200 instanceof Function )? options.handle200 : function( data, status, req ){
1017
+ //console.log( data.documentElement.outerHTML );
1018
+ if( options.onSuccess instanceof Function ) options.onSuccess();
1019
+ clear4reset(); // hide follow-up forms
1020
+
1021
+ var message = $(data).find('.message');
1022
+ if( message.length && message.text() >'' ) { // show success message
1023
+ var messageN = $('<form class="sect" />').append( message.addClass('sectbody') );
1024
+ $('<input class="submit" type="submit" value="OK" />').appendTo( message ).click( function(){
1025
+ messageN.slideUp( function(){ messageN.remove(); });
1026
+ back2start(''); // reset to original form
1027
+ return false;
1028
+ });
1029
+ messageN.hide().prependTo( form1N.parent() ).slideDown();
1030
+ form1N.slideUp();
1031
+ }
1032
+ }
1033
+
1034
+
1035
+ var asySubmit = function( formN ){
1036
+ var formN = formN;
1037
+ var action;
1038
+ var clickLock = false;
1039
+ formN.find('>.sectbody >input:submit').click( function(){
1040
+ if( clickLock ) return false; clickLock = true;
1041
+ action = formN.attr('action'); if( !action ) return; // ToDo: handle missing action
1042
+ action = action.replace(/^http:/,'https:'); // ToDo: handle relative action URL
1043
+
1044
+ var handle422 = function( data ) { // we sent incomplete Data. Show forms from response body!
1045
+ //console.log( data[0].documentElement.outerHTML );
1046
+ var formNs = data.find('form');
1047
+ if( !formNs.length ) {
1048
+ alert('error: server response fails expectations: no form found.');
1049
+ return false;
1050
+ }
1051
+
1052
+ var anchor = $('<a />').hide()[ mirror.node.length ?'insertAfter' :'insertBefore' ]( formN );
1053
+
1054
+ formN.not( mirror.node ).slideUp( function(){
1055
+ formN.not( form1N ).remove();
1056
+ });
1057
+ mirror.toShow.attr({ disabled : true });
1058
+ mirror.toHide.slideUp();
1059
+
1060
+ var last = anchor;
1061
+ formNs.each( function(i,e){ var n = $(e);
1062
+
1063
+ var have = $('#'+ n.attr('id') );
1064
+ if(! n.children('.secthead').length )
1065
+ have.children('.secthead').first().clone(true).prependTo( n );
1066
+ var have = have.not( form1N );
1067
+ have.slideUp( function(){
1068
+ altFormNs = altFormNs.not( have );
1069
+ have.remove(); // remove old incarnation
1070
+ });
1071
+
1072
+ n.find('script').remove(); // don't import scripts
1073
+
1074
+ n.hide().insertAfter( last );
1075
+ anchor.remove();
1076
+ last = n;
1077
+ altFormNs = altFormNs.add( n );
1078
+
1079
+ /*
1080
+ */
1081
+ var ccN = n.find('#captcha-code');
1082
+ var captchaCode = ccN.attr('name');
1083
+ if( ccN.length && captchaCode ) // this form needs a captcha, make one!
1084
+ Recaptcha.create( captchaCode, 'captcha-code', {
1085
+ theme: 'red'
1086
+ } );
1087
+ (new filOtaz_de.Form( n )).cancel( function(){
1088
+ reset();
1089
+ });
1090
+ asySubmit( n );
1091
+ n.slideDown();
1092
+ });
1093
+ //console.log( altFormNs.length +' forms found' );
1094
+
1095
+ } //handle422
1096
+
1097
+
1098
+ var post = {};
1099
+ formN.find('input,textarea').each( function(i,n){ var N = $(n);
1100
+ post[N.attr('name')] = N.val();
1101
+ });
1102
+
1103
+ $.ajax({
1104
+ type : 'POST',
1105
+ url : action,
1106
+ cache : false,
1107
+ data : post,
1108
+ dataType : 'xml',
1109
+
1110
+ beforeSend : function( req, settings ){
1111
+ req.responseType = 'document';
1112
+ req.withCredentials = true;
1113
+ //req.overrideMimeType('text/xml');
1114
+ },
1115
+
1116
+ success : function( data, status, req ){ // our post was accepted, show response message!
1117
+ handle200( data, status, req );
1118
+ },
1119
+
1120
+ error : function( req, status, message ){
1121
+
1122
+ //console.log('status: '+ status +' :: '+ message );
1123
+ var data = $( req.response );
1124
+ if( !data.length ) { // data is not document
1125
+ var text;
1126
+ try{ text = req.responseText;
1127
+ if( text ) text = text.replace(/http:/g, ""); // have src'es protocol relative
1128
+ data = $('<div />').html( text );
1129
+ //console.log('response text: '+ text );
1130
+ } catch(e) {
1131
+ //console.log('error reading responseText: '+ e );
1132
+ }
1133
+ }
1134
+ if( !data.length ) {
1135
+ try{
1136
+ //console.log( req.response.head.parentElement.outerHTML );
1137
+ } catch(e) {
1138
+ //console.log('error reading response.head: '+ e );
1139
+ }
1140
+ }
1141
+
1142
+
1143
+
1144
+ ({ 0 : function() {
1145
+ alert('Error: Can not see server answer. CORS missing?'); // seems a Cross-Origin problem
1146
+ //console.log( data );
1147
+ },
1148
+ 200 : function() { // 200 but error, IE9 ends up here
1149
+ handle200( data, status, req );
1150
+ },
1151
+ 422 : function() { handle422( data ); }
1152
+ })[ req.status ]();
1153
+ }, //error
1154
+
1155
+ /* not available befor jQ 1.5
1156
+ statusCode : {
1157
+ 422 : function( req, status, message ){}
1158
+ },
1159
+ */
1160
+
1161
+ complete : function( req, status ){
1162
+ //try{ console.log('response headers:\n'+ req.getAllResponseHeaders() ); } catch(e){ console.log('getAllResponseHeaders() failed'); }
1163
+ //console.log('responseXML: '+ req.responseXML );
1164
+ //if( req.response ) console.log( req.response.head.parentElement.outerHTML )
1165
+ //else console.log('no data');
1166
+ clickLock = false;
1167
+ }
1168
+
1169
+ }); //ajax
1170
+
1171
+ return false;
1172
+ }); //click
1173
+ }; //asySubmit
1174
+ asySubmit( form1N );
1175
+ }; //filOtaz_de.ajaxifyForm
1176
+ })(); </script><script type="text/javascript" xml:space="preserve"> (function(){
1177
+
1178
+ var formN = $('#send-comment'); // who i am
1179
+
1180
+ if( formN[0].filOtaz_de_handled ) return; formN[0].filOtaz_de_handled = true; // run only once
1181
+
1182
+
1183
+
1184
+ // ajaxify myself
1185
+ filOtaz_de.ajaxifyForm('send-comment', {
1186
+ mirrorInput : true ,
1187
+ onSuccess : function( data ){
1188
+ filOtaz_de.kommune.updateLogin();
1189
+ //console.log('success handler send-comment '+ $(data).html() );
1190
+ // var message = $(data).find('.message');
1191
+ // alert( message.length ? message.text() : 'OK' );
1192
+ }
1193
+ });
1194
+
1195
+
1196
+ if( formN.parents('.wing').length ) { // we're in wing
1197
+ //console.log('send-comment in wing '+ formN.length +', '+ formN.parents('.wing').length +', '+ formN.parents('.float').length );
1198
+
1199
+ var multiUse = function() {
1200
+
1201
+ // === lend ourselfes to reply-function ===
1202
+
1203
+ // shared functions
1204
+ var onScroll, reset;
1205
+
1206
+ // shared data
1207
+ var form, anchor, prior, bros, dad, uncles, yMin;
1208
+
1209
+
1210
+ $('.community.page >.body >.sect_commentlinks').find('>.sectbody >li, .thread >li').each( function(i,el){ // each comment
1211
+
1212
+ // per comment data
1213
+ var refN = $(el),
1214
+ toolbarN = refN.find('>.toolbar'),
1215
+ id,
1216
+ onClick
1217
+ ;
1218
+
1219
+ toolbarN.find('>.reply >a').click( function(){
1220
+ // reply specific
1221
+ onClick({
1222
+ idKey : 'asid',
1223
+ title : {
1224
+ prefix : '',
1225
+ suffix : ' antworten'
1226
+ },
1227
+ hint : 'Antwort bitte hier eingeben',
1228
+ submit : 'antworten'
1229
+ });
1230
+ } );
1231
+
1232
+ toolbarN.find('>.report >a').click( function(){
1233
+ // report specific
1234
+ onClick({
1235
+ a : 'report',
1236
+ idKey : 'pid',
1237
+ title : {
1238
+ prefix : 'Kommentar von ',
1239
+ suffix : ' melden'
1240
+ },
1241
+ hint : 'Problem bitte hier beschreiben',
1242
+ submit : 'melden'
1243
+ });
1244
+ } );
1245
+
1246
+ toolbarN.css({ visibility:'visible' });
1247
+
1248
+
1249
+ onClick = function( par ) {
1250
+
1251
+ // determine shared data late
1252
+ if( !form ) {
1253
+ form = {
1254
+ titleN : formN.find('>.secthead >h2 >a >span'),
1255
+ aN : formN.find('>.sectbody >input[name="a"]'),
1256
+ idN : formN.find('>.sectbody >input[name="asid"]'),
1257
+ pidN : formN.find('>.sectbody >input[name="pid"]'),
1258
+ textN : formN.find('>.sectbody >span >textarea'),
1259
+ submitN : formN.find('>.sectbody >input:submit')
1260
+ };
1261
+ form.hintN = form.textN.prev('p');
1262
+ form.org = {
1263
+ title : form.titleN.text(),
1264
+ hint : form.hintN.text(),
1265
+ a : form.aN.attr('value'),
1266
+ submit : form.submitN.attr('value')
1267
+ };
1268
+ }
1269
+
1270
+ // determine per comment data late
1271
+ if( !id ) id = refN.attr('id').replace(/^[^0-9]*/, '');
1272
+
1273
+
1274
+ // change presented data to our needs
1275
+
1276
+ if( par.a ) {
1277
+ if( !( form.aN && form.aN.length ) )
1278
+ form.aN = $('<input class="constant" type="hidden" />').insertBefore( form.submitN );
1279
+ form.aN.attr({ name : 'a',
1280
+ value : par.a
1281
+ });
1282
+ }
1283
+ else if( form.aN ) {
1284
+ form.aN.remove();
1285
+ form.aN = null;
1286
+ }
1287
+
1288
+ if( par.idKey ) {
1289
+ if( form.idN ) form.idN.remove();
1290
+ form.idN = $('<input class="constant" type="hidden" />')
1291
+ .attr({ name : par.idKey,
1292
+ value : id
1293
+ })
1294
+ .insertBefore( form.submitN );
1295
+ }
1296
+ else if( form.idN ) {
1297
+ form.idN.remove();
1298
+ form.idN = null;
1299
+ }
1300
+
1301
+ form.titleN.empty().append(
1302
+ par.title.prefix,
1303
+ $('<span>'+ refN.find('>.author >h4').text() +'</span>').addClass( refN.attr('class') ),
1304
+ par.title.suffix
1305
+ );
1306
+
1307
+ form.hintN.text( par.hint );
1308
+
1309
+ form.submitN.attr({ value : par.submit });
1310
+
1311
+
1312
+ // add reset options
1313
+ (new filOtaz_de.Form( formN )).cancel( function(){ reset(); } );
1314
+ formN.bind('filOtaz_de.Form.done', reset );
1315
+
1316
+ // geometry
1317
+ var commBot = toolbarN.offset().top + toolbarN.outerHeight(),
1318
+ formBot = form.textN.offset().top + form.textN.outerHeight(),
1319
+ d = commBot - formBot
1320
+ ;
1321
+ if( !yMin ) yMin = formBot - $(window).scrollTop();
1322
+ if( commBot - $(window).scrollTop() < yMin ) window.scrollTo( 0, commBot - yMin );
1323
+
1324
+ // relocate form to stick w/ referenced comment
1325
+ if( !anchor && d >0 ) {
1326
+ prior = formN.prev(), bros = formN.nextAll(), dad = formN.parent(), uncles = dad.filter('.rack').nextAll();
1327
+ anchor = $('<div class="community wing pin" />')
1328
+ .css({ position: 'absolute',
1329
+ top : formN.offset().top +'px',
1330
+ left : formN.offset().left +'px',
1331
+ width : formN.width() +'px'
1332
+ })
1333
+ .appendTo( document.body )
1334
+ ;
1335
+ if( uncles.length ) { // we're in rack
1336
+ dad.css({ borderBottomStyle: 'none' });
1337
+ anchor.append( $('<div />').addClass( dad.attr('class') ).append( formN, bros ), uncles );
1338
+ }
1339
+ else anchor.append( formN, bros );
1340
+ }
1341
+ if( anchor ) {
1342
+ anchor.animate({ top : formN.offset().top + d }, function(){
1343
+ $(window).scroll( onScroll );
1344
+ } );
1345
+ }
1346
+
1347
+ }; //onClick
1348
+
1349
+ } ); //each comment
1350
+
1351
+ onScroll = function() {
1352
+ var ref = prior.length ?( prior.offset().top + prior.outerHeight() ) :dad.offset().top;
1353
+ // reset clears the whole form, we don't want that onScroll, so we only call relocateForm instead
1354
+ // if( formN.offset().top <= ref ) reset();
1355
+ if( formN.offset().top <= ref ) relocateForm();
1356
+ };
1357
+ reset = function() {
1358
+ if( reset ) formN.unbind('filOtaz_de.Form.done', reset );
1359
+ resetForm();
1360
+ relocateForm();
1361
+ };
1362
+ relocateForm = function() {
1363
+ // clean up
1364
+ if( onScroll ) $(window).unbind('scroll', onScroll );
1365
+
1366
+ // relocate form back
1367
+ if( anchor ) {
1368
+ var ref = prior.length ?( prior.offset().top + prior.outerHeight() ) :dad.offset().top,
1369
+ d = anchor.offset().top - ref
1370
+ ;
1371
+ anchor.animate({ top: ref }, d, function(){
1372
+ dad.append( formN, bros );
1373
+ if( uncles.length ) { // we were in rack
1374
+ dad.css({ borderBottomStyle: null });
1375
+ dad.after( uncles );
1376
+ }
1377
+ if( anchor ) anchor.remove(); anchor = null;
1378
+ } );
1379
+ }
1380
+ };
1381
+ resetForm = function() {
1382
+ // reset shown data
1383
+ if( form.aN ) form.aN.remove();
1384
+ if( form.idN ) form.idN.remove();
1385
+ // if( form.cancelN ) form.cancelN.remove();
1386
+ form.titleN.text( form.org.title );
1387
+ form.hintN.text( form.org.hint );
1388
+ form.textN.attr({ value : '' }).trigger('blur');
1389
+ form.submitN.attr({ value : form.org.submit });
1390
+
1391
+ };
1392
+
1393
+ }; // multiUse
1394
+
1395
+
1396
+ if( formN.parents('.float').length ) { // already relocated into float
1397
+ multiUse();
1398
+ }
1399
+ else { // wait for relocation
1400
+
1401
+ formN.parents('.wing').bind('filOtaz_de_float_mounted', function(){ multiUse(); });
1402
+ }
1403
+ } //we're in wing
1404
+
1405
+ })(); </script>
1406
+
1407
+
1408
+ </div><form name="form" method="post" enctype="application/x-www-form-urlencoded" id="bb-login" class="even sect sect_bb-login_form style_kommune" action="https://www.taz.de/kommune/post.php" target="_blank"><div role="heading" class="secthead"><ul role="toolbar" class="toolbar"><li class="login"><a href="" target="_blank" shape="rect">Login</a></li><li class="settings"><a href="https://www.taz.de/kommune/post.php?a=registration" target="_blank" shape="rect">Registrieren</a></li><li class="newpass"><a shape="rect" target="_blank" href="https://portal.taz.de/?a=nopw">Passwort vergessen?</a></li></ul></div><div class="sectbody"><input type="hidden" name="a" class="constant" id="form_a" value="login"></input><span class="field"><p class="label">E-Mail</p><input type="text" name="email" class="line" id="form_email"></input></span><span class="field"><p class="label">Passwort</p><input type="password" name="password" class="secret" id="form_password"></input></span><input type="submit" class="submit" name="ignore" value="einloggen"></input></div></form><script xml:space="preserve"> filOtaz_de.Form( 'bb-login' ); </script><script type="text/javascript" xml:space="preserve"> (function(){
1409
+ if( filOtaz_de.ajaxifyForm ) return;
1410
+
1411
+ if ('withCredentials' in new XMLHttpRequest() )
1412
+ var haveCORS = true;
1413
+ if( typeof XDomainRequest !== "undefined" )
1414
+ var haveXDR = true;
1415
+ //console.log('haveCORS: '+ haveCORS );
1416
+
1417
+ filOtaz_de.ajaxifyForm = function( id, options ){
1418
+ /* options : {
1419
+ option : choice, …,
1420
+ handlername : function(){…}, …
1421
+ }
1422
+ options:
1423
+ mirrorInput true/false, default false
1424
+ implemented handlers:
1425
+ handle200 handle OK Server response instead of default
1426
+ on Success done first in default 200 handler
1427
+ to implement:
1428
+ handle4xx handle specific 4xx response from Server
1429
+ onReset done before resetting form to start
1430
+ onError done first in 4xx handlers
1431
+ */
1432
+ var formID = id;
1433
+ var form1N = $('#'+ id );
1434
+ if( !form1N.length ) return;
1435
+ if( form1N[0].submit_via_ajax ) return; form1N[0].submit_via_ajax = true;
1436
+
1437
+ var mirror = { node : options.mirrorInput ? form1N : $() };
1438
+ mirror.toShow = mirror.node.find('input, textarea');
1439
+ mirror.toHide = mirror.node.find('input:submit');
1440
+
1441
+ if( !( location.protocol=='https:' || haveCORS ) )
1442
+ return $('<div class="warning">Um sichere und dennoch bequeme Kommunikation mit unseren Servern zu erlauben, '
1443
+ +'sollten sie zu einem aktuelleren Browser wechseln '
1444
+ +'oder diese Seite <a href="https:.#'+ formID +'">per HTTPS aufrufen</a></div>'
1445
+ );
1446
+
1447
+ // var callback = callback;
1448
+
1449
+ var altFormNs = $(); // keep track of form nodes we may insert from server responses
1450
+ var clear4reset = function(){
1451
+ altFormNs.slideUp( function(){
1452
+ altFormNs.remove(); altFormNs = $();
1453
+ });
1454
+ };
1455
+ var back2start = function( val ){
1456
+ if( typeof val == 'string' ) {
1457
+ form1N.find('>.sectbody >span >textarea')
1458
+ .val( val )
1459
+ .trigger('blur')
1460
+ ;
1461
+ }
1462
+ // ToDo: show hint -> change filOtaz_de.Form first
1463
+ mirror.toShow.removeAttr('disabled');
1464
+ mirror.toHide.slideDown();
1465
+ form1N.slideDown();
1466
+ };
1467
+ var reset = function( val ){
1468
+ clear4reset();
1469
+ back2start( val );
1470
+ };
1471
+ var handle200 = ( options.handle200 instanceof Function )? options.handle200 : function( data, status, req ){
1472
+ //console.log( data.documentElement.outerHTML );
1473
+ if( options.onSuccess instanceof Function ) options.onSuccess();
1474
+ clear4reset(); // hide follow-up forms
1475
+
1476
+ var message = $(data).find('.message');
1477
+ if( message.length && message.text() >'' ) { // show success message
1478
+ var messageN = $('<form class="sect" />').append( message.addClass('sectbody') );
1479
+ $('<input class="submit" type="submit" value="OK" />').appendTo( message ).click( function(){
1480
+ messageN.slideUp( function(){ messageN.remove(); });
1481
+ back2start(''); // reset to original form
1482
+ return false;
1483
+ });
1484
+ messageN.hide().prependTo( form1N.parent() ).slideDown();
1485
+ form1N.slideUp();
1486
+ }
1487
+ }
1488
+
1489
+
1490
+ var asySubmit = function( formN ){
1491
+ var formN = formN;
1492
+ var action;
1493
+ var clickLock = false;
1494
+ formN.find('>.sectbody >input:submit').click( function(){
1495
+ if( clickLock ) return false; clickLock = true;
1496
+ action = formN.attr('action'); if( !action ) return; // ToDo: handle missing action
1497
+ action = action.replace(/^http:/,'https:'); // ToDo: handle relative action URL
1498
+
1499
+ var handle422 = function( data ) { // we sent incomplete Data. Show forms from response body!
1500
+ //console.log( data[0].documentElement.outerHTML );
1501
+ var formNs = data.find('form');
1502
+ if( !formNs.length ) {
1503
+ alert('error: server response fails expectations: no form found.');
1504
+ return false;
1505
+ }
1506
+
1507
+ var anchor = $('<a />').hide()[ mirror.node.length ?'insertAfter' :'insertBefore' ]( formN );
1508
+
1509
+ formN.not( mirror.node ).slideUp( function(){
1510
+ formN.not( form1N ).remove();
1511
+ });
1512
+ mirror.toShow.attr({ disabled : true });
1513
+ mirror.toHide.slideUp();
1514
+
1515
+ var last = anchor;
1516
+ formNs.each( function(i,e){ var n = $(e);
1517
+
1518
+ var have = $('#'+ n.attr('id') );
1519
+ if(! n.children('.secthead').length )
1520
+ have.children('.secthead').first().clone(true).prependTo( n );
1521
+ var have = have.not( form1N );
1522
+ have.slideUp( function(){
1523
+ altFormNs = altFormNs.not( have );
1524
+ have.remove(); // remove old incarnation
1525
+ });
1526
+
1527
+ n.find('script').remove(); // don't import scripts
1528
+
1529
+ n.hide().insertAfter( last );
1530
+ anchor.remove();
1531
+ last = n;
1532
+ altFormNs = altFormNs.add( n );
1533
+
1534
+ /*
1535
+ */
1536
+ var ccN = n.find('#captcha-code');
1537
+ var captchaCode = ccN.attr('name');
1538
+ if( ccN.length && captchaCode ) // this form needs a captcha, make one!
1539
+ Recaptcha.create( captchaCode, 'captcha-code', {
1540
+ theme: 'red'
1541
+ } );
1542
+ (new filOtaz_de.Form( n )).cancel( function(){
1543
+ reset();
1544
+ });
1545
+ asySubmit( n );
1546
+ n.slideDown();
1547
+ });
1548
+ //console.log( altFormNs.length +' forms found' );
1549
+
1550
+ } //handle422
1551
+
1552
+
1553
+ var post = {};
1554
+ formN.find('input,textarea').each( function(i,n){ var N = $(n);
1555
+ post[N.attr('name')] = N.val();
1556
+ });
1557
+
1558
+ $.ajax({
1559
+ type : 'POST',
1560
+ url : action,
1561
+ cache : false,
1562
+ data : post,
1563
+ dataType : 'xml',
1564
+
1565
+ beforeSend : function( req, settings ){
1566
+ req.responseType = 'document';
1567
+ req.withCredentials = true;
1568
+ //req.overrideMimeType('text/xml');
1569
+ },
1570
+
1571
+ success : function( data, status, req ){ // our post was accepted, show response message!
1572
+ handle200( data, status, req );
1573
+ },
1574
+
1575
+ error : function( req, status, message ){
1576
+
1577
+ //console.log('status: '+ status +' :: '+ message );
1578
+ var data = $( req.response );
1579
+ if( !data.length ) { // data is not document
1580
+ var text;
1581
+ try{ text = req.responseText;
1582
+ if( text ) text = text.replace(/http:/g, ""); // have src'es protocol relative
1583
+ data = $('<div />').html( text );
1584
+ //console.log('response text: '+ text );
1585
+ } catch(e) {
1586
+ //console.log('error reading responseText: '+ e );
1587
+ }
1588
+ }
1589
+ if( !data.length ) {
1590
+ try{
1591
+ //console.log( req.response.head.parentElement.outerHTML );
1592
+ } catch(e) {
1593
+ //console.log('error reading response.head: '+ e );
1594
+ }
1595
+ }
1596
+
1597
+
1598
+
1599
+ ({ 0 : function() {
1600
+ alert('Error: Can not see server answer. CORS missing?'); // seems a Cross-Origin problem
1601
+ //console.log( data );
1602
+ },
1603
+ 200 : function() { // 200 but error, IE9 ends up here
1604
+ handle200( data, status, req );
1605
+ },
1606
+ 422 : function() { handle422( data ); }
1607
+ })[ req.status ]();
1608
+ }, //error
1609
+
1610
+ /* not available befor jQ 1.5
1611
+ statusCode : {
1612
+ 422 : function( req, status, message ){}
1613
+ },
1614
+ */
1615
+
1616
+ complete : function( req, status ){
1617
+ //try{ console.log('response headers:\n'+ req.getAllResponseHeaders() ); } catch(e){ console.log('getAllResponseHeaders() failed'); }
1618
+ //console.log('responseXML: '+ req.responseXML );
1619
+ //if( req.response ) console.log( req.response.head.parentElement.outerHTML )
1620
+ //else console.log('no data');
1621
+ clickLock = false;
1622
+ }
1623
+
1624
+ }); //ajax
1625
+
1626
+ return false;
1627
+ }); //click
1628
+ }; //asySubmit
1629
+ asySubmit( form1N );
1630
+ }; //filOtaz_de.ajaxifyForm
1631
+ })(); </script><script type="text/javascript" xml:space="preserve"> (function(){
1632
+
1633
+ var formID = 'bb-login';
1634
+ var form = $('#bb-login');
1635
+
1636
+ if( !form.length ) return;
1637
+ if( form[0].filOtaz_de_form_handled ) return; form[0].filOtaz_de_form_handled = true;
1638
+
1639
+ var nodes, org, firstrun = true;
1640
+ if( !filOtaz_de.kommune ) filOtaz_de.kommune = {};
1641
+ if( !filOtaz_de.kommune.updateLogin ) filOtaz_de.kommune.updateLogin = function(){
1642
+ if( !nodes ) nodes = { // parse DOM lazily
1643
+ head : form.find('>.secthead'),
1644
+ body : form.find('>.sectbody').hide(),
1645
+ a : form.find('input[name="a"]'),
1646
+ inputs : form.find('span').has('input[name="email"],input[name="password"]'),
1647
+ submit : form.find('input.submit'),
1648
+ links : {
1649
+ all : form.find('ul.toolbar'),
1650
+ login : form.find('ul>li.login').click(function(){
1651
+ var me = $(this);
1652
+ // nodes.body
1653
+ me.closest('.secthead').nextAll('.sectbody') // we might be dynamically inserted, so parse DOM here
1654
+ .slideToggle(function(){
1655
+ me.toggleClass('active');
1656
+ });
1657
+ return false;
1658
+ }),
1659
+ settings : form.find('ul>li.settings'),
1660
+ newpass : form.find('ul>li.newpass')
1661
+ }
1662
+ };
1663
+ var duration = firstrun ? 0 : $.fx.speeds._default;
1664
+ var tazsid = $.cookie('tazsid');
1665
+ if( tazsid ) { // already logged in
1666
+ var tazid = $.cookie('tazid');
1667
+ //console.log(' now logged in as '+ tazid );
1668
+ if( !org ) org = { // store original values lazily
1669
+ action : form.attr('action'),
1670
+ a : nodes.a.attr('value'),
1671
+ submit : nodes.submit.attr('value'),
1672
+ links : {
1673
+ login : nodes.links.login,
1674
+ settings : {
1675
+ text : nodes.links.settings.children('a').text()
1676
+ },
1677
+ newpass : nodes.links.newpass
1678
+ }
1679
+ };
1680
+ form.attr({ action: 'https://www.taz.de/kommune/post.php?a=logout' });
1681
+ //console.log( tazsid );
1682
+
1683
+ nodes.body.slideUp( duration, function(){
1684
+ form.addClass('session');
1685
+ nodes.a.attr({ value: 'logout' });
1686
+ nodes.inputs.hide();
1687
+ nodes.submit.attr({ value: 'ausloggen' });
1688
+ nodes.body.fadeIn( duration/3 );
1689
+ });
1690
+ if( tazid ) var profileURL = '/!ku'+ tazid +'/';
1691
+ nodes.links.all.fadeTo( duration/2, 0, function(){
1692
+ if( nodes.links.login ) nodes.links.login.detach();
1693
+ if( profileURL ) {
1694
+ if( !nodes.links.profile ) {
1695
+ nodes.links.profile = $('<li><a href="'+ profileURL +'">mein Profil</a></li>');
1696
+ nodes.links.settings.before( nodes.links.profile );
1697
+ }
1698
+ }
1699
+ if( nodes.links.settings ) nodes.links.settings.children('a').text('Einstellungen');
1700
+ if( nodes.links.newpass ) nodes.links.newpass.detach();
1701
+ nodes.links.all.fadeTo( duration/2, 1 );
1702
+ });
1703
+ if( profileURL ) { // tell user their name
1704
+ if( !nodes.salute ) {
1705
+ nodes.salute = $();
1706
+ //console.log('go, get profile '+ profileURL );
1707
+ $.ajax({
1708
+ type : 'GET',
1709
+ url : profileURL +'c.xml',
1710
+ dataType : 'xml',
1711
+ success : function( data, status, xhr ){
1712
+ if( !nodes.salute ) return; // we're too late
1713
+ var name = $('content >item[type="person"] >name', data ).text();
1714
+ //console.log(' found '+ name );
1715
+ nodes.salute = $('<h2><a>'+ name +'</a></h2>').hide().prependTo( nodes.head );
1716
+ nodes.salute.slideDown( duration );
1717
+ },
1718
+ error : function( req, status, message ){
1719
+ //console.log( req.status +' '+ status +' :: '+ message );
1720
+ },
1721
+ complete : function( req, status ){
1722
+ }
1723
+ });
1724
+ }
1725
+ }
1726
+ } //tazsid
1727
+ else if( org ) (function(){ // reset logged out state
1728
+ var orgwas = org; org = null;
1729
+ nodes.body.fadeOut( duration/2, function(){
1730
+ nodes.a.attr({ value : orgwas.a });
1731
+ nodes.inputs.show();
1732
+ nodes.submit.attr({ value : orgwas.submit });
1733
+ form.removeClass('session');
1734
+ });
1735
+ if( nodes.salute ) nodes.salute.slideUp( duration, function(){
1736
+ nodes.salute.remove(); nodes.salute = null;
1737
+ });
1738
+ if( nodes.links.all ) nodes.links.all.fadeTo( duration/2, 0, function(){
1739
+ if( nodes.links.profile ) nodes.links.profile.remove(); nodes.links.profile = null;
1740
+ nodes.links.settings.before( orgwas.links.login.removeClass('active') );
1741
+ nodes.links.settings.children('a').text( orgwas.links.settings.text );
1742
+ nodes.links.settings.after( orgwas.links.newpass );
1743
+ nodes.links.all.fadeTo( duration/2, 1 );
1744
+ });
1745
+
1746
+ form.attr({ action : orgwas.action });
1747
+ })();
1748
+ firstrun = false;
1749
+ };
1750
+ filOtaz_de.kommune.updateLogin();
1751
+
1752
+ var message = filOtaz_de.ajaxifyForm('bb-login', { handle200 : filOtaz_de.kommune.updateLogin } );
1753
+
1754
+ if( message && message.length ) // secure ajax not supported
1755
+ form.after( message );
1756
+
1757
+ })();
1758
+ </script><div class="rack">
1759
+
1760
+
1761
+ <div role="region" id="" class="first last odd sect sect_shop style_shop"><div class="secthead" role="heading"><h2><a name="meistkommentiert"><span>meistkommentiert</span></a></h2></div><ul role="directory" class="sectbody directory"><li class=" first odd trodd"><a href="/Kommentar-Erneuter-Lokfuehrerstreik/!159292/" class="objlink" role="link"><h4>Kommentar Erneuter Lokführerstreik</h4><h3>Bahnvorstand will Unterwerfung</h3></a></li><li class=" even trodd"><a href="/Ende-einer-Reformschule/!159214/" class="objlink" role="link"><h4>Ende einer Reformschule</h4><h3>Die Odenwaldschüler kämpfen </h3></a></li><li class=" odd treven"><a href="/Karikaturen-Wettbewerb-in-den-USA/!159293/" class="objlink" role="link"><h4>Karikaturen-Wettbewerb in den USA</h4><h3>Anschlag auf Anti-Islam-Ausstellung</h3></a></li><li class=" even trodd"><a href="/Sowjetische-Kriegsgefangene/!159270/" class="objlink" role="link"><h4>Sowjetische Kriegsgefangene</h4><h3>Doppelt verfolgt</h3></a></li><li class=" last odd trodd"><a href="/Stromspeicher-fuer-Haushalte/!159255/" class="objlink" role="link"><h4>Stromspeicher für Haushalte</h4><h3>Sparen mit Schwarmeffizienz</h3></a></li></ul></div>
1762
+
1763
+
1764
+ </div></span></div><div id="footer"><ul role="navigation" class="sitemap"><li class="news"><a href="/">taz.de</a><ul><li class="first odd trodd"><a href="/Politik/!p4615/" id="menu_p4615"><span>Politik</span></a><ul><li class="first odd trodd"><a href="/Politik/Deutschland/!p4616/" id="menu_p4616"><span>Deutschland</span></a></li><li class="even trodd"><a href="/Politik/Europa/!p4617/" id="menu_p4617"><span>Europa</span></a></li><li class="odd treven"><a href="/Politik/Amerika/!p4618/" id="menu_p4618"><span>Amerika</span></a></li><li class="even trodd"><a href="/Politik/Afrika/!p4621/" id="menu_p4621"><span>Afrika</span></a></li><li class="odd trodd"><a href="/Politik/Asien/!p4619/" id="menu_p4619"><span>Asien</span></a></li><li class="even treven"><a href="/Politik/Nahost/!p4620/" id="menu_p4620"><span>Nahost</span></a></li><li class="last odd trodd"><a href="/Politik/Netzpolitik/!p4622/" id="menu_p4622"><span>Netzpolitik</span></a></li></ul></li><li class="even trodd selected"><a href="/Öko/!p4610/" id="menu_p4610"><span>Öko</span></a><ul><li class="first odd trodd selected"><a href="/Öko/Ökonomie/!p4623/" id="menu_p4623"><span>Ökonomie</span></a></li><li class="even trodd"><a href="/Öko/Ökologie/!p4624/" id="menu_p4624"><span>Ökologie</span></a></li><li class="odd treven"><a href="/Öko/Arbeit/!p4629/" id="menu_p4629"><span>Arbeit</span></a></li><li class="even trodd"><a href="/Öko/Konsum/!p4625/" id="menu_p4625"><span>Konsum</span></a></li><li class="odd trodd"><a href="/Öko/Verkehr/!p4628/" id="menu_p4628"><span>Verkehr</span></a></li><li class="even treven"><a href="/Öko/Wissenschaft/!p4636/" id="menu_p4636"><span>Wissenschaft</span></a></li><li class="last odd trodd"><a href="/Öko/Netzökonomie/!p4627/" id="menu_p4627"><span>Netzökonomie</span></a></li></ul></li><li class="odd treven"><a href="/Gesellschaft/!p4611/" id="menu_p4611"><span>Gesellschaft</span></a><ul><li class="first odd trodd"><a href="/Gesellschaft/Alltag/!p4632/" id="menu_p4632"><span>Alltag</span></a></li><li class="even trodd"><a href="/Gesellschaft/Debatte/!p4633/" id="menu_p4633"><span>Debatte</span></a></li><li class="odd treven"><a href="/Gesellschaft/Kolumnen/!p4634/" id="menu_p4634"><span>Kolumnen</span></a></li><li class="even trodd"><a href="/Gesellschaft/Medien/!p4630/" id="menu_p4630"><span>Medien</span></a></li><li class="odd trodd"><a href="/Gesellschaft/Bildung/!p4635/" id="menu_p4635"><span>Bildung</span></a></li><li class="even treven"><a href="/Gesellschaft/Gesundheit/!p4637/" id="menu_p4637"><span>Gesundheit</span></a></li><li class="last odd trodd"><a href="/Gesellschaft/Reise/!p4638/" id="menu_p4638"><span>Reise</span></a></li></ul></li><li class="even trodd"><a href="/Kultur/!p4639/" id="menu_p4639"><span>Kultur</span></a><ul><li class="first odd trodd"><a href="/Kultur/Musik/!p4640/" id="menu_p4640"><span>Musik</span></a></li><li class="even trodd"><a href="/Kultur/Film/!p4641/" id="menu_p4641"><span>Film</span></a></li><li class="odd treven"><a href="/Kultur/Künste/!p4642/" id="menu_p4642"><span>Künste</span></a></li><li class="even trodd"><a href="/Kultur/Buch/!p4643/" id="menu_p4643"><span>Buch</span></a></li><li class="last odd trodd"><a href="/Kultur/Netzkultur/!p4631/" id="menu_p4631"><span>Netzkultur</span></a></li></ul></li><li class="odd trodd"><a href="/Sport/!p4646/" id="menu_p4646"><span>Sport</span></a><ul><li class="first odd trodd"><a href="/Sport/Fußball/!p4647/" id="menu_p4647"><span>Fußball</span></a></li><li class="last even trodd"><a href="/Sport/Kolumnen/!p4648/" id="menu_p4648"><span>Kolumnen</span></a></li></ul></li><li class="even treven"><a href="/Berlin/!p4649/" id="menu_p4649"><span>Berlin</span></a><ul></ul></li><li class="odd trodd"><a href="/Nord/!p4650/" id="menu_p4650"><span>Nord</span></a><ul><li class="first odd trodd"><a href="/Nord/Hamburg/!p4651/" id="menu_p4651"><span>Hamburg</span></a></li><li class="even trodd"><a href="/Nord/Bremen/!p4652/" id="menu_p4652"><span>Bremen</span></a></li><li class="last odd treven"><a href="/Nord/Kultur/!p4653/" id="menu_p4653"><span>Kultur</span></a></li></ul></li><li class="last even trodd"><a href="/Wahrheit/!p4644/" id="menu_p4644"><span>Wahrheit</span></a><ul><li class="first odd trodd"><a href="/bei_tom/!t11462/" target="_blank" id="menu_p4685"><span>bei Tom</span></a></li><li class="last even trodd"><a href="/ueber-die-Wahrheit/!115080/" target="_blank" id="menu_p4684"><span>über die Wahrheit</span></a></li></ul></li></ul></li><li class="corp"><ul><li class="first odd trodd"><a href="/Abo/!p4209/" id="menu_p4209"><span>Abo</span></a></li><li class="even trodd"><a href="/Info/!p4206/" id="menu_p4206"><span>Info</span></a></li><li class="odd treven"><a href="/Anzeigen/!p4288/" id="menu_p4288"><span>Anzeigen</span></a></li><li class="even trodd"><a href="/Genossenschaft/!p4271/" id="menu_p4271"><span>Genossenschaft</span></a></li><li class="odd trodd"><a href="/taz.zahl ich/!p4697/" id="menu_p4697"><span>taz.zahl ich</span></a></li><li class="even treven"><a href="/Panterpreis/!p4207/" id="menu_p4207"><span>Panterpreis</span></a></li><li class="odd trodd"><a href="http://www.shop.taz.de/" target="_blank" id="menu_p4378"><span>Shop</span></a></li><li class="even trodd"><a href="/ePaper/!p4350/" id="menu_p4350"><span>ePaper</span></a></li><li class="odd treven"><a href="/Archiv/!p4311/" id="menu_p4311"><span>Archiv</span></a></li><li class="even trodd"><a href="/Café/!p4237/" id="menu_p4237"><span>Café</span></a></li><li class="odd trodd"><a href="/lab 2015/!p4901/" id="menu_p4901"><span>lab 2015</span></a></li><li class="even treven"><a href="/Neubau/!p4820/" id="menu_p4820"><span>Neubau</span></a></li><li class="odd trodd"><a href="/Panter Stiftung/!p4258/" id="menu_p4258"><span>Panter Stiftung</span></a></li><li class="even trodd"><a href="/taz.am wochenende/!p4662/" id="menu_p4662"><span>taz.am wochenende</span></a></li><li class="odd treven"><a href="/zeozwei/!p4688/" id="menu_p4688"><span>zeozwei</span></a></li><li class="even trodd"><a href="http://blogs.taz.de/hausblog/" target="_blank" id="menu_p4718"><span>Hausblog</span></a></li><li class="odd trodd"><a href="http://blogs.taz.de/" target="_blank" id="menu_p4366"><span>Blogs</span></a></li><li class="even treven"><a href="/Reisen in die Zivilgesellschaft/!p4310/" id="menu_p4310"><span>Reisen in die Zivilgesellschaft</span></a></li><li class="odd trodd"><a href="http://bewegung.taz.de/" target="_blank" id="menu_p4313"><span>bewegung</span></a></li><li class="even trodd"><a href="http://monde-diplomatique.de/" target="_blank" id="menu_p4387"><span>LE MONDE diplomatique</span></a></li><li class="odd treven"><a href="http://www.kontextwochenzeitung.de/" target="_blank" id="menu_p4721"><span>KONTEXT: Wochenzeitung</span></a></li><li class="even trodd"><a href="http://www.taz.de/!150710/" id="menu_p4895"><span>Auslandsrecherchefonds</span></a></li><li class="last odd trodd"><a href="/Hilfe/!p4591/" id="menu_p4591"><span>Hilfe</span></a></li></ul></li><li class="help"><ul id="legal"><li class="first odd trodd"><a href="/Hilfe/!p4591/" id="menu_p4591"><span>Hilfe</span></a></li><li class="even trodd"><a href="http://www.taz.de/!112354/" id="menu_p4679"><span>Impressum</span></a></li><li class="odd treven"><a href="http://www.taz.de/!114191/" id="menu_p4680"><span>RSS</span></a></li><li class="even trodd"><a href="http://m.taz.de/!p4608;m/" target="_blank" id="menu_p4800"><span>Mobil</span></a></li><li class="odd trodd"><a href="http://www.taz.de/!106599/" id="menu_p4681"><span>Datenschutz</span></a></li><li class="even treven"><a href="http://www.taz.de/!106556/" id="menu_p4827"><span>Newsletter</span></a></li><li class="odd trodd"><a href="http://www.taz.de/!p4858/" id="menu_p4859"><span>Informant</span></a></li><li class="last even trodd"><a href="http://www.taz.de/!112355/" id="menu_p4682"><span>Kontakt</span></a></li></ul></li><li class="search"><form class="search" role="search" action="/!s=" method="GET"><div class="frame"><input type="text" class="text" name="s" value="suchen ..."></input><script type="text/javascript" language="javascript">filOtaz_de.searchslot();</script><input type="image" class="send" title="suche senden" alt="suche senden" name="ignore" src="/lib/ch/web/pix/redArrowsRight.png"></input></div></form></li></ul><div class="copyright">Alle Rechte vorbehalten. Für Fragen zu Rechten oder Genehmigungen wenden Sie sich bitte an lizenzen@taz.de</div></div></div></div></div></body></html>