-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathatc.min.js
1 lines (1 loc) · 4.6 KB
/
atc.min.js
1
!function(w,d){var atc_url="//addtocalendar.com/atc/",atc_version="1.5.5";Array.indexOf||(Array.prototype.indexOf=function(e){for(var t=0,a=this.length;t<a;t++)if(this[t]==e)return t;return-1}),Array.prototype.map||(Array.prototype.map=function(e){for(var t=[],a=0,n=this.length;a<n;a++)t.push(e(this[a]));return t});var isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunc=function(e){return"[object Function]"===Object.prototype.toString.call(e)},ready=function(e,t){function a(){if(!i){if(!t.body)return setTimeout(a,13);if(i=!0,c){for(var e,n=0;e=c[n++];)e.call(null);c=null}}}function n(){if(!d){if(d=!0,"complete"===t.readyState)return a();if(t.addEventListener)t.addEventListener("DOMContentLoaded",r,!1),e.addEventListener("load",a,!1);else if(t.attachEvent){t.attachEvent("onreadystatechange",r),e.attachEvent("onload",a);var n=!1;try{n=null==e.frameElement}catch(e){}b.doScroll&&n&&o()}else l=e.onload,e.onload=function(e){l(e),a()}}}function o(){if(!i){try{b.doScroll("left")}catch(e){return void setTimeout(o,1)}a()}}var r,l,i=!1,d=!1,c=[];return t.addEventListener?r=function(){t.removeEventListener("DOMContentLoaded",r,!1),a()}:t.attachEvent&&(r=function(){"complete"===t.readyState&&(t.detachEvent("onreadystatechange",r),a())}),function(e){n(),i?e.call(null):c.push(e)}}(w,d);w.addtocalendar&&"function"==typeof w.addtocalendar.start||(w.addtocalendar||(w.addtocalendar={}),addtocalendar.languages={de:"In den Kalender",en:"Add to Calendar",es:"Añadir al Calendario",fr:"Ajouter au calendrier",hi:"कैलेंडर में जोड़ें",in:"Tambahkan ke Kalender",ja:"カレンダーに追加",ko:"캘린더에 추가",pt:"Adicionar ao calendário",ru:"Добавить в календарь",uk:"Додати в календар",zh:"添加到日历"},addtocalendar.calendar_urls={},addtocalendar.loadSettings=function(element){var settings={language:"auto","show-list-on":"click",calendars:["iCalendar","Google Calendar","Outlook","Outlook Online","Yahoo! Calendar"],secure:"auto","on-button-click":function(){},"on-calendar-click":function(){}};for(var option in settings){var pname="data-"+option,eattr=element.getAttribute(pname);if(null!=eattr){if(isArray(settings[option])){settings[option]=eattr.replace(/\s*,\s*/g,",").replace(/^\s+|\s+$/g,"").split(",");continue}if(isFunc(settings[option])){var fn=window[eattr];isFunc(fn)?settings[option]=fn:settings[option]=eval("(function(mouseEvent){"+eattr+"})");continue}settings[option]=element.getAttribute(pname)}}return settings},addtocalendar.load=function(){for(var e={iCalendar:"ical","Google Calendar":"google",Outlook:"outlook","Outlook Online":"outlookonline","Yahoo! Calendar":"yahoo"},t=-(new Date).getTimezoneOffset().toString(),a=addtocalendar.languages,n=document.getElementsByTagName("*"),o=0;o<n.length;o++){var r=n[o].className;if(r && r.length&&r.split(" ").indexOf("addtocalendar")!=-1){var l=addtocalendar.loadSettings(n[o]),i="http:";"auto"==l.secure?i="https:"==location.protocol?"https:":"http:":"true"==l.secure&&(i="https:");var d=n[o].id,c=a.en;if("auto"==l.language){var s="no_lang";"string"==typeof navigator.language?s=navigator.language.substr(0,2):"string"==typeof navigator.browserLanguage&&(s=navigator.browserLanguage.substr(0,2)),a.hasOwnProperty(s)&&(c=a[s])}else a.hasOwnProperty(l.language)&&(c=a[l.language]);for(var u=["utz="+t,"uln="+navigator.language,"vjs="+atc_version],g=n[o].getElementsByTagName("var"),f=-1,p=0;p<g.length;p++){var v=g[p].className.replace("atc_","").split(" ")[0],m=g[p].innerHTML;"event"!=v?v!=g[p].className?f!=-1&&u.push("e["+f+"]["+v+"]="+encodeURIComponent(m)):"atc-body"==v&&(c=m):f++}var h=""==d?"":d+"_link",y=document.createElement("ul");y.className="atcb-list";var b="";for(var k in l.calendars)if(e.hasOwnProperty(l.calendars[k])){var E=e[l.calendars[k]],w=""==d?"":'id="'+d+"_"+E+'_link"';b+='<li class="atcb-item"><a '+w+' class="atcb-item-link" href="'+("ical"==E&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream?"webcal:":i)+atc_url+E+"?"+u.join("&")+'" target="_blank" rel="nofollow">'+l.calendars[k]+"</a></li>"}if(y.innerHTML=b,void 0==n[o].getElementsByClassName("atcb-link")[0]){var C=document.createElement("a");C.className="atcb-link",C.innerHTML=c,C.id=h,C.tabIndex=1,n[o].appendChild(C),n[o].appendChild(y)}else{var C=n[o].getElementsByClassName("atcb-link")[0];C.parentNode.appendChild(y),C.tabIndex=1,""==C.id&&(C.id=h)}n[o].getElementsByClassName("atcb-link")[0].addEventListener("click",l["on-button-click"],!1);for(var O=n[o].getElementsByClassName("atcb-item-link"),p=0;p<O.length;p++)O[p].addEventListener("click",l["on-calendar-click"],!1)}}},addtocalendar.load())}(window,document);