//イベントチェック処理 Enterを使用しないようにする。
document.onkeydown = function(){
    if(window.event.keyCode == 13){
        if(window.event.srcElement.type != "textarea"){
            return false;
        }
    };
}


function CurSubmitSet(name, val){
    TmpForm = document.forms[0];
    TmpTag = SearchElements(name);
    TmpTag.value = val;
    TmpForm.submit();
    
}

function CurSubmitAction(setaction){
    TmpForm = document.forms[0];
    if(setaction != ""){
        TmpForm.action = setaction;
    }
    TmpForm.submit();
}

function CurSubmit(){
    TmpForm = document.forms[0];
    TmpForm.submit();
}

/////////////////////////////////////////////
//管理者画面
//フォームObject
//ex> FormOnlySubmit(this.form);
function FormOnlySubmit(form){
    form.submit();
}
//フォームObject, 1-3
//ex> FormSubmit(this.form, 1);
function FormSubmit(form, butFlg){
    form._ButtonId.value = butFlg;
    form.submit();
}
//管理者検索−検索一覧からリンク処理
/*
    GetForm : フォーム名
    GetElement : 取得するフィールド名
    SetElement : セットするフィールド名
    Index : 配列の場合、配列のインデックス
*/
//function ListSubmit(GetForm, GetElement, SetElement, Index){
function ListSubmit(GetElement, SetElement, Index){
    var GetVal = "";
    var GetObj = SearchElementsMulti(GetElement);
    var SetObj = SearchElements(SetElement);
    

    if (GetObj.length == undefined){
        GetVal  = GetObj.value;
    }else{
        GetVal = GetObj[Index].value;
    }
    SetObj.value = GetVal;
}

function SearchForms(name){
    var i = 0;
    var j = 0;

    var GetForm = document.forms;
    for (i = 0; i < GetForm.length; i++){
        if (GetForm[i].name == name){
            break;
        }
    }
    return GetForm[i];
}


function SearchElements(name){
    var i = 0;
    var j = 0;
    var GetElement = "";

    var GetForm = document.forms;
    for (i = 0; i < GetForm.length; i++){
        GetElement = GetForm[i].elements;
        for(j = 0; j < GetElement.length; j++){
            if (GetElement[j].name == name){
                break;
            }
        }
    }
    return GetElement[j];
}

function GetTypeName(typeNo){    
    switch(typeNo){
        case 1:
            type = "select-one";
        break;
        default:
            type = "text";
        break;
    }
    
    return type;
}
/*
    指定したタイプすべての値を取得して、新しいフィールドにセットする。
    HeaderChar : 新しいフィールドの頭文字 Default : old
    type : 検索タイプ
*/
function SetSelectBox(HeaderChar, typeNo){
    var i = 0;
    var j = 0;
    var GetElement = "";
    var type = ""    
   
    if (HeaderChar == ""){
        HeaderChar = "old";
    }

    type = GetTypeName(typeNo)

    var GetForm = document.forms;
    for (i = 0; i < GetForm.length; i++){
        GetElement = GetForm[i].elements;
        for(j = 0; j < GetElement.length; j++){
            if (GetElement[j].type == type){
                NewEle = SearchElements(HeaderChar + GetElement[j].name);
                NewEle.value = GetElement[j].value;
                if(GetElement[j].value != ""){
                    //選択したもののテキストを取得する
                    NewEleName =  SearchElements(HeaderChar + GetElement[j].name + "Name");
                    if(NewEleName != null & NewEleName != undefined){
                        NewEleName.value = GetElement[j][GetElement[j].selectedIndex].text;
                    }
                }
            }
        }
    }
}
/*
    SelectBoxから指定されたものの値を別のタグにセットする
    HeaderChar : 頭文字
    typeNo : 検索するタグのタイプ
    name : 検索するタグ
    ex> SetSelectBoxName('Sel', 1, '_ItemCategory');
    _ItemCategoryの名前のSelectBoxを検索して選択した項目の値を取得し、Sel_ItemCategoryのタグにセットする
*/
function SetSelectBoxName(HeaderChar, typeNo, name){
    var i = 0;
    var j = 0;
    var GetElement = "";
    
    var type = ""    

    if (HeaderChar == ""){
        HeaderChar = "old";
    }
    
    type = GetTypeName(typeNo)


    var GetForm = document.forms;
    for (i = 0; i < GetForm.length; i++){
        GetElement = GetForm[i].elements;
        for(j = 0; j < GetElement.length; j++){
            if (GetElement[j].type == type){
                if(GetElement[j].name == name){
                    NewEle = SearchElements(HeaderChar + GetElement[j].name);
                    NewEle.value = GetElement[j].value;
                    break;
                }
            }
        }
    }
}

