1var uv_pop_up; 2var uv_pop_up_terms; 3var uv_poploader2; 4var uvcareersform = ""; 5 6uvDOMReady(function(){ 7 uv_pop_up = uvCreatePop("uv-popup"); 8 9 //Create Poploader 10 uv_poploader2 = document.createElement("div"); 11 uv_poploader2.id = "uv-pop-loader"; 12 uv_poploader2.classList.add("uv-pop-cont"); 13 14 let uvloaderinn = document.createElement("div"); 15 uvloaderinn.classList.add("uv-urvenueloader"); 16 uv_poploader2.appendChild(uvloaderinn); 17 18 let uvloadermsg = document.createElement("div"); 19 uvloadermsg.classList.add("uv-urloadermsg"); 20 uv_poploader2.appendChild(uvloadermsg); 21 22 document.body.appendChild(uv_poploader2); 23 //// 24 25 uvClickListener(".uvjs-triggergaltype", function(e){ 26 e.preventDefault(); 27 28 var uvgaltriggernavelemts = this.closest("ul").querySelectorAll(".uvjs-triggergaltype"); 29 for(var i=0; i<uvgaltriggernavelemts.length; i++){ 30 uvgaltriggernavelemts[i].classList.remove('active'); 31 } 32 33 this.classList.add("active"); 34 35 let uvgaltarget = this.getAttribute('data-target'); 36 if(uvgaltarget != "all"){ 37 let uvgalallelems = document.querySelectorAll(".uv-galleryscontents > div"); 38 for(var i=0; i<uvgalallelems.length; i++){ 39 uvgalallelems[i].classList.add('hide'); 40 } 41 42 let uvgalellightelems = document.querySelectorAll(".uv-galleryscontents > div a[data-fslightbox]"); 43 for(var i=0; i<uvgalellightelems.length; i++){ 44 uvgalellightelems[i].removeAttribute("data-fslightbox"); 45 } 46 47 let uvgalelemtargets = document.querySelectorAll(".uv-galitem-" + uvgaltarget); 48 for(var i=0; i<uvgalelemtargets.length; i++){ 49 uvgalelemtargets[i].classList.remove('hide'); 50 51 uvgalelemtargets[i].querySelector("a").setAttribute("data-fslightbox", ""); 52 } 53 54 refreshFsLightbox(); 55 } 56 else{ 57 let uvgalallelems = document.querySelectorAll(".uv-galleryscontents > div"); 58 for(var i=0; i<uvgalallelems.length; i++){ 59 uvgalallelems[i].classList.remove('hide'); 60 uvgalallelems[i].querySelector("a").setAttribute("data-fslightbox", ""); 61 } 62 63 refreshFsLightbox(); 64 } 65 }); 66 67 68 let uvfieldsets = document.querySelectorAll(".uv-careers-formcont form fieldset input, .uv-careers-formcont form fieldset textarea"); 69 70 for(var i=0; i<uvfieldsets.length; i++){ 71 uvfieldsets[i].addEventListener("focus", (e) => { 72 if(!e.target.classList.contains('noteffect')) 73 e.target.closest("fieldset").classList.add("active"); 74 }); 75 76 77 uvfieldsets[i].addEventListener("blur", (e) => { 78 if(e.target.value.length < 1) 79 e.target.closest("fieldset").classList.remove("active"); 80 }); 81 } 82 83 uvcareersform = document.querySelector(".uv-careersform"); 84 if(uvcareersform){ 85 var uvcareersvalidate = new Bouncer('.uv-careersform', { 86 disableSubmit: true, 87 88 }); 89 } 90 91 92 93 /*document.addEventListener('bouncerFormValid', function (event){ 94 var uvform = event.target; 95 // Send Form Data 96 console.log("Sending"); 97 makeRequest(uvcareersform); 98 // 99 uvform.closest(".uv-pullformbox").querySelector(".uv-careers-formsgcont").classList.add("sending"); 100 101 setTimeout(function(){ 102 uvform.closest(".uv-pullformbox").querySelector(".uv-careers-formsgcont").classList.add("success"); 103 }, 1800); 104 });*/ 105 document.addEventListener('bouncerDestroy', function (event) { 106 // when the library is destroyed 107 console.log("bouncerDestroy..."); 108 }); 109 //share face 110 uvClickListener('.uvjs-fbshare', function(e) 111 { 112 e.preventDefault(); 113 var uvshareurl = encodeURIComponent(this.getAttribute("href")); 114 window.open('https://www.facebook.com/sharer.php?u=' + uvshareurl,'Like','toolbar=0, status=0, width=650, height=450'); 115 }); 116 //share twitter 117 uvClickListener('.uvjs-tweet', function(e){ 118 e.preventDefault(); 119 var uvtweettext = encodeURIComponent(this.getAttribute("href")); 120 window.open('https://twitter.com/intent/tweet?text=' + uvtweettext ,'Tweet','toolbar=0, status=0, width=650, height=450'); 121 }); 122 //copy share 123 var uvcopyshareurl = new Clipboard(".uvjs-share-clip"); 124 125 uvClickListener('.uvjs-closemainpop', function(e){ 126 uvHidePopup(uv_pop_up, true); 127 }); 128 129 uvClickListener('.uvjs-closetermpop', function(e){ 130 uvHidePopup(uv_pop_up_terms, true); 131 }); 132 133 uvcopyshareurl.on("success", function(e){ 134 uvClickListener('.uvjs-share-clip', function() 135 { 136 var uvjsshare = this; 137 uvjsshare.classList.add('ttactive'); 138 setTimeout(function(){ 139 uvjsshare.classList.remove('ttactive'); 140 }, 2000); 141 142 }); 143 }); 144 145 //Scrollbar if exists 146 let uveventsscrollcontainer = document.querySelector(".uvartist-eventstable.scroll"); 147 if(uveventsscrollcontainer){ 148 const uvpsbar = new PerfectScrollbar(uveventsscrollcontainer, { 149 wheelPropagation: false, 150 }); 151 } 152 153 setTimeout(function(){ 154 const uvautoopenelem = document.querySelector(".uvjs-booktypetoggle.uvautoopen"); 155 if(uvautoopenelem) 156 uvautoopenelem.click(); 157 }, 1000); 158});
159function makeRequest(getForm) { 160 httpRequest = new XMLHttpRequest(); 161 //console.log(getForm); 162 var data = new FormData(getForm); 163 164 if (!httpRequest) { 165 alert('Giving up :( Cannot create an XMLHTTP instance'); 166 return false; 167 } 168 httpRequest.onreadystatechange = alertContents; 169 170 httpRequest.open('POST', getForm.action, false); 171 172 httpRequest.send(data); 173 174 return httpRequest.responseText; 175 } 176 177 function alertContents() { 178 if (httpRequest.readyState === XMLHttpRequest.DONE) { 179 if (httpRequest.status === 200) { 180 //alert(httpRequest.responseText); 181 console.log(httpRequest.responseText); 182 } else { 183 alert('There was a problem with the request.'); 184 } 185 } 186 } 187 188 189function uvDisplayMsg(uvmsg, uvtitle, uvbutton){ 190 let uvpophtml = "<div class='uv-pop-header'><div class='uvtitle'>" + uvtitle + "</div></div>"; 191 uvpophtml += "<div class='uv-pop-body'>" + uvmsg + "</div>"; 192 uvpophtml += "<div class='uv-pop-action'><a href='javascript:;' class='uvjs-closemainpop uv-btn-p'>" + uvbutton + "</a></div>"; 193 194 uvClearPopup(uv_pop_up, uvpophtml); 195 uvFadePopup(uv_pop_up); 196} 197function uvDisplayMsgTerms(uvmsg, uvtitle, uvbutton){ 198 let uvpophtml = "<div class='uv-pop-header'><div class='uvtitle'>" + uvtitle + "</div></div>"; 199 uvpophtml += "<div class='uv-pop-body'>" + uvmsg + "</div>"; 200 uvpophtml += "<div class='uv-pop-action'><a href='javascript:;' class='uvjs-closetermpop uv-btn-p'>" + uvbutton + "</a></div>"; 201 202 uvClearPopup(uv_pop_up_terms, uvpophtml); 203 uvFadePopup(uv_pop_up_terms); 204} 205//POPUP IMAGES 206uvClickListener(".uvjs-showpopimg", function(e){ 207 e.preventDefault(); 208 209 uvShowGLoader(); 210 211 let uvimageurl = this.getAttribute("href"); 212 let uvimagepoptitle = this.getAttribute("data-imagepop-title"); 213 214 let uvpophtml = '<div class="uv-pop-header"><div class="uvtitle">' + uvimagepoptitle + '</div></div><div class="uv-pop-body"><img src="' + uvimageurl + '" alt="' + uvimagepoptitle +'" onload="uv_poploader2.classList.remove(\'visible\');uvFadePopup(uv_pop_up);"></div><div class="uv-pop-action"><a href="javascript:;" class="uvjs-closethispop uv-btn-p">Close</a></div>'; 215 216 uv_pop_up.classList.add("uv-pop-img"); 217 uvClearPopup(uv_pop_up, uvpophtml); 218}); 219uvClickListener(".uvjs-closethispop", function(){ 220 let uvpoptarget = this.closest(".uv-pop-cont"); 221 222 uvHidePopup(uvpoptarget, true); 223}); 224 225/*Favo tickets*/ 226uvClickListener(".uvjs-favotickets", function(e){ 227 e.preventDefault(); 228 229 const uvfavocode = this.getAttribute("data-favocode"); 230 GMWidget.open(uvfavocode); 231}); 232 233/*POPUPS FUNCTIONS*/ 234function uvCreatePop(uvpopname){ 235 let uvpopelem = document.createElement("div"); 236 uvpopelem.id = uvpopname; 237 uvpopelem.classList.add("uv-pop-cont"); 238 239 let uvpopelemtab = document.createElement("div"); 240 uvpopelemtab.classList.add("uv-pop-cont-tab"); 241 242 let uvpopelemcell = document.createElement("div"); 243 uvpopelemcell.classList.add("uv-pop-cont-cell"); 244 245 let uvpopelembox = document.createElement("div"); 246 uvpopelembox.classList.add("uv-pop-box"); 247 248 let uvpopelemclose = document.createElement("a"); 249 uvpopelemclose.classList.add("uv-closepop", "uvjs-closepop"); 250 251 let uvpopelemcharge = document.createElement("div"); 252 uvpopelemcharge.classList.add("uv-pop-charge"); 253 254 uvpopelembox.appendChild(uvpopelemclose); 255 uvpopelembox.appendChild(uvpopelemcharge); 256 uvpopelemcell.appendChild(uvpopelembox); 257 uvpopelemtab.appendChild(uvpopelemcell); 258 uvpopelem.appendChild(uvpopelemtab); 259 document.body.appendChild(uvpopelem); 260 261 uvpopelemclose.addEventListener("click", function(){ 262 uvHidePopup(uvpopelem, true); 263 }); 264 uvpopelem.addEventListener("click", function(){ 265 uvHidePopup(uvpopelem); 266 }); 267 268 return uvpopelem; 269} 270function uvFadePopup(uvpoptarget){ 271 uvpoptarget.classList.add("visible"); 272 document.getElementsByTagName( 'html' )[0].classList.add("uv-pop-open"); 273} 274function uvHidePopup(uvpoptarget, uvpopforceclose){ 275 uvpopforceclose = (uvpopforceclose != undefined) ? uvpopforceclose : false;
276 277 let uvpopbox = uvpoptarget.querySelectorAll(".uv-pop-box"); 278 uvpopbox = uvpopbox[0]; 279 280 if((uvpopforceclose) || (!uvpopbox.matches(":hover") && !uvpoptarget.classList.contains("uv-noareaclose"))){ 281 uvpoptarget.classList.remove("visible"); 282 setTimeout(function(){ 283 let uvpopnoclear = (uvpoptarget.classList.contains("uvnoclear")) ? 1 : 0; 284 285 uvpoptarget.className = "uv-pop-cont"; 286 287 //Check if there are popups opened 288 let uvopenedpopups = 0; 289 let uvpopupselems = document.querySelectorAll(".uv-pop-cont"); 290 291 Array.prototype.forEach.call(uvpopupselems, function(el, i){ 292 if(el.classList.contains("visible")) 293 uvopenedpopups++; 294 }); 295 296 if(uvopenedpopups == 0) 297 document.getElementsByTagName( 'html' )[0].classList.remove("uv-pop-open"); 298 299 if(!uvpopnoclear) 300 uvClearPopup(uvpoptarget); 301 else{ 302 uvpoptarget.classList.add("uvnoclear"); 303 setTimeout(function(){ 304 uvpoptarget.classList.add("uvnoclear"); 305 }, 10); 306 } 307 }, 300); 308 } 309} 310function uvClearPopup(uvpoptarget, uvpopcontent){ 311 uvpopcontent = (uvpopcontent != undefined) ? uvpopcontent : ""; 312 313 let uvpopchargetarget = uvpoptarget.querySelectorAll(".uv-pop-charge"); 314 uvpopchargetarget = uvpopchargetarget[0]; 315 316 if(!uvpopchargetarget) 317 uvpopchargetarget = uvpopchargetarget; 318 319 if(uvpopchargetarget){ 320 uvpopchargetarget.innerHTML = ""; 321 uvpopchargetarget.insertAdjacentHTML("beforeend", uvpopcontent); 322 } 323} 324function uvLoadPop(uvpoptarget, uvloadurl, uvloadcallback){ 325 uv_poploader2.classList.add("visible"); 326 327 let uvrequest = new XMLHttpRequest(); 328 329 uvrequest.open('GET', uvloadurl, true); 330 uvrequest.onload = function(){ 331 if(this.status >= 200 && this.status < 400){ 332 // Success! 333 let uvresponse = this.response; 334 335 uvClearPopup(uvpoptarget, uvresponse); 336 uvFadePopup(uvpoptarget); 337 uv_poploader2.classList.remove("visible"); 338 339 if(uvloadcallback && typeof(uvloadcallback) === "function") 340 uvloadcallback(); 341 } else { 342 console.log("UVJS Error: Server returned an error"); 343 } 344 }; 345 uvrequest.onerror = function(){ 346 console.log("UVJS Error: Request Error"); 347 }; 348 349 uvrequest.send(); 350} 351/***************/ 352 353 354function uvShowGLoader(uvmsg){ 355 if(typeof(uvmsg) == "undefined") 356 var uvmsg = ""; 357 358 let uvpoploadermsg = uv_poploader2.getElementsByClassName("uv-urloadermsg")[0]; 359 360 uvpoploadermsg.innerHTML = uvmsg; 361 uvFadePopup(uv_poploader2); 362} 363 364function uvChangeListener(uvselector, uvhandler){ 365 document.addEventListener("change", function(e){ 366 for(var target = e.target; target && target != this; target = target.parentNode){ 367 if(target.matches(uvselector)){ 368 uvhandler.call(target, e); 369 break; 370 } 371 } 372 }, false); 373} 374 375 376/* UV Tables List */ 377uvClickListener(".uvjs-tablelist-bookitem", function(){ 378 let uvitemobj = this.closest(".uv-tablelist-item"); 379 let uvstageobj = uvitemobj.closest(".uv-tableslist"); 380 let uvcartcreateurl = uvstageobj.getAttribute("data-cartcreateurl"); 381 let uvitemmastercode = uvitemobj.getAttribute("data-mastercode"); 382 let uvitemdate = uvstageobj.getAttribute("data-date"); 383 let uvitemvenuecode = uvstageobj.getAttribute("data-venuecode"); 384 let uvcheckoutcarturl = uvstageobj.getAttribute("data-checkoutcarturl"); 385 let uvitemguestselelem = uvitemobj.querySelector(".uvjs-tablelist-selgu"); 386 let uvitemecozone = uvitemobj.getAttribute("data-ecozone"); 387 let uvitemguests = uvitemguestselelem.value; 388 let uviteminfo = uv_tableslistitems[uvitemmastercode]; 389 let uvgtmtracking = uvstageobj.getAttribute("data-gtmtracking"); 390 391 if(uviteminfo){ 392 uvShowGLoader("Loading Cart..."); 393 394 let uvitemcode = uviteminfo["itemcode"]; 395 let uvitemdefpaytype = uviteminfo["defpaytype"]; 396 397 let uvcartcreateparams = "mastercode=" + uvitemmastercode + "&itemcode=" + uvitemcode + "&qty=1&guests=" + uvitemguests + "&caldate=" + uvitemdate + "&paytype="+ uvitemdefpaytype + "&venuecode=" + uvitemvenuecode + "&ecozone=" + uvitemecozone; 398 399 uvcreatecarturl = uvcartcreateurl + "&" + uvcartcreateparams; 400 401 let uvrequest = new XMLHttpRequest(); 402 uvrequest.open('GET', uvcreatecarturl, true); 403 uvrequest.onload = function(){ 404 if (this.status >= 200 && this.status < 400){ 405 // Success! 406 let uvresponse = this.response; 407 uvresponse = JSON.parse(uvresponse); 408 409 if((typeof(uvresponse["uv"]) != undefined) && (uvresponse["uv"]["success"]["status"] == "success")){ 410 let uvgencartcode = uvresponse["uv"]["data"]["cartcode"]; 411 412 //uvcheckoutcarturl = uvcheckoutcarturl + "&cartcode=" + uvgencartcode; 413 uvcheckoutcarturl = uvcheckoutcarturl.replace("{cartcode}", uvgencartcode); 414 415 if(uvgtmtracking == 1){ 416 uvGTMEcoTablesDataLayer(uvitemobj, "addToCart"); 417 } 418 419 window.location.href = uvcheckoutcarturl; 420 } 421 else{ 422 console.log("Cart Not Created"); 423 } 424 } else { 425 console.log("UVJS Error: Server returned an error"); 426 } 427 }; 428 uvrequest.onerror = function(){ 429 console.log("UVJS Error: Request Error"); 430 }; 431 uvrequest.send(); 432 } 433}); 434 435//GTM Tracking 436function uvGTMEcoTablesDataLayer(uvitemobj, uvdatalayertype){ 437 let uvitemmastercode = uvitemobj.getAttribute("data-mastercode"); 438 let uvitempricehtml = uvitemobj.querySelector(".uvprice span").innerHTML; 439 let uvselqtys = 1; 440 441 let uvitemsdets = uv_tableslistitems[uvitemmastercode]; 442 let uvitemcurprice = uvitempricehtml.replace("<span>", ""); 443 uvitemcurprice = uvitemcurprice.replace("</span>", ""); 444 uvitemcurprice = uvitemcurprice.replace(",", ""); 445 446 let uvitemeventname = uvitemsdets.eventname; 447 let uvitemddate = uvitemsdets.ddate; 448 449 let uvitemlistname = (uvitemeventname) ? uvitemeventname + " - " + uvitemddate : uvitemddate; 450 451 //console.log(uvitemsdets); 452 453 let uvitemdata = {"id": uvitemmastercode, "name": uvitemlistname + ": " + uvitemsdets.name, "price": uvitemcurprice, "brand": "UrVenue Inventory", "category": uvitemsdets.booktypename, "quantity": uvselqtys}; 454 455 if(uvdatalayertype == "removeFromCart") 456 dataLayer.push({ 457 "event": uvdatalayertype, 458 "ecommerce": { 459 "currencyCode": "USD", 460 "remove": { 461 "products": uvitemdata 462 } 463 } 464 }); 465 else 466 dataLayer.push({ 467 "event": uvdatalayertype, 468 "ecommerce": { 469 "currencyCode": "USD", 470 "add": { 471 "products": uvitemdata 472 } 473 } 474 }); 475} 476 477//Change date for table list 478uvChangeListener(".uvjs-tableslistdatesel", function(){ 479 let uvtableslistdate = this.value; 480 let uvtableslistdatelabel = this.options[this.selectedIndex].getAttribute("data-datelabel");
481 let uvnewvenuecode = this.options[this.selectedIndex].getAttribute("data-venuecode"); 482 let uvstageobj = this.closest(".uv-tableslist"); 483 uvstageobj.setAttribute("data-venuecode", uvnewvenuecode); 484 let uvtableslistdateurl = uvstageobj.getAttribute("data-loaddateurl"); 485 let uvvenuecode = uvstageobj.getAttribute("data-venuecode"); 486 let uvlistchargeelem = uvstageobj.querySelector(".uv-tablelist-charge"); 487 488 uvtableslistdateurl = uvtableslistdateurl + "&date=" + uvtableslistdate + "&venuecode=" + uvvenuecode; 489 uvShowGLoader("Loading..."); 490 491 document.querySelector(".uvdy-tabledatelabel").innerHTML = uvtableslistdatelabel; 492 493 let uvrequest = new XMLHttpRequest(); 494 uvrequest.open('GET', uvtableslistdateurl, true); 495 uvrequest.onload = function(){ 496 if (this.status >= 200 && this.status < 400){ 497 // Success! 498 let uvresponse = this.response; 499 500 uvresponse = JSON.parse(uvresponse); 501 502 let uvtableslisthtml = uvresponse.listhtml; 503 let uvtableslistitems = uvresponse.items; 504 let uvtablesdate = uvresponse.date; 505 506 uv_tableslistitems = uvtableslistitems; 507 508 uvlistchargeelem.innerHTML = uvtableslisthtml; 509 uvHidePopup(uv_poploader2, true); 510 511 uvstageobj.setAttribute("data-date", uvtablesdate); 512 513 //update map link 514 let uvmapbaselink = document.querySelector(".uvdy-maplink").getAttribute("data-linkbase"); 515 uvmapbaselink = uvmapbaselink + "?date=" + uvtablesdate + "&venue=" + uvvenuecode; 516 document.querySelector(".uvdy-maplink").setAttribute("href", uvmapbaselink); 517 } else { 518 console.log("UVJS Error: Server returned an error"); 519 } 520 }; 521 uvrequest.onerror = function(){ 522 console.log("UVJS Error: Request Error"); 523 }; 524 uvrequest.send(); 525}); 526 527//Calculate price 528uvChangeListener(".uvjs-tablelist-selgu", function(){ 529 let uvitemobj = this.closest(".uv-tablelist-item"); 530 let uvitemmastercode = uvitemobj.getAttribute("data-mastercode"); 531 let uviteminfo = uv_tableslistitems[uvitemmastercode]; 532 let uvitemselguests = this.value; 533 534 if(uviteminfo){ 535 let uvitemnewprice = uvItemCalcGuestPrices(uviteminfo, uvitemselguests); 536 let uvpriceelem = uvitemobj.querySelector(".uvprice span"); 537 538 //uvitemnewprice = uvitemnewprice + " hola"; 539 540 uvpriceelem.innerHTML = uvitemnewprice; 541 } 542}); 543function uvItemCalcGuestPrices(uviteminfo, uvitemguests){ 544 let uvitemprice = ""; 545 546 if(uviteminfo && uvitemguests){ 547 let uvitemcapacity = uviteminfo.capacity / 1; 548 let uvitembaseprice = uviteminfo.baseprice / 1; 549 let uvitemtierbaseprice = uviteminfo.tierbaseprice /1; 550 let uvitemtier = uviteminfo.currenttier / 1; 551 let uvitemovercapacity = uviteminfo.overcapacity / 1; 552 let uvitemtierovercapacity = uviteminfo.tierovercapacity / 1; 553 554 if(uvitemguests > uvitemcapacity) 555 uvitemoverguests = uvitemguests - uvitemcapacity; 556 else 557 uvitemoverguests = 0; 558 559 //Price Guests Formula 560 uvitemprice = uvitembaseprice + uvitemtierbaseprice * uvitemtier + uvitemovercapacity * uvitemoverguests + uvitemtierovercapacity * uvitemoverguests * uvitemtier; 561 562 uvitemprice = uvitemprice.formatTableMoney(2, ',', '.'); 563 uvitemprice = uvitemprice.replace(".00", ""); 564 } 565 566 return uvitemprice; 567} 568Number.prototype.formatTableMoney = function(decPlaces, thouSeparator, decSeparator) { 569 var n = this, 570 decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces, 571 decSeparator = decSeparator == undefined ? "." : decSeparator, 572 thouSeparator = thouSeparator == undefined ? "," : thouSeparator, 573 sign = n < 0 ? "-" : "", 574 i = parseInt(n = Math.abs(+n || 0).toFixed(decPlaces)) + "", 575 j = (j = i.length) > 3 ? j % 3 : 0; 576 577 return sign + (j ? i.substr(0, j) + thouSeparator : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thouSeparator) + (decPlaces ? decSeparator + Math.abs(n - i).toFixed(decPlaces).slice(2) : ""); 578}; 579 580//Global Inquire 581uvClickListener(".uvjs-inquirepop", function(){ 582 let uvloadinqurl = ""; 583 let uvitemobj = this.closest(".uv-tablelist-item"); 584 585 if(!uvitemobj && document.querySelector(".uv-map-stage")){ 586 uvloadinqurl = document.querySelector(".uv-map-stage").getAttribute("data-loadinqurl"); 587 uvitemobj = this.closest(".uv-map-itempop"); 588 } 589 else if(!uvitemobj && this.closest(".uv-event-item")){ 590 uvloadinqurl = document.querySelector(".uv-event-items").getAttribute("data-loadinqurl"); 591 uvitemobj = this.closest(".uv-event-item"); 592 } 593 594 uvloadinqurl = (uvloadinqurl) ? uvloadinqurl : uvitemobj.getAttribute("data-loadinqurl"); 595 let uvmastercode = uvitemobj.getAttribute("data-mastercode"); 596 let uvitemcode = uvitemobj.getAttribute("data-itemcode"); 597 let uvglobaltype = uvitemobj.getAttribute("data-itemglobaltype"); 598 let uvvenuecode = uvitemobj.getAttribute("data-venuecode"); 599 let uvitemdate = uvitemobj.getAttribute("data-itemdate"); 600 let uvbooktypecode = uvitemobj.getAttribute("data-booktypecode"); 601 let uvitemname = uvitemobj.getAttribute("data-itemname"); 602 603 uv_poploader2.classList.add("visible"); 604 uv_pop_up.classList.add("uv-invinquirepop"); 605 606 let uvinvinquireloadpopurl = uvloadinqurl + "&mastercode=" + uvmastercode + "&itemcode=" + uvitemcode + "&venuecode=" + uvvenuecode + "&date=" + uvitemdate + "&globaltype=" + uvglobaltype + "&uvbooktypecode=" + uvbooktypecode + "&itemname=" + uvitemname; 607 uvLoadPop(uv_pop_up, uvinvinquireloadpopurl, uvItemInqForm); 608}); 609 610uvClickListener(".uvjs-inquirepop-date", function(){ 611 let uvloadinqurl = document.querySelector(".uv-event-items").getAttribute("data-loadinqurl"); 612 613 let uvmastercode = (this.getAttribute("data-mastercode")) ? this.getAttribute("data-mastercode") : ""; 614 let uvitemcode = (this.getAttribute("data-itemcode")) ? this.getAttribute("data-itemcode") : ""; 615 let uvglobaltype = (this.getAttribute("data-itemglobaltype")) ? this.getAttribute("data-itemglobaltype") : ""; 616 let uvvenuecode = (this.getAttribute("data-venuecode")) ? this.getAttribute("data-venuecode") : ""; 617 let uvitemdate = (this.getAttribute("data-itemdate")) ? this.getAttribute("data-itemdate") : ""; 618 let uvbooktypecode = (this.getAttribute("data-booktypecode")) ? this.getAttribute("data-booktypecode") : ""; 619 let uvitemname = (this.getAttribute("data-itemname")) ? this.getAttribute("data-itemname") : ""; 620 621 uv_poploader2.classList.add("visible"); 622 uv_pop_up.classList.add("uv-invinquirepop"); 623 624 let uvinvinquireloadpopurl = uvloadinqurl + "&mastercode=" + uvmastercode + "&itemcode=" + uvitemcode + "&venuecode=" + uvvenuecode + "&date=" + uvitemdate + "&globaltype=" + uvglobaltype + "&uvbooktypecode=" + uvbooktypecode + "&itemname=" + uvitemname; 625 626 uvLoadPop(uv_pop_up, uvinvinquireloadpopurl, uvItemInqForm); 627}); 628 629//Inquire form functions 630function uvItemInqForm(){ 631 let uvfieldsets = document.querySelectorAll(".uv-inqform-cont form fieldset input, .uv-inqform-cont form fieldset textarea"); 632 633 for(var i=0; i<uvfieldsets.length; i++){ 634 uvfieldsets[i].addEventListener("focus", (e) => { 635 if(!e.target.classList.contains('noteffect')) 636 e.target.closest("fieldset").classList.add("active"); 637 }); 638 639 uvfieldsets[i].addEventListener("blur", (e) => { 640 if(e.target.value.length < 1) 641 e.target.closest("fieldset").classList.remove("active"); 642 }); 643 } 644 645 new Bouncer('.uvjs-inqform', { 646 disableSubmit: true, 647 }); 648} 649 650//Check for valid forms 651document.addEventListener('bouncerFormValid', function (e){ 652 let uvform = e.target; 653 if(uvform.closest(".uv-formcms")) 654 { 655 console.log(":)");
656 //var response = makeRequest(uvformcms); 657 658 } 659 else if(uvform.closest(".uv-formprivate")) 660 { 661 console.log("form private kitty kitty and big game"); 662 } 663 else if(uvform.closest(".uvjs-inqform")) 664 { 665 //Inq form 666 document.querySelector(".uv-careers-formsgcont").classList.add('sending'); 667 let uvinqformprourl = uvform.getAttribute("data-inqformprourl"); 668 let uvformdata = new FormData(uvform); 669 let uvrequest = new XMLHttpRequest(); 670 uvrequest.open('POST', uvinqformprourl, true); 671 uvrequest.onload = function(){ 672 if(this.status >= 200 && this.status < 400){ 673 // Success! 674 let uvresponse = this.response; 675 676 if(uvresponse != "0"){ 677 if(uvform.querySelector("#email")){ 678 const uvtrconvemail = uvform.querySelector("#email").value; 679 680 const uvconvdatalayer = { 681 "uvconversion": { 682 "email": uvtrconvemail, 683 } 684 }; 685 686 window.dataLayer = window.dataLayer || []; 687 dataLayer.push({ "uvconversion": null }); 688 dataLayer.push(uvconvdatalayer); 689 } 690 691 document.querySelector(".uv-careers-formsgcont").classList.add('success'); 692 dataLayer.push({ 693 "event": "uvleads-invitemsent" 694 }); 695 } 696 } else { 697 console.log("UVJS Error: Server returned an error"); 698 } 699 }; 700 uvrequest.onerror = function(){ 701 console.log("UVJS Error: Request Error"); 702 }; 703 uvrequest.send(uvformdata); 704 } 705 else{ 706 707 //if(!uvform.closest(".uv-inqform-cont")) 708 if(!uvform.closest(".uv-inqformcont")) 709 { 710 var isCaptchaChecked = (grecaptcha && grecaptcha.getResponse().length !== 0); 711 // Send Form Data 712 if(document.querySelector(".uvcaptcha")) 713 document.querySelector(".uvcaptcha").classList.remove("error"); 714 715 716 console.log("Sending..."); 717 if(isCaptchaChecked) 718 { 719 uvform.closest(".uv-pullformbox").querySelector(".uv-careers-formsgcont").classList.add("sending"); 720 721 //--- 722 if(document.querySelector(".uvcaptcha")) 723 { 724 setTimeout(function() 725 { 726 var response = makeRequest(uvcareersform); 727 if(response == 1){ 728 // if(document.querySelector(".uvcaptcha")) 729 // document.querySelector(".uvcaptcha").classList.remove("error"); 730 731 if(uvcareersform.querySelector(".uvtr-convemail")){ 732 const uvtrconvemail = uvcareersform.querySelector(".uvtr-convemail").value; 733 734 const uvconvdatalayer = { 735 "uvconversion": { 736 "email": uvtrconvemail, 737 } 738 }; 739 740 window.dataLayer = window.dataLayer || []; 741 dataLayer.push({ "uvconversion": null }); 742 dataLayer.push(uvconvdatalayer); 743 } 744 745 setTimeout(function(){ 746 uvform.closest(".uv-pullformbox").querySelector(".uv-careers-formsgcont").classList.add("success"); 747 }, 1800); 748 console.log("Send"); 749 } 750 else 751 { 752 console.log("missing captcha"); 753 if(document.querySelector(".uvcaptcha")) 754 document.querySelector(".uvcaptcha").classList.add("error"); 755 } 756 }, 700); 757 } 758 //--- 759 } 760 else 761 { 762 console.log("missing captcha"); 763 if(document.querySelector(".uvcaptcha")) 764 document.querySelector(".uvcaptcha").classList.add("error"); 765 } 766 767 768 // else{ 769 // response = 1; 770 // } 771 //console.log("response: "+response); 772 // 773 774 } 775 else 776 { 777 //Inq form 778 // let uvinqformprourl = uvform.getAttribute("data-inqformprourl"); 779 // let uvformdata = new FormData(uvform); 780 var uvformmsgselem = uvform.closest(".uv-pullformbox").querySelector(".uv-careers-formsgcont"); 781 uvformmsgselem.classList.add("sending"); 782 783 784 let tempemail = document.getElementById('subs-email').value; 785 let tempname = document.getElementById('firstname').value; 786 let templastname = document.getElementById('lastname').value; 787 const uvformurl = "//urvenue.us2.list-manage.com/subscribe/post-json?u=7f39d8c5a9bb327984e6e7588&id=18c27a9ebf&c=callback" 788 let uvdata = "&MERGE0="+tempemail+"&MERGE1="+tempname+"&MERGE2="+templastname+""; 789 790 var uvscript = document.createElement('script'); 791 uvscript.src = uvformurl + uvdata; 792 document.body.appendChild(uvscript); 793 //send to mailchimp 794 var uvcallback = 'callback'; 795 window[uvcallback] = function(respdata){ 796 797 // Remove post script from the DOM 798 delete window[uvcallback]; 799 document.body.removeChild(uvscript); 800 801 if(respdata.msg){ 802 console.log("sent"); 803 } 804 } 805 806 setTimeout(function(){
807 var response = makeRequest(uvinqform); 808 809 if(response == 1) 810 { 811 setTimeout(function(){ 812 if(uvinqform.querySelector(".uvtr-convemail")){ 813 const uvtrconvemail = uvinqform.querySelector(".uvtr-convemail").value; 814 815 const uvconvdatalayer = { 816 "uvconversion": { 817 "email": uvtrconvemail, 818 } 819 }; 820 821 window.dataLayer = window.dataLayer || []; 822 dataLayer.push({ "uvconversion": null }); 823 dataLayer.push(uvconvdatalayer); 824 } 825 826 uvformmsgselem.classList.add("success"); 827 }, 1800); 828 } 829 }, 700); 830 831 //Send Request 832 /* 833 let uvrequest = new XMLHttpRequest(); 834 uvrequest.open('POST', uvinqformprourl, true); 835 uvrequest.onload = function(){ 836 if(this.status >= 200 && this.status < 400){ 837 // Success! 838 let uvresponse = this.response; 839 840 if(uvresponse != "0"){ 841 uvformmsgselem.classList.add("success"); 842 843 dataLayer.push({ 844 "event": "uvleads-invitemsent" 845 }); 846 } 847 } else { 848 console.log("UVJS Error: Server returned an error"); 849 } 850 }; 851 uvrequest.onerror = function(){ 852 console.log("UVJS Error: Request Error"); 853 }; 854 uvrequest.send(uvformdata); 855 */ 856 } 857 } 858}); 859 860function uvClickListener(uvselector, uvhandler){ 861 document.addEventListener("click", function(e){ 862 for(var target = e.target; target && target != this; target = target.parentNode){ 863 if(target.matches(uvselector)){ 864 uvhandler.call(target, e); 865 break; 866 } 867 } 868 }, false); 869} 870 871uvClickListener(".uvjs-bgvideo", function(e){ 872 console.log("play video"); 873}); 874 875uvClickListener(".uvjs-is-playvideo a, .uvjs-playvideo", function(e){ 876 e.preventDefault(); 877 878 console.log(this); 879 880 let uvvideourl = this.getAttribute("href"); 881 let uvvideoid = uvvideourl.match("v=([a-zA-Z0-9\_\-]+)&?")[1]; 882 883 if((uvvideoid != undefined) && (uvvideoid.length > 0)){ 884 e.preventDefault(); 885 886 uv_popup.addClass("uv-pop-video"); 887 uv_popup.addClass("clearonclose"); 888 let uvvideopophtml = "<div class='uvvideoframe'><iframe src='https://www.youtube.com/embed/" + uvvideoid + "?autoplay=1' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen onload=\"\"></iframe></div>"; 889 890 uvClearPopup(uv_popup, uvvideopophtml); 891 uvFadePopup(uv_popup); 892 } 893}); 894 895/*! 896 * clipboard.js v1.5.12 897 * https://zenorocha.github.io/clipboard.js 898 * 899 * Licensed MIT � Zeno Rocha 900 */ 901!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(t,e,n){var o=t("matches-selector");e.exports=function(t,e,n){for(var i=n?t:t.parentNode;i&&i!==document;){if(o(i,e))return i;i=i.parentNode}}},{"matches-selector":5}],2:[function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function i(t,e,n,o){return function(n){n.delegateTarget=r(n.target,e,!0),n.delegateTarget&&o.call(t,n)}}
901var r=t("closest");e.exports=o},{closest:1}],3:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],4:[function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return i(t,e,n);if(c.nodeList(t))return r(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function r(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=o},{"./is":3,delegate:2}],5:[function(t,e,n){function o(t,e){if(r)return r.call(t,e);for(var n=t.parentNode.querySelectorAll(e),o=0;o<n.length;++o)if(n[o]==t)return!0;return!1}var i=Element.prototype,r=i.matchesSelector||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;e.exports=o},{}],6:[function(t,e,n){function o(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;
901else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),o=document.createRange();o.selectNodeContents(t),n.removeAllRanges(),n.addRange(o),e=n.toString()}return e}e.exports=o},{}],7:[function(t,e,n){function o(){}o.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){i.off(t,o),e.apply(n,arguments)}var i=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;for(o;i>o;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;a>r;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},e.exports=o},{}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","select"],r);else if("undefined"!=typeof o)r(n,e("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(t,e){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=n(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),c=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){this.text?this.selectFake():this.target&&this.selectTarget()},t.prototype.selectFake=function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=(0,i.default)(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},a(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:6}],9:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var l=i(e),u=i(n),f=i(o),d=function(t){function e(n,o){r(this,e);var i=a(this,t.call(this));return i.resolveOptions(o),i.listenClick(n),i}return c(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return s("action",e)},e.prototype.defaultTarget=function t(e){var n=s("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return s("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(u.default);t.exports=d})},{"./clipboard-action":8,"good-listener":4,"tiny-emitter":7}]},{},[9])(9)});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.