//aタグからPostでSubmitする
function SetSubmit(url,mode,id,trget)
{
  var obj_fm = document.register;
  obj_fm.target=trget;
  obj_fm.qMode.value=mode;
  obj_fm.qId.value=id;
  obj_fm.action=url;
}
function RunSubmit(url,mode,id,trget)
{
  var obj_fm = document.register;
  obj_fm.target=trget;
  obj_fm.qMode.value=mode;
  obj_fm.qId.value=id;
  obj_fm.action=url;
  obj_fm.submit();
}
function PageSubmit(url,mode,id,trget)
{
  var obj_fm = document.register;
  obj_fm.target=trget;
  obj_fm.method='post';
  obj_fm.qMode.value=mode;
  obj_fm.qPage.value=id;
  obj_fm.action=url;
  obj_fm.submit();
}

/********************************************************************
 * 指定フォームのボタンをすべて押下不可にする
 *
 * add 2006.04/11 hyodo

 */

function lockButton(frm,flg){

    var obj = frm.getElementsByTagName("input");
    for( var i = 0 ; i < obj.length ; i++ ){
        var type = obj[i].getAttribute('type');
        if( type == 'button' || type == 'submit' || type == 'reset' || type == 'image'){
            obj[i].disabled = true;
        }
    }
    if(flg){
        frm.submit() ;
    }
}

/********************************************************************
 * クッキー内の値を更新する
 *
 * add 2008.01/21 hyodo
 *
 */
function resetCookieValue(index, url, mode){
    if(mode == "srchword"){
        cookiename = ecdef.srch;
        character  = ecdef.delim;
    }else{
        cookiename = ecdef.chk;
        character  = ",";
    }

    ary_cookie_words = getCookieValue(cookiename,character) ;

    i=0;
    j=0;
    ary_new_cookie = new Array();
    // 更新後のCookie
    while(ary_cookie_words[i]){
        if(mode == "srchword"){
            if(i != index){
                ary_new_cookie[j] = ary_cookie_words[i];
                j++;
            }
        }else{
            if(ary_cookie_words[i] != index){
                ary_new_cookie[j] = ary_cookie_words[i];
                j++;
            }
        }
        i++;
    }

    // 更新する文字列
    str_new_cookie = "";
    if(ary_new_cookie.length != 0){
        i=1;
        str_new_cookie = ary_new_cookie[0];
        while(ary_new_cookie[i]){
            str_new_cookie += character + ary_new_cookie[i];
            i++;
        }
    }

    setCookieValue(cookiename, str_new_cookie,0) ;

    // リダイレクト
    document.location = url;
}

/********************************************************************
 * 対象のcookieを取得し、値を配列で返す
 *
 * add 2008.01/21 hyodo
 *
 */
function getCookieValue(cookiename,character){

    ary_cookie = unescape(document.cookie).split("; ");
    str_cookie = "";
    ary_cookie_words = new Array() ;
    i=0;

    while(ary_cookie[i]){
        // 対象となるCookieを取得
        if(ary_cookie[i].search(cookiename) != -1){
            str_cookie = ary_cookie[i];
            break;
        }
        i++;
    }

    // キーワードを配列に格納
    if(str_cookie != ""){
        ary_cookie = str_cookie.split("=");
        ary_cookie_words = ary_cookie[1].split(character);
    }

    return ary_cookie_words ;
}

/********************************************************************
 * cookieをセットする
 *
 * add 2008.01/21 hyodo
 *
 */

function setCookieValue(cookiename, str_new_cookie, expire){

    dTime = new Date();
    str_expires = "" ;

    // Cookieをセット
    if(str_new_cookie == ""){
        // 中身が無い場合はkeyごと削除する
        dTime.setYear(dTime.getYear() - 1);
        str_expires = ";expires=" + dTime.toGMTString() ;
    }else{
        if(expire > 0){
            // 有効期限を設定する（日が渡される）
            dTime.setDate(dTime.getDate()+expire);
            str_expires = ";expires=" + dTime.toGMTString() ;
        }
    }
    document.cookie = cookiename + "=" + escape(str_new_cookie) + str_expires + ";path=/";

}

