var EVENTCAL={settings:{monthSelect:null,weekSelect:null,xhrFile:"",onSelectDay:$.noop()}};EVENTCAL.start=function(d,b,c){this.settings=$.extend({},this.settings,c);if($(d).length<1||$(b).length<1){return}this.cal=$(d).css("position","relative");var e="event_list_content-"+(Math.ceil(Math.random()*99999));$(b).css("position","relative").wrapInner('<div id="'+e+'" />');this.list=$("#"+e);this.calYears=this.cal.find(".years").eq(0).end().css("position","relative");this.calMonths=this.cal.find(".months").eq(0).end().css("position","relative");this.calDays=$(this.cal).find(".days").eq(0).end().css("position","relative");this.quickMonth=this.settings.monthSelect;this.quickWeek=this.settings.weekSelect;this.yearData=$(this.cal).find(".year_data").eq(0).end().css("position","relative");this.activeYear=null;this.activeMonth=null;this.activeDay=null;this.activeQuickMonth=null;this.activeQuickWeek=null;this.xhrFile=(this.cal.find("form:first").length>0)?this.cal.find("form:first").attr("action"):this.settings.xhrFile;this.typ="";if(this.xhrFile==""){return}else{this.xhrFile+=(this.xhrFile.indexOf("?")!=-1)?"&":"?"}var a=this;this.calIndicator=$('<div class="indicator" id="eventcal-indicator">&nbsp;</div>').appendTo(this.cal).css({display:"none",left:0,position:"absolute",top:0});this.listIndicator=$('<div class="indicator" id="eventlist-indicator">&nbsp;</div>').insertAfter(this.list).css({display:"none",left:0,position:"absolute",top:0});this.cal.find(".years a[rel]").live("click",function(f){f.preventDefault();a.yearSelected($(this))}).end().find(".months a[rel]").live("click",function(f){f.preventDefault();a.monthSelected($(this))}).end().find(".days a[rel]").live("click",function(f){f.preventDefault();a.daySelected($(this))}).end();if(this.quickMonth){this.quickMonth.change(function(){a.quickMonthSelected($(this))}).selectmenu({style:"dropdown",width:"100%",menuWidth:184})}if(this.quickWeek){this.quickWeek.change(function(){a.quickWeekSelected($(this))}).selectmenu({style:"dropdown",width:"100%",menuWidth:184})}this.load("idx")};EVENTCAL.yearSelected=function(a){this.calYears.find("a").removeClass("date-active").end();this.calMonths.find("a").removeClass("date-active").end();this.calDays.find("a").removeClass("date-active").end();this.activeYear=$(a).attr("rel");this.activeMonth=this.activeDay="";this.resetDropdown("");$(a).addClass("date-active");this.load("y")};EVENTCAL.monthSelected=function(a){this.calMonths.find("a").removeClass("date-active").end();this.calDays.find("a").removeClass("date-active").end();this.activeMonth=$(a).attr("rel");this.activeDay="";this.resetDropdown("");$(a).addClass("date-active");this.load("m")};EVENTCAL.daySelected=function(a){this.calDays.find("a").removeClass("date-active").end();this.activeDay=$(a).attr("rel");this.resetDropdown("");$(a).addClass("date-active");this.load("d")};EVENTCAL.quickMonthSelected=function(a){this.calYears.find("a").removeClass("date-active").end();this.calMonths.find("a").removeClass("date-active").end();this.calDays.find("a").removeClass("date-active").end();this.activeQuickMonth=$(a).val();this.resetDropdown("week");this.load("qm")};EVENTCAL.quickWeekSelected=function(a){this.calYears.find("a").removeClass("date-active").end();this.calMonths.find("a").removeClass("date-active").end();this.calDays.find("a").removeClass("date-active").end();this.activeQuickWeek=$(a).val();this.resetDropdown("month");this.load("qw")};EVENTCAL.determineActiveDate=function(){if(!this.activeYear){this.activeYear=this.calYears.find(".date-active").attr("rel")}if(!this.activeMonth){this.activeMonth=this.calMonths.find(".date-active").attr("rel")}if(!this.activeDay){this.activeDay=this.calDays.find(".date-active").attr("rel")}};EVENTCAL.load=function(b){this.typ=b;var a=this;var c={typ:this.typ};switch(this.typ){case"y":this.showCalIndicator(b);c.year=this.activeYear;break;case"m":this.showCalIndicator(b);c.year=this.activeYear;c.month=this.activeMonth;break;case"d":this.showListIndicator();c.year=this.activeYear;c.month=this.activeMonth;c.day=this.activeDay;break;case"qm":this.showListIndicator();c.quickmonth=this.quickMonth.val();break;case"qw":this.showListIndicator();c.quickweek=this.quickWeek.val();break;case"idx":default:this.showCalIndicator(b);this.showListIndicator();break}$.ajax({data:c,dataType:"xml",url:a.xhrFile+"rnd="+(Math.ceil(Math.random()*99999)),success:function(d){a.update(d)}})};EVENTCAL.update=function(b){switch(this.typ){case"y":var a=$("months:first",b).text();this.calMonths.empty().html(a);var e=$("days:first",b).text();this.calDays.empty().html(e);this.determineActiveDate();break;case"m":var e=$("days:first",b).text();this.calDays.empty().html(e);break;case"d":var c=$("eventlist:first",b).text();this.list.empty().html(c);break;case"qm":case"qw":var c=$("eventlist:first",b).text();this.list.empty().html(c);break;case"idx":default:var f=$("years:first",b).text();this.calYears.empty().html(f);var a=$("months:first",b).text();this.calMonths.empty().html(a);var e=$("days:first",b).text();this.calDays.empty().html(e);var c=$("eventlist:first",b).text();this.list.empty().html(c);if($("currentdate",b).length>0){this.activeYear=$("currentdate:first",b).attr("y");this.activeMonth=$("currentdate:first",b).attr("m");this.activeDay=$("currentdate:first",b).attr("d")}else{this.determineActiveDate()}break}this.hideCalIndicator();this.hideListIndicator()};EVENTCAL.showCalIndicator=function(e){var f=$(this.cal),d=f.outerHeight(),b=f.outerWidth(),c=0,a=0;switch(e){case"idx":break;case"y":f=this.yearData;d=f.outerHeight();break;case"m":f=this.calDays;d=f.outerHeight();break}this.calIndicator.appendTo(f).css({display:"block",height:d,left:0,opacity:0.9,top:c,width:b,"z-index":99999})};EVENTCAL.hideCalIndicator=function(){this.calIndicator.fadeTo(200,0,function(){$(this).css("display","none")})};EVENTCAL.showListIndicator=function(){var b=this.list.outerHeight();var a=this.list.outerWidth();this.listIndicator.css({display:"block",height:b,left:0,opacity:0.9,top:0,width:a})};EVENTCAL.resetDropdown=function(a){if(!a){a=""}switch(a){case"week":this.quickWeek.selectmenu("value",0);break;case"month":this.quickMonth.selectmenu("value",0);break;default:this.quickWeek.selectmenu("value",0);this.quickMonth.selectmenu("value",0);break}};EVENTCAL.hideListIndicator=function(){this.listIndicator.fadeTo(200,0,function(){$(this).css("display","none")})};
