
	var dateselect_month_max = null;
	var monthNameArray = new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
	var dateselect_weeksName = new Array("日","月","火","水","木","金","土");
    var formArray = new Array();
	var dateselect_today = null;
	var dateselect_year = null;
	var dateselect_month = null;
	var dateselect_day = null;
	var retrieval_today = null;
	var retrieval_year = null;
	var retrieval_month = null;
	var retrieval_day = null;

	function createDate(yyyymmdd,month_max){
		dateselect_today = new Date(yyyymmdd.substr(0,4), yyyymmdd.substr(4,2) - 1, yyyymmdd.substr(6,2));
		dateselect_year = dateselect_today.getYear();
		dateselect_month = dateselect_today.getMonth();
		dateselect_day = dateselect_today.getDate();
		if (dateselect_year < 1900) dateselect_year += 1900;
		dateselect_month_max = month_max;
	}
	
	function createDate2(yyyymmdd,yyyymmdd_retrieval,month_max){
		createDate(yyyymmdd,month_max);
		retrieval_today = new Date(yyyymmdd_retrieval.substr(0,4), yyyymmdd_retrieval.substr(4,2) - 1, yyyymmdd_retrieval.substr(6,2));
		retrieval_year = retrieval_today.getYear();
		retrieval_month = retrieval_today.getMonth();
		retrieval_day = retrieval_today.getDate();
		if (retrieval_year < 1900) retrieval_year += 1900;
	}

	function addFormArray(setName,formName, monthId, dayId){
		var str = new String;
		str.form = formName;
		str.month = monthId;
		str.day = dayId;
		formArray[setName] = str;
	}

	function dateselect_getWeek(year,month,day){
		year = parseInt(year);
		month = parseInt(month);
		day = parseInt(day);
		if(month == 1 || month == 2) {
			year--;
			month += 12;
		}
		week = Math.floor(year + Math.floor(year/4) - Math.floor(year/100) + Math.floor(year/400) + Math.floor((13 * month + 8) / 5) + day) % 7;
		return week;
	}

	function dateselect_bissextile(year,month){
		var dateselect_calendars = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
		var cal_flag = 0;
		if(year % 100 == 0 || year % 4 != 0){
			if(year % 400 != 0){
				cal_flag = 0;
			}
			else{
				cal_flag = 1;
			}
		}
		else if(year % 4 == 0){
			cal_flag = 1;
		}
		else{
			cal_flag = 0;
		}
		dateselect_calendars[2] += cal_flag;
		return dateselect_calendars[month];
	}

	function changeOption(setName) {
		var selectForm = formArray[setName];
		var form = selectForm.form;
		var dateselect_monthElementsId = selectForm.month;
		var dateselect_dayElementsId = selectForm.day;
		
		monthObj = document.forms[form].elements[dateselect_monthElementsId];
		dayObj = document.forms[form].elements[dateselect_dayElementsId];
		var selectedYear = null;

		selectedYear = (dateselect_month + 1 > parseInt(monthObj.value, 10))? dateselect_year + 1: dateselect_year;
		//day
		dateselect_week = dateselect_getWeek(selectedYear,monthObj.value,1);
		dayObj.length = dateselect_bissextile(selectedYear,monthObj.value);
		for(i=1;i<dayObj.length + 1;i++){
			var print_day = i;
			if(print_day < 10){
				print_day = "0" + i;
			}
			var daySelectedFlg = (i == dayObj.value)? true: false;

			document.getElementById(dateselect_dayElementsId).options[i-1] = new Option(print_day+'日('+dateselect_weeksName[dateselect_week]+')', print_day, daySelectedFlg, daySelectedFlg);
			if(dateselect_week == 0){
				document.getElementById(dateselect_dayElementsId).options[i-1].style.color = "#CC0000";
				document.getElementById(dateselect_dayElementsId).options[i-1].style.backgroundColor = "#FFEEEE";
			}
			else if(dateselect_week == 6){
				document.getElementById(dateselect_dayElementsId).options[i-1].style.color = "#0000CC";
				document.getElementById(dateselect_dayElementsId).options[i-1].style.backgroundColor = "#EEEEFF";
			}
			dateselect_week++;

			if(dateselect_week > 6){
				dateselect_week = 0;
			}
		}
	}

	function Init(){
		/* 初期化 */
		
		for( var j in formArray){
			form = formArray[j].form;
			dateselect_monthElementsId = formArray[j].month;
			dateselect_dayElementsId = formArray[j].day;
			
			for(var i=0; i<document.forms[form].elements[dateselect_monthElementsId].length; i++){
				document.getElementById(dateselect_monthElementsId).options[i] = null;
			}
			for(var i=0; i<document.forms[form].elements[dateselect_monthElementsId].length; i++){
				document.getElementById(dateselect_dayElementsId).options[i] = null;
			}
		}	
	}

	function makePullDn(){	
		Init();

	    var year = null;
	    var month = null;
  	    var date = null;

		if (retrieval_today != null
				&& retrieval_year != null
				&& retrieval_month != null
				&& retrieval_day != null) {
			year = retrieval_year;
			month = retrieval_month;
			day = retrieval_day;

		} else {
			year = dateselect_year;
			month = dateselect_month;
			day = dateselect_day;
		}

		for( var j in formArray){
			dateselect_monthElementsId = formArray[j].month;
			dateselect_dayElementsId = formArray[j].day;
			
			for(i=0;i<dateselect_month_max;i++){
				var print_month = (i + dateselect_month > 11)? i + dateselect_month - 12: i + dateselect_month;
				var monthSelectedFlg = (print_month  == month)? true: false;
				document.getElementById(dateselect_monthElementsId).options[i] = new Option(monthNameArray[print_month], print_month + 1, monthSelectedFlg, monthSelectedFlg);
			}
			
			var dateselect_week = dateselect_getWeek(year,month+1,1);
			for(i=1;i<dateselect_bissextile(year,month+1)+1;i++){
				var daySelectedFlg = (i == day)? true: false;

				var print_day = i;
				if(print_day < 10){
					print_day = "0" + i;
				}
				document.getElementById(dateselect_dayElementsId).options[i-1] = new Option(print_day+'日('+dateselect_weeksName[dateselect_week]+')', print_day, daySelectedFlg, daySelectedFlg);
				if(dateselect_week == 0){
					document.getElementById(dateselect_dayElementsId).options[i-1].style.color = "#CC0000";
					document.getElementById(dateselect_dayElementsId).options[i-1].style.backgroundColor = "#FFEEEE";
				}
				else if(dateselect_week == 6){
					document.getElementById(dateselect_dayElementsId).options[i-1].style.color = "#0000CC";
					document.getElementById(dateselect_dayElementsId).options[i-1].style.backgroundColor = "#EEEEFF";
				}
				dateselect_week++;
				if(dateselect_week > 6){
					dateselect_week = 0;
				}
			}
		}
	}

//	window.onload = function(){
//		makePullDn();
//	}
	if(window.addEventListener) {
		window.addEventListener("load", function(){makePullDn()}, false);
	}　else if(window.attachEvent) {
		window.attachEvent("onload", function(){makePullDn()});
	}

	// カレンダープルダウンリスト設定
	function setPullDn(yyyymmdd, target){

    	var selectForm = formArray[target];
	    var form = selectForm.form;
    	var dateselect_monthElementsId = selectForm.month;
	    var dateselect_dayElementsId = selectForm.day;

    	// 月の判定
	    var checkMonth = Number(yyyymmdd.substring(4, 6));
    	var monthIdx = 0;

	    for(i = 0; i < dateselect_month_max; i++){
    	    if(document.getElementById(dateselect_monthElementsId)[i].value == checkMonth){
        	    monthIdx = i;
            	break;
	        }
    	}

	    // 月の設定
    	document.getElementById(dateselect_monthElementsId).selectedIndex = monthIdx;

	    // 月の変更処理(日プルダウン対応)
    	changeOption(target);

	    // 日の設定(インデックス扱いのため日付-1で設定)
    	document.getElementById(dateselect_dayElementsId).selectedIndex = yyyymmdd.substring(6, 8) - 1;
	}
	