Official City of Worcester Seal Image

City of Worcester, MA

Announcements Image

Call for Artists: Main Street Reimagined and Worcester Wayfinding Projects

For Immediate Release: 5/17/2019 2:15 pm

The City of Worcester is now accepting proposals from artists and designers for the creation of benches and bicycle racks for the Main Street Reimagined project and the creation of art panels for the first phase of the Worcester Wayfinding project. The themes of creativity, innovation and revolution will be the focal point of artistic storytelling along Main Street.

The City of Worcester’s Executive Office of Economic Development and Department of Public Works & Parks (DPW&P), in partnership with the Worcester Cultural Coalition, has been working with the Urban Culture Institute to incorporate placemaking, cultural economic development and the arts into the Main Street Reimagined and Worcester Wayfinding projects. These efforts will bring the history of Worcester to life through artistic expression and build on the momentum of the soon-to-be adopted Worcester Cultural Plan.

Call for Main Street Reimagined Bench and Bicycle Rack Design Proposals:

Main Street Reimagined complements the $11 million reconstruction of Worcester’s Main Street as a Complete Street. The intent of Main Street Reimagined is to supplement the new streetscape with custom functional public art installations to add interest to and activate the public space. The City seeks proposals for benches and bicycle racks that will reflect elements of Worcester’s history, culture and community in imaginative and interesting ways.

Call for Worcester Wayfinding District Identifier Artwork Design Proposals:

The first phase of the Worcester Wayfinding project is intended to provide a system of place-making signage that emphasizes district identification and incorporates public art that welcomes visitors and promotes the city’s rich culture. Public art is an integral component of the Wayfinding Plan, and the City seeks artwork for 14 District Identifier wayfinding signs. The installations will feature art panels that explore and reflect Worcester’s history, culture and community in creative and interesting ways.

The Requests for Proposals (RFPs) are open to all artists, artist teams, and design professionals with experience in public art design. Professionals residing in or with studio space in the City of Worcester and the New England region are encouraged to apply. The City will host an optional local informational meeting for artists on Wednesday, May 29, at 6 p.m., at the Worcester PopUp, 20 Franklin Street. The purpose of the meeting is to review the RFP requirements and process.

The deadline to submit proposals for both projects is 10 a.m. on Friday, June 28. The complete RFPs, including the anticipated project schedules, may be found at: www.worcesterma.gov/finance/purchasing-bids/bids/open-bids.

City of Worcester
Worcester 311
Monday - Friday
8 a.m. - 5 p.m.
Phone: 311
Contact Us
Services Tour

Facebook, X, YouTube and Instagram Icons
ALERTWorcester Logo
City of Worcester Seal Image Worcester Public Schools Seal Image Worcester Public Library Logo
Home | Login | Disclaimer | Privacy Policy | Site Map

© 2025 Copyright City of Worcester, MA. All Rights Reserved.

Official City of Worcester, MA Website WorcesterMA.gov

