Electric Cargo Van

Penske electric cargo van driving on the highway surrounded by trees

Light-Duty Electric Vehicle


The electric high-roof cargo van is a hardworking, efficient vehicle that is flexible enough to handle a multitude of jobs while also meeting sustainability goals as you travel to and from the job site.

Whether your job takes you right across town or across the region, our electric high-roof cargo van is constructed to take you farther with an estimated range of 100+ miles. Every vehicle comes equipped with power steering and anti-lock brakes, rear and side cargo doors, two-person bucket seating, blind spot assist and backup camera.

Practical and versatile, our electric high-roof cargo vans are quiet and nimble in traffic. Built to maximize space and with connectivity on the go, you can enjoy a better driving experience while also maximizing environmental benefits. And now, charging has become even easier when using our van’s dedicated Charge Assist app to access the network of locations and find free charging locations.

Interested in learning more about operating and charging the van? Visit our Getting Started page for short videos and additional tips on the electric high-roof cargo van.

Contact Penske to learn more about how our electric fleet of vehicles can improve your workday and reduce your environmental impact.

Features:

  • 11 ft. 11 in. extended length vans
  • Up to 9,500 lb. GVW
  • Up to 3,300 lb. payload
  • Up to 450 cu. ft. of loading space
  • Free vehicle charging
  • Preconditioning function for optimal operating conditions and cab comfort
  • Pro Power Onboard function for using the van as a mobile generator
  • Power steering and anti-lock brakes
  • Rear and side cargo doors
  • Two-person bucket seating
  • Blind spot assist and backup camera*

Battery and Charging:

  • Range: 100+ miles (estimated)
  • Useable Battery: 67 kWh
  • 400V lithium-ion battery
  • Connection port: CCS1 and J1772
  • Peak AC charge rate: 11.3 kW
  • Peak charge rate DCFC: 115 kW
  • Level 2 charger supplied 2.0 kW and 7.6 kW

The specifications listed above are based upon Penske's most commonly rented fleet. They are not the exact measurements of all fleet rented by Penske. Specifications will vary by make, model and year. MPG can vary based on load, terrain and driving factors.

*While many vehicles will have some form of collision mitigation systems, the presence of such systems cannot be guaranteed. Please check with Penske at the time of rental.

Common Questions

What is an EV electric vehicle?

EV is short for "electric vehicle" and describes a vehicle that operates on an electric motor as opposed to a traditional fuel engine that generates power by burning a mix of fuel and air.

Are electric cargo vans available in the U.S.?

Yes, Penske currently offers high-roof electric cargo vans for rent in various markets.

Do electric commercial vans have air conditioning?

Yes, the electric cargo vans at Penske come equipped with air conditioning.

Electric cargo vans take how long to charge?

Charging an electric van takes between 2 and 32 hours, depending on the type of charger used and its power level.

Does an electric commercial van stop charging when full?

Yes, once an electric vehicle is fully charged, it stops the charging process. Once fully charged, there is no need to leave the van plugged in.

Electric commercial vans have what kind of range?

On average, Penske's electric van can travel over 100 miles on a single charge.

What happens when an electric cargo van runs out of power?

If an electric vehicle runs out of power while being driven, it will stop moving.

Are electric commercial vehicles found in the transportation industry?

Yes, electric commercial vehicles are becoming more popular within the transportation industry. Penske currently has electric cargo vans available for rent to support both local and long-distance delivery needs.

Will heavy-duty trucks ever be electric?

Yes, companies are currently working on improving the range of heavy-duty vehicles to make them viable for long-haul commercial purposes.

Do they make electric vans for business?

Yes, electric cargo vans are used by many professionals in a variety of industries for various reasons. The benefits of using electric cargo vans include lower fuel costs, reduced maintenance, and the production of fewer emissions.

What are the best electric vans for business?

With 450 cu. ft. of loading space and the ability to carry a payload of up to 3,300 lbs., the electric cargo vans at Penske are perfect for your business's short and long-haul delivery needs.

Electric commercial vans – here are your options:

Penske rents spacious and versatile electric commercial vans that can travel over 100 miles on one charge and boast several amenities like blind spot assist, back-up camera, air conditioning, power steering, and rear and side cargo doors.

}); }); 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(){ 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(){ (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(".rebellt-question", function(el){ let headline = el.querySelector('h3[data-role="headline"]'); if (headline) { headline.addEventListener("click", function(item){ el.classList.toggle("show-description"); }) } }) REBELMOUSE_STDLIB.createElementChangeListener(".accordion-assembler", function(el){ let headline = el.querySelector('h3[data-role="headline"]'); if (headline) { headline.addEventListener("click", function(item){ el.classList.toggle("show-description"); }) } }) });