// ==UserScript==
// @name HG-Optimierung
// @namespace hgtools
// @include http://www.hartgeld.com/*
// @version 1.14
// @grant none
// @description Vereinfachte Navigation auf Hartgeld.com
// ==/UserScript==
(function () {
///////////////////////////////////////////////////////////////////////////////////
// Startseite
if (self == top) {
// CSS
var cssstring = (function () {/*
<style>
#olframe {
display:none;
height:100%;
position:fixed;
top:0;
right:0;
z-index:10000;
}
#dragbar {
position: absolute;
left: -12px;
height:100%;
width:10px;
cursor: col-resize;
}
#closeborder {
border: 1px solid #666;
opacity: 0.8;
float:left;
position: absolute;
left:-35px;
background:#fff;
border-radius:25px;
}
#close {
top: 0px;
left: -2px;
position: relative;
height:20px;
width:20px;
padding:6px;
font-size:30px;
display:block;
text-decoration:none;
}
#lesefenster,
#iframeph {
box-shadow: -10px 10px 13px -3px rgba(158,158,158,1);
width:100%;
height:100%;
background:#fff;
overflow:auto;
border:none;
}
#iframeph {
box-shadow: none;
position:absolute;
display:none;
}
.markierterubrik {
background: #f6b400;
color: #333 !important;
padding: 0px 4px;
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);};
}
</style>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
$('head').append(cssstring);
var neu = 0;
var letzterubrik;
// Links umbauen
$('.tab-content a').each(function() {
var value = $(this).attr('href');
$(this).attr('url', value);
$(this).attr('href', 'javascript:return false;');
});
// 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;
}
$(".tab-content a").click(function() {
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() + ';"><div id="dragbar"></div><div id="closeborder"><a id="close" href="javascript:return false;">✖</a></div><div id="iframeph"><img id="wartebild" src="http://www.hartgeld.com/images/seiten/Logo-HG_kl.jpg"></div><iframe id="lesefenster" ></iframe></div>');
$('#olframe').fadeIn(300);
}
$(this).toggleClass('markierterubrik');
MarkiertenBereichAufheben();
$('#iframeph').fadeIn(300);
var url = $(this).attr("url");
$('#lesefenster').attr("src", url);
letzterubrik = $(this);
neu = 1;
});
function MarkiertenBereichAufheben() {
if (neu) {
$(letzterubrik).toggleClass('markierterubrik');
}
}
$('.container-fluid').on('click', '#close', function() {
$('#lesefenster').fadeOut(300, function(){ $('#olframe').remove();});
$('.container-fluid').animate({'marginLeft': AutoZentrierungInMargin()}, 300);
MarkiertenBereichAufheben();
neu = 0;
});
// Wenn iframe geladen wurde, iframe-Ladeseite ausblenden
var script = document.createElement("script");
script.type = "text/javascript";
script.text = "function IframeGeladen() { \
$('#iframeph').fadeOut(300); \
}";
document.head.appendChild(script);
// Breite 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) {
$("#olframe").css({"width": Fenstergroesse(), "right": "0", "left": "unset"});
});
function Fenstergroesse() {
var breite = '70%';
if ($(window).width() > 1600) {
breite = '50%';
}
return breite;
}
}
///////////////////////////////////////////////////////////////////////////////////
// Inhaltsseite
else {
// CSS
var cssstring = (function () {/*
<style>
.header-fixed,
.werbebox3 p {
display: none;
}
hr {
margin-top: 50px;
border-bottom: 1px solid #bbb;
border-top: none;
}
.bodyText_fett,
.bodyText strong {
}
#main {
margin-top: 10px;
}
.bodyText_fett_blau {
display: inline !important;
background: #44e;
color: #fff;
border-radius: 3px;
}
.bodyText_fett_blau::after,
.bodyText_fett_blau::before {
content: '\00a0';
line-height: 25px;
}
.blase {
display: inline;
text-decoration:none !important;
font-size: 20px;
position: relative;
top: -20px;
left:3px;
z-index:10;
transition-property: all;
transition-duration: 0.2s;
transition-timing-function: ease;
opacity:0;
color:#fff;
text-shadow: 0 -1px #333, 1px 0 #333, 0 1px #333, -1px 0 #333;
}
.blasehover {
opacity:1;
top: 3px;
}
#message {
display:none;
position: absolute;
padding: 5px 10px 10px;
}
#mailsenden {
color:#869CF5;
font-size: 30px;
text-decoration:none;
}
#mailsenden:hover {
color: #03f;
}
#urloverlay {
display:none;
box-shadow: -5px 5px 10px -3px rgba(158,158,158,1);
border-radius:3px;
position: absolute;
padding: 1px 5px 3px;
background: #f6b400;
color: #333;
font-weight: bold;
z-index:1000;
}
.kommentarwe {
// color:#EF079A;
background: #eeeeff;
display: block;
padding: 0px 5px 2px;
}
.bodyText_blau + br + .bodyText_blau::before {
padding-top:10px;
content: "";
display:block;
}
.bodyText_blau + br,
.bodyText_blau br,
.bodyText_fett br {
display:none;
}
#alteinhalte {
display:none;
}
#alteinhalteschalter {
display:block;
font-weight: bold;
margin-top: 50px;
}
</style>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
$('head').append(cssstring);
var mtext = '';
// Mailoverlay
$(".artikel").prepend('<div id="message"><a title="Diesen Absatz kommentieren" id="mailsenden" href="javascript:return false;">💬</a></div>');
// URLoverlay
$(".artikel").prepend('<div id="urloverlay"></div>');
// Textmarkierungs-Mailzitat
$('.artikel').mouseup(function(event) {
var temp = document.getSelection().toString();
if (temp != '') {
mtext = temp;
$("#message").css({
top: event.pageY+5,
left: event.pageX+15
}).slideDown("fast");
}
});
$(".artikel").mousedown(function(event) {
if (event.target.id == 'mailsenden') {
var seite = window.location.href.split('/');
mtext = Textkuerzen(mtext);
window.location.href = "mailto:[email protected]?subject=Neuer Leserkommentar zu Seite " + seite[3] + "&body=Sehr geehrtes Hartgeld-Team,%0A%0Azu folgendem Eintrag auf der Seite " + seite[3] + " möchte ich gerne wie untenstehend kommentieren:%0A%0A%0AIhr Eintrag:%0A" + encodeURIComponent(mtext) + "%0A%0A%0AMein Kommentar dazu:%0A%0A";
}
SchliessePopup();
});
function SchliessePopup() {
$('#message').slideUp("fast");
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else if (document.selection) {
document.selection.empty();
}
}
function Textkuerzen(text) {
var maxtextlaenge = 500;
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;
}
}
// URL Hover
$(".artikel a").hover(
function(event) {
clearTimeout($(this).data('timeout'));
var ax = document.createElement('a');
ax.href = $(this).attr('href');
$('#urloverlay').text(ax.hostname);
var position = $(this).position();
$("#urloverlay").css({
// top: position.top-25,
// left: position.left
top: event.pageY-40,
left: event.pageX-50
}).show();
},
function() {
var t = setTimeout(function() {
$('#urloverlay').hide();
}, 100);
$(this).data('timeout', t);
}
);
// WE-Kommentare anders färben
// muss vor Kommentar-Sprechblasen kommen
$('.bodyText_blau, .bodyText_fett_blau').each(function() {
var kommentar = $(this).text();
var wekennung = kommentar.indexOf('WE.');
if (wekennung >= 0) {
$(this).addClass("kommentarwe");
}
});
// Auto-Kommentar-Links
// $('.artikel p.bodyText_fett, .artikel p .bodyText_fett, .artikel p .bodyText_fett .bodyText_fett, .artikel p strong, .artikel p.bodyText_blau, .artikel p .bodyText_blau, .artikel p.bodyText_fett_rot, .artikel p .bodyText_fett_rot').each(function() {
$('.artikel p.bodyText_fett, .artikel p .bodyText_fett, .artikel p .bodyText_fett .bodyText_fett, .artikel p strong, .artikel p.bodyText_blau, .artikel p .bodyText_blau, .artikel p.bodyText_fett_rot, .artikel p .bodyText_fett_rot').not('p a + .bodyText_blau').each(function() {
$(this).addClass("kommentarhover");
var seite = window.location.href.split('/');
var text = $(this).text();
text = Textkuerzen(text);
$(this).append('<a title="Diesen Absatz kommentieren" href="mailto:[email protected]?subject=Neuer Leserkommentar zu Seite ' + seite[3] + '&body=Sehr geehrtes Hartgeld-Team,%0A%0Azu folgendem Eintrag auf der Seite ' + seite[3] + ' möchte ich gerne wie untenstehend kommentieren:%0A%0A%0AIhr Eintrag:%0A' + encodeURIComponent(text) + '%0A%0A%0AMein Kommentar dazu:%0A%0A" class="blase">💬</a>');
});
$(".artikel .kommentarhover").hover(
function() {
$(this).children('.blase').toggleClass('blasehover');
},
function() {
$(this).children('.blase').toggleClass('blasehover');
}
);
// Ältere Inhalte ausblenden
var endeaktuell = $("hr").first();
$(endeaktuell).before('<a id="alteinhalteschalter" href="javascript:return false;">Ältere Inhalte anzeigen »</a><div id="alteinhalte"></div>');
$(endeaktuell).nextAll().each(function() {
$('#alteinhalte').append(this);
});
$('#alteinhalte').prepend(endeaktuell);
$(".artikel").on('click', '#alteinhalteschalter', function() {
$("#alteinhalte").slideDown("slow");
$("#alteinhalteschalter").css({"display": "none"});
});
// Datum 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';
var datum = $('.cdate').first();
var datumsteile = datum.text().split('-');
$(datum).text(datumsteile[2].replace(':', '') + '. ' + monate[datumsteile[1]] + ' ' + datumsteile[0])
// 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);
}
}());