Date.prototype.last_day_of_month = function() {
	var d = new Date(this.getFullYear(),this.getMonth(),1,0,0,0);
	d.setMonth(d.getMonth()+1);
	d.setTime(d.getTime() - 1);
	return d.getDate();
};
function getWeek(year,month,day){
	var weekArray = new Array('日','月','火','水','木','金','土');
	var myDate = new Date(year,month-1,day,0,0,0);
	var getweek = weekArray[myDate.getDay()];
	return getweek;
}
function oFrontLayer(oj,target,path){
	var x = oj.offsetLeft;
	var y = oj.offsetTop;
	var w = oj.offsetWidth;
	var h = oj.offsetHeight;
	var data = new Date().getTime();
	$.ajax({
		type: "POST",
		url:path, 
		data:{"i":0,"target":target,"p":path,"t":data},
		success: function(httpObj){
			$("#textLayer").html(httpObj); 
		}
	});
	if(null!=$("#popLayer") && null!=$("#textLayer")){
		if (document.all){
			if(!navigator.userAgent.match("MSIE 8")){
				y = GetTop(oj);
				x = GetLeft(oj);
			}else{
				y = GetTop(oj);
				x = GetLeft(oj);
			}
		}else if(document.getElementById){
			y = GetTop(oj);
			x = GetLeft(oj);
		}else{
		}
		x += 0;
		y += 0;
		$("#popLayer").css({"position":"absolute","left":x+"px","top":y+"px","visibility":"visible"});
	}
}
function u(month,target,path){
	var data = new Date().getTime();
	$.ajax({
		type: "POST",
		url:path, 
		data:{"i":month,"target":target,"p":path,"t":data},
		success: function(httpObj){
			$("#textLayer").html(httpObj); 
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){
			alert("Error:It failed in Ajax. Please confirm whether the file path is wrong. ");
		}
	});
}
function xHideLayer(){
	if(null!=$("#popLayer")){
		$("#popLayer").css({"visibility":"hidden"});
	}
}
function keyPressFilter(evt) {
	var keyCode;
	if (evt) {
		keyCode = evt.keyCode;
	} else {
		keyCode = event.keyCode;
	}
	// ↓[Enter]キーが押されたかどうかの判定
	if (keyCode != 10 && keyCode != 13) {
		return true;
	} else {
		return false;
	}
}
function GetLeft(oj){
	var px = 0;
	while(oj){
		px += oj.offsetLeft;
		oj = oj.offsetParent;
	}
	return px;
}
function GetTop(oj){
	var px = 0;
	while(oj){
		px += oj.offsetTop;
		oj = oj.offsetParent;
	}
	return px;
}

function printout_date(str,target_id){
	var target_array = target_id.split(":");
	var str_ymd_tmp = str.split("/");
	var str_ymd = "";
	var flg_Y = 0;
	var flg_M = 0;
	var flg_D = 0;
	var targetY_ID = '';
	var targetM_ID = '';
	var targetD_ID = '';
	if (1 < target_array.length){
		var target_ymd = target_array[1].split("/");
		for (var i = 0;i < target_ymd.length;i++){
			switch(target_ymd[i]){
				case "Y":
					str_ymd = str_ymd_tmp[0]+"";
					targetY_ID = target_array[0]+"_"+target_ymd[i];
					flg_Y = 1;
					break ;
				case "YM":
					str_ymd = str_ymd_tmp[0]+"/"+str_ymd_tmp[1]+"";
					break ;
				case "M":
					str_ymd = str_ymd_tmp[1]+"";
					targetM_ID = target_array[0]+"_"+target_ymd[i];
					flg_M = 1;
					break ;
				case "MD":
					str_ymd = str_ymd_tmp[1]+"/"+str_ymd_tmp[2]+"";
					break ;
				case "D":
					str_ymd = str_ymd_tmp[2]+"";
					targetD_ID = target_array[0]+"_"+target_ymd[i];
					flg_D = 1;
					if((flg_Y+flg_M+flg_D)==3){output_weekInymd(targetY_ID,targetM_ID,targetD_ID);}
					break ;
				default:
					str_ymd = str_ymd_tmp[0]+"/"+str_ymd_tmp[1]+"/"+str_ymd_tmp[2]+"";
					break ;
			}
			output_data(str_ymd,target_array[0]+"_"+target_ymd[i]);
		}
		if((flg_Y+flg_M+flg_D)==3){
			dateConnection(new Array(targetY_ID,targetM_ID,targetD_ID),new Array('年','月','日','時','分'),target_array[0]+"_Full")
		}
	}else{
		output_data(str,target_id);
	}
}
function output_data(str,target_id){
	var target = document.getElementById(target_id);
	if(null!=target){
		switch(target.nodeName){//ノードの名前で処理分け
			case "DIV":
			case "SPAN":
			case "TEXTAREA":target.innerHTML = str;break ;
			case "SELECT":for (var i = 0;i < target.options.length;i++){if(target.options[i].value == str)target.selectedIndex = i;}break ;
			default:target.value = str;break ;
		}
	}
	return true;
}

