﻿var elementX = null;
var dt = new Date();
var month = dt.getMonth() + 1;
var year = dt.getYear();
year = (year < 200) ? (year + 1900) : year;
var months = new Array("JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER");
var dCount = new Array(31, 28 , 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
function MakeCalendar() {
    var dr = new Date();
    dr.setDate(1);
    dr.setFullYear(year);
    dr.setMonth(month - 1);
    var day = dr.getDay();
    var x = 0;
    var cellCount = 0;
    var dayCounter = 0;
    var dispyear = (year < 200) ? (year + 1900) : year;
    var tz = "<table class='headTbl'><tr><td style='text-align:left;'><a href='javascript:MoveMonth(-1)'>&#171;</a></td><td style='text-align:center;width:175px;'>" + months[month - 1] + "&nbsp;" + dispyear + "</td><td style='text-align:right;'><a href='javascript:MoveMonth(+1)'>&#187;</a></td></tr></table>";
    var tb = tz + "<table><tr><th>Su</th><th>Mo</th><th>Tu</th><th>We</th><th>Th</th><th>Fr</th><th>Sa</th></tr><tr>";
    //alert(day);alert(month);
    while (x != dCount[month -1]) {
        if (dayCounter < 7 && dayCounter < day) {
            tb += "<td>&nbsp;</td>";
            cellCount++;
        }
        if (dayCounter > 0 && (dayCounter % 7) === 0) {
            tb += "</tr><tr>";
            cellCount = 0;
        }
        if (dayCounter >= day) {
            tb += "<td><a href='javascript:PickDate(\"" + month + "/" + (x + 1) + "/" + year + "\");'>" + (x + 1) + "</a></td>";
            cellCount++; x++;
        }
        dayCounter++;
    }
    var extra = 7 - cellCount;
    for (x = 0; x < extra; x++) {
        tb += "<td>&nbsp;</td>";
    }
    tb += "</tr></table>";
    return tb;
}

function ShowCalendar(element) {
    //alert("hello");
    elementX = element;
    var holder = document.getElementById("dataEntry");
    var elm = document.createElement("div");
    elm.setAttribute("id","calendar");
    var owner = document.getElementById(element);
    elm.innerHTML = MakeCalendar();
    elm.style.left = owner.offsetLeft +10;
    elm.style.top = owner.offsetTop +10;
    holder.insertBefore(elm,owner);
}

function MoveMonth(direction)
{
    month += direction;
    if(month > 12)
    {
        month = 1;
        year++;
    }
    if(month < 1)
    {
        month=12;
        year--;
    }
    dCount[1] = ((year % 4) === 0) ? 29 : 28; //leap year
    $("#calendar").remove();
    ShowCalendar(elementX);
}

function PickDate(dateString)
{
    $("#"+elementX).val(dateString);
    $("#calendar").fadeOut(2000);
    $("#calendar").remove();
}
