﻿
// en-CA

function toDate(str) {
    var splitted = str.split("/");

    if (splitted.length == 3) {
        var d = splitted[0];
        var m = splitted[1];
        var y = splitted[2];

        return (d.length == 1 ? '0' + d : d) + '/' + (m.length == 1 ? '0' + m : m) + '/' + y;
    }

    return str;
}

function isDate(str) {
    if (str.length >= 8) {
    
        var d = str.split("/")[0];
        var m = str.split("/")[1];
        var y = str.split("/")[2];
        
        var DateVal = m + "/" + d + "/" + y;
        var dt = new Date(DateVal);

        if (dt.getDate() != d) {
            return false;
        }
        else if (dt.getMonth() != m - 1) {
            //this is for the purpose JavaScript starts the month from 0
            return false;
        }
        else if (dt.getFullYear() != y) {
            return false;
        }

        return (/^\d{1,2}[\/]\d{1,2}[\/]\d{4}$/).test(str);
    }
    return false;
};

function jValRangeMsgFormat(range, msg) {
    // Date range are stored in the database in the format yyyyMMdd
    msg = msg.replace('{from}', range[0].replace(/(....)(..)(..)/g, '$3/$2/$1'));
    msg = msg.replace('{to}', range[1].replace(/(....)(..)(..)/g, '$3/$2/$1'));
    return msg;
}

function jValDateFormatMsg(msg) {
    msg = msg.replace('{format}', '31/12/2009');
    return msg;
}

function jValDateToComparableInt(value) {
    var d = value.split("/")[0];
    var m = value.split("/")[1];
    var y = value.split("/")[2];
    value = y + (m.length == 1 ? '0' + m : m) + (d.length == 1 ? '0' + d : d);
    return value;
}

function jValPostalCodeUSFormatMsg(msg) {
    msg = msg.replace('{format}', '12345 or 1234512345');
    return msg;
}