calendar_date_select 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +216 -0
 - data/MIT-LICENSE +20 -0
 - data/Manifest.txt +39 -0
 - data/Rakefile +31 -0
 - data/Readme.txt +16 -0
 - data/init.rb +1 -0
 - data/js_test/functional/cds_test.html +334 -0
 - data/js_test/prototype.js +4184 -0
 - data/js_test/test.css +40 -0
 - data/js_test/unit/cds_helper_methods.html +46 -0
 - data/js_test/unittest.js +564 -0
 - data/lib/calendar_date_select.rb +19 -0
 - data/lib/calendar_date_select/calendar_date_select.rb +223 -0
 - data/lib/calendar_date_select/includes_helper.rb +38 -0
 - data/public/blank_iframe.html +2 -0
 - data/public/images/calendar_date_select/calendar.gif +0 -0
 - data/public/javascripts/calendar_date_select/calendar_date_select.js +442 -0
 - data/public/javascripts/calendar_date_select/format_american.js +34 -0
 - data/public/javascripts/calendar_date_select/format_db.js +27 -0
 - data/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
 - data/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
 - data/public/javascripts/calendar_date_select/format_finnish.js +32 -0
 - data/public/javascripts/calendar_date_select/format_hyphen_ampm.js +36 -0
 - data/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
 - data/public/javascripts/calendar_date_select/format_italian.js +24 -0
 - data/public/javascripts/calendar_date_select/locale/de.js +10 -0
 - data/public/javascripts/calendar_date_select/locale/fi.js +10 -0
 - data/public/javascripts/calendar_date_select/locale/fr.js +10 -0
 - data/public/javascripts/calendar_date_select/locale/pl.js +10 -0
 - data/public/javascripts/calendar_date_select/locale/pt.js +11 -0
 - data/public/javascripts/calendar_date_select/locale/ru.js +10 -0
 - data/public/stylesheets/calendar_date_select/blue.css +130 -0
 - data/public/stylesheets/calendar_date_select/default.css +135 -0
 - data/public/stylesheets/calendar_date_select/plain.css +128 -0
 - data/public/stylesheets/calendar_date_select/red.css +135 -0
 - data/public/stylesheets/calendar_date_select/silver.css +133 -0
 - data/test/functional/calendar_date_select_test.rb +157 -0
 - data/test/functional/helper_methods_test.rb +15 -0
 - data/test/test_helper.rb +19 -0
 - metadata +104 -0
 
| 
         @@ -0,0 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // American Format: 12/31/2000 5:00 pm
         
     | 
| 
      
 2 
     | 
    
         
            +
            // Thanks, Wes Hays
         
     | 
| 
      
 3 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time){
         
     | 
| 
      
 4 
     | 
    
         
            +
              str = Date.padded2(this.getMonth() + 1) + '/' +Date.padded2(this.getDate()) + '/' + this.getFullYear();
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
         
     | 
| 
      
 7 
     | 
    
         
            +
              return str;
         
     | 
| 
      
 8 
     | 
    
         
            +
            }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 11 
     | 
    
         
            +
              // Test these with and without the time
         
     | 
| 
      
 12 
     | 
    
         
            +
              // 11/11/1111 12pm
         
     | 
| 
      
 13 
     | 
    
         
            +
              // 11/11/1111 1pm
         
     | 
| 
      
 14 
     | 
    
         
            +
              // 1/11/1111 10:10pm
         
     | 
| 
      
 15 
     | 
    
         
            +
              // 11/1/1111 01pm
         
     | 
| 
      
 16 
     | 
    
         
            +
              // 1/1/1111 01:11pm
         
     | 
| 
      
 17 
     | 
    
         
            +
              // 1/1/1111 1:11pm
         
     | 
| 
      
 18 
     | 
    
         
            +
              var regexp = "(([0-1]?[0-9])\/[0-3]?[0-9]\/[0-9]{4}) *([0-9]{1,2}(:[0-9]{2})? *(am|pm))?";
         
     | 
| 
      
 19 
     | 
    
         
            +
              var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 20 
     | 
    
         
            +
              if (d==null) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                return Date.parse(string); // Give javascript a chance to parse it.
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              mdy = d[1].split('/');
         
     | 
| 
      
 25 
     | 
    
         
            +
              hrs = 0;
         
     | 
| 
      
 26 
     | 
    
         
            +
              mts = 0;
         
     | 
| 
      
 27 
     | 
    
         
            +
              if(d[3] != null) {
         
     | 
| 
      
 28 
     | 
    
         
            +
                hrs = parseInt(d[3].split('')[0], 10);
         
     | 
| 
      
 29 
     | 
    
         
            +
                if(d[5].toLowerCase() == 'pm') { hrs += 12; } // Add 12 more to hrs
         
     | 
| 
      
 30 
     | 
    
         
            +
                mts = d[4].split(':')[1];
         
     | 
| 
      
 31 
     | 
    
         
            +
              }
         
     | 