function output_weekInymd(targetY_ID,targetM_ID,targetD_ID){
	var targetY = document.getElementById(targetY_ID);
	var targetM = document.getElementById(targetM_ID);
	var targetD = document.getElementById(targetD_ID);
	if(targetY != null && targetM != null && targetD != null){
		var myDate = new Date(getBytagValue(targetY),getBytagValue(targetM)-1,1,0,0,0);
		if(targetD.nodeName === 'SELECT'){
			var indextmp = targetD.selectedIndex;
			targetD.selectedIndex = 0;
			targetD.options.length = myDate.last_day_of_month();
			if(targetD.options.length <= indextmp){indextmp = myDate.last_day_of_month() - 1;}
			for (var i = 0;i < targetD.options.length;i++){
				myDate.setDate(i+1);
				var value_tmp = i+1;
				if(value_tmp < 10)value_tmp = "0"+value_tmp;
				targetD.options[i].value = value_tmp;
				value_tmp += "("+getWeek(getBytagValue(targetY),getBytagValue(targetM),i+1)+")";
				targetD.options[i].text = value_tmp;
			}
			targetD.selectedIndex = indextmp;
		}else{
			myDate.setDate(getBytagValue(targetD));
			output_data(getBytagValue(targetD)+"("+weekArray[myDate.getDay()]+")",target_id);
		}
	}
	return true;
}
function getBytagValue(target){
	var str = '';
	if(typeof(target) === 'object'){
		switch(target.nodeName){//ノードの名前で処理分け
			case "DIV":
			case "SPAN":
			case "TEXTAREA":str = target.innerHTML;break ;
			case "SELECT":str = target.options[target.selectedIndex].value;break ;
			case "INPUT":
				if(target.type == 'checkbox' || target.type == 'radio')if(target.checked == false)break;
			default:
				str = target.value;
				break ;
		}
	}else{
		alert(target);
	}
	return str;
}

