1/* 2 3 ID für Hide on Scroll / Show on Scroll: 4 5 #divibar-6240 6 7*/ 8 9 10//custom Code by Lupoly 11 12var scrollBorder = 10; 13//var $el, $elcomp, compDist, vw, productSlider; 14var $el; 15var $elcomp; 16var existsCheck = false; 17var compDist; 18var width = 0; 19var height = 0; 20var startScrollAt = 100 + scrollBorder; 21var vw; 22var isTop = true; 23var endScrollSpeed = 0; 24var productSlider; 25var isPressed = false; 26var mouseX = 0; 27var productSliderItems; 28var accordionCurrentItem; 29 30 31jQuery(document).ready(function(){ 32 33//console.log("Document ready"); 34 35 //Exists Check 36 //Deprecated? 37 38 existsCheck = jQuery(".rpp-products-fixed")[0] ? true : false; 39 console.log("existsCheck: " + existsCheck); 40 41 if (existsCheck) { 42 $el = jQuery('.rpp-products-fixed'); 43 $elcomp = jQuery('.rpp-sticky-compare'); 44 } 45 46 vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0); 47 48 //console.log(vw); 49 50 //Check Amazon Books 51 if (document.getElementById("rpp-books-area")) { 52 if (!jQuery(".rpp-speaker--main")[0]){ 53 document.getElementById("rpp-books-area").style.display = "none"; 54 } 55 } 56 57 if (document.getElementById("rpp-products-area")) { 58 if (!jQuery(".rpp_woo_productlist_main")[0]){ 59 document.getElementById("rpp-products-area").style.display = "none"; 60 } 61 } 62 63 //Check Product accordion 64 if (document.getElementsByClassName("rpp_woo_pricing_accordion_headline")[0]) { 65 //console.log("found Accordion"); 66 var targetTags = document.getElementsByTagName("h4"); 67 var found; 68 69 for (var i = 0; i < targetTags.length; i++) { 70 if (targetTags[i].textContent == "RPP ABO") { 71 found = targetTags[i].parentElement; 72 //Code loaded before Page was ready. Delay 1s to give Page Time 73 accordionCurrentItem = found; 74 accordionClicker(found); 75 //console.log(found); 76 break; 77 } 78 } 79 if (found == null) { 80 accordionCurrentItem = document.getElementsByClassName("rpp_woo_pricing_accordion_headline")[0]; 81 accordionClicker(document.getElementsByClassName("rpp_woo_pricing_accordion_headline")[0]); 82 } 83 84 var intervalId = window.setInterval(function() { 85 accordionClicker(accordionCurrentItem); 86 }, 1000); 87 } 88 89 90 if (document.getElementById("rpp_product_productslider")) { 91 productSliderItems = document.getElementsByClassName("rpp_content_col_slider"); 92 //if (!MobileDeviceCheck()) { 93 //if it is mobile 94 //} 95 96 productSlider = document.getElementsByClassName("rpp-product--overview")[0]; 97 var productSliderItem = document.getElementsByClassName("rpp_woo_productlist_main"); 98 isPressed = false; 99 var startX; 100 var scrollLeft; 101 102 103 SetProductSliderSize(); 104 105 106 107 //Add Functionality to Slider 108 productSlider.addEventListener('mousedown', (e) => { 109 isPressed = true; 110 isTouched = true; 111 startX = e.pageX - productSlider.offsetLeft; 112 scrollLeft = productSlider.scrollLeft; 113 }); 114 productSlider.addEventListener('mouseleave', () => { 115 isPressed = false; 116 isTouched = false; 117 sliderAutoRun = true; 118 }); 119 productSlider.addEventListener('mouseenter', () => { 120 sliderAutoRun = false; 121 }); 122 productSlider.addEventListener('mouseup', () => { 123 isPressed = false; 124 isTouched = false; 125 endScrollSpeed = differenceInPx * 1.5; 126 if (endScrollSpeed < 0) {sliderMoveRight = true;} 127 else if (endScrollSpeed > 0) {sliderMoveRight = false;} 128 }); 129 productSlider.addEventListener('mousemove', (e) => { 130 if(!isPressed) return; 131 e.preventDefault(); 132 const x = e.pageX - productSlider.offsetLeft; 133 const walk = (x - startX) * 1; //Scroll Speed Multiplier 134 productSlider.scrollLeft = scrollLeft - walk; 135 }); 136 137 //Mobile Logic 138 productSlider.addEventListener('touchstart', () => { 139 isTouched = true; 140 }); 141 productSlider.addEventListener('touchend', () => { 142 isTouched = false; 143 }); 144 productSlider.addEventListener('touchcancel', () => { 145 isTouched = false; 146 }); 147 148 for (let item of productSliderItem) { 149 150 let clickStart; 151 let mouseClickPosX = 0; 152 let mouseClickPosY = 0; 153 154 item.addEventListener('mousedown', (e) => { 155 clickstart = new Date(); 156 mouseClickPosX = window.event.screenX; 157 mouseClickPosY = window.event.screenY; 158 //console.log(window.event.screenX + " " + window.event.screenY); 159 }); 160 161 item.addEventListener('mouseup', () => { 162 var dif = new Date() - clickstart; 163 //console.log(window.event.screenX + " " + window.event.screenY); 164 //console.log(Math.abs(mouseClickPosX - window.event.screenX) + " " + Math.abs(mouseClickPosY - window.event.screenY)); 165 if ((Math.abs(mouseClickPosX - window.event.screenX) < 10) && (Math.abs(mouseClickPosY - window.event.screenY) < 10) && dif < 1000) { 166 window.location.href = item.getAttribute("data-link"); 167 } 168 }); 169 170 var lastResizeTime = new Date(); 171 window.addEventListener('resize', () => { 172 if ((new Date() - lastResizeTime) > 500) { 173 SetProductSliderSize(); 174 lastResizeTime = new Date(); 175 } 176 }); 177 178 } 179 180 //start AnimateProductSliderFade 181 if (!MobileDeviceCheck()) { 182 setInterval(() => { 183 AnimateProductSliderFade(); 184 }, 1000/60); 185 186 setInterval(() => { 187 ProductSliderAutoScroll(); 188 }, 1000/50); 189 } else { 190 setInterval(() => { 191 ProductSliderAutoScrollMobile(); 192 }, 1000/30); 193 } 194 195 196 197 198 //start Cursor check 199 200 jQuery(document).mousemove(function(event) { 201 mouseX = event.pageX; 202 }); 203 204 205 } 206 207 208 if (document.getElementById("rpp_woo_productdescription")) { 209 var sectionText = jQuery("#rpp_woo_productdescription_text div p:first").text(); 210 if (sectionText == "") { 211 jQuery("#rpp_woo_productdescription").hide(); 212 jQuery("#rpp_woo_lektionen").css('margin-top',0).css('z-index', 3000); 213 } 214 } 215 216}); 217 218//OnScroll Function do determin Distance to top 219jQuery(window).scroll(function(e){ 220 if (existsCheck) { 221 var isPositionFixed = ($el.css('position') == 'fixed'); 222 223 if (GetDistance() <= startScrollAt && !isPositionFixed){ 224 width = document.getElementsByClassName("rpp-products-fixed")[0].offsetWidth; 225 $el.css({'position': 'fixed', 'top': startScrollAt + 'px', 'width': width + 'px'}); 226 isPositionFixed == true; 227 } 228 compDist = jQuery($elcomp).offset().top - jQuery(window).scrollTop(); 229 var mdist = jQuery($el).offset().top - jQuery(window).scrollTop(); 230 if (GetDistance() < compDist && isPositionFixed){ 231 $el.css({'position': 'static', 'top': '0px'}); 232 isPositionFixed = false;
233 } 234 } 235 236 237 BlendMobileMenu(); 238 239}); 240 241//Distance Calculator 242function GetDistance() { 243 var scrollTop = jQuery(window).scrollTop(), 244 elementOffset = jQuery($el).offset().top, 245 distance = (elementOffset - scrollTop); 246 247 return distance; 248} 249 250//Menu Transition / Blend Function 251function BlendMobileMenu() { 252 vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0); 253 if (vw <= 980) { 254 if (jQuery(window).scrollTop() >= 100 ) //&& isTop 255 { 256 document.getElementById("main-header").style.backgroundColor = "rgba(0,0,0,0.8)"; 257 isTop = false; 258 } 259 else if (jQuery(window).scrollTop() < 100 ) //&& !isTop 260 { 261 document.getElementById("main-header").style.backgroundColor = "rgba(0,0,0,0)"; 262 isTop = true; 263 } 264 } 265} 266 267 268jQuery(document).ready(function() { 269 //Catch Accordion Clicks 270 jQuery(".rpp_woo_pricing_accordion_headline").click(function(){ 271 accordionCurrentItem = this; 272 accordionClicker(this); 273 //console.log("Click"); 274 }); 275}); 276 277function accordionClicker(thisElement) { 278 var acc = document.getElementsByClassName("rpp_woo_pricing_accordion_headline"); 279 //deactivate all accordion items 280 for (var i = 0; i < acc.length; i++) { 281 acc[i].classList.remove("active"); 282 acc[i].classList.add("inactive"); 283 //Set maxHeight in next Element 284 acc[i].nextElementSibling.style.maxHeight = "0px"; 285 } 286 //activate clicked accordion item 287 thisElement.classList.add("active"); 288 thisElement.classList.remove("inactive"); 289 thisElement.nextElementSibling.style.maxHeight = thisElement.nextElementSibling.scrollHeight + "px"; 290} 291 292 293//Animation for Product Slider 294 295var lastMousePost = 0; 296var differenceInPx = 0; 297 298function AnimateProductSliderFade() { 299 if (isPressed) { 300 differenceInPx = mouseX - lastMousePost; 301 lastMousePost = mouseX; 302 } 303 if (endScrollSpeed == 0 || isPressed == true) { return; } 304 305 //Scroll Fade Out Effect 306 if (endScrollSpeed > 0) { 307 if (endScrollSpeed > 100) {endScrollSpeed = 100;} 308 else if (endScrollSpeed > 10) {endScrollSpeed = endScrollSpeed * .95;} 309 else if (endScrollSpeed > 0) {endScrollSpeed = endScrollSpeed - 0.4;} 310 if (endScrollSpeed < 0) {endScrollSpeed = 0;} 311 } 312 313 if (endScrollSpeed < 0) { 314 if (endScrollSpeed < -100) {endScrollSpeed = -100;} 315 else if (endScrollSpeed < -10) {endScrollSpeed = endScrollSpeed * .95;} 316 else if (endScrollSpeed < 0) {endScrollSpeed = endScrollSpeed + 0.25;} 317 if (endScrollSpeed > 0) {endScrollSpeed = 0;} 318 } 319 productSlider.scrollLeft = productSlider.scrollLeft - endScrollSpeed; 320 //End Scroll Fade Out Effect 321 322} 323 324 325 326function MobileDeviceCheck() { 327 let check = false; 328 (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
328sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera); 329 return check; 330}; 331 332function SetProductSliderSize() { 333 var browserWidth = window.innerWidth; 334 productSliderItems = document.getElementsByClassName("rpp_content_col_slider"); 335 for (let item of productSliderItems) { 336 item.style.width = (browserWidth > 980) ? "400px" : (browserWidth * 0.95) + "px"; 337 } 338 jQuery("#rpp_product_productslider").width(((productSliderItems[0].offsetWidth + 30) * productSliderItems.length) + 500); 339 340 sliderWidthCurrent = jQuery("#rpp_product_productslider").width(); 341 342 //console.log("Element width: " + jQuery("#rpp_product_productslider").width()); 343} 344 345var sliderMoveRight = true; 346var scrollpercent = 0; 347var sliderAutoRun = true; 348 349function ProductSliderAutoScroll() { 350 if (isPressed == true || sliderAutoRun == false) { return; } 351 //productSliderItems 352 //productSlider.offsetLeft 353 scrollpercent = 100 * productSlider.scrollLeft / (productSlider.scrollWidth-productSlider.clientWidth); 354 355 if (sliderMoveRight) { 356 productSlider.scrollLeft = productSlider.scrollLeft + 1; 357 if (scrollpercent >= 99.8) {sliderMoveRight = false;} 358 } else { 359 productSlider.scrollLeft = productSlider.scrollLeft - 1; 360 if (scrollpercent <= 0.2) {sliderMoveRight = true;} 361 } 362 363} 364 365var isTouched = false; 366var lastTouched = new Date(); 367var pauseAfterTouched = 0; 368 369function ProductSliderAutoScrollMobile() { 370 if (isTouched == true) { 371 lastTouched = new Date(); 372 sliderAutoRun = false; 373 } else if (sliderAutoRun == false) { 374 pauseAfterTouched = new Date() - lastTouched; 375 sliderAutoRun = (pauseAfterTouched>5000) ? true : false; 376 } 377 if (sliderAutoRun) { 378 scrollpercent = 100 * productSlider.scrollLeft / (productSlider.scrollWidth-productSlider.clientWidth); 379 if (sliderMoveRight) { 380 productSlider.scrollLeft = productSlider.scrollLeft + 1; 381 if (scrollpercent >= 99.8) {sliderMoveRight = false;} 382 } else { 383 productSlider.scrollLeft = productSlider.scrollLeft - 1; 384 if (scrollpercent <= 0.2) {sliderMoveRight = true;} 385 } 386 } 387 388} 389 390 391//Hide Bio if empty 392 393jQuery(document).ready(function() { 394 console.log("Checking for empty Bio!"); 395 if (!bioHasContent("#rpp-speaker-bio")) { 396 jQuery("#rpp-speaker-bio-section").hide(); 397 } 398}); 399 400function bioHasContent(element) { 401 let content = jQuery(element).text().replace(/\s/g,'').replace(/\r?\n|\r/g,''); 402 console.log("Content: " + content); 403 return (content == "" ? false : true); 404}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.