/* ----------------------------------------------------------
	JS Information

	File name    : input_ui.js
	Style Info   : input.htmlのビヘイビア機能用のスクリプト
	Last update  : 2008-05-02 by Hirosuke Asano
	Author       : Hirosuke Asano (admin)
	Copyright    : (C) 2008 Hottolink.Inc
----------------------------------------------------------- */
var yearRange = '2006:'+ (new Date()).getFullYear();


if($.datepicker != undefined){
	//日本語カレンダーの初期化と幾つかの初期化
	$.datepicker.regional['ja'] = {
	 showOn: 'both',
	 buttonImageOnly: true, 
	 buttonImage: 'images/icn13.gif',
	 buttonText: 'Calendar',
	 clearText: '削除',
	 clearStatus: '',
	 closeText: '閉じる',
	 closeStatus: '',
	 prevText: '<前月',
	 prevStatus: '',
	 nextText: '次月>',
	 nextStatus: '',
	 currentText: '今日',
	 currentStatus: '',
	 monthNames: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
	 monthNamesShort: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
	 monthStatus: '',
	 yearStatus: '',
	 weekHeader: 'Wk',
	 weekStatus: '',
	 dayNames: ['日','月','火','水','木','金','土'],
	 dayNamesShort: ['日','月','火','水','木','金','土'],
	 dayNamesMin: ['日','月','火','水','木','金','土'],
	 dayStatus: 'DD',
	 dateStatus: 'D, M d',
	 dateFormat: 'yy-mm-dd',
	 firstDay: 0,
	 initStatus: '',
	 speed:"fast",
	 closeAtTop:false,
	 isRTL: false,
	 yearRange:yearRange,
	 minDate:new Date(2006,11-1,1),
	 maxDate:new Date()
	 };

	$.datepicker.setDefaults($.datepicker.regional['ja']);

	//開始と終了のある日付入力フォームにカレンダーを追加します。
	//rangeclass:開始と終了のinput要素に同じIDを指定してください。
	//from_id:開始日のinput要素のidを指定してください。
	//to_id:終了日のinput要素のidを指定してください。
	//interval_name:日付間隔のセレクトボックスのname属性を入力してください。
	function setCalender(params){
		var dclass = params["rangeclass"];
		var from_id = params["from_id"];
		var to_id = params["to_id"];
		var dateinterval = params["interval_id"];
		$('.'+dclass).datepicker({
		beforeShow:function customRange(input) { 
		    	return {minDate: (input.id == to_id ? $('#'+from_id).datepicker('getDate') : null),
	        	maxDate: (input.id == from_id ? $('#'+to_id).datepicker('getDate') : null)}; 
	        },
	    onSelect:function setInterval(dateText) {
		    	var from = $('#'+from_id);
		    	var to = $('#'+to_id);
			    var minDate =  from.attr('value');
			    var maxDate =  to.attr('value');
			    if(null == minDate || null == maxDate){
			    	return;
			    }
			   var interval = document.getElementById(dateinterval);
			   if(interval != null || interval != undefined){
				   if(interval && interval.options[0] != undefined){
				   		var dd = compareDate(minDate,maxDate);
					    if(dd < 32){interval.options[0].selected=true;}
					    else if(dd < 31*3){interval.options[1].selected=true;}
					    else {interval.options[2].selected=true;};
				   }
			   }
	    	}
		});	
	};
}


//日付の差分を日で求める。
function compareDate(minDate, maxDate) {
	var minsplit = minDate.split('-');
	var maxsplit = maxDate.split('-');
	var min = new Date(minsplit[0],minsplit[1],minsplit[2]);
	var max = new Date(maxsplit[0],maxsplit[1],maxsplit[2]);
    var diff = max - min;
    var diffDay = diff / 86400000;//1日は86400000ミリ秒
    return diffDay;
}
