var prefecture2region = new Array();
var region2fare       = new Array();
prefecture2region["北海道"] = "北海道";
prefecture2region["青森県"] = "北東北";
prefecture2region["岩手県"] = "北東北";
prefecture2region["秋田県"] = "北東北";
prefecture2region["宮城県"] = "南東北";
prefecture2region["山形県"] = "南東北";
prefecture2region["福島県"] = "南東北";

prefecture2region["栃木県"] = "関東";
prefecture2region["群馬県"] = "関東";
prefecture2region["茨城県"] = "関東";
prefecture2region["千葉県"] = "関東";
prefecture2region["埼玉県"] = "関東";
prefecture2region["東京都"] = "関東";
prefecture2region["神奈川県"] = "関東";
prefecture2region["山梨県"] = "関東";

prefecture2region["長野県"] = "信越";
prefecture2region["新潟県"] = "信越";

prefecture2region["富山県"] = "北陸";
prefecture2region["石川県"] = "北陸";
prefecture2region["福井県"] = "北陸";

prefecture2region["静岡県"] = "中部";
prefecture2region["岐阜県"] = "中部";
prefecture2region["愛知県"] = "中部";
prefecture2region["三重県"] = "中部";

prefecture2region["滋賀県"] = "関西";
prefecture2region["京都府"] = "関西";
prefecture2region["奈良県"] = "関西";
prefecture2region["大阪府"] = "関西";
prefecture2region["和歌山県"] = "関西";
prefecture2region["兵庫県"] = "関西";

prefecture2region["岡山県"] = "中国";
prefecture2region["鳥取県"] = "中国";
prefecture2region["広島県"] = "中国";
prefecture2region["島根県"] = "中国";
prefecture2region["山口県"] = "中国";

prefecture2region["香川県"] = "四国";
prefecture2region["徳島県"] = "四国";
prefecture2region["愛媛県"] = "四国";
prefecture2region["高知県"] = "四国";

prefecture2region["福岡県"] = "九州";
prefecture2region["佐賀県"] = "九州";
prefecture2region["大分県"] = "九州";
prefecture2region["長崎県"] = "九州";
prefecture2region["熊本県"] = "九州";
prefecture2region["宮崎県"] = "九州";
prefecture2region["鹿児島県"] = "九州";
prefecture2region["沖縄県"] = "沖縄";

region2fare["北海道"] = new Array();
region2fare["北東北"] = new Array();
region2fare["南東北"] = new Array();
region2fare["関東"] = new Array();
region2fare["信越"] = new Array();
region2fare["北陸"] = new Array();
region2fare["中部"] = new Array();
region2fare["関西"] = new Array();
region2fare["中国"] = new Array();
region2fare["四国"] = new Array();
region2fare["九州"] = new Array();
region2fare["沖縄"] = new Array();

region2fare["北海道"]["L"] = 1370;
region2fare["北海道"]["S"] = 1160;
region2fare["北東北"]["L"] = 1050;
region2fare["北東北"]["S"] = 840;
region2fare["南東北"]["L"] = 950;
region2fare["南東北"]["S"] = 740;
region2fare["関東"]["L"] = 950;
region2fare["関東"]["S"] = 740;
region2fare["信越"]["L"] = 950;
region2fare["信越"]["S"] = 740;
region2fare["北陸"]["L"] = 950;
region2fare["北陸"]["S"] = 740;
region2fare["中部"]["L"] = 950;
region2fare["中部"]["S"] = 740;
region2fare["関西"]["L"] = 1050;
region2fare["関西"]["S"] = 840;
region2fare["中国"]["L"] = 1160;
region2fare["中国"]["S"] = 950;
region2fare["四国"]["L"] = 1260;
region2fare["四国"]["S"] = 1050;
region2fare["九州"]["L"] = 1370;
region2fare["九州"]["S"] = 1160;
region2fare["沖縄"]["L"] = 1790;
region2fare["沖縄"]["S"] = 1260;

function calcPostage(){
    var priceElem      = document.getElementById("pprice");
    var postageElem    = document.getElementById("ppostage");
    var commissionElem = document.getElementById("pcommission");
    var totalElem      = document.getElementById("total");
    var prefectureElem = document.getElementById("prefecture");
    if (!priceElem      ||
	!postageElem    ||
	!commissionElem ||
	!totalElem      ||
	!prefectureElem) {
        return false;
    }

    var price       = parseInt(priceElem.getAttribute("value"));
    var commission  = parseInt(commissionElem.getAttribute("value"));
    var packagesize = totalElem.getAttribute("size");
    var payment     = totalElem.getAttribute("payment");

    var select = prefectureElem;
    var index = select.selectedIndex;
    var option = select.options[index];
    var region = prefecture2region[option.value];
    if (packagesize == "1") {
	var postage = region2fare[region]["S"];
    } else {
	var postage = region2fare[region]["L"];
    }

    if (payment == 1) { //代引き
	var total = price+postage+commission;
	replaceValue(postageElem, postage+"円");
	replaceValue(totalElem, price2str(total));
	return true;
    } else {
	var total = price+postage;
	replaceValue(postageElem, postage+"円");
	replaceValue(totalElem, price2str(total)+"＋振込手数料");
	return true;
    }
}

function replaceValue(elem, text){
    while (elem.firstChild) {
	elem.removeChild(elem.firstChild);
    }
    elem.appendChild(document.createTextNode(text));
}
function price2str(price){
    price  = parseInt(price);
    man    = Math.floor(price/10000);

    man_str = (man==0) ? "" : man + "万";
    yen = price - man*10000;

    return man_str+yen+"円";
}
