var smallCalcForm; function round(number,X) { // rounds number to X decimal places, defaults to 2 X = (X == null ? 2 : X); return Math.round(number*Math.pow(10,X))/Math.pow(10,X); } // Function for Merge Plan function setMortgageRate(nLoan){ var nPrice = new Number(smallCalcForm.price.value); var nPrecent = new Number(smallCalcForm.percent.value); var nRemain,nRate,nLoan; if (smallCalcForm.merge_plan[0].checked){ nLoan = 390000; }else if (smallCalcForm.merge_plan[1].checked){ nLoan = 530000; }else if (smallCalcForm.merge_plan[2].checked){ nLoan = 195000; }else if (smallCalcForm.merge_plan[3].checked){ nLoan = 265000; } if (nPrice > 0){ if ((nPrice * (1 - nPrecent/100)) < nLoan){ nRemain = nPrice - nLoan; if (nRemain < 0) nRemain = 0; nRate = nRemain / nPrice * 100; smallCalcForm.percent.value = round(nRate,2); } } } function clearGovPlan() { resetMergeCategory(); resetMergePlan(); resetMergeMethod(); resetMergeForm(); } function checkMergeForm() { resetMergeCategory(); resetMergePlan(); if (smallCalcForm.merge_form[0].checked) smallCalcForm.merge_method[0].click(); else if (smallCalcForm.merge_form[1].checked) smallCalcForm.merge_method[0].click(); } function checkMergeFamily() { var test=0; var num0 = new Number(smallCalcForm.merge_plan[0].value); var num1 = new Number(smallCalcForm.merge_plan[1].value); var num2 = new Number(smallCalcForm.price.value); smallCalcForm.merge_method[0].checked=true; setMergeForm(); if(smallCalcForm.merge_plan[2].checked || smallCalcForm.merge_plan[3].checked ) smallCalcForm.merge_plan[0].click(); for(i=0;i<4;i++) { if( smallCalcForm.merge_plan[i].checked==true) test=1; } if(test==0) smallCalcForm.merge_plan[0].checked=true; } function checkMergeSingle() { var test=0; var num0 = new Number(smallCalcForm.merge_plan[2].value); var num1 = new Number(smallCalcForm.merge_plan[3].value); var num2 = new Number(smallCalcForm.price.value); smallCalcForm.merge_method[0].checked=true; setMergeForm(); if(smallCalcForm.merge_plan[0].checked || smallCalcForm.merge_plan[1].checked ) smallCalcForm.merge_plan[2].click(); for(i=0;i<4;i++) { if(smallCalcForm.merge_plan[i].checked==true) test=1; } if(test==0) smallCalcForm.merge_plan[2].checked=true; } function checkMergeMethod() { resetMergePlan(); setMergeForm(); if (smallCalcForm.merge_category[2].checked) { smallCalcForm.merge_method[1].checked=true; } else if (smallCalcForm.merge_category[3].checked) { smallCalcForm.merge_method[1].checked=true; } } function checkMergeCategory() { resetMergePlan(); setMergeForm(); if (smallCalcForm.merge_method[0].checked) { smallCalcForm.merge_category[0].click(); smallCalcForm.merge_plan[0].checked=true; } else if (smallCalcForm.merge_method[1].checked) { smallCalcForm.merge_category[2].click(); } } function checkMergeSinglePlan() { setMergeForm(); smallCalcForm.merge_method[0].checked=true; smallCalcForm.merge_category[1].click(); } function checkMergeFamilyPlan() { setMergeForm(); smallCalcForm.merge_method[0].checked=true; smallCalcForm.merge_category[0].click(); } function setMergeForm() { smallCalcForm.loan_method[1].checked = true; if (!smallCalcForm.merge_form[0].checked && !smallCalcForm.merge_form[1].checked) { smallCalcForm.merge_form[0].checked=true; } } function resetMergePlan() { for(i=0;i<4;i++) { smallCalcForm.merge_plan[i].checked=false; } } function resetMergeForm() { for(i=0;i<2;i++) { smallCalcForm.merge_form[i].checked=false; } } function resetMergeMethod() { for(i=0;i<2;i++) { smallCalcForm.merge_method[i].checked=false; } } function resetMergeCategory() { for(i=0;i<4;i++) { smallCalcForm.merge_category[i].checked=false; } } function checkNum(obj) { if(obj.value == "" || isNaN(obj.value)) { //alert("�� �H �� �� �r �� �W �� �B") obj.value = 0; obj.focus(); //location.href="javascript:void(0)"; return false; } return true; } function verifyForm(obj) { smallCalcForm = obj; price_val = removeCommas(smallCalcForm.price.value) if (!isNumber(price_val)) { smallCalcForm.price.focus(); return false; } smallCalcForm.price.value = addCommas(price_val); //Primary Checking if (price_val <= 0) { //alert("�� �� �� �� �� �� �� �� �� 0") smallCalcForm.price.focus(); //location.href="javascript:void(0)"; return false; } var percent_1st = parseInt(smallCalcForm.percent.value); if (percent_1st > 100) { //alert("�� �� �� �� �� �� �j �� 100%") smallCalcForm.percent.focus(); //location.href="javascript:void(0)"; return false; } if (price_val >= 10000000 && percent_1st > 50) { alert(cal_flat_perc_remark); smallCalcForm.percent.value = 50; percent_1st = 50; } var p1_year = parseInt(smallCalcForm.year.value); var p1_month = 0; var p1_rate = smallCalcForm.rate.value; if (p1_year == 0 && p1_month == 0) { //alert("�� �� �� �� �~ �� �� �� �� �� 0") smallCalcForm.year.focus(); //location.href="javascript:void(0)"; return false; }else if (p1_rate == 0){ //alert("�� �� �Q �v �� �� �� �� 0") smallCalcForm.rate.focus(); //location.href="javascript:void(0)"; return false; } //return true; calculation(price_val, percent_1st, p1_year, p1_month, p1_rate); return false; } function calculation(price, mortgage_percent, n_year, n_month, mortgage_rate) { if (price <= 0) { instalment = 0; mortgage_amt = 0; monthly_payment = 0; gloss_pay = 0; total_interest = 0; } else { down_payment = price * (1 - mortgage_percent / 100); p1_term = n_year * 12 + n_month; calc_amt1 = price * mortgage_percent / 100; total_term = n_year * 12 + n_month; normal_rate = mortgage_rate; base1 = (1 + normal_rate / 1200); P1 = calc_amt1 * normal_rate * Math.pow(base1,total_term) / (1200 * (Math.pow(base1,total_term) - 1)); instalment = round(down_payment, 2); mortgage_amt = calc_amt1; monthly_payment = round(P1, 2); gloss_pay = round((P1 * total_term), 2); total_interest = round((P1 * total_term - calc_amt1), 2); } //alert("monthly = " + monthly_payment); smallCalcForm.monthly_payment.value = addCommas(round(monthly_payment,0)); //smallCalcForm.monthly_payment.disabled=true; smallCalcForm.initial.value = addCommas(instalment); } function calMor(s){ //with (document.getElementById(s)) { verifyForm(document.getElementById(s)); //setDetailPageControlFlag(false); //alert(elements[elements.length-1].tagName); //elements[elements.length-1].click(); //} } function addCommas(nStr) { nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } function removeCommas(nStr) { //return nStr.replace(/[^\d\.\-\ ]/g, ''); return nStr.replace(/\,/g,''); } function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }