// American Format: 12/31/2000 5:00 pm
// Thanks, Wes Hays
Date.prototype.toFormattedString = function(include_time){
    str = Date.padded2(this.getMonth() + 1) + '/' +Date.padded2(this.getDate()) + '/' + this.getFullYear();
    if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
    return str;
}
 
Date.parseFormattedString = function (string) {
    // Test these with and without the time
    // 11/11/1111 12pm
    // 11/11/1111 1pm
    // 1/11/1111 10:10pm
    // 11/1/1111 01pm
    // 1/1/1111 01:11pm
    // 1/1/1111 1:11pm
    var regexp = "(([0-1]?[0-9])\/[0-3]?[0-9]\/[0-9]{4}) *([0-9]{1,2}(:[0-9]{2})? *(am|pm))?";
    var d = string.match(new RegExp(regexp, "i"));
    if (d==null) {
        return Date.parse(string); // Give javascript a chance to parse it.
    }
    
    mdy = d[1].split('/');
    hrs = 0;
    mts = 0;
    if(d[3] != null) {
    hrs = parseInt(d[3].split('')[0], 10);
    if(d[5].toLowerCase() == 'pm') { hrs += 12; } // Add 12 more to hrs
        mts = d[4].split(':')[1];
    }
    return new Date(mdy[2], parseInt(mdy[0], 10)-1, mdy[1], hrs, mts, 0);
}