function subCheck(){
	var eles = ["birthN","birthG","seibetsu","Marriage","insurKnd","contCount"]
	var hasErr = false

	for(i=0;i<6;++i){
	  eval('var obj = document.myForm.'+eles[i])
          if(obj.type == undefined && obj.length == 2){
	  	var objErrId = obj[0].name.substr(0,5) + "_err"
                var ischecked = false
                for(j=0;j<obj.length;++j){
                  if(obj[j].checked)
                    ischecked = true
                }
                if(!ischecked){
                  show(objErrId)
		  hasErr = true
                }else
                  hide(objErrId)

          }else if(obj.type == "select-one"){
	    var objErrId = obj.name.substr(0,5) + "_err"
	    if(!validateSelected(obj,false)){
                show(objErrId)
		changeStyle(obj,1)
		hasErr = true
	    }
          }else{
	    var objErrId = obj.name.substr(0,5) + "_err"
            if(!validateNonEmpty(obj) || !isDigit(obj)){
                show(objErrId)
		changeStyle(obj,1)
		hasErr = true
	    }else{
		if(validateBrother(obj)){
		    hide(objErrId)
		    changeStyle(obj,0)
		}else{
		  show(objErrId)
		  changeStyle(obj,1)
                  hasErr = true
		}
	    }
          }
	}
	
	if(!hasErr) isInAge()	
		
}

function isEmpty(s){
	if(s== null || s == "" || s.length ==0 )
		return true
	else
		return false
}

function validateNonEmpty(field, actShow){
	//year month group
	var errInfoId = field.name.substr(0,5) + "_err"

	if(!isEmpty(field.value)){
	   if(actShow){
	      hide(errInfoId) 
	      changeStyle(field,0)
	   }
           return true
	}else{
	  if(actShow){
	    show(errInfoId)
	    changeStyle(field,1)
	  }
	  return false
	}
}

function validateSelected(field, actShow){
    var errInfoId = field.name.substr(0,5) + "_err"
    if(field.value == 0){
	if(actShow){
	  show(errInfoId)
	  changeStyle(field,1)
	}
	return false
    }else{
	if(actShow) {
	  hide(errInfoId) 
	  changeStyle(field,0)
	}
	return true
    }

}

function isDigit(field){
  var pattern = /^[0-9]{1,2}$/
  var flag = pattern.test(field.value)
  flag = flag == null ? false : flag
  if(!flag){ 
    return false
  }else{
    return true
  }
}

function isHalf(num){
  var pattern = /^[0-9]{1,3}$/
  var flag = pattern.test(num)
  flag = flag == null ? false : flag
  if(!flag){ 
    return false
  }else{
    return true
  }
}

function isInAge(){
   pars = "nengo=" + document.myForm.nengo.value + "&birthN=" + document.myForm.birthN.value + "&birthG=" + document.myForm.birthG.value
   new Ajax.Request('php.php', {
	  method: "get", 
	  parameters: pars, 
	  onSuccess:function(httpObj){ 
	    if(httpObj.responseText == '1'){
		hide("birth_out_err")
		window.location = parseInt(document.myForm.contCount.value) > 4 ? "http://www.atmos.co.jp/cashing_sim_ng.html":"http://www.atmos.co.jp/cashing_sim_ok.html";
	    }else
		show("birth_out_err")
		changeStyle(document.myForm.birthN,1)
		changeStyle(document.myForm.birthG,1)
	  }
	})  
}

function validateBrother(field){
  var pattern = /^birth/
  if(pattern.test(field.name)){
    if(document.myForm.birthG.value != 0 && document.myForm.birthN.value != 0){
      brother = field.name == "birthN" ? document.myForm.birthG : document.myForm.birthN
      if(!isEmpty(brother.value) && isDigit(brother)){
        return true 
      }else
        return false
    }else
      return false
  }else
    return true
}


function checkPairNum(field){
  var errInfoId = field.name.substr(0,5) + "_err"
  if(validateNonEmpty(field) && isDigit(field) && validateBrother(field)){
      hide(errInfoId)
  } 
  pars = "nengo=" + document.myForm.nengo.value + "&birthN=" + document.myForm.birthN.value + "&birthG=" + document.myForm.birthG.value
  new Ajax.Request('php.php', {
	  method: "get", 
	  parameters: pars, 
	  onSuccess:function(httpObj){ 
	    if(httpObj.responseText == '1'){
		changeStyle(document.myForm.birthN,0)
		changeStyle(document.myForm.birthG,0)
		hide("birth_out_err")
	    }
	  }
	})  
  //show(errInfoId)
   
  return false
}

