
/* elebemt表示非表示
 @param show_element 表示element
 @param hide_element 非表示element
================================================== */
function selectEventDateType(show_element, hide_element){
	$(show_element).show();
	$(hide_element).hide();	
}

/* yahooカレンダー　クローズボタン無し
 @param write_element 日付入力element
 @param cal_element カレンダー表示element
 @param value 選択日
 @param value 選択年　選択日があるときのみ使用
 @param mselect 複数選択　デフォルト：しない
 @param closeun クローズボタン　デフォルト：なし
================================================== */
var calObj;
var w_ele;
function displayCalendar(write_element, cal_element, selected, pagedate, mselect, closeun) {	
	w_ele = write_element;
	if(closeun == undefined)closeun = false;
	if(mselect == undefined)mselect = false;

	var dateRange;
	if(selected){
		var dateRange = {
			MULTI_SELECT:mselect,
			close:closeun,
			pagedate:pagedate,
			selected:selected
		};
	}else{
		var dateRange = {
			MULTI_SELECT:mselect,
			close:closeun
		};
	}

	calObj = new YAHOO.widget.Calendar("calObj",cal_element, dateRange);
	
	calObj.cfg.setProperty("MONTHS_SHORT", ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]); 
	calObj.cfg.setProperty("MONTHS_LONG", ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]); 
	calObj.cfg.setProperty("WEEKDAYS_1CHAR", ["日", "月", "火", "水", "木", "金", "土"]); 
	calObj.cfg.setProperty("WEEKDAYS_SHORT", ["日", "月", "火", "水", "木", "金", "土"]); 
	calObj.cfg.setProperty("WEEKDAYS_MEDIUM",["日", "月", "火", "水", "木", "金", "土"]); 
	calObj.cfg.setProperty("WEEKDAYS_LONG", ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]); 
	calObj.cfg.setProperty("MY_YEAR_POSITION", 1);
	calObj.cfg.setProperty("MY_MONTH_POSITION", 2);
	calObj.cfg.setProperty("MDY_YEAR_POSITION", 1);
	calObj.cfg.setProperty("MDY_MONTH_POSITION", 2);
	calObj.cfg.setProperty("MDY_DAY_POSITION", 3);
	calObj.cfg.setProperty("MY_LABEL_YEAR_POSITION",  1);   
	calObj.cfg.setProperty("MY_LABEL_MONTH_POSITION",  2);   
	calObj.cfg.setProperty("MY_LABEL_YEAR_SUFFIX",  "年");   
	calObj.cfg.setProperty("MY_LABEL_MONTH_SUFFIX",  "");
	
	calObj.selectEvent.subscribe(displayCalendar_selectDate, calObj, true);
	calObj.deselectEvent.subscribe(displayCalendar_selectDate, calObj, true);
	calObj.render();
}

function displayCalendar_selectDate(){
	var selList = calObj.getSelectedDates();
	var dateList = "";
	for (var i=0; i<selList.length; i++) {
		var d = selList[i];
		if(i+1 == selList.length){
			dateList += d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
		}else{
			dateList += d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate()+"\n";
		}
	}
	YAHOO.util.Dom.get(w_ele).value = dateList;
}

function displayCalendar_isValidDate(y,m,d){
	var di = new Date(y,m-1,d);
	if(di.getFullYear() == y && di.getMonth() == m-1 && di.getDate() == d){
		return true;
	}
	return false;
}

function displayCalendar_updateCalendar(newVal){
	var newValList = newVal.split("\n");
	var isEmpty = true;
	var newCalSelected = '';
	var newCalSelectedDateList = new Array();
	var cnt = 0;
	if( newValList && newValList.length>0){
		for(var i=0;i<newValList.length;i++){
			if(newValList[i]!=''){
				var tempDateVal = newValList[i].split("/");
				if( tempDateVal.length>2 && displayCalendar_isValidDate(tempDateVal[0],tempDateVal[1],tempDateVal[2])){
					if(cnt==0){
						newCalSelected = tempDateVal[1] + '/' + tempDateVal[2] + '/' + tempDateVal[0];
						newCalSelectedDateList.push(new Date(tempDateVal[0],tempDateVal[1]-1,tempDateVal[2]));
					}else{
						newCalSelected += ', ' + tempDateVal[1] + '/' + tempDateVal[2] + '/' + tempDateVal[0];
						newCalSelectedDateList.push(new Date(tempDateVal[0],tempDateVal[1]-1,tempDateVal[2]));
					}
					cnt++;
					isEmpty = false;
				}
			}
		}
	}
	calObj.deselectAll();
	if(!isEmpty){
		temp_list = calObj.select(newCalSelectedDateList);
	}
	calObj.render();	
}
