/**
 * 商品詳細関係のjavascript
 */

/* 丈つめの追加と取り消し処理 */
var incrementNum=0;
function addTakeBlock(this_obj)
{
    //親々DIVのIDに名前ををつける
    this_obj.parentNode.parentNode.id = this_obj.name + "_" + incrementNum;
    //親DIVのIDに名前ををつける
    this_obj.parentNode.id = "tmp_button_" + incrementNum;
    //親々DIVのIDを取得
    var targetId = this_obj.parentNode.parentNode.id;
    //入力値確認
    if(!chkInputValue(targetId)){
        return;
    }
    //対象IDのHTML追加用HTMLとして取得
    var addHTML = $(targetId).innerHTML;
    //ボタンを追加→取り消しに置き換えるため取得
    var newHTML = this_obj.parentNode.innerHTML;
    //文字列を置換して追加→取り消しに変更する
    newHTML = newHTML.replace(/追加/gi, "取消");
    newHTML = newHTML.replace(/addTakeBlock/gi, "deleteBlock");
    //旧ボタンを上書きする
    $(this_obj.parentNode.id).innerHTML = newHTML;

    //新規のIDを生成する
    var new_id = "size_tmp_" + incrementNum;
    var tmpData = "<div class='clearfix' id='" + new_id +"'>" + addHTML + "</div>"
    //対象DIVの後ろに追加する
    new Insertion.After($(targetId), tmpData);
    //追加後value値を削除する
    var new_obj = $(new_id).getElementsByTagName('input');
    $A(new_obj).each(function(obj){
        if (obj.type == "text") {
            obj.value ="";
        }
        if(obj.name.match(/item\[length\]/gi)){
            blurTake(obj);
        }
        }
    );
    incrementNum++;
    //フォーカス
    new BackColorInput("item_detail_form");
}

function takeChangeSize(){
    change_size('size_all','size_one', 3000);
}


//フォーカス時なし→からへ、背景css削除
function focusTake(this_obj)
{
    if (this_obj.value == "なし") {
        this_obj.value = "";
    }
    Element.removeClassName(this_obj , "i_d_onfocus_style");
}

//blur時、から→なしへ、なしなら背景セット、それ以外は削除する
function blurTake(this_obj) {
    if (this_obj.value.replace(/ |　/gi, "") == "") {
        this_obj.value = "なし";
        Element.addClassName(this_obj, "i_d_onfocus_style")
    } else {
        Element.removeClassName(this_obj , "i_d_onfocus_style");
    }
}

/* ブロック部分を削除する*/
function deleteBlock( deleteid ){
    if (!confirm('この数量・股下丈つめを取り消します')) {
        return;
    }
    var dom_obj_parent = $(deleteid).parentNode.parentNode;
    Element.remove(dom_obj_parent);
}

/* 単数入力と複数入力のきりかえ */
function change_size(size_all, size_one)
{
    //単数のサイズと数量を取得する
    var size_one_s_obj = document.getElementsByName("item[size]");
    var size_one_a_obj = document.getElementsByName("item[amount]");

    var size = "";
    if (size_one_s_obj[0].value) {
        size = size_one_s_obj[0].value;
    }
    var amount = "";
    if (size_one_a_obj[0].value) {
        amount = size_one_a_obj[0].value
    }

    $(size_one).innerHTML = "";

    //対象の一致したValue値の後のオブジェクトに足す
    $(size_all).style.display = "";
    var flag = false;
    var tagObj = $(size_all).getElementsByTagName("input");


    $A(tagObj).each(function(obj) {

        //inputに数量をセットするフラグが有効なら
        if (flag) {
            //数量をセットする
            obj.value = amount;
            //フラグを無効にする
            flag = false;
        } else {
            //対象のサイズである
            if (amount != "" && obj.value == size) {
                //次のループで現れるinputに数量をセットするフラグを設定
                flag = true;
            }
        }

        obj.disabled = false;
    });

    //切り替えボタン非表示
    $("size_all_btn").style.display = "none";
    //フォーカス時のイベント追加
    new BackColorInput("item_detail_form");
}

/* 関連商品やコーディネートのすべてみるボタン */
function child_dislpay(this_obj, parent_obj)
{
    if (!$(parent_obj)) { return ;}
    var li_obj = $(parent_obj).getElementsByTagName("li");
    $A(li_obj).each(function(obj){
        obj.style.display = "";
    });
    this_obj.parentNode.style.display = "none";
    return;
}

/* ネームの変更時 */
function changeName(this_obj)
{
    if (!confirm('ネーム入れは入力済みです。\n入力を見直しますか？')) {
        return;
    }
    submit_action(this, 'item_detail_form', 'name')
}

/* 商品の内容変更中の状態を解除する */
function resetUpdateMode(item_id, key, id)
{
    if (key && id) {
        var redirect_url = '/basket/change_item/?process=update_mode_reset&md=' + item_id + '&key=' + key + '&od=' + id;
    } else {
        var redirect_url = '/basket/change_item/?process=update_mode_reset&md=' + item_id;
    }
    location.href = redirect_url;
    return;
}
/* 丈つめ追加ボタン押下時入力チェック */
function chkInputValue(targetId)
{
    var err_flag = true;

    var chk_obj = $(targetId).getElementsByTagName('input');
    $A(chk_obj).each(function(obj){
        if(err_flag){
            if (obj.type == "text") {
                if(obj.name.match(/item\[amount\]/gi)){
                    if(!validateFormItem(obj,null, "数量", "require, maxLength =  4, Number")){
                        err_flag = false;
                        obj.focus();
                    }
                }
                if(obj.name.match(/item\[length\]/gi)){
                    if(obj.value == "なし"){
                        obj.value = "";
                    }
                    if(!validateFormItem(obj,null, "丈つめ", "maxLength =  2, Number")){
                        err_flag = false;
                        obj.focus();
                    }
                    blurTake(obj);
                }
            }
        }
    });
    return err_flag;
}