function show(id){
	document.getElementById(id).style.display = "block"
}

function hideErr(id){
	document.getElementById(id).style.display = "none"
}
function hide(id){
	document.getElementById(id).style.display = "none"
}

function changeStyle(field,err){
	pattern = /error/
	flag = pattern.test(field.className)
	if(err == 1){
	  if(!flag)
	    field.className = field.className + " simul_error"
	}else{
	  if(flag)
	    field.className = field.className.split(' ')[0]
	}
}

function validateMoneyAmount(field,actShow){

	if(!isHalf(field.value)){
  	  if(actShow)  show("money_amount_zen_err")
	  return false;
	}
	else if(field.value < 1 || field.value > 100){
	  if(actShow)  show("money_amount_err")
	  return false;
	}
	else{
	  if(actShow){
	     hide("money_amount_err")
	     hide("money_amount_zen_err")
	  }
	  return true;
	}

}

function validateMoneyAmountKey(field,actShow,event){
	if(event.keyCode != 229){
		if(field.value < 1 || field.value > 100){
		  if(actShow)  show("money_amount_err")
		  return false;
		}
		else{
		  if(actShow){
		    hide("money_amount_err")
		    hide("money_amount_zen_err")
		  }
		  return true;
		}
	}
}

function validateMoneyCount(field,actShow){

	if(!isHalf(field.value)){
  	  if(actShow)  show("money_count_zen_err")
	  return false;
	}else if(field.value < 1 || field.value > 100){
	  if(actShow)  show("money_count_err")
	  return false;
	}
	else{
	  if(actShow){
	    hide("money_count_err")
	    hide("money_count_zen_err")
	  }
	  return true;
	}

}

function validateMoneyCountKey(field,actShow,event){
	if(event.keyCode != 229){
	if(field.value < 1 || field.value > 100){
	  if(actShow)  show("money_count_err")
	  return false;
	}
	else{
	  if(actShow){
	    hide("money_count_err")
	    hide("money_count_zen_err")
	  }
	  return true;
	}
	}

}
function validateMonth(field, actShow){
	if(!isHalf(field.value)){
  	  if(actShow)  show("month_zen_err")
	  return false;
	}else if(field.value == "" || field.value == undefined ){
	  if(actShow) show("month_empty_err")
	  return false
	}else{
	  if(actShow) hide("month_empty_err")
	  if( field.value > 60 || field.value == 0){
	    if(actShow) show("month_err")
	    return false
	  }else{
 	    if(document.getElementById('money_amount').value !== '' && document.getElementById('money_amount').value != undefined){
	      if( field.value>36 && document.getElementById('money_amount').value <= 30){
	        show("month_times_err")
		return false
	      }else
	        hide("month_times_err")
	    }
	    if(actShow){
		hide("month_err")
	    }
	    return true
	  }
	}

}

function validateMonthKey(field, actShow, event){
	if(event.keyCode != 229){
	if(field.value == "" || field.value == undefined ){
	  if(actShow) show("month_empty_err")
	  return false
	}else{
	  if(actShow) hide("month_empty_err")
	  if( field.value > 60 || field.value == 0){
	    if(actShow) show("month_err")
	    return false
	  }else{
 	    if(document.getElementById('money_amount').value !== '' && document.getElementById('money_amount').value != undefined){
	      if( field.value>36 && document.getElementById('money_amount').value <= 30){
	        show("month_times_err")
		return false
	      }else{
	        hide("month_times_err")
	        hide("month_zen_err")
	      }
	    }
	    if(actShow){
		hide("month_err")
		hide("month_zen_err")
	    }
	    return true
	  }
	}
	}

}
function validateAmount(field, actShow){
	if(!isHalf(field.value)){
  	  if(actShow)  show("amount_zen_err")
	  return false;
	}else if(field.value == "" || field.value == undefined || field.value == 0){
	  if(actShow) show("amount_empty_err")
	  return false
	}else{
	  if(actShow){
	    hide("amount_empty_err")
	    hide("amount_zen_err")
	  }
	  return true
	}
}