function SubmitCall(FormName, mode){
    var ActionName = Array("確認", "登録", "削除", "戻る", "CSV出力");
    var GetForm = SearchForms(FormName);

    var GetEleActionMode = SearchElements("ActionMode");
    var GetEleSearchFlg = SearchElements("searchFlg");
    var GetEleSubmitEntry = SearchElements("submitEntry");
    var GetEleSubmitDelete = SearchElements("submitDelete");
    var GetEleSubmitConfirm = SearchElements("submitConfirm");
    var GetEleSubmitBack = SearchElements("submitBack");
    var GetEleUpdFlg = SearchElements("updFlg");
    var GetEleDelFlg = SearchElements("delFlg");
    var GetCsv = SearchElements("submitCSV");

    var SetSearchFlg = "";
    var SetSubmitEntry = "";
    var SetSubmitConfirm = "";
    var SetUpdFlg = "";
    var SetDelFlg = "";
    var SetSubmitDelete = "";
    var SetSubmitBack = "";
    var SetCSVDownload = "";
    var SetActionMode = mode;

    if (mode=='Entry' || mode=='Confirm' || mode=='Add' || mode=='Update' || mode=='Delete' || mode=='Search' || mode == 'CSVDownload') {

        if (mode=='Entry' || mode=='Search') {
            SetSubmitConfirm = ActionName[0];
           if (mode=='Search') {
                SetActionMode ='Entry';
                SetSearchFlg = true;
            }else if(mode=='Entry'){

            }
        }else if (mode=='Add' || mode=='Update') {
            SetActionMode ='LineEntry';
            SetSubmitEntry = ActionName[1];
            if (mode=='Update') {
                SetUpdFlg = true;
            }
        }else if (mode=='Delete'){
            SetActionMode ='LineEntry';
            SetSubmitDelete = ActionName[2];
            SetDelFlg = true;
        }else if (mode=='Confirm') {
            SetSubmitBack = ActionName[3];
        }else if(mode == 'CSVDownload'){
            SetCSVDownload = ActionName[4];
        }

    }
    if (GetEleActionMode != undefined){
        GetEleActionMode.value = SetActionMode;
    }
    if (GetEleSearchFlg != undefined){
        GetEleSearchFlg.value = SetSearchFlg;
    }
    if (GetEleSubmitConfirm != undefined){
        GetEleSubmitConfirm.value = SetSubmitConfirm;
    }
    if (GetEleSubmitEntry != undefined){
        GetEleSubmitEntry.value = SetSubmitEntry;
    }
    if (GetEleUpdFlg != undefined){
        GetEleUpdFlg.value = SetUpdFlg;
    }
    if (GetEleDelFlg != undefined){
        GetEleDelFlg.value = SetDelFlg;
    }
    if (GetEleSubmitDelete != undefined){
        GetEleSubmitDelete.value = SetSubmitDelete;
    }
    if (GetEleSubmitBack != undefined){
        GetEleSubmitBack.value = SetSubmitBack;
    }
    if (GetCsv != undefined){
        GetCsv.value = SetCSVDownload;
    }

    GetForm.submit();
}


