//window.onload=function()で実行
var calenderTables=null;
var currentFlg=0;
var nextArrowStyle=null;
var preArrowStyle=null;
var routineStyle=null;
var spotStyle=null;
var limiter=7;//半年をデフォルトとする。
var work_type_small_category_id="work_type_small_category_id";
var doctor_job_work_start_date="doctor_job[doctor_job_work_start_date]";
var doctor_job_work_end_date="doctor_job[doctor_job_work_end_date]";
var week_id="week_id_";

function defaultCalender(altLimiter,currentNum){//display初期化
	if(altLimiter){
		limiter=altLimiter;
	}
	if(!currentNum){
		currentNum=2;
	}
	calenderTables=$$("table.calender_table");
	nextArrowStyle=$("nextSwitch").style;
	preArrowStyle=$("preSwitch").style;
	for(i=0;i<currentNum;i++){
		calenderTables[i].style.display="block";
	}
//	calenderTables[1].style.marginRight="0";
	calenderTables[1].style.display="block";
//	calenderTables[0].style.styleFloat="left";
//	calenderTables[0].style.cssFloat="left";
//	calenderTables[1].style.styleFloat="right";
//	calenderTables[1].style.cssFloat="right";
	preArrowStyle.display="none";
	nextArrowStyle.display="inline";
}

function defaultDisplayCalender(offsetFlg){//ablsoluteポップアップの表示位置
	var getLeftObj=$("scheduleButton").offsetParent;
	var getTopObj=$("scheduleButton");
	var offsetLeft=0;
	var offsetTop=$("scheduleButton").offsetHeight;
	routineStyle=$("scheduleRoutine").style;//スケジュール非常勤定期
	spotStyle=$("scheduleSpot").style;//スケジュール非常勤スポット
	defaultCalender();

	for(i=0;i<2;i++){
		offsetLeft+=getLeftObj.offsetLeft;
		getLeftObj=getLeftObj.offsetParent;
	}
	offsetTop+=getTopObj.offsetTop;
	getTopObj=getTopObj.offsetParent;
	if(offsetFlg){
		offsetTopLimit=1;
	}else{
		offsetTopLimit=2;
	}
	for(i=0;i<offsetTopLimit;i++){
		offsetTop+=getTopObj.offsetTop;
		getTopObj=getTopObj.offsetParent;
	}
	routineStyle.top=offsetTop+"px";
	spotStyle.top=offsetTop+"px";
	if(!offsetFlg){
		routineStyle.left=offsetLeft+"px";
		spotStyle.left=offsetLeft+"px";
	}
}

//onclickで実行
//function change()
function changeDisplayCalender(toSwitch){//toSwitch 1で次の月、0で前の月
	var displayString="";
	if(!calenderTables){
		return false;
	}
	if(toSwitch){//次の月ボタン
		if(currentFlg>limiter-3){
			return false;
		}
		for(i=0;i<limiter;i++){
			displayString="none";
			if(i==(currentFlg+1)||i==(currentFlg+2)){
				if(i==(currentFlg+1)){
					calenderTables[i].style.marginRight="0";
					calenderTables[i].style.styleFloat="left";
					calenderTables[i].style.cssFloat="left";
				}else{
					calenderTables[i].style.marginRight="auto";
					calenderTables[i].style.styleFloat="left";
					calenderTables[i].style.cssFloat="left";
				}
				displayString="block";
			}
			calenderTables[i].style.display=displayString;
		}
		if(currentFlg>limiter-4){
			nextArrowStyle.display="none";
		}
		currentFlg++;
		preArrowStyle.display="inline";
	}else{//前の月ボタン
		if(currentFlg<1){
			return false;
		}
		for(i=0;i<limiter;i++){
			displayString="none";
			if(i==(currentFlg)||i==(currentFlg-1)){
				if(i==(currentFlg-1)){
					calenderTables[i].style.marginRight="0";
					calenderTables[i].style.styleFloat="right";
					calenderTables[i].style.cssFloat="right";
				}else{
					calenderTables[i].style.marginRight="auto";
					calenderTables[i].style.styleFloat="right";
					calenderTables[i].style.cssFloat="right";
				}
				displayString="block";
			}
			calenderTables[i].style.display=displayString;
		}
		if(currentFlg<2){
			preArrowStyle.display="none";
		}
		currentFlg--;
		nextArrowStyle.display="inline";
	}
}

function initCalenter(){
	var displayString="";
	calenderTables=$$("table.calender_table");
	currentFlg=0;
	for(i=0;i<limiter;i++){
		displayString="none";
		calenderTables[i].style.display=displayString;
	}
}

