﻿

jQuery.fn.addOptions = function(text, value) {
    jQuery(this).get(0).options.add(new Option(text, value));
}

var index;

function InitDate(ele) {
    index = ele;
    InitYear();
    InitMonth();
    InitDay();
}

function InitYear() {
    var nowYear = new Date().getFullYear();

    var year = $("#Year" + index);
    if (year.length > 0) {
        year.addOptions("请选择", "0");
        for (var i = 0; i <= 60; i++) {
            year.addOptions(nowYear - i, nowYear - i);
        }
    }
}

function InitMonth() {
    var month = $("#Month" + index);
    if (month.length > 0) {
        month.addOptions("请选择", "0");
        for (var i = 1; i <= 12; i++) {
            i = i.length == 1 ? "0" + i : i;
            month.addOptions(i, i);
        }
    }
}

function InitDay() {
    var day = $("#Day" + index);
    if (day.length > 0) {
        day.addOptions("请选择", "0");
        for (var i = 1; i <= 31; i++) {
            day.addOptions(i, i);
        }
    }
}


function YearMonthOnChange() {

    var year = $("#Year" + index).val();
    if (year == "0")
        return;
    else
        year = parseInt(year, 10);

    var month = $("#Month" + index).val();
    if (month == "0")
        return;
    else
        month = parseInt(month, 10);
    //alert(year);
    var day = $("#Day" + index).value;
    var wholeday = GetDays(year, month);
    var options = $("#Day" + index).attr('options');
    for (var i = 1; i <= wholeday; i++) {
        var j = i.toString();
        j = j.length == 1 ? "0" + j : j;
        options.length = i + 1;
        options[i].value = j;
        options[i].text = j;
        if (day <= wholeday && i == day) {
            options[i].sindexcted = true;
        }
    }
    options[0].text = "请选择";
    options[0].value = "0";
}

function GetDays(year, month) {
    var dayarr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if (month == 2) {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 || year < 1900)
            return 29;
        else
            return dayarr[month - 1];
    }
    else {
        return dayarr[month - 1];
    }
}
    
