function CalcForm(shubetsu_f,discount_f,post_f){
	document.form1.txtRIYU.value="";
	if (InputChk(shubetsu_f,discount_f)){
		if (shubetsu_f==0) {
			return Calc_Pera(discount_f,post_f);
		}else{
			return Calc_Page(discount_f,post_f);
		}
	}else{
		return false;
	}
}

//入力チェック
function InputChk(i,discount_f) {
    if ( t1Chk() &&  t2Chk(i) && t3Chk() && t4Chk() && t5Chk() && t6Chk()　&& t7Chk() ) {
 		if (isNaN(document.form1.txtSURYO.value)) {
			alert("■入力値エラー\n\n部数の項目には、半角数字を入力してください。");			
			return false;		
		}else{
			if (document.form1.txtSURYO.value==0){
				alert("■入力値エラー\n\n部数の項目には、0以上の数字を入力してください。");			
            	return false;
			}
		}
		if (discount_f==1) {
			if (isNaN(document.form1.txtDIS.value)) {
				alert("■入力値エラー\n\n割引率の項目には、半角数字を入力してください。");			
				return false;		
			}else{
				if (document.form1.txtDIS.value==0){
					alert("■入力値エラー\n\n割引率の項目には、数字を入力してください。");			
					return false;
				}
			}
		}
		return true;
    }else{
		msg = "記入が正しくありません。\n"
		msg += "\n仕上げサイズ入力チェック: " + (t1Chk() ? "OK" : "未選択です。");
		if ( i == 0 ){
			msg += "\n刷り印刷（表面）入力チェック  : " + (t2Chk(i) ? "OK" : "未選択です。");
		}else{
			msg += "\nページ数入力チェック  : " + (t2Chk(i) ? "OK" : "未選択です。");
		}
		if ( i == 0 ){
			msg += "\n刷り印刷（裏面）入力チェック  : " + (t3Chk(i) ? "OK" : "未選択です。");
		}else{
			msg += "\n刷り印刷（表面）入力チェック  : " + (t3Chk(i) ? "OK" : "未選択です。");
		}
		msg += "\n後加工入力チェック : " + (t4Chk() ? "OK" : "未選択です。");
		msg += "\n紙質入力チェック : " + (t5Chk() ? "OK" : "未選択です。");
		msg += "\n紙の重さ入力チェック : " + (t6Chk() ? "OK" : "未選択です。");
		msg += "\n部数入力チェック : " + (t7Chk() ? "OK" : "未記入です。");
		alert(msg);
		return false;
    }
	return false;
}

//各項目が未入力かどうかの確認
function t1Chk() {if ( document.form1.rbnSIZE.value == '' ) return false; else return true;}
function t2Chk() {if ( document.form1.rbnOMO.value == '' ) return false; else return true;}
function t3Chk() {if ( document.form1.rbnURA.value == '' ) return false; else return true;}
function t4Chk() {if ( document.form1.rbnKAKO.value == '' ) return false; else return true;}
function t5Chk() {if ( document.form1.ddlSHITSU.value == '' ) return false; else return true;}
function t6Chk() {if ( document.form1.ddlJYU.value == '' ) return false; else return true;}
function t7Chk() {if ( document.form1.txtSURYO.value == '' ) return false; else return true;}

function radio_check(rdo){
	for(i=0;i<=rdo.length-1;i++){			//要素数分ループ
		if(rdo[i].checked){				//どれが選ばれているかを判定
			return rdo[i].value;			//設定されているValue値を返す
		}
	}
}

//割引の割合算出
function discount_value(){
	var dof=document.form1;
	var size,omo,ura;

	size=radio_check(dof.rbnSIZE);
	omo=eval(radio_check(dof.rbnOMO).substr(0,1));
	ura=eval(radio_check(dof.rbnURA).substr(0,1));
	
	if ((omo==4) || (ura==4)) {
			dof.txtDIS.value=0.5;
		} else if ((omo==2) || (ura==2)) {
			dof.txtDIS.value=0.5;
		} else {
			dof.txtDIS.value=0.5;
		}	
	}

//ドロップダウンリスト作成
function List_Omosa(){
	var dof;
	var len;
	var datas=PAPER.split("|");
	var j=1;
	var i;
	dof=document.form1;
	len = dof.ddlJYU.length;
	for (i=1 ; i<len ; i++){
		dof.ddlJYU.options[len-i]=null;
		if (navigator.appName.substring(0,1) == "N"){
			history.go(0);
		} 
 	}
	dof.ddlJYU.options[0]=new Option("----下記から選択してください----","");
	if (dof.ddlSHITSU.value!=""){
		for (i=0 ; i<datas.length ; i++){
			var str=datas[i].split(",");
			if (dof.ddlSHITSU.value==str[0]){
				dof.ddlJYU.options[j]=new Option(str[1],str[1]);
				if (navigator.appName.substring(0,1) == "N"){
					history.go(0);
				}
				j=j+1;
			}
		}
	}
}

