1/** 2 * @return {undefined} 3 */ 4function abs_add_to_calendar() { 5 /** 6 * @param {string} id 7 * @return {?} 8 */ 9 function $(id) { 10 return document.getElementById(id); 11 } 12 var self = function() { 13 var e; 14 var t; 15 var midInPackage; 16 var o; 17 var conflict; 18 var hoverElement; 19 var tref; 20 var going; 21 /** @type {boolean} */ 22 var r = false; 23 /** @type {number} */ 24 var uuid = 1; 25 /** @type {boolean} */ 26 var files_list = false; 27 /** @type {boolean} */ 28 var p = true; 29 /** @type {boolean} */ 30 var u = false; 31 /** @type {boolean} */ 32 var v = false; 33 /** @type {boolean} */ 34 var m = false; 35 /** @type {number} */ 36 var zIndex = 1; 37 /** @type {string} */ 38 var fragment = ""; 39 /** @type {boolean} */ 40 var xmlDoc = true; 41 /** @type {boolean} */ 42 var show = true; 43 /** @type {boolean} */ 44 var w = true; 45 /** @type {boolean} */ 46 var disabled = true; 47 /** @type {boolean} */ 48 var k = true; 49 /** @type {boolean} */ 50 var y = true; 51 /** @type {string} */ 52 var dataText = "Apple Calendar"; 53 /** @type {string} */ 54 var error = "Google <em>(online)</em>"; 55 /** @type {string} */ 56 var text = "Outlook"; 57 /** @type {string} */ 58 var result = "Outlook.com <em>(online)</em>"; 59 /** @type {string} */ 60 var txt = "Yahoo <em>(online)</em>"; 61 /** @type {string} */ 62 var textValue = "Facebook Event"; 63 /** @type {null} */ 64 var callback = null; 65 /** @type {null} */ 66 var msg = null; 67 /** @type {null} */ 68 var fn = null; 69 /** @type {null} */ 70 var _fn = null; 71 /** @type {null} */ 72 var requestFrame = null; 73 /** @type {null} */ 74 var realTrigger = null; 75 /** @type {boolean} */ 76 var M = false; 77 return{ 78 /** 79 * @return {undefined} 80 */ 81 initialize : function() { 82 if (!r) { 83 /** @type {boolean} */ 84 r = true; 85 try { 86 addeventasync(); 87 } catch (e) { 88 } 89 /** @type {string} */ 90 t = (e = "https:") + "//" + (midInPackage = "addevent.com"); 91 /** @type {string} */ 92 o = "undefined" != typeof SVGRect ? "https://www.addevent.com/gfx/icon-calendar-t1.svg" : "https://www.addevent.com/gfx/icon-calendar-t5.png"; 93 self.trycss(); 94 self.generate(); 95 } 96 }, 97 /** 98 * @return {undefined} 99 */ 100 generate : function() { 101 /** @type {NodeList} */ 102 var elements = document.getElementsByTagName("*"); 103 /** @type {number} */ 104 var j = 0; 105 for (;j < elements.length;j += 1) { 106 if (self.hasclass(elements[j], "addeventatc")) { 107 (function() { 108 var domId = "addeventatc" + uuid; 109 elements[j].id = domId; 110 /** @type {string} */ 111 elements[j].title = ""; 112 /** @type {string} */ 113 elements[j].style.visibility = "visible"; 114 elements[j].setAttribute("aria-haspopup", "true"); 115 elements[j].setAttribute("aria-expanded", "false"); 116 elements[j].setAttribute("tabindex", "0"); 117 if (files_list) { 118 /** 119 * @return {?} 120 */ 121 elements[j].onclick = function() { 122 return false; 123 }; 124 /** 125 * @return {undefined} 126 */ 127 elements[j].onmouseover = function() { 128 clearTimeout(tref); 129 self.toogle(this, { 130 type : "mouseover", 131 id : domId 132 }); 133 }; 134 /** 135 * @return {undefined} 136 */ 137 elements[j].onmouseout = function() { 138 /** @type {number} */ 139 tref = setTimeout(function() { 140 self.mouseout(this, { 141 type : "mouseout", 142 id : domId 143 }); 144 }, 100); 145 }; 146 } else { 147 /** 148 * @return {?} 149 */ 150 elements[j].onclick = function() { 151 return self.toogle(this, { 152 type : "click", 153 id : domId 154 }), false; 155 }; 156 /** 157 * @return {undefined} 158 */ 159 elements[j].onmouseover = function() { 160 }; 161 /** 162 * @return {undefined} 163 */ 164 elements[j].onmouseout = function() { 165 }; 166 } 167 /** 168 * @param {Event} e 169 * @return {undefined} 170 */ 171 elements[j].onkeydown = function(e) { 172 var first = e.which || e.keyCode; 173 if (!("13" != first && ("32" != first && ("27" != first && ("38" != first && "40" != first))))) { 174 e.preventDefault(); 175 } 176 if (!("13" != first && "32" != first)) { 177 self.keyboardclick(this, { 178 type : "click", 179 id : domId 180 }); 181 self.toogle(this, { 182 type : "click", 183 id : domId, 184 keynav : true 185 }); 186 } 187 if ("27" == first) { 188 self.hideandreset(); 189 } 190 if ("38" == first) { 191 self.keyboard(this, { 192 type : "keyboard", 193 id : domId, 194 key : "up" 195 }); 196 } 197 if ("40" == first) { 198 self.keyboard(this, { 199 type : "keyboard", 200 id : domId, 201 key : "down" 202 }); 203 } 204 /** @type {boolean} */ 205 M = true; 206 }; 207 /** 208 * @return {undefined} 209 */ 210 elements[j].onblur = function() { 211 if (M) { 212 setTimeout(function() { 213 self.hideandreset(); 214 }, 300); 215 } 216 }; 217 var el = elements[j]; 218 if ("none" != elements[j].getAttribute("data-styling") && "inline-buttons" != elements[j].getAttribute("data-render") || (p = false), p) { 219 /** @type {Element} */ 220 var elContent = document.createElement("span"); 221 /** @type {string} */ 222 elContent.className = "addeventatc_icon"; 223 el.appendChild(elContent); 224 } 225 uuid++; 226 /** @type {boolean} */ 227 u = true; 228 var codeSegments = elements[j].getElementsByTagName("*"); 229 /** @type {number} */ 230 var i = 0; 231 for (;i < codeSegments.length;i += 1) { 232 if (!self.hasclass(codeSegments[i], "atc_node")) { 233 if ("" != codeSegments[i].className) { 234 codeSegments[i].className += " atc_node"; 235 } else { 236 codeSegments[i].className += "atc_node"; 237 } 238 } 239 } 240 if ("inline-buttons" == elements[j].getAttribute("data-render")) { 241 /** 242 * @return {undefined} 243 */ 244 elements[j].onclick = function() { 245 }; 246 self.toogle(elements[j], { 247 type : "render", 248 id : domId 249 }); 250 elements[j].setAttribute("aria-expanded", "true"); 251 elements[j].removeAttribute("tabindex"); 252 /** 253 * @return {undefined} 254 */ 255 elements[j].onkeydown = function() { 256 }; 257 /** 258 * @return {undefined} 259 */ 260 elements[j].blur = function() { 261 }; 262 /** @type {(HTMLElement|null)} */ 263 var element = document.getElementById(domId + "-drop"); 264 if (element) { 265 element.setAttribute("aria-hidden", "false"); 266 /** @type {NodeList} */ 267 codeSegments = element.getElementsByTagName("SPAN"); 268 /** @type {number} */ 269 i = 0; 270 for (;i < codeSegments.length;i += 1) { 271 codeSegments[i]; 272 /** @type {string} */ 273 codeSegments[i].tabIndex = "0"; 274 /** 275 * @param {Event} e 276 * @return {undefined} 277 */ 278 codeSegments[i].onkeydown = function(e) { 279 var first = e.which || e.keyCode; 280 if (!("13" != first && "32" != first)) { 281 e.target.click(); 282 } 283 }; 284 } 285 } 286 } 287 })(); 288 } 289 } 290 zIndex = self.topzindex(); 291 if (p) { 292 self.applycss(); 293 } else {
294 self.removeelement($("ate_css")); 295 self.removeelement($("ate_tmp_css")); 296 self.helpercss(); 297 } 298 if (u) { 299 if (!v) { 300 /** @type {boolean} */ 301 v = true; 302 self.track({ 303 typ : "exposure", 304 cal : "" 305 }); 306 } 307 } 308 }, 309 /** 310 * @param {Element} map 311 * @param {Object} e 312 * @return {?} 313 */ 314 toogle : function(map, e) { 315 var id; 316 var el; 317 var name; 318 /** @type {boolean} */ 319 var i = false; 320 /** @type {string} */ 321 var html = ""; 322 if (id = map.id, el = $(id)) { 323 name = el.getAttribute("data-direct"); 324 var data_intel = el.getAttribute("data-intel"); 325 var data_intel_apple = el.getAttribute("data-intel-apple"); 326 if ("ios" == self.agent() && ("click" == e.type && ("true" !== data_intel_apple && ("false" !== data_intel && (name = "appleical", el.setAttribute("data-intel-apple", "true"))))), "outlook" == name || ("google" == name || ("yahoo" == name || ("hotmail" == name || ("outlookcom" == name || ("appleical" == name || ("apple" == name || "facebook" == name))))))) { 327 if ("click" == e.type) { 328 self.click({ 329 button : id, 330 service : name, 331 id : e.id 332 }); 333 if (null != callback) { 334 self.trigger("button_click", { 335 id : id 336 }); 337 } 338 } 339 } else { 340 if ("mouseover" == e.type && (hoverElement != el && (m = false)), "click" == e.type || ("render" == e.type || "mouseover" == e.type && !m)) { 341 if ("mouseover" == e.type) { 342 /** @type {boolean} */ 343 m = true; 344 if (null != msg) { 345 self.trigger("button_mouseover", { 346 id : id 347 }); 348 } 349 } 350 i = self.getburl({ 351 id : id, 352 facebook : true 353 }); 354 355 if ("" == fragment) { 356 /** @type {string} */ 357 fragment = "appleical,google,outlook,outlookcom,yahoo,facebook"; 358 } 359 /** @type {Array.<string>} */ 360 var branchDataJSON = (fragment = (fragment += ",").replace(/ /gi, "")).split(","); 361 /** @type {number} */ 362 var conditionIndex = 0; 363 for (;conditionIndex < branchDataJSON.length;conditionIndex += 1) { 364 if (xmlDoc && "ical" == branchDataJSON[conditionIndex] || xmlDoc && "appleical" == branchDataJSON[conditionIndex]) { 365 html += '<span class="ateappleical" id="' + id + '-appleical" role="menuitem">' + dataText + "</span>"; 366 } 367 if (show) { 368 if ("google" == branchDataJSON[conditionIndex]) { 369 html += '<span class="ategoogle" id="' + id + '-google" role="menuitem">' + error + "</span>"; 370 } 371 } 372 if (w) { 373 if ("outlook" == branchDataJSON[conditionIndex]) { 374 html += '<span class="ateoutlook" id="' + id + '-outlook" role="menuitem">
374' + text + "</span>"; 375 } 376 } 377 if (disabled && "hotmail" == branchDataJSON[conditionIndex] || disabled && "outlookcom" == branchDataJSON[conditionIndex]) { 378 html += '<span class="ateoutlookcom" id="' + id + '-outlookcom" role="menuitem">' + result + "</span>"; 379 } 380 if (k) { 381 if ("yahoo" == branchDataJSON[conditionIndex]) { 382 html += '<span class="ateyahoo" id="' + id + '-yahoo" role="menuitem">' + txt + "</span>"; 383 } 384 } 385 if (i) { 386 if ("facebook" == branchDataJSON[conditionIndex]) { 387 if (y) { 388 if ("facebook" == branchDataJSON[conditionIndex]) { 389 html += '<span class="atefacebook" id="' + id + '-facebook" role="menuitem">' + textValue + "</span>"; 390 } 391 } 392 } 393 } 394 } 395 if (self.getlicense(conflict) || (html += '<em class="copyx"><em class="brx"></em><em class="frs"><a href="https://www.addevent.com" title="" tabindex="-1" id="' + id + '-home">AddEvent.com</a></em></em>'), !$(id + "-drop")) { 396 /** @type {Element} */ 397 var node = document.createElement("span"); 398 /** @type {string} */ 399 node.id = id + "-drop"; 400 /** @type {string} */ 401 node.className = "addeventatc_dropdown"; 402 node.setAttribute("aria-hidden", "true"); 403 node.setAttribute("aria-labelledby", id); 404 /** @type {string} */ 405 node.innerHTML = html; 406 el.appendChild(node); 407 } 408 if ($(id + "-appleical")) { 409 /** 410 * @return {undefined} 411 */ 412 $(id + "-appleical").onclick = function() { 413 self.click({ 414 button : id, 415 service : "appleical", 416 id : e.id 417 }); 418 }; 419 } 420 if ($(id + "-google")) { 421 /** 422 * @return {undefined} 423 */ 424 $(id + "-google").onclick = function() { 425 self.click({ 426 button : id, 427 service : "google", 428 id : e.id 429 }); 430 }; 431 } 432 if ($(id + "-outlook")) { 433 /** 434 * @return {undefined} 435 */ 436 $(id + "-outlook").onclick = function() { 437 self.click({ 438 button : id, 439 service : "outlook", 440 id : e.id 441 }); 442 }; 443 } 444 if ($(id + "-outlookcom")) { 445 /** 446 * @return {undefined} 447 */ 448 $(id + "-outlookcom").onclick = function() { 449 self.click({ 450 button : id, 451 service : "outlookcom", 452 id : e.id 453 }); 454 }; 455 } 456 if ($(id + "-yahoo")) { 457 /** 458 * @return {undefined} 459 */ 460 $(id + "-yahoo").onclick = function() { 461 self.click({ 462 button : id, 463 service : "yahoo", 464 id : e.id 465 }); 466 }; 467 } 468 if ($(id + "-facebook")) { 469 /** 470 * @return {undefined} 471 */ 472 $(id + "-facebook").onclick = function() { 473 self.click({ 474 button : id, 475 service : "facebook", 476 id : e.id 477 }); 478 }; 479 } 480 if ($(id + "-home")) { 481 /** 482 * @return {undefined} 483 */ 484 $(id + "-home").onclick = function() { 485 self.click({ 486 button : id, 487 service : "home", 488 id : e.id 489 }); 490 }; 491 } 492 self.show(id, e); 493 } 494 } 495 return hoverElement = el, false; 496 } 497 }, 498 /** 499 * @param {?} opt_attributes 500 * @return {undefined} 501 */ 502 click : function(opt_attributes) { 503 var elem; 504 var a; 505 var str; 506 /** @type {string} */ 507 var last = location.origin; 508 /** @type {boolean} */ 509 var newWindow = true; 510 if (void 0 === location.origin && (last = location.protocol + "//" + location.host), elem = $(opt_attributes.button)) { 511 if ("home" == opt_attributes.service) { 512 /** @type {string} */ 513 str = "https://www.addevent.com"; 514 } else { 515 a = self.getburl({ 516 id : opt_attributes.button, 517 facebook : false 518 }); 519 /** @type {string} */ 520 str = "https://www.addevent.com/create/?service=" + opt_attributes.service + a; 521 if (!("outlook" != opt_attributes.service && "appleical" != opt_attributes.service)) { 522 /** @type {boolean} */ 523 newWindow = false; 524 if (self.usewebcal()) { 525 /** @type {string} */ 526 str = "webcal://www.addevent.com/create/?uwc=on&service=" + opt_attributes.service + a; 527 } 528 } 529 var id = elem.getAttribute("data-id"); 530 if (null !== id) { 531 /** @type {string} */ 532 str = "https://www.addevent.com/event/?" + id + "+" + opt_attributes.service; 533 } 534 } 535 if (!$("atecllink")) { 536 /** @type {Element} */ 537 var node = document.createElement("a"); 538 /** @type {string} */ 539 node.id = "atecllink"; 540 /** @type {string} */ 541 node.rel = "external"; 542 node.setAttribute("data-role", "none"); 543 /** @type {string} */ 544 node.innerHTML = "{addeventatc-ghost-link}"; 545 /** @type {string} */ 546 node.style.display = "none"; 547 document.body.appendChild(node); 548 } 549 var el = $("atecllink"); 550 if (el.target = newWindow ? "_blank" : "_self", el.href = str, self.eclick("atecllink"), self.track({ 551 typ : "click", 552 cal : opt_attributes.service 553 }), null != realTrigger) { 554 self.trigger("button_dropdown_click", { 555 id : opt_attributes.button, 556 service : opt_attributes.service 557 }); 558 try { 559 (event || window.event).stopPropagation(); 560 } catch (e) { 561 } 562 } 563 } 564 }, 565 /** 566 * @param {?} dataAndEvents 567 * @param {Element} data 568 * @return {undefined} 569 */ 570 mouseout : function(dataAndEvents, data) { 571 /** @type {boolean} */ 572 m = false; 573 self.hideandreset(); 574 if (null != fn) { 575 self.trigger("button_mouseout", { 576 id : data.id 577 }); 578 } 579 }, 580 /** 581 * @param {string} id 582 * @param {Object} e 583 * @return {undefined} 584 */ 585 show : function(id, e) { 586 var element = $(id); 587 var elm = $(id + "-drop"); 588 if (element && elm) {
589 if ("block" == self.getstyle(elm, "display")) { 590 self.hideandreset(); 591 } else { 592 self.hideandreset(true); 593 /** @type {string} */ 594 elm.style.display = "block"; 595 /** @type {string} */ 596 element.style.outline = "0"; 597 element.style.zIndex = zIndex + 1; 598 /** @type {string} */ 599 element.className = element.className + " addeventatc-selected"; 600 /** @type {string} */ 601 element.className = element.className.replace(/\s+/g, " "); 602 element.setAttribute("aria-expanded", "true"); 603 elm.setAttribute("aria-hidden", "false"); 604 if (e.keynav) { 605 self.keyboard(this, { 606 type : "keyboard", 607 id : id, 608 key : "down" 609 }); 610 } 611 var middle = element.getAttribute("data-dropdown-x"); 612 var dir = element.getAttribute("data-dropdown-y"); 613 /** @type {string} */ 614 var direction = "auto"; 615 /** @type {string} */ 616 var right = "auto"; 617 if (null != middle) { 618 right = middle; 619 } 620 if (null != dir) { 621 direction = dir; 622 } 623 /** @type {string} */ 624 elm.style.left = "0px"; 625 /** @type {string} */ 626 elm.style.top = "0px"; 627 /** @type {string} */ 628 elm.style.display = "block"; 629 /** @type {number} */ 630 var currentPosition = parseInt(element.offsetHeight); 631 /** @type {number} */ 632 var j = parseInt(element.offsetWidth); 633 /** @type {number} */ 634 var width = parseInt(elm.offsetHeight); 635 /** @type {number} */ 636 var length = parseInt(elm.offsetWidth); 637 var coords = self.viewport(); 638 /** @type {number} */ 639 var low = parseInt(coords.w); 640 /** @type {number} */ 641 var a = parseInt(coords.h); 642 /** @type {number} */ 643 var high = parseInt(coords.x); 644 /** @type {number} */ 645 var b = parseInt(coords.y); 646 var cs = self.elementposition(elm); 647 /** @type {number} */ 648 var line = parseInt(cs.x); 649 /** @type {number} */ 650 var px = parseInt(cs.y) + width; 651 /** @type {number} */ 652 var exponent = a + b; 653 /** @type {number} */ 654 var l = line + length; 655 /** @type {number} */ 656 var i = low + high; 657 /** @type {number} */ 658 var w = 0; 659 /** @type {number} */ 660 var position = 0; 661 if ("down" == direction && "left" == right) { 662 /** @type {string} */ 663 w = "0px"; 664 /** @type {string} */ 665 position = currentPosition + "px"; 666 } else { 667 if ("up" == direction && "left" == right) { 668 /** @type {string} */ 669 w = "0px"; 670 /** @type {string} */ 671 position = -width + "px"; 672 } else { 673 if ("down" == direction && "right" == right) { 674 /** @type {string} */ 675 w = -(length - j) + "px"; 676 /** @type {string} */ 677 position = currentPosition + "px"; 678 } else { 679 if ("up" == direction && "right" == right) { 680 /** @type {string} */ 681 w = -(length - j) + "px"; 682 /** @type {string} */ 683 position = -width + "px"; 684 } else { 685 if ("auto" == direction && "left" == right) { 686 /** @type {string} */ 687 w = "0px"; 688 /** @type {string} */ 689 position = px > exponent ? -width + "px" : currentPosition + "px"; 690 } else { 691 if ("auto" == direction && "right" == right) { 692 /** @type {string} */ 693 w = -(length - j) + "px"; 694 /** @type {string} */ 695 position = px > exponent ? -width + "px" : currentPosition + "px"; 696 } else { 697 /** @type {string} */ 698 position = px > exponent ? -width + "px" : currentPosition + "px"; 699 /** @type {string} */ 700 w = l > i ? -(length - j) + "px" : "0px"; 701 } 702 } 703 } 704 } 705 } 706 } 707 /** @type {number} */ 708 elm.style.left = w; 709 /** @type {number} */ 710 elm.style.top = position; 711 if ("click" == e.type) { 712 if (null != callback) { 713 self.trigger("button_click", { 714 id : id 715 }); 716 } 717 } 718 if (null != _fn) { 719 self.trigger("button_dropdown_show", { 720 id : id 721 }); 722 } 723 } 724 } 725 }, 726 /** 727 * @param {Object} val 728 * @return {undefined} 729 */ 730 hide : function(val) { 731 /** @type {boolean} */ 732 var t = false; 733 if ("string" == typeof val && "" !== val || val instanceof String && "" !== val) { 734 if (val.indexOf("addeventatc") > -1 || val.indexOf("atc_node") > -1) { 735 /** @type {boolean} */ 736 t = true; 737 } 738 } 739 if (!t) { 740 self.hideandreset(); 741 } 742 }, 743 /** 744 * @param {boolean} dataAndEvents 745 * @return {undefined} 746 */ 747 hideandreset : function(dataAndEvents) { 748 /** @type {string} */ 749 var it = ""; 750 /** @type {NodeList} */ 751 var els = document.getElementsByTagName("*"); 752 /** @type {number} */ 753 var j = 0; 754 for (;j < els.length;j += 1) { 755 if (self.hasclass(els[j], "addeventatc")) { 756 els[j].className = els[j].className.replace(/addeventatc-selected/gi, ""); 757 els[j].className = els[j].className.replace(/\s+$/, ""); 758 /** @type {string} */ 759 els[j].style.zIndex = "auto"; 760 /** @type {string} */ 761 els[j].style.outline = ""; 762 var ul = $(els[j].id + "-drop"); 763 if (ul) { 764 var result = self.getstyle(ul, "display"); 765 if ("block" == result) { 766 it = els[j].id; 767 } 768 /** @type {string} */ 769 ul.style.display = "none"; 770 if ("block" !== (result = self.getstyle(ul, "display"))) { 771 els[j].setAttribute("aria-expanded", "false"); 772 ul.setAttribute("aria-hidden", "true"); 773 } 774 var codeSegments = ul.getElementsByTagName("SPAN"); 775 /** @type {number} */ 776 var i = 0; 777 for (;i < codeSegments.length;i += 1) { 778 /** @type {RegExp} */ 779 var rclass = new RegExp("(\\s|^)drop_markup(\\s|$)"); 780 codeSegments[i].className = codeSegments[i].className.replace(rclass, " "); 781 codeSegments[i].className = codeSegments[i].className.replace(/\s+$/, ""); 782 } 783 } 784 } 785 } 786 if (!dataAndEvents) { 787 if (null != requestFrame) { 788 self.trigger("button_dropdown_hide", { 789 id : it 790 }); 791 } 792 } 793 }, 794 /** 795 * @param {Object} $scope 796 * @return {?} 797 */ 798 getburl : function($scope) { 799 var tb = $($scope.id); 800 /** @type {string} */ 801 var options = ""; 802 /** @type {boolean} */ 803 var o = false; 804 if (tb) { 805 var codeSegments = tb.getElementsByTagName("*"); 806 /** @type {number} */ 807 var i = 0; 808 for (;i < codeSegments.length;i += 1) { 809 if (self.hasclass(codeSegments[i], "_start") || self.hasclass(codeSegments[i], "start")) { 810 options += "&dstart=" + encodeURIComponent(codeSegments[i].innerHTML); 811 } 812 if (self.hasclass(codeSegments[i], "_end") || self.hasclass(codeSegments[i], "end")) { 813 options += "&dend=" + encodeURIComponent(codeSegments[i].innerHTML); 814 } 815 if (self.hasclass(codeSegments[i], "_zonecode") || self.hasclass(codeSegments[i], "zonecode")) { 816 options += "&dzone=" + encodeURIComponent(codeSegments[i].innerHTML); 817 } 818 if (self.hasclass(codeSegments[i], "_timezone") || self.hasclass(codeSegments[i], "timezone")) { 819 options += "&dtime=" + encodeURIComponent(codeSegments[i].innerHTML); 820 } 821 if (self.hasclass(codeSegments[i], "_summary") || (self.hasclass(codeSegments[i], "summary") || self.hasclass(codeSegments[i], "title"))) { 822 options += "&dsum=" + encodeURIComponent(codeSegments[i].innerHTML); 823 } 824 if (self.hasclass(codeSegments[i], "_description") || self.hasclass(codeSegments[i], "description")) { 825 options += "&ddesc=" + encodeURIComponent(codeSegments[i].innerHTML); 826 } 827 if (self.hasclass(codeSegments[i], "_location") || self.hasclass(codeSegments[i], "location")) { 828 options += "&dloca=" + encodeURIComponent(codeSegments[i].innerHTML); 829 } 830 if (self.hasclass(codeSegments[i], "_organizer") || self.hasclass(codeSegments[i], "organizer")) {
831 options += "&dorga=" + encodeURIComponent(codeSegments[i].innerHTML); 832 } 833 if (self.hasclass(codeSegments[i], "_organizer_email") || self.hasclass(codeSegments[i], "organizer_email")) { 834 options += "&dorgaem=" + encodeURIComponent(codeSegments[i].innerHTML); 835 } 836 if (self.hasclass(codeSegments[i], "_attendees") || self.hasclass(codeSegments[i], "attendees")) { 837 options += "&datte=" + encodeURIComponent(codeSegments[i].innerHTML); 838 } 839 if (self.hasclass(codeSegments[i], "_all_day_event") || self.hasclass(codeSegments[i], "all_day_event")) { 840 options += "&dallday=" + encodeURIComponent(codeSegments[i].innerHTML); 841 } 842 if (self.hasclass(codeSegments[i], "_date_format") || self.hasclass(codeSegments[i], "date_format")) { 843 options += "&dateformat=" + encodeURIComponent(codeSegments[i].innerHTML); 844 } 845 if (self.hasclass(codeSegments[i], "_alarm_reminder") || self.hasclass(codeSegments[i], "alarm_reminder")) { 846 options += "&alarm=" + encodeURIComponent(codeSegments[i].innerHTML); 847 } 848 if (self.hasclass(codeSegments[i], "_recurring") || self.hasclass(codeSegments[i], "recurring")) { 849 options += "&drule=" + encodeURIComponent(codeSegments[i].innerHTML); 850 } 851 if (self.hasclass(codeSegments[i], "_facebook_event") || self.hasclass(codeSegments[i], "facebook_event")) { 852 options += "&fbevent=" + encodeURIComponent(codeSegments[i].innerHTML); 853 /** @type {boolean} */ 854 o = true; 855 } 856 if (self.hasclass(codeSegments[i], "_client") || self.hasclass(codeSegments[i], "client")) { 857 options += "&client=" + encodeURIComponent(codeSegments[i].innerHTML); 858 } 859 if (self.hasclass(codeSegments[i], "_calname") || self.hasclass(codeSegments[i], "calname")) { 860 options += "&calname=" + encodeURIComponent(codeSegments[i].innerHTML); 861 } 862 if (self.hasclass(codeSegments[i], "_uid") || self.hasclass(codeSegments[i], "uid")) { 863 options += "&uid=" + encodeURIComponent(codeSegments[i].innerHTML); 864 } 865 if (self.hasclass(codeSegments[i], "_status") || self.hasclass(codeSegments[i], "status")) { 866 options += "&status=" + encodeURIComponent(codeSegments[i].innerHTML); 867 } 868 if (self.hasclass(codeSegments[i], "_method") || self.hasclass(codeSegments[i], "method")) { 869 options += "&method=" + encodeURIComponent(codeSegments[i].innerHTML); 870 } 871 } 872 } 873 return $scope.facebook && (options = o), options; 874 }, 875 /** 876 * @return {undefined} 877 */ 878 trycss : function() { 879 if (!$("ate_tmp_css")) { 880 try { 881 /** @type {string} */ 882 var css = ""; 883 /** @type {string} */ 884 css = ".addeventatc {visibility:hidden;}"; 885 css += ".addeventatc .data {display:none!important;}"; 886 css += ".addeventatc .start, .addeventatc .end, .addeventatc .timezone, .addeventatc .title, .addeventatc .description, .addeventatc .location, .addeventatc .organizer, .addeventatc .organizer_email, .addeventatc .facebook_event, .addeventatc .all_day_event, .addeventatc .date_format, .addeventatc .alarm_reminder, .addeventatc .recurring, .addeventatc .attendees, .addeventatc .client, .addeventatc .calname, .addeventatc .uid, .addeventatc .status, .addeventatc .method {display:none!important;}"; 887 if (p) { 888 css += ".addeventatc {background-image:url(https://www.addevent.com/gfx/icon-calendar-t5.png), url(https://www.addevent.com/gfx/icon-calendar-t1.svg), url(https://www.addevent.com/gfx/icon-apple-t1.svg), url(https://www.addevent.com/gfx/icon-facebook-t1.svg), url(https://www.addevent.com/gfx/icon-google-t1.svg), url(https://www.addevent.com/gfx/icon-outlook-t1.svg), url(https://www.addevent.com/gfx/icon-yahoo-t1.svg);background-position:-9999px -9999px;background-repeat:no-repeat;}" 889 ; 890 } 891 /** @type {Element} */ 892 var stylesheet = document.createElement("style"); 893 /** @type {string} */ 894 stylesheet.type = "text/css"; 895 /** @type {string} */ 896 stylesheet.id = "ate_tmp_css"; 897 if (stylesheet.styleSheet) { 898 /** @type {string} */ 899 stylesheet.styleSheet.cssText = css; 900 } else { 901 stylesheet.appendChild(document.createTextNode(css)); 902 } 903 document.getElementsByTagName("head")[0].appendChild(stylesheet); 904 } catch (e) { 905 } 906 self.track({ 907 typ : "jsinit", 908 cal : "" 909 }); 910 } 911 }, 912 /** 913 * @return {undefined} 914 */ 915 applycss : function() { 916 if (!$("ate_css")) { 917 /** @type {string} */ 918 var css = ""; 919 css += '.addeventatc {display:inline-block;*display:inline;zoom:1;position:relative;z-index:1;font-family:Roboto,"Helvetica Neue",Helvetica,Optima,Segoe,"Segoe UI",Candara,Calibri,Arial,sans-serif;color:#000!important;font-weight:300;line-height:100%!important;background-color:#fff;border:1px solid;border-color:#e5e6e9 #dfe0e4 #d0d1d5;font-size:15px;text-decoration:none;padding:13px 12px 12px 43px;-webkit-border-radius:3px;border-radius:3px;
919cursor:pointer;-webkit-font-smoothing:antialiased!important;text-shadow:1px 1px 1px rgba(0,0,0,0.004);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);background-image:url(https://www.addevent.com/gfx/icon-calendar-t5.png), url(https://www.addevent.com/gfx/icon-calendar-t1.svg), url(https://www.addevent.com/gfx/icon-apple-t1.svg), url(https://www.addevent.com/gfx/icon-facebook-t1.svg), url(https://www.addevent.com/gfx/icon-google-t1.svg), url(https://www.addevent.com/gfx/icon-outlook-t1.svg), url(https://www.addevent.com/gfx/icon-yahoo-t1.svg);background-position:-9999px -9999px;background-repeat:no-repeat;}'; 920 css += ".addeventatc:hover {border:1px solid #aab9d4;color:#000;font-size:15px;text-decoration:none;}"; 921 css += ".addeventatc:focus {outline:none;border:1px solid #aab9d4;}"; 922 css += ".addeventatc:active {top:1px;}"; 923 css += ".addeventatc-selected {background-color:#f9f9f9;}"; 924 css += ".addeventatc .addeventatc_icon {width:18px;height:18px;position:absolute;z-index:1;left:12px;top:10px;background:url(" + o + ") no-repeat;background-size:18px 18px;}"; 925 css += ".addeventatc .start, .addeventatc .end, .addeventatc .timezone, .addeventatc .title, .addeventatc .description, .addeventatc .location, .addeventatc .organizer, .addeventatc .organizer_email, .addeventatc .facebook_event, .addeventatc .all_day_event, .addeventatc .date_format, .addeventatc .alarm_reminder, .addeventatc .recurring, .addeventatc .attendees, .addeventatc .client, .addeventatc .calname, .addeventatc .uid, .addeventatc .status, .addeventatc .method {display:none!important;}"; 926 css += ".addeventatc .data {display:none!important;}"; 927 if (self.getlicense(conflict)) { 928 css += ".addeventatc_dropdown {width:200px;position:absolute;z-index:99999;padding:6px 0px 6px 0px;background:#fff;text-align:left;display:none;margin-top:-2px;margin-left:-1px;border-top:1px solid #c8c8c8;border-right:1px solid #bebebe;border-bottom:1px solid #a8a8a8;border-left:1px solid #bebebe;-moz-border-radius:2px;-webkit-border-radius:2px;-webkit-box-shadow:1px 3px 6px rgba(0,0,0,0.15);-moz-box-shadow:1px 3px 6px rgba(0,0,0,0.15);box-shadow:1px 3px 6px rgba(0,0,0,0.15);}"; 929 } else { 930 css += ".addeventatc_dropdown {width:200px;position:absolute;z-index:99999;padding:6px 0px 0px 0px;background:#fff;text-align:left;display:none;margin-top:-2px;margin-left:-1px;border-top:1px solid #c8c8c8;border-right:1px solid #bebebe;border-bottom:1px solid #a8a8a8;border-left:1px solid #bebebe;-moz-border-radius:2px;-webkit-border-radius:2px;-webkit-box-shadow:1px 3px 6px rgba(0,0,0,0.15);-moz-box-shadow:1px 3px 6px rgba(0,0,0,0.15);box-shadow:1px 3px 6px rgba(0,0,0,0.15);}"; 931 } 932 css += ".addeventatc_dropdown span {display:block;line-height:100%;background:#fff;text-decoration:none;font-size:14px;color:#333;padding:9px 10px 9px 40px;}"; 933 css += ".addeventatc_dropdown span:hover {background-color:#f4f4f4;color:#000;text-decoration:none;font-size:14px;}"; 934 css += ".addeventatc_dropdown .drop_markup {background-color:#f4f4f4;color:#000;text-decoration:none;font-size:14px;}"; 935 css += ".addeventatc_dropdown .copyx {height:21px;display:block;position:relative;cursor:default;}"; 936 css += ".addeventatc_dropdown .brx {height:1px;overflow:hidden;background:#e0e0e0;position:absolute;z-index:100;left:10px;right:10px;top:9px;}"; 937 css += ".addeventatc_dropdown .frs {position:absolute;top:5px;cursor:pointer;right:10px;font-style:normal!important;font-weight:normal!important;text-align:right;z-index:101;line-height:9px!important;background:#fff;text-decoration:none;font-size:9px!important;color:#cacaca!important;}"; 938 css += ".addeventatc_dropdown .frs a {margin:0!important;padding:0!important;font-style:normal!important;font-weight:normal!important;line-height:9px!important;background-color:#fff!important;text-decoration:none;font-size:9px!important;color:#cacaca!important;padding-left:10px!important;display:inline-block;}"; 939 css += ".addeventatc_dropdown .frs a:hover {color:#999!important;}"; 940 css += ".addeventatc_dropdown .ateappleical {background-image:url(https://www.addevent.com/gfx/icon-apple-t1.svg);background-repeat:no-repeat;background-position:13px 50%;background-size:14px auto;}"; 941 css += ".addeventatc_dropdown .ateoutlook {background-image:url(https://www.addevent.com/gfx/icon-outlook-t1.svg);background-repeat:no-repeat;background-position:12px 50%;background-size:16px auto;}"; 942 css += ".addeventatc_dropdown .ateoutlookcom {background-image:url(https://www.addevent.com/gfx/icon-outlook-t1.svg);background-repeat:no-repeat;background-position:12px 50%;background-size:16px auto;}"; 943 css += ".addeventatc_dropdown .ategoogle {background-image:url(https://www.addevent.com/gfx/icon-google-t1.svg);background-repeat:no-repeat;background-position:12px 50%;background-size:16px auto;}"; 944 css += ".addeventatc_dropdown .ateyahoo {background-image:url(https://www.addevent.com/gfx/icon-yahoo-t1.svg);background-repeat:no-repeat;background-position:12px 50%;background-size:16px auto;}"; 945 css += ".addeventatc_dropdown .atefacebook {background-image:url(https://www.addevent.com/gfx/icon-facebook-t1.svg);background-repeat:no-repeat;background-position:12px 50%;background-size:16px auto;}"; 946 css += ".addeventatc_dropdown em {font-size:12px!important;color:#999!important;}"; 947 /** @type {Element} */ 948 var stylesheet = document.createElement("style"); 949 /** @type {string} */ 950 stylesheet.type = "text/css"; 951 /** @type {string} */ 952 stylesheet.id = "ate_css"; 953 if (stylesheet.styleSheet) { 954 /** @type {string} */ 955 stylesheet.styleSheet.cssText = css; 956 } else { 957 stylesheet.appendChild(document.createTextNode(css)); 958 } 959 document.getElementsByTagName("head")[0].appendChild(stylesheet);
960 self.removeelement($("ate_tmp_css")); 961 } 962 }, 963 /** 964 * @return {undefined} 965 */ 966 helpercss : function() { 967 if (!$("ate_helper_css")) { 968 /** @type {string} */ 969 var css = ""; 970 css += ".addeventatc_dropdown .drop_markup {background-color:#f4f4f4;}"; 971 css += ".addeventatc_dropdown .frs a {margin:0!important;padding:0!important;font-style:normal!important;font-weight:normal!important;line-height:110%!important;background-color:#fff!important;text-decoration:none;font-size:9px!important;color:#cacaca!important;display:inline-block;}"; 972 css += ".addeventatc_dropdown .frs a:hover {color:#999!important;}"; 973 css += ".addeventatc .start, .addeventatc .end, .addeventatc .timezone, .addeventatc .title, .addeventatc .description, .addeventatc .location, .addeventatc .organizer, .addeventatc .organizer_email, .addeventatc .facebook_event, .addeventatc .all_day_event, .addeventatc .date_format, .addeventatc .alarm_reminder, .addeventatc .recurring, .addeventatc .attendees, .addeventatc .client, .addeventatc .calname, .addeventatc .uid, .addeventatc .status, .addeventatc .method {display:none!important;}"; 974 /** @type {Element} */ 975 var stylesheet = document.createElement("style"); 976 /** @type {string} */ 977 stylesheet.type = "text/css"; 978 /** @type {string} */ 979 stylesheet.id = "ate_helper_css"; 980 if (stylesheet.styleSheet) { 981 /** @type {string} */ 982 stylesheet.styleSheet.cssText = css; 983 } else { 984 stylesheet.appendChild(document.createTextNode(css)); 985 } 986 document.getElementsByTagName("head")[0].appendChild(stylesheet); 987 } 988 }, 989 /** 990 * @param {?} dataAndEvents 991 * @return {?} 992 */ 993 removeelement : function(dataAndEvents) { 994 try { 995 return!!(hdx = dataAndEvents) && hdx.parentNode.removeChild(hdx); 996 } catch (e) { 997 } 998 }, 999 /** 1000 * @return {?} 1001 */ 1002 topzindex : function() { 1003 /** @type {number} */ 1004 var mode = 1; 1005 /** @type {NodeList} */ 1006 var codeSegments = document.getElementsByTagName("*"); 1007 /** @type {number} */ 1008 var i = 0; 1009 for (;i < codeSegments.length;i += 1) { 1010 if (self.hasclass(codeSegments[i], "addeventatc") || self.hasclass(codeSegments[i], "addeventstc")) { 1011 var value = self.getstyle(codeSegments[i], "z-index"); 1012 if (!isNaN(parseFloat(value))) { 1013 if (isFinite(value)) { 1014 if ((value = parseInt(value)) > mode) { 1015 /** @type {number} */ 1016 mode = value; 1017 } 1018 } 1019 } 1020 } 1021 } 1022 return mode; 1023 }, 1024 /** 1025 * @return {?} 1026 */ 1027 viewport : function() { 1028 /** @type {number} */ 1029 var myWidth = 0; 1030 /** @type {number} */ 1031 var myHeight = 0; 1032 /** @type {number} */ 1033 var posY = 0; 1034 /** @type {number} */ 1035 var scrollX = 0; 1036 return "number" == typeof window.innerWidth ? (myWidth = window.innerWidth, myHeight = window.innerHeight) : document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight) ? (myWidth = document.documentElement.clientWidth, myHeight = document.documentElement.clientHeight) : document.body && ((document.body.clientWidth || document.body.clientHeight) && (myWidth = document.body.clientWidth, myHeight = document.body.clientHeight)), document.all ? 1037 (scrollX = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft, posY = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) : (scrollX = window.pageXOffset, posY = window.pageYOffset), { 1038 w : myWidth, 1039 h : myHeight, 1040 x : scrollX, 1041 y : posY 1042 }; 1043 }, 1044 /** 1045 * @param {Element} el 1046 * @return {?} 1047 */ 1048 elementposition : function(el) { 1049 /** @type {number} */ 1050 var xPos = 0; 1051 /** @type {number} */ 1052 var yPos = 0; 1053 if (el.offsetParent) { 1054 xPos = el.offsetLeft; 1055 yPos = el.offsetTop; 1056 for (;el = el.offsetParent;) { 1057 xPos += el.offsetLeft; 1058 yPos += el.offsetTop; 1059 } 1060 } 1061 return{ 1062 x : xPos, 1063 y : yPos 1064 }; 1065 }, 1066 /** 1067 * @param {Object} element 1068 * @param {string} style 1069 * @return {?} 1070 */ 1071 getstyle : function(element, style) { 1072 var match; 1073 /** @type {Object} */ 1074 var el = element; 1075 return el.currentStyle ? match = el.currentStyle[style] : window.getComputedStyle && (match = document.defaultView.getComputedStyle(el, null).getPropertyValue(style)), match; 1076 }, 1077 /** 1078 * @param {string} eventType 1079 * @return {?} 1080 */ 1081 getlicense : function(eventType) { 1082 /** @type {string} */ 1083 var origin = location.origin; 1084 /** @type {boolean} */ 1085 var a = false; 1086 if (void 0 === location.origin && (origin = location.protocol + "//" + location.host), eventType) { 1087 var b = eventType.substring(0, 1); 1088 var _ = eventType.substring(9, 10); 1089 var name = eventType.substring(17, 18); 1090 if ("a" == b) { 1091 if ("z" == _) { 1092 if ("m" == name) { 1093 /** @type {boolean} */ 1094 a = true; 1095 } 1096 } 1097 } 1098 } 1099 return(-1 == origin.indexOf("addevent.com") && "aao8iuet5zp9iqw5sm9z" == eventType || (-1 == origin.indexOf("addevent.to") && "aao8iuet5zp9iqw5sm9z" == eventType || -1 == origin.indexOf("addevent.com") && "aao8iuet5zp9iqw5sm9z" == eventType)) && (a = true), a; 1100 }, 1101 /** 1102 * @return {undefined} 1103 */ 1104 refresh : function() { 1105 /** @type {NodeList} */ 1106 var items = document.getElementsByTagName("*"); 1107 /** @type {Array} */ 1108 var c = []; 1109 /** @type {number} */ 1110 var i = 0; 1111 for (;i < items.length;i += 1) { 1112 if (self.hasclass(items[i], "addeventatc")) { 1113 items[i].className = items[i].className.replace(/addeventatc-selected/gi, ""); 1114 /** @type {string} */ 1115 items[i].id = ""; 1116 var r = items[i].getElementsByTagName("*"); 1117 /** @type {number} */ 1118 var o = 0; 1119 for (;o < r.length;o += 1) { 1120 if (self.hasclass(r[o], "addeventatc_icon") || self.hasclass(r[o], "addeventatc_dropdown")) { 1121 c.push(r[o]); 1122 } 1123 } 1124 } 1125 } 1126 /** @type {number} */ 1127 var n = 0; 1128 for (;n < c.length;n += 1) {
1129 self.removeelement(c[n]); 1130 } 1131 self.removeelement($("ate_css")); 1132 /** @type {number} */ 1133 uuid = 1; 1134 /** @type {boolean} */ 1135 v = false; 1136 self.generate(); 1137 }, 1138 /** 1139 * @param {Element} elem 1140 * @param {string} value 1141 * @return {?} 1142 */ 1143 hasclass : function(elem, value) { 1144 return(new RegExp("(\\s|^)" + value + "(\\s|$)")).test(elem.className); 1145 }, 1146 /** 1147 * @param {string} id 1148 * @return {undefined} 1149 */ 1150 eclick : function(id) { 1151 /** @type {(HTMLElement|null)} */ 1152 var button = document.getElementById(id); 1153 if (button.click) { 1154 button.click(); 1155 } else { 1156 if (document.createEvent) { 1157 /** @type {(Event|null)} */ 1158 var click = document.createEvent("MouseEvents"); 1159 click.initEvent("click", true, true); 1160 button.dispatchEvent(click); 1161 } 1162 } 1163 }, 1164 /** 1165 * @param {?} opt_attributes 1166 * @return {undefined} 1167 */ 1168 track : function(opt_attributes) { 1169 new Image; 1170 (new Date).getTime(); 1171 encodeURIComponent(window.location.origin); 1172 }, 1173 /** 1174 * @return {?} 1175 */ 1176 getguid : function() { 1177 /** @type {string} */ 1178 var nameEQ = "addevent_track_cookie="; 1179 /** @type {string} */ 1180 var fragment = ""; 1181 /** @type {Array.<string>} */ 1182 var ca = document.cookie.split(";"); 1183 /** @type {number} */ 1184 var i = 0; 1185 for (;i < ca.length;i++) { 1186 /** @type {string} */ 1187 var c = ca[i]; 1188 for (;" " == c.charAt(0);) { 1189 /** @type {string} */ 1190 c = c.substring(1, c.length); 1191 } 1192 if (0 == c.indexOf(nameEQ)) { 1193 /** @type {string} */ 1194 fragment = c.substring(nameEQ.length, c.length); 1195 } 1196 } 1197 if ("" == fragment) { 1198 var first = (self.s4() + self.s4() + "-" + self.s4() + "-4" + self.s4().substr(0, 3) + "-" + self.s4() + "-" + self.s4() + self.s4() + self.s4()).toLowerCase(); 1199 /** @type {Date} */ 1200 var expires = new Date; 1201 expires.setTime(expires.getTime() + 31536E6); 1202 /** @type {string} */ 1203 var c_value = "expires=" + expires.toUTCString(); 1204 /** @type {string} */ 1205 document.cookie = "addevent_track_cookie=" + first + "; " + c_value; 1206 fragment = first; 1207 } 1208 return fragment; 1209 }, 1210 /** 1211 * @return {?} 1212 */ 1213 s4 : function() { 1214 return(65536 * (1 + Math.random()) | 0).toString(16).substring(1); 1215 }, 1216 /** 1217 * @param {Object} e 1218 * @return {undefined} 1219 */ 1220 documentclick : function(e) { 1221 e = e || window.event; 1222 e = e.target || e.srcElement; 1223 if (ate_touch_capable) { 1224 clearTimeout(going); 1225 /** @type {number} */ 1226 going = setTimeout(function() { 1227 self.hide(e.className); 1228 }, 500); 1229 } else { 1230 self.hide(e.className); 1231 } 1232 }, 1233 /** 1234 * @param {string} extra 1235 * @param {?} opt_attributes 1236 * @return {undefined} 1237 */ 1238 trigger : function(extra, opt_attributes) { 1239 if ("button_click" == extra) { 1240 try { 1241 callback(opt_attributes); 1242 } catch (e) { 1243 } 1244 } 1245 if ("button_mouseover" == extra) { 1246 try { 1247 msg(opt_attributes); 1248 } catch (e) { 1249 } 1250 } 1251 if ("button_mouseout" == extra) { 1252 try { 1253 fn(opt_attributes); 1254 } catch (e) { 1255 } 1256 } 1257 if ("button_dropdown_show" == extra) { 1258 try { 1259 _fn(opt_attributes); 1260 } catch (e) { 1261 } 1262 } 1263 if ("button_dropdown_hide" == extra) { 1264 try { 1265 requestFrame(opt_attributes); 1266 } catch (e) { 1267 } 1268 } 1269 if ("button_dropdown_click" == extra) { 1270 try { 1271 realTrigger(opt_attributes); 1272 } catch (e) { 1273 } 1274 } 1275 }, 1276 /** 1277 * @param {string} tmpl 1278 * @param {Object} type 1279 * @return {undefined} 1280 */ 1281 register : function(tmpl, type) { 1282 if ("button-click" == tmpl) { 1283 /** @type {Object} */ 1284 callback = type; 1285 } 1286 if ("button-mouseover" == tmpl) { 1287 /** @type {Object} */ 1288 msg = type; 1289 } 1290 if ("button-mouseout" == tmpl) { 1291 /** @type {Object} */ 1292 fn = type; 1293 } 1294 if ("button-dropdown-show" == tmpl) { 1295 /** @type {Object} */ 1296 _fn = type; 1297 } 1298 if ("button-dropdown-hide" == tmpl) { 1299 /** @type {Object} */ 1300 requestFrame = type; 1301 } 1302 if ("button-dropdown-click" == tmpl) { 1303 /** @type {Object} */ 1304 realTrigger = type; 1305 } 1306 }, 1307 /** 1308 * @param {Object} $scope 1309 * @return {undefined} 1310 */ 1311 settings : function($scope) { 1312 if (void 0 != $scope.license) { 1313 conflict = $scope.license; 1314 } 1315 if (void 0 != $scope.css) { 1316 if ($scope.css) { 1317 /** @type {boolean} */ 1318 p = true; 1319 } else { 1320 /** @type {boolean} */ 1321 p = false;
1322 self.removeelement($("ate_css")); 1323 } 1324 } 1325 if (void 0 != $scope.mouse) { 1326 files_list = $scope.mouse; 1327 } 1328 if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { 1329 /** @type {boolean} */ 1330 files_list = false; 1331 } 1332 if (void 0 != $scope.outlook) { 1333 if (void 0 != $scope.outlook.show) { 1334 w = $scope.outlook.show; 1335 } 1336 } 1337 if (void 0 != $scope.google) { 1338 if (void 0 != $scope.google.show) { 1339 show = $scope.google.show; 1340 } 1341 } 1342 if (void 0 != $scope.yahoo) { 1343 if (void 0 != $scope.yahoo.show) { 1344 k = $scope.yahoo.show; 1345 } 1346 } 1347 if (void 0 != $scope.hotmail) { 1348 if (void 0 != $scope.hotmail.show) { 1349 disabled = $scope.hotmail.show; 1350 } 1351 } 1352 if (void 0 != $scope.outlookcom) { 1353 if (void 0 != $scope.outlookcom.show) { 1354 disabled = $scope.outlookcom.show; 1355 } 1356 } 1357 if (void 0 != $scope.ical) { 1358 if (void 0 != $scope.ical.show) { 1359 xmlDoc = $scope.ical.show; 1360 } 1361 } 1362 if (void 0 != $scope.appleical) { 1363 if (void 0 != $scope.appleical.show) { 1364 xmlDoc = $scope.appleical.show; 1365 } 1366 } 1367 if (void 0 != $scope.facebook) { 1368 if (void 0 != $scope.facebook.show) { 1369 y = $scope.facebook.show; 1370 } 1371 } 1372 if (void 0 != $scope.outlook) { 1373 if (void 0 != $scope.outlook.text) { 1374 text = $scope.outlook.text; 1375 } 1376 } 1377 if (void 0 != $scope.google) { 1378 if (void 0 != $scope.google.text) { 1379 error = $scope.google.text; 1380 } 1381 } 1382 if (void 0 != $scope.yahoo) { 1383 if (void 0 != $scope.yahoo.text) { 1384 txt = $scope.yahoo.text; 1385 } 1386 } 1387 if (void 0 != $scope.hotmail) { 1388 if (void 0 != $scope.hotmail.text) { 1389 result = $scope.hotmail.text; 1390 } 1391 } 1392 if (void 0 != $scope.outlookcom) { 1393 if (void 0 != $scope.outlookcom.text) { 1394 result = $scope.outlookcom.text; 1395 } 1396 } 1397 if (void 0 != $scope.ical) { 1398 if (void 0 != $scope.ical.text) { 1399 dataText = $scope.ical.text; 1400 } 1401 } 1402 if (void 0 != $scope.appleical) { 1403 if (void 0 != $scope.appleical.text) { 1404 dataText = $scope.appleical.text; 1405 } 1406 } 1407 if (void 0 != $scope.facebook) { 1408 if (void 0 != $scope.facebook.text) { 1409 textValue = $scope.facebook.text; 1410 } 1411 } 1412 if (void 0 != $scope.dropdown) { 1413 if (void 0 != $scope.dropdown.order) { 1414 fragment = $scope.dropdown.order; 1415 } 1416 } 1417 }, 1418 /** 1419 * @param {?} dataAndEvents 1420 * @param {Object} opt_attributes 1421 * @return {undefined} 1422 */ 1423 keyboard : function(dataAndEvents, opt_attributes) { 1424 /** @type {(HTMLElement|null)} */ 1425 var wrapper = document.getElementById(opt_attributes.id + "-drop"); 1426 if (wrapper && "block" == self.getstyle(wrapper, "display")) { 1427 /** @type {NodeList} */ 1428 var filters = wrapper.getElementsByTagName("SPAN"); 1429 /** @type {null} */ 1430 var filter = null; 1431 /** @type {number} */ 1432 var key = 0; 1433 /** @type {number} */ 1434 var id = 0; 1435 /** @type {number} */ 1436 var i = 0; 1437 for (;i < filters.length;i += 1) { 1438 key++; 1439 if (self.hasclass(filters[i], "drop_markup")) {
1440 filter = filters[i]; 1441 /** @type {number} */ 1442 id = key; 1443 } 1444 } 1445 if (null === filter) { 1446 /** @type {number} */ 1447 id = 1; 1448 } else { 1449 if ("down" == opt_attributes.key) { 1450 if (id >= key) { 1451 /** @type {number} */ 1452 id = 1; 1453 } else { 1454 id++; 1455 } 1456 } else { 1457 if (1 == id) { 1458 /** @type {number} */ 1459 id = key; 1460 } else { 1461 id--; 1462 } 1463 } 1464 } 1465 /** @type {number} */ 1466 key = 0; 1467 /** @type {number} */ 1468 i = 0; 1469 for (;i < filters.length;i += 1) { 1470 if (++key == id) { 1471 filters[i].className += " drop_markup"; 1472 } else { 1473 /** @type {RegExp} */ 1474 var rclass = new RegExp("(\\s|^)drop_markup(\\s|$)"); 1475 filters[i].className = filters[i].className.replace(rclass, " "); 1476 filters[i].className = filters[i].className.replace(/\s+$/, ""); 1477 } 1478 } 1479 } 1480 }, 1481 /** 1482 * @param {?} dataAndEvents 1483 * @param {Element} ignores 1484 * @return {undefined} 1485 */ 1486 keyboardclick : function(dataAndEvents, ignores) { 1487 /** @type {(HTMLElement|null)} */ 1488 var wrapper = document.getElementById(ignores.id + "-drop"); 1489 if (wrapper) { 1490 /** @type {NodeList} */ 1491 var filters = wrapper.getElementsByTagName("SPAN"); 1492 /** @type {null} */ 1493 var f = null; 1494 /** @type {number} */ 1495 var i = 0; 1496 for (;i < filters.length;i += 1) { 1497 if (self.hasclass(filters[i], "drop_markup")) { 1498 f = filters[i]; 1499 } 1500 } 1501 if (null !== f) { 1502 f.click(); 1503 /** @type {number} */ 1504 i = 0; 1505 for (;i < filters.length;i += 1) { 1506 /** @type {RegExp} */ 1507 var rclass = new RegExp("(\\s|^)drop_markup(\\s|$)"); 1508 filters[i].className = filters[i].className.replace(rclass, " "); 1509 filters[i].className = filters[i].className.replace(/\s+$/, ""); 1510 } 1511 } 1512 } 1513 }, 1514 /** 1515 * @return {?} 1516 */ 1517 usewebcal : function() { 1518 /** @type {boolean} */ 1519 var e = false; 1520 /** @type {string} */ 1521 var userAgent = window.navigator.userAgent.toLowerCase(); 1522 return/iphone|ipod|ipad/.test(userAgent) && (e = !!userAgent.match("crios") || !userAgent.match("safari")), e; 1523 }, 1524 /** 1525 * @return {?} 1526 */ 1527 agent : function() { 1528 var nType = navigator.userAgent || (navigator.vendor || window.opera); 1529 return/windows phone/i.test(nType) ? "windows_phone" : /android/i.test(nType) ? "android" : /iPad|iPhone|iPod/.test(nType) && !window.MSStream ? "ios" : "unknown"; 1530 } 1531 }; 1532 }(); 1533 !function(timeoutKey, win) { 1534 /** 1535 * @return {undefined} 1536 */ 1537 function loaded() { 1538 if (!d) { 1539 /** @type {boolean} */ 1540 d = true; 1541 /** @type {number} */ 1542 var i = 0; 1543 for (;i < fns.length;i++) { 1544 fns[i].fn.call(window, fns[i].ctx); 1545 } 1546 /** @type {Array} */ 1547 fns = []; 1548 } 1549 } 1550 /** 1551 * @return {undefined} 1552 */ 1553 function handler() { 1554 if ("complete" === document.readyState) { 1555 loaded(); 1556 } 1557 } 1558 /** @type {string} */ 1559 timeoutKey = timeoutKey || "docReady"; 1560 /** @type {Array} */ 1561 var fns = []; 1562 /** @type {boolean} */ 1563 var d = false; 1564 /** @type {boolean} */ 1565 var c = false; 1566 /** 1567 * @param {Function} fn 1568 * @param {Object} context 1569 * @return {undefined} 1570 */ 1571 (win = win || window)[timeoutKey] = function(fn, context) { 1572 if ("function" != typeof fn) { 1573 throw new TypeError("callback for docReady(fn) must be a function"); 1574 } 1575 if (d) { 1576 setTimeout(function() { 1577 fn(context); 1578 }, 1); 1579 } else { 1580 fns.push({ 1581 /** @type {Function} */ 1582 fn : fn, 1583 ctx : context 1584 }); 1585 if ("complete" === document.readyState || !document.attachEvent && "interactive" === document.readyState) { 1586 setTimeout(loaded, 1); 1587 } else { 1588 if (!c) { 1589 if (document.addEventListener) { 1590 document.addEventListener("DOMContentLoaded", loaded, false); 1591 window.addEventListener("load", loaded, false); 1592 } else { 1593 document.attachEvent("onreadystatechange", handler); 1594 window.attachEvent("onload", loaded); 1595 } 1596 /** @type {boolean} */ 1597 c = true; 1598 } 1599 } 1600 } 1601 }; 1602 }("addeventReady", window); 1603 var ate_touch_capable = "ontouchstart" in window || (window.DocumentTouch && document instanceof window.DocumentTouch || (navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0)); 1604 if (window.addEventListener) { 1605 document.addEventListener("click", self.documentclick, false); 1606 if (ate_touch_capable) { 1607 document.addEventListener("touchend", self.documentclick, false); 1608 } 1609 } else { 1610 if (window.attachEvent) { 1611 document.attachEvent("onclick", self.documentclick); 1612 if (ate_touch_capable) { 1613 document.attachEvent("ontouchend", self.documentclick); 1614 } 1615 } else { 1616 /** 1617 * @return {undefined} 1618 */ 1619 document.onclick = function() { 1620 self.documentclick(event); 1621 }; 1622 } 1623 } 1624 1625 addeventReady(function() { 1626 self.initialize(); 1627 if (typeof addeventatc !== "undefined") { 1628 setTimeout("addeventatc.initialize();", 200);
1629 } 1630 }); 1631 1632} 1633abs_add_to_calendar();
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.