﻿/*
 *------------------------------------------------------
 * Loan Calculation Script:lcs.js (Ver_0.15)
 *
 * Copyright (c) 2002 Keiichiro Kai (trust-home.co.jp)
 *                    kai@trust-home.co.jp
 * Since:     2002-01-01
 * LastModified:  2004-03-11
 *-----------------------------------------------------
 * 商用・非商用問わず自由に利用して頂いてかまいません。
 * 改造して利用してもかまいません。
 * ※但し、下記の利用条件を遵守して下さい。
 * 又、本スクリプトを使用した不具合等につきましては自己責任
 * にてお願い致します。当方は一切関知致しません。
 * 著作権については放棄をしておりませんので上記コピーライト
 * 表示の変更や削除しないで下さい。
 * 尚、利用又は改造にあたり当方への連絡は必要ありません。
-----------------------利用条件----------------------- 
 下記のリンクタグを設置ページのどこかに貼って下さい
 <a href="http://www.trust-home.co.jp/" target="_blank">lcs.js(Powered By TRUST HOME Co.,Ltd.)</a>
------------------------------------------------------
 */


function LoanCalc1(){
//初期設定
    if ((document.loan_calc_form1.gan_kin.value == "")||
        (document.loan_calc_form1.gan_kin.value <= 0) ||
        (document.loan_calc_form1.nen_ri.value == "") ||
        (document.loan_calc_form1.nen_ri.value <= 0)  ||
        (document.loan_calc_form1.nen_su.value == "") ||
        (document.loan_calc_form1.nen_su.value <= 0))  {
        alert("未入力の個所があります\n借入金額・金利・借入期間は必須項目です");
    }
    gankin = parseFloat(document.loan_calc_form1.gan_kin.value) * 10000;
    if ((document.loan_calc_form1.bounasu_bun.value) == "") {
        bounasu = 0;
    } else {bounasu = parseFloat(document.loan_calc_form1.bounasu_bun.value) * 10000;}
    nenri       = parseFloat(document.loan_calc_form1.nen_ri.value);
    kaisu       = parseFloat(document.loan_calc_form1.nen_su.value) * 12;
    nensyu      = 0;
    nensyuL     = 2000000 //年収基準値低
//  nensyuM     = 3000000 //年収基準値中
    nensyuH     = 4000000 //年収基準値高
    hensaihirituL = 0.2;  //200万円未満返済比率
    hensaihirituM = 0.25; //400万円未満返済比率
    hensaihirituH = 0.3;  //400万円以上返済比率

//毎月返済額
    geturi      = nenri / 100 / 12;
    getugaku    = parseInt( (gankin - bounasu) * geturi * Math.pow((1 + geturi),kaisu) / (Math.pow((1 + geturi),kaisu) - 1) );
    document.loan_calc_form1.getu_gaku.value = getugaku;

//ボーナス返済額
    bounasuritu      = nenri / 100 / 2;
    bounasugaku = parseInt(bounasu * bounasuritu * Math.pow((1 + bounasuritu),kaisu / 6) / (Math.pow((1 + bounasuritu),kaisu / 6) - 1));
    document.loan_calc_form1.bounasu_gaku.value = bounasugaku;

//年間返済額
    nenkansiharaigaku = getugaku * 12 + bounasugaku * 2;
    document.loan_calc_form1.nen_gaku.value = parseInt(nenkansiharaigaku / 10000);

//必要最低年収額
    if (nenkansiharaigaku < (nensyuL * hensaihirituL)) {
        nensyu = (nenkansiharaigaku / hensaihirituL);
        document.loan_calc_form1.nen_syu.value = parseInt(nensyu / 10000);
    }
    if ((nenkansiharaigaku >= (nensyuL * hensaihirituL)) && (nenkansiharaigaku < (nensyuL * hensaihirituM))) {
        nensyu = 2000000;
        document.loan_calc_form1.nen_syu.value = parseInt(nensyu / 10000);
    }
    if ((nenkansiharaigaku >= (nensyuL * hensaihirituM)) && (nenkansiharaigaku < (nensyuH * hensaihirituM))) {
        nensyu = (nenkansiharaigaku / hensaihirituM);
        document.loan_calc_form1.nen_syu.value = parseInt(nensyu / 10000);
    }
    if ((nenkansiharaigaku >= (nensyuH * hensaihirituM)) && (nenkansiharaigaku < (nensyuH * hensaihirituH))) {
        nensyu = 4000000;
        document.loan_calc_form1.nen_syu.value = parseInt(nensyu / 10000);
    }
    if (nenkansiharaigaku >= (nensyuH * hensaihirituH)) {
        nensyu = (nenkansiharaigaku / hensaihirituH);
        document.loan_calc_form1.nen_syu.value = parseInt(nensyu / 10000);
    }

//エラー処理
    if ((document.loan_calc_form1.getu_gaku.value    == "NaN") ||
        (document.loan_calc_form1.getu_gaku.value    <= 0)) {
            document.loan_calc_form1.getu_gaku.value = 0;
    }
    if ((document.loan_calc_form1.bounasu_gaku.value == "NaN") ||
        (document.loan_calc_form1.bounasu_gaku.value <= 0)) {
            document.loan_calc_form1.bounasu_gaku.value = 0;
    }
    if ((document.loan_calc_form1.nen_gaku.value     == "NaN") ||
        (document.loan_calc_form1.nen_gaku.value     <= 0)) {
            document.loan_calc_form1.nen_gaku.value = 0;
    }
    if ((document.loan_calc_form1.nen_syu.value      == "NaN") ||
        (document.loan_calc_form1.nen_syu.value      <= 0)) {
            document.loan_calc_form1.nen_syu.value = 0;
    }
}