/********************************************************************
 * 商品比較用のIDをcookieにセットする
 *
 * add 2008.01/21 sota
 *
 */
function SetID(cpform,maxnum,expire){

    var ary_ids = getCookieValue("eccpi",",");
    var flg = false ;

    if(cpform.diid.checked === true){
        if (ary_ids.length == 0){
            setCookieValue("eccpi",cpform.diid.value,expire);
        }else{
            // チェックされたものがすでにセットされているかチェック
            for(var i=0; i<ary_ids.length; i++){
                if(ary_ids[i] == cpform.diid.value){
                    flg = true ;
                    break ;
                }
            }
            // セットされていれば何もしない
            if(flg === true){
                return true;
            }
            // 新しいIDをセット
            if(ary_ids.length < maxnum){
                var new_ids = ary_ids.join(",")
                new_ids += "," + cpform.diid.value ;
                setCookieValue("eccpi",new_ids,expire);
            }else{
                alert("一度に表示できる数は"+ maxnum + "件までです");
                cpform.diid.checked = false ;
                return true ;
            }
        }
    }else{
        if (ary_ids.length == 0){
            // 何もしません
        }else{
            // 対象のIDを配列から除く
            var j = 0 ;
            var ary_new_ids = new Array() ;
            for(var i=0; i<ary_ids.length; i++){
                if(ary_ids[i] != cpform.diid.value){
                    ary_new_ids[j] = ary_ids[i] ;
                    j++ ;
                }
            }

            var new_ids = "" ;
            if(ary_new_ids.length > 0){
                new_ids = ary_new_ids.join(",") ;
            }
            setCookieValue("eccpi",new_ids,expire);
        }
    }
}

function CheckID(){
    var ary_ids = getCookieValue("eccpi",",");
    var fname = "" ;
    for(var i=0; i<ary_ids.length; i++){
        fname = "cpform"+ary_ids[i] ;
        if(!document.getElementsByName(fname)[0]){
        }else{
            document.getElementsByName(fname)[0].diid.checked = true ;
        }
    }
}

function DeleteID(id){
    cookiename = ecdef.cookie;
    expire = ecdef.expire;
    rtnurl = decodeURIComponent(ecdef.rtnurl);

    var ary_ids = getCookieValue(cookiename,",");
    var ary_new_ids = new Array() ;
    var j = 0 ;
    for(var i=0; i<ary_ids.length; i++){
        if(ary_ids[i] != id){
            ary_new_ids[j] = ary_ids[i] ;
            j++ ;
        }
    }
    var new_ids = ary_new_ids.join(",") ;
    setCookieValue(cookiename,new_ids,expire);
    gotoUrl(rtnurl) ;
}

function gotoUrl(url){
    location.href=url;
}

function ChangeOrder(id,order){
    cookiename = ecdef.cookie;
    expire = ecdef.expire;
    rtnurl = decodeURIComponent(ecdef.rtnurl);

    var ary_ids = getCookieValue(cookiename,",");
    var ary_new_ids = new Array() ;

    j=0;
    for(var i=0; i<ary_ids.length; i++){
        if(i == order-1){
            ary_new_ids[i] = ary_ids[order] ;
        }else if(i == order){
            ary_new_ids[i] = ary_ids[order-1] ;
        }else{
            ary_new_ids[i] = ary_ids[i] ;
        }
    }
    var new_ids = ary_new_ids.join(",") ;
    setCookieValue(cookiename,new_ids,expire);
    gotoUrl(rtnurl) ;
}

