Η Μπάγερν δεν είναι σε καλή κατάσταση μετά την κατάκτηση του Παγκοσμίου Κυπέλλου Συλλόγων στο Κατάρ.Σε δεύτερο σερί ματς της Bundesliga, η ομάδα του Χάνσι Φλικ δεν κατάφερε να νικήσει, αντίθετα μετά το 3-3 με την Αρμίνια Μπίλεφελντ την περασμένη εβδομάδα στην «Αλιάνζ Αρένα», σήμερα (20/02) γνώρισε την ήττα στην Φρανκφούρτη από την Αϊντραχτ στο πλαίσιο της 22ης αγωνιστικής του γερμανικού πρωταθλήματος. Αυτό σημαίνει ότι το πρωτάθλημα μπορεί να πάρει τεράστιο ενδιαφέρον εάν την Κυριακή (21/02) η Λειψία περάσει με νίκη από το Ολυμπιακό Στάδιο του Βερολίνου απέναντι στην Χέρτα. Σε αυτή την περίπτωση η ομάδα του Γιούλιαν Νάγκελσμαν θα μειώσει στο -2 από την πρωτοπόρο Μπάγερν, η οποία παρέμεινε στους 49 βαθμούς, πέντε περισσότερους από την Λειψία (44). Τεράστια νίκη στη μάχη που δίνει για την αποφυγή του υποβιβασμού πέτυχε στο «Μπορούσια Παρκ» η Μάιντς με 2-1 επί της Γκλάντμπαχ, ενώ με «διπλά» απέδρασαν από το Φράιμπουργκ και την Κολωνία αντίστοιχα οι Ουνιόν Βερολίνου (1-0) και Στουτγκάρδη (1-0). Τα μέχρι τώρα αποτελέσματα και οι σκόρερ: Αρμίνια Μπίλεφελντ-Βόλφσμπουργκ 0-3 (29΄,47΄ Στέφεν, 55΄ Αρνολντ) Γκλάντμπαχ-Μάιντς 1-2 (26′ Στιντλ-10′ Ονισίβο, 86′ Στέγκερ)Φράιμπουργκ-Ουνιόν Βερολίνου 0-1 (64′ Προμέλ)Αϊντραχτ Φρανκφούρτης-Μπάγερν Μονάχου 2-1 (12′ Καμάντα, 31′ Γιουνές-53′ Λεβαντόφσκι)Κολωνία-Στουτγκάρδη 0-1 (49′ Κάλαϊντζιτς)
');
}
},
error: function() {
// Fallback to admin-ajax if REST API fails
$.ajax({
url: 'https://www.xtesini.gr/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'get_recommendations_carousel',
limit: limit,
nonce: 'ca241b5fa7'
},
success: function(response) {
if (response.success && response.data.html) {
container.html(response.data.html);
initializeCarousel($('#carousel_684da089c3951'));
} else {
container.html('
');
}
}
});
}
});
// Carousel initialization function
function initializeCarousel($wrapper) {
var $container = $wrapper.find(".carousel-container");
var $carousel = $wrapper.find(".related-articles-carousel");
var $items = $wrapper.find(".carousel-item");
var $prevBtn = $wrapper.find(".prev-arrow");
var $nextBtn = $wrapper.find(".next-arrow");
if ($items.length === 0) return;
var itemWidth = $items.first().outerWidth(true);
var visibleItems = Math.floor($container.parent().width() / itemWidth);
var position = 0;
var maxPosition = Math.max(0, $items.length - visibleItems);
// Touch handling variables
var isDragging = false;
var startX = 0;
var startY = 0;
var currentX = 0;
var currentTranslate = 0;
var startTranslate = 0;
var threshold = 10;
var isScrolling = null;
// Hide prev button initially
$prevBtn.css("opacity", "0.5");
// Navigation
$nextBtn.click(function() {
if (position < maxPosition) {
position++;
updatePosition();
}
});
$prevBtn.click(function() {
if (position > 0) {
position--;
updatePosition();
}
});
// Touch support
$carousel.on("touchstart", function(e) {
var touch = e.originalEvent.touches[0];
startX = touch.clientX;
startY = touch.clientY;
isDragging = true;
isScrolling = null;
var transform = $container.css("transform");
var matrix = transform.replace(/[^0-9,.\-]/g, "").split(",");
startTranslate = currentTranslate = matrix[4] ? parseInt(matrix[4]) : 0;
$container.css("transition", "none");
});
$carousel.on("touchmove", function(e) {
if (!isDragging) return;
var touch = e.originalEvent.touches[0];
var deltaX = touch.clientX - startX;
var deltaY = touch.clientY - startY;
if (isScrolling === null) {
if (Math.abs(deltaX) > threshold || Math.abs(deltaY) > threshold) {
isScrolling = Math.abs(deltaY) > Math.abs(deltaX) * 0.7;
}
}
if (isScrolling === true) {
isDragging = false;
$container.css("transition", "transform 0.3s ease");
return;
}
if (isScrolling === false) {
e.preventDefault();
currentX = deltaX;
var newTranslate = startTranslate + deltaX;
var minTranslate = -maxPosition * itemWidth;
var maxTranslate = 0;
if (newTranslate > maxTranslate) {
newTranslate = maxTranslate + (newTranslate - maxTranslate) * 0.3;
} else if (newTranslate < minTranslate) {
newTranslate = minTranslate + (newTranslate - minTranslate) * 0.3;
}
$container.css("transform", "translateX(" + newTranslate + "px)");
}
});
$carousel.on("touchend", function(e) {
if (!isDragging || isScrolling === true) return;
isDragging = false;
$container.css("transition", "transform 0.3s ease");
var prevPosition = position;
if (Math.abs(currentX) > itemWidth * 0.25) {
if (currentX > 0 && position > 0) {
position--;
} else if (currentX < 0 && position < maxPosition) {
position++;
}
}
if (position !== prevPosition && window.RecommendationTracker) {
var action = position > prevPosition ? 'next' : 'prev';
window.RecommendationTracker.trackCarouselInteraction(action);
}
updatePosition();
isScrolling = null;
currentX = 0;
});
function updatePosition() {
var translateX = -position * itemWidth;
currentTranslate = translateX;
$container.css({
"transition": "transform 0.3s ease",
"transform": "translateX(" + translateX + "px)"
});
$prevBtn.css("opacity", position <= 0 ? "0.5" : "1");
$nextBtn.css("opacity", position >= maxPosition ? "0.5" : "1");
}
// Responsive
$(window).on("resize", function() {
itemWidth = $items.first().outerWidth(true);
visibleItems = Math.floor($container.parent().width() / itemWidth);
maxPosition = Math.max(0, $items.length - visibleItems);
if (position > maxPosition) {
position = maxPosition;
}
updatePosition();
});
updatePosition();
}
});