//価格計算ロジック(formpera.htm)
function Calc_Pera(i,post_f){

	//イニシャライズ
	var dof=document.form1;
	var discount,size,i_men,y_men,y_tanka,y_wei,size_no,size_shu,suryo;
	var paper=PAPER.split("|");

	//価格計算
	//用紙の計算
	var PrintCost=PrintCostKei("pera","",1);
	if (isNaN(PrintCost)==true) {
		if (post_f==0) {
			dof.txtGOKEI.value=0;
			dof.txtRIYU.value="既定の部数超過の為、別途御見積りになります。";
		} else {
			dof.txtGOKEI.value="既定の部数超過の為、別途御見積りになります。";
		}
		return true;
	}	
	var YoshiCost=YoshiCostKei("pera","",1);
	var AtoKako=AtoKakoKei();

	if (AtoKako=="false"){
		dof.txtGOKEI.value=0;
		return false;
	}

	//用紙サイズ
	size=radio_check(dof.rbnSIZE);
	size_shu=size.substr(0,1);
	size_no=eval(size.substr(1,1));
	omo=eval(radio_check(dof.rbnOMO).substr(0,1));
	ura=eval(radio_check(dof.rbnURA).substr(0,1));
	var omo,ura;
	if (i==0) {
		if ((omo==4) || (ura==4)) {
				discount=0.5;
			} else if ((omo==2) || (ura==2)) {
				discount=0.5;
			} else {
				discount=0.5;
			}
		}
	else{
		discount=eval(dof.txtDIS.value);
	}

	//部数	
	suryo=eval(dof.txtSURYO.value);
	
	//印刷面付け
	i_men=Math.pow(2,size_no-2);
	//用紙面付け
	y_men=i_men*2;

	//印刷代合計を算出
	var sub_Gokei,Gokei;
	sub_Gokei=Math.round(PrintCost*discount+YoshiCost);
	Gokei=Math.ceil(sub_Gokei/1000)*1000;

	//用紙の重さと単価計算
	for (k=0 ; k<paper.length ; k++){
		var str_p=paper[k].split(",");
		if (dof.ddlSHITSU.value==str_p[0]){
			if (dof.ddlJYU.value==str_p[1]){
				if (size_shu=="A"){
					y_wei=eval(str_p[3]);
				}else{
					y_wei=eval(str_p[2]);
				}
			}
		}
	}

	//宅急便代金
	//=((A11/Ａサイズ)/1000*用紙)/25
	var Takkyu_bin,bin_kei;
	if (size_no==1) {
		bin_kei=2000;
	} else if (size_no==2) {
		bin_kei=2000;
	} else {
		bin_kei=1000;
	}
	Takkyu_bin=Math.ceil(suryo/y_men/1000*y_wei/25)*bin_kei;

	//合計金額表示（消費税対応）
	var GOOKEI;
	GOOKEI=eval(Gokei)+Takkyu_bin+1000+AtoKako;
	dof.txtGOKEI.value=Num_Format(GOOKEI*1.05);
	dof.txtGOKEI_HI.value=Num_Format(GOOKEI);
	dof.txtSHOHI_HI.value=Num_Format(GOOKEI*0.05);
	dof.txtSO_GOKEI.value=Num_Format(GOOKEI*1.05);
	return true;

}

