YAHOO.util.Event.onDOMReady(function(){Date.prototype.toDATE=function(){var b=this.getFullYear();var c=this.getMonth()+1;var a=this.getDate();if(c<10){c="0"+c}else{c=""+c}if(a<10){a="0"+a}else{a=""+a}return b+c+a};Date.prototype.toDATETIME=function(){var d=this.getFullYear();var e=this.getMonth()+1;var b=this.getFullYear();var a=this.getHours();var c=this.getMinutes();if(e<10){e="0"+e}if(b<10){b="0"+b}if(a<10){a="0"+a}if(c<10){c="0"+c}return d+e+b+"T"+a+c+seconds};ls=(function(){var q;var a;var l={};var n={};var k;var f=function(r){if(typeof(r)=="undefined"){r=p("Calendars")}YAHOO.util.Connect.abort(n.Calendars);l.Calendars.get("contentEl").innerHTML="<div class='message'><img alt='' src='/images/ajax-loader.gif' /></div>";YAHOO.util.Connect.resetFormState();n.Calendars=YAHOO.util.Connect.asyncRequest("GET","/calendars.php?"+r,{success:function(u){l.Calendars.set("content",u.responseText);try{var s=YAHOO.util.Dom.get("ls-search-calendars-q");s.focus();s.value=s.value}catch(t){}},failure:function(s){l.Calendars.get("contentEl").innerHTML="";if(confirm("Had some trouble fetching calendars.  Try again?")){f(r)}}})};var g=function(r){if(typeof(r)=="undefined"){r=p("Events")}YAHOO.util.Connect.abort(n.Events);l.Events.get("contentEl").innerHTML="<div class='message'><img alt='' src='/images/ajax-loader.gif' /></div>";YAHOO.util.Connect.resetFormState();n.Events=YAHOO.util.Connect.asyncRequest("GET","/events.php?"+r,{success:function(v){l.Events.get("contentEl").innerHTML=v.responseText;try{if(YAHOO.util.Dom.get("ls-search-events-options").value=="show"){var s=YAHOO.util.Dom.get("ls-search-events-summary");s.value=s.value;s.focus()}else{var t=YAHOO.util.Dom.get("ls-search-events-q");t.value=t.value;t.focus()}}catch(u){}},failure:function(s){l.Events.get("contentEl").innerHTML="";if(confirm("Had some trouble fetching events.  Try again?")){g(r)}}})};var p=function(r){var s="";switch(r){case"Calendars":s=i("ls-search-calendars-form",false);break;case"Events":d();s=i("ls-search-events-form",true);break}return s};var b=function(){var u=new Date(),x=new Date();var w=YAHOO.util.Dom.get("ls-search-events-picker").options;for(var v=0;v<w.length;v++){var s="",r="";switch(w[v].text){case"Future":s=u.toDATE();break;case"Today":s=u.toDATE();r=s;break;case"Tomorrow":x.setTime(u.valueOf());x.setDate(u.getDate()+1);s=x.toDATE();r=s;break;case"This Week":s=u.toDATE();x.setTime(u.valueOf());if(u.getDay()==6){x.setDate(x.getDate()+8)}else{x.setDate(x.getDate()+7-x.getDay())}r=x.toDATE();break;case"This Weekend":x.setTime(u.valueOf());if(u.getDay()<5){x.setDate(u.getDate()+5-u.getDay())}s=x.toDATE();x.setTime(u.valueOf());x.setDate(u.getDate()+7-u.getDay());r=x.toDATE();break;case"Next Week":x.setTime(u.valueOf());x.setDate(u.getDate()+8-u.getDay());s=x.toDATE();x.setTime(u.valueOf());x.setDate(u.getDate()+14-u.getDay());r=x.toDATE();break;case"Next Weekend":if(u.getDay()==0){x.setTime(u.valueOf());x.setDate(u.getDate()+12);s=x.toDATE();x.setTime(u.valueOf());x.setDate(u.getDate()+14);r=x.toDATE()}else{x.setTime(u.valueOf());x.setDate(u.getDate()+12-u.getDay());s=x.toDATE();x.setTime(u.valueOf());x.setDate(u.getDate()+14-u.getDay());r=x.toDATE()}break}w[v].value=s+"-"+r}};var j=function(r){var t;switch(r){case"Calendars":t=p("Calendars");if(YAHOO.util.History.getCurrentState("Calendars")!=t){try{YAHOO.util.History.navigate("Calendars",t)}catch(s){f(t)}}else{f(t)}break;case"Events":t=p("Events");if(YAHOO.util.History.getCurrentState("Events")!=t){try{YAHOO.util.History.navigate("Events",t)}catch(s){g(t)}}else{g(t)}break}};var m=function(t){var s=YAHOO.util.Dom.get("ls-search-events-calendar").options;for(var r=0;r<s.length;r++){if(s[r].value==t){ls.showOptions("Events");s[r].selected=true}else{s[r].selected=false}}};var i=function(v,w){var y,x=[];if(typeof(v)=="string"){y=(YAHOO.util.Dom.get(v)||document.forms[v])}else{if(typeof(v)=="object"){y=v}else{return""}}for(var t=0;t<y.elements.length;t++){var u=y.elements[t];if(u.name){var s;switch(u.type){case"select-one":if(u.selectedIndex>-1){s=u.options[u.selectedIndex];if(s.attributes.value&&s.attributes.value.specified){if(s.value!==""||!w){x[x.length]=u.name+"="+s.value}}}break;case"select-multiple":if(u.selectedIndex>-1){for(var r=u.selectedIndex;r<u.options.length;r++){s=u.options[r];if(s.selected){if(s.attributes.value&&s.attributes.value.specified){if(s.value!==""||!w){x[x.length]=u.name+"="+s.value}}}}}break;case"radio":case"checkbox":if(u.checked){if(u.value!==""||!w){x[x.length]=u.name+"="+u.value}}break;default:if(u.value!==""||!w){x[x.length]=u.name+"="+u.value}break}}}return x.join("&")};var e=function(u){b();var v=YAHOO.util.Dom.get("ls-search-events-picker");var t=v.options;if(!u){for(var r=0;r<t.length;r++){if(t[r].text=="This Week"){t[r].selected=true}else{t[r].selected=false}}return}for(var r=0;r<t.length;r++){if(t[r].value==u||t[r].text==u){t[r].selected=true}else{t[r].selected=false}}if(v.selectedIndex<0){t[t.length]=new Option(u,u)}};var h=function(r){var t=YAHOO.util.Dom.get("ls-search-events-site").options;for(var s=0;s<t.length;s++){if(t[s].value==r){t[s].selected=true}else{t[s].selected=false}}};var c=function(t){switch(t){case"Calendars":ls.toggle("ls-search-events",false);ls.toggle("ls-search-calendars",true);break;case"Events":ls.toggle("ls-search-calendars",false);ls.toggle("ls-search-events",true);break}var s=k.get("tabs");for(var r=0;r<s.length;r++){if(s[r].get("label")==t){k.set("activeIndex",r);break}}ls.resize()};var d=function(){b();var r=YAHOO.util.Dom.get("ls-search-events-picker");if(r.selectedIndex>-1){var s=r.options[r.selectedIndex].value.split("-");YAHOO.util.Dom.get("ls-search-events-dtstart").value=s[0];YAHOO.util.Dom.get("ls-search-events-dtend").value=s[1]}else{YAHOO.util.Dom.get("ls-search-events-dtstart").value="";YAHOO.util.Dom.get("ls-search-events-dtend").value=""}};return{add:function(r){menu.clearContent();menu.addItems([{text:"Apple iCal",url:"/event?output=ical&id="+r},{target:"_blank",text:"Google Calendar",url:"/event?output=gcal&id="+r},{text:"Microsoft Outlook",url:"/event?output=outlook&id="+r},{target:"_blank",text:"Yahoo Calendar",url:"/event?output=yahoo&id="+r}]);menu.cfg.setProperty("context",["A"+r,"bl","tl"]);menu.render(document.body);menu.show()},calendar:function(s){YAHOO.util.Dom.get("ls-search-events-form").reset();e("Future");m(s);try{YAHOO.util.History.multiNavigate({tab:"Events",Events:p("Events")})}catch(r){c(o.tab);g()}},init:function(){YAHOO.util.History.register("tab",YAHOO.util.History.getBookmarkedState("tab")||"Events",function(s){c(s)});YAHOO.util.History.register("Events",YAHOO.util.History.getBookmarkedState("Events")||p("Events"),function(t){var s=YAHOO.util.History.getQueryStringParameter("q",t);if(s){YAHOO.util.Dom.get("ls-search-events-q").value=s}h(YAHOO.util.History.getQueryStringParameter("site",t));e(YAHOO.util.History.getQueryStringParameter("dtstart",t)+"-"+YAHOO.util.History.getQueryStringParameter("dtend",t));m(YAHOO.util.History.getQueryStringParameter("calendar",t));g()});YAHOO.util.History.register("Calendars",YAHOO.util.History.getBookmarkedState("Calendars")||p("Calendars"),function(s){f()});try{YAHOO.util.History.initialize("yui-history-field","yui-history-iframe")}catch(r){}YAHOO.util.History.onReady(function(){YAHOO.widget.Tab.prototype.ACTIVE_TITLE="";k=new YAHOO.widget.TabView();l.Events=new YAHOO.widget.Tab({label:"Events"});k.addTab(l.Events);l.Calendars=new YAHOO.widget.Tab({label:"Calendars"});k.addTab(l.Calendars);a=YAHOO.util.Dom.get("ls-sizer");q=a.offsetHeight;YAHOO.util.Event.addListener(window,"resize",function(){ls.resize()});window.setInterval(function(){if(a.offsetHeight!=q){q=a.offsetHeight;ls.resize()}},200);menu=new YAHOO.widget.Menu("ls-menu",{position:"dynamic"});menu.render(document.body);k.addListener("activeTabChange",function(s){var t=s.newValue.get("label");try{if(YAHOO.util.History.getCurrentState("tab")!=t){YAHOO.util.History.navigate("tab",t)}}catch(s){c(t)}});YAHOO.util.Event.addListener("ls-search-events-picker","change",function(s){j("Events")});YAHOO.util.Event.addListener("ls-search-events-form","submit",function(s){YAHOO.util.Event.preventDefault(s);e("Future");j("Events")});YAHOO.util.Event.addListener(["ls-search-events-site","ls-search-events-calendar"],"change",function(s){j("Events")});YAHOO.util.Event.addListener("ls-search-calendars-form","submit",function(s){YAHOO.util.Event.preventDefault(s);j("Calendars")});YAHOO.util.Event.addListener("ls-search-calendars-site","change",function(s){j("Calendars")});YAHOO.util.Event.addListener("ls-search-events-clear","click",function(s){YAHOO.util.Event.preventDefault(s);YAHOO.util.Dom.get("ls-search-events-form").reset();j("Events")});YAHOO.util.Event.addListener("ls-search-calendars-clear","click",function(s){YAHOO.util.Event.preventDefault(s);YAHOO.util.Dom.get("ls-search-calendars-form").reset();j("Calendars")});k.appendTo("ls-tabs");content=YAHOO.util.Dom.getElementsByClassName("yui-content","div","ls-tabs")[0];YAHOO.util.Event.onContentReady("ls-tabs",ls.resize);c(YAHOO.util.History.getCurrentState("tab"));e();g();f()})},resize:function(){var r=1;var s=YAHOO.util.Dom.getRegion(YAHOO.util.Dom.get("ls-links"));r+=s.bottom-s.top;s=YAHOO.util.Dom.getRegion(YAHOO.util.Dom.get("ls-search"));r+=s.bottom-s.top;s=YAHOO.util.Dom.getRegion(YAHOO.util.Dom.getElementsByClassName("yui-nav","ul","ls-tabs")[0]);r+=s.bottom-s.top;YAHOO.util.Dom.setStyle(content,"height",(YAHOO.util.Dom.getViewportHeight()-r)+"px")},showOptions:function(r){switch(r){case"Events":ls.toggle("ls-search-events-show",false);ls.toggle("ls-search-events-options",true);ls.resize();break}},subscribe:function(r){menu.clearContent();menu.addItems([{text:"Apple iCal",url:"/calendar?output=ical&id="+r},{text:"CSV",url:"/calendar?output=csv&id="+r},{target:"_blank",text:"Google Calendar",url:"/calendar?output=gcal&id="+r},{target:"_blank",text:"iCalendar",url:"/calendar?output=ics&id="+r},{target:"_blank",text:"RSS",url:"/calendar?output=rss&id="+r}]);menu.cfg.setProperty("context",["S"+r,"bl","tl"]);menu.render(document.body);menu.show()},toggle:function(s,t){if(s.constructor!=Array){s=[s]}s=YAHOO.util.Dom.get(s);for(var r=0;r<s.length;r++){if((typeof(t)=="undefined"||t==true)&&YAHOO.util.Dom.getStyle(s[r],"display")=="none"){try{YAHOO.util.Dom.setStyle(s[r],"display","table-row");}catch(e){YAHOO.util.Dom.setStyle(s[r],"display","block");}}else{if(typeof(t)=="undefined"||t==false){YAHOO.util.Dom.setStyle(s[r],"display","none")}}}}}})();ls.init()});
