
///////////////////////////////////////////////////////////////////////////////////////////
//formサブミット時のイベントハンドラ
//@params
//form      : 対象となるformオブジェクト
//
//@return
//論理値。サブミットを実行する場合にはtrue、それ以外の場合にはfalseを返す。
///////////////////////////////////////////////////////////////////////////////////////////
function onFormSubmit(form)
{
    //
    //値の整形
    //
    form.loan_amount.value    = trim(form.loan_amount.value);
    form.start_year.value     = trim(form.start_year.value);
    form.start_month.value    = trim(form.start_month.value);
    form.payment_amount.value = trim(form.payment_amount.value);
    form.rate.value           = trim(form.rate.value);

    
    //
    //借入額のチェック
    //
    if( isInteger(form.loan_amount.value, 1, 200000, false) == false ){
        alert('[借入額]の入力が不正です。半角数字で10,000円以上、2,000,000,000円以下で入力してください。');
        return false;
    }
    form.loan_amount.value = parseInt( form.loan_amount.value );

    
    //
    //借入日のチェック
    //
    if( isInteger(form.start_year.value, 1980, undefined, false) == false ){
        alert('[借入日]における年の入力が不正です。半角数字で1980年から本年までの間で入力してください。');
        return false;
    }
    form.start_year.value = parseInt( form.start_year.value );

    if( isInteger(form.start_month.value, 1, 12, false) == false ){
        alert('[借入日]における月の入力が不正です。半角数字で1月から12月までの間で入力してください。');
        return false;
    }
    form.start_month.value = parseInt( form.start_month.value );

    var now = new Date();
    var min = new Date(1980, 1, 1);
    var value = form.start_year.value + '/' + (form.start_month.value - 1) + '/1';
    if( isDate(value, min, now, false) == false ){
        alert('[借入日]の入力が不正です。半角数字で1980年01月から本日を基準として前月の間で入力してください。');
        return false;
    }
    
    
    //
    //毎月の弁済額のチェック
    //
    if( isInteger(form.payment_amount.value, 1, 2000000000, false) == false ){
        alert('[毎月の弁済額]の入力が不正です。半角数字で1円以上、2,000,000,000円以下で入力してください。');
        return false;
    }
    form.payment_amount.value = parseInt( form.payment_amount.value );
    

    //
    //利率のチェック
    //
    if( isFloat(form.rate.value, 0.01, 99.99, false) == false ){
        alert('[毎月の弁済額]の入力が不正です。半角数字で0.01%以上、99.99%以下で入力してください。');
        return false;
    }
    form.rate.value = parseFloat( form.rate.value );
    
    
    //
    //サブミット実行
    //
    return true;
}
