﻿// TODO combine these two date functions
// taking date object, returns date in the forms /^\d\d\/\d\d\/\d\d\d\d$/
function cc_dateFormatDDMMYYYY(dateObj) {
    if(typeof(dateObj)=="string") dateObj = new Date(dateObj);
    // get date string of supplied dateObj
    var dd = dateObj.getDate().toString();
    // add extra day digit, so '1' becomes '01'
    if(dd.length < 2) dd = "0" + dd;
    // get month string of supplied dateObj
    var mm = (dateObj.getMonth() + 1).toString();
    // add extra month digit, so '1' becomes '01'
    if(mm.length < 2) mm = "0" + mm;
    // get year string of supplied dateObj
    var yyyy = (dateObj.getFullYear()).toString();
    // return formatted date
    return dd + "/" + mm + "/" + yyyy;
}
// takes date string and formats it as dd/mm/yyyy
function cc_reFormatDate(dateStr) {
    // transforms 01 Oct 2008 to 01/10/2008
    if(dateStr.match(/(\d{1,2}) (\w{3}) (\d{2,4})/)) {
        var day = dateStr.match(/(\d{1,2}) (\w{3}) (\d{2,4})/)[1];
        var mnthAbbr = dateStr.match(/(\d{1,2}) (\w{3}) (\d{2,4})/)[2];
        var mnth = cc_monthNumberByName[mnthAbbr];
        var year = dateStr.match(/(\d{1,2}) (\w{3}) (\d{2,4})/)[3];
        return day+"/"+mnth+"/"+year;
    }
    // transforms October-2008 to 31/10/2008
    else if(dateStr.match(/(\w+)-(\d{4})/)) {
        var fullMnth = dateStr.match(/(\w+)-(\d{4})/)[1];
        var mnth = cc_monthNumberByName[fullMnth];
        var year = dateStr.match(/(\w+)-(\d{4})/)[2];
        var objDate = new Date();
        objDate.setYear(year);
        objDate.setMonth(mnth);
        objDate.setDate(0);
        return objDate.getDate()+"/"+mnth+"/"+year;
    }
}
var cc_monthNumberByName = {
        "January" : 1,
        "February" : 2,
        "March" : 3,
        "April" : 4,
        "May" : 5,
        "June" : 6,
        "July" : 7,
        "August" : 8,
        "September" : 9,
        "October" : 10,
        "November" : 11,
        "December" : 12,
        "Jan" : 1,
        "Feb" : 2,
        "Mar" : 3,
        "Apr" : 4,
        "May" : 5,
        "Jun" : 6,
        "Jul" : 7,
        "Aug" : 8,
        "Sep" : 9,
        "Oct" : 10,
        "Nov" : 11,
        "Dec" : 12
    }
