<!--
// make object

function Form_DateObject( y, m, d, f, document, flag, cnt ) {
	this.yearName   = y;
	this.monthName  = m;
	this.dayName	= d;
	this.formName   = f;
	this.document   = document;
	this.setflag	= flag;	 //0:set only 1:set nowdate 2:set next month 3:set after 30days
	this.setyearcnt = cnt;

	//Method
	this.initialDATE = initialDATE;
}

function Form_DateObjectYM_D( ym, d, f, document, flag) {
	this.YMName     = ym;
	this.dayName	= d;
	this.formName   = f;
	this.document   = document;
	this.setflag	= flag;	 //0:set only 1:set nowdate 2:set next month 3:set after 30days

	//Method
	this.initialDATE = initialDATEYM_D;
}

function Form_BirthYearObject( y, f, document) {
	this.birthYName = y;
	this.formName   = f;
	this.document   = document;

	//Method
	this.initialBIRTHYEAR = initialBIRTHYEAR;
}

// object method
/* YYYY/MM/DD - setting function */
function initialDATE() {
	var	 i;
	var	 f = this.document.forms[this.formName];
	var	 wy_now = parseInt(now_year,10);
	var	 wm_now = parseInt(now_month,10);
	var	 wd_now = parseInt(now_day,10);
	var	 wy_next;
	var	 wm_next;
	var	 wdate_now;
	var	 wdate_nextmonth;
	var	 wset_next_time;

	if(this.setflag == 2){
		if ((wm_now+1) > 12) {
			wy_next = wy_now+1;
			wm_next = 1;
		} else {
			wy_next = wy_now;
			wm_next = wm_now+1;
		}
	}
	if(this.setflag == 3){
		wdate_now = new Date(wy_now, wm_now-1, wd_now);
		wdate_nextmonth = new Date();
		wset_next_time = 30 * 1000 * 60 * 60 * 24;
		//
		wdate_nextmonth.setTime(wdate_now.getTime()+wset_next_time);
		wy_next = wdate_nextmonth.getFullYear();
		wm_next = wdate_nextmonth.getMonth() + 1;
		wd_next = wdate_nextmonth.getDate();
	}


	for(i=1;i<this.setyearcnt+1;i++){
		switch(this.setflag){
		case 1: //set nowdate
			f[this.yearName].options[i-1] = new Option( now_year+(i-1), now_year+(i-1) );
			if(i == 0){
				f[this.yearName].options[i-1].selected = true;
			}
			break;
		case 2: //set nextmonth
			f[this.yearName].options[i] = new Option( now_year+(i-1), now_year+(i-1) );
			if((now_year+(i-1)) == wy_next){
				f[this.yearName].options[i].selected = true;
			}
			break;
		case 3: //set after 30 days
			f[this.yearName].options[i] = new Option( now_year+(i-1), now_year+(i-1) );
			if((now_year+(i-1)) == wy_next){
				f[this.yearName].options[i].selected = true;
			}
			break;
		default:
			f[this.yearName].options[i] = new Option( now_year+(i-1), now_year+(i-1) );
		}
	}

	for(i=1;i<13;i++){
		switch(this.setflag){
		case 1: //set nowdate
			f[this.monthName].options[i-1] = new Option( i, i );
			if(now_month == i){
				f[this.monthName].options[i-1].selected = true;
			}
			break;
		case 2: //set nextmonth
			f[this.monthName].options[i] = new Option( i, i );
			if(wm_next == i){
				f[this.monthName].options[i].selected = true;
			}
			break;
		case 3: //set after 30 days
			f[this.monthName].options[i] = new Option( i, i );
			if(wm_next == i){
				f[this.monthName].options[i].selected = true;
			}
			break;
		default:
			f[this.monthName].options[i] = new Option( i, i );
		}
	}

	for(i=1;i<32;i++){
		switch(this.setflag){
		case 1: //set nowdate
			f[this.dayName].options[i-1] = new Option( i, i );
			if(now_day == i){
				f[this.dayName].options[i-1].selected = true;
			}
			break;
		case 3: //set after 30 days
			f[this.dayName].options[i] = new Option( i, i );
			if(wd_next == i){
				f[this.dayName].options[i].selected = true;
			}
			break;
		default:
			f[this.dayName].options[i] = new Option( i, i );
		}
	}
}

