code: function() {
          var _date = {
              year: 			0,
              month: 			1, // stupid JS dates
              day: 			1,
              hour: 			0,
              minute: 		0,
              second: 		0,
              millisecond: 	0
  		};
  
  		// Merge data
  		TL.Util.mergeData(_date, this.data);
  
   		// Make strings into numbers
  		var DATE_PARTS = TL.Date.DATE_PARTS;
  
   		for (var ix in DATE_PARTS) {
   		    var x = TL.Util.trim(_date[DATE_PARTS[ix]]);
   		    if (!x.match(/^-?\d*$/)) {
   		        throw new TL.Error("invalid_date_err", DATE_PARTS[ix] + " = '" + _date[DATE_PARTS[ix]] + "'");
   		    }
   		    
  			var parsed = parseInt(_date[DATE_PARTS[ix]]);
  			if (isNaN(parsed)) {
                  parsed = (ix == 4 || ix == 5) ? 1 : 0; // month and day have diff baselines
              }
  			_date[DATE_PARTS[ix]] = parsed;
  		}
  
  		if (_date.month > 0 && _date.month <= 12) { // adjust for JS's weirdness
  			_date.month = _date.month - 1;
  		}
  
  		return _date;
      }
docs: /*	Private Methods
  ==================================================