function LoanCalc2(){
//初期設定
    if ((document.loan_calc_form2.gan_kin2.value == "")||
        (document.loan_calc_form2.gan_kin2.value == 0)  ||
        (document.loan_calc_form2.nen_ri2.value == "") ||
        (document.loan_calc_form2.nen_ri2.value <= 0)  ||
        (document.loan_calc_form2.nen_su2.value == "") ||
        (document.loan_calc_form2.nen_su2.value <= 0)  ||
        ((document.loan_calc_form2.zansai_end.value =="") && (document.loan_calc_form2.zansai_end2.value == "")) ||
        ((document.loan_calc_form2.zansai_end.value <= 0) && (document.loan_calc_form2.zansai_end2.value <= 0))  ||
        ((document.loan_calc_form2.zansai_end.value =="") && (document.loan_calc_form2.zansai_end2.value <= 0))  ||
        ((document.loan_calc_form2.zansai_end.value <= 0) && (document.loan_calc_form2.zansai_end2.value == ""))
        ){
            alert("未入力の個所があります\n借入金額・金利・借入期間・残元金計算期間は必須項目です");
    }
    gankinb      = parseFloat(document.loan_calc_form2.gan_kin2.value) * 10000;
    if ((document.loan_calc_form2.bounasu_bun2.value) == "") {
        bounasub = 0;
    } else {bounasub = parseFloat(document.loan_calc_form2.bounasu_bun2.value) * 10000;}
    nenrib       = parseFloat(document.loan_calc_form2.nen_ri2.value);
    kaisub       = parseInt(document.loan_calc_form2.nen_su2.value) * 12;
    if ((document.loan_calc_form2.zansai_end.value) == "") {
        siharaiy = null;
    } else {siharaiy = parseInt(document.loan_calc_form2.zansai_end.value) * 12;}
    if ((document.loan_calc_form2.zansai_end2.value) == "") {
        siharaim = null;
    } else {siharaim = parseInt(document.loan_calc_form2.zansai_end2.value);}
    siharaikaisu = siharaiy + siharaim;
    

//毎月返済額
    geturib      = nenrib / 100 / 12;
    getugakub    = parseInt((gankinb - bounasub) * geturib * Math.pow((1 + geturib),kaisub) / (Math.pow((1 + geturib),kaisub) - 1));

//ボーナス返済額
    bounasuritub  = nenrib / 100 / 2;
    bounasugakub  = parseInt(bounasub * bounasuritub * Math.pow((1 + bounasuritub),(kaisub / 6)) / (Math.pow((1 + bounasuritub),(kaisub / 6)) - 1));

//年間返済額
    nenkansiharaigakub = getugakub * 12 + bounasugakub * 2;

//残債元金
/*
    ↓計算式1　計算結果が変(^^;
    zansaigetugaku = getugakub - Math.pow((1 + geturib),siharaikaisu) * (getugakub - ((gankinb - bounasub) * geturib)) / geturib;
    zansaibounasu  = Math.abs(bounasugakub - Math.pow((1 + bounasuritub),(siharaikaisu / 6)) * (bounasugakub - (bounasub * bounasuritub)) / bounasuritub);
*/
//↓計算式2　とりあえずこれで計算
    zansaigetugaku = getugakub * (Math.pow((1 + geturib),(kaisub - siharaikaisu)) - 1) / (geturib * Math.pow((1 + geturib),(kaisub - siharaikaisu)));
    zansaibounasu  = bounasugakub * (Math.pow((1 + bounasuritub),(kaisub - siharaikaisu) / 6) - 1) / (bounasuritub * Math.pow((1 + bounasuritub),(kaisub - siharaikaisu) / 6));
    if (((document.loan_calc_form2.zansai_end.value <= 0) && (document.loan_calc_form2.zansai_end2.value <= 0))  ||
        ((document.loan_calc_form2.zansai_end.value =="") && (document.loan_calc_form2.zansai_end2.value <= 0))  ||
        ((document.loan_calc_form2.zansai_end.value <= 0) && (document.loan_calc_form2.zansai_end2.value == ""))) {
            zansaigankin = gankinb;
    } else {zansaigankin = zansaigetugaku + zansaibounasu;}
    document.loan_calc_form2.zansai_gankin.value = parseInt(zansaigankin / 10000);

//元金支払額累計
    siharaigankin = parseInt(gankinb / 10000) - parseInt(zansaigankin / 10000);
    document.loan_calc_form2.siharai_gankin.value = parseInt(siharaigankin);

//支払利息累計
    siharairisoku = (parseInt((getugakub * siharaikaisu) / 10000) + parseInt((bounasugakub * (siharaikaisu / 6)) / 10000)) - siharaigankin;
    document.loan_calc_form2.siharai_risoku.value = parseInt(siharairisoku);

//支払元利合計
    siharaiganri  = siharaigankin + siharairisoku;
    document.loan_calc_form2.siharai_ganri.value = parseInt(siharaiganri);

//エラー処理
    if ((document.loan_calc_form2.zansai_gankin.value  == "NaN") ||
        (document.loan_calc_form2.zansai_gankin.value  <= 0)) {
            document.loan_calc_form2.zansai_gankin.value  = 0;
    }
    if ((document.loan_calc_form2.siharai_gankin.value == "NaN") ||
        (document.loan_calc_form2.siharai_gankin.value <= 0)) {
            document.loan_calc_form2.siharai_gankin.value = 0;
    }
    if ((document.loan_calc_form2.siharai_risoku.value == "NaN") ||
        (document.loan_calc_form2.siharai_risoku.value <= 0)) {
            document.loan_calc_form2.siharai_risoku.value = 0;
   }
    if ((document.loan_calc_form2.siharai_ganri.value  == "NaN") ||
        (document.loan_calc_form2.siharai_ganri.value  <= 0)) {
            document.loan_calc_form2.siharai_ganri.value  = 0;
    }
}

