CHAT

Commercial Truck Rental Made Easy

One of the Best Maintained Fleets in the Industry

See the reasons why Penske is the place to start when looking for a truck rental.

2,500
Commercial rental
facilities
11,500
Trained
technicians
100,000+
Commercial rental
vehicles

Meet the Full Lineup

Our extensive fleet is filled with some of the newest trucks on the road.

View Rental Trucks
Yellow Penske truck driving through a tunnel

New Customers Save 20%

Enjoy 20% off your first business rental for up to 30 days. Call 1-844-906-3404 and mention the New Customer Discount to get started.

Start Saving Now

Light-Duty
Solutions

Dependable and convenient options to keep your fleet moving.

Learn More
Services for Your Commercial Business
Driver App
Penske Driver App

Save time by giving your drivers the ability to submit fuel receipts, search for fuel locations and more with the Penske Driver app, available for Apple or Android.

Penske Employee
National Rental Accounts

Get great rates, consolidated billing and easy drop-off and pickup with a National Rental Account.

Coverage
Coverage

Lots of options and expert help choosing what's right.

Explore Our Latest Articles
}); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ const canadaDropoffIcon = document.querySelector( ".rental-widget-form i.canadian-dropoff-element" ); const canadaDropoffAlert = document.querySelector( ".rental-widget-form .canadian-dropoff" ); function onOutsideClick(event) { if ( event.type !== "mouseleave" && ( event.target == canadaDropoffIcon || event.target == canadaDropoffAlert || event.target.closest(".rental-widget-form .canadian-dropoff") ) ) { return; } canadaDropoffAlert.classList.add("hidden"); document.removeEventListener("click", onOutsideClick, { passive: true }); canadaDropoffIcon.removeEventListener("mouseleave", onOutsideClick); } function onDropoffIconClick() { canadaDropoffAlert.classList.remove("hidden"); document.addEventListener("click", onOutsideClick, { passive: true }); canadaDropoffIcon.addEventListener("mouseleave", onOutsideClick); } canadaDropoffIcon.addEventListener("click", onDropoffIconClick, { passive: true, }); //Change placeholder value for inputs in Topbar // Function to update the placeholder based on screen size function updateTopbarValues() { let widget_TB = document.querySelector('.top-promo .rental-widget-container'); if (widget_TB) { let pickup_date_TB = document.querySelector('.top-promo .pickup-date-time .dates-fieldset input'); let dropoff_date_TB = document.querySelector('.top-promo .dropoff-date-time .dates-fieldset input'); let pickup_time_head_TB = document.querySelector('.top-promo .pickup-time-select .heading'); let dropoff_time_head_TB = document.querySelector('.top-promo .dropoff-time-select .heading'); let pickup_time_val_TB = document.querySelector('.top-promo .quote_pickup_time_select span'); let dropoff_time_val_TB = document.querySelector('.top-promo .quote_dropoff_time_select span'); if (window.innerWidth < 768) { pickup_date_TB.placeholder = "Date"; dropoff_date_TB.placeholder = "Date"; pickup_time_head_TB.innerHTML = "Time"; dropoff_time_head_TB.innerHTML = "Time"; if(!pickup_time_val_TB.classList.contains('date-time-val')) { pickup_time_val_TB.innerHTML = "Time"; } if(!dropoff_time_val_TB.classList.contains('date-time-val')) { dropoff_time_val_TB.innerHTML = "Time"; } } else { pickup_date_TB.placeholder = "Pick-Up Date"; dropoff_date_TB.placeholder = "Drop-Off Date"; pickup_time_head_TB.innerHTML = "Pick-Up Time"; dropoff_time_head_TB.innerHTML = "Drop-Off Time"; if(!pickup_time_val_TB.classList.contains('date-time-val')) { pickup_time_val_TB.innerHTML = "Pick-Up Time"; } if(!dropoff_time_val_TB.classList.contains('date-time-val')) { dropoff_time_val_TB.innerHTML = "Drop-Off Time"; } } } } // Initial call to set placeholder based on the screen size //updateTopbarValues(); // Event listener for resizing the window //window.addEventListener('resize', updateTopbarValues); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ function fixTextWidow(element) { let wordArray = element.textContent.split(" "); const filteredArray = wordArray.filter(function(element) { return element.trim() !== ""; }); if (filteredArray.length > 1) { filteredArray[filteredArray.length - 2] += " " + filteredArray[filteredArray.length - 1]; filteredArray.pop(); element.innerHTML = filteredArray.join(" "); } } /*REBELMOUSE_STDLIB.createElementChangeListener(".post-header h1 .widget__headline-text", function(element){ fixTextWidow(element); })*/ REBELMOUSE_STDLIB.createElementChangeListener(".widget__headline .widget__headline-text", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".rm-breadcrumb__item:last-of-type .rm-breadcrumb__link", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".current-post .body-description h2", function(element){ let spanElement = element.querySelector("span"); let supElem = element.querySelector("sup"); if (spanElement == null && supElem == null) { fixTextWidow(element); } }) REBELMOUSE_STDLIB.createElementChangeListener(".current-post .body-description h3", function(element){ let spanElement = element.querySelector("span"); let supElem = element.querySelector("sup"); if (!element.classList.contains('h3-img') && spanElement == null && supElem == null) { fixTextWidow(element); } }) REBELMOUSE_STDLIB.createElementChangeListener(".current-post .body-description h4", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".current-post .body-description .acc-header", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".callouts-wrapper .widget__subheadline-text p", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".callouts-wrapper .custom-field-callout-title", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar-post .widget__subheadline-text p", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".section-header h1.title", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".truck-info h2.text-element", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".container.trucks h1", function(element){ fixTextWidow(element); }) REBELMOUSE_STDLIB.createElementChangeListener(".subtitle .text-element", function(element){ fixTextWidow(element); }) // REVERT WIDOWS ON INDUSTRY ARTICLES COMMERCIAL HOMEPAGE CALLOUTS function removeNonBreakingSpace(element) { element.innerHTML = element.innerHTML.replace(/ /g, " "); } REBELMOUSE_STDLIB.createElementChangeListener(".industry-articles .widget__headline .widget__headline-text", function(element) { removeNonBreakingSpace(element); }); REBELMOUSE_STDLIB.createElementChangeListener(".tag-beverage-manufacturing-industry .widget__headline .widget__headline-text", function(element) { removeNonBreakingSpace(element); }); REBELMOUSE_STDLIB.createElementChangeListener(".tag-healthcare-industry .widget__headline .widget__headline-text", function(element) { removeNonBreakingSpace(element); }); REBELMOUSE_STDLIB.createElementChangeListener(".no-break", function(element) { removeNonBreakingSpace(element); }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ function removeEmptyParagraphBeforeDiv() { // Select all divs with the class "rebellt-item" document.querySelectorAll('div.rebellt-item').forEach(function(div) { // Check if the previous sibling is a

