﻿//判断是否润年
function leap_year(year_num) {
    if (year_num < 1000) {
        return false;
    }
    if ((year_num % 100 == 0) || (year_num % 4 == 0 && year_num % 100 != 0)) {
        return true;
    }
    else {
        return false;
    }
}
//改变年时
function change_year(form_name, check_year, check_month, check_day) {
    var year_obj = eval(form_name + "." + check_year);
    var month_obj = eval(form_name + "." + check_month);
    var day_obj = eval(form_name + "." + check_day);
    var year_num = year_obj.value;
    month_obj.selectedIndex = 0;
    day_obj.options.length = 0;
    for (var j = 0; j < 1; j++) {
        day_obj.add(document.createElement("OPTION"));
        day_obj.options[j].text = '--';
        day_obj.options[j].value = 0;
    }
}
//改变月时
function change_month(form_name, check_year, check_month, check_day) {
    var year_obj = eval(form_name + "." + check_year);
    var month_obj = eval(form_name + "." + check_month);
    var day_obj = eval(form_name + "." + check_day);
    var year_num = parseInt(year_obj.value);
    var month_num = parseInt(month_obj.value);
    var day_num = 0;
    if (year_num == 0) {
        month_obj.selectedIndex = 0;
        day_obj.options.length = 0;
        for (var j = 0; j < 1; j++) {
            day_obj.add(document.createElement("OPTION"));
            day_obj.options[j].text = '--';
            day_obj.options[j].value = 0;
        }
        return false;
    }
    else {
        if (month_num >= 1 && month_num <= 12) {
            switch (month_num) {
                case 1:
                    day_num = 31;
                    break;
                case 2:
                    if (leap_year(year_num)) {
                        day_num = 29;
                    }
                    else {
                        day_num = 28;
                    }
                    break;
                case 3:
                    day_num = 31;
                    break;
                case 4:
                    day_num = 30;
                    break;
                case 5:
                    day_num = 31;
                    break;
                case 6:
                    day_num = 30;
                    break;
                case 7:
                    day_num = 31;
                    break;
                case 8:
                    day_num = 31;
                    break;
                case 9:
                    day_num = 30;
                    break;
                case 10:
                    day_num = 31;
                    break;
                case 11:
                    day_num = 30;
                    break;
                case 12:
                    day_num = 31;
                    break;
            }
        }
        day_obj.options.length = 0;
        for (var j = 0; j < day_num; j++) {
            day_obj.add(document.createElement("OPTION"));
            day_obj.options[j].text = j + 1;
            day_obj.options[j].value = j + 1;
        }
    }
}
function set_select_date(form_name, check_year, check_month, check_day, year_value, month_value, day_value) {
    var year_obj = document.getElementById(check_year);
    var month_obj = document.getElementById(check_month);
    var day_obj = document.getElementById(check_day);
    var year_len = 0;
    var i;
    var sel_value;
    year_len = year_obj.options.length;
    for (i = 0; i < year_len; i++) {
        sel_value = year_obj.options[i].value;
        if (sel_value == year_value) {
            year_obj.selectedIndex = i;
            break;
        }
    }
    change_year(form_name, check_year, check_month, check_day);
    year_len = month_obj.options.length;
    for (i = 0; i < year_len; i++) {
        sel_value = month_obj.options[i].value;
        if (sel_value == month_value) {
            month_obj.selectedIndex = i;
            break;
        }
    }
    change_month(form_name, check_year, check_month, check_day);
    year_len = day_obj.options.length;
    for (i = 0; i < year_len; i++) {
        sel_value = day_obj.options[i].value;
        if (sel_value == day_value) {
            day_obj.selectedIndex = i;
            break;
        }
    }
}

function initDate(container, form_name, year_name, month_name, day_name, year_from_num, year_end_num) {
    var content = "";
    content +=  "<select id=\"" + year_name + "\" name=\"" + year_name + "\" onchange=\"javascript:change_year('" + form_name + "','" + year_name + "','" + month_name + "','" + day_name + "')\">";
	content +=  "<option value=\"0\">----</option>";
	for(var i = year_from_num;i <= year_end_num;i++)
	{
	    content +=  "<option value=\"" + i + "\">" + i + "</option>";
	}
	content += "</select>";
	content +=  "<select id=\"" + month_name + "\" name=\"" + month_name + "\"  onchange=\"javascript:change_month('" + form_name + "','" + year_name + "','" + month_name + "','" + day_name + "')\">";
	content +=  "<option value=\"0\">--</option>";
	for(var i =1;i <= 12;i++)
	{
	    content +=  "<option value=\"" + i + "\">" + i + "</option>";
	}
	content += "</select>";
	content +=  "<select id =\"" + day_name + "\" name=\"" + day_name + "\">";
	content +=  "<option value=\"0\">--</option>";
	content +=  "</select>";
	//alert(content);
	document.getElementById(container).innerHTML = content;
}