/* YYYYMM/DD - setting function */
function initialDATEYM_D() {
	var	i;
	var	f = this.document.forms[this.formName];
	var	wy_now = parseInt(now_year,10);
	var	wm_now = parseInt(now_month,10);
	var	wd_now = parseInt(now_day,10);
	var	wy_next;
	var	wm_next;
	var	wdate_now;
	var	wdate_nextmonth;
	var	wset_next_time;
	var	set_year;

	if(this.setflag == 2){
		if ((wm_now+1) > 12) {
			wy_next = wy_now+1;
			wm_next = 1;
		} else {
			wy_next = wy_now;
			wm_next = wm_now+1;
		}
	}
	if(this.setflag == 3){
		wdate_now = new Date(wy_now, wm_now-1, wd_now);
		wdate_nextmonth = new Date();
		wset_next_time = 30 * 1000 * 60 * 60 * 24;
		//
		wdate_nextmonth.setTime(wdate_now.getTime()+wset_next_time);
		wy_next = wdate_nextmonth.getFullYear();
		wm_next = wdate_nextmonth.getMonth() + 1;
		wd_next = wdate_nextmonth.getDate();
	}
	//
	wi_mon = wm_now;
	set_year = now_year;
	for(i=1;i<13;i++){
		//
		if(wi_mon > 12) {
			set_year++;
			wi_mon = 1;
		}
		//
		if(wi_mon<10){
			wi_mon = '0'+wi_mon;
		} else {
			wi_mon = wi_mon;
		}
		//
		switch(this.setflag){
		case 1: //set nowdate
			f[this.YMName].options[i-1] = new Option( set_year + '年' +wi_mon, String(set_year) + String(wi_mon) );
			if(now_month == parseInt(wi_mon,10)){
				f[this.YMName].options[i-1].selected = true;
			}
			break;
		case 2: //set nextmonth
			f[this.YMName].options[i-1] = new Option( set_year + '年' +wi_mon, String(set_year)  + String(wi_mon) );
			if(wm_next == parseInt(wi_mon,10)){
				f[this.YMName].options[i-1].selected = true;
			}
			break;
		case 3: //set after 30 days
			f[this.YMName].options[i-1] = new Option( set_year + '年' +wi_mon, String(set_year)  + String(wi_mon) );
			if(wm_next == parseInt(wi_mon,10)){
				f[this.YMName].options[i-1].selected = true;
			}
			break;
		default:
			f[this.YMName].options[i-1] = new Option( set_year + '年' +wi_mon1111, String(set_year)  + String(wi_mon) );
		}
		wi_mon++;
	}

	for(i=1;i<32;i++){
		if(i < 10){
			wi_day = '0'+i;
		} else {
			wi_day = i;
		}
		switch(this.setflag){
		case 1: //set nowdate
			f[this.dayName].options[i-1] = new Option( wi_day, i );
			if(now_day == i){
				f[this.dayName].options[i-1].selected = true;
			}
			break;
		case 3: //set after 30 days
			f[this.dayName].options[i] = new Option( wi_day, i );
			if(wd_next == i){
				f[this.dayName].options[i].selected = true;
			}
			break;
		default:
			f[this.dayName].options[i] = new Option( wi_day, i );
		}
	}
}


function initialBIRTHYEAR() {
	var	 i;
	var   cnt;
	var	 f = this.document.forms[this.formName];

	ystart = (now_year - 80);
	yset   = (now_year - 28);
	yend   = (now_year - 16);

	cnt=0;
	for(i=ystart;i<=yend;i++){
		if(i == yset){
			f[this.birthYName].options[cnt] = new Option( "----", "");
			f[this.birthYName].options[cnt].selected = true;
			cnt++;
		}
		f[this.birthYName].options[cnt] = new Option( i, i);
		cnt++;
	}
}

// check func
 /*****************************************************************************
 * Get_length
 *-----------------------------------------------------------------------------
 * @param	   string   strSrc in
 * @return	  numeric
 ******************************************************************************/
