// cal.min.js
// minified_21/10/2010_11.32.19,60

(function(w){var g=new Date;"January,February,March,April,May,June,July,August,September,October,November,December".split(",");var x="31,28,31,30,31,30,31,31,30,31,30,31".split(","),m=/^\d{1,2}\/\d{1,2}\/\d{2}|\d{4}$/,r=/^\d{4,4}$/;w.fn.simpleDatepicker=function(i){function y(){for(var a=[],c=0;c<=opts.endyear-opts.startyear;c++)a[c]=opts.startyear+c;var b=jQuery('<table class="datepicker" cellpadding="0" cellspacing="0"></table>');b.append("<thead></thead>");b.append("<tfoot></tfoot>");b.append("<tbody></tbody>"); var e='<select name="month">';for(c in opts.months)e+='<option value="'+c+'">'+opts.months[c]+"</option>";e+="</select>";var d='<select name="year">';for(c in a)d+="<option>"+a[c]+"</option>";d+="</select>";jQuery("thead",b).append('<tr class="controls"><th colspan="7"><span class="prevMonth">&laquo;</span>&nbsp;'+e+d+'&nbsp;<span class="nextMonth">&raquo;</span></th></tr>');jQuery("thead",b).append('<tr class="days"><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr>');jQuery("tfoot", b).append('<tr><td colspan="2"><span class="today">today</span></td><td colspan="3">&nbsp;</td><td colspan="2"><span class="close">close</span></td></tr>');for(c=0;c<6;c++)jQuery("tbody",b).append("<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>");return b}function z(a){var c=curtop=0;if(a.offsetParent){do{c+=a.offsetLeft;curtop+=a.offsetTop}while(a=a.offsetParent);return[c,curtop]}else return false}function k(a,c,b,e){var d=jQuery("select[name=month]",b).get(0).selectedIndex, f=jQuery("select[name=year]",b).get(0).selectedIndex,n=jQuery("select[name=year] option",b).get().length;if(a&&jQuery(a.target).hasClass("prevMonth"))if(0==d&&f){f-=1;d=11;jQuery("select[name=month]",b).get(0).selectedIndex=11;jQuery("select[name=year]",b).get(0).selectedIndex=f}else{d-=1;jQuery("select[name=month]",b).get(0).selectedIndex=d}else if(a&&jQuery(a.target).hasClass("nextMonth"))if(11==d&&f+1<n){f+=1;d=0;jQuery("select[name=month]",b).get(0).selectedIndex=0;jQuery("select[name=year]", b).get(0).selectedIndex=f}else{d+=1;jQuery("select[name=month]",b).get(0).selectedIndex=d}0==d&&!f?jQuery("span.prevMonth",b).hide():jQuery("span.prevMonth",b).show();f+1==n&&11==d?jQuery("span.nextMonth",b).hide():jQuery("span.nextMonth",b).show();a=jQuery("tbody td",b).unbind().empty().removeClass("date");var l=jQuery("select[name=month]",b).val(),j=jQuery("select[name=year]",b).val(),A=(new Date(j,l,1)).getDay(),s=x[l];if(1==l&&(j%4==0&&j%100!=0||j%400==0))s=29;if(opts.startdate.constructor==Date)var o= opts.startdate.getMonth(),t=opts.startdate.getDate();if(opts.enddate.constructor==Date)var p=opts.enddate.getMonth(),u=opts.enddate.getDate();for(var h=0;h<s;h++){var v=jQuery(a.get(h+A)).removeClass("chosen");if((f||!t&&!o||h+1>=t&&d==o||d>o)&&(f+1<n||!u&&!p||h+1<=u&&d==p||d<p)){v.text(h+1).addClass("date").hover(function(){jQuery(this).addClass("over")},function(){jQuery(this).removeClass("over")}).click(function(){var B=new Date(jQuery("select[name=year]",b).val(),jQuery("select[name=month]",b).val(), jQuery(this).text());q(c,b,B)});h+1==e.getDate()&&l==e.getMonth()&&j==e.getFullYear()&&v.addClass("chosen")}}}function q(a,c,b){b&&b.constructor==Date&&a.val(jQuery.fn.simpleDatepicker.formatOutput(b));c.remove();jQuery.data(a.get(0),"simpleDatepicker",{hasDatepicker:false})}opts=jQuery.extend({},jQuery.fn.simpleDatepicker.defaults,i);opts.months=opts.months.split(",");(function(){var a;if(opts.startdate.constructor==Date)a=opts.startdate.getFullYear();else if(opts.startdate)if(r.test(opts.startdate))a= opts.startdate;else if(m.test(opts.startdate)){opts.startdate=new Date(opts.startdate);a=opts.startdate.getFullYear()}else a=g.getFullYear();else a=g.getFullYear();opts.startyear=a;if(opts.enddate.constructor==Date)a=opts.enddate.getFullYear();else if(opts.enddate)if(r.test(opts.enddate))a=opts.enddate;else if(m.test(opts.enddate)){opts.enddate=new Date(opts.enddate);a=opts.enddate.getFullYear()}else a=g.getFullYear();else a=g.getFullYear();opts.endyear=a})();return this.each(function(){if(jQuery(this).is("input")&& "text"==jQuery(this).attr("type")){var a;jQuery.data(jQuery(this).get(0),"simpleDatepicker",{hasDatepicker:false});jQuery(this).click(function(c){var b=jQuery(c.target);if(false==jQuery.data(b.get(0),"simpleDatepicker").hasDatepicker){jQuery.data(b.get(0),"simpleDatepicker",{hasDatepicker:true});var e=(c=b.val())&&m.test(c)?new Date(c):opts.chosendate.constructor==Date?opts.chosendate:opts.chosendate?new Date(opts.chosendate):g;a=y();jQuery("body").prepend(a);var d=z(b.get(0));c=(parseInt(opts.x)? parseInt(opts.x):0)+d[0];d=(parseInt(opts.y)?parseInt(opts.y):0)+d[1];jQuery(a).css({position:"absolute",left:c,top:d});jQuery("span",a).css("cursor","pointer");jQuery("select",a).bind("change",function(){k(null,b,a,e)});jQuery("span.prevMonth",a).click(function(f){k(f,b,a,e)});jQuery("span.nextMonth",a).click(function(f){k(f,b,a,e)});jQuery("span.today",a).click(function(){q(b,a,new Date)});jQuery("span.close",a).click(function(){q(b,a)});jQuery("select[name=month]",a).get(0).selectedIndex=e.getMonth(); jQuery("select[name=year]",a).get(0).selectedIndex=Math.max(0,e.getFullYear()-opts.startyear);k(null,b,a,e)}})}})};jQuery.fn.simpleDatepicker.formatOutput=function(i){return i.getMonth()+1+"/"+i.getDate()+"/"+i.getFullYear()};jQuery.fn.simpleDatepicker.defaults={chosendate:g,startdate:g.getFullYear(),enddate:g.getFullYear()+1,months:"January,February,March,April,May,June,July,August,September,October,November,December",x:18,y:18}})(jQuery);