function Display(){
    var ecug = "ecug";
    var memgrpid = "";

    var elements = document.getElementsByTagName("div");
    var tmp = new Array();
    var ft  = new Array();
    var memgrplist = getCookieValue(ecug,",");

    for(i=0;i<elements.length;i++){
        // 単品商品の場合の処理
        if(elements[i].id in item["a"]){
            tmpprice = 0;
            for(j=0;j<memgrplist.length;j++){
                if(memgrplist[j] in item["a"][elements[i].id]){
                    itemprice = item["a"][elements[i].id][memgrplist[j]];
                    if(tmpprice == 0 || tmpprice > itemprice){
                        document.getElementById(elements[i].id).innerHTML = (str1 + to_comma(itemprice) + str2).fontcolor(font)+"<BR>";
                        tmpprice = item["a"][elements[i].id][memgrplist[j]];
                    }
                }
            }
        }
    }

    var slct = document.getElementsByTagName("select");

    // 商品グループ(セレクト)の場合の処理
    for(k=0; k<slct.length; k++){
        if(slct[k].id in item["s"]){
            for(key in item["s"][slct[k].id]){
                for(n=0; n<memgrplist.length; n++){
                    tmpprice = 0;
                    if(memgrplist[n] in item["s"][slct[k].id][key]){
                        sitemprice = item["s"][slct[k].id][key][memgrplist[n]]["iprc"];
                        if(tmpprice == 0 || tmpprice > sitemprice){
                            slct[k].options[item["s"][slct[k].id][key]["k"]].text = item["s"][slct[k].id][key][memgrplist[n]]["istr"];
                            tmpprice = item["s"][slct[k].id][key][memgrplist[n]]["iprc"];
                        }
                    }
                }
            }
        }
    }

}
function to_comma (from){
    var to = String(from);
    var tmp = "";
    while (to != (tmp = to.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2"))){
        to = tmp;
    }
    return to;
}

/********************************************************************
 * 商品詳細のIDをCOOKIEにセットする
 *
 * add 2008.03/03 ageda
 *
 */
function SetCheckId(itemid, maxnum, expire){
    var ary_cookie_ids = getCookieValue("eccki",",");

    // 同じものが既にある場合、先にあるものを削除する。
    for(i=0;i<ary_cookie_ids.length;i++){
        if(itemid == ary_cookie_ids[i]){
            ary_cookie_ids.splice(i,1);
        }
    }
    ary_cookie_ids[ary_cookie_ids.length] = itemid;

    // クッキーの登録最大数を超えた場合、先に登録されてものから削除
    if(ary_cookie_ids.length > maxnum){
        var del_num = ary_cookie_ids.length - maxnum;
        ary_cookie_ids.splice(0,del_num);
    }
    var str_cookie_ids = ary_cookie_ids.join(",");
    setCookieValue("eccki",str_cookie_ids,expire);
}

function checkStockNumber(maxsize){
    var max = maxsize;

    if( document.payform.inc.checked && document.payform.elements['del[]']){
        var cnt =0;
        if( document.payform.elements['del[]'].length > 0){
            for(var i = 0; i<document.payform.elements['del[]'].length;i++){
                if( document.payform.elements['del[]'][i].checked ){
                    cnt++;
                }
            }
            if( document.payform.elements['del[]'].length - cnt + 1 > max){
                alert("登録できるカード情報は"+max+"件までです。");
                document.payform.inc.checked=false;
            }
        }
        else if(document.payform.elements['del[]']){
            if( document.payform.elements['del[]'].checked == false && max <2){
                alert("登録できるカード情報は"+max+"件までです。");
                document.payform.inc.checked=false;
            }
        }
    }
}

/**
 * 配送伝票番号から配送情報をポップアップ表示
 * 使用する場合、同時に下記の対応をすること
 *   - テンプレート内にreceiveフォームを作成すること
 *   - receiveフォーム内にuseridタグ(ユーザーID)を作成すること
 *   - receiveフォーム内にnumber00タグ(詳細表示有無)を作成すること
 *   - receiveフォーム内にnumber01タグ(伝票番号)を作成すること
 *
 *   ex)
 *      <form name="receive" action="ECC_KURONEKOYAMATO_RECEIVE_URL">
 *        <input type="hidden" name="userid" value="ECC_KURONEKOYAMATO_USERID">
 *        <input type="hidden" name="number00" value="ECC_KURONEKOYAMATO_NUMBER_00">
 *        <input type="hidden" name="number01" value="">
 *      </form>
 */
function openReceiveDetail(iVoucherCode) {
    // 引数チェック
    if(iVoucherCode == "" || iVoucherCode == null || iVoucherCode == undefined) {
        // 実行なし
        return ;
    }
    // 値を設定
    oForm = document.receive;
    oForm.number01.value = iVoucherCode;
    oForm.submit();

}