| 
      
 32 
     | 
    
         
            +
              
         
     | 
| 
      
 33 
     | 
    
         
            +
              return new Date(mdy[2], parseInt(mdy[0], 10)-1, mdy[1], hrs, mts, 0);
         
     | 
| 
      
 34 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // DB No Seconds Format: 2007-12-05 12:00
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Date.padded2 = function(hour) { padded2 = hour.toString(); if ((parseInt(hour) < 10) || (parseInt(hour) == null)) padded2="0" + padded2; return padded2; }
         
     | 
| 
      
 4 
     | 
    
         
            +
            Date.prototype.getAMPMHour = function() { hour=Date.padded2(this.getHours()); return (hour == null) ? 00 : (hour > 24 ? hour - 24 : hour ) }
         
     | 
| 
      
 5 
     | 
    
         
            +
            Date.prototype.getAMPM = function() { return (this.getHours() < 12) ? "" : ""; }
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time){
         
     | 
| 
      
 8 
     | 
    
         
            +
              str = this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + Date.padded2(this.getDate());
         
     | 
| 
      
 9 
     | 
    
         
            +
              if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() }
         
     | 
| 
      
 10 
     | 
    
         
            +
              return str;
         
     | 
| 
      
 11 
     | 
    
         
            +
            }
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 14 
     | 
    
         
            +
              var regexp = '([0-9]{4})-(([0-9]{1,2})-(([0-9]{1,2})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
         
     | 
| 
      
 15 
     | 
    
         
            +
              var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 16 
     | 
    
         
            +
              if (d==null) return Date.parse(string); // at least give javascript a crack at it.
         
     | 
| 
      
 17 
     | 
    
         
            +
              var offset = 0;
         
     | 
| 
      
 18 
     | 
    
         
            +
              var date = new Date(d[1], 0, 1);
         
     | 
| 
      
 19 
     | 
    
         
            +
              if (d[3]) { date.setMonth(d[3] - 1); }
         
     | 
| 
      
 20 
     | 
    
         
            +
              if (d[5]) { date.setDate(d[5]); }
         
     | 
| 
      
 21 
     | 
    
         
            +
              if (d[7]) {
         
     | 
| 
      
 22 
     | 
    
         
            +
                date.setHours(parseInt(d[7], 10));    
         
     | 
| 
      
 23 
     | 
    
         
            +
              }
         
     | 
| 
      
 24 
     | 
    
         
            +
              if (d[8]) { date.setMinutes(d[8]); }
         
     | 
| 
      
 25 
     | 
    
         
            +
              if (d[10]) { date.setSeconds(d[10]); }
         
     | 
| 
      
 26 
     | 
    
         
            +
              return date;
         
     | 
| 
      
 27 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // Formats date and time as "01 January 2000 17:00"
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time)
         
     | 
| 
      
 3 
     | 
    
         
            +
            {
         
     | 
| 
      
 4 
     | 
    
         
            +
               str = Date.padded2(this.getDate()) + " " + Date.months[this.getMonth()] + " " + this.getFullYear();
         
     | 
| 
      
 5 
     | 
    
         
            +
               if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
         
     | 
| 
      
 6 
     | 
    
         
            +
               return str;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // Formats date and time as "2000.01.20 17:00"
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time)
         
     | 
| 
      
 3 
     | 
    
         
            +
            {
         
     | 
| 
      
 4 
     | 
    
         
            +
               str = this.getFullYear() + "." + Date.padded2(this.getMonth()+1) + "." + Date.padded2(this.getDate());
         
     | 
| 
      
 5 
     | 
    
         
            +
               if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
         
     | 
| 
      
 6 
     | 
    
         
            +
               return str;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.padded2 = function(hour) { padded2 = hour.toString(); if ((parseInt(hour) < 10) || (parseInt(hour) == null)) padded2="0" + padded2; return padded2; }
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.prototype.getAMPMHour = function() { hour=Date.padded2(this.getHours()); return (hour == null) ? 00 : (hour > 24 ? hour - 24 : hour ) }
         
     | 
| 
      
 3 
     | 
    
         
            +
            Date.prototype.getAMPM = function() { return (this.getHours() < 12) ? "" : ""; }
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time){
         
     | 
| 
      
 6 
     | 
    
         
            +
              str = this.getDate() + "." + (this.getMonth() + 1) + "." + this.getFullYear();
         
     | 
| 
      
 7 
     | 
    
         
            +
              if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() }
         
     | 
| 
      
 8 
     | 
    
         
            +
              return str;
         
     | 
| 
      
 9 
     | 
    
         
            +
            }
         
     | 
