/* Copyright 2008 Simply Extras Ltd */
function GOSCal(g,j){if(g===undefined){g=(new Date())}var b=new Date();var e=this;var d={begin:GOSCal.Precision.day.begin(b),end:GOSCal.Precision.day.begin(b.add_months(18).last_day_of_month()),onchange:function(k){return true},output:{format:"U",id:"date",name:"date"},parent_node:document.getElementsByTagName("body").item(0),render:function(){if(j.output){if(j.output.parent_node){j.output.parent_node.appendChild(c)}else{j.parent_node.appendChild(c)}}},unrender:function(){if(c&&c.parentNode){c.parentNode.removeChild(c)}}};j=GOSLib.merge({},d,j);var i={};var h;var c;if(j.output){var f=GOSLib.compact({type:"hidden",id:j.output.id,name:j.output.name});c=GOSLib.DOM.createElement("input",f)}var a=function(k){h=k;if(j.output){if(h.constructor===Date){c.value=h.format(j.output.format)}else{c.value=h}}};a(g);this.options=j;this.valueOf=function(){return h};this.select=function(l,k){if(k===undefined){k=true}if(GOSCal.Precision.day.cmp(l,j.begin)<0||GOSCal.Precision.day.cmp(l,j.end)>0){return false}a(new_date);e.each_control(function(m){if(m.select){m.select(e.valueOf(),false)}});if(k){return j.onchange(e)}return true};this.num_controls=function(){var k=0;e.each_control(function(l){k++});return k};this.add_control=function(k){return i[k._id]=k};this.remove_control=function(k){delete i[k._id];return k};this.each_control=function(m,k){for(var l in i){if((!k)||!(i[l]._id==k._id)){m(i[l])}}};this.has_control=function(k){for(var l in i){if(i[l]._id==k._id){return true}}return false};this.unrender=function(){return j.unrender()};this.create_range_control=function(l){var m=j.begin;var k=j.end;if(l.begin){m=Date.max(m,l.begin);delete l.begin}if(l.end){k=Date.min(k,l.end);delete l.end}var o={onchange:function(q,p){if(p._init){a(p.valueOf());e.each_control(function(r){if(r.select){r.select(e.valueOf(),false)}},p)}return j.onchange(e)},selected:e.valueOf()};if(l.onchange){l.onchange=o.onchange.successorize(l.onchange)}l=GOSLib.merge({},o,l);var n=new GOSCal.RangeControl(m,k,l);e.add_control(n);return n};this.create_multi_range_control=function(k){var m={onchange:function(n){if(n._init){a(n.valueOf());e.each_control(function(o){if(o.select){o.select(e.valueOf(),false)}},n)}return j.onchange(e)},output:false,control_options:[{precision:GOSCal.Precision.month,format:"M Y"},{precision:GOSCal.Precision.day,format:"d D",className:GOSCal.ClassName.weekendIs("weekend"),reselect:GOSCal.Reselect.precision_format_match}]};if(k.onchange){k.onchange=m.onchange.successorize(k.onchange)}k=GOSLib.merge({},m,k);var l=new GOSCal.MultiRangeControl(j.begin,j.end,k);l.select(e.valueOf(),false);e.add_control(l);return l};this.create_expanding_summary_control=function(l,k){if(l===undefined){l=""}var n={onchange:function(o){if(o._init){a(o.valueOf());e.each_control(function(p){if(p.select){p.select(e.valueOf(),false)}},o)}return j.onchange(e)},summary:{begin:j.begin,end:Date.min(j.end,GOSCal.Precision.day.begin(j.begin.add_months(1).last_day_of_month())),output:false,parent_node:document.getElementById(l+"summary")},full:{begin:j.begin,end:j.end,output:false,control_options:[{precision:GOSCal.Precision.month,format:"M Y",parent_node:document.getElementById(l+"month")},{precision:GOSCal.Precision.day,format:"d D",parent_node:document.getElementById(l+"date"),className:GOSCal.ClassName.weekendIs("weekend"),reselect:GOSCal.Reselect.precision_format_match}]}};k=GOSLib.merge({},n,k);k.summary=GOSLib.merge({},n.summary,k.summary);k.full=GOSLib.merge({},n.full,k.full);var m=new GOSCal.ExpandingSummaryControl(k);m.select(e.valueOf(),false);e.add_control(m);return m};this.create_calendar_control=function(k){var m={begin:j.begin,end:j.end,onchange:function(o,n){if(n._init){a(o);e.each_control(function(p){if(p.select){p.select(e.valueOf(),false)}},l);l.close();e.remove_control(l)}return j.onchange(e)},onclose:function(n){e.remove_control(l);return true}};k=GOSLib.merge({},m,k);if(k.onclose){k.onclose=m.onclose.successorize(k.onclose)}var l=new GOSCal.CalendarControl(e.valueOf(),k);e.add_control(l);return l};j.render();this._init=new Date()}GOSCal._control_id=0;GOSLib.merge(GOSCal,{SimpleDateSelector:function(c,a,b){var e=this;if(typeof(b.default_date)!=="object"){b.default_date=a}e.m_selector=undefined;e.d_selector=undefined;function f(j,k,m){var n;var p;var u;var s=j.getUTCFullYear();var g=j.getUTCMonth();var i=j.getUTCDate();var q=k.getUTCFullYear();var v=k.getUTCMonth();var h=k.getUTCDate();var l=m.getUTCFullYear();var t=m.getUTCMonth();var w=m.getUTCDate();var r;var o=GOSLib.DOM.createElement("select",{name:b.name});while(i<=h){r=Date.build({year:s,month:g,date:i});o.appendChild(GOSLib.DOM.createElement("option",{textContent:r.format("d D"),value:r.format("U"),selected:((s==l&&g==t&&i==w)?true:undefined)}));i++}if(e.d_selector){GOSLib.DOM.removeElement(e.d_selector)}e.d_selector=o;b.parent_node.appendChild(e.d_selector);return e.d_selector}function d(i,j,l){var n;var o;var t;var r;var q=i.getUTCFullYear();var g=i.getUTCMonth();var p=j.getUTCFullYear();var u=j.getUTCMonth();var k=l.getUTCFullYear();var s=l.getUTCMonth();var h=GOSLib.DOM.createElement("select");while(q<=p){while((q<p&&g<12)||g<=u){r=Date.build({year:q,month:g,date:1});h.appendChild(GOSLib.DOM.createElement("option",{textContent:GOSLib.month_names_short[g]+" "+q,value:r.format("U"),selected:((q==k&&g==s)?true:undefined)}));g++}g=0;q++}if(e.m_selector){GOSLib.DOM.removeElement(e.m_selector)}e.m_selector=h;b.parent_node.appendChild(e.m_selector);function m(){var w;var v;if(i.cmp(l.build({date:1}))<0){w=l.build({date:1})}else{w=i}if(j.cmp(l.last_day_of_month())>0){v=l.last_day_of_month()}else{v=j}f(w,v,l)}m();e.m_selector.onchange=function(){l=Date.fromSeconds(e.m_selector.value);m()};return e.m_selector}d(c,a,b.default_date);this.options=b},RangeControl:function(c,h,m){var j=this;this._id=GOSCal._control_id++;var i={precision:GOSCal.Precision.day,increment:undefined,format:undefined,skip:GOSCal.Skip.none,pad:GOSCal.Pad.none,selected:GOSCal.Select.none,reselect:GOSCal.Reselect.format_match,validate:GOSCal.Validate.non_negative,className:GOSCal.ClassName.none,prepend_options:[],append_options:[],onchange:function(o,n){return true},output:{format:"U",id:"date",name:"date"},parent_node:document.getElementsByTagName("body").item(0),render:function(){m.parent_node.appendChild(a);if(m.output){if(m.output.parent_node){m.output.parent_node.appendChild(g)}else{m.parent_node.appendChild(g)}}},unrender:function(){if(g&&g.parentNode){g.parentNode.removeChild(g)}if(a&&a.parentNode){a.parentNode.removeChild(a)}}};m=GOSLib.merge({},i,m,{begin:(c<h?c:h),end:(c<h?h:c)});if(m.increment===undefined){m.increment=m.precision.iterator}if(m.format===undefined){m.format=m.precision.format}if(m.skip.constructor==Array){m.skip=GOSCal.Skip.multiple(m.skip)}if(m.pad.constructor==Array){m.pad=GOSCal.Pad.multiple(m.pad)}if(!(typeof(m.selected)=="function")){m.selected=GOSCal.Select.exact(m.selected)}if(!(typeof(m.className)=="function")){m.className=GOSCal.ClassName.always(m.className)}var l=undefined;var g;var a;var f=undefined;this.options=m;var d=function(n){if(m.output){g.value=n.format(m.output.format)}l=n};var e=function(n){if(n===undefined){n=true}if(m.validate(a.value)){d(a.value>0?Date.fromMilliseconds(a.value):a.value)}if(!m.validate(a.value)){a.selectedIndex=f;return}if((!n)||m.onchange(a,j)){f=a.selectedIndex}else{a.selectedIndex=f}if(m.validate(a.value)){d(a.value>0?Date.fromMilliseconds(a.value):a.value)}};var k=m.unrender;var b=function(){k();m.render()};this.valueOf=function(){return l};this.render=function(){b()};this.unrender=function(){k()};this.select=function(p,o){if(o===undefined){o=true}if(p.constructor===Date){if(m.precision.cmp(p,m.begin)<0||m.precision.cmp(p,m.end)>0){return false}for(var n=0;n<a.childNodes.length;n++){if(m.precision.cmp(Date.fromMilliseconds(a.childNodes.item(n).value),p)==0){a.selectedIndex=a.childNodes.item(n).index;e(o);return true;break}}return false}else{for(var n=0;n<a.childNodes.length;n++){if(a.childNodes.item(n).value==p){a.selectedIndex=a.childNodes.item(n).index;e(o);return true;break}}return false}};this.update=function(){GOSLib.DOM.Select.empty(a);for(var n=0;n<m.prepend_options.length;n++){a.appendChild(m.prepend_options[n])}var p;var q={i:0,previousDate:undefined,thisDate:m.begin,nextDate:(m.begin?m.increment(m.begin,this):undefined)};while(q.thisDate&&q.thisDate<=m.end){if(m.skip(q,this)){continue}if(m.pad(q,this)){GOSLib.DOM.Select.add_option(a,-1,"",false)}var r=GOSLib.DOM.Select.add_option(a,q.thisDate.getTime(),q.thisDate.format(m.format),(!f&&m.selected(q,this)));r.className=m.className(q,this);if(r.selected){f=r.index}q={i:q.i+1,previousDate:q.thisDate,thisDate:q.nextDate,nextDate:(q.nextDate?m.increment(q.nextDate,this):undefined)}}if(m.pad(q,this)){GOSLib.DOM.Select.add_option(a,-1,"",false)}if(m.append_options){for(var n=0;n<m.append_options.length;n++){GOSLib.DOM.Select.hack_add(a,m.append_options[n])}}b();e()};if(m.output){g=document.createElement("input");g.type="hidden";if(m.output.name){g.name=m.output.name}if(m.output.id){g.id=m.output.name}}a=document.createElement("select");a.onchange=e;this.update();this._init=new Date()},MultiRangeControl:function(b,f,o){var k=this;this._id=GOSCal._control_id++;var h={selected:GOSCal.Select.none,onchange:function(i){return true},output:{format:"U",name:"date",id:undefined},parent_node:document.getElementsByTagName("body").item(0),render:function(){if(o.output){if(o.output.parent_node){o.output.parent_node.appendChild(e)}else{o.parent_node.appendChild(e)}}},unrender:function(){for(var p=0;p<n.length;p++){if(n[p].control){n[p].control.unrender()}}if(e&&e.parentNode){e.parentNode.removeChild(e)}},control_options:[]};o=GOSLib.merge({},h,o,{begin:(b<f?b:f),end:(b<f?f:b)});var m=undefined;var e;var n=[];var c=function(i){m=i;if(o.output){e.value=i.format(o.output.format)}return m};var d=function(i){if(!i._init){return true}var p=k.valueOf();c(n[n.length-1].control.valueOf());if(p!=k.valueOf()&&!o.onchange(k)){return false;c(p)}return true};var j=function(i){return function(s,p){if(!i.onchange(s,p)){return false}var r=0;for(var q=0;q<n.length;q++){if(n[q].options.precision.scale<i.precision.scale){r=Math.max(r,n[q].options.precision.scale)}}if(!r){return d(k)}for(var q=0;q<n.length;q++){if(n[q].options.precision.scale!=r){continue}if(n[q].control){n[q].control.unrender()}n[q].control=new GOSCal.RangeControl(i.precision.begin(Date.fromMilliseconds(s.value)).max(o.begin),i.precision.end(Date.fromMilliseconds(s.value)).min(o.end),GOSLib.merge({},n[q].options,{onchange:j(n[q].options),selected:(n[q].control?n[q].control.options.reselect(n[q].control):o.selected),output:false}))}return d(k)}};var l=o.unrender;var a=function(){o.render()};this.valueOf=function(){return m};this.render=function(){a()};this.unrender=function(){l()};this.select=function(r,q){if(q===undefined){q=true}for(var p=0;p<n.length;p++){n[p].control.select(r,true)}if(q){d()}};if(o.output){e=document.createElement("input");e.type="hidden";if(o.output.name){e.name=o.output.name}if(o.output.id){e.id=o.output.name}}o.control_options=o.control_options.sort(function(p,i){return i.precision.scale-p.precision.scale});for(var g=0;g<o.control_options.length;g++){n.push({options:GOSLib.merge({onchange:function(){return true}},o.control_options[g])})}n[0].control=new GOSCal.RangeControl(o.begin,o.end,GOSLib.merge({},n[0].options,{selected:o.selected,onchange:j(n[0].options),output:false}));a();this._init=new Date()},ExpandingSummaryControl:function(i){var g=this;this._id=GOSCal._control_id++;var d={expand_text:"Select a later date...",onchange:function(j){return true},onexpand:function(j){return true},summary:{begin:new Date(),end:(new Date()).add_months(1).last_day_of_month(),precision:GOSCal.Precision.day,pad:[GOSCal.Pad.before_day_of_week(1),GOSCal.Pad.after_last],format:"D, jS M, Y",append_options:[c],output:{format:"U",name:"date"},onchange:function(k,j){return true},validate:GOSCal.Validate.not_minus_one},full:{begin:new Date(),end:(new Date()).add_months(18).last_day_of_month(),onchange:function(j){return true},output:{format:"U",name:"date"},control_options:[{precision:GOSCal.Precision.month,format:"M Y"},{precision:GOSCal.Precision.day,format:"d D",className:GOSCal.ClassName.weekendIs("weekend"),reselect:GOSCal.Reselect.precision_format_match}]}};i=GOSLib.merge({},d,i);i.summary=GOSLib.merge({},d.summary,i.summary);i.summary.onchange=(function(j){return function(l,k){if(!j(l,k)){return false}if(l.value==-2){g.expand();return false}return b()}})(i.summary.onchange);i.full=GOSLib.merge({},d.full,i.full);i.full.onchange=(function(j){return function(k){if(!j(k)){return false}return b()}})(i.full.onchange);var a=new Date();var c=document.createElement("option");GOSLib.DOM.hack_set_textContent(c,i.expand_text);c.value=-2;var b=function(){return i.onchange(g)};var e=function(){return i.onexpand(g)};this.options=i;this.select=function(l,k){if(k===undefined){k=true}if(h){return h.select(l,k)}var j=f.select(l,k);if(j){return j}g.expand(f.valueOf());return h.select(l,k)};var h=undefined;this.is_expanded=function(){return typeof(h)!="undefined"};this.expand=function(j){if(h){return true}if(j===undefined){j=f.valueOf()}f.unrender();h=new GOSCal.MultiRangeControl(i.full.begin,i.full.end,GOSLib.merge({},i.full,{selected:j}));return e()};this.unrender=function(){if(h){h.unrender()}else{f.unrender()}};var f=new GOSCal.RangeControl(i.summary.begin,i.summary.end,GOSLib.merge({},i.summary,{append_options:[c]}));this.valueOf=function(){if(h){return h.valueOf()}return f.valueOf()};this._init=new Date()},CalendarControl:function(x,f){var j=this;this._id=GOSCal._control_id++;var w={begin:GOSCal.Precision.day.begin(new Date()),end:undefined,onchange:function(d){return true},onclose:function(d){return true},output:{format:"U",name:"date",id:undefined},parent_node:document.getElementsByTagName("body").item(0),render:function(d){if(GOSCal.CalendarControl._last){GOSCal.CalendarControl._last.close()}GOSCal.CalendarControl._last=d;var E=d.get_page();var D=d.get_options();document.getElementsByTagName("body").item(0).appendChild(E);E.onselectstart=function(){return false};E.ondrag=function(){return false};E.style.zIndex=102;E.style.position="absolute";E.style.left=(GOSLib.DOM.getAbsoluteLeft(D.parent_node))+"px";E.style.top=(GOSLib.DOM.getAbsoluteTop(D.parent_node))+"px";d.set_backmask(GOSLib.DOM.hack_backmask(E));var C=true;document.onclick=function(F){if(C){C=false;return true}var G=((F&&F.target)||(event&&event.srcElement));if(!G){return true}while(G){if(G===E){return true}G=G.parentNode}d.close();return true}},unrender:function(C){if(GOSCal.CalendarControl._last){GOSCal.CalendarControl._last=undefined}var E=C.get_page();var D=C.get_options();var d=C.get_backmask();if(d&&d.parentNode){d.parentNode.removeChild(d);C.set_backmask(undefined)}if(E&&E.parentNode){E.parentNode.removeChild(E)}document.onclick=function(){return true}}};f=GOSLib.merge({},w,f);var o;var m;var g;var c;var y;var b;var u;var v;var k;var z;var n;var s;var t=x;var a;var l;var i;function A(d){if(d===undefined){d=m}return !(f.begin&&(GOSCal.Precision.day.cmp(d.add_months(-1).build({date:1}).last_day_of_month(),f.begin)<0))}function r(d){if(d===undefined){d=m}return !(f.end&&(GOSCal.Precision.day.cmp(d.add_months(1).build({date:1}),f.end)>0))}var p=function(){if(!A()){return false}h(m.add_months(-1).build({date:1}));return undefined};var q=function(){if(!r()){return false}h(m.add_months(1).build({date:1}));return undefined};this.close=function(){f.unrender(j);f.onclose(j)};this.valueOf=function(){return t};this.unrender=function(){f.unrender(j)};this.select=function(d){e(d);h(d)};this.get_backmask=function(){return c};this.set_backmask=function(d){return c=d};this.get_options=function(){return f};this.get_page=function(){return g};var e=function(d){t=d};var B=function(d,D){var C=j.valueOf();e(d);if(C!=j.valueOf()&&!f.onchange(d,j)){e(C);return false}return true};var h=function(F){if(F.constructor!==Date){F=f.begin}if(g){j.unrender()}m=F;g=GOSLib.DOM.createElement("div",{className:"goscal"},[GOSLib.DOM.createElement("table",{className:"goscal"},[y=GOSLib.DOM.createElement("caption",{},[a=GOSLib.DOM.createElement("a",{href:"#last-month",className:"last_month"+(A()?" selectable":" unselectable"),innerHTML:"&laquo;",onclick:p}),k=GOSLib.DOM.createElement("span",{textContent:F.format("M Y")}),l=GOSLib.DOM.createElement("a",{href:"#next-month",className:"next_month"+(r()?" selectable":" unselectable"),innerHTML:"&raquo;",onclick:q})]),b=GOSLib.DOM.createElement("tbody")]),i=GOSLib.DOM.createElement("a",{className:"close",innerHTML:"x",onclick:j.close})]);n=GOSCal.Precision.day.begin(F.build({date:1}).first_day_of_week(1));s=GOSCal.Precision.day.begin(F.last_day_of_month().add_days(7).first_day_of_week(1).add_days(-1));u=document.createElement("tr");for(var D=1;D<=7;D++){v=document.createElement("th");GOSLib.DOM.hack_set_textContent(v,GOSLib.day_names_short[D%7].substr(0,2));u.appendChild(v)}b.appendChild(u);u=document.createElement("tr");var C=GOSCal.Precision.day.begin(new Date());var E=(f.begin?GOSCal.Precision.day.begin(f.begin):undefined);var d=(f.end?GOSCal.Precision.day.begin(f.end):undefined);for(z=n;Date.cmp(z,s)<1;z=z.add_days(1)){v=document.createElement("td");v.className="day";switch(Math.cmp(z.getUTCMonth(),F.getUTCMonth())){case -1:v.className+=" lastmonth";break;case 0:v.className+=" thismonth";break;case 1:v.className+=" nextmonth";break}switch(Date.cmp(z,C)){case -1:v.className+=" past";break;case 0:v.className+=" today";break;case 1:v.className+=" future";break}if((!E||Date.cmp(z,E)>=0)&&(!d||Date.cmp(z,d)<=0)){v.className+=" selectable";v.onclick=(function(H,G){return function(){return B(H,G)}})(z,v)}else{v.className+=" unselectable"}if(E&&Date.cmp(z,f.begin)==0){v.className+=" firstselectable"}if(d&&Date.cmp(z,f.end)==0){v.className+=" lastselectable"}v.className+=" "+GOSLib.day_names_long[z.getUTCDay()].toLowerCase();if(z.is_weekend()){v.className+=" weekend"}if(t.constructor===Date&&GOSCal.Precision.day.cmp(z,t)==0){v.className+=" selected"}GOSLib.DOM.hack_set_textContent(v,z.getUTCDate());GOSLib.DOM.hack_hover_className(v);u.appendChild(v);if(z.getUTCDay()==0){b.appendChild(u);u=document.createElement("tr")}}if(u.childNodes.length!=0){g.appendChild(u)}f.render(j)};e(x);h(x);this._init=new Date()},Precision:{day:{id:"day",scale:5,format:"d",begin:function(a){return a.build({hour:0,minute:0,second:0,millisecond:0})},end:function(a){return a.build({hour:23,minute:59,second:59,millisecond:999})},cmp:function(d,c){var e=GOSCal.Precision.day;return e.begin(d).cmp(e.begin(c))},iterator:function(c,a){var b=c.add_days(1);if(b<=a.options.end){return b}return undefined}},month:{id:"month",scale:6,format:"M",begin:function(a){return a.build({date:1,hour:0,minute:0,second:0,millisecond:0})},end:function(a){return a.last_day_of_month().build({hour:23,minute:59,second:59,millisecond:999})},cmp:function(d,c){var e=GOSCal.Precision.month;return e.begin(d).cmp(e.begin(c))},iterator:function(c,a){var b=c.add_months(1);if(b<=a.options.end){return b}return undefined}},year:{id:"year",scale:7,format:"Y",begin:function(a){return a.build({month:0,date:1,hour:0,minute:0,second:0,millisecond:0})},end:function(a){return a.build({month:11}).last_day_of_month().build({hour:23,minute:59,second:59,millisecond:999})},cmp:function(d,c){var e=GOSCal.Precision.year;return e.begin(d).cmp(e.begin(c))},iterator:function(c,a){var b=c.add_years(1);if(b<=a.options.end){return b}return undefined}}},Skip:{none:function(b,a){return false},multiple:function(a){return(function(b){return function(e,c){for(var d=0;d<b.length;d++){if(b[d](e,c)){return true}}return false}})(a)}},Pad:{none:function(b,a){return false},multiple:function(a){if(a.constructor!==Array){a=GOSLib.arguments_to_array(arguments)}return(function(b){return function(e,c){for(var d=0;d<b.length;d++){if(b[d](e,c)){return true}}return false}})(a)},before_day_of_week:function(a){return(function(b){return function(d,c){return d.previousDate&&d.previousDate.getUTCDay()==b}})(a==0?7:a-1)},after_each_year:function(b,a){return b.thisDate&&GOSCal.Precision.month.begin(b.thisDate).getUTCDate()==1&&b.thisDate.getUTCMonth()==0},before_first:function(b,a){return !(b.previousDate)},after_last:function(b,a){return !(b.thisDate)}},Select:{none:function(b,a){return false},exact:function(a){if(a.constructor===Date){return function(c,b){return b.options.precision.cmp(c.thisDate,a)==0}}return function(c,b){return c.thisDate==a}},format_match:function(c,b){var a=c.format(b);return function(e,d){return e.thisDate.format(b)==a}},millisecond:function(a){return function(c,b){return c.thisDate.getUTCMilliseconds()==a}},second:function(a){return function(c,b){return c.thisDate.getUTCSeconds()==a}},minute:function(a){return function(c,b){return c.thisDate.getUTCMinutes()==a}},hour:function(a){return function(c,b){return c.thisDate.getUTCHours()==a}},day:function(a){return function(c,b){return c.thisDate.getUTCDay()==a}},date:function(a){return function(c,b){return c.thisDate.getUTCDate()==a}},month:function(a){return function(c,b){return c.thisDate.getUTCMonth()==a}},year:function(a){return function(c,b){return c.thisDate.getUTCFullYear()==a}}},Reselect:{none:function(a){return GOSCal.Select.none},keep:function(a){return a.options.selected},format_match:function(a){return GOSCal.Select.format_match(a.valueOf(),a.options.format)},precision_format_match:function(a){return GOSCal.Select.format_match(a.valueOf(),a.options.precision.format)},new_format_match:function(a){return function(b){return GOSCal.Select.format_match(b.valueOf(),a)}}},ClassName:{none:function(b,a){return""},multiple:function(a){return(function(b){return function(f,c){var e=[];for(var d=0;d<b.length;d++){className=b[d](f,c);if(className){e.push(className)}}return e.join(" ")}})(a)},always:function(a){return function(c,b){return a}},weekendIs:function(a){return function(c,b){if(c.thisDate.is_weekend()){return a}return""}}},Validate:{any:function(a){return true},non_negative:function(a){return a>=0},not_minus_one:function(a){return a!=-1}}});