<!--
//____________________________________________________________________________________[ 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_BirthYearObject( y, f, document) {
    this.birthYName = y;
    this.formName   = f;
    this.document   = document;

    //Method
    this.initialBIRTHYEAR = initialBIRTHYEAR;
}

//____________________________________________________________________________________[ object method ]

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 );
        }
    }
}


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_mail
 *-----------------------------------------------------------------------------
 * @param       string  strSrc  in  
 * @return      bool
 ******************************************************************************/
function Is_mail( strSrc ){
    var     i;
    var     chr1  = '@';
    var     chr2  = '.';

    for( i=0 ; i<strSrc.length ; i++ ){
		code = strSrc.charCodeAt(i);
		if ((33 > code || code >126)){
			return false;
		}
    }
    eml = strSrc.split( chr1 );
    if( eml.length != 2 )return false;
    if(eml[1].indexOf(chr2) == -1)return false;
    if(strSrc.indexOf(chr2) == (strSrc.length-1) )return false;
    return true;
}
 /*****************************************************************************
 * Is_tell
 *-----------------------------------------------------------------------------
 * @param       string  strSrc  in  
 * @return      bool
 ******************************************************************************/
function Is_tell( strSrc ){
    var     i;
    var     hCnt = 0;
    var     kStart = 0;
    var     kEnd = 0;
    var     prevh = -1;
    var     wkChr;
    var     wkCnt;
    var     chr1  = '0';
    var     chr2  = '9';
    var     chr3  = '-';

    for( i=0 ; i<strSrc.length ; i++ ){
        wkChr = strSrc.charAt(i);
        if( wkChr == chr3 ){
            if( prevh == (i-1) )return false;
            prevh = i;
            hCnt++;
            if( hCnt > 2 )return false;
        }
        else{
            if( wkChr < chr1 || wkChr > chr2 )return false;
        }

    }

    if(hCnt!=2)return false;
    wkCnt = strSrc.indexOf(chr3);
    if(wkCnt == 0 || wkCnt == (strSrc.length-1))return false;
    if(strSrc.length > 13 || strSrc.length < 12)return false;

    return true;
}

 /*****************************************************************************
 * Is_zip
 *-----------------------------------------------------------------------------
 * @param       string  strSrc  in  
 * @return      bool
 ******************************************************************************/
function Is_zip( strSrc ){
    var     i;
    var     len;
    var     wkChr;
    var     chr1  = '0';
    var     chr2  = '9';

    len = strSrc.length;
    if( len != 8 )return false;
    for( i=0 ; i<len ; i++ ){
        wkChr = strSrc.charAt(i);
        if(i == 3) {
            if(wkChr != '-') return false;
        }else{ 
            if(wkChr < chr1 || wkChr > chr2) return false;
        }
    }
    return true;
}

 /*****************************************************************************
 * 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_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_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_BlankOnly
 *-----------------------------------------------------------------------------
 * @param       string   strSrc in  
 * @return      bool
 ******************************************************************************/
function Is_BlankOnly( strSrc ){
    var     i;
    var     wkChr;
    var     chr1  = ' ';
    var     chr2  = '@';

    for( i=0 ; i< Get_length(strSrc) ; i++ ){
        wkChr = strSrc.charAt(i);
        if(wkChr != chr1 && wkChr != chr2)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_chkbox
 *-----------------------------------------------------------------------------
 * @param       object   elm    in  
 * @return      bool
 ******************************************************************************/
function Chk_f1_chkbox(elm){
    var i;
    if(elm.checked && elm.value)return true;
    return false;
}

 /*****************************************************************************
 * Chk_f1_radio
 *-----------------------------------------------------------------------------
 * @param       object   elm    in  
 * @return      bool
 ******************************************************************************/
function Chk_f1_radio(elm){
    var i;
    for(i = 0; i < elm.length; i++){
        if(elm[i].checked && elm[i].value)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_f2_BlankOnly
 *-----------------------------------------------------------------------------
 * @param       object   elm     in 
 * @return      bool
 ******************************************************************************/
function Chk_f2_BlankOnly( elm ){
    return Is_BlankOnly( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_mail
 *-----------------------------------------------------------------------------
 * @param       object   elm     in 
 * @return      bool
 ******************************************************************************/
function Chk_f3_mail( elm ){
    return Is_mail( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_tell
 *-----------------------------------------------------------------------------
 * @param       object   elm     in 
 * @return      bool
 ******************************************************************************/
function Chk_f3_tell( elm ){
    return Is_tell( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_zip
 *-----------------------------------------------------------------------------
 * @param       object   elm     in 
 * @return      bool
 ******************************************************************************/
function Chk_f3_zip( elm ){
    return Is_zip( elm.value ) ? true : false;
}

 /*****************************************************************************
 * Chk_f3_zip
 *-----------------------------------------------------------------------------
 * @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_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_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_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;
}


//-->