| 
      
 10 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 11 
     | 
    
         
            +
              var regexp = '([0-9]{1,2})\.(([0-9]{1,2})\.(([0-9]{2,4})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
         
     | 
| 
      
 12 
     | 
    
         
            +
              var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 13 
     | 
    
         
            +
              if (d==null) return Date.parse(string); // at least give javascript a crack at it.
         
     | 
| 
      
 14 
     | 
    
         
            +
              var offset = 0;
         
     | 
| 
      
 15 
     | 
    
         
            +
              if (d[5] && d[5].length == 2) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                // we got only two digits for the year...
         
     | 
| 
      
 17 
     | 
    
         
            +
                d[5] = Number(d[5]);
         
     | 
| 
      
 18 
     | 
    
         
            +
                if (d[5] > 30)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  d[5] += 1900;
         
     | 
| 
      
 20 
     | 
    
         
            +
                else
         
     | 
| 
      
 21 
     | 
    
         
            +
                  d[5] += 2000;
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
      
 23 
     | 
    
         
            +
              var date = new Date(d[5], 0, 1);
         
     | 
| 
      
 24 
     | 
    
         
            +
              if (d[3]) { date.setMonth(d[3] - 1); }
         
     | 
| 
      
 25 
     | 
    
         
            +
              if (d[5]) { date.setDate(d[1]); }
         
     | 
| 
      
 26 
     | 
    
         
            +
              if (d[7]) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                date.setHours(parseInt(d[7], 10));    
         
     | 
| 
      
 28 
     | 
    
         
            +
              }
         
     | 
| 
      
 29 
     | 
    
         
            +
              if (d[8]) { date.setMinutes(d[8]); }
         
     | 
| 
      
 30 
     | 
    
         
            +
              if (d[10]) { date.setSeconds(d[10]); }
         
     | 
| 
      
 31 
     | 
    
         
            +
              return date;
         
     | 
| 
      
 32 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,36 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time){
         
     | 
| 
      
 2 
     | 
    
         
            +
              str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate()); 
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
         
     | 
| 
      
 5 
     | 
    
         
            +
            return str;
         
     | 
| 
      
 6 
     | 
    
         
            +
            }
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 9 
     | 
    
         
            +
              var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
         
     | 
| 
      
 10 
     | 
    
         
            +
                  "( ([0-9]{1,2}):([0-9]{2})? *(pm|am)" +
         
     | 
| 
      
 11 
     | 
    
         
            +
                  "?)?)?)?";
         
     | 
| 
      
 12 
     | 
    
         
            +
              var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 13 
     | 
    
         
            +
              if (d==null) return Date.parse(string); // at least give javascript a crack at it.
         
     | 
| 
      
 14 
     | 
    
         
            +
              var offset = 0;
         
     | 
| 
      
 15 
     | 
    
         
            +
              var date = new Date(d[1], 0, 1);
         
     | 
| 
      
 16 
     | 
    
         
            +
              if (d[3]) { date.setMonth(d[3] - 1); }
         
     | 
| 
      
 17 
     | 
    
         
            +
              if (d[5]) { date.setDate(d[5]); }
         
     | 
| 
      
 18 
     | 
    
         
            +
              if (d[7]) {
         
     | 
| 
      
 19 
     | 
    
         
            +
                hours = parseInt(d[7], 10);
         
     | 
| 
      
 20 
     | 
    
         
            +
                offset=0;
         
     | 
| 
      
 21 
     | 
    
         
            +
                is_pm = (d[9].toLowerCase()=="pm")
         
     | 
| 
      
 22 
     | 
    
         
            +
                if (is_pm && hours <= 11) hours+=12;
         
     | 
| 
      
 23 
     | 
    
         
            +
                if (!is_pm && hours == 12) hours=0;
         
     | 
| 
      
 24 
     | 
    
         
            +
                date.setHours(hours); 
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
              }
         
     | 
| 
      
 27 
     | 
    
         
            +
              if (d[8]) { date.setMinutes(d[8]); }
         
     | 
| 
      
 28 
     | 
    
         
            +
              if (d[10]) { date.setSeconds(d[10]); }
         
     | 
| 
      
 29 
     | 
    
         
            +
              if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
         
     | 
| 
      
 30 
     | 
    
         
            +
              if (d[14]) {
         
     | 
| 
      
 31 
     | 
    
         
            +
                  offset = (Number(d[16]) * 60) + Number(d[17]);
         
     | 
| 
      
 32 
     | 
    
         
            +
                  offset *= ((d[15] == '-') ? 1 : -1);
         
     | 
| 
      
 33 
     | 
    
         
            +
              }
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
              return date;
         
     | 
| 
      
 36 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time) {
         
     | 
| 
      
 2 
     | 
    
         
            +
            	var hour;
         
     | 
| 
      
 3 
     | 
    
         
            +
                var str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate());
         
     | 
