﻿function SetDate(opt) {

    c = new Date();
    n = new Date();
    
    switch (opt) {
        case 0:
            np.disabled = 0
            np.value = ""
            break
        case "Last working day of month":
            c.setMonth(c.getMonth() + 1);
            c.setDate(0);
            if (c.getDay() == 6) //SATURDAY
                c.setDate(c.getDate() - 1);
            else if (c.getDay() == 0) // SUNDAY
                c.setDate(c.getDate() - 2);

            n.setMonth(n.getMonth() + 2);
            n.setDate(0);
            if (n.getDay() == 6) //SATURDAY
                n.setDate(n.getDate() - 1);
            else if (n.getDay() == 0) // SUNDAY
                n.setDate(n.getDate() - 2);
                
            DisplayDate(c);
            DisplayNxtDate(n);
            break
        case "Last Monday of month":
            c = getLastXofMonth("Monday");
            n = getNextXofMonth("Monday");
            DisplayDate(c);
            DisplayNxtDate(n);
            break
        case "Last Tuesday of month":
            c = getLastXofMonth("Tuesday");
            n = getNextXofMonth("Tuesday");
            DisplayDate(c);
            DisplayNxtDate(n);
            break
        case "Last Wednesday of month":
            c = getLastXofMonth("Wednesday");
            n = getNextXofMonth("Wednesday");
            DisplayDate(c);
            DisplayNxtDate(n);
            break
        case "Last Thursday of month":
            c = getLastXofMonth("Thursday");
            n = getNextXofMonth("Thursday");
            DisplayDate(c);
            DisplayNxtDate(n);
            break
        case "Last Friday of month":
            c = getLastXofMonth("Friday");
            n = getNextXofMonth("Friday");
            DisplayDate(c);
            DisplayNxtDate(n);
            break
    }
}

function getLastXofMonth(x) {

    c = new Date();
    c.setMonth(c.getMonth() + 1);
    c.setDate(0);
    num = 7;

    while (c.toString().substring(0, 2) != x.substring(0, 2)) {
        c.setDate(c.getDate() - 1);
        num -= 1;
        if (num == 0)
            break
    }
    
    return c
}

function getNextXofMonth(x) {

    n = new Date();
    n.setMonth(n.getMonth() + 2);
    n.setDate(0);
    num = 7;

    while (n.toString().substring(0, 2) != x.substring(0, 2)) {
        n.setDate(n.getDate() - 1);
        num -= 1;
        if (num == 0)
            break
    }
    
    return n
}

function pad(n) {
    return (n < 10) ? '0' + n : n;
}

function DisplayDate(d) {
    var ddate = pad(d.getDate()) + '/' + pad(d.getMonth() + 1) + '/' + d.getFullYear();
    var match = ddate;
    var result = match.split("/");
    
    document.getElementById("payDaydrop").value = result[0];
    document.getElementById("payMonthdrop").value = result[1];
    document.getElementById("payYeardrop").value = result[2];
}

function DisplayNxtDate(d) {
    var ddate = pad(d.getDate()) + '/' + pad(d.getMonth() + 1) + '/' + d.getFullYear();
    var match = ddate;
    var result = match.split("/");

    document.getElementById("nxtpayDaydrop").value = result[0];    
    document.getElementById("nxtpayMonthdrop").value = result[1];
    document.getElementById("nxtpayYeardrop").value = result[2];
}