function validateAmountKey(field, actShow, event){
	if(event.keyCode != 229){
	if(field.value == "" || field.value == undefined || field.value == 0){
	  if(actShow) show("amount_empty_err")
	  return false
	}else{
	  if(actShow){
	    hide("amount_empty_err")
	    hide("amount_zen_err")
	  }
	  return true
	}
	}
}
function amountcheck(){
	var hasErr = false
	if(!validateMoneyAmount(document.myForm.money_amount,true))
	  hasErr = true
	if(!validateMonth(document.myForm.month,true))
	  hasErr = true
	if(!hasErr)
	  getMonthValue()
}


function countcheck(){
	var hasErr = false
	if(!validateMoneyCount(document.myForm.money_count,true))
	  hasErr = true
	if(!validateAmount(document.myForm.amount,true))
	  hasErr = true
	if(!hasErr)
	  getAmountValue()
}

function syosiki(number){
  var len;
  var str1="";
  var str2="";
  var str3="";
  var result="";
  number = "" + number;
  len=number.length;

  if(len>=0 && len<=3){
    result=number;
  }

  if(len>3 && len<=6){
    str1 = number.substring(0, number.length-3);
    str2 = number.substring(number.length-3, number.length);
    result=str1+","+str2;
  }

  if(len>6 && len<=9){
    str1 = number.substring(0, number.length-6);
    str2 = number.substring(number.length-6, number.length-3);
    str3 = number.substring(number.length-3, number.length);
    result=str1+","+str2+","+str3;
  }

  return result;
}

function getMonthValue(){
 
  var str = new Array()
  var risoku = 0;

  var money=document.myForm.money_amount.value*10000;
  var month=document.myForm.month.value; 
  var rate=document.myForm.rate_amount.value; 
  var tukiri=rate*0.01/12;
  var tmp=Math.pow((1+tukiri),month);
  var pay=Math.floor(money*(tmp*tukiri)/(tmp-1)); 

  var disp_money=syosiki(money);
  var disp_pay=syosiki(pay); 

  var risoku,gankin,disp_risoku,disp_gankin,disp_zan;
  var zan=money; 

  var content = "<div class=\"box\"><div class=\"title-cashing\">返済シミュレーション（結果）</div></div>"

  content += "<div class=\"box01\"><div class=\"title-sub\">毎月の返済額を知りたい方</div><p class=\"Repayment-txt\">ご利用額を決めて毎月の返済額を知りたい方</p></div>"
  content += "<table class=\"table-Repayment\"><tr>"
  content += "<td><span>◆</span>ご利用希望額　"  +  disp_money + "円" 
  content += "</td><td><span>◆</span>毎月のご返済額　"  +  disp_pay + "円"
  content += "</td><td><span>◆</span>お支払い回数　"  +  month + "回"
  content += "</td></tr></table>"

  content += "<div class=\"table-Repayment-B\"></div>"

  content += "<table class=\"Repayment-Calculation\">"

  for(i=0;i<month;i++){
    str[i] = i+1;
    risoku = Math.floor(zan*tukiri);
    gankin =pay-risoku;
    zan-=gankin;

    if(i==month-1){
      gankin+=zan;
      pay+=zan;
      zan=0;
    }
    
    if(i%12==0){
      content += "<tr><td class='RC-th01' > 回数</td>"
      content += "<td class='RC-th02' > 返済額</td>"
      content += "<td class='RC-th02' > 元金</td>"
      content += "<td class='RC-th02' > 利息</td>"
      content += "<td class='RC-th02' > 残高</td>"
      content += "</tr>";
    }

    if(navigator.appName=="Netscape"){
      disp_pay=pay;
      disp_gankin=gankin;
      disp_risoku=risoku;
      disp_zan=zan;
    }else{
      disp_pay=syosiki(pay);
      disp_gankin=syosiki(gankin);
      disp_risoku=syosiki(risoku);
      disp_zan=syosiki(zan);
    }  

    content += "<tr><td class='RC-td01' >" + str[i] + "</td>"
    content += "<td class='RC-tdRight' >" + disp_pay + "円</td>"
    content += "<td class='RC-tdRight' >" + disp_gankin + "円</td>"
    content += "<td class='RC-tdRight' >" + disp_risoku + "円</td>"
    content += "<td class='RC-tdRight' >" + disp_zan + "円</td></tr>"
  }
       
  content += "</table>"

  content += "<p class=\"Repayment-txt02\">※このシミュレーションでの試算結果は参考値です。</p>"
  content += "<p class=\"bt-recalculated\"><a href=\"sim.html\" title=\"再計算する\">再計算する</a></p>"
  content += "<div class=\"box01 center-w\"><input type=\"image\" src=\"/img/cashing/bt-Application-off.jpg\" alt=\"今すぐお申込み\" onmouseover=\"this.src='/img/cashing/bt-Application-on.jpg'\" onmouseout=\"this.src='/img/cashing/bt-Application-off.jpg'\" onClick=\"location.href='https://www.atmos.co.jp/app/input'\" /></div>"
  content += "<p class=\"sim-p-top02\"><a href=\"#container\">このページのトップへ</a></p>"

  document.getElementById("content").innerHTML = content;  
} 