| 
      
 4 
     | 
    
         
            +
                if (include_time) {
         
     | 
| 
      
 5 
     | 
    
         
            +
                    hour = this.getHours();
         
     | 
| 
      
 6 
     | 
    
         
            +
                    str += " " + this.getHours() + ":" + this.getPaddedMinutes();
         
     | 
| 
      
 7 
     | 
    
         
            +
                }
         
     | 
| 
      
 8 
     | 
    
         
            +
                return str;
         
     | 
| 
      
 9 
     | 
    
         
            +
            };
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + 
         
     | 
| 
      
 14 
     | 
    
         
            +
                    "( ([0-9]{1,2}):([0-9]{2})?" +
         
     | 
| 
      
 15 
     | 
    
         
            +
                    "?)?)?)?"; 
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 18 
     | 
    
         
            +
                if (d === null) {
         
     | 
| 
      
 19 
     | 
    
         
            +
                    return Date.parse(string); // at least give javascript a crack at it.
         
     | 
| 
      
 20 
     | 
    
         
            +
                }
         
     | 
| 
      
 21 
     | 
    
         
            +
                var offset = 0; 
         
     | 
| 
      
 22 
     | 
    
         
            +
                var date = new Date(d[1], 0, 1); 
         
     | 
| 
      
 23 
     | 
    
         
            +
                if (d[3]) {
         
     | 
| 
      
 24 
     | 
    
         
            +
                    date.setMonth(d[3] - 1);
         
     | 
| 
      
 25 
     | 
    
         
            +
                } 
         
     | 
| 
      
 26 
     | 
    
         
            +
                if (d[5]) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                    date.setDate(d[5]);
         
     | 
| 
      
 28 
     | 
    
         
            +
                } 
         
     | 
| 
      
 29 
     | 
    
         
            +
                if (d[7]) {
         
     | 
| 
      
 30 
     | 
    
         
            +
                    date.setHours(d[7]);
         
     | 
| 
      
 31 
     | 
    
         
            +
                } 
         
     | 
| 
      
 32 
     | 
    
         
            +
                if (d[8]) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                    date.setMinutes(d[8]);
         
     | 
| 
      
 34 
     | 
    
         
            +
                } 
         
     | 
| 
      
 35 
     | 
    
         
            +
                if (d[0]) {
         
     | 
| 
      
 36 
     | 
    
         
            +
                    date.setSeconds(d[0]);
         
     | 
| 
      
 37 
     | 
    
         
            +
                } 
         
     | 
| 
      
 38 
     | 
    
         
            +
                if (d[2]) {
         
     | 
| 
      
 39 
     | 
    
         
            +
                    date.setMilliseconds(Number("0." + d[2]));
         
     | 
| 
      
 40 
     | 
    
         
            +
                } 
         
     | 
| 
      
 41 
     | 
    
         
            +
                if (d[4]) {
         
     | 
| 
      
 42 
     | 
    
         
            +
                    offset = (Number(d[6])) + Number(d[8]);
         
     | 
| 
      
 43 
     | 
    
         
            +
                    offset = ((d[5] == '-') ? 1 : -1); 
         
     | 
| 
      
 44 
     | 
    
         
            +
                } 
         
     | 
| 
      
 45 
     | 
    
         
            +
                return date; 
         
     | 
| 
      
 46 
     | 
    
         
            +
            };
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // Italian Format: 31/12/2000 23:00
         
     | 