element var prevElem = div.previousElementSibling; if (prevElem && prevElem.tagName.toLowerCase() === 'p') { // Check if the

element is empty or contains only
or whitespace if (prevElem.innerHTML.trim() === '' || prevElem.innerHTML.trim() === '
') { prevElem.remove(); // Remove the empty

element } } }); } // Call the function to remove empty

elements before .rebellt-item divs removeEmptyParagraphBeforeDiv(); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ //function about single click and double click to open dropdown and redirects in topbar let navbarLinks = document.querySelectorAll(".right-side .navbar .item .text-element a"); function doubleClick () { if (window.innerWidth >= 768 && window.innerWidth <= 1199) { document.querySelector(".topbar-wrapper").classList.add("touch-nav"); REBELMOUSE_STDLIB.createElementChangeListener(".right-side .navbar .item .text-element a", function(el){ let doubleClicked = false; el.addEventListener("click", (e)=>{ e.preventDefault(); let dropdownDiv = document.querySelectorAll(".right-side .navbar .item .dropdown"); dropdownDiv.forEach((item) => { item.classList.remove("tablet-dropdown") }) setTimeout(() => { let parent = el.parentNode.parentNode; let dropdown = parent.querySelector(".dropdown"); if (dropdown) { dropdown.classList.add("tablet-dropdown") } },500) // if doubleclicked is true then redirect to link if (doubleClicked) { window.location.href = el.href } doubleClicked = true; setTimeout(() => { doubleClicked = false; }, 300); }) }) document.querySelector("body").addEventListener("click", (e)=>{ let dropdownLinks = document.querySelectorAll(".right-side .navbar .item a"); let isTrue = [] dropdownLinks.forEach((item) => { if (e.target != item) { isTrue.push(false) } else { isTrue.push(true); } }) if (!isTrue.includes(true)) { document.querySelectorAll(".right-side .navbar .item .dropdown").forEach((item => { item.classList.remove("tablet-dropdown") })) } //console.log(isTrue); }) } else { document.querySelector(".topbar-wrapper").classList.remove("touch-nav") } } doubleClick(); //Open Dropdowns menu with clicks for screen >= 768 && screen <= 1199 window.addEventListener("resize", (event) => { doubleClick(); }); let scrollPosition = 0; // Store the current scroll position function disableScroll() { document.body.style.overflow = 'hidden'; } function enableScroll() { document.body.style.overflow = 'unset'; } REBELMOUSE_STDLIB.createElementChangeListener(".hamburger-wrapper", function(el){ let menuIcon = el.querySelector(".hamburger"); let hamburgerWrapper = el.querySelector('.dark-overlay'); let loginBtn = el.querySelector('.login-icon'); let langBtn = el.querySelector('.language-icon'); let closeBtn = el.querySelector('.close-icon'); let hamLogBlock = el.querySelector('.ham-login-block'); let hamLangBlock = el.querySelector('.ham-lang-block'); let hamSearchBlock = el.querySelector('.ham-search-block'); let searchBtn = el.querySelector('.search-icon'); let searchWidget = el.querySelector('.search-container'); let searchClose = searchWidget.querySelector('.close'); menuIcon.addEventListener('click', () => { hamburgerWrapper.classList.toggle('hidden'); if(hamburgerWrapper.classList.contains('hidden')) { enableScroll(); } else { disableScroll(); } }); closeBtn.addEventListener('click', () => { hamburgerWrapper.classList.toggle('hidden'); enableScroll(); }); loginBtn.addEventListener('click', ()=>{ hamLogBlock.classList.toggle("hidden"); hamLangBlock.classList.add('hidden'); hamSearchBlock.classList.add('hidden'); loginBtn.querySelector('.account-bold').classList.toggle("hidden"); loginBtn.querySelector('.account').classList.toggle("hidden"); langBtn.querySelector('.lang').classList.remove("hidden"); langBtn.querySelector('.lang-bold').classList.add("hidden"); searchBtn.querySelector('svg').classList.remove("ham-search-bold"); langBtn.querySelector('.navbar-line').classList.add('hidden'); searchBtn.querySelector('.navbar-line')?.classList?.add('hidden'); loginBtn.querySelector('.navbar-line').classList.toggle('hidden'); }) langBtn.addEventListener('click', ()=>{ hamLogBlock.classList.add("hidden"); hamSearchBlock.classList.add('hidden'); hamLangBlock.classList.toggle('hidden'); loginBtn.querySelector('.account-bold').classList.add("hidden"); loginBtn.querySelector('.account').classList.remove("hidden"); searchBtn.querySelector('svg').classList.remove("ham-search-bold"); langBtn.querySelector('.lang').classList.toggle("hidden"); langBtn.querySelector('.lang-bold').classList.toggle("hidden"); langBtn.querySelector('.navbar-line').classList.toggle('hidden'); searchBtn.querySelector('.navbar-line')?.classList?.add('hidden'); loginBtn.querySelector('.navbar-line').classList.add('hidden'); }) searchBtn.addEventListener('click', () => { //searchWidget.classList.toggle('hidden'); hamLogBlock.classList.add("hidden"); hamSearchBlock.classList.toggle('hidden'); hamLangBlock.classList.add('hidden'); langBtn.querySelector('.lang').classList.remove("hidden"); loginBtn.querySelector('.account').classList.remove("hidden"); loginBtn.querySelector('.account-bold').classList.add("hidden"); langBtn.querySelector('.lang-bold').classList.add("hidden"); searchBtn.querySelector('.navbar-line')?.classList?.toggle('hidden') langBtn.querySelector('.navbar-line').classList.add('hidden'); loginBtn.querySelector('.navbar-line').classList.add('hidden'); }); searchBtn.querySelector('svg').classList.add("ham-search-bold"); searchClose.addEventListener('click', () => { searchWidget.classList.toggle('hidden'); }) }) REBELMOUSE_STDLIB.createElementChangeListener(".ham-links-block .item", function(el){ //console.log(el); //let right = el.querySelector('.angle-right'); //let left = el.querySelector('.angle-left'); el.addEventListener('click', (e) => { let text = el.querySelector(".text-element").textContent.toLowerCase(); console.log(text); let dropdown = el.querySelector('.dropdown'); let header = el.querySelector('.ham-header'); if (e.target == header) { dropdown.classList.remove('open'); //document.querySelector(".ham-main-links").classList.remove("upd-height"); document.querySelector(".ham-main-links").style.height = `auto`; } else { if (dropdown) { console.log("here here") dropdown.classList.add('open'); let div_height = dropdown.getBoundingClientRect().height; console.log(dropdown.getBoundingClientRect().height); document.querySelector(".ham-main-links").style.height = `${div_height}px`; /*if (text == "plan your move" || text == "need help?") { document.querySelector(".ham-main-links").classList.add("upd-height"); }*/ } } }) }) REBELMOUSE_STDLIB.createElementChangeListener(".nav-icons .search-icon", function(el){ el.addEventListener('click', (event) => { let parentNode = el.parentNode; el.style.outline = "none"; if(el.classList.contains("key-focus")){ el.classList.remove("key-focus")} let icon = el.querySelector(".search-icon"); el.classList.toggle('select'); let searchBox = document.querySelector('.nav-icons .dropdown.search'); let line = document.querySelector('.nav-search .navbar-line'); if (el.classList.contains('select')) { searchBox.setAttribute('style', 'display:grid !important'); line.setAttribute('style', 'display:block !important'); } else { searchBox.setAttribute('style', 'display:none !important'); line.setAttribute('style', 'display:none !important'); } }) }) //close search desktop dropdown when user click outside of search container window.addEventListener("click", function(event) { let iconbtn = document.querySelector(".nav-search .search-icon"); let inputWrapper = document.querySelector(".nav-search #search--definition"); let dropdown = document.querySelector(".nav-search .dropdown.search"); if (event.target == iconbtn || event.target.parentNode == inputWrapper || event.target == dropdown) { //console.log("same"); } else { document.querySelector(".nav-icons .search-icon").classList.remove('select'); document.querySelector('.nav-icons .dropdown.search').setAttribute('style', 'display:none !important'); document.querySelector('.nav-search .navbar-line').setAttribute('style', 'display:none !important'); } //console.log(event.target.parentNode); }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.addEventListener("keydown", (e) => { if(e.key === "Tab"){ REBELMOUSE_STDLIB.createElementChangeListener(".topbar-wrapper .nav-icons svg", function(el){ let item = el.parentNode; //detec if focus is by tab keyboard //el.addEventListener("keydown", (e) => { el.classList.add("key-focus"); //}); el.addEventListener("focusin", (e) => { //show dropdown let dropdown = item.querySelector('.dropdown'); if (dropdown) { //remove keyshow class document.querySelectorAll(".navbar .dropdown.key-show").forEach((item) => { item.classList.remove("key-show"); }) dropdown.classList.add("key-show"); } el.addEventListener("focusout", (e) => { item.classList.remove("key-focus"); }) }) }) } //remove focus from default nav.menu-global links REBELMOUSE_STDLIB.createElementChangeListener(".menu-global a", function(el){ el.tabIndex = '-1'; }) document.querySelector(".top-promo").tabIndex = '0'; REBELMOUSE_STDLIB.createElementChangeListener(".topbar-wrapper .navbar .text-element a", function(el){ //console.log(el); el.addEventListener("focusin", () => { let item = el.parentNode.parentNode; let dropdown = item.querySelector('.dropdown'); if (dropdown) { //remove keyshow class document.querySelectorAll(".navbar .dropdown.key-show").forEach((item) => { item.classList.remove("key-show"); }) dropdown.classList.add("key-show"); } }) }) REBELMOUSE_STDLIB.createElementChangeListener(".topbar-wrapper", function(el){ el.addEventListener("mouseover", ()=>{ document.querySelectorAll(".navbar .item ").forEach((item)=>{ if(item.querySelector(".dropdown")){ item.querySelector(".dropdown").classList.remove("key-show") } }) }) }) REBELMOUSE_STDLIB.createElementChangeListener(".nav-lang a:last-child", function(el){ //console.log(el); el.addEventListener("focusin", () => { el.addEventListener("keydown", (e) => { if(e.key === "Tab"){ e.preventDefault(); //alert("Tab Key Pressed"); el.parentNode.classList.remove("key-show"); document.querySelector(".top-promo").classList.remove("hidden"); document.querySelector(".top-promo").tabIndex = '0'; } }); }) }) REBELMOUSE_STDLIB.createElementChangeListener(".promo-desktop .all-promo-link", function(el){ el.addEventListener("focusin", () => { document.querySelector(".all-promotions").style.display = "block"; let lastChild = document.querySelector(".all-promotions .promo-cont:last-child .order-btn"); lastChild.addEventListener("focusin", () => { lastChild.addEventListener("focusout", () => { document.querySelector(".all-promotions").style.display = "none"; document.querySelector(".promo-desktop .promo-btn").focus(); }) }) }) }) }) // Remove accessibility to link images when images have text redirecting to the same link REBELMOUSE_STDLIB.createElementChangeListener("a img", function(el){ let parent = el.parentNode; if (parent.tagName === 'A') { parent.setAttribute("tabIndex", "-1"); } }) // COMMERCIAL WIDGET KEYBOARD ACCESSIBILITY REBELMOUSE_STDLIB.createElementChangeListener(".booking-container form", function(el){ el.addEventListener('keydown', function(event) { if (event.key === 'Enter') { event.preventDefault(); } }); }) REBELMOUSE_STDLIB.createElementChangeListener(".returnto-input-container input", function(el){ el.addEventListener("keydown", (event)=>{ if(event.key === "Enter") { el.click(); } }) }) REBELMOUSE_STDLIB.createElementChangeListener(".booking-container .quote-submit-button button", function(el){ el.addEventListener('keydown', function(event) { if (event.key === 'Enter') { el.click(); } }); }) //remove tabindex of calkendar input function removeCalendarTabInd(el, section) { el.addEventListener("focus", () => { if (document.querySelector(`.${section} .pickup-date-time commercial-date-selector`)) { document.querySelector(`.${section} .pickup-date-time commercial-date-selector .cr-date-picker__input`).setAttribute("tabindex", "-1"); document.querySelector(`.${section} .dropoff-date-time commercial-date-selector .cr-date-picker__input`).setAttribute("tabindex", "-1"); } }) } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .pickup-container input", function(el){ removeCalendarTabInd(el, "home-rental"); }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .pickup-container input", function(el){ removeCalendarTabInd(el, "top-promo"); }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .pickup-container input", function(el){ removeCalendarTabInd(el, "sidebar"); }) function keybLocItem(el, section) { el.setAttribute("tabindex", "0"); el.addEventListener("keydown", (event) => { if(event.key === 'Enter') { el.click(); el.parentNode.parentNode.classList.add("hidden"); document.querySelector(`.${section} .pickup-date-time .cr-date-picker__input`).focus(); } }) } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .dropdown-loc .location-item", function(el){ keybLocItem(el, "home-rental") }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .dropdown-loc .location-item", function(el){ keybLocItem(el, "top-promo") }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .dropdown-loc .location-item", function(el){ keybLocItem(el, "sidebar") }) function keylastLocItem(el, section) { el.addEventListener('keydown', function(event) { if (event.key === 'Tab' && event.shiftKey) { console.log('Shift + Tab was pressed'); } else if (event.key === 'Tab') { el.parentNode.parentNode.classList.add("hidden"); let commercialCalendar = document.querySelector(`.${section} .pickup-date-time .cr-date-picker__input`); if(commercialCalendar) { commercialCalendar.focus(); } } }); } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .dropdown-loc .location-item:nth-of-type(5)", function(el){ keylastLocItem(el, "home-rental") }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .dropdown-loc .location-item:nth-of-type(5)", function(el){ keylastLocItem(el, "top-promo") }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .dropdown-loc .location-item:nth-of-type(5)", function(el){ keylastLocItem(el, "sidebar") }) function keyCurrLoc(el, section, inputType) { el.setAttribute("tabindex", "0"); el.addEventListener("focus", () => { setTimeout(()=>{ el.parentNode.classList.remove("hidden"); document.querySelector(`.${section} .${inputType} .gmap-loc`).style.display = 'block'; el.addEventListener("keydown", (event) => { if(event.key === 'Enter') { el.click(); el.parentNode.classList.add("hidden"); document.querySelector(`.${section} .pickup-date-time .cr-date-picker__input`).focus(); } if(event.key === 'Tab') { console.log("is running here in tab") } }) },500) }) } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .pickup-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "home-rental", "pickup-container"); }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .pickup-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "top-promo", "pickup-container"); }) REBELMOUSE_STDLIB.createElementChangeListener(".sibar .pickup-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "sidebar", "pickup-container"); }) REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .dropoff-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "home-rental", "dropoff-container"); }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .dropoff-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "top-promo", "dropoff-container"); }) REBELMOUSE_STDLIB.createElementChangeListener(".sibar .dropoff-container .dropdown-loc .current-loc", function(el){ keyCurrLoc(el, "sidebar", "dropoff-container"); }) let typeTimeSelector, typeSection, widgetSection; function keycalendarfocus(el, section, calendarSec) { el.addEventListener("focus", () => { el.click(); setTimeout(()=> { //document.querySelector(`.${section} .${calendarSec} .cr-date-range-picker__close-button`).focus(); document.querySelector(`.${section} .dropdown-loc`).classList.add("hidden"); let calendarCells = document.querySelectorAll(`.${section} .${calendarSec} commercial-date-selector .cr-date-range-picker__month-cell`); calendarCells.forEach((calCell) => { if (!calCell.classList.contains('cr-date-range-picker__month-cell--disabled') && !calCell.classList.contains('cr-date-range-picker__month-cell--empty')) { calCell.setAttribute("tabindex", "0"); } calCell.addEventListener("keydown", (event) => { if (event.key === 'Enter') { calCell.click(); document.querySelector(`.${section} .${calendarSec} commercial-date-selector .cr-date-range-picker__button`).focus(); setTimeout(()=>{ let timeSelector = document.querySelector(`.${section} .${calendarSec} .quote_pickup_time_select`) || document.querySelector(`.${section} .${calendarSec} .quote_dropoff_time_select`); typeTimeSelector = timeSelector.className; typeSection = timeSelector.getAttribute("data-section"); widgetSection = section; timeSelector.click(); },1000) } }) }) },500) }) } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .pickup-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "home-rental", "pickup-date-time"); }) REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .dropoff-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "home-rental", "dropoff-date-time"); }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .pickup-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "top-promo", "pickup-date-time"); }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .dropoff-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "top-promo", "dropoff-date-time"); }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .pickup-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "sidebar", "pickup-date-time"); }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .dropoff-date-time commercial-date-selector .cr-date-picker input", function (el) { keycalendarfocus(el, "sidebar", "dropoff-date-time"); }) //close calendar popup by keyboard accessibility REBELMOUSE_STDLIB.createElementChangeListener("commercial-date-selector .cr-date-range-picker__close-button", function (el) { el.setAttribute("tabindex", "0"); el.addEventListener("keydown", (event) => { if (event.key === 'Enter') { el.click(); } }) }) function keyTimeVal(el, section, typeTime) { el.addEventListener("keydown", (event) => { if(event.key === 'Enter') { el.click(); let widgetError = document.querySelector(".widget-overlay-error"); if (widgetError.classList.contains("hidden") && typeTime === "quote_widget_pickup-time") { document.querySelector(`.${section} .dropoff-date-time .cr-date-picker__input`).focus(); } else { document.querySelector(".widget-overlay-error").focus(); } } }) } REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .date-time-select .quote_widget_pickup-time .time-val", function(el){ keyTimeVal(el, "home-rental", "quote_widget_pickup-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".home-rental .date-time-select .quote_widget_dropoff-time .time-val", function(el){ keyTimeVal(el, "home-rental", "quote_widget_dropoff-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .date-time-select .quote_widget_pickup-time .time-val", function(el){ keyTimeVal(el, "top-promo", "quote_widget_pickup-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".top-promo .date-time-select .quote_widget_dropoff-time .time-val", function(el){ keyTimeVal(el, "top-promo", "quote_widget_dropoff-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .date-time-select .quote_widget_pickup-time .time-val", function(el){ keyTimeVal(el, "sidebar", "quote_widget_pickup-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".sidebar .date-time-select .quote_widget_dropoff-time .time-val", function(el){ keyTimeVal(el, "sidebar", "quote_widget_dropoff-time") }) REBELMOUSE_STDLIB.createElementChangeListener(".widget-error .error-close", function(el){ el.addEventListener("keydown", (event) => { if(event.key === 'Enter') { el.click(); //console.log(document.querySelector(`.${typeSection} .${typeTimeSelector}`)); setTimeout(()=>{document.querySelector(`.${typeSection} .${typeTimeSelector}`).click();},500) } }) }) REBELMOUSE_STDLIB.createElementChangeListener(".widget-popup-info .close", function(close){ close.addEventListener("click", () => { close.parentNode.parentNode.classList.add("hidden"); document.querySelector(".widget-overlay-error").classList.add("hidden"); }) }) let lastInteractionType = null; // Detect keyboard interactions at the document level document.addEventListener("keydown", (event) => { lastInteractionType = 'keyboard'; }); // Detect mouse interactions at the document level document.addEventListener("mousedown", (event) => { lastInteractionType = 'mouse'; }); REBELMOUSE_STDLIB.createElementChangeListener(".booking-container .quote_truck_size_select", function(el){ el.setAttribute("tabindex", "0"); // Handle focus event el.addEventListener("focus", (event) => { if (lastInteractionType === 'keyboard') { el.parentNode.querySelector(".truck-options").classList.remove("hidden"); console.log("Keyboard interaction detected, key:", event.key); } else if (lastInteractionType === 'mouse') { console.log("Mouse click detected, no need to show options."); } lastInteractionType = null; }); }) REBELMOUSE_STDLIB.createElementChangeListener(".booking-container .truck-sizes-options", function(el){ el.setAttribute("tabindex", "0"); }) REBELMOUSE_STDLIB.createElementChangeListener(".booking-container .compare-option", function(el){ el.setAttribute("tabindex", "0"); el.addEventListener('keydown', function(event) { if (event.key === 'Tab' && event.shiftKey) { console.log('Shift + Tab was pressed'); } else if (event.key === 'Tab') { el.parentNode.parentNode.classList.add("hidden"); } }); }) // Detect when user has scroll at the end of the what's difference popup to clear linear gradient let isScrolling; const scrollContainer = document.querySelector('.popup-scroll-content'); scrollContainer.addEventListener('scroll', function() { window.clearTimeout(isScrolling); isScrolling = setTimeout(function() { const scrollTop = scrollContainer.scrollTop; const scrollHeight = scrollContainer.scrollHeight; const offsetHeight = scrollContainer.offsetHeight; if (scrollTop + offsetHeight >= scrollHeight) { console.log('User has scrolled to the end of .popup-info-content.'); // scrolling reaches the end document.querySelector('.popup-info-content').classList.add("remove-gradient"); } else { console.log('User has not scrolled to the end of .popup-info-content.'); // scrolling stops but hasn't reached the end document.querySelector('.popup-info-content').classList.remove("remove-gradient") } }, 200); }, false); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ let chatArray = [ document.querySelector(".widget-chat .chat-btn"), document.querySelector(".nav-help .widget__headline-text[aria-label='Live Chat']"), document.querySelector(".nav-help .nav-btn[aria-label='Live Chat']"), document.querySelector(".nav-help-mobile a[aria-label='Live Chat']"), document.querySelector(".gchat-button") ]; var d = false; var h = {}; var k = { // prod "deploymentURL": "https://c.la4-c1-phx.salesforceliveagent.com/content/g/js/46.0/deployment.js", "endpointURL": "https://d.la4-c1-phx.salesforceliveagent.com/chat", "orgID": "57260000000CavO", "deploymentID": "00D60000000JPQu", "buttonID": "57360000000CazR" }; var f = function (p) { var script = document.createElement('script'); script.onload = function () { b(); }; script.src = p; document.head.appendChild(script); }; function handleOpenChat(element) { window._laq.push(function () { liveagent.showWhenOnline(k.buttonID, element); }); element.onclick = function () { liveagent.startChat(k.buttonID); }; } function getChatPageReferrer() { const fullPath = window.location.href.replace(window.location.origin, ''); const segments = fullPath.replace('/quote', 'quote'); const isQA = window.location.origin.startsWith('https://penske-redesign') const chatPageReferrer = isQA ? 'QA-Testing: ' + segments : segments; return chatPageReferrer ?? ''; } var b = function () { const referrer = getChatPageReferrer(); liveagent.setChatWindowHeight(650); liveagent.setChatWindowWidth(780); liveagent .addCustomDetail('Chat_Referrer__c', referrer, true) .saveToTranscript('Chat_Referrer__c'); liveagent.init(k.endpointURL, k.orgID, k.deploymentID); if (!window._laq) { window._laq = []; } chatArray.forEach((item) => { if (item) { handleOpenChat(item); } }) }; f(k.deploymentURL); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.REBELMOUSE_STDLIB.loadExternalScript("https://rm.gopenske.com/ptr/assets/maint/maintenance.js", function() { }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.getCookie = function getCookie(name) { let matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : undefined; } var isMaintenance = window.getCookie('isMaintenance'); if('Y' == isMaintenance){ document.querySelectorAll(".booking-container").forEach(function (item) { item.remove(); document.querySelector("body").classList.add("maintenance-y"); }); } function closeWidgetError(el) { el.classList.add("hidden"); if (document.querySelector(".widget-overlay-error")) { document.querySelector(".widget-overlay-error").classList.add("hidden"); } } //Close Widget Errors REBELMOUSE_STDLIB.createElementChangeListener(".widget-error", function(el){ let close_btn = el.querySelector(".error-close"); let blue_btn = el.querySelector(".blue-full-btn"); if (close_btn) { close_btn.addEventListener("click", ()=>{ closeWidgetError(el); }) } if (blue_btn) { blue_btn.addEventListener("click", ()=>{ closeWidgetError(el); }) } }) }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ // Function to get URL parameters function getUrlParameter(name) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } // Function to hide content based on the "userway" parameter function hideContentBasedOnUserway() { var userwayParam = getUrlParameter('userway'); if (userwayParam === 'off') { // Hide the content you want to hide document.getElementById('userway-override').style.display = 'none'; } } // Call the function when the page loads hideContentBasedOnUserway(); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ document.querySelector(".widget-overlay-error").addEventListener("click", (event) => { if(event.target.classList.contains("widget-overlay-error")) { document.querySelectorAll(".widget-error").forEach((widget) => { if (!widget.classList.contains("hidden")) { widget.classList.add("hidden"); } }) // Add "hidden" class to the clicked element document.querySelector(".widget-overlay-error").classList.add("hidden"); } }) }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ document.addEventListener('contextmenu', function(event) { if (event.target.matches('img, .display-block.image-element, .section-header-full-img, .header-image, svg, .hero-home-texts, .truck-category-headline, .truck-promo, .truck-promo .promo-card-left-container, .truck-category-header')) { event.preventDefault(); } }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ function getUrlParameter(name) { const urlParams = new URLSearchParams(window.location.search); return urlParams.get(name); } function setCookie(name, value, days, path) { const expires = new Date(Date.now() + days * 24 * 60 * 60 * 1000).toUTCString(); //document.cookie = `${name}=${value}; expires=${expires}; path=${path}; domain=pensketruckrental.com`; document.cookie = `${name}=${value}; expires=${expires}; path=${path}`; } function deleteCookie(name) { document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`; } (function() { const clickref = getUrlParameter('clickref'); const partnercode = getUrlParameter('partnercode'); if(clickref && clickref != null) { setCookie('it_ptr_click_ref_id', clickref, 7, '/'); if(partnercode && partnercode != null) { setCookie('it_ptr_partner_code', partnercode, 7, '/'); } deleteCookie('penskelinkid'); deleteCookie('urlRef'); } })(); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.REBELMOUSE_STDLIB.loadExternalStylesheet("https://rm.gopenske.com/ptr/calendar-widget-consumer/elements/styles.css", function(){ }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ (function(d){var s = d.createElement("script");s.setAttribute("data-account", "NRnEL6ljSb");s.setAttribute("src", "https://cdn.userway.org/widget.js");(d.body || d.head).appendChild(s);})(document) }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ REBELMOUSE_STDLIB.createElementChangeListener(".callouts-wrapper .widget", function(el){ let link = el.querySelector('.snark-line .cross-btn')?.getAttribute('href') || el.querySelector('.snark-line .g-button')?.getAttribute('href'); let title = el.querySelector('.custom-field-callout-title'); let img = el.querySelector('.widget__head a'); let title_text = title.textContent; if (link) { img.href = `${link}`; title.innerHTML = `${title_text}` } }) }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.addEventListener('scroll', function() { let widget = document.querySelector('.booking-container.home-rental'); let promo = document.querySelector('.top-promo'); let widgetRect = widget.getBoundingClientRect(); let navbar = document.querySelector('.navbar-fixed').offsetHeight; let widgetBottom = widgetRect.bottom - navbar; if (widgetBottom >= 0) { promo.classList.add('hidden'); } else { promo.classList.remove('hidden'); } }); }); window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){ window.onclick = function(e){ let element = document.querySelector('.language-selector'); if (element) { let elemChild = element.querySelector('span'); if(e.target != element && e.target != elemChild) { element.classList.remove('show-dropdown'); } } } REBELMOUSE_STDLIB.createElementChangeListener(".tabs.dropdown", function(el){ el.addEventListener("click", function(){ el.classList.toggle('show-dropdown') }) }) }); });