//価格計算ロジック(formpage.htm)
function Calc_Page(i,post_f){

	//イニシャライズ
	var dof=document.form1;
	var discount,size,i_men,y_men,y_tanka,y_wei,size_no,size_shu,suryo,page_su,toshi;
	var paper=PAPER.split("|");

	if (i==0) {
		discount=0.4;
	}else{
		discount=eval(dof.txtDIS.value);
	}

	var size,size_no,size_shu,P8,P4;
	size=radio_check(dof.rbnSIZE);
	size_no=eval(size.substr(1,1));
	size_shu=size.substr(0,1);

	if (size_shu=="A"){
		P8=size_shu + "2";
		P4=size_shu + "3";
		i_men=1;
		y_men=2;
	} else {
		P8=size_shu + "3";
		P4=size_shu + "4";
		i_men=1;
		y_men=4;
	}

	var sub_PrintCost_8page=10000+eval(PrintCostKei("page",P8,1))*discount;
	if (isNaN(sub_PrintCost_8page)==true) {
		if (post_f==0) {
			dof.txtGOKEI.value=0;
			dof.txtRIYU.value="既定の部数超過の為、別途御見積りになります。";
		} else {
			dof.txtGOKEI.value="既定の部数超過の為、別途御見積りになります。";
		}
		return true;
	}
	var sub_YoshiCost_8page=YoshiCostKei("page",P8,1);
	var sub_PrintCost_4page=eval(PrintCostKei("page",P4,2))*discount;
	var sub_YoshiCost_4page=YoshiCostKei("page",P4,2);
	var ICost_8=eval(sub_PrintCost_8page)+eval(sub_YoshiCost_8page);
	var ICost_4=eval(sub_PrintCost_4page)+eval(sub_YoshiCost_4page);
	

	//部数	
	suryo=eval(dof.txtSURYO.value);
	//表色数
	page_su=radio_check(dof.rbnOMO);
	page_su=eval(page_su.substr(0,page_su.length-1));

	//用紙の重さと単価計算
	for (k=0 ; k<paper.length ; k++){
		var str_p=paper[k].split(",");
		if (dof.ddlSHITSU.value==str_p[0]){
			if (dof.ddlJYU.value==str_p[1]){
				if (size_shu=="A"){
					y_wei=eval(str_p[3]);
				}else{
					y_wei=eval(str_p[2]);
				}
			}
		}
	}
	
	var p8_kei=Math.floor(page_su/8);
	var p4_kei;	
	if (page_su%8==0) {
		p4_kei=0;
	} else {
		p4_kei=1;
	}

	//宅急便代金
	var Takkyu_bin=Math.ceil(suryo/y_men/1000*y_wei/25)*1000*(p8_kei+(p4_kei*0.5));

	//印刷代合計を算出
	var sub_Gokei,Gokei,Gokei_H,Gokei_Len;
	sub_Gokei=Math.round((ICost_8*p8_kei)+(ICost_4*p4_kei));
	Gokei=Math.ceil(sub_Gokei/1000)*1000;

	var AtoKako=radio_check(dof.rbnKAKO);
	var tanka=TANKA_PAGE.split("|");
	var p4,p8,option;
	for (k=0 ; k<tanka.length ; k++){
		var str_t=tanka[k].split(",");
		if (size_shu==str_t[0]){
			if (suryo <= eval(str_t[1])){
				toshi=Math.ceil(eval(suryo)/i_men);
				p4=eval(str_t[4]);
				p8=eval(str_t[5]);
				if (AtoKako=="なし") {
					option=0;
				} else {
					option=eval(str_t[6]);
				}
				break;
			}
		}
	}

	var cost;
	cost=((p8*p8_kei)+option+(p4*p4_kei))*toshi*discount;
	
	//合計金額表示（消費税対応）
	var GOOKEI;
	GOOKEI=Math.ceil((eval(Gokei)+1000+eval(Takkyu_bin)+eval(cost))/1000)*1000;
	dof.txtGOKEI.value=Num_Format(GOOKEI*1.05);
	dof.txtGOKEI_HI.value=Num_Format(GOOKEI);
	dof.txtSHOHI_HI.value=Num_Format(GOOKEI*0.05);
	dof.txtSO_GOKEI.value=Num_Format(GOOKEI*1.05);
	return true;

}


function PrintCostKei(value,size_f,i){
	//イニシャライズ
	var dof=document.form1;
	var tanka;
	var k,size,i_men,y_men,omo_iro,ura_iro,iro,size_no,size_shu,son,dan,i_kei,toshi,i_ritsu,suryo,H_size;

	//部数	
	suryo=eval(dof.txtSURYO.value)/i;

	//色数と用紙サイズ
	size=size_f;
	if (value=="page"){
		tanka=TANKA_PAGE.split("|");
		iro=eval(radio_check(dof.rbnURA).substr(0,1))*2;
		size_no=eval(size.substr(1,1));
		size_shu=size.substr(0,1);
		H_size=size_shu;
		i_men=1;
	} else {
		tanka=TANKA_PERA.split("|");
		iro=eval(radio_check(dof.rbnURA).substr(0,1))+eval(radio_check(dof.rbnOMO).substr(0,1));
		size=radio_check(dof.rbnSIZE);
		size_no=eval(size.substr(1,1));
		size_shu=size.substr(0,1);
		H_size=size;
		i_men=Math.pow(2,size_no-2);
	}

	for (k=0 ; k<tanka.length ; k++){
		var str_t=tanka[k].split(",");
		if (H_size==str_t[0]){
			if (suryo <= eval(str_t[1])){
				toshi=Math.ceil(eval(suryo)/i_men);
				i_kei=eval(str_t[2]);
				son=eval(str_t[3]);
				if (value=="page") {
					dan=0;
					i_ritsu=1;
				} else {
					dan=eval(str_t[4]);
					i_ritsu=eval(str_t[5]);
				}
				break;
			}
		}
	}

	//価格計算
	var Shoki;
	if (size_shu=="A"){
		Shoki=2500;
	}else{
		Shoki=3000;
	}

	var SubPrint;
	if (i_kei>100){
		SubPrint=i_kei;
	}else{
		SubPrint=i_kei*toshi;
	}

	//印刷代
	var PrintCost=Shoki*iro*i_ritsu+(SubPrint*iro)+(dan*suryo);
	return PrintCost;

}