function SearchElementsMulti(name){
    var i = 0;
    var j = 0;
    var cnt = 0;
    var GetElement = new Array();
    var CurGetElement = new Array();

    var GetForm = document.forms;
    for (i = 0; i < GetForm.length; i++){
        GetElement = GetForm[i].elements;
        for(j = 0; j < GetElement.length; j++){
            if (GetElement[j].name == name){
                CurGetElement[cnt] = GetElement[j];
                cnt += 1;
            }
        }
    }
    return CurGetElement;
}

//CheckBox
function SetCheckBox(GetField, SetField){
    var i = 0;
    var selVal = "";
    var valFlg = false;

    var chkObj = SearchElementsMulti(GetField)

    if(chkObj == undefined){
        return true;
    }

    if(chkObj.length == undefined){
        if(chkObj.checked){
            valFlg = true;
            selVal = chkObj.value;
        }
    }else{

        for(i = 0; i < chkObj.length; i++){
            if(chkObj[i].checked){
                if(!valFlg){
                    valFlg = true;
                }
                if(selVal != ""){
                    selVal = selVal + ",";
                }
                selVal += chkObj[i].value;
            }
            
        }
    }
  /*  if(!selVal){
        return false;
    }
*/
    var outObj = SearchElements(SetField);
    outObj.value = selVal;
    return true;
}

/*
    指定した名前のテキスト値を取得する(複数の場合)
    InName :探しフィールド名
    OutName : 値をセットするフィールド
*/
function GetMultiText(InName, OutName){
    var GetVal = "";
    var GetObj = SearchElementsMulti(InName);
    if(GetObj == null){
        return false;
    }

    if (GetObj.length == undefined){
        GetVal  = GetObj.value;
    }else{
        GetVal = "";        
        for(i = 0; i < GetObj.length; i++){
            GetVal = GetVal + GetObj[i].value;
            if(i < GetObj.length-1){
                GetVal = GetVal + ",";
            }
        }
    }
    var OutObj = SearchElements(OutName);
    if(OutObj != null){
        OutObj.value = GetVal;
    }
}



function setFormElement(form_name, get_ele_name, set_ele_name, index, submit_flg){
    var ele_value = "";
    var form = document.forms[form_name];
    
    if(form != null & form != undefined){
        var element =form.elements[get_ele_name];
        if(element != null){
            if(element.length == undefined){
                  ele_value = element.value;
            }else{
                  ele_value = element[index].value;
            }
            var set_element = form.elements[set_ele_name];
            if(set_element != null & set_element != undefined){
                set_element.value = ele_value;
            }
        }
    }
    
    if(submit_flg){
        form.submit();
    }
}

function setOnlyFormElement(form_name, set_ele_name, set_value, submit_flg){
    var in_flg = false;
    var ele_value = "";
    var form = document.forms[form_name];
    
    if(form != null & form != undefined){
        var set_element = form.elements[set_ele_name];
        if(set_element != null & set_element != undefined){
            set_element.value = set_value;
            in_flg = true;
        }
    }
    
    if(in_flg & submit_flg){
        form.submit();
    }
}
//f_form_nameの要素の値をt_form_nameの要素にセットする
function set_f_ele_t_ele(f_form_name, f_ele, t_form_name, t_ele, submit_flg){
    var su_flg = false;
    var set_f_ele = "";
    var set_t_ele = "";
    var f_form = document.forms[f_form_name];
    var t_form = document.forms[t_form_name];
    
    if(f_form != null & f_form != undefined){
        set_f_ele = f_form.elements[f_ele];

        if(t_form != null & t_form != undefined){
            set_t_ele = t_form.elements[t_ele];
            if(set_t_ele != null & set_t_ele != undefined){
                set_t_ele.value = set_f_ele.value;
                su_flg = true;
            }
        }    
    }
    if(su_flg & submit_flg){
        t_form.submit();
    }

}