function changeDisplayCalender4th(toSwitch){//toSwitch 1で次の月、0で前の月
	var displayString="";
	if(!calenderTables){
		return false;
	}
	if(toSwitch){//次の月ボタン
		if(currentFlg>limiter-5){
			return false;
		}
		for(i=0;i<limiter;i++){
			displayString="none";
			if(i==(currentFlg+1)||i==(currentFlg+2)||i==(currentFlg+3)||i==(currentFlg+4)){
				displayString="block";
			}
			calenderTables[i].style.display=displayString;
		}
		if(currentFlg>limiter-6){
			nextArrowStyle.display="none";
		}
		currentFlg++;
		preArrowStyle.display="inline";
	}else{//前の月ボタン
		if(currentFlg<1){
			return false;
		}
		for(i=0;i<limiter;i++){
			displayString="none";
			if(i==(currentFlg)||i==(currentFlg-1)||i==(currentFlg+1)||i==(currentFlg+2)){
				displayString="block";
			}
			calenderTables[i].style.display=displayString;
		}
		if(currentFlg<2){
			preArrowStyle.display="none";
		}
		currentFlg--;
		nextArrowStyle.display="inline";
	}
}


function scheduleRegist(){//文字列生成用。
	var divObj=$("scheduleRoutine");//ポップアップさせるdivのObject
	var weekString="";//曜日文字列初期化
	var startString="";//検索開始日
	var endString="";//検索終了日
	var boolFlg=false;//checkedの判定フラグ格納変数
	var startY=$F(doctor_job_work_start_date+"[Y]");//開始年value
	var startm=$F(doctor_job_work_start_date+"[m]");//開始月value
//	var startd=$F("doctor_job[doctor_job_work_start_date][d]");//開始日value
	var endY=$F(doctor_job_work_end_date+"[Y]");//終了年value
	var endm=$F(doctor_job_work_end_date+"[m]");//終了月value
//	var endd=$F("doctor_job[doctor_job_work_end_date][d]");//終了日value
	for(i=0;i<9;i++){
		if(i){
			boolFlg=$(week_id+i).checked;
			if(boolFlg){
				weekString+=$(week_id+i).value+",";
			}
		}
	}
	if(!startY){startY="--";}if(!startm){startm="--";}//if(!startd){startd="--";}
	if(!endY){endY="--";}if(!endm){endm="--";}//if(!endd){endd="--";}
	startDate=startY+"年"+startm+"月";//+startd+"日";
	endDate=endY+"年"+endm+"月";//+endd+"日";
	if(weekString){
		weekString=weekString.slice(0,-1);
	}
	innerString=startDate+"～"+endDate+"&nbsp;"+weekString;
	stringLength=startY+startm/*+startd*/+endY+endm/*+endd*/;
	if(stringLength=="--------"){
		if(weekString){
			innerString=weekString;
		}else{
			innerString="未選択";			
		}
	}
	$("checkedSchedule").innerHTML=innerString;
}

function calenderSpotRegist(displayObj){
	var searchInputObjs=$$("input.calender_input");
	var boolFlg=false;
	var divString="";
	var divObj=$("checkedSpot");
	for(i in searchInputObjs){
		boolFlg=searchInputObjs[i].checked;
		if(boolFlg){
			divString+=searchInputObjs[i].value+"/";
		}
	}
	if($(displayObj)){
		$(displayObj).style.display="none";
	}
	if(!divString){
		divString="未選択-";
	}
	divObj.innerHTML=divString.slice(0,-1);
}

function calenderRegist(divId){
	$(divId).style.display="none";
}

function watchRadio(){
	var temp="";
	var workTypeSmallCategory=document.getElementsByName(work_type_small_category_id);
	var divRoutineBox=$("checkedSchedule");//Routine
	var divSpotBox=$("checkedSpot");//Spot
	var openFlg=0;
	var iChecked=0;
	for(var i=0;i<workTypeSmallCategory.length;i++){
		if(workTypeSmallCategory[i].checked){
			iChecked=i;
			break;
		}
	}
	if(routineStyle != null){
		if(routineStyle.display=="block"){
			openFlg=1;
		}
	}
	if(spotStyle != null){
		if(spotStyle.display=="block"){
			openFlg=1;
		}
	}
	if(iChecked=="1"){//スポットならば
		if(openFlg){
			routineStyle.display="none";
			spotStyle.display="block";
		}
		divRoutineBox.style.display="none";
		divSpotBox.style.display="block";
	}else{//定期ならば
		if(openFlg){
			routineStyle.display="block";
			spotStyle.display="none";
		}
		if(divRoutineBox){
			divRoutineBox.style.display="block";
		}
		if(divSpotBox){
			divSpotBox.style.display="none";
		}
	}
	if(divSpotBox){//カレンダー用stringがなければ処理不要
		scheduleRegist();
	}
}

function checkAllWeek(){
	var currentId="";
	for(i=0;i<8;i++){
		currentId=(i+1);
		$(week_id+currentId).checked=true;
	}
}
