    function fExSet(lnk_prefix, fName, sb_cid, sb_from, sb_to){
        FRM = document.forms['' + fName + ''];
        FRM.action = lnk_prefix + "ex_select.php";
        FRM.sb_cid.value    = sb_cid;
        FRM.sb_from.value   = sb_from;
        FRM.sb_to.value     = sb_to;
        FRM.submit();
        return false;
    }
    function fExJump(lnk_prefix, lnk){
        if ( (lnk == 0) || (lnk == 1) ) { //from:ex_basket.php
            msg = fExCheckBasket();
            if(msg != ""){
                alert(msg);
                return false;
            }
            FRM = document.prize_frm;
            if(lnk == 0){
                FRM.action = lnk_prefix + "ex_basket.php";
                FRM.button_action.value = "Calc";
            }else{
                FRM.action = lnk_prefix + "ex_basket.php";
                FRM.button_action.value = "Confirm";
            }
        }
        if (lnk == 2) { //from:ex_confirm.php
            FRM = document.frm;
            FRM.action = lnk_prefix + "ex_destination.php";
            FRM.button_action.value = "Exchange";
        }
        if (lnk == 3) { //from:ex_confirm.php
            res = confirm("ポイント交換申込をおこないます。よろしいですか？");
            if (!res) { 
                return false;
            }else{
                FRM = document.frm;
                FRM.action = lnk_prefix + "ex_confirm.php";
                FRM.button_action.value = "Update";
            }
        }
        if (lnk == 4) { //from:ex_destination.php
            msg = fCheckDestination();
            if(msg != ""){
                alert(msg);
                return false;
            }
            FRM = document.frm;
            FRM.action = lnk_prefix + "ex_destination.php";
            FRM.button_action.value = "ChangeEx";
        }
        if (lnk == 5) { //from:ex_menu to:login
            FRM = document.menu;
            FRM.action = "login.php";
        }
        if (lnk == 6) { //from:ex_menu to:logout
            FRM = document.menu;
/* promo
            if(lnk_prefix == 2){
                FRM.action = "index_refer.php";
            }else{
                FRM.action = "index.php";
            }
*/
            FRM.action = "promo_ex_list.php";
        }
        FRM.method = "post";
        FRM.submit();
        return false;
    }
    function fExDel(lnk_prefix){ 
        FRM = document.prize_frm;

        //削除チェックボックスがチェックされているか確認
        pz_count = 0;
        pz_no=FRM.pz_no.value;
        if(pz_no == ""){
            alert("削除する賞品をチェックしてください。");
            return false;
        }
        pz_array=pz_no.split(",");
        for(i=0;i<pz_array.length;i++){
            if(FRM.elements['DelPrize['+pz_array[i]+']'].checked){
                pz_count++;
            }
        }
        if(pz_count <= 0){
            alert("削除する賞品をチェックしてください。");
            return false;
        }
        //チェックOKの場合
        res = confirm("賞品をお買いものカゴから削除します。よろしいですか？");
        if (res) { 
            FRM.action = lnk_prefix + "ex_basket.php";
            FRM.button_action.value = "DelCart";
            FRM.method = "post";
            FRM.submit();
        }
        return false;
    }
    function fExCheckBasket(){
        FRM=document.prize_frm;
        quantity=0;
        total=0;
        price=0;
        pz_count = 0;
        st_point=FRM.st_point.value;
        pz_no=FRM.pz_no.value;
        if(pz_no == ""){
            return "交換する賞品を選択してください。";
        }
        pz_array=pz_no.split(",");
        for(i=0;i<pz_array.length;i++){
            if(FRM.elements['myCart['+pz_array[i]+'][quantity]'].value){
                pz_count++;
            }
        }
        if(pz_count > 1){
            //複数件の場合
            for(v=0;v<pz_count;v++){
                pz_int = parseInt(pz_array[v]);
                quantity = FRM.elements['myCart['+pz_int+'][quantity]'].value;
                price    = FRM.elements['myCart['+pz_int+'][exchange_price]'].value;
                quantity = convNum(quantity);
                FRM.elements['myCart['+pz_int+'][quantity]'].value = quantity;
                if(isNaN(quantity)){
                    FRM.elements['myCart['+pz_int+'][quantity]'].focus();
                    return "数量には１以上の数値を入力してください。";
                }else if(quantity<=0){
                    FRM.elements['myCart['+pz_int+'][quantity]'].focus();
                    return "数量には１以上の数値を入力してください。";
                }else{
                    total += quantity * price;
                }
            }
        }else{
            //１件の場合
            quantity = FRM.elements['myCart['+pz_no+'][quantity]'].value;
            price    = FRM.elements['myCart['+pz_no+'][exchange_price]'].value;
            quantity = convNum(quantity);
            FRM.elements['myCart['+pz_no+'][quantity]'].value = quantity;
            if(isNaN(quantity)){
                FRM.elements['myCart['+pz_no+'][quantity]'].focus();
                return "数量には１以上の数値を入力してください。";
            }else if(quantity<=0){
                FRM.elements['myCart['+pz_no+'][quantity]'].focus();
                return "数量には１以上の数値を入力してください。";
            }else{
                total += quantity * price;
            }
        }
        if(total>st_point){
            return "合計ポイント数が使用可能なポイント数を上回っています。";
        }
        return "";
    }
    function fExAddBasket(pz_no, before_quantity, exchange_price, points, total){
      FRM=document.prize_frm;
      FRM_PZ=document.prize_list;
      quantity = FRM_PZ.elements['quantity['+pz_no+']'].value;
      quantity = convNum(quantity);
      FRM_PZ.elements['quantity['+pz_no+']'].value = quantity;
      // 入力項目：入力値チェック
      if(isNaN(quantity)){
          alert("数量には１以上の数値を入力してください。");
          FRM_PZ.elements['quantity['+pz_no+']'].focus();
          return false;
      }else if(quantity<=0){
          alert("数量には１以上の数値を入力してください。");
          FRM_PZ.elements['quantity['+pz_no+']'].focus();
          return false;
      }else if(exchange_price<=0){
          alert("交換ポイント数０のため、交換できません。");
          FRM_PZ.elements['quantity['+pz_no+']'].focus();
          return false;
      }else{
          // 合計値チェック
          chk_total = total + exchange_price * (quantity - before_quantity);
          if(chk_total>points){
              alert("合計ポイント数が使用可能なポイント数を上回っています。");
              FRM_PZ.elements['quantity['+pz_no+']'].focus();
              return false;
          }else{
              FRM.quantity.value=quantity;
              FRM.pz_no.value=pz_no;
              FRM.button_action.value="AddBasket";
              FRM.method="post";
              FRM.submit();
              return false;
          }
      }
    }
    function fExPLoad(lnk_prefix, sw){
        if(sw != 0){
            parent.document.location.replace(lnk_prefix + "ex_basket.php");
        }
    }
    function fCheckDestination(){
        FRM=document.frm;
        //値の退避のチェック
        v_name=trimAll(FRM.ex_name.value);
        v_zip1=trimAll(FRM.ex_zip1.value);
        v_zip2=trimAll(FRM.ex_zip2.value);
        v_addr1=trimAll(FRM.ex_addr1.value);
        v_addr2=trimAll(FRM.ex_addr2.value);
        v_tel=trimAll(FRM.ex_tel.value);
        //配送情報のチェック
        if(v_name.length<=0){ 
            FRM.ex_name.focus();
            return "配送先の名前を入力してください。";
        }else if(v_name.length > 40){
            FRM.ex_name.focus();
            return "配送先の名前は４０桁以内で入力してください。";
        }
        v_zip1 = convNum(v_zip1);
        if(v_zip1.match(/[\D]/g)){ 
            FRM.ex_zip1.focus();
            return "配送先の郵便番号上３桁は数値を入力してください。";
        }else if( v_zip1.length <= 0 || v_zip1.length != 3 ){ 
            FRM.ex_zip1.focus();
            return "配送先の郵便番号上３桁は３桁で入力してください。";
        }
        v_zip2 = convNum(v_zip2);
        if(v_zip2.match(/[\D]/g)){ 
            FRM.ex_zip2.focus();
            return "配送先の郵便番号下４桁は数値を入力してください。";
        }else if( v_zip2.length <= 0 || v_zip2.length != 4 ){ 
            FRM.ex_zip2.focus();
            return "配送先の郵便番号下４桁は４桁で入力してください。";
        }
        if( FRM.ex_dist.selectedIndex <= 0 || FRM.ex_dist.value == ""){ 
            FRM.ex_dist.focus();
            return "都道府県を選択してください。";
        }
        if(v_addr1.length <= 0){ 
            FRM.ex_addr1.focus();
            return "住所１を入力してください。";
        }else if(v_addr1.length > 50){ 
            FRM.ex_addr1.focus();
            return "住所１は５０桁以内で入力してください。";
        }
        if(v_addr2.length > 50){ 
            FRM.ex_addr2.focus();
            return "住所２は５０桁以内で入力してください。";
        }
        if(v_tel.length <= 0){ 
            FRM.ex_tel.focus();
            return "電話番号を入力してください。";
        }else if(v_tel.length > 20){ 
            FRM.ex_tel.focus();
            return "電話番号は２０桁以内で入力してください。";
        }else if(v_tel.match(/[\D]/g)){ 
            FRM.ex_tel.focus();
            return "電話番号は数値のみ、ハイフンなしで入力してください。";
        }
        return "";
    }
    function trimAll(sString){
        while (sString.substring(0,1) == ' '){
            sString = sString.substring(1, sString.length);
        }
        while (sString.substring(sString.length-1, sString.length) == ' '){
            sString = sString.substring(0,sString.length-1);
        }
        return sString;
    }
    function convNum(bText){
        han = "0123456789";
        zen = "０１２３４５６７８９";
        str = "";
        for (i=0; i<bText.length; i++)
        {
            c = bText.charAt(i);
            n = zen.indexOf(c,0);
            if (n >= 0) c = han.charAt(n);
            str += c;
        }
        return str;
    }