function Get_length( strSrc ){
	return strSrc.length;
}

 /*****************************************************************************
 * Is_date
 *-----------------------------------------------------------------------------
 * @param	   numeric  y  in
 * @param	   numeric  m  in
 * @param	   numeric  d  in
 * @return	  bool
 ******************************************************************************/
function Is_date(y, m, d){
	var	 wy,wm,wd;
	var	 max_days = new Array( 31,28,31,30,31,30,31,31,30,31,30,31 );
	var	 y_min = 1;
	var	 y_max = 9999;
	var	 m_min = 1;
	var	 m_max = 12;
	var	 d_min = 1;
	var	 d_max = 31;

	wy = parseInt(y,10);
	wm = parseInt(m,10);
	wd = parseInt(d,10);
	if( y_max < wy || wy < y_min)return false;
	if( m_max < wm || wm < m_min)return false;
	if( d_max < wd || wd < d_min)return false;
	if(wm == 2 && ( wy % 4 == 0 && ( wy % 100 || wy % 400 == 0 )))max_days[1] = 29;
	if(wd > max_days[wm - 1] )return false;

	return true;
}

 /*****************************************************************************
 * Is_date2
 *-----------------------------------------------------------------------------
 * @param	numeric  ym in
 * @param	numeric  d  in
 * @return	bool
 ******************************************************************************/
function Is_date2(ym, d){
	var	 wy,wm,wd;
	var	 max_days = new Array( 31,28,31,30,31,30,31,31,30,31,30,31 );
	var	 y_min = 1;
	var	 y_max = 9999;
	var	 m_min = 1;
	var	 m_max = 12;
	var	 d_min = 1;
	var	 d_max = 31;

	//arrYM = ym.split('/');
	//wy = parseInt(arrYM[0],10);
	//wm = parseInt(arrYM[1],10);
	wy = parseInt(ym.substring(0,4),10);
	wm = parseInt(ym.substring(4,6),10);
	wd = parseInt(d,10);
	if( y_max < wy || wy < y_min)return false;
	if( m_max < wm || wm < m_min)return false;
	if( d_max < wd || wd < d_min)return false;
	if(wm == 2 && ( wy % 4 == 0 && ( wy % 100 || wy % 400 == 0 )))max_days[1] = 29;
	if(wd > max_days[wm - 1] )return false;

	return true;
}

 /*****************************************************************************
 * Is_date_late
 *-----------------------------------------------------------------------------
 * @param	   numeric  y  in
 * @param	   numeric  m  in
 * @param	   numeric  d  in
 * @return	  bool
 ******************************************************************************/
function Is_date_late(y, m, d){
	var wy,wm,wd;
	var dateCur;
	var dateSet;
	wy = parseInt(y,10);
	wm = parseInt(m,10);
	wd = parseInt(d,10);
	wy_now = parseInt(now_year,10);
	wm_now = parseInt(now_month,10);
	wd_now = parseInt(now_day,10);

	dateCur = new Date(wy_now, wm_now-1, wd_now);
	dateSet = new Date(wy,wm-1,wd);

	if( dateCur.getTime() > dateSet.getTime() || dateCur.getTime()-(24*60*60*1000) > dateSet.getTime() ){
		return false;
	}
	return true;
}

 /*****************************************************************************
 * Is_date_late2
 *-----------------------------------------------------------------------------
 * @param	   numeric  y  in
 * @param	   numeric  m  in
 * @param	   numeric  d  in
 * @return	  bool
 ******************************************************************************/
function Is_date_late2(ym, d){
	var wy,wm,wd;
	var dateCur;
	var dateSet;

	//arrYM = ym.split('/');
	//wy = parseInt(arrYM[0],10);
	//wm = parseInt(arrYM[1],10);
	wy = parseInt(ym.substring(0,4),10);
	wm = parseInt(ym.substring(4,6),10);
	wd = parseInt(d,10);
	wy_now = parseInt(now_year,10);
	wm_now = parseInt(now_month,10);
	wd_now = parseInt(now_day,10);
	dateCur = new Date(wy_now, wm_now-1, wd_now);
	dateSet = new Date(wy,wm-1,wd);

	if( dateCur.getTime() > dateSet.getTime() || dateCur.getTime()-(24*60*60*1000) > dateSet.getTime() ){
		return false;
	}

	return true;
}

 /*****************************************************************************
 * Is_num
 *-----------------------------------------------------------------------------
 * @param	   string   strSrc in
 * @return	  bool
 ******************************************************************************/