| 
      
 2 
     | 
    
         
            +
            // Thanks, Bigonazzi!
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Date.prototype.toFormattedString = function(include_time){
         
     | 
| 
      
 5 
     | 
    
         
            +
              str = this.getDate() + "/" + (this.getMonth() + 1) + "/" + this.getFullYear();
         
     | 
| 
      
 6 
     | 
    
         
            +
              if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
         
     | 
| 
      
 7 
     | 
    
         
            +
              return str;
         
     | 
| 
      
 8 
     | 
    
         
            +
            }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            Date.parseFormattedString = function (string) {
         
     | 
| 
      
 11 
     | 
    
         
            +
              var regexp = '([0-9]{1,2})/(([0-9]{1,2})/(([0-9]{4})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
         
     | 
| 
      
 12 
     | 
    
         
            +
              var d = string.match(new RegExp(regexp, "i"));
         
     | 
| 
      
 13 
     | 
    
         
            +
              if (d==null) return Date.parse(string); // at least give javascript a crack at it.
         
     | 
| 
      
 14 
     | 
    
         
            +
              var offset = 0;
         
     | 
| 
      
 15 
     | 
    
         
            +
              var date = new Date(d[5], 0, 1);
         
     | 
| 
      
 16 
     | 
    
         
            +
              if (d[3]) { date.setMonth(d[3] - 1); }
         
     | 
| 
      
 17 
     | 
    
         
            +
              if (d[5]) { date.setDate(d[1]); }
         
     | 
| 
      
 18 
     | 
    
         
            +
              if (d[7]) {
         
     | 
| 
      
 19 
     | 
    
         
            +
                date.setHours(parseInt(d[7], 10));    
         
     | 
| 
      
 20 
     | 
    
         
            +
              }
         
     | 
| 
      
 21 
     | 
    
         
            +
              if (d[8]) { date.setMinutes(d[8]); }
         
     | 
| 
      
 22 
     | 
    
         
            +
              if (d[10]) { date.setSeconds(d[10]); }
         
     | 
| 
      
 23 
     | 
    
         
            +
              return date;
         
     | 
| 
      
 24 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.weekdays = $w("Ma Ti Ke To Pe La Su");
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.months = $w("Tammikuu Helmikuu Maaliskuu Huhtikuu Toukokuu Kes�kuu Hein�kuu Elokuu Syyskuu Lokakuu Marraskuu Joulukuu" );
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Date.first_day_of_week = 1
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            _translations = {
         
     | 
| 
      
 7 
     | 
    
         
            +
              "OK": "OK",
         
     | 
| 
      
 8 
     | 
    
         
            +
              "Now": "Nyt",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "Today": "T�n��n"
         
     | 
| 
      
 10 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.weekdays = $w('L Ma Me J V S D');
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.months = $w('Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre');
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Date.first_day_of_week = 1;
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            _translations = {
         
     | 
| 
      
 7 
     | 
    
         
            +
              "OK": "OK",
         
     | 
| 
      
 8 
     | 
    
         
            +
              "Now": "Maintenant",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "Today": "Aujourd'hui"
         
     | 
| 
      
 10 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.weekdays = $w('P W Ś C P S N');
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.months = $w('Styczeń Luty Marzec Kwiecień Maj Czerwiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień');
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Date.first_day_of_week = 1
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            _translations = {
         
     | 
| 
      
 7 
     | 
    
         
            +
              "OK": "OK",
         
     | 
| 
      
 8 
     | 
    
         
            +
              "Now": "Teraz",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "Today": "Dziś"
         
     | 
| 
      
 10 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Date.weekdays = $w('D S T Q Q S S');
         
     | 
| 
      
 2 
     | 
    
         
            +
            Date.months = $w('Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro');
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Date.first_day_of_week = 0
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            _translations = {
         
     | 
| 
      
 7 
     | 
    
         
            +
              "OK": "OK",
         
     | 
| 
      
 8 
     | 
    
         
            +
              "Now": "Agora",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "Today": "Hoje",
         
     | 
| 
      
 10 
     | 
    
         
            +
              "Clear": "Limpar"
         
     | 
| 
      
 11 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,130 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .calendar_date_select {
         
     | 
| 
      
 2 
     | 
    
         
            +
              color:white;
         
     | 
| 
      
 3 
     | 
    
         
            +
              border:#777 1px solid;
         
     | 
| 
      
 4 
     | 
    
         
            +
              display:block;
         
     | 
| 
      
 5 
     | 
    
         
            +
              width:195px;
         
     | 
| 
      
 6 
     | 
    
         
            +
              z-index: 1000;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
      
 8 
     | 
    
         
            +
            /* this is a fun ie6 hack to get drop downs to stay behind the popup window.  This should always be just underneath .calendar_date_select */
         
     | 
| 
      
 9 
     | 
    
         
            +
            iframe.ie6_blocker {
         
     | 
| 
      
 10 
     | 
    
         
            +
              position: absolute;
         
     | 
| 
      
 11 
     | 
    
         
            +
              z-index: 999;
         
     | 
| 
      
 12 
     | 
    
         
            +
            }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            .calendar_date_select  thead th {
         
     | 
| 
      
 15 
     | 
    
         
            +
              font-weight:bold;
         
     | 
| 
      
 16 
     | 
    
         
            +
              background-color: #000;
         
     | 
| 
      
 17 
     | 
    
         
            +
              border-top:1px solid #777;
         
     | 
| 
      
 18 
     | 
    
         
            +
              border-bottom:2px solid #334;
         
     | 
| 
      
 19 
     | 
    
         
            +
              color: white !important;
         
     | 
| 
      
 20 
     | 
    
         
            +
            }
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            .calendar_date_select .cds_buttons {
         
     | 
| 
      
 23 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 24 
     | 
    
         
            +
              padding:5px 0px;
         
     | 
| 
      
 25 
     | 
    
         
            +
              background-color: #000055;
         
     | 
| 
      
 26 
     | 
    
         
            +
            }
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            .calendar_date_select .cds_footer {
         
     | 
| 
      
 29 
     | 
    
         
            +
              background-color: black;
         
     | 
| 
      
 30 
     | 
    
         
            +
              padding:3px;
         
     | 
| 
      
 31 
     | 
    
         
            +
              font-size:12px;
         
     | 
| 
      
 32 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 33 
     | 
    
         
            +
            }
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            .calendar_date_select table {
         
     | 
| 
      
 36 
     | 
    
         
            +
              margin: 0px;
         
     | 
| 
      
 37 
     | 
    
         
            +
              padding: 0px;
         
     | 
| 
      
 38 
     | 
    
         
            +
            }
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            .calendar_date_select .cds_header {
         
     | 
| 
      
 42 
     | 
    
         
            +
              background-color: #ccc;
         
     | 
| 
      
 43 
     | 
    
         
            +
              border-bottom: 2px solid #aaa;
         
     | 
| 
      
 44 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 45 
     | 
    
         
            +
            }
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            .calendar_date_select .cds_header span {
         
     | 
| 
      
 48 
     | 
    
         
            +
              font-size:15px;
         
     | 
| 
      
 49 
     | 
    
         
            +
              color: black;
         
     | 
| 
      
 50 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 51 
     | 
    
         
            +
            }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            .calendar_date_select select { font-size:11px;}
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            .calendar_date_select .cds_header a:hover {
         
     | 
| 
      
 56 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 57 
     | 
    
         
            +
            }
         
     | 
| 
      
 58 
     | 
    
         
            +
            .calendar_date_select .cds_header a {
         
     | 
| 
      
 59 
     | 
    
         
            +
              width:22px;
         
     | 
| 
      
 60 
     | 
    
         
            +
              height:20px;
         
     | 
| 
      
 61 
     | 
    
         
            +
              text-decoration: none;
         
     | 
| 
      
 62 
     | 
    
         
            +
              font-size:14px;
         
     | 
| 
      
 63 
     | 
    
         
            +
              color:black !important;
         
     | 
| 
      
 64 
     | 
    
         
            +
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            .calendar_date_select .cds_header a.prev {
         
     | 
| 
      
 67 
     | 
    
         
            +
              float:left;
         
     | 
| 
      
 68 
     | 
    
         
            +
            }
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            .calendar_date_select .cds_header a.next {
         
     | 
| 
      
 71 
     | 
    
         
            +
              float:right;
         
     | 
| 
      
 72 
     | 
    
         
            +
            }
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            .calendar_date_select .cds_header a.close {
         
     | 
| 
      
 75 
     | 
    
         
            +
              float:right;
         
     | 
| 
      
 76 
     | 
    
         
            +
              display:none;
         
     | 
| 
      
 77 
     | 
    
         
            +
            }
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            .calendar_date_select .cds_header select.month {
         
     | 
| 
      
 81 
     | 
    
         
            +
              width:90px;
         
     | 
| 
      
 82 
     | 
    
         
            +
            }
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            .calendar_date_select .cds_header select.year {
         
     | 
| 
      
 85 
     | 
    
         
            +
              width:61px;
         
     | 
| 
      
 86 
     | 
    
         
            +
            }
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            .calendar_date_select .cds_buttons a {
         
     | 
| 
      
 89 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 90 
     | 
    
         
            +
              font-size: 9px;
         
     | 
| 
      
 91 
     | 
    
         
            +
            }
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
            .calendar_date_select td {
         
     | 
| 
      
 94 
     | 
    
         
            +
              background-color: #000066;
         
     | 
| 
      
 95 
     | 
    
         
            +
              font-size:12px;
         
     | 
| 
      
 96 
     | 
    
         
            +
              width: 24px;
         
     | 
| 
      
 97 
     | 
    
         
            +
              height: 21px;
         
     | 
| 
      
 98 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 99 
     | 
    
         
            +
              vertical-align: middle;
         
     | 
| 
      
 100 
     | 
    
         
            +
            }
         
     | 
| 
      
 101 
     | 
    
         
            +
            .calendar_date_select td.weekend {
         
     | 
| 
      
 102 
     | 
    
         
            +
              background-color: #00005a;
         
     | 
| 
      
 103 
     | 
    
         
            +
            }
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
            .calendar_date_select td div.other {
         
     | 
| 
      
 106 
     | 
    
         
            +
              color: #4C5593;
         
     | 
| 
      
 107 
     | 
    
         
            +
            }
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
            .calendar_date_select tbody td {
         
     | 
| 
      
 110 
     | 
    
         
            +
              border-bottom: 1px solid #000044;
         
     | 
| 
      
 111 
     | 
    
         
            +
            }
         
     | 
| 
      
 112 
     | 
    
         
            +
            .calendar_date_select td.selected {
         
     | 
| 
      
 113 
     | 
    
         
            +
              background-color:white;
         
     | 
| 
      
 114 
     | 
    
         
            +
              color:black;
         
     | 
| 
      
 115 
     | 
    
         
            +
            }
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            .calendar_date_select td:hover {
         
     | 
| 
      
 118 
     | 
    
         
            +
              background-color:#ccc;
         
     | 
| 
      
 119 
     | 
    
         
            +
            }
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
            .calendar_date_select td.disabled div {
         
     | 
| 
      
 122 
     | 
    
         
            +
              color: #000044;
         
     | 
| 
      
 123 
     | 
    
         
            +
            }
         
     | 
| 
      
 124 
     | 
    
         
            +
            .calendar_date_select td.today {
         
     | 
| 
      
 125 
     | 
    
         
            +
              border: 1px dashed blue;
         
     | 
| 
      
 126 
     | 
    
         
            +
            }
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            .fieldWithErrors .calendar_date_select {
         
     | 
| 
      
 129 
     | 
    
         
            +
              border: 2px solid red;
         
     | 
| 
      
 130 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,135 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .calendar_date_select {
         
     | 
| 
      
 2 
     | 
    
         
            +
              color:white;
         
     | 
| 
      
 3 
     | 
    
         
            +
              border:#777 1px solid;
         
     | 
| 
      
 4 
     | 
    
         
            +
              display:block;
         
     | 
| 
      
 5 
     | 
    
         
            +
              width:195px;
         
     | 
| 
      
 6 
     | 
    
         
            +
              z-index: 1000;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
      
 8 
     | 
    
         
            +
            /* this is a fun ie6 hack to get drop downs to stay behind the popup window.  This should always be just underneath .calendar_date_select */
         
     | 
| 
      
 9 
     | 
    
         
            +
            iframe.ie6_blocker {
         
     | 
| 
      
 10 
     | 
    
         
            +
              position: absolute;
         
     | 
| 
      
 11 
     | 
    
         
            +
              z-index: 999;
         
     | 
| 
      
 12 
     | 
    
         
            +
            }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            .calendar_date_select thead th {
         
     | 
| 
      
 15 
     | 
    
         
            +
              font-weight:bold;
         
     | 
| 
      
 16 
     | 
    
         
            +
              background-color: #aaa;
         
     | 
| 
      
 17 
     | 
    
         
            +
              border-top:1px solid #777;
         
     | 
| 
      
 18 
     | 
    
         
            +
              border-bottom:1px solid #777;
         
     | 
| 
      
 19 
     | 
    
         
            +
              color: white !important;
         
     | 
| 
      
 20 
     | 
    
         
            +
            }
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            .calendar_date_select .cds_buttons {
         
     | 
| 
      
 23 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 24 
     | 
    
         
            +
              padding:5px 0px;
         
     | 
| 
      
 25 
     | 
    
         
            +
              background-color: #555;
         
     | 
| 
      
 26 
     | 
    
         
            +
            }
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            .calendar_date_select .cds_footer {
         
     | 
| 
      
 29 
     | 
    
         
            +
              background-color: black;
         
     | 
| 
      
 30 
     | 
    
         
            +
              padding:3px;
         
     | 
| 
      
 31 
     | 
    
         
            +
              font-size:12px;
         
     | 
| 
      
 32 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 33 
     | 
    
         
            +
            }
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            .calendar_date_select table {
         
     | 
| 
      
 36 
     | 
    
         
            +
              margin: 0px;
         
     | 
| 
      
 37 
     | 
    
         
            +
              padding: 0px;
         
     | 
| 
      
 38 
     | 
    
         
            +
            }
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            .calendar_date_select .cds_header {
         
     | 
| 
      
 42 
     | 
    
         
            +
              background-color: #ccc;
         
     | 
| 
      
 43 
     | 
    
         
            +
              border-bottom: 2px solid #aaa;
         
     | 
| 
      
 44 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 45 
     | 
    
         
            +
            }
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            .calendar_date_select .cds_header span {
         
     | 
| 
      
 48 
     | 
    
         
            +
              font-size:15px;
         
     | 
| 
      
 49 
     | 
    
         
            +
              color: black;
         
     | 
| 
      
 50 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 51 
     | 
    
         
            +
            }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            .calendar_date_select select { font-size:11px;}
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            .calendar_date_select .cds_header a:hover {
         
     | 
| 
      
 56 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 57 
     | 
    
         
            +
            }
         
     | 
| 
      
 58 
     | 
    
         
            +
            .calendar_date_select .cds_header a {
         
     | 
| 
      
 59 
     | 
    
         
            +
              width:22px;
         
     | 
| 
      
 60 
     | 
    
         
            +
              height:20px;
         
     | 
| 
      
 61 
     | 
    
         
            +
              text-decoration: none;
         
     | 
| 
      
 62 
     | 
    
         
            +
              font-size:14px;
         
     | 
| 
      
 63 
     | 
    
         
            +
              color:black !important;
         
     | 
| 
      
 64 
     | 
    
         
            +
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            .calendar_date_select .cds_header a.prev {
         
     | 
| 
      
 67 
     | 
    
         
            +
              float:left;
         
     | 
| 
      
 68 
     | 
    
         
            +
            }
         
     | 
| 
      
 69 
     | 
    
         
            +
            .calendar_date_select .cds_header a.next {
         
     | 
| 
      
 70 
     | 
    
         
            +
              float:right;
         
     | 
| 
      
 71 
     | 
    
         
            +
            }
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            .calendar_date_select .cds_header a.close {
         
     | 
| 
      
 74 
     | 
    
         
            +
              float:right;
         
     | 
| 
      
 75 
     | 
    
         
            +
              display:none;
         
     | 
| 
      
 76 
     | 
    
         
            +
            }
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
            .calendar_date_select .cds_header select.month {
         
     | 
| 
      
 79 
     | 
    
         
            +
              width:90px;
         
     | 
| 
      
 80 
     | 
    
         
            +
            }
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            .calendar_date_select .cds_header select.year {
         
     | 
| 
      
 83 
     | 
    
         
            +
              width:61px;
         
     | 
| 
      
 84 
     | 
    
         
            +
            }
         
     | 
| 
      
 85 
     | 
    
         
            +
            .calendar_date_select .cds_buttons a {
         
     | 
| 
      
 86 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 87 
     | 
    
         
            +
              font-size: 9px;
         
     | 
| 
      
 88 
     | 
    
         
            +
            }
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            .calendar_date_select td {
         
     | 
| 
      
 91 
     | 
    
         
            +
              font-size:12px;
         
     | 
| 
      
 92 
     | 
    
         
            +
              width: 24px;
         
     | 
| 
      
 93 
     | 
    
         
            +
              height: 21px;
         
     | 
| 
      
 94 
     | 
    
         
            +
              text-align:center;
         
     | 
| 
      
 95 
     | 
    
         
            +
              vertical-align: middle;
         
     | 
| 
      
 96 
     | 
    
         
            +
              background-color: #fff;
         
     | 
| 
      
 97 
     | 
    
         
            +
            }
         
     | 
| 
      
 98 
     | 
    
         
            +
            .calendar_date_select td.weekend {
         
     | 
| 
      
 99 
     | 
    
         
            +
              background-color: #eee;
         
     | 
| 
      
 100 
     | 
    
         
            +
              border-left:1px solid #ddd;
         
     | 
| 
      
 101 
     | 
    
         
            +
              border-right:1px solid #ddd;
         
     | 
| 
      
 102 
     | 
    
         
            +
            }
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
            .calendar_date_select td div {
         
     | 
| 
      
 105 
     | 
    
         
            +
              color: #000;
         
     | 
| 
      
 106 
     | 
    
         
            +
            }
         
     | 
| 
      
 107 
     | 
    
         
            +
            .calendar_date_select td div.other {
         
     | 
| 
      
 108 
     | 
    
         
            +
              color: #ccc;
         
     | 
| 
      
 109 
     | 
    
         
            +
            }
         
     | 
| 
      
 110 
     | 
    
         
            +
            .calendar_date_select td.selected div {
         
     | 
| 
      
 111 
     | 
    
         
            +
              color:white;
         
     | 
| 
      
 112 
     | 
    
         
            +
            }
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
            .calendar_date_select tbody td {
         
     | 
| 
      
 115 
     | 
    
         
            +
              border-bottom: 1px solid #ddd;
         
     | 
| 
      
 116 
     | 
    
         
            +
            }
         
     | 
| 
      
 117 
     | 
    
         
            +
            .calendar_date_select td.selected {
         
     | 
| 
      
 118 
     | 
    
         
            +
              background-color:#777;
         
     | 
| 
      
 119 
     | 
    
         
            +
            }
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
            .calendar_date_select td:hover {
         
     | 
| 
      
 122 
     | 
    
         
            +
              background-color:#ccc;
         
     | 
| 
      
 123 
     | 
    
         
            +
            }
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
            .calendar_date_select td.today {
         
     | 
| 
      
 126 
     | 
    
         
            +
              border: 1px dashed #999;
         
     | 
| 
      
 127 
     | 
    
         
            +
            }
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
            .calendar_date_select td.disabled div {
         
     | 
| 
      
 130 
     | 
    
         
            +
              color: #e6e6e6;
         
     | 
| 
      
 131 
     | 
    
         
            +
            }
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
            .fieldWithErrors .calendar_date_select {
         
     | 
| 
      
 134 
     | 
    
         
            +
              border: 2px solid red;
         
     | 
| 
      
 135 
     | 
    
         
            +
            }
         
     |