﻿// JScript File
function isDate(dateStr) {
    //var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;    // yyyy-MM-dd
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;    //dd-mm-yyyy 
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
        alert("Please enter date as dd/MM/yyyy.");
        return false;
    }

    year = matchArray[1]; // p@rse date into variables
    month = matchArray[3];
    day = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn`t have 31 days!")
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        
        if (day > 29 || (day==29 && !isleap)) {
            alert("February " + year + " doesn`t have " + day + " days!");
            return false;
        }
    }
    
    return true; // date is valid
}

function checkDate(strFromDate, strToDate) {
    var dt1   = parseInt(strFromDate.substring(0,2),10); 
    var mon1  = parseInt(strFromDate.substring(3,5),10);
    var yr1   = parseInt(strFromDate.substring(6,10),10); 
    var dt2   = parseInt(strToDate.substring(0,2),10); 
    var mon2  = parseInt(strToDate.substring(3,5),10); 
    var yr2   = parseInt(strToDate.substring(6,10),10); 
    var date1 = new Date(yr1, mon1, dt1); 
    var date2 = new Date(yr2, mon2, dt2); 

    if (date1 > date2) {
        return false;
    } else {
        return true;
    }
}