function Is_num( strSrc ){

	var	 i;
	var	 wkChr;
	var	 chr1  = '0';
	var	 chr2  = '9';

	for( i=0 ; i< Get_length(strSrc); i++ ){
		wkChr = strSrc.charAt(i);
		if(wkChr < chr1 || wkChr > chr2)return false;
	}
	return true;
}

 /*****************************************************************************
 * Is_alpha
 *-----------------------------------------------------------------------------
 * @param	   string   strSrc in
 * @return	  bool
 ******************************************************************************/
function Is_alpha( strSrc ){
	var	 i;
	var	 wkChr;
	var	 chr1  = 'a';
	var	 chr2  = 'z';
	var	 chr3  = 'A';
	var	 chr4  = 'Z';

	for( i=0 ; i< Get_length(strSrc) ; i++ ){
		wkChr = strSrc.charAt(i);
		if((wkChr < chr1 || wkChr > chr2) && (wkChr < chr3 || wkChr > chr4))return false;
	}
	return true;
}

 /*****************************************************************************
 * Is_ZenKana
 *-----------------------------------------------------------------------------
 * @param	   string   strSrc in
 * @param	   string   strZK  global in
 * @return	  bool
 ******************************************************************************/
function Is_ZenKana( strSrc ){
	var	 i;
	var	 wkChr;
	for( i=0 ; i< Get_length(strSrc) ; i++ ){
		wkChr = strSrc.charAt(i);
		if(strZK.indexOf(wkChr) == -1 ) return false;
	}
	return true;
}

 /*****************************************************************************
 * Is_int_comp
 *-----------------------------------------------------------------------------
 * @param	   int  int1   in
 * @param	   int  int2   in
 * @return	  bool
 ******************************************************************************/
function Is_int_comp( int1,int2 ){
//  if(parseInt(int1) <= parseInt(int2)){
	if(parseInt(int1,10) <= parseInt(int2,10)){
		return true;
	}
	return false;
}


 /*****************************************************************************
 * Exs_HanKana
 *-----------------------------------------------------------------------------
 * @param	   string   strSrc in
 * @param	   string   strHK  global in
 * @return	  bool
 ******************************************************************************/
function Exs_HanKana( strSrc ){
	var	 i;
	var	 wkChr;

	for( i=0 ; i< Get_length(strSrc) ; i++ ){
		wkChr = strSrc.charAt(i);
		if(strHK.indexOf(wkChr) >=0 )return true;
	}
	return false;
}

/********************************************************************
* Chk_f0_navi
* @return:  NN,IE6 =false, IE4.=ture
*********************************************************************/
function Chk_f0_navi() {

	var Br = navigator.appName;
	var Ver = navigator.appVersion;

	if(Ver.indexOf("Win") >= 0){
		if (Br == "Microsoft Internet Explorer"){
			x = Ver.indexOf("MSIE",0);
			if (Ver.substring(x+8, x+9) == ";"){
				Ver = Ver.substring(x+5,x+8);
			}else{
				Ver = Ver.substring(x+5, x+9);
			}
			if(Ver <= 5){
				return true;
			}
		}
	}
	return false;
}

 /*****************************************************************************
 * Chk_f1_select
 *-----------------------------------------------------------------------------
 * @param	   object   elm	in
 * @return	  bool
 ******************************************************************************/
function Chk_f1_select( elm , maxcnt ){
	var i;
	var iSelCnt = 0;
	for(i = 0; i < elm.length; i++){
		if(elm[i].selected && elm[i].value)iSelCnt++;
	}
	if(!iSelCnt)return 0;
	return (iSelCnt > maxcnt) ? -1 : 1;
}

 /*****************************************************************************
 * Chk_f1_text
 *-----------------------------------------------------------------------------
 * @param	   object   elm	 in
 * @param	   numeric  maxsize in
 * @return	  1,0,-1
 ******************************************************************************/