function YoshiCostKei(value,size,i){

	var dof=document.form1;
	var paper=PAPER.split("|");
	var k,size,i_men,y_men,iro,y_tanka,y_wei,size_no,size_shu,son,toshi,suryo,H_size;

	//部数	
	suryo=eval(dof.txtSURYO.value)/i;

	//色数と用紙サイズ
	if (value=="page"){
		tanka=TANKA_PAGE.split("|");
		iro=eval(radio_check(dof.rbnURA).substr(0,1))*2;
		size_no=eval(size.substr(1,1));
		size_shu=size.substr(0,1);
		H_size=size_shu;
	} else {
		tanka=TANKA_PERA.split("|");
		iro=eval(radio_check(dof.rbnURA).substr(0,1))+eval(radio_check(dof.rbnOMO).substr(0,1));
		size=radio_check(dof.rbnSIZE);
		size_no=eval(size.substr(1,1));
		size_shu=size.substr(0,1);
		H_size=size;
	}

	//用紙の重さと単価計算
	for (k=0 ; k<paper.length ; k++){
		var str_p=paper[k].split(",");
		if (dof.ddlSHITSU.value==str_p[0]){
			if (dof.ddlJYU.value==str_p[1]){
				y_tanka=eval(str_p[4]);
				if (size_shu=="A"){
					y_wei=eval(str_p[3]);
				}else{
					y_wei=eval(str_p[2]);
				}
			}
		}
	}

	if (value=="page"){
		if (size_shu=="B") {
			i_men=1;
			y_men=4;
		} else {
			i_men=1;
			y_men=2;
		}
	} else {
		i_men=Math.pow(2,size_no-2);
		y_men=i_men*2;
	}

	//損紙率の値取得
	for (k=0 ; k<tanka.length ; k++){
		var str_t=tanka[k].split(",");
		if (H_size==str_t[0]){
			if (suryo <= eval(str_t[1])){
				toshi=Math.ceil(eval(suryo)/i_men);
				son=eval(str_t[3]);
				break;
			}
		}
	}

	//用紙の計算
	var YoshiCost=suryo/y_men;
	if (value=="page"){
		YoshiCost=(eval(suryo)+(iro*son/100*toshi))/1000/y_men*y_wei*y_tanka;
	} else {
		YoshiCost=(eval(YoshiCost)+(iro*son/100*toshi))/1000*y_wei*y_tanka;
	}

	return YoshiCost;

}

function AtoKakoKei(){

	var dof=document.form1;
	var size,AtoKako,suryo;
	var KakoKei,KakoRitsu;
	var ato=ATO.split("|");

	size=radio_check(dof.rbnSIZE);
	suryo=eval(dof.txtSURYO.value);
	AtoKako=radio_check(dof.rbnKAKO);

	//後加工分金額算出
	if (AtoKako=="なし") {
		KakoKei=0;
	}else{
		var msg;
		var j=0;
		for (k=0 ; k<ato.length ; k++){
			var str_a=ato[k].split(",");
			if (AtoKako==str_a[0]){
				if (size==str_a[1]){
					if (suryo <= eval(str_a[2])){
						KakoRitsu=eval(str_a[3]);
						break;
					}
				}else{
					var w_str;
					if (w_str==str_a[1]){
					}else{
						if (j==0){
							msg=str_a[1];
							j=j+1;
						}else{
							msg=msg + "," + str_a[1];
						}
					}
					w_str=str_a[1];
				}
			}
			if(k==ato.length-1){
				alert("■構成エラー\n\n仕上げサイズが" + size + "の時に、" + AtoKako + "加工は選択できません。\n\n選択可能な仕上げサイズ：" + msg);
				dof.txtGOKEI.value=0;
				return "false";
			}
		}
	}

	if (AtoKako=="なし") {
		return 0;
	}else{
		if (eval(suryo)>=1000) {
			KakoKei=KakoRitsu*eval(suryo)*0.7;
		} else {
			KakoKei=KakoRitsu*1000*0.7;
		}
		
		if (KakoKei<=3000){
			return 3000;
		}else{
			return Math.ceil(KakoKei/1000)*1000;
		}
	}

}

function Num_Format(in_num){
	//カンマ付加関数
	var strA = new String(in_num);
	var strALeng = strA.length;
	if(strALeng%3 == 0)
	{
		sep = strALeng/3-1;
	}
	else
	{
		sep = Math.floor(strALeng/3);
	}
	i=3;
	for(j=0; j<sep; j++)
	{
		strA = strA.substring(0,strALeng-i) + "," + strA.substring(strALeng-i,strALeng);
		strALeng++;
		i++;
		i+=3;
	}
	return strA;
}

