HG-Optimierung

Vereinfachte Navigation auf Hartgeld.com

Verze ze dne 06. 03. 2016. Zobrazit nejnovější verzi.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name        HG-Optimierung
// @namespace   hgtools
// @include     http://www.hartgeld.com/*
// @version     3.12
// @grant       none
// @description Vereinfachte Navigation auf Hartgeld.com
// ==/UserScript==

(function ($) { 

   ///////////////////////////////////////////////////////////////////////////////////
   // Startseite
   if (self == top) {
      
      // CSS
      var cssstring = (function () {/*
         <style>
         .werbebox2,
         .moduletable_wb_home {
            display:none;
         }
         #heute {
            padding-top: 2px;
         }
         #olframe {
            display:none;
            height:100%;
            position:fixed;
            top:0;
            right:0;
            z-index:10000;
         }
         #dragbar,
         #dragbarex {
            position: absolute;
            left: -12px;
            height:100%;
            width:10px;
            cursor: col-resize;
         }
         #closeborder {
             border: 1px solid #666;
             // opacity: 0.8;
             float:left;
             position: absolute;
             left:-31px;
             background:#fff;
             border-radius:25px;
         }
         #close {
             top: 0px;
             left: 1px;
             position: relative;
             height:20px;
             width:20px;
             padding:4px;
             font-size:22px;
             display:block;
             text-decoration:none;
         }
         #lesefenster,
         #iframeph {
            box-shadow: -10px 10px 13px -3px #333;
            width:100%;
            height:100%;
            background:#fff;
            overflow:auto;
            border:none;
         }
         #iframeph {
            box-shadow: none;
            position:absolute;
            display:none;
         }
         #extframe {
            box-shadow: -10px 10px 13px -3px #333;
            height:100%;
            position:fixed;
            top:0;
            right:0;
            z-index:11000;
            background:#fff;
            display:none;
         }
         #externfenster {
            overflow:auto;
            width:100%;
            height:100%;
            border:none;
         }
         #externcloseborder {
             border: 1px solid #666;
             // opacity: 0.8;
             position: absolute;
             left:-58px;
             background:#fff;
             border-radius:30px;
         }
         #externclose {
             top: -1px;
             left: -5px;
             position: relative;
             height:20px;
             width:20px;
             padding:17px;
             font-size:37px;
             display:block;
             text-decoration:none;
         }
         .markierterubrik {
            background: #f5b201;
            color: #000 !important;
            padding: 1px 6px;
            border-radius:3px;
            font-weight:bold;
         }
         #wartebild {
            -moz-animation: spin 1s infinite linear;
            -webkit-animation: spin 1s infinite linear;  
            position: absolute;
            left: 45%;
            top: 45%;
         }
         @-moz-keyframes spin {
             0% {-moz-transform: rotate(0deg);}
             100% {-moz-transform: rotate(360deg);};
         }
         @-webkit-keyframes spin {
             0% {-webkit-transform: rotate(0deg);}
             100% {-webkit-transform: rotate(360deg);};
         }
         #rubrikenaktualisieren {
            margin-bottom: 20px;
         }
         #rubrikenaktualisieren a {
            text-decoration: none;
            color: #3D728C;
         }
         #rubrikenaktualisieren a:hover {
            color: #00F;
         }
         #neueinhaltesymbol {
            font-size:1px;
            color:#B94A48;
            display:none;
         }
         </style>
         
         */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
      $('head').append(cssstring);

      // Links umbauen
      $('.tab-content .infolinks a').each(function() {
        var value = $(this).attr('href');
        $(this).attr('url', value);
      });

      // von auto auf fixe Position ändern
      function AutoZentrierungInMargin() {
         $('.container-fluid').css("position", "absolute");
         var left = ($(window).width() - $('.container-fluid').width()) / 2 - 14 + "px";
         return left;
      }

      // In Abhängigkeit der Fenstergröße die Overlays einstellen
      function Fenstergroesse(schmal, breit) {
         if ($(window).width() > 1600) {
            return breit;
         }
         return schmal;
      }

      
      // Iframe für externe URLs
      $('body').append('<div id="extframe" style="width:' + Fenstergroesse("90%", "50%") + ';"><div id="dragbarex"></div><div id="externcloseborder"><a id="externclose" href="##">&#10006;</a></div><iframe id="externfenster" allowFullScreen="true"></iframe></div>');
      
      $('body').on('click', '#externclose', function() {
         $('#extframe').hide();
         $('#externfenster').attr('src', '');
      });

      window.ExterneURL = function(url) {
         $('#externfenster').attr('src', url);
         $('#extframe').fadeIn(200);
      }

      window.ExterneHTML = function(html) {
         $('#externfenster').contents().find('body').html(html);
         $('#extframe').fadeIn(200);
      }


      // Rubrikenlinks-Funktionalität
      var neu = 0;
      var letzterubrik;
      
      // Für Iframe-Abfrage, welche Rubrikenseite gerade offen ist:
      window.AktuelleRubrik = function() {
         return $(letzterubrik).text();
      }

      $('.tab-content').on('click', '.infolinks a', function(event) {
         event.preventDefault();
         if (neu == 0) {
            // margin: 0 auto in 0 x umwandeln
            $('.container-fluid').css({"margin-left": AutoZentrierungInMargin()});
            $('.container-fluid').animate({'marginLeft': '0'}, 300);
            
            // $('.container-fluid').css({"position": "relative"});
            $('.container-fluid').prepend('<div id="olframe" style="width:' + Fenstergroesse("60%", "85%") + ';"><div id="dragbar"></div><div id="closeborder"><a id="close" href="##">&#10006;</a></div><div id="iframeph"><img id="wartebild" src="http://www.hartgeld.com/images/seiten/Logo-HG_kl.jpg"></div><iframe id="lesefenster"  allowFullScreen="true"></iframe></div>');

            $('#olframe').fadeIn(300);
         }
         
         // Klick auf dieselbe Rubrik nochmal?
         if ($(this).text() != $(letzterubrik).text()) {
            $(this).addClass('markierterubrik');
            MarkiertenBereichAufheben();
         }
         
         $('#iframeph').fadeIn(200); 

         var url = $(this).attr('url');
         $('#lesefenster').attr('src', url);

         letzterubrik = $(this);
         neu = 1;
      });

      function MarkiertenBereichAufheben() {
         if (neu) {
            $(letzterubrik).removeClass('markierterubrik');
            
            // Wenn Rubrik als neu, rot markiert war, diese Markierung aufheben
            var rubrikeneintrag = $(letzterubrik).parent().html();
            rubrikeneintrag = rubrikeneintrag.replace('<span class="label label-important">Neu', '<i class="icon-file"></i>');
            rubrikeneintrag = rubrikeneintrag.replace('</span>', '&nbsp;');
            $(letzterubrik).parent().html(rubrikeneintrag);
         }
      }

      $('.container-fluid').on('click', '#close', function() {
         $('#lesefenster').fadeOut(300, function(){ $('#olframe').remove();});
         $('.container-fluid').animate({'marginLeft': AutoZentrierungInMargin()}, 300);
         MarkiertenBereichAufheben();
         neu = 0;
      });
      
      
      // Breite Rubriken-Overlay ändern
      $('.container-fluid').on('mouseover', '#dragbar', function() {
         $('#dragbar').css({"border-right": "3px dashed #666"});
      });
      $('.container-fluid').on('mouseout', '#dragbar', function() {
         $('#dragbar').css({"border-right": "none"});
      });
      
      var i = 0;
      var dragging = false;
      $(window).on('mousedown', '#dragbar', function(e) {
         e.preventDefault();

         dragging = true;
         var main = $('#olframe');
         var ghostbar = $('<div>',
            { id:'ghostbar', css: 
               {
                  borderRightWidth: '3px',
                  borderRightColor: '#666',
                  borderRightStyle: 'dashed',
                  position: 'absolute',
                  cursor: 'col-resize',
                  zIndex: '10001',
                  height: main.outerHeight(),
                  top: main.offset().top,
                  left: main.offset().left-2
               }
            }).appendTo('body');
         $('#lesefenster').css({"pointer-events": "none"});
         
         $(document).mousemove(function(e) {
            ghostbar.css("left", e.pageX);
            $('#olframe').css(
               {  "left": e.pageX,
                  "width": $(document).width() - e.pageX
               });
         });
      });

      $(document).mouseup(function(e) {
         if (dragging) {
            $('#lesefenster').css({"pointer-events": "initial"});
            $('#ghostbar').remove();
            $(document).unbind('mousemove');
            dragging = false;
         }
      });

      $(window).on('resize', function(event) {
         $('#extframe').css({"width": Fenstergroesse('90%', '50%'), "right": "0", "left": "unset"});
         $('#olframe').css({"width": Fenstergroesse('60%', '85%'), "right": "0", "left": "unset"});
      });    
      
      // Breite Externerlink-Overlay ändern
      $('body').on('mouseover', '#dragbarex', function() {
         $('#dragbarex').css({"border-right": "3px dashed #666"});
      });
      $('body').on('mouseout', '#dragbarex', function() {
         $('#dragbarex').css({"border-right": "none"});
      });
      
      var i = 0;
      var draggingex = false;
      $(window).on('mousedown', '#dragbarex', function(e) {
         e.preventDefault();

         draggingex = true;
         var main = $('#extframe');
         var ghostbar = $('<div>',
            { id:'ghostbar', css: 
               {
                  borderRightWidth: '3px',
                  borderRightColor: '#666',
                  borderRightStyle: 'dashed',
                  position: 'absolute',
                  cursor: 'col-resize',
                  zIndex: '10001',
                  height: main.outerHeight(),
                  top: main.offset().top,
                  left: main.offset().left-2
               }
            }).appendTo('body');
         $('#externfenster').css({"pointer-events": "none"});
         $('#lesefenster').css({"pointer-events": "none"});
         
         $(document).mousemove(function(e) {
            ghostbar.css("left", e.pageX);
            $('#extframe').css(
               {  "left": e.pageX,
                  "width": $(document).width() - e.pageX
               });
         });
      });

      $(document).mouseup(function(e) {
         if (draggingex) {
            $('#externfenster').css({"pointer-events": "initial"});
            $('#lesefenster').css({"pointer-events": "initial"});
            $('#ghostbar').remove();
            $(document).unbind('mousemove');
            draggingex = false;
         }
      });


      /////////////////////////////////////////
      // Aktualisierungsfunktionen
      function AktualisierungsButtonanzeigen() {
         $('#heute').prepend('<div id="rubrikenaktualisieren"><span title="Neue Inhalte vorhanden" id="neueinhaltesymbol">&#128259; </span><a id="aktualisieren" class="bodyText_fett" href="##">Rubriken aktualisieren <span id="autoaktualisierungscd" title="Minuten bis zur automatischen Hintergrundüberprüfung"></span>&raquo;</a></div>');
      }
      AktualisierungsButtonanzeigen();

      
      // RSS-Feed manuell lesen

      $('#heute').on('click', '#aktualisieren', function(event) {
         event.preventDefault();

         var datum = new Date();
         var infolinks = '';

         $('#heute').animate({'opacity': '0.01'}, 100, function() {
         
            $.get('http://www.hartgeld.com/component/obrss/hartgeld-com-fed.html', function(data) {
               var $xml = $(data);
               $xml.find("item").each(function() {
                  var $this = $(this),
                     item = {
                        title: $this.find("title").text(),
                        link: '/' + $this.find("link").text().split('/')[3],
                        day: $this.find("pubDate").text().substring(8, 10),
                        hour: $this.find("pubDate").text().substring(11, 13),
                        minute: $this.find("pubDate").text().substring(14, 16),
                        sommerzeit: $this.find("pubDate").text().substring(20, 22),
                  }
                  if (item.day == datum.getDate()) {
                     var stunde = parseInt(item.hour) + 1 + parseInt(item.sommerzeit);
                     if (stunde < 10) {
                        stunde = '0' + stunde;
                     }
                     
                     var zeit = parseInt(stunde) * 60 + parseInt(item.minute);
                     if (zeit > neuestezeit) {
                        infolinks += '<p class="infolinks"><span class="label label-important">Neu ' + stunde + ':' + item.minute + '</span>&nbsp;<a url="' + item.link + '" href="' + item.link + '">' + item.title + '</a> </p>';
                     } else {
                        infolinks += '<p class="infolinks"><i class="icon-file"></i> ' + stunde + ':' + item.minute + '&nbsp;&nbsp;<a url="' + item.link + '" href="' + item.link + '">' + item.title + '</a> </p>';
                     }
                  }
               });
               $('#heute').empty();
               $('#heute').prepend(infolinks);
               $('#heute').animate({'opacity': '1'}, 100);
               AktualisierungsButtonanzeigen();
               ZeitNeuesteRubrik();
               ZuletztaktiveRubrikmarkieren();

               autosuche = 0;
               TimerAutoAktualisierung();
            });
         });
      });
      
      // Automatische Überprüfung auf neue Inhalte
      function SucheNachAktualisierungen() {
         autosuche = 0;
         
         $.ajax({
            async: false,
            type: 'GET',
            url: 'http://www.hartgeld.com/component/obrss/hartgeld-com-fed.html',
            success: function(data) {

               var datum = new Date();
               var $xml = $(data);
               var ersteselement = $xml.find("item").first();
               var item = {
                     day: $(ersteselement).find("pubDate").text().substring(8, 10),
                     hour: $(ersteselement).find("pubDate").text().substring(11, 13),
                     minute: $(ersteselement).find("pubDate").text().substring(14, 16),
                     sommerzeit: $(ersteselement).find("pubDate").text().substring(20, 22),
               }
               if (item.day == datum.getDate()) {
                  var stunde = parseInt(item.hour) + 1 + parseInt(item.sommerzeit);
                  if (stunde < 10) {
                     stunde = '0' + stunde;
                  }
                  
                  var zeit = parseInt(stunde) * 60 + parseInt(item.minute);
                  var zeitstring = $('#heute p').first().text().match(/([0-2][0-9])\:([0-5][0-9])/);
                  var zuletzt = parseInt(zeitstring[1]) * 60 + parseInt(zeitstring[2]);
                  
                  if (zeit > zuletzt) {
                     $('#neueinhaltesymbol').show().animate({fontSize: "30px"}, 500).animate({fontSize: "22px"}, 300);
                     autosuche = 2;
                  }
               }
            }
         });         
      }
      
      
      var autosuche = 0; // 0 = Neustart, 1 = Countdown läuft, 2 = Aktualisierungen gefunden
      var zeitbiszurAktualisierung = 0;
      var aktualisierungsinterval = 840; // Sekunden (Dauer minus 1 Minute)
      var aktualisierungscountdowninterval = 60; // Sekunden
      var autoaktualisierungstimer;

      function TimerAutoAktualisierung() {
         var datum = new Date();
         var stunde = datum.getHours();

         // Für den Fall, dass manuell geprüft wurde, läuft noch ein Timer
         clearTimeout(autoaktualisierungstimer);

         if (autosuche == 1) {
            zeitbiszurAktualisierung -= aktualisierungscountdowninterval;
            
            // Nicht bis 0 zählen, damit am Ende nicht 0min, sondern 1min steht
            if (zeitbiszurAktualisierung <= 0) {
               SucheNachAktualisierungen();
            }

         // Neustart Countdown
         } else if (autosuche == 0) {
            zeitbiszurAktualisierung = aktualisierungsinterval;
            autosuche = 1;
         }

         if ((stunde >= 7) && (stunde < 21) && (autosuche != 2)) {
            autoaktualisierungstimer = window.setTimeout(TimerAutoAktualisierung, aktualisierungscountdowninterval * 1000);
            $('#autoaktualisierungscd').text('(' + parseInt((zeitbiszurAktualisierung + aktualisierungscountdowninterval) / aktualisierungscountdowninterval) + ' min) ');
            
         } else {
            $('#autoaktualisierungscd').text('');
         }
      }
      TimerAutoAktualisierung();
      
      
      
      // Letzte Rubrik abenfalls wieder als aktiv markieren
      function ZuletztaktiveRubrikmarkieren() {
         $('#heute p a').each(function() {
            if ($(this).text() == $(letzterubrik).text()) {
               letzterubrik = $(this);
               $(this).addClass('markierterubrik');
            }
         });
      }

      // Zeitpunkt zuletzt geänderter Rubrik prüfen, um die neu geänderten Rubriken nach der Aktualisierung zu markieren
      var neuestezeit = 0;
      function ZeitNeuesteRubrik() {
         var zeitstring = $('#heute p').first().text().match(/([0-2][0-9])\:([0-5][0-9])/);
         neuestezeit = parseInt(zeitstring[1]) * 60 + parseInt(zeitstring[2]);
      }
      ZeitNeuesteRubrik();
      
      // Tabs korrigieren, da nach Aktualisierung die neu geladenen Rubriken nicht mehr ausgeblendet werden
      $('.nav-tabs a').on('click', function() {
         var tab = $(this).attr('href');
         if (tab != '#heute') {
            $('#heute').css("display", "none");
         } else {
            $('#heute').css("display", "block");
         }
      })
      
      
      // Wenn iframe geladen wurde, iframe-Ladeseite ausblenden
      window.IframeGeladen = function() {
         $('#iframeph').fadeOut(200); 
      }
      
   }
   
   ///////////////////////////////////////////////////////////////////////////////////
   // Inhaltsseite
   else {
      
      // CSS
      var cssstring = (function () {/*
         <style>
         @media screen and (min-width: 1300px) {
            .artikel {
               // max-width:400px;
            }
         }
         body {
            padding: 0;
         }
         
         #content .moduletable,
         #sidebar-2 .moduletable,
         #top, 
         .footer,
         .container-fluid #main #sidebar-2,
         .werbebox2 {
            display:none;
         }
         
         .container-fluid #main #content {
            width:100%;
         }
         .row-fluid [class*="span"] {
            float: left !important;
         }
         .span2 {
            width: 120px !important;
         }         
         .span4 {
            width: 35% !important;
         }         
         .row-fluid .span8 {
            float:right !important;
            width:60% !important;
         }
         .span10 {
            width: 60% !important;
         }
         .container-fluid {
            margin:0;
            max-width: 650px;
         }
         
         
         .header-fixed,
         .werbebox3 p { 
            display: none;
         }
         hr {
            margin-top: 50px;
            border-bottom: 1px solid #bbb;
            border-top: none;
         }
         #main {
            margin-top: 10px;
         }
         p a {
            padding-left: 20px;
         }
         .bodyText_fett_gruen {
            background: #5a5;
            color: #fff;
            border-radius: 3px;
            padding: 0 5px 2px;
            display: inline-block;
            line-height: 16px;
         }
         td.bodyText_fett_gruen {
            background:#fff;
            color:#5a5;
            display:table-cell;
            padding:0;
         }
         .tagesdatum {
            display: inline !important;
            padding:1px 8px 3px;
            background: #44e;
            color: #fff;
            border-radius: 3px;
         }
         .datumheute {
            background:#B94A48;
         }
         .leerzeile {
            margin-bottom: 15px;
            width:100%;
            height:1px;
         }
         .blase {
            display: inline;
            text-decoration:none !important;
            font-size: 20px;
            position: relative;
            top: -20px;
            left:3px;
            z-index:10;
            transition-property: top, opacity;
            transition-duration: 0.2s;
            transition-delay: 0.3s;
            transition-timing-function: ease;
            opacity:0;
            color:#fff !important;
            text-shadow: 0 -1px #333, 1px 0 #333, 0 1px #333, -1px 0 #333;
            line-height: 1px;
            padding-left: 0;
         }
         .blasehover {
            transition-delay: 0.7s;
            opacity:1;
            top: 2px;
         }
         .blasehover:hover {
            color: #000 !important; 
         }
         #mailsenden {
            display:none;
            position: absolute; 
            padding: 5px 10px 10px; 
            font-size: 20px;
            text-decoration:none;
            color:#fff;
            text-shadow: 0 -1px #333, 1px 0 #333, 0 1px #333, -1px 0 #333;
         }
         #mailsenden:hover {
            color: #000; 
         }
         #urloverlay {
            display:none;
            box-shadow: -5px 5px 10px -3px rgba(158,158,158,1); 
            border-radius:3px;
            position: absolute; 
            padding: 2px 8px 4px; 
            background: #eeeeff; 
            color: #333; 
            font-weight: bold;
            z-index:1000;
         }
         .kommentarwe {
            background: #eeeeff;
            padding: 0px 5px 2px;
            border-radius: 3px;
         }
         .bodyText_blau + br,
         .bodyText_blau br,
         .bodyText_fett br {
            // display:none;
         }
         .alteinhalte {
            display:none;
         }
         #alteinhalteschalter {
            display:block;
            margin-top: 30px;
            margin-bottom: 0px;
            color: #3D728C;
            text-decoration: none;
         }
         #alteinhalteschalter:hover {
            color: #00F;
         }
         .exneuesfenster {
            text-decoration:none !important;
            cursor:pointer;
            color: #666;
            padding-left:0;
            font-weight:bold;
         }
         .exneuesfenster:visited {
            color: #999 !important;
         }
         .pubzeiten {
            background: #666;
            color: #FFF;
            display: inline-block;
            padding: 0px 5px 2px;
            border-radius: 3px;
            float: left;
            margin: 0px 8px 0 0;
            font-weight:bold;
            line-height: 15px;
            min-width: 41px;
            text-align: center;
         }
         .kommentarwe .pubzeiten {
             background:#79f;
             margin-left:-5px;
          }
         .bodyText_fett_rot .pubzeiten {
             background:#F00;
          }
         .bodyText_blau .pubzeiten {
             background:#79f;
          }
         </style>
         
         */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
      $('head').append(cssstring);
      
      var mtext = '';
      var seitenrubrik = encodeURIComponent(parent.AktuelleRubrik());
      
      // Fehlerhafte Seiten nicht konvertieren
      var seiten_ohne_umwandlung = ["Stammtische", "Team/Codenamen"];
      var rubrik_check = parent.AktuelleRubrik().replace(/(\s*[0-2]?[0-9]\:[0-5][0-9])(\s*)(.*)/, '$3');
      var seite_umwandeln = 0;
      if ($.inArray(rubrik_check, seiten_ohne_umwandlung) == -1) {
         var seite_umwandeln = 1;
      }

      // Mailoverlay
      $('.artikel').prepend('<a title="Diesen Absatz kommentieren" id="mailsenden" href="##">&#128172;</a>');
            
      // URLoverlay
      $('.artikel').prepend('<div id="urloverlay"></div>');
      


      /////////////////////////////////////////////////////////////////////
      // Angezeigte Elemente anpassen, versteckte erst nach Einblendung
      function BearbeiteElemente(klasse) {

         // Externe Seitenlinks umwandeln für Overlay-Anzeige
         $(klasse + ' p a').not('#mailsenden').each(function() {
            // Links ohne anklickbaren Text löschen
            if ($(this).text() == '') {
               $(this).remove();
            } else {
               // Links ohne href korrigieren
               if (typeof($(this).attr('href')) === 'undefined') {
                  $(this).attr('href', $(this).text());
               }

               // Linkklasse setzen
               $(this).addClass('extern');
               $(this).after('&nbsp;<a target="_blank" class="exneuesfenster" title="Link in neuem Fenster öffnen">&#10093;&#10093;&#10093;</a>')
               $(this).css({
                  "background": "transparent url(http://www.google.com/s2/favicons?domain=" + $(this).attr('href').split('/')[2] + ") center left no-repeat"
               });
            }
         });

         // Style-Korrekturen, wenn z.B. p = bodyText_blau, aber darin ein span = bodyText_fett
         $(klasse + ' .bodyText_blau, ' + klasse + ' .bodyText_fett_gruen').has('.bodyText_fett').each(function() {
            $(this).removeClass('bodyText_blau bodyText_fett_gruen');
         });
        
         // Überflüssige Leerzeilen am Ende blauer Kommentare löschen, da der Hintergrund ja blau wird und das seltsam aussieht
         $(klasse + ' .bodyText_blau + br, ' + klasse + ' .bodyText_blau br, ' + klasse + ' .bodyText_fett br').parent().each(function() {
            $(this).html($(this).html().replace(/<br>&nbsp;/, ''));
         });
         
         // HTML-Korrekturen, wenn zwei grüne Überschriften direkt hintereinander kommen
         $('.bodyText_fett_gruen + .bodyText_fett_gruen').each(function() {
            $(this).prev().after('<br>');
         });
         
         // WE-Kommentare anders färben
         // muss vor Auto-Kommentar-Sprechblasen kommen
         $(klasse + ' p.bodyText_blau, ' + klasse + ' p.bodyText_fett_blau').not(':has(.cdate)').add($(klasse + ' p').has('.bodyText_blau, .bodyText_fett_blau')).each(function() {
            if ($(this).text().match(/(WE\.|PS: )/)) {
               $(this).addClass('kommentarwe');
            }
            KommentarKlasseeinfuegen(this);
            $(this).addClass('blauerkommentar');
         });
        
         // Auto-Kommentar-Links
         $(klasse + ' p.bodyText_fett, ' + klasse + ' p.bodyText_fett_rot').add($(klasse + ' p').has('.bodyText_fett, strong, .bodyText_fett_rot')).each(function() {
            KommentarKlasseeinfuegen(this);
         });
         
         // Datumsblöcke Klasse einfügen
         $(klasse + ' p.bodyText_fett_blau .cdate, ' + klasse + ' p.bodytext_fett_blau .cdate').each(function() {
            $(this).parent().addClass('tagesdatum');
            $(this).parent().after('<div class="leerzeile"></div>');
         });
         
         // Alle Zeitangaben in eckigen Klammern hervorheben
         $(klasse + ' p').each(function() {
            PublikationszeitenHervorheben(this);
         });

         // Datum des Tages umstellen
         monate = new Array(); monate['01'] = 'Januar'; monate['02'] = 'Februar'; monate['03'] = 'März'; monate['04'] = 'April'; monate['05'] = 'Mai'; monate['06'] = 'Juni'; monate['07'] = 'Juli'; monate['08'] = 'August'; monate['09'] = 'September'; monate['10'] = 'Oktober'; monate['11'] = 'November'; monate['12'] = 'Dezember';
         
         $(klasse + ' .cdate').each(function() {
            if ($(this).length > 0) {
               // Nur auf ein Datum reagieren, falls cdate-Klasse auch woanders verwendet wurde
               if ($(this).text().match(/[0-9]*-[0-9]*-[0-9]*:/)) {
                  
                  var datumsteile = $(this).text().split('-');

                  var tag = datumsteile[2].replace(':', '');
                  if (tag[0] == '0') {
                     tag = tag[1];
                  }
                  
                  var monat;
                  if (datumsteile[1][0] == '0') {
                     monat = datumsteile[1][1];
                  } else {
                     monat = datumsteile[1];
                  }
                  
                  var datum = new Date();
                  var heute = '';
                  if ((tag == datum.getDate()) && (monat == datum.getMonth() + 1)) {
                     heute = 'Heute, ';
                     $(this).parent().addClass('datumheute');
                  }
                  $(this).text(heute + tag + '. ' + monate[datumsteile[1]] + ' ' + datumsteile[0]);
               }
            }
         });
      }
            

      // Linke Position von Inline-Link bei Zeilenumbruch errechnen
      $.fn.LinkePositionvonLink = function() {
         var el = $('<i/>').css('display', 'inline').insertBefore(this[0]);
         var pos = el.offset();
         el.remove();
         return pos;
      };
      
      // Kommentarblase in Block einfügen
      function KommentarKlasseeinfuegen(block) {
         $(block).addClass('kommentarhover');
         $(block).append('<a title="Diesen Absatz kommentieren" href="##" class="blase">&#128172;</a>');
      }

      // Uhrzeiten hervorheben
      function PublikationszeitenHervorheben(element) {
         $(element).html($(element).html().replace(/\[(\<span.*?\>)?([0-2]?[0-9]\:[0-5][0-9])(\<\/span\>)?\]/, '<span class="pubzeiten">$2</span>'));
      }
      
      function SchliessePopup() {
         $('#mailsenden').slideUp('fast');

         if (window.getSelection) {
            window.getSelection().removeAllRanges();
         } else if (document.selection) {
            document.selection.empty();
         }
      }
      
      function Textkuerzen(text) {
         var maxtextlaenge = 500;
         // Blase und >>> Pfeile enfernen
         text = text.replace(/?|❭|➚|↗/g, '');
         if (text.length > maxtextlaenge) {
            var trimmedString = text.substr(0, maxtextlaenge);
            trimmedString = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" ")));
            return trimmedString + ' [...]';
         } else {
            return text;
         }
      }
      
      function Mailinhalt(zitat, blauerkommentar) {
         var bk = 'zu folgendem Eintrag';
         if (blauerkommentar) {
            bk = 'zu Ihrem blauen Kommentar';
         }
         window.location.href = "mailto:[email protected]?subject=Neuer Leserkommentar zu Seite \"" + seitenrubrik + "\"&body=Sehr geehrtes Hartgeld-Team,%0A%0A" + bk + " auf der Seite \"" + seitenrubrik + "\" möchte ich gerne wie untenstehend kommentieren:%0A%0A%0A* Ihr Eintrag:%0A" + encodeURIComponent(Textkuerzen(zitat)) + "%0A%0A%0A* Mein Kommentar dazu:%0A%0A";
      }
      
      // Bestimmte Seiten nicht umwandeln
      if (seite_umwandeln) {

         // Ältere Inhalte ausblenden
         var endeaktuell = $('.artikel hr').first();
         if (endeaktuell.length > 0) {
            $(endeaktuell).before('<a id="alteinhalteschalter" class="bodyText_fett" href="##">Ausgeblendete Inhalte anzeigen &raquo;</a>');
            $('.artikel').after('<div class="alteinhalte"></div>');
            
            $(endeaktuell).nextAll().each(function() {
               $('.alteinhalte').append(this);
            });
            $('.alteinhalte').prepend(endeaktuell);

            // Nach Klick ältere Inhalte anzeigen
            $('.artikel').on('click', '#alteinhalteschalter', function(event) {
               event.preventDefault();
               $('#alteinhalteschalter').css({"display": "none"});
               BearbeiteElemente('.alteinhalte');
               $('.alteinhalte').slideDown('slow');
            });
         }
         
         // Neuesten Tag bearbeiten
         BearbeiteElemente('.artikel');
      }      

      // Textmarkierungs-Mailzitat Events
      $('.item-page').on('mouseup', function(event) {
         var temp = document.getSelection().toString();
         if (temp != '') {
            mtext = temp;
            $('#mailsenden').css({
               left: event.pageX+10,
               top: event.pageY-5
            }).slideDown('fast');
         }
      });

      $('.item-page').on('mousedown', function(event) {
         if (event.target.id == 'mailsenden') {
            Mailinhalt(mtext, 0);
            event.preventDefault();
         }
         SchliessePopup();
      });
      
      
      
      // Externe Links Events
      $('.item-page').on('click', '.extern', function(event) {
         event.preventDefault();
         var url = $(this).attr('href');

         if (url.match(/((www|m)\.)?(youtube|youtu)\.(com|be)/)) {
            if (url.match(/\/\/youtu\.be/)) {
               var video_id = url.split('/')[3];
            } else {
               var video_id = url.split('v=')[1];
               var ampersandPosition = video_id.indexOf('&');
               if (ampersandPosition != -1) {
                  video_id = video_id.substring(0, ampersandPosition);
               } else {
                  video_id = video_id.substring(0);
               }
            }
            parent.ExterneHTML('<html><head><style>body { background:#000; } .tabelle {width: 100%;height:100%;padding: 0 2%;}.zelle { vertical-align: middle;text-align:center;} .ytoverlay { position:relative;padding-bottom:56.25%;height:0;overflow:hidden; } .ytoverlay iframe, .ytoverlay object, .video-container embed { position:absolute;top:0;left:0;width:100%;height:100%;}</style></head><body><table class="tabelle"><tr><td class="zelle"><div class="ytoverlay"><iframe id="ytiframe" src="https://www.youtube.com/embed/' + video_id + '?autoplay=1&autohide=1&border=0&wmode=opaque&enablejsapi=1&showinfo=1&modestbranding=0&rel=0&theme=dark&fs=1" frameborder="0" allowfullscreen="true"></iframe></td></tr></table></body></html>');
         } else {
            parent.ExterneURL(url);
         }
      });

      $('.item-page').on('click', '.exneuesfenster', function() {
         $(this).attr('href', $(this).prev().attr('href'));
      });
      
      
      // URL Hover Events
      $('.item-page').on('mouseenter', 'p a:not(#mailsenden, .exneuesfenster, .blase)', function() {
         clearTimeout($(this).data('timeout'));
         $('#urloverlay').text($(this).attr('href').split('/')[2]);
         var position = $(this).position();
         $('#urloverlay').css({
            top: position.top-25,
            left: $(this).LinkePositionvonLink().left
            // Left: position.left
            // top: event.pageY-40,
            // left: event.pageX-50
         }).show();
      });
      $('.item-page').on('mouseleave', 'p a:not(#mailsenden, .exneuesfenster, .blase)', function() {
         var t = setTimeout(function() {
            $('#urloverlay').hide();
         }, 100);
         $(this).data('timeout', t);
      });
      
      
      // Zitat Events Überschriften und blaue Kommentare
      $('.item-page').on('mouseenter', '.kommentarhover', function() {
         $(this).children('.blase').toggleClass('blasehover');
      });
      $('.item-page').on('mouseleave', '.kommentarhover', function() {
         $(this).children('.blase').toggleClass('blasehover');
      });

      $('.item-page .kommentarhover').on('click', '.blase', function(event) {
         event.preventDefault();
         if ($(this).parent().hasClass('blauerkommentar')) {
            Mailinhalt($(this).parent().text(), 1);
         } else {
            Mailinhalt($(this).parent().text(), 0);
         }
      });
      
      // Werbung anpassen
      $('._wb_home .werbebox2').css({"display": "inline-block", "margin-bottom": "-10px", "max-width": $('.row-fluid').width()});

      
      // Meldung an Parent Window, sobald Seite fertig geladen wurde
      var script = document.createElement("script");
      script.type = "text/javascript";
      script.text  = "parent.IframeGeladen();";
      document.body.appendChild(script);
   }
   
}(jQuery));