/* Ajax Event Calendar
*	Version 1.0.2
*	Copyright (c) 2010 DMXzone.com
*/
(function(a){if(!a.console||(a.console&&!a.console.log)){a.console={log:(a.opera&&a.opera.postError)?a.opera.postError:function(){}}}})(this);(function($){jQuery.fn.extend({dmxAjaxCalendar:function(options,my_args){return this.each(function(){if(typeof options=="string"){this[options].apply(this,my_args)}else{jQuery.extend(this,new jQuery.dmxAjaxCalendar(this,options))}})}});jQuery.dmxAjaxCalendar=function(el,options){options=jQuery.extend({},jQuery.dmxAjaxCalendar.defaults,options);var self,div_el,$self,currentyear,currentmonth,currentday,current_container,current_date,day_names,month_names,year_refresh,switch_container,defaultday,defaultmonth,defaultyear,events,events_filter,events_start,events_stop,feeds_loaded,$cont_holder,$buttons,$nav_left,$nav_right,$header,$footer,$content,$current_date_range,animate_direction,animate;self=this;div_el=el;$self=jQuery(el);jQuery.extend(self,{version:"1.0.0",add_ajax_feed:function(feedurl,offset){var x=new Object();x.url=feedurl;x.timezone_offset=offset;options.ajax_feeds.push(x)},update_display_type:function(e){animate=false;$buttons.removeClass("selected");$(this).addClass("selected");if($(this).hasClass("day_button")){self.set_calendar_day(currentday,currentmonth,currentyear,false);return}if($(this).hasClass("week_button")){self.set_calendar_week(currentday,currentmonth,currentyear,false);return}if($(this).hasClass("month_button")){self.set_calendar_month(currentmonth,currentyear,false);return}if($(this).hasClass("year_button")){self.set_calendar_year(currentyear,false);return}},add_google_feed:function(feedurl,type){var x=new Object();x.url=feedurl;x.type=type;options.google_feeds.push(x)},is_date:function(x){return(null!=x)&&!isNaN(x)&&("undefined"!==typeof x.getDate)},go_to:function(d){if(!this.is_date(d)){if(typeof d=="string"){if(d.indexOf("-")>-1){d=d.replace(/-/gi,"/")}}d=new Date(d)}currentday=d.getDate();currentmonth=d.getMonth();currentyear=d.getFullYear();switch(options.display_type){case 0:this.go_day();break;case 1:this.go_week();break;case 2:this.go_month();break;case 3:this.go_year();break}},go_day:function(){animate=false;self.set_calendar_day(currentday,currentmonth,currentyear,false)},go_week:function(){animate=false;self.set_calendar_week(currentday,currentmonth,currentyear,false)},go_month:function(){animate=false;self.set_calendar_month(currentmonth,currentyear,false)},go_year:function(){animate=false;self.set_calendar_year(currentyear,false)},go_next:function(){animate_direction=-1;animate=true;var d=new Date(currentyear,currentmonth,currentday);switch(options.display_type){case 0:d.setDate(d.getDate()+1);self.set_calendar_day(d.getDate(),d.getMonth(),d.getFullYear(),true);break;case 1:d.setDate(d.getDate()+7);self.set_calendar_week(d.getDate(),d.getMonth(),d.getFullYear(),true);break;case 2:d.setMonth(d.getMonth()+1);self.set_calendar_month(d.getMonth(),d.getFullYear(),true);break;case 3:d.setFullYear(d.getFullYear()+1);self.set_calendar_year(d.getFullYear(),true);break}},refresh:function(){switch(options.display_type){case 0:options.display_type=3;self.set_calendar_day(currentday,currentmonth,currentyear,true);break;case 1:options.display_type=3;self.set_calendar_week(currentday,currentmonth,currentyear,true);break;case 2:options.display_type=3;self.set_calendar_month(currentmonth,currentyear,true);break;case 3:options.display_type=1;self.set_calendar_year(currentyear,true);break}},go_prev:function(){var d;animate=true;animate_direction=1;switch(options.display_type){case 0:d=new Date(currentyear,currentmonth,currentday);d.setDate(d.getDate()-1);self.set_calendar_day(d.getDate(),d.getMonth(),d.getFullYear(),true);break;case 1:d=new Date(currentyear,currentmonth,currentday);d.setDate(d.getDate()-7);self.set_calendar_week(d.getDate(),d.getMonth(),d.getFullYear(),true);break;case 2:d=new Date(currentyear,currentmonth,currentday);d.setMonth(d.getMonth()-1);self.set_calendar_month(d.getMonth(),d.getFullYear(),true);break;case 3:d=new Date(currentyear,currentmonth,currentday);d.setFullYear(d.getFullYear()-1);self.set_calendar_year(d.getFullYear(),true);break}},execute_behavior_call:function(call_code,e,elem,cur_date){if(e!=-1){var start_year,start_month,start_day,start_hours,start_minutes,start_seconds,start_date,stop_year,stop_month,stop_day,stop_hours,stop_minutes,stop_seconds,stop_date,description,link,original_id;start_year=events[e].start.getFullYear();start_month=events[e].start.getMonth()+1;if(start_month<10){start_month="0"+start_month}start_day=events[e].start.getDate();if(start_day<10){start_day="0"+start_day}start_hours=events[e].start.getHours();if(start_hours<10){start_hours="0"+start_hours}start_minutes=events[e].start.getMinutes();if(start_minutes<10){start_minutes="0"+start_minutes}start_seconds=events[e].start.getSeconds();if(start_seconds<10){start_seconds="0"+start_seconds}start_date=start_year+"-"+start_month+"-"+start_day+" "+start_hours+":"+start_minutes+":"+start_seconds;stop_year=events[e].stop.getFullYear();stop_month=events[e].stop.getMonth()+1;if(stop_month<10){stop_month="0"+stop_month}stop_day=events[e].stop.getDate();if(stop_day<10){stop_day="0"+stop_day}stop_hours=events[e].stop.getHours();if(stop_hours<10){stop_hours="0"+stop_hours}stop_minutes=events[e].stop.getMinutes();if(stop_minutes<10){stop_minutes="0"+stop_minutes}stop_seconds=events[e].start.getSeconds();if(stop_seconds<10){stop_seconds="0"+stop_seconds}stop_date=stop_year+"-"+stop_month+"-"+stop_day+" "+stop_hours+":"+stop_minutes+":"+stop_seconds;description="";if(typeof events[e].description!="undefined"){description=events[e].description}link="";if(typeof events[e].link!="undefined"){link=events[e].link}original_id="-1";if(typeof events[e].original_id!="undefined"){original_id=events[e].original_id+""}call_code=call_code.replace(/(##id##|\{id\})/gi,escape_masks(original_id));call_code=call_code.replace(/(##title##|\{title\})/gi,escape_masks(events[e].name));call_code=call_code.replace(/(##description##|\{description\})/gi,escape_masks(description));call_code=call_code.replace(/(##link##|\{link\})/gi,escape_masks(link));call_code=call_code.replace(/(##start_date##|\{start_date\})/gi,start_date);call_code=call_code.replace(/(##start_year##|\{start_year\})/gi,start_year);call_code=call_code.replace(/(##start_month##|\{start_month\})/gi,start_month);call_code=call_code.replace(/(##start_day##|\{start_day\})/gi,start_day);call_code=call_code.replace(/(##start_hours##|\{start_hours\})/gi,start_hours);call_code=call_code.replace(/(##start_minutes##|\{start_minutes\})/gi,start_minutes);call_code=call_code.replace(/(##start_seconds##|\{start_seconds\})/gi,start_seconds);call_code=call_code.replace(/(##stop_date##|\{stop_date\})/gi,stop_date);call_code=call_code.replace(/(##stop_year##|\{stop_year\})/gi,stop_year);call_code=call_code.replace(/(##stop_month##|\{stop_month\})/gi,stop_month);call_code=call_code.replace(/(##stop_day##|\{stop_day\})/gi,stop_day);call_code=call_code.replace(/(##stop_hours##|\{stop_hours\})/gi,stop_hours);call_code=call_code.replace(/(##stop_minutes##|\{stop_minutes\})/gi,stop_minutes);call_code=call_code.replace(/(##stop_seconds##|\{stop_seconds\})/gi,stop_seconds);(new Function("with(this) { "+call_code+"}")).call(elem?elem:document.body)}else{if(typeof cur_date!="undefined"&&cur_date!=""){var date_arr=cur_date.split("-");call_code=call_code.replace(/(##cur_date##|\{cur_date\})/gi,cur_date);call_code=call_code.replace(/(##js_date##|\{js_date\})/gi,"new Date('"+cur_date.replace(/-/gi,"/")+"')");if(date_arr.length>2){call_code=call_code.replace(/(##cur_day##|\{cur_day\})/gi,date_arr[2]);call_code=call_code.replace(/(##cur_month##|\{cur_month\})/gi,date_arr[1]);call_code=call_code.replace(/(##cur_year##|\{cur_year\})/gi,date_arr[0])}}(new Function("with(this) { "+call_code+"}")).call(elem?elem:document.body)}},load_events:function(){events=new Array();feeds_loaded=0;for(var i=0;i<$(el).data("options").google_feeds.length;i++){this.load_from_google_feed_jsonp($(el).data("options").google_feeds[i].url,$(el).data("options").google_feeds[i].type)}for(var i=0;i<$(el).data("options").ajax_feeds.length;i++){this.load_from_ajax_feed($(el).data("options").ajax_feeds[i].url)}},update_display:function(animate){if(typeof animate=="undefined"){animate=true}switch(options.display_type){case 0:this.set_calendar_day(currentday,currentmonth,currentyear,animate);break;case 1:this.set_calendar_week(currentday,currentmonth,currentyear,animate);break;case 2:this.set_calendar_month(currentmonth,currentyear,animate);break;case 3:this.set_calendar_year(currentyear,animate)}},update_dates:function(){current_date=new Date(currentyear,currentmonth,currentday);events_start=new Date(current_date.getTime());events_start.setMonth(events_start.getMonth()-3);events_stop=new Date(current_date.getTime());events_stop.setMonth(events_stop.getMonth()+3)},set_events_filter:function(filter){events_filter=filter},reset_events_filter_array:function(filter){events_filter_array=[true,true,true,true,true,true,true,true,true]},set_events_filter_array:function(filter){events_filter_array[filter+1]=!events_filter_array[filter+1]},load_from_ajax_feed:function(feedurl,tz_offset){var tz_diff,start_param,stop_param,data,obj;tz_diff=new Date().getTimezoneOffset()*60;if(options.display_type!=3){start_param=Math.floor(events_start.getTime()/1000-tz_diff);stop_param=Math.floor(events_stop.getTime()/1000-tz_diff)}else{start_param=Math.floor(Date.UTC(currentyear,0,1)/1000);stop_param=Math.floor(Date.UTC(currentyear+1,0,1)/1000)}data={start:start_param,stop:stop_param};obj=this;$.jsonp({url:feedurl,callbackParameter:"callback",data:data,beforeSend:function(req){if($("#"+$(el).data("options").id+" .dmx_loading").length<1){$("#"+$(el).data("options").id).append('<div class="dmx_loading" style="position: absolute; top: 0; left:0; height:'+$self.outerHeight(true)+"px; width:"+$(el).outerWidth()+'px; background-color: white; opacity: 0.5; -ms-filter:\'alpha(opacity=50)\'; filter:alpha(opacity=50); -moz-opacity:0.5; text-align: center;" ><p style="position: absolute; top: 51%; left: 45%">'+"retrieving events".localize()+"</p></div>")}},complete:function(){feeds_loaded++;if(feeds_loaded==(options.ajax_feeds.length+options.google_feeds.length)){if(options.onFeedsLoaded!=""){self.execute_feeds_loaded(options.onFeedsLoaded)}$(".dmx_loading").remove();obj.update_display()}},error:function(){console.log("error reading: "+feedurl)},success:function(data){var entries=data||[];for(var i=0;i<entries.length;++i){var entry,orig_id,event_start,event_stop,myEvent;entry=entries[i];orig_id=entries[i].event_id;event_start=new Date(entry.start.replace(/-/gi,"/"));if(typeof entry.stop!="undefined"&&entry.stop){event_stop=new Date(entry.stop.replace(/-/gi,"/"))}else{event_stop=new Date(entry.start.replace(/-/gi,"/"))}if(options.time_conversion.toLowerCase()=="user"){if(!(obj.is_midnight(event_start)&&obj.is_midnight(event_stop))){event_start.setMinutes(event_start.getMinutes()-event_start.getTimezoneOffset());event_stop.setMinutes(event_stop.getMinutes()-event_stop.getTimezoneOffset())}}if(typeof orig_id=="undefined"){orig_id=-1}if(event_stop<event_start){event_stop=event_start}myEvent=new event(orig_id,entry.title,event_start,event_stop,entry.description,entry.type,entry.link);obj.add_event(myEvent)}}})},parse_google_private:function(priv_url){var google_params,new_url,qs_arr;google_params=new Object();new_url=priv_url.substr(priv_url.indexOf("?")+1);qs_arr=new_url.split("&");for(var i=0;i<qs_arr.length;i++){var param_arr=qs_arr[i].split("=");if(param_arr[0].toLowerCase()=="src"){google_params.src=param_arr[1]}if(param_arr[0].toLowerCase()=="pvttk"){google_params.key=param_arr[1]}}return google_params},load_from_google_feed_jsonp:function(feedurl,evsType){var month,startParam,stopParam,start,stop,data,g_params,google_url,obj;month=currentmonth;if(options.display_type!=3){start=new Date(currentyear,month-3,1);stop=new Date(currentyear,month+3,1);startParam=this.toIso8601(start);stopParam=this.toIso8601(stop)}else{startParam=currentyear+"-01-01";stopParam=(currentyear+1)+"-01-01"}if(feedurl.indexOf("://")<0){feedurl="http://www.google.com/calendar/feeds/"+escape(feedurl)+"/public/full";data={"max-results":150,orderby:"starttime",sortorder:"a","start-min":startParam,"start-max":stopParam,alt:"json-in-script"}}else{if(feedurl.indexOf("pvttk=")<0){data={v:"1.0",q:feedurl,num:150};feedurl="http://ajax.googleapis.com/ajax/services/feed/load"}else{g_params=this.parse_google_private(feedurl);if(typeof g_params.src!="undefined"&&typeof g_params.key!="undefined"){feedurl="http://www.google.com/calendar/feeds/"+escape(g_params.src)+"/private-"+g_params.key+"/full"}data={"max-results":150,orderby:"starttime",sortorder:"a","start-min":startParam,"start-max":stopParam,alt:"json-in-script"}}}google_url=feedurl;obj=this;$.jsonp({url:google_url,callbackParameter:"callback",data:data,beforeSend:function(req){if($("#"+$(el).data("options").id+" .dmx_loading").length<1){$("#"+$(el).data("options").id).append('<div class="dmx_loading" style="position: absolute; top: 0; left:0; height:'+$self.outerHeight(true)+"px; width:"+$(el).outerWidth()+'px; background-color: white; opacity: 0.5; -ms-filter:\'alpha(opacity=50)\'; filter:alpha(opacity=50); -moz-opacity:0.5; text-align: center;" ><p style="position: absolute; top: 51%; left: 45%">'+"retrieving events".localize()+"</p></div>")}},complete:function(){feeds_loaded++;if(feeds_loaded==(options.ajax_feeds.length+options.google_feeds.length)){if(options.onFeedsLoaded!=""){self.execute_feeds_loaded(options.onFeedsLoaded)}$(".dmx_loading").remove();obj.update_display()}},success:function(data){var feed=data.feed;if(typeof feed=="undefined"){if(data.responseData!=null){feed=data.responseData.feed;if(feed.type&&(feed.type.indexOf("atom")>=0||feed.type.indexOf("rss")>=0)){var entries=feed.entries||[];for(var i=0;i<entries.length;++i){var entry,event_start,event_stop,orig_id,myEvent;entry=entries[i];event_start=new Date(entry.publishedDate);event_stop=obj.date_add("n",event_start,30);orig_id=i;if(options.time_conversion.toLowerCase()=="user"){if(!(obj.is_midnight(event_start)&&obj.is_midnight(event_stop))){event_start.setMinutes(event_start.getMinutes()-event_start.getTimezoneOffset());event_stop.setMinutes(event_stop.getMinutes()-event_stop.getTimezoneOffset())}}if(event_stop<event_start){event_stop=event_start}myEvent=new event(orig_id,entry.title,event_start,event_stop,entry.content,evsType,entry.link);obj.add_event(myEvent)}}}}else{var entries=feed.entry||[];for(var i=0;i<entries.length;++i){var entry=entries[i];for(var j=0;j<entry["gd$when"].length;++j){var when,orig_id,convert_tz,event_start,event_stop,myEvent;when=entry["gd$when"][j];orig_id=entry["gCal$uid"].value;convert_tz=false;if(options.time_conversion.toLowerCase()=="user"){convert_tz=true}event_start=setISO8601(when.startTime,convert_tz);event_stop=setISO8601(when.endTime,convert_tz);if(event_stop<event_start){event_stop=event_start}myEvent=new event(orig_id,entry.title.$t,event_start,event_stop,entry.content.$t,evsType,entry.link[0].href);obj.add_event(myEvent)}}}}})},execute_feeds_loaded:function(call_code){eval(call_code)},draw_calendar:function(){var cal_html,events_css;cal_html=this.get_calendar_header()+'<div class="calendar_content"></div>'+this.get_calendar_footer();$self.empty().append(cal_html);$header=$(" .calendar_header",$self);$footer=$(" .calendar_footer",$self);$content=$(" .calendar_content",$self);if(options.fixed_height){var h,cont_height;h=$header.outerHeight(true);h+=$footer.outerHeight(true);cont_height=options.height-h;$content.height(cont_height)}$nav_left=$(" .nav_left",$self);$nav_right=$(" .nav_right",$self);if(typeof options.onPrevious!="undefined"&&options.onPrevious!=""){$nav_left.bind("click",function(){eval(options.onPrevious)})}if(typeof options.onNext!="undefined"&&options.onNext!=""){$nav_right.bind("click",function(){eval(options.onNext)})}if(typeof options.onDay!="undefined"&&options.onDay!=""){$(".day_button",$header).bind("click",function(){eval(options.onDay)})}if(typeof options.onWeek!="undefined"&&options.onWeek!=""){$(".week_button",$header).bind("click",function(){eval(options.onWeek)})}if(typeof options.onMonth!="undefined"&&options.onMonth!=""){$(".month_button",$header).bind("click",function(){eval(options.onMonth)})}if(typeof options.onYear!="undefined"&&options.onYear!=""){$(".year_button",$header).bind("click",function(){eval(options.onYear)})}$nav_left.bind("click",self.go_prev);$nav_right.bind("click",self.go_next);$current_date_range=$(".current_date_range",$self);$buttons=$(".button",$header);$buttons.bind("click",self.update_display_type);events_css="";for(var i=0;i<options.events_type.length;i++){if((typeof options.events_type[i].color!="undefined"&&options.events_type[i].color!="")||(typeof options.events_type[i].background_color!="undefined"&&options.events_type[i].background_color!="")){events_css+="#"+options.id+" .color-"+(options.events_type[i].number+1)+" {\n";if(typeof options.events_type[i].background_color!="undefined"&&options.events_type[i].background_color!=""){events_css+="background-color: "+options.events_type[i].background_color+" !important;\n"}if(typeof options.events_type[i].border_color!="undefined"&&options.events_type[i].border_color!=""){events_css+="border-color: "+options.events_type[i].border_color+" !important;\n"}if(typeof options.events_type[i].color!="undefined"&&options.events_type[i].color!=""){events_css+="color: "+options.events_type[i].color+" !important;\n"}events_css+="}\n";if(typeof options.events_type[i].color!="undefined"&&options.events_type[i].color!=""){events_css+="#"+options.id+" .color-"+(options.events_type[i].number+1)+" * {\ncolor: "+options.events_type[i].color+" !important;\n}\n"}}}change_style_rule(options.id,events_css)},get_legend_html:function(){var lhtml='<div class="legend"><table class="legend"><tbody><tr><th colspan="3" class="legend_header">'+"legend".localize()+"</th></tr>";var opened=false;for(var i=0;i<9;i++){if(i%3==0){opened=true;lhtml+="<tr>"}if(typeof options.events_type[i]=="undefined"){lhtml+="<td>&nbsp;</td>"}else{var checked="";if(events_filter_array[i]){checked=" checked"}lhtml+="<td><div style='width: auto;padding-right: 6px' class=\"event color-"+(options.events_type[i].number+1)+' filter"><div class="text-outer"><div class="text"><label style=\'cursor: pointer;\'><input'+checked+" type='checkbox' onClick=\"jQuery('#"+options.id+"').dmxAjaxCalendar('set_events_filter_array',["+(i)+"]); jQuery('#"+options.id+"').dmxAjaxCalendar('update_display', [false]);\" /><bdo dir\""+options.text_direction+'" >'+options.events_type[i].name+"</bdo></label></div></div></div></td>"}if((i+1)%3==0){opened=false;lhtml+="</tr>"}}if(opened){lhtml+="</tr>"}lhtml+="</tbody></table></div>";return lhtml},set_current_date:function(day,month,year){currentyear=year;currentmonth=month;currentday=day},set_calendar_day:function(day,month,year,animate){if(typeof animate=="undefined"){animate=true}currentday=day;currentmonth=month;currentyear=year;var cur_date=new Date(currentyear,currentmonth,currentday);var start_buffer=new Date(events_start.getTime());start_buffer.setMonth(start_buffer.getMonth()+1);var stop_buffer=new Date(events_stop.getTime());stop_buffer.setMonth(stop_buffer.getMonth()-2);if((start_buffer-cur_date>0||cur_date-stop_buffer>0)){options.display_type=0;current_container=0;this.update_dates();this.load_events()}else{options.display_type=0;$current_date_range.html(this.get_day_date_display(year,month,day));var in_html=this.get_calendar_day_html(day,month,year);$buttons.removeClass("selected");$(".day_button",$header).addClass("selected");this.set_dynamic_html(in_html,animate);var $day=$(".day",$content);if(options.fixed_height){var new_height=$content.height()-$(" .day-header",$content).outerHeight(true)-$day.get_space("Top")-$day.get_space("Bottom");$day.css("height",new_height)}else{$day.css("height","auto")}var scale_factor=options.width/800;var scaled_height=Math.floor(20*scale_factor);var hour_height=2*scaled_height;if(navigator.userAgent.toLowerCase().indexOf("safari")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){hour_height++}var css="#"+options.id+" .day_half_hour {\n";css+="height: "+scaled_height+"px !important;\n";css+="}\n";css+="#"+options.id+" .day li table td.hour{\n";css+="height: "+hour_height+"px !important;\n";css+="}\n";change_style_rule(options.id,css);this.set_font_size();if(navigator.userAgent.toLowerCase().indexOf("opera")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){scaled_height+=$("li table",$day).find("td:not(.event_cell):not(.hour)").get_space("top");scaled_height+=$("li table",$day).find("td:not(.event_cell):not(.hour)").get_space("bottom")}this.fix_event_heights(scaled_height);this.animate_height($content,$cont_holder.find(" > div:last"))}},set_font_size:function(){if(!options.resized){var base_font_size_str=$("*",$self).css("font-size");var base_font_size=parseInt(base_font_size_str.substr(0,base_font_size_str.length-2));var scale_factor=options.width/800;var h3_size_str=$("h3",$self).css("font-size");var h3_resize_factor=parseInt(h3_size_str.substr(0,h3_size_str.length-2))/12;var new_fs=Math.max(10,Math.floor(base_font_size*scale_factor));var new_h3_fs=Math.floor(new_fs*h3_resize_factor);var css="#"+options.id+" * {";css+="font-size:"+new_fs+"px;\n";css+="}\n";css+="#"+options.id+" h3 {";css+="font-size:"+new_h3_fs+"px;\n";css+="}\n";change_style_rule(options.id,css)}else{}options.resized=true},set_calendar_week:function(day,month,year,animate){if(typeof animate=="undefined"){animate=true}currentday=day;currentmonth=month;currentyear=year;var cur_date=new Date(currentyear,currentmonth,currentday);var start_buffer=new Date(events_start.getTime());start_buffer.setMonth(start_buffer.getMonth()+1);var stop_buffer=new Date(events_stop.getTime());stop_buffer.setMonth(stop_buffer.getMonth()-2);if((start_buffer-cur_date>0||cur_date-stop_buffer>0)){options.display_type=1;current_container=0;this.update_dates();this.load_events()}else{options.display_type=1;$current_date_range.html(this.get_week_range_display(year,month,day));$buttons.removeClass("selected");$(".week_button",$header).addClass("selected");var in_html=this.get_calendar_week_html(day,month,year);var scale_factor=options.width/800;var scaled_height=Math.floor(20*scale_factor);var hour_height=2*scaled_height;if(navigator.userAgent.toLowerCase().indexOf("safari")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){hour_height++}this.set_dynamic_html(in_html,animate);var $day=$(".day",$content);if(options.fixed_height){var new_height=$content.height()-$(".day-header",$content).outerHeight(true)-$day.get_space("Top")-$day.get_space("Bottom");$day.css("height",new_height)}else{$day.css("height","auto")}var scale_factor=options.width/800;var scaled_height=Math.floor(20*scale_factor);var hour_height=2*scaled_height;if(navigator.userAgent.toLowerCase().indexOf("safari")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){hour_height++}var css="#"+options.id+" .day_half_hour {\n";css+="height: "+scaled_height+"px !important;\n";css+="}\n";css+="#"+options.id+" .day li table td.hour{\n";css+="height: "+hour_height+"px !important;\n";css+="}\n";change_style_rule(options.id,css);this.set_font_size();scaled_height=$("li table",$day).find("td:not(.event_cell):not(.hour)").outerHeight(true);this.fix_event_heights(scaled_height);this.animate_height($content,$cont_holder.find(" > div:last"))}},fix_event_heights:function(cell_height,$el){if(navigator.userAgent.toLowerCase().indexOf("safari")>-1){cell_height++}$(".day li table",$self).find("td.event_cell").each(function(ind,cur_el){$cur_el=$(cur_el);var cur_height;var rs=$cur_el.attr("rows");cur_height=cell_height*parseInt(rs)-$cur_el.get_space("Top")-$cur_el.get_space("Bottom");$event_div=$cur_el.find("div");$cur_el.css("height",cur_height+"px");$event_div.css({height:(cur_height-$event_div.get_space("Top")-$event_div.get_space("Bottom"))+"px"})})},get_week_range_display:function(year,month,day){var startDate=new Date(year,month,day);var d=startDate.getDay();if(options.week_start==1){if(d==0){d=7}d=d-1}startDate.setDate(startDate.getDate()-d);var stopDate=new Date(startDate.getTime());stopDate.setDate(stopDate.getDate()+6);var prevDate=new Date(year,month,day);prevDate.setDate(prevDate.getDate()-7);var nextDate=new Date(year,month,day);nextDate.setDate(nextDate.getDate()+7);pnhtml="";var cmonth=startDate.getMonth();var nmonth=stopDate.getMonth();switch(options.date_display_type){case 1:case 3:pnhtml+=startDate.getDate();if(cmonth!=nmonth){pnhtml+=" "+month_names[(cmonth)%12].localize()}pnhtml+=" - ";pnhtml+=stopDate.getDate()+" "+month_names[(nmonth)%12].localize();break;case 0:case 2:default:pnhtml+=month_names[(cmonth)%12].localize()+"&nbsp;"+startDate.getDate()+" - ";if(cmonth!=nmonth){pnhtml+=month_names[(nmonth)%12].localize()+" "}pnhtml+=stopDate.getDate();break}pnhtml+=", "+year;return pnhtml},get_day_date_display:function(year,month,day){var pnhtml=day_names[new Date(year,month,day).getDay()].localize()+", ";switch(options.date_display_type){case 1:case 3:pnhtml+=day+"&nbsp;"+month_names[(month)%12].localize();break;case 0:case 2:pnhtml+=month_names[(month)%12].localize()+"&nbsp;"+day;break;default:pnhtml+=month_names[(month)%12].localize()+"&nbsp;"+day;break}pnhtml+=", "+year;return pnhtml},animate_content:function(){if(typeof animate_direction=="undefined"){animate_direction=-1}var w=options.width;var $scroll_content=$(".scroll_content",$content);if($cont_holder.css("left")!=w){if(options.fixed_height){$scroll_content.css("overflow-y","hidden");$cont_holder.animate({left:animate_direction*w},{duration:options.animation_duration,easing:options.animation_easing,complete:function(){$scroll_content.css("overflow-y","scroll")}})}else{$cont_holder.animate({left:(animate_direction*w)},{duration:options.animation_duration,easing:options.animation_easing,complete:function(){$cont_holder.find(" > div:first").remove();$cont_holder.css("left",0);$cont_holder.find(" > div:last").css("left",0)}})}}},create_sliding_divs:function(){var cont_div=document.createElement("div");$(cont_div).attr("id",options.id+"_holder");$(cont_div).css("position","relative");$content.empty();$content.append(cont_div);$cont_holder=$(cont_div)},set_calendar_year:function(year){var y_r=false;if(currentyear!=year){currentyear=year;y_r=true}if(y_r||options.display_type!=3){options.display_type=3;this.update_dates();this.load_events();year_refresh=false}else{var in_html='<div class="year_content">'+this.get_calendar_year_html(year)+"</div>";this.set_dynamic_html(in_html);var $year_content=$(".year_content",$content);if(options.fixed_height){var new_height=$content.height()-$year_content.get_space("Top")-$year_content.get_space("Bottom");$year_content.height(new_height)}$current_date_range.html(year);$buttons.removeClass("selected");$(".year_button",$header).addClass("selected");var size=Math.floor((($self.innerWidth()-10)/options.num_columns_year_view-12)/7);var css=".simple_small_month td {";css+="width:"+size+"px !important;\n";css+="height:"+size+"px !important;\n";css+="}\n";css+=".simple_small_month th {";css+="height:"+size+"px !important;\n";css+="}\n";change_style_rule(options.id,css);this.set_font_size();year_refresh=true;this.animate_height($content,$cont_holder.find(" > div:last"))}},get_day_month_display:function(month,day){var dm_html="";switch(options.date_display_type){case 0:dm_html+=month+"/"+day;break;case 1:dm_html+=day+"/"+month;break;case 2:dm_html+=month+"-"+day;break;case 3:dm_html+=day+"."+month;break;default:dm_html+=month+"/"+day;break}return dm_html},set_calendar_month:function(month,year,animate){if(typeof animate=="undefined"){animate=true}currentday=1;currentmonth=month;currentyear=year;var cur_date=new Date(currentyear,currentmonth,currentday);var start_buffer=new Date(events_start.getTime());start_buffer.setMonth(start_buffer.getMonth()+1);var stop_buffer=new Date(events_stop.getTime());stop_buffer.setMonth(stop_buffer.getMonth()-2);if((start_buffer-cur_date>0||cur_date-stop_buffer>0)){options.display_type=2;this.update_dates();this.load_events()}else{options.display_type=2;$buttons.removeClass("selected");$(".month_button",$header).addClass("selected");var h=$header.outerHeight(true);h+=$footer.outerHeight(true);var $month_content=$(".month_content",$content);var in_html=this.get_calendar_month_html(month,year);this.set_dynamic_html(in_html,animate);if(options.fixed_height){var new_height=$content.outerHeight(true)-$(".day-header",$content).outerHeight(true)-$month_content.get_space("Top")-$month_content.get_space("Bottom");$month_content.css("height",new_height);$content.css("overflow-y","auto")}$current_date_range.html(month_names[month].localize()+" "+year);var size=20*(options.width/800);var css="#"+options.id+" .month_content td, .month_content th {";css+="height: "+size+"px";css+="}\n";css+="#"+options.id+" .month_content td .event {";css+="height: "+(size-2)+"px";css+="}\n";css+="#"+options.id+" .month_content td .filler-div {";css+="height: "+(size-2)+"px";css+="}\n";change_style_rule(options.id,css);this.set_font_size();this.animate_height($content,$cont_holder.find(" > div:last"))}},animate_height:function($target_el,$content_el){if(options.fixed_height){$target_el.animate({height:$content_el.outerHeight(true)},{duration:500,complete:function(){$target_el.css("overflow-y","auto")}})}else{$target_el.animate({height:$content_el.outerHeight(true)},{duration:500})}},set_dynamic_html:function(html_content){if(options.use_animation){if(typeof $cont_holder=="undefined"){this.create_sliding_divs()}if(animate){var $new_div=$("<div></div>").append(html_content);var l_pos=animate_direction*(-options.width);$new_div.css({position:"absolute",width:$cont_holder.width(),top:0,left:l_pos});if(options.fixed_height){$new_div.height($content.height())}$cont_holder.append($new_div);var h=$header.outerHeight(true);h+=$footer.outerHeight(true);var cont_height=options.height-h;if(options.fixed_height){$content.height(cont_height);var $cur_day=$(".day",$content);if($cur_day.length>0){var header_height=$(".day-header",$content).outerHeight(true);$cur_day.height(cont_height-header_height)}}this.animate_content();animate=false}else{$static_div=$("<div></div>").append(html_content);$static_div.css({position:"absolute",width:$cont_holder.width(),top:0,left:0});if(options.fixed_height){$static_div.height($content.height())}$cont_holder.empty().append($static_div);$cont_holder.css("left",0)}}else{$content.html(html_content);if(options.fixed_height){$cur_day=$(" .day",$content);var cont_height=$content.innerHeight();if($cur_day.length>0){var header_height=$(".day-header",$content).outerHeight(true);$cur_day.height(cont_height-header_height)}}}if(typeof options.onEventClick!="undefined"&&options.onEventClick!=""){var $cur_events=$(".event",$content);$cur_events.bind("click",function(e){var ev_id=$(this).attr("ev_id");self.execute_behavior_call(options.onEventClick,ev_id,this)});$cur_events.css("cursor","pointer")}if(typeof options.onEventMouseOver!="undefined"&&options.onEventMouseOver!=""){$(".event",$content).bind("mouseover",function(e){var ev_id=$(this).attr("ev_id");self.execute_behavior_call(options.onEventMouseOver,ev_id,this)})}if(typeof options.onEventMouseOut!="undefined"&&options.onEventMouseOut!=""){$(".event",$content).bind("mouseout",function(e){var ev_id=$(this).attr("ev_id");self.execute_behavior_call(options.onEventMouseOut,ev_id,this)})}for(var i=0;i<options.events_type.length;i++){if(typeof options.events_type[i].number!="undefined"&&options.events_type[i].number!==""){var $cur_events=$(".event-type-"+(options.events_type[i].number+1),$content);if(typeof options.events_type[i].on_click!="undefined"&&options.events_type[i].on_click!=""){var click_action=options.events_type[i].on_click;$cur_events.data("event_click_action",click_action);$cur_events.bind("click",function(e){var ca_new="";ca_new=click_action;var ev_id=$(this).attr("ev_id");self.execute_behavior_call($(this).data("event_click_action"),ev_id,this)});$cur_events.css("cursor","pointer")}if(typeof options.events_type[i].on_mouse_over!="undefined"&&options.events_type[i].on_mouse_over!=""){var mouse_over_action=options.events_type[i].on_mouse_over;$cur_events.data("event_mouseover_action",mouse_over_action);$(".event-type-"+(options.events_type[i].number+1),$content).bind("mouseover",function(e){var ev_id=$(this).attr("ev_id");self.execute_behavior_call($(this).data("event_mouseover_action"),ev_id,this)})}if(typeof options.events_type[i].on_mouse_out!="undefined"&&options.events_type[i].on_mouse_out!=""){var mouse_out_action=options.events_type[i].on_mouse_out;$cur_events.data("event_mouseout_action",mouse_out_action);$(".event-type-"+(options.events_type[i].number+1),$content).bind("mouseout",function(e){var ev_id=$(this).attr("ev_id");self.execute_behavior_call($(this).data("event_mouseout_action"),ev_id,this)})}}}if(typeof options.onYearFreeDayClick!="undefined"&&options.onYearFreeDayClick!=""){var $cur_events=$(".has_no_event",$content);$cur_events.bind("click",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearFreeDayClick,-1,this,cur_date)});$cur_events.css("cursor","pointer")}if(typeof options.onYearFreeDayMouseOver!="undefined"&&options.onYearFreeDayMouseOver!=""){$(".has_no_event",$content).bind("mouseover",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearFreeDayMouseOver,-1,this,cur_date)})}if(typeof options.onYearFreeDayMouseOut!="undefined"&&options.onYearFreeDayMouseOut!=""){$(".has_no_event",$content).bind("mouseout",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearFreeDayMouseOut,-1,this,cur_date)})}if(typeof options.onYearEventClick!="undefined"&&options.onYearEventClick!=""){var $cur_events=$(".has_event",$content);$cur_events.bind("click",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearEventClick,-1,this,cur_date)});$cur_events.css("cursor","pointer")}if(typeof options.onYearEventMouseOver!="undefined"&&options.onYearEventMouseOver!=""){$(".has_event",$content).bind("mouseover",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearEventMouseOver,-1,this,cur_date)})}if(typeof options.onYearEventMouseOut!="undefined"&&options.onYearEventMouseOut!=""){$(".has_event",$content).bind("mouseout",function(e){var cur_date=$(this).attr("cur_date");self.execute_behavior_call(options.onYearEventMouseOut,-1,this,cur_date)})}},get_calendar_day_html:function(day,month,year){var dhtml="";dhtml+=this.get_day_header(day,month,year)+'<div style="clear: both;"></div>'+this.get_day_content(day,month,year);return dhtml},get_calendar_week_html:function(day,month,year){var whtml="";whtml+=this.get_week_header(day,month,year)+this.get_week_content(day,month,year);return whtml},get_calendar_year_html:function(year){var year_html=this.get_year_content_html(year);return year_html},get_year_header_html:function(year){var year_header_html='<div class="calendar_header">'+this.get_prev_next_year_html(year)+"</div>";return year_header_html},get_prev_next_year_html:function(year){var pnhtml='<div class="prev_next">';var prevDate=new Date(year,1,1);prevDate.setFullYear(prevDate.getFullYear()-1);var nextDate=new Date(year,1,1);nextDate.setFullYear(nextDate.getFullYear()+1);pnhtml+='<table><tbody><tr><td width="220">'+year+"</td><td>"+this.get_switch_types_html()+"</td></tr></tbody></table></div>";return pnhtml},get_year_content_html:function(year){var year_html="<div class=\"simple_year_content\"><table  class='simple_year_table'><tbody>";var days=this.get_year_events(year);this.create_month_displays(days,year);for(var i=0;i<days.length;i++){if((i+options.num_columns_year_view)%options.num_columns_year_view==0){year_html+="<tr>"}year_html+="<td>";year_html+=this.get_simple_month_html(days,i);year_html+="</td>";if((i+1)%options.num_columns_year_view==0){year_html+="</tr>"}}year_html+="</tbody></table></div>";return year_html},get_simple_month_html:function(days,i){var year_html="";var onc="";var click_cls="";if(options.allowed_display_types[2]){onc="onClick='jQuery(\"#"+options.id+'").dmxAjaxCalendar("set_calendar_month",['+i+","+currentyear+"]);'";click_cls=" clickable"}year_html+="<table class='simple_small_month "+click_cls+"'><tbody><tr><th "+onc+" colspan='7'>"+month_names[i].localize()+"</th></tr>";switch(options.week_start){case 0:year_html+="<tr><td>"+get_proper_substr("sunday".localize(),1)+"</td><td>"+get_proper_substr("monday".localize(),1)+"</td><td>"+get_proper_substr("tuesday".localize(),1)+"</td><td>"+get_proper_substr("wednesday".localize(),1)+"</td><td>"+get_proper_substr("thursday".localize(),1)+"</td><td>"+get_proper_substr("friday".localize(),1)+"</td><td>"+get_proper_substr("saturday".localize(),1)+"</td></tr>";break;case 1:year_html+="<tr><td>"+get_proper_substr("monday".localize(),1)+"</td><td>"+get_proper_substr("tuesday".localize(),1)+"</td><td>"+get_proper_substr("wednesday".localize(),1)+"</td><td>"+get_proper_substr("thursday".localize(),1)+"</td><td>"+get_proper_substr("friday".localize(),1)+"</td><td>"+get_proper_substr("saturday".localize(),1)+"</td><td>"+get_proper_substr("sunday".localize(),1)+"</td></tr>";break}for(var j=0;j<days[i].length;j++){var cls="";var offset=0;var k=0;while(days[i][k]==-1){offset++;k++}if(days[i][j]>-1){if(days[i][j]>0&&days[i][j]<20){cls="color-"+days[i][j]+" has_event"}else{if(days[i][j]==20){cls="has_event"}else{cls="has_no_event"}}}else{cls="empty_day_cell"}if((j+7)%7==0){year_html+="<tr>"}var val="";var onc="";if(days[i][j]==-1){val="&nbsp;"}else{if(options.allowed_display_types[0]&&days[i][j]>-1&&(typeof options.onYearEventClick=="undefined"||options.onYearEventClick=="")&&(typeof options.onYearFreeDayClick=="undefined"||options.onYearFreeDayClick=="")){onc="onclick='jQuery(\"#"+options.id+'").dmxAjaxCalendar("set_calendar_day",['+(j-offset+1)+", "+i+", "+currentyear+", false]);'";cls+=" clickable"}val=j-offset+1}var cur_date=currentyear+"-"+(i+1)+"-"+val;year_html+="<td cur_date='"+cur_date+"' "+onc+" class='"+cls+"'>"+val+"</td>";if((j+1)%7==0&&(j+1)<days[i].length){year_html+="</tr>"}}year_html+="</tr></tbody></table>";return year_html},create_month_displays:function(days,year){if(options.week_start==0){for(var i=0;i<days.length;i++){var day=new Date(year,i,1).getDay();for(var k=0;k<day;k++){days[i].unshift(-1)}while(days[i].length<42){days[i].push(-1)}}}else{for(var i=0;i<days.length;i++){var day=new Date(year,i,1).getDay();if(day==0){day=7}day--;for(var k=0;k<day;k++){days[i].unshift(-1)}while(days[i].length<42){days[i].push(-1)}}}},get_year_events:function(year){var year_array=new Array();for(var i=0;i<12;i++){var month_days=days_in_month(i+1,year);var month_array=new Array();for(var j=0;j<month_days;j++){month_array[j]=this.has_event(year,i,j+1)}year_array[i]=month_array}return year_array},has_event:function(year,month,day){var multi=false;var ret_val=100;var check_start_date=new Date(year,month,day);var check_stop_date=new Date(year,month,day);check_stop_date.setDate(check_stop_date.getDate()+1);for(var i=0;i<events.length;i++){if(events_filter_array[events[i].type]){if((events[i].start<check_stop_date)&&(events[i].stop>check_start_date)){if(!multi){ret_val=events[i].type;multi=true}else{if(events[i].type!=ret_val){return 20}}}}}return ret_val},get_calendar_header:function(month,year){var fullHTML='<div class="calendar_header"><h3>'+options.calendar_name+"</h3>";var bottom=true;if(options.legend_position=="top"){bottom=false;fullHTML+=this.get_legend_html()}fullHTML+=this.get_prev_next_html()+"</div>";return fullHTML},get_calendar_footer:function(){var fullHTML='<div class="calendar_footer">';if(options.legend_position=="bottom"){fullHTML+=this.get_legend_html()}fullHTML+="</div>";return fullHTML},get_calendar_month_html:function(month,year){currentmonth=month;currentyear=year;var first=new Date(year,currentmonth,1);var day=first.getDay();if(options.week_start==0){var start=new Date(first.getFullYear(),first.getMonth(),first.getDate()-day)}else{if(day==0){day=7}var start=new Date(first.getFullYear(),first.getMonth(),first.getDate()-day+1)}var fullHTML="";fullHTML+=this.get_month_header()+'<div class="month_content scroll_content">';var stop=new Date(start.getFullYear(),start.getMonth(),start.getDate()+7);for(var i=0;i<6;i++){fullHTML+=this.get_month_content_html(start,stop);start=new Date(start.getFullYear(),start.getMonth(),start.getDate()+7);stop=new Date(stop.getFullYear(),stop.getMonth(),stop.getDate()+7)}fullHTML+="</div>";return fullHTML},get_day_header:function(day,month,year){var curDate=new Date(year,month,day);var nextDate=new Date(year,month,day+1);var header_html='<div class="day-header"><table cellspacing="0" border="0" class="header"><tbody><tr><td class=\'day_name\'>'+day_names[curDate.getDay()].localize()+" "+this.get_day_month_display(month+1,day)+" </td></tr></tbody></table><div class='all_day_events'><table><tbody>";var curEvs=this.get_all_day_events(day,month,year);for(var i=0;i<curEvs.length;i++){var ev_id_str="";if(curEvs[i].ev_id!=-1){ev_id_str=' ev_id="'+curEvs[i].ev_id+'"'}var class_string="";if(curEvs[i].start>=curDate){class_string+=" start"}if(curEvs[i].stop<=nextDate){class_string+=" end"}header_html+="<tr><td class='td-m'>"+this.get_event_html(curEvs[i],false,class_string);"</td></tr>"}header_html+="</tbody></table></div></div>";return header_html},get_all_day_events:function(day,month,year){var day_start=new Date(year,month,day);var day_stop=new Date(year,month,day+1);var evs=new Array();for(var i=0;i<events.length;i++){if((events[i].start<day_start&&events[i].stop>day_start)||(events[i].start<day_stop&&events[i].stop>day_stop)||(events[i].start.getTime()==day_start.getTime()&&events[i].stop.getTime()==day_stop.getTime())){if(events_filter_array[events[i].type]){var fixed_event=new event(events[i].original_id,events[i].name,events[i].start,events[i].stop,events[i].description,(events[i].type-1),events[i].link,i);evs.push(fixed_event)}}}return evs},get_week_content:function(day,month,year){var startDate=new Date(year,month,day);var d=startDate.getDay();if(options.week_start==1){if(d==0){d=7}d=d-1}startDate.setDate(startDate.getDate()-d);var fix_height="";if(navigator.userAgent.toLowerCase().indexOf("safari")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){fix_height="style='height: 41px;'"}var stopDate=new Date(startDate.getTime());stopDate.setDate(stopDate.getDate()+6);var total_width=$content.innerWidth()-(options.width*0.1)-5;if(options.fixed_height){total_width-=$.getScrollbarWidth()}var content_html='<div class="day scroll_content"><ol><li style=\'width: '+Math.floor(total_width*0.1)+"px; overflow: hidden; float: left;'>"+this.get_hours_html(fix_height)+"</li>";for(var z=0;z<7;z++){var cur_date=new Date(startDate.getTime());cur_date.setDate(cur_date.getDate()+z);var evs=this.get_one_day_events(cur_date.getDate(),cur_date.getMonth(),cur_date.getFullYear(),false);var event_cols=this.get_events_columns(evs);content_html+=this.get_day_table_html(event_cols,cur_date,Math.floor(total_width/7))}content_html+="</ol></div>";return content_html},get_hours_html:function(fix_height){var hours_html='<table cellspacing="0" border="0"><tbody>';if(options.clock_type==0){var time_conv="";var cur_hour=0;for(var i=0;i<24;i++){if(i<12){time_conv="am"}else{time_conv="pm"}cur_hour=i%12;if(cur_hour==0){cur_hour=12}hours_html+="<tr><td "+fix_height+" class='hour'>"+cur_hour+time_conv+"&nbsp;</td></tr>"}}else{for(var i=0;i<24;i++){hours_html+="<tr><td "+fix_height+" class='hour'>"+i+":00&nbsp;</td></tr>"}}hours_html+="</tbody></table>";return hours_html},get_day_content:function(day,month,year){var evs=this.get_one_day_events(day,month,year,true);var event_cols=this.get_events_columns(evs);var fix_height="";if(navigator.userAgent.toLowerCase().indexOf("safari")>-1||navigator.userAgent.toLowerCase().indexOf("msie")>-1){fix_height="style='height: 41px;'"}var evs_count=3;if(this.get_all_day_events(day,month,year).length>3){evs_count=3.1}var content_html="";var total_width=$(".calendar_content",$self).innerWidth()-(options.width*0.1)-5;if(options.fixed_height){total_width-=$.getScrollbarWidth()}content_html+='<div class="day scroll_content"><ol><li style=\'width: '+Math.floor(total_width*0.1)+"px; float: left'>"+this.get_hours_html(fix_height)+"</li>";content_html+=this.get_day_table_html(event_cols,new Date(year,month,day),total_width);content_html+="</ol></div>";return content_html},get_day_table_html:function(event_cols,start_date,total_width){var content_html="";var end_day=this.date_add("d",start_date,1);for(var i=0;i<event_cols.length;i++){var start_time,end_time,classes,fixed_start_time,fixed_end_time,num_rows,last_class;content_html+="<li style='width: "+Math.floor(total_width/event_cols.length)+'px; float: left\'><table cellspacing="0" border="0"><tbody>';start_time=new Date(start_date.getFullYear(),start_date.getMonth(),start_date.getDate(),0,0,0);end_time=new Date(start_date.getFullYear(),start_date.getMonth(),start_date.getDate(),0,30,0);for(var j=0;j<event_cols[i].length;j++){while(this.get_half_hour(event_cols[i][j].start)>start_time){classes="day_half_hour";if(options.use_working_hours==true){if(this.get_semi_hours(start_time)>=options.working_hours_start*2&&this.get_semi_hours(start_time)<options.working_hours_stop*2){classes+=" working_hours"}}if(start_time.getMinutes()==0){classes+=" mid"}if(i==(event_cols.length-1)){classes+=" last"}content_html+="<tr><td class='"+classes+"'>&nbsp;</td></tr>";start_time.setMinutes(start_time.getMinutes()+30);end_time.setMinutes(end_time.getMinutes()+30)}fixed_start_time=this.get_half_hour(event_cols[i][j].start);fixed_end_time=this.get_half_hour(event_cols[i][j].stop);if(fixed_start_time.getTime()==fixed_end_time.getTime()){fixed_end_time.setMinutes(fixed_end_time.getMinutes()+30)}num_rows=(this.date_diff("n",fixed_start_time,fixed_end_time)/30);last_class="";if(i==(event_cols.length-1)){last_class+=" last"}content_html+="<tr><td class='event_cell"+last_class+"' rows='"+num_rows+"'>"+this.get_event_html(event_cols[i][j],true)+"</td></tr>";start_time=new Date(fixed_end_time.getTime());end_time=this.date_add("m",start_time,30)}while(start_time<end_day){classes="day_half_hour";if(options.use_working_hours==true){if(this.get_semi_hours(start_time)>=options.working_hours_start*2&&this.get_semi_hours(start_time)<options.working_hours_stop*2){classes+=" working_hours"}}if(start_time.getMinutes()==0){classes+=" mid"}if(i==(event_cols.length-1)){classes+=" last"}content_html+="<tr><td class='"+classes+"'>&nbsp;</td></tr>";start_time.setMinutes(start_time.getMinutes()+30);end_time.setMinutes(end_time.getMinutes()+30)}content_html+="</tbody></table></li>"}return content_html},date_add:function(interval,date,value){var d=new Date(date.getTime());switch(interval){case"y":d.setFullYear(d.getFullYear()+value);break;case"m":d.setMonth(d.getMonth()+value);break;case"w":d.setDate(d.getDate()+(value*7));break;case"d":d.setDate(d.getDate()+value);break;case"h":d.setHours(d.getHours()+value);break;case"n":d.setMinutes(d.getMinutes()+value);break;case"s":d.setSeconds(d.getSeconds()+value);break;case"ms":d.setMilliseconds(d.getMilliseconds()+value);break}return d},get_semi_hours:function(d){var semi=d.getHours()*2;if(d.getMinutes()>0){if(d.getMinutes()<=30){semi++}else{semi+=2}}return semi},toIso8601:function(date){var y,m,d,h,n,s,ms,o,str;y=date.getFullYear();m=date.getMonth()+1;d=date.getDate();h=date.getHours();n=date.getMinutes();s=date.getSeconds();ms=date.getMilliseconds();o=date.getTimezoneOffset();str=this.pad(y,4)+"-"+this.pad(m)+"-"+this.pad(d);if(h+n+s+ms>0){str+="T"+this.pad(h);str+=":"+this.pad(n);str+=":"+this.pad(s);if(ms>0){str+="."+this.pad(ms,3)}if(o!==0){var oh,on;oh=Math.abs(Math.floor(o/60));on=Math.abs(o%60);str+=(o>0)?"-":"+";str+=this.pad(oh);str+=":"+this.pad(on)}else{str+="Z"}}return str},get_time_display:function(date){var h,n;h=date.getHours();n=date.getMinutes();if(options.clock_type==0){var hh=h%12;return(hh==0?"12":hh)+":"+this.pad(n)+(h<12?"am":"pm")}else{return this.pad(h)+":"+this.pad(n)}},pad:function(val,len){val=String(val);len=len||2;while(val.length<len){val="0"+val}return val},get_one_day_events:function(day,month,year,include_multi){var events_today,day_start,day_stop;events_today=new Array();day_start=new Date(year,month,day);day_stop=new Date(year,month,day+1);for(var i=0;i<events.length;i++){if(events[i].start>=day_start&&events[i].stop<=day_stop&&(this.date_diff("d",events[i].start,events[i].stop)<1)){if(events_filter_array[events[i].type]){var fixed_event=new event(events[i].original_id,events[i].name,events[i].start,events[i].stop,events[i].description,events[i].type-1,events[i].link,i);events_today.push(fixed_event)}}}return events_today},get_events_columns:function(evs){this.sort_events_by_start_date(evs);var cols_arr=new Array();cols_arr.push(new Array());for(var i=0;i<evs.length;i++){var added_event=false;for(var j=0;j<cols_arr.length;j++){if(cols_arr[j].length==0){cols_arr[j].push(evs[i]);added_event=true;break}else{if(this.get_half_hour(cols_arr[j][cols_arr[j].length-1].stop)<=this.get_half_hour(evs[i].start)){cols_arr[j].push(evs[i]);added_event=true}}}if(!added_event){cols_arr.push(new Array());cols_arr[cols_arr.length-1].push(evs[i])}}return cols_arr},get_half_hour:function(d){if(d.getMinutes()>0&&d.getMinutes()<=30){return new Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),30,0,0)}else{if(d.getMinutes()>30){return new Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours()+1,0,0,0)}else{return new Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),0,0,0)}}},sort_events_by_start_date:function(evs){evs.sort(function(a,b){return a.start-b.start})},get_week_header:function(day,month,year){var startDate,d,startDate2,stopDate,daysArr,day_num_arr,evs,rows,header_height,headerhtml;startDate=new Date(year,month,day);d=startDate.getDay();if(options.week_start==1){if(d==0){d=7}d=d-1}startDate.setDate(startDate.getDate()-d);startDate2=new Date(startDate.getTime());stopDate=new Date(startDate.getTime());stopDate.setDate(stopDate.getDate()+7);daysArr=new Array();day_num_arr=new Array();for(var i=0;i<7;i++){daysArr.push(this.get_day_month_display(startDate.getMonth()+1,startDate.getDate()));if(options.allowed_display_types[0]){day_num_arr.push("onClick='jQuery(\"#"+options.id+'").dmxAjaxCalendar("set_calendar_day",['+startDate.getDate()+", "+startDate.getMonth()+", "+startDate.getFullYear()+"])' class='clickable'")}else{day_num_arr.push("")}startDate.setDate(startDate.getDate()+1)}evs=this.get_events(new Date(startDate2.getTime()),new Date(stopDate.getTime()),true);rows=this.get_rows_from_events(evs,new Date(startDate2.getTime()),new Date(stopDate.getTime()));header_height=$content.innerWidth()-(options.width*0.1)-5;if(options.fixed_height){header_height-=$.getScrollbarWidth()}headerhtml='<div class="day-header"><div style=\'position: relative; left: '+(header_height*0.1)+"px; width: "+header_height+'px;\'><div><table cellspacing="0" border="0" class="day_names_header"><tbody><tr>';if(options.week_start==0){for(var i=0;i<7;i++){headerhtml+="<td class='day_name' "+day_num_arr[i]+" >"+get_proper_substr(day_names[i].localize(),3)+"<br /> "+daysArr[i]+"</th>"}}else{headerhtml+="<td class='day_name' "+day_num_arr[0]+" >"+get_proper_substr(day_names[1].localize(),3)+"<br /> "+daysArr[0]+"</th><td class='day_name' "+day_num_arr[1]+">"+get_proper_substr(day_names[2].localize(),3)+"<br /> "+daysArr[1]+"</th><td class='day_name' "+day_num_arr[2]+">"+get_proper_substr(day_names[3].localize(),3)+"<br /> "+daysArr[2]+"</th><td class='day_name' "+day_num_arr[3]+">"+get_proper_substr(day_names[4].localize(),3)+"<br /> "+daysArr[3]+"</th><td class='day_name' "+day_num_arr[4]+">"+get_proper_substr(day_names[5].localize(),3)+"<br /> "+daysArr[4]+"</th><td class='day_name' "+day_num_arr[5]+">"+get_proper_substr(day_names[6].localize(),3)+"<br /> "+daysArr[5]+"</th><td class='day_name' "+day_num_arr[6]+">"+get_proper_substr(day_names[0].localize(),3)+"<br /> "+daysArr[6]+"</th>"}headerhtml+='</tr></table></div><div class="multi_day_events"><table><tbody>';for(var i=0;i<rows.length;i++){headerhtml+="<tr>";var start_day,stop_day,j,cur_col;start_day=new Date(startDate2.getTime());stop_day=this.date_add("d",start_day,1);j=0;cur_col=0;while(stop_day<=stopDate){if(j<rows[i].length&&rows[i][j].start<stop_day){var start_end_classes="";if(rows[i][j].start>=startDate2){start_end_classes+=" start"}if(rows[i][j].stop<=stopDate){start_end_classes+=" end"}if(rows[i][j].stop>=stopDate){headerhtml+="<td class='td-m' colspan='"+(7-cur_col)+"'>";headerhtml+=this.get_event_html(rows[i][j],false,start_end_classes);headerhtml+="</td>";break}else{var event_duration=this.day_span(start_day,(stopDate<rows[i][j].stop)?stopDate:rows[i][j].stop);cur_col+=event_duration;start_day.setDate(start_day.getDate()+event_duration);stop_day.setDate(stop_day.getDate()+event_duration);headerhtml+="<td class='td-m' colspan='"+event_duration+"'>";headerhtml+=this.get_event_html(rows[i][j],false,start_end_classes);headerhtml+="</td>";j++}}else{headerhtml+="<td class='filler-cell'></td>";start_day.setDate(start_day.getDate()+1);stop_day.setDate(stop_day.getDate()+1);cur_col++}}headerhtml+="</tr>"}headerhtml+='</tbody></table></div></div><div style="clear: both"></div></div>';return headerhtml},get_prev_next_html:function(){var pnhtml='<div class="prev_next">';pnhtml+='<table><tbody><tr><td valign="middle" width="100" align="left"><input class="nav_left" type="button" value="" />&nbsp;<input class="nav_right" type="button" value="" /></td><td align="left" valign="middle"><span class="current_date_range">&nbsp;</span>&nbsp;</td><td align="right">'+this.get_switch_types_html()+"</td></tr></tbody></table></div>";return pnhtml},get_switch_types_html:function(){var retstr="";if(options.allowed_display_types[0]){retstr+='<input class="button day_button" type="button" value="'+"day".localize()+'" />'}if(options.allowed_display_types[1]){retstr+='<input class="button week_button" type="button" value="'+"week".localize()+'" />'}if(options.allowed_display_types[2]){retstr+='<input class="button month_button" type="button" value="'+"month".localize()+'" />'}if(options.allowed_display_types[3]){retstr+='<input class="button year_button" type="button" value="'+"year".localize()+'" />'}return retstr},get_month_header:function(){var headerhtml;if(options.week_start==0){headerhtml='<div class="day-header"><table cellspacing="0" border="0" summary="Days of Weeks" class="header"><tbody><tr>';for(var i=0;i<7;i++){headerhtml+="<td class='day_name'>"+day_names[i].localize()+"</td>"}headerhtml+="</tr></tbody></table></div>"}else{headerhtml='<div class="day-header"><table cellspacing="0" border="0" summary="Days of Weeks" class="header"><tbody><tr><th>'+day_names[1].localize()+"</th><th>"+day_names[2].localize()+"</th><th>"+day_names[3].localize()+"</th><th>"+day_names[4].localize()+"</th><th>"+day_names[5].localize()+"</th><th>"+day_names[6].localize()+"</th><th>"+day_names[0].localize()+"</th></tr></tbody></table></div>"}return headerhtml},get_week_subheader:function(start,stop){var headhtml="<tr>";for(var i=0;i<7;i++){var lstcls,dayOTW,monthHTML,link_html,yearHTML;(i==6)?lstcls="last":lstcls="";dayOTW=new Date(start.getFullYear(),start.getMonth(),start.getDate()+i);monthHTML="";link_html="";if(options.allowed_display_types[0]){link_html="onClick='jQuery(\"#"+options.id+'").dmxAjaxCalendar("set_calendar_day",['+dayOTW.getDate()+", "+dayOTW.getMonth()+", "+dayOTW.getFullYear()+", false])'";lstcls+=" clickable"}if(dayOTW.getDate()==1){monthHTML='<span class="month-text">'+get_proper_substr(month_names[dayOTW.getMonth()].localize(),3);monthHTML+="</span>"}yearHTML="";if(dayOTW.getDate()==1&&dayOTW.getMonth()==0){yearHTML+=", "+dayOTW.getFullYear()}headhtml+="<th "+link_html+' class="month_day_header '+lstcls+'"><span class="day-number">'+dayOTW.getDate()+yearHTML+"</span>"+monthHTML+"</th>"}headhtml+="</tr>";return headhtml},get_month_content_html:function(start,stop){var startBackup2,stopBackup2,startBackup3,stopBackup3,curEvs,rows,html,lacking;startBackup2=new Date(start.getTime());stopBackup2=new Date(stop.getTime());startBackup3=new Date(start.getTime());stopBackup3=new Date(stop.getTime());curEvs=this.get_events(start,stop);rows=this.get_rows_from_events(curEvs,startBackup2,stopBackup2);html='<div class="week"><table cellspacing="0" border="0"><tbody>';html+=this.get_week_subheader(startBackup3,stopBackup3);for(var i=0;i<rows.length;i++){html+="<tr>";var start_day,stop_day,j,cur_col;start_day=new Date(start.getTime());stop_day=new Date(start.getTime());stop_day.setDate(stop_day.getDate()+1);j=0;cur_col=0;while(stop_day<=stop){if(j<rows[i].length&&rows[i][j].start<stop_day){var start_end_classes="";if(rows[i][j].start>=start){start_end_classes+=" start"}if(rows[i][j].stop<=stop){start_end_classes+=" end"}if(rows[i][j].stop>=stop){html+="<td class='td-m' colspan='"+(7-cur_col)+"'>";html+=this.get_event_html(rows[i][j],false,start_end_classes);html+="</td>";break}else{var event_duration=this.day_span(start_day,(stop<rows[i][j].stop)?stop:rows[i][j].stop);cur_col+=event_duration;start_day.setDate(start_day.getDate()+event_duration);stop_day.setDate(stop_day.getDate()+event_duration);html+="<td class='td-m' colspan='"+event_duration+"'>";html+=this.get_event_html(rows[i][j],false,start_end_classes);html+="</td>";j++}}else{html+="<td class='filler-cell'></td>";start_day.setDate(start_day.getDate()+1);stop_day.setDate(stop_day.getDate()+1);cur_col++}}html+="</tr>"}lacking=4-rows.length;for(var j=0;j<lacking;j++){html+="<tr><td class='filler-cell'></td>";for(var k=0;k<6;k++){html+="<td class='filler-cell'></td>"}}html+="</tr></tbody></table></div>";return html},get_event_html:function(ev,full_content,start_stop_class){if(typeof start_stop_class=="undefined"){start_stop_class=""}if(typeof full_content=="undefined"){full_content=false}var html="<div ev_id='"+ev.ev_id+"' class=\"event event-type-"+ev.type+" color-"+ev.type+start_stop_class+'">	<div class="text-outer"><div class="text">';var title="";if(start_stop_class.indexOf("start")>-1&&!this.is_midnight(ev.start)&&!(options.display_type==2&&!options.time_in_month_view)){title+="("+this.get_time_display(ev.start)+") "}title+=ev.name;var title_att=$("<div></div>").text(ev.name).html();if(options.link_google_events){html+="<a target='_blank' title='"+title_att+"' href='"+ev.link+"'><bdo dir=\""+options.text_direction+'">'+title+"</bdo></a>"}else{html+="<bdo title='"+title_att+"' dir=\""+options.text_direction+'">'+title+"</bdo>"}if(full_content){var start_time=this.get_time_display(ev.start);var stop_time=this.get_time_display(ev.stop);html+="<p>"+start_time+"-"+stop_time+'</p><p><bdo dir="'+options.text_direction+'">'+ev.description+"</bdo></p>"}html+="</div></div></div>";return html},day_span:function(start,end){start=this.get_date_only(start);var diff=this.date_diff("d",start,end);return Math.max(1,this.is_midnight(end)?diff:diff+1)},date_diff:function(interval,start,end){var ms=1;var s=ms*1000;var n=s*60;var h=n*60;var d=h*24;var w=d*7;switch(interval){case"y":return(end.getFullYear()-start.getFullYear());break;case"m":var m=(end.getFullYear()-start.getFullYear())*12;return(m+(end.getMonth()-start.getMonth()));break;case"w":return Math.floor((end-start)/w);break;case"d":return Math.floor((end-start)/d);break;case"h":return Math.floor((end-start)/h);break;case"n":return Math.floor((end-start)/n);break;case"s":return Math.floor((end-start)/s);break;case"ms":return Math.floor((end-start)/ms);break}return 0},get_date_only:function(date){return new Date(date.getFullYear(),date.getMonth(),date.getDate())},is_midnight:function(date){return(date.getHours()+date.getMinutes()+date.getSeconds()+date.getMilliseconds()===0)},get_rows_from_events:function(evs,start,stop){this.sort_events_by_start_date(evs);var rowsArr=new Array();var curDate=new Date(start.getTime());var rowArr=new Array();while(evs.length>0){rowArr.push(evs[0]);if((evs[0].stop.getHours()+evs[0].stop.getMinutes()+evs[0].stop.getSeconds())==0){curDate.setFullYear(evs[0].stop.getFullYear());curDate.setMonth(evs[0].stop.getMonth());curDate.setDate(evs[0].stop.getDate())}else{curDate=new Date(evs[0].stop.getFullYear(),evs[0].stop.getMonth(),evs[0].stop.getDate()+1)}evs.splice(0,1);if((curDate-stop)>=0){rowsArr.push(rowArr);rowArr=new Array();curDate=new Date(start.getTime())}else{var found=false;while((curDate-stop)<=0){found=false;for(var i=0;i<evs.length;i++){if(this.compare_date(curDate,evs[i].start)){found=true;rowArr.push(evs[i]);if((evs[i].stop.getHours()+evs[i].stop.getMinutes()+evs[i].stop.getSeconds())==0){curDate=new Date(evs[i].stop.getTime())}else{curDate=new Date(evs[i].stop.getTime());curDate.setDate(curDate.getDate()+1)}evs.splice(i,1);if(curDate>=stop){rowsArr.push(rowArr);rowArr=new Array();curDate=new Date(start.getTime());break}}}if(!found){curDate.setDate(curDate.getDate()+1)}}if(!found){if(rowArr.length>0){rowsArr.push(rowArr);rowArr=new Array()}curDate=new Date(start.getTime())}}}return rowsArr},compare_date:function(a,b){if(a.getFullYear()==b.getFullYear()&&a.getMonth()==b.getMonth()&&a.getDate()==b.getDate()){return true}return false},add_event:function(ev){events.push(ev)},add_year_event:function(ev){events.push(ev)},get_events:function(start,stop,multi_and_all_only){if(typeof multi_and_only=="undefined"){multi_and_only=false}var currentEvents=new Array();for(var i=0;i<events.length;i++){if(events[i].start<stop&&events[i].stop>start){if(events_filter_array[events[i].type]){var tmp_event=new event(events[i].original_id,events[i].name,events[i].start,events[i].stop,events[i].description,events[i].type-1,events[i].link,i);if(!multi_and_all_only||!this.is_same_date(tmp_event.start,tmp_event.stop)){currentEvents.push(tmp_event)}}}}return currentEvents},is_same_date:function(date1,date2){return date1.getDate()==date2.getDate()&&this.is_same_month(date1,date2)},is_same_month:function(date1,date2){return date1.getMonth()==date2.getMonth()&&this.is_same_year(date1,date2)},is_same_year:function(date1,date2){return date1.getFullYear()==date2.getFullYear()},get_max_events_on_single_day:function(evs,start,stop){maxCount=0;var curday=start;while(curday<=stop){var evCount=this.get_events_on_day(evs,curday);if(evCount>maxCount){maxCount=evCount}curday=new Date(curday.getFullYear(),curday.getMonth(),curday.getDate()+1)}return maxCount},get_events_on_day:function(evs,curday){var evsCount=0;var end_day=new Date(curday.getTime());end_day.setDate(end_day.getDate()+1);for(var i;i<evs.length;i++){if(evs[i].start<end_day&&evs[i].stop>=curday){evsCount++}}return evsCount}});function get_proper_substr(str,len){var ret_str="";for(var i=0,pos=0;i<len;i++){if(str.substr(pos,1)!="&"){ret_str+=str.substr(pos,1);pos++}else{ret_str+=str.substring(pos,str.indexOf(";",pos)+1);pos=ret_str.length}}return ret_str}function change_style_rule(id,cssDefinitions){if($("#"+id+"_ss").length>0){if(!($("#"+id+"_ss").html().indexOf(cssDefinitions)>-1)){if($("#"+id+"_ss")[0].styleSheet){$("#"+id+"_ss")[0].styleSheet.cssText+=cssDefinitions}else{$("#"+id+"_ss").append(cssDefinitions)}}}else{var my_style=document.createElement("style");my_style.setAttribute("type","text/css");$(my_style).attr({id:id+"_ss"});if(my_style.styleSheet){my_style.styleSheet.cssText=cssDefinitions}else{$(my_style).html(cssDefinitions)}$("head").append(my_style)}}function event(original_id,name,start,stop,description,type,link,ev_id){type=parseInt(type);if(typeof ev_id=="undefined"){ev_id=-1}if(start-stop==0){stop.setMinutes(stop.getMinutes()+30)}this.original_id=original_id;this.ev_id=ev_id;if(typeof type=="undefined"||isNaN(type)){type=8}else{type+=1}this.name=name;this.start=start;this.stop=stop;if(typeof description=="undefined"||description==null){description=""}this.description=description;this.type=type;if(typeof link=="undefined"){link="#"}this.link=link}function days_in_month(month,year){var dd=new Date(year,month,0);return dd.getDate()}function setISO8601(str,convert_tz){var m,d;if(typeof convert_tz=="undefined"){convert_tz=true}if(!convert_tz){if(m=str.match(/^(\d{4})-?(\d{2})-?(\d{2})/)){var dt_str=m[1]+"/"+m[2]+"/"+m[3];if(m=str.match(/[T ](\d{2}):?(\d{2}):?(\d{2})(\.(\d+))?((Z|[+-]\d{2})(:?(\d{2}))?)?/)){dt_str+=" "+m[1]+":"+m[2]+":"+m[3]}}return new Date(dt_str)}else{if(m=str.match(/^(\d{4})-?(\d{2})-?(\d{2})/)){d=new Date(0);d.setUTCFullYear(m[1]);d.setUTCMonth(m[2]-1);d.setUTCDate(m[3]);if(m=str.match(/[T ](\d{2}):?(\d{2}):?(\d{2})(\.(\d+))?((Z|[+-]\d{2})(:?(\d{2}))?)?/)){d.setUTCHours(m[1]);d.setUTCMinutes(m[2]);d.setUTCSeconds(m[3]);d.setUTCMilliseconds(m[5]|0);if(convert_tz){if(m[7]&&m[7]!=="Z"){d.setUTCHours(d.getUTCHours()-parseInt(m[7]));if(m[9]){d.setUTCMinutes(d.getUTCMinutes()-parseInt(m[9]))}}}}else{d.setHours(0);d.setMinutes(0)}}else{d=new Date(Date.parse(str))}}return d}function init(){$(el).data("options",options);current_date=new Date();events_start=new Date();events_stop=new Date();events_start.setMonth(events_start.getMonth()-3);events_stop.setMonth(events_stop.getMonth()+3);defaultday=currentday=current_date.getDate();defaultmonth=currentmonth=current_date.getMonth();defaultyear=currentyear=current_date.getFullYear();current_container=0;events_filter=-1;events_filter_array=[true,true,true,true,true,true,true,true,true];options.events_type=options.events_type.sort(sort_types_on_number);switch_container=false;feeds_loaded=0;events=new Array();year_refresh=true;month_names=new Array("january","february","march","april","may","june","july","august","september","october","november","december");day_names=new Array("sunday","monday","tuesday","wednesday","thursday","friday","saturday");self.draw_calendar();self.load_events()}init()};jQuery.dmxAjaxCalendar.defaults={id:"dmxCalendar1",calendar_name:"Events Calendar",height:600,fixed_height:false,width:800,link_google_events:false,use_working_hours:false,working_hours_start:0,working_hours_stop:24,week_start:0,num_columns_year_view:4,animation_duration:500,clock_type:0,date_display_type:0,use_animation:true,animation_easing:"linear",time_conversion:"none",allowed_display_types:new Array(true,true,true,true),navigation_position:"inside",legend_position:"bottom",events_type:new Array("Type 1","Type 2","Type 3","Type 4","Type 5","Type 6","Type 7","Type 8","Type 9"),display_type:2,resized:false,google_feeds:new Array(),ajax_feeds:new Array(),onNext:"",onPrevious:"",onDay:"",onWeek:"",onMonth:"",onYear:"",onEventClick:"",onEventMouseOver:"",onEventMouseOut:"",onFeedsLoaded:"",onYearEventClick:"",onYearEventMouseOver:"",onYearEventMouseOut:"",onYearFreeDayClick:"",onYearFreeDaytMouseOver:"",onYearFreeDayMouseOut:"",text_direction:"ltr",time_in_month_view:false};jQuery.fn.extend({get_space:function(pos){var space=0;pos=pos.substr(0,1).toUpperCase()+pos.substr(1).toLowerCase();space+=parseInt(this.css("padding"+pos))|0;space+=parseInt(this.css("border"+pos+"Width"))|0;space+=parseInt(this.css("margin"+pos))|0;return space}});function sort_types_on_number(a,b){if(a.number<=b.number){return false}return true}function escape_masks(str){if(typeof str=="string"){return str.replace(/("|'|\n|\r|\t)/gi,"\\$1")}return str}var scrollbarWidth=0;$.getScrollbarWidth=function(){if(!scrollbarWidth){if($.browser.msie){var $textarea1=$('<textarea cols="10" rows="2"></textarea>').css({position:"absolute",top:-1000,left:-1000}).appendTo("body"),$textarea2=$('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({position:"absolute",top:-1000,left:-1000}).appendTo("body");scrollbarWidth=$textarea1.width()-$textarea2.width();$textarea1.add($textarea2).remove()}else{var $div=$("<div />").css({width:100,height:100,overflow:"auto",position:"absolute",top:-1000,left:-1000}).prependTo("body").append("<div />").find("div").css({width:"100%",height:200});scrollbarWidth=100-$div.width();$div.parent().remove()}}return scrollbarWidth};String.prototype.localize=function(){var s;if(typeof localized_strings!="undefined"&&(s=localized_strings[this])){return s}return this}})(jQuery);