//ローン計算結果を残元金計算に入力
function LoanCalc3(){
    if ((document.loan_calc_form1.nen_gaku.value == "") || (document.loan_calc_form1.nen_gaku.value <= 0)) {
        alert("計算結果が不正の為、入力できません");
        document.loan_calc_form2.gan_kin2.focus();
    }
    else {
        document.loan_calc_form2.gan_kin2.value     = document.loan_calc_form1.gan_kin.value;
        document.loan_calc_form2.bounasu_bun2.value = document.loan_calc_form1.bounasu_bun.value;
        document.loan_calc_form2.nen_ri2.value      = document.loan_calc_form1.nen_ri.value;
        document.loan_calc_form2.nen_su2.value      = document.loan_calc_form1.nen_su.value;
        alert("残元金計算期間を入力後、「計算」ボタンを押して下さい");
        document.loan_calc_form2.zansai_end.focus();
    }
}

function LoanCalc4(){
    if (isNaN(document.loan_calc_form1.gan_kin.value)){
            document.loan_calc_form1.gan_kin.focus();
            document.loan_calc_form1.gan_kin.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form1.bounasu_bun.value)){
            document.loan_calc_form1.bounasu_bun.focus();
            document.loan_calc_form1.bounasu_bun.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form1.nen_ri.value)){
            document.loan_calc_form1.nen_ri.focus();
            document.loan_calc_form1.nen_ri.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form1.nen_su.value)){
            document.loan_calc_form1.nen_su.focus();
            document.loan_calc_form1.nen_su.select();
            alert("半角数字で入力して下さい");
    }

    if (isNaN(document.loan_calc_form2.gan_kin2.value)){
            document.loan_calc_form2.gan_kin2.focus();
            document.loan_calc_form2.gan_kin2.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form2.bounasu_bun2.value)){
            document.loan_calc_form2.bounasu_bun2.focus();
            document.loan_calc_form2.bounasu_bun2.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form2.nen_ri2.value)){
            document.loan_calc_form2.nen_ri2.focus();
            document.loan_calc_form2.nen_ri2.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form2.nen_su2.value)){
            document.loan_calc_form2.nen_su2.focus();
            document.loan_calc_form2.nen_su2.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form2.zansai_end.value)){
            document.loan_calc_form2.zansai_end.focus();
            document.loan_calc_form2.zansai_end.select();
            alert("半角数字で入力して下さい");
    }
    if (isNaN(document.loan_calc_form2.zansai_end2.value)){
            document.loan_calc_form2.zansai_end2.focus();
            document.loan_calc_form2.zansai_end2.select();
            alert("半角数字で入力して下さい");
    }

}
