www.worcesterma.gov
Open in
urlscan Pro
131.239.4.120
Public Scan
Submitted URL: https://worcesterma.gov/
Effective URL: https://www.worcesterma.gov/
Submission: On December 08 via api from US — Scanned from DE
Effective URL: https://www.worcesterma.gov/
Submission: On December 08 via api from US — Scanned from DE
Form analysis
2 forms found in the DOMGET /site-search
<form class="form-inline" action="/site-search" method="get">
<div class="form-group">
<label for="keywords_formId" class="sr-only">Search Term(s)</label><input type="text" class="form-control" placeholder="Search..." id="keywords_formId" maxlength="255" name="keywords">
</div> <button type="submit" class="btn btn-primary">Go!</button>
</form>
GET /site-search
<form action="/site-search" method="get" class="navbar-form navbar-right hidden-sm hidden-md hidden-lg">
<div class="form-group">
<label for="keywords_formId" class="sr-only">Search Term(s)</label>
<input type="text" class="form-control" placeholder="Search..." id="keywords_formId" name="keywords">
</div>
<button type="submit" class="btn btn-primary">Go!</button>
</form>
Text Content
Search Term(s) Go! * I Want To * * Popular Topics * * Get Latest News * Make a Payment * Municipal Calendar * Vital Records * Video on Demand * Worcester 311 * Report a Problem... * * Animal Control * Anonymous Crime Tips * File a Claim * Opportunities... * * Boards & Commissions * Job Opportunities * Doing Business... * * Business Certificates * Open Bids * Ordinances & Regulations * Permits & Licensing * Plan an Event * Start a Business * Residents... * * Dog Licenses * Parks & Recreation * Resident Parking Program * Seasonal Street Programs * Taxes & Assessments * Trash & Recycling * Search For... * * Agendas & Minutes * Property Records * Real Estate Tax/CML * Tax Foreclosures * Tax Payment History * Where Do I Vote? * Learn More... * * Public Library * Public Schools * Senior Center * Veterans' Services * Youth Opportunities * A to Z... * Make A Payment * Worcester 311 * Departments * Translate * العربية * 中文(简体) * 中文(香港) * Español * Français * Polskie * Português * Tiếng Việt * More... Search Term(s) Go! WELCOME TO WORCESTER, MASSACHUSETTS! 1. 2. 3. 4. 5. 6. FESTIVAL OF LIGHTS - FRIDAY, DECEMBER 6 FY25 - 29 STRATEGIC PLAN PRIORITY NETWORK DRAFT AVAILABLE NOW DROUGHT INFORMATION ICE SKATING ON THE OVAL WORK FOR WORCESTER Previous Next WELCOME TO WORCESTER! RESIDENTS BUSINESSES GOVERNMENT VISITORS IN THE SPOTLIGHT AMERICAN RESCUE PLAN ACT (ARPA) Learn More FY25 - 29 STRATEGIC PLAN Learn More FALL LEAF COLLECTION Learn More FESTIVAL OF LIGHTS Learn More RESIDENTIAL DROP-OFF CENTER Learn More WINTER PARKING BAN INFO Learn More NEWS & ANNOUNCEMENTS Public Notice: The Treasurer & Collector of Taxes has released the List of Properties for Unpaid Fiscal 2023 Taxes. * Latest News * Facebook * Seasonal CITY SOLICITOR MICHAEL TRAYNOR TO RETIRE AFTER 37-YEAR CAREER WITH CITY OF WORCESTER City Manager Eric D. Batista announced Friday the retirement of City Solicitor Michael E. Traynor, effective Jan. 10, 2025. Posted: Friday 12/06/24 DECLARED WINTER PARKING BAN LIFTED AS OF 2 P.M. THURSDAY The Declared Winter Parking Ban for the City of Worcester will be lifted at 2 p.m. Thursday, Dec. 5. Posted: Thursday 12/05/24 WORCESTER INVITES PUBLIC TO ATTEND HOUSING PRODUCTION PLAN FORUM, PROVIDE FEEDBACK The City of Worcester invites residents to participate in the second public forum for the development of Worcester’s Housing Production Plan (HPP) on Monday, Dec. 9, at 5:30 p.m. via Zoom. Posted: Thursday 12/05/24 More Announcements... The City of Worcester announced Friday, Dec. 6, 2024 the retirement of City Solicitor Michael E. Traynor, effective Jan. 10, 2025, after a dedicated, respected, and impactful 37-year career with the municipality.... Posted: Friday 12/06/24 4:10 PM To gear up for tonight's Festival of Lights, we asked City Manager Batista and Mayor Joe Petty for their favorite holiday tunes.... Posted: Friday 12/06/24 11:52 AM The Declared Winter Parking Ban for the City of Worcester will be lifted at 2 p.m. Thursday, Dec. 5.... Posted: Thursday 12/05/24 1:23 PM The City of Worcester invites residents to participate in the second public forum for the development of Worcester's Housing Production Plan (HPP) on Monday, Dec. 9, at 5:30 p.m. via Zoom.... Posted: Thursday 12/05/24 12:29 PM More News... FALL LEAF COLLECTION The Fall Leaf Collection Program for 2024 will begin on November 4 and typically takes approximately 4-5 weeks to complete, depending on weather. Please visit the Fall Leaf Collection page for current routes and a collection map. FESTIVAL OF LIGHTS This annual, family-friendly event features a number of lighting features, ice skating, food vendors, community organizations, performances and so much more! LEAF & YARD WASTE DROP-OFF SITES OPEN The Worcester Public Works Department operates three yard waste drop-off sites for all Worcester residents, open April through November. SNOWPLOW APPLICATIONS NOW ACCEPTED We are now hiring snow plowing equipment for the upcoming winter season. Please fill out and return an application if you are interested. WINTER PARKING BAN The Winter Parking Ban is designed to keep streets open, safe and essential traffic moving during snow storms. The PERMANENT BAN will remain in effect from December 1st through April 30th. WORCESTER COMMON OVAL ICE SKATING Following another successful Out to Lunch Concert Series & Farmers' Market, the Worcester Common Oval welcomes the return of public skating on the Common. More Seasonal Information... MEETINGS & EVENTS * Municipal * Culture CONSERVATION COMMISSION When: Monday 12/09/24 5:30 PM Where: City Hall, Levi Lincoln Chamber, 455 Main Street HOUSING PRODUCTION PLAN VIRTUAL COMMUNITY FORUM When: Monday 12/09/24 5:30 PM Where: Virtual Meeting TATNUCK SQUARE NEIGHBORHOOD MEETING When: Monday 12/09/24 6:00 PM Where: First Congregational Church, 1070 Pleasant Street CITIZEN ADVISORY COUNCIL When: Monday 12/09/24 6:30 PM Where: City Hall, Esther Howland Chamber, 455 Main Street CHAPTER 139 HEARING When: Tuesday 12/10/24 9:00 AM Where: Inspectional Services, 25 Meade Street More Events... WE WANT YOU ON OUR TEAM! LEARN WHY WORKING FOR WORCESTER IS SO GREAT! FEATURES INCLUDE: * Competitive pay. * Comprehensive benefits package. * Benefits start on your first day of employment! Work for Worcester Employment Opportunities PROGRAMS & INITIATIVES INFORMING WORCESTER Informing Worcester is the City's open data portal where all interested parties can obtain public information at no cost. Explore, visualize and download City of Worcester, MA data! MIYAWAKI/COOLPOCKETS Worcester will soon be home to four new public spaces designed to reduce the impact of extreme heat in neighborhoods that need the most relief. MOBILITY ACTION PLAN The Mobility Action Plan aims to enhance our transportation network by better supporting safe, equitable and sustainable mobility choices. REQUEST A FREE STREET TREE The City is currently making plans for the Spring street tree plantings and is encouraging residents to request street trees in front of their homes. WELCOME TO WORCESTER Welcome to the country's most vibrant and livable mid-sized city! With a population of more than 200,000 and more than 35,000 college students, Worcester is the second largest city in New England. Centrally located, the City is under an hour from Boston, Providence and Hartford. Learn more about the "Heart of the Commonwealth." Quick Facts ABOUT WORCESTER * City Manager * Elected Officials * Quick Facts * Special Projects * Worcester History QUICK LINKS * Accessibility * Diversity & Inclusion * Employee Portal * Stay Connected * Translate City of Worcester Worcester 311 Monday - Friday 8 a.m. - 5 p.m. Phone: 311 Contact Us Services Tour Home | Login | Disclaimer | Privacy Policy | Site Map © 2024 Copyright City of Worcester, MA. All Rights Reserved. Official City of Worcester, MA Website WorcesterMA.gov " + "" + "" + //ENG-1082 "" + badgecount + "\"" + chatbtn_tooltip_text + "\""; /* " "; */ doc.getElementById("widgetlbtn").style.color = color; doc.getElementById("widgetlbtn").style.backgroundColor = msg.widgetcolor; doc.getElementById("widgetlbtn").style.display = 'block'; count = count != undefined ? count : 0; doc.getElementById("spnwidgetlbtn").setAttribute("aria-label", "Chat button , " + count + " unread messages"); //ENG-1082 doc.getElementById("widgetlbtn").addEventListener('click', function () { console.log("switchicon called"); if (parent.IMIChatInit != undefined) { parent.IMIChatInit.chatswitchicon(); } else { IMIChatInit.chatswitchicon(); } }); document.getElementById('imi-chatbutton').style.display = "block"; //console.log( doc.getElementById("widgetlbtn")); /*$('[data-toggle=\"tooltip\"]').tooltip();*/ // doc.close(); /* for test */ var doc1 = document.getElementById('chatunread-frame').contentWindow.document; // doc1.open(); doc1.head.innerHTML = "" + ""; doc1.body.innerHTML = "x "; // ""+ //"" + //""; //doc1.close(); doc1.getElementsByTagName('html')[0].classList.add('imichatmsgpreview'); doc1.getElementById("ancclearcards").addEventListener('click', function () { if (parent.IMIChatInit != undefined) { parent.IMIChatInit.clearmsgcards(); } else { IMIChatInit.clearmsgcards(); } }); document.getElementById('chatunread-frame').style.display = "block"; IMIGeneral.storeLocal("style_" + document.getElementById("divicw").getAttribute("data-bind") + "_" + window.location.hostname, msg); document.getElementById('chatbutton').style.display = "block"; } else { document.getElementById("divicw").innerHTML = ''; } } catch (e1) { } }, chatswitchicon: function (type) { console.log("Chatswitchicon::" + type); try { /*type=1-max and 0- min */ var isMobile = "0"; // if (window.innerWidth > 768) { // document.getElementById('divchatmain').className = 'main-chat-cont'; // } else { // document.getElementById('divchatmain').className = 'main-chat-cont chatmobile'; // isMobile="1"; // } if ((navigator.userAgent.indexOf("Mobile")) != -1) { isMobile = "1"; } sessionStorage.setItem("data-bind", document.getElementById("divicw").getAttribute("data-bind")); sessionStorage.setItem("data-org", document.getElementById("divicw").getAttribute("data-org")); var iframe = document.getElementById('imi-chatbutton'); if (iframe == null || iframe == undefined) return; var innerDoc = iframe.contentDocument || iframe.contentWindow.document; //Open Widget if (document.getElementById("divchatmain").style.display === 'none' && (type == 1 || type == 2 || type == undefined)) { document.getElementById("divchatmain").style.display = "block"; IMIGeneral.checkmobile(); var widgetmain = document.getElementById("iframechatwindow");//ENG-1034 widgetmain.contentWindow.focus();//ENG-1034 //if ((window.outerWidth < 497) && (document.documentElement.classList.contains('imichatmobile-active') == false) && document.getElementById("divchatmain").style.display == "block") { var className = " " + document.documentElement.className + " "; if ((window.outerWidth < 700) && (" " + className + " ").replace(/[\n\t]/g, " ").indexOf("imichatmobile-active") > -1 && document.getElementById("divchatmain").style.display == "block") { // if((document.documentElement.classList.value.split(/\s+|\./).filter(word => word === 'imichatmobile-active').length==1) == false){ document.documentElement.classList.remove("imichatmobile-active"); document.documentElement.className = document.documentElement.className + " imichatmobile-active"; // } } else { document.documentElement.className = document.documentElement.className.replace(' imichatmobile-active', ''); } document.getElementById('chatunread-frame').style.display = "none"; innerDoc.getElementById("widgetlbtn").setAttribute("class", "open-btn state1 " + buttonType + " close-btn"); // innerDoc.getElementById("widgetlbtn").setAttribute("aria-label", "Close web chat"); innerDoc.getElementById("widgetlbtn").setAttribute("aria-expanded", "true"); document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").style.display = "none"; document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").innerText = ""; localStorage.setItem(fingerprint + "_" + _skey + "_badgecount", 0); localStorage.setItem(fingerprint + "_" + _skey + "_cardcount", 0); IMIChatInit.clearmsgcards(); // if (IMIGeneral.getBrowserName() == "safari") { // if (IMIGeneral.detectIOS()) { // document.body.classList.add('chatnoscroll'); // } // } if (type === undefined) { var destination = document.getElementById('iframechatwindow').contentWindow; msg = { "action": "showiframe", "host": window.location.hostname, "chatmobile": isMobile }; destination.postMessage(msg, domainUrl); document.getElementById("iframechatwindow").setAttribute("aria-hidden", "false"); } return; } //Close Widget if (document.getElementById("divchatmain").style.display === 'block' && (type == 0 || type == 2 || type == undefined)) { document.documentElement.className = document.documentElement.className.replace(' imichatmobile-active', ''); //document.body.classList.remove('chatnoscroll'); document.getElementById("divchatmain").style.display = "none"; innerDoc.getElementById("widgetlbtn").setAttribute("class", "open-btn state " + buttonType); innerDoc.getElementById("widgetlbtn").setAttribute("aria-expanded", "false"); innerDoc.getElementById("widgetlbtn").focus(); document.getElementById('chatunread-frame').style.display = "block"; localStorage.setItem(fingerprint + "_" + _skey + "_cardcount", 0); document.getElementById("iframechatwindow").setAttribute("aria-hidden", "true"); return; } //var iframeEl = document.getElementById("iframechatwindow"); // Make sure you are sending a string, and to stringify JSON // iframeEl.contentWindow.postMessage("hello", '*'); return; } catch (e) { console.log("LaunchProactiveMsgManager:" + e.msg); } }, clearmsgcards: function () { document.getElementById('chatunread-frame').contentWindow.document.getElementById("msg-list").innerHTML = ""; document.getElementById('chatunread-frame').contentWindow.document.getElementById("ancclearcards").style.display = "none"; //document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").style.display = "none"; //document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").innerText == ""; localStorage.setItem(fingerprint + "_" + _skey + "_cardcount", 0); }, openchat: function (event) { document.getElementById('imichat-fullscreen-modal').className = 'imichat-fullscreen-modal'; document.getElementById('imichat-fullscreen-modal').removeAttribute('tabindex'); document.getElementById('imichat-fullscreen-modal').removeAttribute('aria-hidden'); var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'openchat', threadid: event.data.threadid, proactive_id: event.data.proactive_id }, '*'); if (parent.IMIChatInit != undefined) { parent.IMIChatInit.chatswitchicon(2); } else { IMIChatInit.chatswitchicon(2); } }, extractContent: function (s) { var span = document.createElement('span'); span.innerHTML = s; return span.textContent || span.innerText; }, badgecount: function (event) { try { if (document.getElementById("divchatmain").style.display === 'none') { var count = document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").innerText; if (count == 0 || count == "") { count = 1; } else { count = parseInt(count) + 1; } var duplicate = 0; var innerDivs; var innerDivsCount = 0; var refChild; IMIChatInit.clearmsgcards(); var containerDiv = document.getElementById('chatunread-frame').contentWindow.document.getElementById("msg-list"); if (count > 1) { innerDivs = containerDiv.getElementsByClassName("msg"); if (innerDivs != undefined) { innerDivsCount = innerDivs.length; for (var i = 0; i < innerDivs.length; i++) { if ("msg_" + event.data.msgtransid == innerDivs[i].id) { duplicate = 1; } } refChild = innerDivs[0]; } } var cardcount; var checkbadgecount; if (innerDivs == undefined) { localStorage.setItem(event.data.fingerprint + "_" + _skey + "_cardcount", 1); } document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").style.display = "block"; if (duplicate == 0) { if (parseInt(innerDivsCount) == 5) { containerDiv.removeChild(document.getElementById('chatunread-frame').contentWindow.document.getElementsByClassName('msg')[4]); containerDiv.removeChild(document.getElementById('chatunread-frame').contentWindow.document.getElementsByClassName('msgclear')[4]); innerDivsCount = innerDivsCount - 1; } if ((parseInt(innerDivsCount) < 1 && event.data.badge_type === undefined) || event.data.badge_type === 2 || event.data.badge_type === 3) { var node = document.createElement("div"); var node1 = document.createElement("div"); var textnode = document.createTextNode(IMIChatInit.extractContent(event.data.msg)); if (textnode.data.length > 45) { if (event.data.badge_type === undefined || event.data.badge_type === 2) { textnode.data = textnode.data.substr(0, 45) + "..."; } else { textnode.data = textnode.data; } } node.className = "msg"; node.style = "cursor:pointer;"; node1.className = "msgclear"; node.id = "msg_" + event.data.msgtransid; // Create a text node node1.id = "msgclear_" + event.data.msgtransid; node1.style = "clear:both;"; node.addEventListener("click", function () { window.parent.postMessage({ action: 'openchat', threadid: event.data.threadid, proactive_id: event.data.proactive_id }, '*'); }); node1.addEventListener("click", function () { window.parent.postMessage({ action: 'openchat', threadid: event.data.threadid, proactive_id: event.data.proactive_id }, '*'); }); if (event.data.msg_from !== undefined && event.data.msg_from !== "") { var span = document.createElement("span"); //var span span.innerHTML = '' + event.data.msg_from + ':'; node.appendChild(span); } else if (event.data.msg_from === undefined || event.data.msg_from == "") { var span = document.createElement("span"); //var span span.innerHTML = 'New Conversation:'; node.appendChild(span); } node.appendChild(textnode); var height = document.getElementsByClassName('main-unreadchat-cont')[0].style.height; if (height == "") { height = 70; } if (innerDivsCount == 0) { height = document.getElementsByClassName('main-unreadchat-cont')[0].style.height = "150px"; } /* else if (innerDivsCount == 2) { height = document.getElementsByClassName('main-unreadchat-cont')[0].style.height = "150px"; } else if (innerDivsCount > 2) {*/ else { document.getElementsByClassName('main-unreadchat-cont')[0].style.height = parseInt(height) + 60 + "px"; } var referenceNode = document.getElementById('chatunread-frame').contentWindow.document.getElementById("msg-list"); // document.querySelector('#some-element'); if (innerDivsCount == 0) { referenceNode.appendChild(node); referenceNode.appendChild(node1); } else { referenceNode.insertBefore(node, refChild); referenceNode.insertBefore(node1, refChild); if ((window.innerHeight + 100) < (document.getElementsByClassName("main-unreadchat-cont")[0].style.height)) { var frame = document.getElementById('chatunread-frame'); var c = frame.contentDocument || frame.contentWindow.document; c.getElementsByTagName("body")[0].offsetHeight = '80%'; c.getElementsByTagName("body")[0].style.overflow = "auto"; } } if (event.data.badge_type === 3) { document.getElementsByClassName("main-unreadchat-cont")[0].style.height = "100%"; var frame = document.getElementById('chatunread-frame'); var c = frame.contentDocument || frame.contentWindow.document; c.getElementsByClassName("msg")[0].style.maxHeight = "unset"; var frameheight = c.getElementsByTagName("body")[0].offsetHeight; document.getElementsByClassName("main-unreadchat-cont")[0].style.height = frameheight + "px"; } } else if (event.data.badge_type === 4) { var fullscreen_modal = document.getElementById('imichat-fullscreen-modal'); fullscreen_modal.className = 'imichat-fullscreen-modal imichat-open'; fullscreen_modal.contentWindow.postMessage({ action: 'bind_data', proactive_id: event.data.proactive_id, threadid: event.data.threadid, msg_from: event.data.msg_from, msg: event.data.msg, btn_chat_now_open: IMILocalisation.getValue(_IMIchat_widget_lang, "proactive_poupup_chat_now_button", "Chat Now"), btn_chat_now_close: IMILocalisation.getValue(_IMIchat_widget_lang, "proactive_poupup_close_button", "Close") }, "*"); } cardcount = parseInt(localStorage.getItem(event.data.fingerprint + "_" + _skey + "_cardcount")) + 1; localStorage.setItem(event.data.fingerprint + "_" + _skey + "_cardcount", cardcount); localStorage.setItem("fingerprint", event.data.fingerprint); localStorage.setItem(event.data.fingerprint + "_" + _skey + "_badgecount", count); document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").innerText = count; if (count > 0) { //to do for ENG-1082 get localisation for chat button tooltip with count document.getElementById('imi-chatbutton').contentWindow.document.getElementById("spnwidgetlbtn").setAttribute("aria-label", "Chat button , " + count + " unread messages"); //ENG-1082 } else { document.getElementById('imi-chatbutton').contentWindow.document.getElementById("spnwidgetlbtn").setAttribute("aria-label", "Chat button , " + count + " unread messages"); //ENG-1082 } } document.getElementById('chatunread-frame').contentWindow.document.getElementById("ancclearcards").style.display = (event.data.badge_type === undefined || (event.data.badge_type === 2 || event.data.badge_type === 3)) ? "block" : "none"; } } catch (e) { console.log("badgecount:" + e.msg); } }, message: function (event) { try { if (event.data.action != null) { if (event.data.action == 'openchat') { IMIChatInit.openchat(event); } if (event.data.action == 'badgecount') { IMIChatInit.badgecount(event); } if (event.data.action == 'chatswitchicon') { IMIChatInit.chatswitchicon(); //event } if (event.data.action == 'imichat_custom_chat_fields') { if (event.data.type == 'add') { if (_IMIchat_callback_dic['imichat-widget:custom_chat_fields_init'] !== undefined) { _IMIchat_callback_dic['imichat-widget:custom_chat_fields_init'](event.data.response); } } else if (event.data.type == 'update') { if (_IMIchat_callback_dic['imichat-widget:custom_chat_fields_update'] !== undefined) { _IMIchat_callback_dic['imichat-widget:custom_chat_fields_update'](event.data.response); } }//event } if (event.data.action == 'loadstyles') { IMIChatInit.loadJQuery(_domain_name, function () { IMIChatInit.loadwidgetStyles(event.data.message); try { if (event.data.message != null) { if (_IMIchat_callback_dic['imichat-widget:ready'] !== undefined) { _IMIchat_callback_dic['imichat-widget:ready'](_attr_key); console.log("imichat-widget:ready fired"); } //eval('imichatWidgetLoaded();'); if (_IMIchat_callback_dic['imichat-widget:custom_chat_fields_init'] !== undefined) { _IMIchat_callback_dic['imichat-widget:custom_chat_fields_init'](); }// debugger; var widget_data = JSON.parse(event.data.message); hdr_bfp = widget_data.hdr_bfp; hdr_xtoken = widget_data.hdr_xtoken; hdr_tid = widget_data.hdr_tid; } } catch (e) { } IMIChatInit.LaunchProactiveMsgManager(_domain_name, function () { }); IMIChatInit.handleAbandonedChats(); }); } if (event.data.action == 'closemodelpopup') { document.getElementById('imichat-fullscreen-modal').className = 'imichat-fullscreen-modal'; document.getElementById('imichat-fullscreen-modal').setAttribute('tabindex', '-1'); document.getElementById('imichat-fullscreen-modal').setAttribute('aria-hidden', 'true'); } if (event.data.action == 'setsession') { sessionStorage.setItem(event.data.key, event.data.value); } if (event.data.action == 'setlocal') { localStorage.setItem(event.data.key, event.data.value); } if (event.data.action == 'browserstorage') { document.getElementById("divicw").innerHTML = " \n \n \nError: Cookies Disabled We use cookies to enable best chat experience. Follow these directions to re-enable cookies specific to your browser type or re-open this website in a cookie-enabled browser. "; console.log("Local storage not supported"); } } } catch (e) { } }, resize: function () { try { var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'resize', width: window.outerWidth //window.innerWidth//screen.width // document.body.clientWidth }, "*"); IMIGeneral.checkmobile(); } catch (e) { } }, LaunchProactiveMsgManager: function (domainName, callback) { try { var widget_styles = localStorage.getItem("style_" + document.getElementById("divicw").getAttribute("data-bind") + "_" + window.location.hostname); if (widget_styles == null && !JSON.parse(widget_styles).enable_proactive) { callback(); return; } var body = document.getElementsByTagName('body')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = IMIChatInit.domainName() + '/js/proactive-msg-manager.js'; body.appendChild(script); script.addEventListener('load', function (event) { console.log('proactive manager loaded;'); var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'proactive-manager-loaded', attrkey: document.getElementById("divicw").getAttribute("data-bind"), host: window.location.hostname }, "*"); callback(); }); } catch (e) { console.log("LaunchProactiveMsgManager:" + e.msg); } }, processAbandonedChats: function (type) { if (!imichatwidget.hasInitiatedChat()) { return; } var browser_fingerprint = localStorage.getItem("fingerprint"); var url = IMIGeneral.profileUrl() + "livechats/" + _attr_key + "/customers/" + browser_fingerprint + "/abandoned?host=" + window.document.URL; url = url + "&type=" + type; var body = JSON.stringify({ "is_reloaded": false, "is_closechat": true }); var headers = { 'type': 'application/json', 'fpid': hdr_bfp, 'Tid': hdr_tid, 'X-Token': hdr_xtoken }; var blob = new Blob([body], headers); navigator.sendBeacon(url); }, handleAbandonedChats: function () { // Attach the event keypress to exclude the F5 refresh //jQuery(window).on('keydown', function (e) { window.addEventListener('keydown', function (e) { if (e.keyCode == 116) { _IMIchat_IsValidNavigation = true; } }); window.addEventListener("beforeunload", function (e) { sessionStorage.setItem(_attr_key + "_imichat-reload-check", document.referrer); console.log(document.referrer); //sessionStorage.setItem("imi_tabid", Math.random().toString(16).slice(2)); if (_IMIchat_IsValidNavigation !== undefined && !_IMIchat_IsValidNavigation) { IMIChatInit.processAbandonedChats("unload"); } }); if (window.performance.navigation.type == 1) { IMIChatInit.processAbandonedChats("load"); } }, loadJQuery: function (domainName, callback) { if (typeof (jQuery) !== 'undefined') { callback(); return; } var body = document.getElementsByTagName('body')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = domainName + '/js/jquery.min.js'; body.appendChild(script); script.addEventListener('load', function (event) { callback(); }); return; }, on: function (func_name, callback) { if (typeof callback != 'function') { console.error('function was expected.'); return; } switch (func_name) { case 'imichat-widget:ready': _IMIchat_callback_dic['imichat-widget:ready'] = callback; break; } }, checklocalStorage: function () { var test = 'test'; try { localStorage.setItem(test, test); localStorage.removeItem(test); return true; } catch (e) { return false; } }, call_previous_chats: function () { try { var destination = document.getElementById('iframechatwindow').contentWindow; msg = { "action": "showiframe", "host": window.location.hostname, "chatmobile": ((navigator.userAgent.indexOf("Mobile")) != -1) ? "1" : "0" }; destination.postMessage(msg, domainUrl); } catch (e) { } }, check_clear_session_chats: function () { if (document.referrer == sessionStorage.getItem(_attr_key + "_imichat-reload-check")) { return false; } else if (sessionStorage.getItem(_attr_key + "_imichat-reload-check") == undefined) { return true; } else { console.log("Hey, Thanks for visiting again"); return false; } } }; }(); if (IMIChatInit.checklocalStorage()) { IMIChatInit.init(); } else { document.getElementById("divicw").innerHTML = " \n \n \nError: Cookies Disabled We use cookies to enable best chat experience. Follow these directions to re-enable cookies specific to your browser type or re-open this website in a cookie-enabled browser. "; console.log("Local storage not supported"); } var imichatwidget = { // get hasInitiatedConversation() { // if (sessionStorage.getItem("imichat_hasinitconvexist") == null) // return false; // if (sessionStorage.getItem("imichat_hasinitconvexist") == "1") { // return true; // } else { // return false; // } // }, hasInitiatedChat: function () { if (sessionStorage.getItem("imichat_hasinitconvexist") == null) return false; if (sessionStorage.getItem("imichat_hasinitconvexist") == "1") { return true; } else { return false; } }, show: function () { //$("#divicw").show();return; document.getElementById("divicw").style.display = 'block'; }, hide: function () { // $("#divicw").hide();return; document.getElementById("divicw").style.display = 'none'; }, /* test:function() { if(sessionStorage.getItem("imichat_hasinitconvexist")==null) return false; if(sessionStorage.getItem("imichat_hasinitconvexist")=="1") { return true; } else { return false; } },*/ maximizeWindow: function () { IMIChatInit.chatswitchicon(1); IMIChatInit.resize(); IMIChatInit.call_previous_chats(); return; }, minimizeWindow: function () { return IMIChatInit.chatswitchicon(0); }, init: function (jsondata, callback) { if (typeof callback != 'function') { console.error('function was expected.'); return; } var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'imichat_custom_chat_fields', data: jsondata, type: 'add' }, '*'); _IMIchat_callback_dic['imichat-widget:custom_chat_fields_init'] = callback; }, update: function (jsondata, callback) { if (typeof callback != 'function') { console.error('function was expected.'); return; } var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'imichat_custom_chat_fields', data: jsondata, type: 'update' }, '*'); _IMIchat_callback_dic['imichat-widget:custom_chat_fields_update'] = callback; }, on: function (func_name, callback) { if (typeof callback != 'function') { console.error('function was expected.'); return; } switch (func_name) { case 'imichat-widget:ready': _IMIchat_callback_dic['imichat-widget:ready'] = callback; break; } } }; /* function imichatWidgetLoaded(){imi imichatwidget.maximizeWindow(); }*/