function createHttpRequest(){

	if(window.ActiveXObject){
		try {
			return new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP")
			} catch (e2) {
				return null
			}
		}
	} else if(window.XMLHttpRequest){
		return new XMLHttpRequest() //[1]'
	} else {
		return null
	}
}

//受信内容を確認してイベントを起動
function getFile( data , method , fileName , async ){

	//XMLHttpRequestオブジェクト生成
	var httpoj = createHttpRequest()
	httpoj.open( method , fileName , async )

	//受信時に起動するイベント
	httpoj.onreadystatechange = function(){
		if (httpoj.readyState==4){

			//コールバック
			on_loaded(httpoj)
		}
	}
	httpoj.send( data )
}

//コールバック関数 ( 受信時に実行されます )
function on_loaded(oj){
			dispTxt	= oj.responseText
			
			//整形して表示
			/*
			var aryIn = dispTxt.split("\n");
			*/
			var aryIn = dispTxt.split(",");
			dispTxt = seikei(aryIn);
			//dispTxt = autolink(dispTxt);
			/*
			document.getElementById("disp").innerHTML = dispTxt;
			*/
			var kekka_obj = document.getElementById("mitsumori4");
			kekka_obj.innerHTML = dispTxt; 

}

/*豊田が作った部分*/
function seikei(aryIn){
var dispTxt;
var kihon = myFormatNumber(aryIn[0]);
var insatsu = myFormatNumber(aryIn[1]);
var kami = myFormatNumber(aryIn[2]);
var seisaku = myFormatNumber(aryIn[3]);
//オプション料金の計算部分
A_array = new Array("","3600","6000","7200","8400","8800","9200","9600","10000","10500","11000");//二つ折り
B_array = new Array("","4800","7200","7800","8400","9000","9600");//三つ折り（巻き）
C_array = new Array("","4800","7200","7800","8400","9000","9200","9300","9400","9500","9600");//三つ折り（蛇腹）
D_array = new Array("","8400","9000","11000","11200","12000","13200","14400","15600","16800","18000");//DM折り
var print_maisu = document.kani_mitsumori.busu.value/1000;
var op = document.kani_mitsumori.kako.value;
var option;
if(op == "N"){
option = "0";
}else{
if(op == "A"){
option = A_array[print_maisu];
}else if(op == "B"){
option = B_array[print_maisu];
}else if(op == "C"){
option = C_array[print_maisu];
}else if(op == "D"){
option = D_array[print_maisu];
}
}

//合計の計算
var shoukei = eval(aryIn[0]) + eval(aryIn[1]) + eval(aryIn[2]) + eval(aryIn[3]) + eval(option);
var insatsu_kihon = eval(aryIn[0]) + eval(aryIn[1]) ;
var tanka = eval(shoukei/document.kani_mitsumori.busu.value);
tanka = tanka*100;
tanka = Math.round(tanka);
tanka = tanka/100;
var tax = Math.floor(shoukei*0.05);
var goukei = shoukei + tax;

if(insatsu =="undefined"){
alert("★料金表示エラー\n現在の条件では料金の表示ができませんでした");
dispTxt = "";
return dispTxt;
}else{
/*カンマの埋め込み*/
seisaku = myFormatNumber(seisaku);
insatsu_kihon = myFormatNumber(insatsu_kihon);
kami = myFormatNumber(kami);
option = myFormatNumber(option);
shoukei = myFormatNumber(shoukei);
tanka = myFormatNumber(tanka);
tax = myFormatNumber(tax);
goukei = myFormatNumber(goukei);
/*hiddenへの料金などの埋め込み*/
document.cgi_order.hd_insatsu.value = insatsu_kihon;
document.cgi_order.hd_kami.value = kami;
document.cgi_order.hd_gokei.value = goukei;
document.cgi_order.hd_tax.value = tax;
document.cgi_order.hd_shoukei.value = shoukei;
document.cgi_order.hd_op.value = option;
document.cgi_order.hd_seisaku.value = seisaku;
document.cgi_order.hd_tanka.value = tanka;
dispTxt = "<font color='#ff0000'><b>" + goukei + "円</b></font>（税込み）<ul><li>印刷代：" + insatsu_kihon + "円</li><li>用紙代：" + kami + "円</li><li>後加工代：" + option + "円</li><li>データ制作代：" + seisaku + "円<br /></li><li>送料：<font color='#ff0000'>無料</font><font size='1.0em'>（納品先2箇所目以上は実費）</font></li><li>小計：" + shoukei + "円</li><li>消費税：" + tax + "円</li><li>単価：<font color='#191970'><b>" + tanka + "円</b></font>（税抜き）</li></ul>";
return dispTxt;
}
}


function autolink(dispTxt){ 
var dispTxt_regexp = "(https?://[-\\w.!~*'();/?:@&=+$,%#]+)"; 
var re = new RegExp(""); 
re.compile( dispTxt_regexp, "ig" ); 

dispTxt = dispTxt.replace( re, "<a href=\"$1\">$1</a>" );
return dispTxt;
} 


/*数値に3桁ごとカンマを入れる*/

function myFormatNumber(x) { // 引数の例としては 95839285734.3245
    var s = "" + x; // 確実に文字列型に変換する。例では "95839285734.3245"
    var p = s.indexOf("."); // 小数点の位置を0オリジンで求める。例では 11
    if (p < 0) { // 小数点が見つからなかった時
        p = s.length; // 仮想的な小数点の位置とする
    }
    var r = s.substring(p, s.length); // 小数点の桁と小数点より右側の文字列。例では ".3245"
    for (var i = 0; i < p; i++) { // (10 ^ i) の位について
        var c = s.substring(p - 1 - i, p - 1 - i + 1); // (10 ^ i) の位のひとつの桁の数字。例では "4", "3", "7", "5", "8", "2", "9", "3", "8", "5", "9" の順になる。
        if (c < "0" || c > "9") { // 数字以外のもの(符合など)が見つかった
            r = s.substring(0, p - i) + r; // 残りを全部付加する
            break;
        }
        if (i > 0 && i % 3 == 0) { // 3 桁ごと、ただし初回は除く
            r = "," + r; // カンマを付加する
        }
        r = c + r; // 数字を一桁追加する。
    }
    return r; // 例では "95,839,285,734.3245"
}

