(function(d){function a(g){g.addClass("error").fadeOut("normal",function(){g.val(g.data("timespan.stored")).removeClass("error").fadeIn("fast")})}function e(){d(this).data("timespan.stored",this.value)}function c(l,p,o,j,n,i,q,m,h){o.val(o.data("timespan.initial_value"));i.val(i.data("timespan.initial_value"));q.get(0).checked=q.data("timespan.initial_value");var g=parseInt(o.val());if(!isNaN(parseInt(g))){g=new Date(parseInt(g)*1000);p.val(formatTime(g.getUTCHours(),g.getUTCMinutes(),m))}else{g=new Date(h);p.val(formatTime(g.getUTCHours(),g.getUTCMinutes()-g.getUTCMinutes()%15,m))}l.val(formatDate(g,false));var k=parseInt(i.val());if(!isNaN(parseInt(k))){k=new Date(parseInt(k)*1000);n.val(formatTime(k.getUTCHours(),k.getUTCMinutes(),m))}else{k=new Date(g.getTime()+3600000);n.val(formatTime(k.getUTCHours(),k.getUTCMinutes()-k.getUTCMinutes()%15,m))}if(q.get(0).checked){k.setUTCDate(k.getUTCDate()-1)}j.val(formatDate(k,false));l.each(e);p.each(e);j.each(e);n.each(e);q.trigger("change.timespan")}var f={allday:"#allday",start_date_input:"#start-date-input",start_time_input:"#start-time-input",start_time:"#start-time",end_date_input:"#end-date-input",end_time_input:"#end-time-input",end_time:"#end-time",twentyfour_hour:false,now:new Date(),};var b={init:function(t){var h=d.extend({},f,t);var s=d(h.allday);var k=d(h.start_date_input);var p=d(h.start_time_input);var m=d(h.start_time);var j=d(h.end_date_input);var l=d(h.end_time_input);var g=d(h.end_time);var q=k.add(h.end_date_input);var r=p.add(h.end_time_input);var i=k.add(h.start_time_input).add(h.end_date_input).add(h.end_time_input);i.bind("focus.timespan",e);var n=new Date(h.now.getFullYear(),h.now.getMonth(),h.now.getDate());s.bind("change.timespan",function(){if(this.checked){r.fadeOut();q.calendricalDateRange({today:n})}else{r.fadeIn();i.calendricalDateTimeRange({today:n})}}).get().checked=false;q.bind("blur.timespan",function(){var o=parseDate(this.value,false);if(isNaN(o)){a(d(this))}else{d(this).data("timespan.stored",this.value);d(this).val(formatDate(o,false))}});r.bind("blur.timespan",function(){var o=parseTime(this.value);if(!o){a(d(this))}else{d(this).data("timespan.stored",this.value);d(this).val(formatTime(o.hour,o.minute,false))}});k.add(h.start_time_input).bind("focus.timespan",function(){var o=parseDate(k.val(),false).getTime()/1000;var v=parseTime(p.val());o+=v.hour*3600+v.minute*60;var u=parseDate(j.val(),false).getTime()/1000;var w=parseTime(l.val());u+=w.hour*3600+w.minute*60;k.data("time_diff",u-o)}).bind("blur.timespan",function(){var o=parseDate(k.data("timespan.stored"),false);var u=parseTime(p.data("timespan.stored"));var v=o.getTime()/1000+u.hour*3600+u.minute*60+k.data("time_diff");v=new Date(v*1000);j.val(formatDate(v,false));l.val(formatTime(v.getUTCHours(),v.getUTCMinutes(),false))});k.closest("form").bind("submit.timespan",function(){var o=parseDate(k.val(),false).getTime()/1000;if(!isNaN(o)){if(!s.get(0).checked){var u=parseTime(p.val());if(u){o+=u.hour*3600+u.minute*60}else{o=""}}}else{o=""}m.val(o);var v=parseDate(j.val(),false).getTime()/1000;if(!isNaN(v)){if(s.get(0).checked){v+=24*60*60}else{var u=parseTime(l.val());if(u){v+=u.hour*3600+u.minute*60}else{v=""}}}else{v=""}g.val(v)});m.data("timespan.initial_value",m.val());g.data("timespan.initial_value",g.val());s.data("timespan.initial_value",s.get(0).checked);c(k,p,m,j,l,g,s,h.twentyfour_hour,h.now);return this},reset:function(g){var h=d.extend({},f,g);c(d(h.start_date_input),d(h.start_time_input),d(h.start_time),d(h.end_date_input),d(h.end_time_input),d(h.end_time),d(h.allday),h.twentyfour_hour,h.now);return this},destroy:function(g){g=d.extend({},f,g);d.each(g,function(i,h){d(h).unbind(".timespan")});d(g.start_date_input).closest("form").unbind(".timespan");return this}};d.timespan=function(g){if(b[g]){return b[g].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof g==="object"||!g){return b.init.apply(this,arguments)}else{d.error("Method "+g+" does not exist on jQuery.timespan")}}}})(jQuery);