function getAmountValue(){
  var str = new Array()
  var risoku = 0;

  var money=document.myForm.money_count.value*10000
  var payable=document.myForm.amount.value * 1000
  var rate=document.myForm.rate.value
  var tukiri=rate*0.01/12
  var pay=money

  var content = ""
  for(var month=0;payable<=pay;month++){
    var tmp=Math.pow((1+tukiri),month+1);
    var pay=Math.floor(money*(tmp*tukiri)/(tmp-1));
    if(month==121){
      break;
    }
  }

  if(month<=120){
    var disp_money=syosiki(money);
    var disp_pay=syosiki(pay); 
 
    var risoku,gankin,disp_risoku,disp_gankin,disp_zan;
    var zan=money; 
  
    content += "<div class=\"box\"><div class=\"title-cashing\">返済シミュレーション（結果）</div></div>"
    content += "<div class=\"box01\"><div class=\"title-sub\">毎月の返済額を知りたい方</div><p class=\"Repayment-txt\">ご利用額を決めて毎月の返済額を知りたい方</p></div>"
    content += "<table class=\"table-Repayment02\"><tr>"
    content += "<td><span>◆</span>ご利用希望額　"  +  disp_money + "円" 
    content += "</td><td><span>◆</span>毎月のご返済額　"  +  disp_pay + "円"
    content += "</td><td><span>◆</span>お支払い回数　"  +  month + "回"
    content += "</td></tr></table>"
  
    content += "<div class=\"table-Repayment-B02\"></div>"
  
    content += "<table class=\"Repayment-Calculation02\">"

    for(i=0;i<month;i++){
      str[i] = i+1;
      risoku = Math.floor(zan*tukiri);
      gankin =pay-risoku;
      zan-=gankin;
  
      if(i==month-1){
        gankin+=zan;
        pay+=zan;
        zan=0;
      }
      
      if(i%12==0){
        content += "<tr><td class='RC-th01' > 回数</td>"
        content += "<td class='RC-th02' > 返済額</td>"
        content += "<td class='RC-th02' > 元金</td>"
        content += "<td class='RC-th02' > 利息</td>"
        content += "<td class='RC-th02' > 残高</td>"
        content += "</tr>";
      }
  
      if(navigator.appName=="Netscape"){
        disp_pay=pay;
        disp_gankin=gankin;
        disp_risoku=risoku;
        disp_zan=zan;
      }else{
        disp_pay=syosiki(pay);
        disp_gankin=syosiki(gankin);
        disp_risoku=syosiki(risoku);
        disp_zan=syosiki(zan);
      }  
  
      content += "<tr><td class='RC-td01' >" + str[i] + "</td>"
      content += "<td class='RC-tdRight' >" + disp_pay + "円</td>"
      content += "<td class='RC-tdRight' >" + disp_gankin + "円</td>"
      content += "<td class='RC-tdRight' >" + disp_risoku + "円</td>"
      content += "<td class='RC-tdRight' >" + disp_zan + "円</td></tr>"
    }
         
    content += "</table>"
    content += "<p class=\"Repayment-txt02\">※このシミュレーションでの試算結果は参考値です。</p>"
  
  }else{
     content += "<p align=center>返済回数が120回を超えたため入力し直してください</a></p>"    
  }

  content += "<p class=\"bt-recalculated\"><a href=\"sim.html\" title=\"再計算する\">再計算する</a></p>"
  content += "<div class=\"box01 center-w\"><a style=\"TEXT-DECORATION:none\" href=\"https://www.atmos.co.jp/app/input\"><input type=\"image\" src=\"/img/cashing/bt-Application-off.jpg\" alt=\"今すぐお申込み\" onmouseover=\"this.src='/img/cashing/bt-Application-on.jpg'\" onmouseout=\"this.src='/img/cashing/bt-Application-off.jpg'\" /></a></div>"
  content += "<p class=\"sim-p-top02\"><a href=\"#container\">このページのトップへ</a></p>"

  document.getElementById("content").innerHTML = content;  
  return 
}