function dateConnection(Connection_IDs,Delimiters,outputtarget){
	var str = "";
	if(Connection_IDs instanceof Array){
		for(var i = 0;i < Connection_IDs.length;i++){
			if(str != "")str += "/";
			str += getBytagValue(document.getElementById(Connection_IDs[i]));
		}
		var str_ymd = str.split("/");
		if(2 < str_ymd.length){
			var Delimiter_year = '/';
			var Delimiter_month = '/';
			var Delimiter_dat = '';
			var Delimiter_time = '';
			var Delimiter_amount = '';
			if(Delimiters instanceof Array){
				if(0 < Delimiters.length)Delimiter_year   = Delimiters[0];
				if(1 < Delimiters.length)Delimiter_month  = Delimiters[1];
				if(2 < Delimiters.length)Delimiter_dat    = Delimiters[2];
				if(3 < Delimiters.length)Delimiter_time   = Delimiters[3];
				if(4 < Delimiters.length)Delimiter_amount = Delimiters[4];
			}
			str = str_ymd[0]+Delimiter_year+str_ymd[1]+Delimiter_month+str_ymd[2]+Delimiter_dat+"("+getWeek(str_ymd[0],str_ymd[1],str_ymd[2])+")";
			if(3 < str_ymd.length)str += str_ymd[3]+Delimiter_time;
			if(4 < str_ymd.length)str += str_ymd[4]+Delimiter_amount;
		}
		output_data(str,outputtarget);
	}else{
	}
}
function Connection(Connection_IDs,outputtarget){
	var str = "";
	if(Connection_IDs instanceof Array){
		for(var i = 0;i < Connection_IDs.length;i++){
			if(str != "")str += "　";
			str += getBytagValue(document.getElementById(Connection_IDs[i]));
		}
		output_data(str,outputtarget);
	}else{
	}
}
function SetWeek(){
	//最初に当日を設定させるための処理
	var today = new Date();
	var year = today.getYear();
	if (year < 2000) year += 1900;
	var mou = today.getMonth() + 1;
	if(mou < 10) mou = "0"+mou;
	var day = today.getDate();
	if(day < 10) day = "0"+day;
	var today_str = year+"/"+mou+"/"+day;

	//最初から連結させたい場合はこちら
//	if(document.getElementById('hope1_Full').value == ""){printout_date(today_str,"hope1:Y/M/D");}
//	if(document.getElementById('hope2_Full').value == ""){printout_date(today_str,"hope2:Y/M/D");}
//	if(document.getElementById('hope3_Full').value == ""){printout_date(today_str,"hope3:Y/M/D");}


	//連結まではさせたくない場合はこちら
/*
	if(document.getElementById('hope1_Full').value == ""){
		output_data(year,"hope1_Y");
		output_data(mou,"hope1_M");
		output_data(day,"hope1_D");
	}
	if(document.getElementById('hope2_Full').value == ""){
		output_data(year,"hope2_Y");
		output_data(mou,"hope2_M");
		output_data(day,"hope2_D");
	}
	if(document.getElementById('hope3_Full').value == ""){
		output_data(year,"hope3_Y");
		output_data(mou,"hope3_M");
		output_data(day,"hope3_D");
	}
*/	
	//最初から曜日を合わせるための処理
	output_weekInymd("hope1_Y","hope1_M","hope1_D");
	output_weekInymd("hope2_Y","hope2_M","hope2_D");
	output_weekInymd("hope3_Y","hope3_M","hope3_D");
}
function checkHope(){
	var flg = true;
	h1_H_select = document.getElementById('hope1_H').selectedIndex;
	h1_S_select = document.getElementById('hope1_S').selectedIndex;
	if(0 < h1_H_select && 0 < h1_S_select){
		dateConnection(new Array('hope1_Y','hope1_M','hope1_D','hope1_H','hope1_S'),new Array('年','月','日','時','分'),'hope1_Full');
	}else{
		alert('第1希望日の時間が指定されていません。');
		flg = false;
	}
	h2_H_select = document.getElementById('hope2_H').selectedIndex;
	h2_S_select = document.getElementById('hope2_S').selectedIndex;
	if(0 < h2_H_select && 0 < h2_S_select){
		dateConnection(new Array('hope2_Y','hope2_M','hope2_D','hope2_H','hope2_S'),new Array('年','月','日','時','分'),'hope2_Full');
	}else{
		//alert('第2希望日の時間が指定されていません。');
		//flg = false;
	}
	h3_H_select = document.getElementById('hope3_H').selectedIndex;
	h3_S_select = document.getElementById('hope3_S').selectedIndex;
	if(0 < h3_H_select && 0 < h3_S_select){
		dateConnection(new Array('hope3_Y','hope3_M','hope3_D','hope3_H','hope3_S'),new Array('年','月','日','時','分'),'hope3_Full');	
	}else{
		//alert('第3希望日の時間が指定されていません。');
		//flg = false;
	}
	return flg;
}
window.onload = SetWeek;