" + "" + "" + //ENG-1082 "\"" + 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 , " + 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(); } }); doc.getElementById("widgetlbtn").addEventListener('keydown', function (e) { if (e.key === 'Tab' && !e.shiftKey) { e.preventDefault(); var widgetmainIframe = window.parent.document.getElementById("iframechatwindow"); if (document.getElementById("divchatmain").style.display == "block") { widgetmainIframe.contentWindow.postMessage({ action: 'widgetbuttonkeypress', }, "*"); } this.blur(); } }); 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 = "" + ""; //ENG-985 doc1.body.innerHTML = "x
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(); } }); doc1.getElementById("greetingancclearcards").addEventListener('click', function () { if (parent.IMIChatInit != undefined) { parent.IMIChatInit.cleargreetingmsgcards(); } else { IMIChatInit.cleargreetingmsgcards(); } }); document.getElementById('chatunread-frame').style.display = "block"; this.bindGreetingMessage(msg); 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) { } }, bindGreetingMessage: function (data) { if (sessionStorage.getItem("webex_engage_greetingmessage_shown") != null && sessionStorage.getItem("webex_engage_greetingmessage_shown") != undefined) { return; } if (data.greetingmessage == undefined || data.greetingmessage == null || data.greetingmessage == '') { return; } var node = document.createElement("div"); var node1 = document.createElement("div"); var textnode = document.createTextNode(IMIChatInit.extractContent(data.greetingmessage)); node.className = "msg"; node.style = "cursor:pointer;"; node.setAttribute("tabindex", "0"); //ENG-1065 and ENG-3621 for tabindex node1.className = "msgclear"; node.id = "msg_greetingmessage"; // Create a text node node1.id = "msgclear_greetingmessage"; node1.style = "clear:both;"; node1.addEventListener('click', function () { console.log("switchicon called"); if (parent.IMIChatInit != undefined) { parent.IMIChatInit.chatswitchicon(); } else { IMIChatInit.chatswitchicon(); } }); node.addEventListener('click', function () { console.log("switchicon called"); if (parent.IMIChatInit != undefined) { parent.IMIChatInit.chatswitchicon(); } else { IMIChatInit.chatswitchicon(); } }); var span = document.createElement("span"); span.innerHTML = '' + data.name + ':'; node.appendChild(span); node.appendChild(textnode); var referenceNode = document.getElementById('chatunread-frame').contentWindow.document.getElementById("greeting-msg-list"); // document.querySelector('#some-element'); referenceNode.appendChild(node); referenceNode.appendChild(node1); document.getElementsByClassName("main-unreadchat-cont")[0].style.height = "100%"; document.getElementById('chatunread-frame').contentWindow.document.getElementById("greetingancclearcards").style.display = "block"; sessionStorage.setItem("webex_engage_greetingmessage_shown", 1) }, bindCookieConsentGreetingMessage: function (hue, saturation, lightness1, lightness2) { if (sessionStorage.getItem("webex_engage_greetingmessage_shown") != null && sessionStorage.getItem("webex_engage_greetingmessage_shown") != undefined) { return; } if (cookieConsentWidgetOptions.greetingMessage == undefined || cookieConsentWidgetOptions.greetingMessage == null || cookieConsentWidgetOptions.greetingMessage == '') { return; } var doc1 = document.getElementById('chatunread-frame').contentWindow.document; doc1.head.innerHTML = "" + ""; doc1.body.innerHTML = "x
x
" + cookieConsentWidgetOptions.displayName + "" + cookieConsentWidgetOptions.greetingMessage + "
"; doc1.getElementsByTagName('html')[0].classList.add('imichatmsgpreview'); document.getElementById('chatunread-frame').style.display = "block"; document.getElementsByClassName("main-unreadchat-cont")[0].style.height = "100%"; document.getElementById('chatunread-frame').contentWindow.document.getElementById("greetingancclearcards").style.display = "block"; sessionStorage.setItem("webex_engage_greetingmessage_shown", 1) }, loadCookieConsentWidgetStyles: function () { try { if (cookieConsentWidgetOptions != '' && cookieConsentWidgetOptions != undefined && cookieConsentWidgetOptions != null && cookieConsentWidgetOptions != 'null') { buttonType = cookieConsentWidgetOptions.buttonType; var color = "#ffffff"; var lightness1 = 0; var lightness = 0; try { var widgcolor = cookieConsentWidgetOptions.widgetColor; r = parseInt(widgcolor.substr(1, 2), 16); g = parseInt(widgcolor.substr(3, 2), 16); b = parseInt(widgcolor.substr(5, 2), 16); hue = IMIGeneral.rgbToHsl(r, g, b)[0] * 360; saturation = IMIGeneral.rgbToHsl(r, g, b)[1] * 100; lightness = IMIGeneral.rgbToHsl(r, g, b)[2] * 100; lightness1 = lightness + 10; lightness2 = 95; var lightness3 = 98; var lightness4 = lightness + 10; if (lightness > 80) { color = "#333333"; } } catch (e1) { } var badgecount = " {1} "; badgecount = badgecount.replace("{0}", "style=\"display:none;\"").replace("{1}", ""); var chatbtn_tooltip_text = IMILocalisation.getValue(cookieConsentWidgetOptions.widgetLang, "chat_button_tooltip", "Live Chat"); _IMIchat_widget_lang = cookieConsentWidgetOptions.widgetLang; var doc = document.getElementById('imi-chatbutton').contentWindow.document; doc.body.innerHTML = "" + "" + "" + "" + "" + ""; doc.getElementById("cookieconsentwidgetlbtn").style.color = color; doc.getElementById("cookieconsentwidgetlbtn").style.backgroundColor = cookieConsentWidgetOptions.widgetColor; doc.getElementById("cookieconsentwidgetlbtn").style.display = 'block'; doc.getElementById("cookieconsentwidgetlbtn").addEventListener('click', function () { if (parent.IMIChatInit != undefined) { parent.IMIChatInit.chatcookieconsentswitchicon(); } else { IMIChatInit.chatcookieconsentswitchicon(); } }); document.getElementById('imi-chatbutton').style.display = "block"; document.getElementById('chatunread-frame').style.display = "block"; doc.getElementById("cookieconsentwidgetlbtn").addEventListener('keydown', function (e) { if (e.key === 'Tab' && !e.shiftKey) { //debugger; e.preventDefault(); var widgetmainIframe = window.parent.document.getElementById("iframecookieconsentwindow"); if (document.getElementById("divchatmain").style.display == "block") { widgetmainIframe.contentWindow.postMessage({ action: 'cookieconsentbuttonkeypress', }, "*"); this.blur(); } } }); this.bindCookieConsentGreetingMessage(hue, saturation, lightness1, lightness2); document.getElementById('chatbutton').style.display = "block"; } else { document.getElementById("divicw").innerHTML = ''; } } catch (e1) { } }, acceptCookies: function (element) { if (IMIChatInit.checklocalStorage()) { localStorage.setItem("webex_engage_cookieconsent_accepted", 1); 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"); } }, 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("webex_engage_data-bind", document.getElementById("divicw").getAttribute("data-bind")); sessionStorage.setItem("webex_engage_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 widgetmain.contentWindow.postMessage({ action: 'widgetbuttonkeypress', }, "*"); //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(); IMIChatInit.cleargreetingmsgcards(); // 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(); innerDoc.getElementById("cookieconsentwidgetlbtn").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); } }, chatcookieconsentswitchicon: function (type) { try { var isMobile = "0"; if ((navigator.userAgent.indexOf("Mobile")) != -1) { isMobile = "1"; } 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 widgetcookieconsent = document.getElementById('iframecookieconsentwindow').contentWindow; widgetcookieconsent.postMessage({ action: 'cookieconsentbuttonkeypress', }, "*"); 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("cookieconsentwidgetlbtn").setAttribute("class", "open-btn state1 " + buttonType + " close-btn"); innerDoc.getElementById("cookieconsentwidgetlbtn").setAttribute("aria-expanded", "true"); document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").style.display = "none"; document.getElementById('imi-chatbutton').contentWindow.document.getElementById("chattotalbadge").innerText = ""; //IMIChatInit.clearmsgcards(); if (type === undefined) { var destination = document.getElementById('iframecookieconsentwindow').contentWindow; msg = { "action": "showiframe", "host": window.location.hostname, "chatmobile": isMobile }; destination.postMessage(msg, domainUrl); document.getElementById("iframecookieconsentwindow").setAttribute("aria-hidden", "false"); } IMIChatInit.cleargreetingmsgcards(); 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.getElementById("divchatmain").style.display = "none"; innerDoc.getElementById("cookieconsentwidgetlbtn").setAttribute("class", "open-btn state " + buttonType); innerDoc.getElementById("cookieconsentwidgetlbtn").setAttribute("aria-expanded", "false"); if (innerDoc.getElementById("cookieconsentwidgetlbtn")) { innerDoc.getElementById("cookieconsentwidgetlbtn").focus(); document.addEventListener('keydown', function (event) { if (event.key === "Tab") { event.preventDefault(); if (innerDoc.getElementById("ancclearcards")) { innerDoc.getElementById("ancclearcards").focus(); } else if (innerDoc.getElementById("greetingancclearcards")) { innerDoc.getElementById("greetingancclearcards").focus(); } } }); } document.getElementById('chatunread-frame').style.display = "block"; document.getElementById("iframecookieconsentwindow").setAttribute("aria-hidden", "true"); return; } 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); }, cleargreetingmsgcards: function () { document.getElementById('chatunread-frame').contentWindow.document.getElementById("greeting-msg-list").innerHTML = ""; document.getElementById('chatunread-frame').contentWindow.document.getElementById("greetingancclearcards").style.display = "none"; }, 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;"; node.setAttribute("tabindex", "0"); //ENG-1065 and ENG-3621 for tabindex 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 = "100%"; } /* 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 //ENG-1055 document.getElementById('imi-chatbutton').contentWindow.document.getElementById("spnwidgetlbtn").setAttribute("aria-label", "Chat , " + count + " unread messages"); //ENG-1082 } else { document.getElementById('imi-chatbutton').contentWindow.document.getElementById("spnwidgetlbtn").setAttribute("aria-label", "Chat , " + count + " unread messages"); //ENG-1082 } } document.getElementById('chatunread-frame').style.display = (event.data.badge_type === undefined || (event.data.badge_type === 2 || event.data.badge_type === 3)) ? "block" : "none"; 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 == 'acceptCookies') { IMIChatInit.acceptCookies(); } if (event.data.action == 'widgettabkeypress') { var forkeyboard = document.getElementById('imi-chatbutton').contentWindow.document; forkeyboard.getElementById("widgetlbtn").focus(); } if (event.data.action == 'cookieconsenttabkeypress') { var forkeyboard = document.getElementById('imi-chatbutton').contentWindow.document; forkeyboard.getElementById("cookieconsentwidgetlbtn").focus(); } if (event.data.action == 'loadcookieconsentwidgetstyles') { IMIChatInit.loadCookieConsentWidgetStyles(); } if (event.data.action == 'loadstyles') { IMIChatInit.loadJQuery(_wxengage_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'](_wxengage_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; is_abandonded = widget_data.abandon_chats } } catch (e) { } IMIChatInit.LaunchProactiveMsgManager(_wxengage_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"); } if (event.data.action == 'clearallsessionkeys') { sessionStorage.clear(); } if (event.data.action == 'clearalllocalstoragekeys') { localStorage.clear(); } if (event.data.action == 'cookierejectreload') { IMIChatInit.removeStorageKeysWhenCookieRejected(); IMIChatInit.init(); } } } 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) { } }, removeStorageKeysWhenCookieRejected: function () { sessionStorage.removeItem(_wxengage_attr_key + "_imichat-reload-check"); sessionStorage.removeItem("webex_engage_data-bind"); sessionStorage.removeItem("webex_engage_data-org"); sessionStorage.removeItem("webex_engage_greetingmessage_shown") localStorage.removeItem(fingerprint + "_" + _skey + "_badgecount"); localStorage.removeItem(fingerprint + "_" + _skey + "_cardcount"); localStorage.removeItem("style_" + document.getElementById("divicw").getAttribute("data-bind") + "_" + window.location.hostname); localStorage.removeItem("webex_engage_customer_first_seen"); localStorage.removeItem("webex_engage_customer_last_seen"); localStorage.removeItem("webex_engage_customer_last_seen_interval_id"); localStorage.removeItem("webex_engage_executed_proactive_ids"); localStorage.removeItem("fingerprint"); localStorage.removeItem("webex_engage_repeat_customer"); sessionStorage.removeItem("webex_engage_imichat_hasinitconvexist"); localStorage.removeItem("webex_engage_cookieconsent_accepted"); }, clearBrowserStorage: function () { try { IMIChatInit.removeStorageKeysWhenCookieRejected(); var destination = document.getElementById('iframechatwindow').contentWindow; destination.postMessage({ action: 'clearbrowserstorage', width: window.outerWidth //window.innerWidth//screen.width // document.body.clientWidth }, "*"); IMIChatInit.verifyCookieConsent(); console.log("browser storage cleared"); } 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; } if (is_abandonded == false) { return; } var browser_fingerprint = localStorage.getItem("fingerprint"); var url = IMIGeneral.profileUrl() + "livechats/" + _wxengage_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(_wxengage_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(_wxengage_attr_key + "_imichat-reload-check")) { return false; } else if (sessionStorage.getItem(_wxengage_attr_key + "_imichat-reload-check") == undefined) { return true; } else { console.log("Hey, Thanks for visiting again"); return false; } }, verifyCookieConsent: function () { var isCookieConsent = typeof cookieConsentWidgetOptions === 'undefined' ? false : true; if (isCookieConsent != undefined && isCookieConsent != null && isCookieConsent && localStorage.getItem("webex_engage_cookieconsent_accepted") != "1") { try { var body = document.getElementsByTagName('body')[0]; var script = document.currentScript || (function () { var scripts = document.getElementsByTagName('script'); return scripts[scripts.length - 1]; })(); var generalscript = document.createElement('script'); generalscript.src = IMIChatInit.domainName() + "/js/imichatgeneral.js"; generalscript.type = 'text/javascript'; body.appendChild(generalscript); generalscript.addEventListener('load', function (event) { document.getElementById("divicw").innerHTML = "" + "" + "" + "
" + "
" + "" + "
" + ""; var iframeMainDoc = document.getElementById("iframecookieconsentwindow"); iframeMainDoc.addEventListener('load', function () { IMIChatInit.onCookieConsentWidgetIconIframeLoad(); }); iframeMainDoc.src = IMIGeneral.domainName() + "/cookieconsent.html"; window.removeEventListener('message', IMIChatInit.message); window.addEventListener('message', IMIChatInit.message); }); } catch (e) { console.log("LaunchProactiveMsgManager:" + e.msg); } } else { 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"); } } } }; }(); IMIChatInit.verifyCookieConsent(); var imichatwidget = { // get hasInitiatedConversation() { // if (sessionStorage.getItem("webex_engage_imichat_hasinitconvexist") == null) // return false; // if (sessionStorage.getItem("webex_engage_imichat_hasinitconvexist") == "1") { // return true; // } else { // return false; // } // }, hasInitiatedChat: function () { if (sessionStorage.getItem("webex_engage_imichat_hasinitconvexist") == null) return false; if (sessionStorage.getItem("webex_engage_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("webex_engage_imichat_hasinitconvexist")==null) return false; if(sessionStorage.getItem("webex_engage_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; } }, clearBrowserStorage: function () { IMIChatInit.clearBrowserStorage(); } }; /* function imichatWidgetLoaded(){imi imichatwidget.maximizeWindow(); }*/