function replace_id(elem,prefix) {
if(elem.attr('id')) { elem.attr('id', "fixnav_"+elem.attr('id')); }
elem.children().each(function() {
if($(this).attr('id')) {
$(this).attr('id', prefix+$(this).attr('id'));
}
$(this).children().each(function() {
replace_id($(this), prefix);
})
})
}
$(document).ready(function() {
var clone = $("#header_wrapper").clone();
clone.addClass("fixnav");
replace_id(clone, 'fixnav_');
$('#wrapper').prepend(clone);
if($(document).scrollTop()>=250) {
clone.addClass("visible");
}
$(document).scroll(function() {
if($(document).scrollTop()>=250) {
clone.addClass("visible");
}
else {
clone.removeClass("visible");
}
});
$("#fixnav_topnav > li").hover(function() { //1. Unterebene
var browserwidth = $( window ).width();
var ul = $(" > ul", this);
//console.log(ul);
//ul.css("border", "1px solid green");
//console.log(browserwidth);
if(ul.length>0) { //Nur wenn es Untermenüs gibt
posleft = ul.offset().left;
width = ul.outerWidth(true);
diff = browserwidth - (posleft + width);
//console.log(diff);
if(diff<0) { //Wenn es über den Tellerrand hinausschaut -> zurück in die Schranken weisen
//console.log("VERSCHIEBEN nach links");
ul.css("position", "absolute");
ul.css("right", "0px");
ul.css("z-index", "100");
}
else { //Wieder zurück, wenn Fenster zwischenzeitlich größer
ul.css("right", "unset");
ul.css("z-index", "unset");
}
}
});
$("#fixnav_topnav > li > ul > li").hover(function() { //2. Unterebene
var browserwidth = $( window ).width();
var ul = $(" > ul", this);
//console.log(ul);
//ul.css("border", "1px solid green");
if(ul.length>0) { //Nur wenn Untermenüs da sind
var pos = ul.offset();
if(pos) {
var left = pos.left;
var width = $(" > ul", this).width();
var right = left+width;
//console.log(left + "----" + right);
if(right>browserwidth) { //Wenn es über den Tellerrand hinausschaut -> zurück in die Schranken weisen
ul.css("position", "absolute");
ul.css("left", "-"+width+"px");
ul.css("z-index", "100");
}
}
}
});
$("#fixnav_topnav > li > ul > li > ul > li").hover(function() { //3. Unterebene
var browserwidth = $( window ).width();
var ul = $(" > ul", this);
//console.log(ul);
//ul.css("border", "1px solid green");
if(ul.length>0) { //Nur wenn Untermenüs da sind
var pos = ul.offset();
if(pos) {
var left = pos.left;
var width = $(" > ul", this).width();
var right = left+width;
//console.log(left + "----" + right);
if(right>browserwidth) { //Wenn es über den Tellerrand hinausschaut -> zurück in die Schranken weisen
ul.css("position", "absolute");
ul.css("left", "-"+width+"px");
ul.css("z-index", "100");
}
}
}
});
$("#fixnav_topnav > li > ul > li > ul > li > ul > li").hover(function() { //4. Unterebene
var browserwidth = $( window ).width();
var ul = $(" > ul", this);
//console.log(ul);
//ul.css("border", "1px solid green");
if(ul.length>0) { //Nur wenn Untermenüs da sind
var pos = ul.offset();
if(pos) {
var left = pos.left;
var width = $(" > ul", this).width();
var right = left+width;
//console.log(left + "----" + right);
if(right>browserwidth) { //Wenn es über den Tellerrand hinausschaut -> zurück in die Schranken weisen
ul.css("position", "absolute");
ul.css("left", "-"+width+"px");
ul.css("z-index", "100");
}
}
}
});
});