// ==UserScript==
// @name HG-Optimierung
// @namespace hgtools
// @include http://www.hartgeld.com/*
// @include https://hartgeld.com/*
// @version 4.4
// @grant none
// @description Vereinfachte Navigation auf Hartgeld.com
// ==/UserScript==
(function ($) {
///////////////////////////////////////////////////////////////////////////////////
// Startseite
if (self == top) {
// CSS
var cssstring = (function () {/*
<style>
.werbebox2,
.moduletable_wb_home,
.bannergroup,
#content-top
{
display:none;
}
.navbar {
margin-top:0 !important;
}
#heute {
padding-top: 2px;
}
.gestern {
color: #999;
}
.infolinks.gestern a {
font-weight:normal;
}
.infolinks:hover {
cursor:pointer;
}
#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;
width: 30px;
height: 30px;
}
#close {
top: -6px;
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:-42px;
background:#fff;
border-radius:30px;
width: 40px;
height: 40px;
}
#externclose {
top: -26px;
left: -13px;
position: relative;
height:20px;
width:20px;
padding:17px;
font-size:37px;
display:block;
text-decoration:none;
}
.markierterubrik {
background: #CCC7AD;
color: #000 !important;
font-weight:bold;
}
.infolinks a {
font-weight:bold;
}
.infolinks a:visited {
color:#8f0505;
}
#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:#DE0000;
display:none;
vertical-align: middle;
transform: rotate(90deg);
margin: -8px 12px 0 6px;
width: 12px;
float: left;
}
</style>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
$('head').append(cssstring);
// Links umbauen
$('.tab-content .infolinks a').each(function() {
var value = $(this).attr('href');
$(this).attr('url', value);
$(this).attr('href', '');
});
// Datum für Einträge von gestern auf "gestern" umbauen
$('#aktuell .infolinks').each(function() {
var gestern = $(this).text().match(/20[0-9][0-9]\-[0-1][0-9]\-[0-3][0-9]/);
if (gestern != null) {
$(this).html($(this).html().replace(gestern, '<span class="gestern" title="' + gestern + '">gestern</span>'));
$(this).addClass('gestern');
}
});
// von auto auf fixe Position ändern
function AutoZentrierungInMargin() {
$('#wrap').css("position", "absolute");
var left = ($(window).width() - $('#wrap').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="##">✖</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 $('a', letzterubrik).text().replace(/^\s+/g, '');
}
// $('#wrap').on('click', '.infolinks', function(event) {
// KlickSeite(event, this);
// });
// $('#wrap').on('click', '.infolinks a', function(event) {
// KlickSeite(event, this);
// });
// function KlickSeite(event, element) {
$('#wrap').on('click', '.infolinks', function(event) {
event.preventDefault();
if (neu == 0) {
// margin: 0 auto in 0 x umwandeln
$('#wrap').css({"margin-left": AutoZentrierungInMargin()});
$('#wrap').animate({'marginLeft': '0'}, 300);
$('#wrap').prepend('<div id="olframe" style="width:' + Fenstergroesse("60%", "85%") + ';"><div id="dragbar"></div><div id="closeborder"><a id="close" href="##">✖</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?
// alert($('a', this).text() + ' --- ' + $('a', letzterubrik).text());
if ($('a', this).text() != $('a', letzterubrik).text()) {
$(this).addClass('markierterubrik');
MarkiertenBereichAufheben();
}
$('#iframeph').fadeIn(200);
$('#lesefenster').focus();
var url = $('a', 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).html();
rubrikeneintrag = rubrikeneintrag.replace('<span class="label label-important">Neu', '<em class="icon-file"> </em>');
rubrikeneintrag = rubrikeneintrag.replace('</span> ', ' ');
$(letzterubrik).html(rubrikeneintrag);
}
}
$('#wrap').on('click', '#close', function() {
$('#lesefenster').fadeOut(300, function(){ $('#olframe').remove();});
$('#wrap').animate({'marginLeft': AutoZentrierungInMargin()}, 300);
MarkiertenBereichAufheben();
neu = 0;
});
// Breite Rubriken-Overlay ändern
$('#wrap').on('mouseover', '#dragbar', function() {
$('#dragbar').css({"border-right": "3px dashed #666"});
});
$('#wrap').on('mouseout', '#dragbar', function() {
$('#dragbar').css({"border-right": "none"});
});
var i = 0;
var dragging = false;
$(document).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;
$(document).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
// Neuladen Button
function AktualisierungsButtonanzeigen() {
$('#aktuell').prepend('<div id="rubrikenaktualisieren"><div title="Neue Inhalte vorhanden" id="neueinhaltesymbol">🔃 </div><a id="aktualisieren" class="bodyText_fett" href="##">Rubriken aktualisieren <span id="autoaktualisierungscd" title="Minuten bis zur automatischen Hintergrundüberprüfung"></span>»</a></div>');
}
AktualisierungsButtonanzeigen();
// RSS-Feed manuell lesen
$('#aktuell').on('click', '#aktualisieren', function(event) {
event.preventDefault();
var datum = new Date();
var infolinks = '';
$('#aktuell').animate({'opacity': '0.01'}, 100, function() {
$.get('https://hartgeld.com/index.php', function(data) {
var $xml = $(data);
$xml.find("#aktuell .infolinks").each(function() {
var $this = $(this),
item = {
title: $this.find("a").text(),
link: $this.find("a").attr('href'),
hour: $this.text().match(/([0-2][0-9])\:([0-5][0-9])/)[1],
minute: $this.text().match(/([0-2][0-9])\:([0-5][0-9])/)[2],
yesterday: $this.text().match(/20[0-9][0-9]\-[0-1][0-9]\-[0-3][0-9]/),
}
var zeit = parseInt(item.hour) * 60 + parseInt(item.minute);
if ((zeit > neuestezeit) && (!item.yesterday)) {
infolinks += '<p class="infolinks"><span class="label label-important">Neu ' + item.hour + ':' + item.minute + '</span> <a url="' + item.link + '" href="" title="' + item.link + '" url="' + item.link + '">' + item.title + '</a></p>';
} else if (item.yesterday) {
infolinks += '<p class="infolinks gestern"><em class="icon-file"> </em> <span class="gestern" title="' + item.yesterday + '">gestern</span> ' + item.hour + ':' + item.minute + '<a href="" title="' + item.link + '" url="' + item.link + '"> ' + item.title + '</a></p>';
} else {
infolinks += '<p class="infolinks"><em class="icon-file"> </em> ' + item.hour + ':' + item.minute + '<a href="" title="' + item.link + '" url="' + item.link + '"> ' + item.title + '</a></p>';
}
});
$('#aktuell').empty();
$('#aktuell').prepend(infolinks);
$('#aktuell').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: 'https://hartgeld.com/index.php',
success: function(data) {
var datum = new Date();
var $xml = $(data);
var ersteselement = $xml.find("#aktuell .infolinks").first();
var item = {
hour: $(ersteselement).text().match(/([0-2][0-9])\:([0-5][0-9])/)[1],
minute: $(ersteselement).text().match(/([0-2][0-9])\:([0-5][0-9])/)[2],
yesterday: $(ersteselement).text().match(/20[0-9][0-9]\-[0-1][0-9]\-[0-3][0-9]/),
}
var zeit = parseInt(item.hour) * 60 + parseInt(item.minute);
var zeitstring = $('#aktuell 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() {
$('#aktuell p a').each(function() {
var letzte_r = $('a', letzterubrik).text().replace(/^\s+/g, '');
if ($(this).text().replace(/^\s+/g, '') == letzte_r) {
letzterubrik = $(this).parent();
$(this).parent().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 = $('#aktuell 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 != '#aktuell') {
$('#aktuell').css("display", "none");
} else {
$('#aktuell').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) {
.item-page {
// max-width:400px;
}
}
body {
padding: 0;
}
#content .moduletable,
#sidebar-2 .moduletable,
#top,
.footer,
#wrap #main #sidebar-2,
.werbebox2,
#header,
#content-top,
.back-to-top,
#copy,
#bottom
{
display:none !important;
}
#wrap {
width:100%;
max-width:100% !important;
}
.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;
}
#wrap {
margin:5px 0 0;
max-width: 650px;
}
.header-fixed,
.werbebox3 p {
display: none;
}
hr {
margin: 50px 0;
border:none;
}
#main {
margin-top: 0px !important;
}
.col-md-4 {
float:left;
}
.btn-group a {
font-size:12px;
}
p a {
padding-left: 20px;
}
.bodyText_fett_gruen {
background: #5a5;
color: #fff;
padding: 2px 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:0px 8px 0px;
background: #CCC7AD;
color: #fff;
}
.alteinhalte .tagesdatum,
.alteinhalte .cdate,
.tagesdatum .bodyText_fett_blau {
color: #000;
}
.datumheute {
background: #DE0000;
background: #4e93b6;
}
.datumheute .cdate,
.datumheute .bodyText_fett_blau {
color:#fff;
padding: 0 5px 0 0;
}
.cdate {
color:#fff;
}
.leerzeile {
margin-bottom: 15px;
width:100%;
height:1px;
}
.blase {
visibility: hidden;
display: none;
text-decoration:none !important;
font-size: 20px;
position: relative;
left:3px;
top:2px;
z-index:10;
transition-property: visibility, opacity;
transition-duration: 0.2s;
transition-delay: 0.5s;
transition-timing-function: ease;
color:#fff !important;
text-shadow: 0 -1px #333, 1px 0 #333, 0 1px #333, -1px 0 #333;
line-height: 1px;
padding-left: 0;
opacity:0;
}
.blasehover {
transition-delay: 0.7s;
transition-duration: 0.5s;
opacity:1;
top: px;
visibility: visible;
display:inline;
}
.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: 0px 0px 10px 1px rgba(158,158,158,1);
border-radius:3px;
position: absolute;
padding: 0px 6px 0px;
background: #ebe8dd;
color: #000;
z-index:1000;
}
.kommentarwe {
background: #eeeeff;
padding: 0px 5px 2px;
}
.bodyText_blau + br,
.bodyText_blau br,
.bodyText_fett br {
// display:none;
}
.alteinhalte {
display:none;
}
#alteinhalteschalter {
display:block;
margin-top: 30px;
margin-bottom: 0px;
text-decoration: none;
background: #CCC7AD;
color: #000;
padding: 0 10px;
}
#alteinhalteschalter:hover {
color: #666;
}
.exneuesfenster {
text-decoration:none !important;
cursor:pointer;
color: #666;
padding-left:0;
font-weight:bold;
}
.exneuesfenster:visited {
color: #999 !important;
}
.pubzeiten {
background: #696552;
color: #FFF;
display: inline-block;
padding: 2px 5px 2px;
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
$('#main-box').prepend('<a title="Diesen Absatz kommentieren" id="mailsenden" href="##">💬</a>');
// URLoverlay
$('#main-box').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() == '') {
if (!$(this).find('img')) {
$(this).remove();
}
} else {
// Links ohne href korrigieren
if (typeof($(this).attr('href')) === 'undefined') {
$(this).attr('href', $(this).text());
}
// Nur SSL-Link als Overlay anzeigen, andere gehen nicht weil HG selbst https -> neuen Tab:
var link = $(this).attr('href').split('//');
if (link[0] == 'https:') {
// Linkklasse setzen
$(this).addClass('extern');
$(this).after(' <a target="_blank" class="exneuesfenster" title="Link in neuem Fenster öffnen">❭❭❭</a>');
} else {
$(this).attr('target', '_extern');
}
$(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> /, ''));
});
// 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() {
$(klasse + ' p.bodyText_fett_blau .cdate, ' + klasse + ' p.bodytext_fett_blau .cdate, ' + klasse + ' .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">💬</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').hide('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) {
$('.item-page div').addClass('aktuelleinhalte');
// Ältere Inhalte ausblenden
var endeaktuell = $('.aktuelleinhalte hr').first();
if (endeaktuell.length > 0) {
$(endeaktuell).before('<a id="alteinhalteschalter" class="bodyText_fett" href="##">Ausgeblendete Inhalte anzeigen »</a>');
$('.aktuelleinhalte').after('<div class="alteinhalte"></div>');
$(endeaktuell).nextAll().each(function() {
$('.alteinhalte').append(this);
});
$('.alteinhalte').prepend(endeaktuell);
// Nach Klick ältere Inhalte anzeigen
$('.aktuelleinhalte').on('click', '#alteinhalteschalter', function(event) {
event.preventDefault();
$('#alteinhalteschalter').css({"display": "none"});
BearbeiteElemente('.alteinhalte');
$('.alteinhalte').slideDown('slow');
});
}
// Neuesten Tag bearbeiten
BearbeiteElemente('.aktuelleinhalte');
}
// Textmarkierungs-Mailzitat Events
$('.item-page').on('mouseup', function(event) {
var temp = document.getSelection().toString();
if (temp != '') {
mtext = temp;
$('#mailsenden').css({
left: event.pageX+15,
top: event.pageY-35
}).show('fast');
}
});
// Auf Blase des markierten Texts geklickt
$('#mailsenden').on('mousedown', function(event) {
if (event.target.id == 'mailsenden') {
Mailinhalt(mtext, 0);
event.preventDefault();
}
SchliessePopup();
});
// Woanders geklickt, als markiert war
$('.item-page').on('mousedown', function(event) {
$('#mailsenden').hide('fast');
});
// 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 + 22
// 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(event) {
var position = $(this).position();
$('#mailsenden').css({
top: position.top-10,
left: event.pageX+20
// top: event.pageY-40,
// left: event.pageX-50
}).show();
// $(this).children('.blase').toggleClass('blasehover');
});
$('.item-page').on('mouseleave', '.kommentarhover', function() {
$('#mailsenden').hide('fast');
// $(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));