function Chk_f1_text( elm , maxsize ){
	var len = 0;
	len = Get_length(elm.value);
	if(!len) return 0;
	return (len > maxsize) ? -1 : 1;
}

 /*****************************************************************************
 * Chk_f2_num
 *-----------------------------------------------------------------------------
 * @param	   object   elm	 in
 * @return	  bool
 ******************************************************************************/
function Chk_f2_num( elm ){
	return Is_num( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f2_alpha
 *-----------------------------------------------------------------------------
 * @param	   object   elm	 in
 * @return	  bool
 ******************************************************************************/
function Chk_f2_alpha( elm ){
	return Is_alpha( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f2_ZenKana
 *-----------------------------------------------------------------------------
 * @param	   object   elm	 in
 * @return	  bool
 ******************************************************************************/
function Chk_f2_ZenKana( elm ){
	return Is_ZenKana( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_HanKana
 *-----------------------------------------------------------------------------
 * @param	   object   elm	 in
 * @return	  bool
 ******************************************************************************/
function Chk_f3_HanKana( elm ){
	return Exs_HanKana( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_date
 *-----------------------------------------------------------------------------
 * @param	   object   y   in
 * @param	   object   m   in
 * @param	   object   d   in
 * @return	  bool
 ******************************************************************************/
function Chk_f3_date(y, m, d){
	return Is_date(y.value,m.value,d.value) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_date2
 *-----------------------------------------------------------------------------
 * @param	object   ym  in
 * @param	object   d   in
 * @return	bool
 ******************************************************************************/
function Chk_f3_date2(ym, d){
	return Is_date2(ym.value,d.value) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_date_late
 *-----------------------------------------------------------------------------
 * @param	   object   y   in
 * @param	   object   m   in
 * @param	   object   d   in
 * @return	  bool
 ******************************************************************************/
function Chk_f3_date_late(y, m, d){
	return Is_date_late(y.value,m.value,d.value) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_date_late2
 *-----------------------------------------------------------------------------
 * @param	object  ym  in
 * @param	object  d   in
 * @return	bool
 ******************************************************************************/
function Chk_f3_date_late2(ym, d){
	return Is_date_late2(ym.value,d.value) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_month_late
 *-----------------------------------------------------------------------------
 * @param	   object   y   in
 * @param	   object   m   in
 * @return	  bool
 ******************************************************************************/
function Chk_f3_month_late(y, m){
	var wy,wm;
	var dateCur;
	var dateSet;
	wy = parseInt(y.value,10);
	wm = parseInt(m.value,10);
	dateCur = new Date(now_year,  now_month-1, now_day);

	if(wm < dateCur.getMonth()+1){
		if(wy <= dateCur.getFullYear()){
			return false;
		}
	} else if( wy < dateCur.getFullYear()){
			return false;
	}

	return true;
}

 /*****************************************************************************
 * Chk_f3_month_late2
 *-----------------------------------------------------------------------------
 * @param	object   ym   in
 * @return	bool
 ******************************************************************************/
function Chk_f3_month_late2(ym){
	var wy,wm;
	var dateCur;
	var dateSet;

	arrYM = ym.value.split('/');
	wy = parseInt(arrYM[0],10);
	wm = parseInt(arrYM[1],10);
	dateCur = new Date(now_year,  now_month-1, now_day);

	if(wm < dateCur.getMonth()+1){
		if(wy <= dateCur.getFullYear()){
			return false;
		}
	} else if( wy < dateCur.getFullYear()){
			return false;
	}

	return true;
}

 /*****************************************************************************
 * Chk_f3_int_comp
 *-----------------------------------------------------------------------------
 * @param	   int	  small   in
 * @param	   int	  large   in
 * @return	  bool
 ******************************************************************************/
function Chk_f3_int_comp(small, large) {
	return Is_int_comp(small.value,large.value) ? true : false;
}
// -->