//GLOBAL変数
var DEBUG_MODE = "false";
var INS_GROUP_COUNT;
var FLD_COUNT;
var FLD_COUNT_SUMMARY = 1;
var NEXT_COUNT;
var ADD_CHLID_ID	= "AddFld";
var ADD_CHLID_NEW_ID	= "AddFld_NEW";
var ADD_PRNT_ID		= "searchTopField_up";
var ADD_FLD_CLASS	= "Top002_up";
var ADD_LEFT		= "_left";
var ADD_RIGHT		= "_right";
var REP_NO		= "__FORMNO__";
var NEXT_NO		= "__NEXTNO__";
var ADD_FLD_LINK_MESS	= "__ADD_LINK_MESS__";
var FLD_PRE_ID		= "FLD_COUNT_";
var MAX_FLD_1		= 11;
var MAX_FLD		= 10;
var ADD_FLD_LINK_ID	= "AddFldLink_";
var ADD_FLD_LINK_NAME;
var LGC_FLD_ID		= "LgcFld";
//　0 : すべてチェック状態
//  1 : いづれかチェックされていない。
var IS_CHK_OR_S30_STATE	= 'true';
var IS_CHK_OR_S31_STATE	= 'true';

var PRE_KEY_ID		= "IS_KEY_S";
var PRE_TAG_ID		= "IS_TAG_S";
var PRE_LGC_ID		= "IS_LGC_S";

var RE_KEY_ID          = "RE_IS_KEY_S";
var RE_TAG_ID          = "RE_IS_TAG_S";
var RE_LGC_ID          = "RE_IS_LGC_S";

//ダウンロードチェックID
var OUTPUT		= "OUTPUT_";

//連結文字列
var CONCAT		= "________________CONCAT_________________";

var SEARCH_FLD_CONT	= 0;
var SEARCH_LINK_DEL    = "SEARCH_LINK_DEL";
var SEARCH_LINK_ADD     = "SEARCH_LINK_ADD";

var IS_CHK_OR_S30	= "IS_CHK_OR_S30";
var IS_CHK_OR_S31	= "IS_CHK_OR_S31";

var IS_CND_S		= "IS_CND_S";


ROO_TAG			="<root>";
_ROO_TAG			="</root>";
UP_DATE_TAG		= "<update>";
_UP_DATE_TAG		= "</update>";
COUNT_TAG		= "<count>";
_COUNT_TAG		= "</count>";

/*
inForm : form名
tag    : 検索対象タグ
opt    : 設定値
*/
function addCNDOPT(inForm,tag,opt) {
	//if($("IS_TAG_S1")) alert($("IS_TAG_S1").value);

	var _cnt = 1;
	var _tag = PRE_TAG_ID + _cnt;
	var _key = PRE_KEY_ID + _cnt;

	//検索条件を追加するFORMをセット
        var _form = document.forms[inForm];
	if ($(_key) != null) {
	do{
		
		if ($(_key) != null && $(_key).value != '' && $(_tag).value == tag) {
		var Name = IS_CND_S + _cnt;
//alert(Name);
		//検索条件を追加
		var query = document.createElement("input");
			query.type = "hidden";
			//query.type = "text";
			query.name = Name;
			query.value = opt;
			_form.appendChild(query);
		}

		_cnt++;
		_tag = PRE_TAG_ID + _cnt;
		_key = PRE_KEY_ID + _cnt;
	}while($(_key) != null);
	}
}


function addEleminForm(inForm,inName,inValue){
        //検索条件を追加するFORMをセット
        var _form = document.forms[inForm];
        //検索条件を追加
        var query = document.createElement("input");
	query.type = "hidden";
        query.name = inName;
        query.value = inValue;
	_form.appendChild(query);
}

//Summary_01_Html.xslを参照
function searchConditionSet() {

	var _count = 1;
	var _count_10 = 11;

	var _flg    = FLD_PRE_ID + _count;
	var _flg_10 = FLD_PRE_ID + _count_10;

	var _key;
	var _tag;
	var _lgc;
	var _key_10;
        var _tag_10;
        var _lgc_10;

	do{



		if ( $(_flg).style.display == "none" && $(_flg_10).style.display != "none" ) {
			_key = PRE_KEY_ID + _count;
			_key_10 = PRE_KEY_ID + _count_10;

			_lgc = PRE_LGC_ID + _count;
			_lgc_10 = PRE_LGC_ID + _count_10;

			_tag = PRE_TAG_ID + _count;
			_tag_10 = PRE_TAG_ID + _count_10;

			//キーワードの移動
			if ( $(_key) != null && $(_key_10) != null ) {
				$(_key).value = $(_key_10).value;
				//$(_key_10).value = "";
			}

			//論理演算子
			if ( $(_lgc) != null && $(_lgc_10) != null ) {
				$(_lgc).selectedIndex = $(_lgc_10).selectedIndex;
				//$(_lgc_10).selectedIndex = 0;
			}

			//検索対象タグ
			if ( $(_tag) != null && $(_tag_10) != null ) {
				$(_tag).selectedIndex = $(_tag_10).selectedIndex;
				//$(_tag_10).selectedIndex = 0;
			}

/*
			if ( DEBUG_MODE == 'true') {
				alert("No:" + _count);
                        	alert("キーワード移動完了");
	                        alert("_keyの状態  '" + $(_key).value + "'");
        	                alert("_key_10の状態  '" + $(_key_10).value + "'");
                	        alert("論理演算子移動完了");
	                        alert("_lgcの状態  '" + $(_lgc).value + "'");
        	                alert("_lgc_10の状態  '" + $(_lgc_10).value + "'");
                	        alert("検索対象タグ移動完了");
	                        alert("_tagの状態  '" + $(_tag).value + "'");
        	                alert("_tag_10の状態  '" + $(_tag_10).value + "'");
			}
*/

		}
		_count++;
		_count_10++;
		_flg    = FLD_PRE_ID + _count;
		_flg_10 = FLD_PRE_ID + _count_10;
	} while ( $(_flg) != null && $(_flg_10) != null);



        //検索条件を連結する。
        _count = 1;
        _count_10 = 11;

        /*
                送信form変更

        */
        var MST = "_MST_";
        var MST_FOM = "IRPSCH_MST_";
        var _key_mst_ ="";
        var _lgc_mst_ ="";
        var _tag_mst_ ="";

        var key_str = "";
        var lgc_str = "";
        var tag_str = "";

        do {
                _key = PRE_KEY_ID + _count;
                _lgc = PRE_LGC_ID + _count;
                _tag = PRE_TAG_ID + _count;

                _key_mst_ = PRE_KEY_ID + _count_ + MST;
                _lgc_mst_ = PRE_LGC_ID + _count_ + MST;
                _tag_mst_ = PRE_TAG_ID + _count_ + MST;

                if($(_key).value != '') {
                        if($(_key) != null) {
                                key_str = key_str + $(_key).value + CONCAT;
                                //$(_key).value = "";
                        } else {
                                key_str = key_str + CONCAT;
                        }
                        if($(_lgc) != null) {
                                //alert(_count);
                                lgc_str = lgc_str + $(_lgc).value + CONCAT;
                                //$(_lgc).value = "";
                        } else {
                                lgc_str = lgc_str + CONCAT;
                        }
                        if($(_tag) != null) {
                                tag_str = tag_str + $(_tag).value + CONCAT;
                                //$(_tag).value = "";
                        } else {
                                tag_str = tag_str + CONCAT;
                        }
                }
                _count++;

        } while (_count < _count_10);

        //alert(key_str);
        //alert(lgc_str);
        //alert(tag_str);

	// 送信フォームをリセット
	resetIRPMST();

        var key_array = key_str.split(CONCAT);
        var lgc_array = lgc_str.split(CONCAT);
        var tag_array = tag_str.split(CONCAT);

        for (_count = 0; _count < key_array.length; _count++) {

                var _count_ = _count + 1;
                _key = PRE_KEY_ID + _count_;
                _lgc = PRE_LGC_ID + _count_;
                _tag = PRE_TAG_ID + _count_;

		_key_mst_ = PRE_KEY_ID + _count_ + MST;
		_lgc_mst_ = PRE_LGC_ID + _count_ + MST;
		_tag_mst_ = PRE_TAG_ID + _count_ + MST;	

                //alert(key_array[_count]);
                //alert(lgc_array[_count]);
                //alert(tag_array[_count]);

                if($(_key_mst_) != null) {
			$(_key_mst_).value = key_array[_count];
		} else {
			addEleminForm(MST_FOM,_key,key_array[_count]);
		}
                if($(_lgc_mst_) != null) {
			$(_lgc_mst_).value = lgc_array[_count];
		} else {
			addEleminForm(MST_FOM,_lgc,lgc_array[_count]);
		}
                if($(_tag_mst_) != null) {
			$(_tag_mst_).value = tag_array[_count];
		} else {
			addEleminForm(MST_FOM,_tag,tag_array[_count]);
		}
        }

}

function resetIRPMST(){

        var MST = "_MST_";
        var MST_FOM = "IRPSCH_MST_";
        var _key_mst_ ="";
        var _lgc_mst_ ="";
        var _tag_mst_ ="";

	var _count = 1;

        do {
                _key_mst_ = PRE_KEY_ID + _count + MST;
                _lgc_mst_ = PRE_LGC_ID + _count + MST;
                _tag_mst_ = PRE_TAG_ID + _count + MST;

		if ($(_key_mst_) != null) $(_key_mst_).value = ""; 
		if ($(_lgc_mst_) != null) $(_lgc_mst_).value = ""; 
		if ($(_tag_mst_) != null) $(_tag_mst_).value = ""; 
                _count++;
        } while ( _count < 21 );
}

function reSearchConditionSet() {
        var _count = 1;
        var _count_10 = 11;

        var _key;
        var _tag;
        var _lgc;
        var _key_10;
        var _tag_10;
        var _lgc_10;

                        _key = RE_KEY_ID + _count;
                        _key_10 = RE_KEY_ID + _count_10;

                        _lgc = RE_LGC_ID + _count;
                        _lgc_10 = RE_LGC_ID + _count_10;

                        _tag = RE_TAG_ID + _count;
                        _tag_10 = RE_TAG_ID + _count_10;


        do{
	        //キーワードの移動
	        if (  ($(_key) != null && $(_key_10) != null ) &&
	                ( $(_key).value == "" && $(_key_10).value != "" )  ){

	                $(_key).value = $(_key_10).value;
	                $(_key_10).value = "";

		        //論理演算子
		        if (  ($(_lgc) != null && $(_lgc_10) != null)  &&
		                ( $(_lgc).value == "" && $(_lgc_10).value != "" )  ){
		                $(_lgc).value = $(_lgc_10).value;
		                $(_lgc_10).value = "";
		        }

		        //検索対象タグ
		        if (  ($(_tag) != null && $(_tag_10) != null ) &&
		                ( $(_tag).value == "" && $(_tag_10).value != "" )  ){
		                $(_tag).value = $(_tag_10).value;
		                $(_tag_10).value = "";
		        }

/*
		        if ( DEBUG_MODE == 'true') {
		                alert("No:" + _count);
		                alert("キーワード移動完了");
		                alert("_keyの状態  '" + $(_key).value + "'");
		                alert("_key_10の状態  '" + $(_key_10).value + "'");
		                alert("論理演算子移動完了");
		                alert("_lgcの状態  '" + $(_lgc).value + "'");
		                alert("_lgc_10の状態  '" + $(_lgc_10).value + "'");
		                alert("検索対象タグ移動完了");
		                alert("_tagの状態  '" + $(_tag).value + "'");
		                alert("_tag_10の状態  '" + $(_tag_10).value + "'");
		        }
*/			

			

	        }

                _count++;
                _count_10++;

                        _key = RE_KEY_ID + _count;
                        _key_10 = RE_KEY_ID + _count_10;

                        _lgc = RE_LGC_ID + _count;
                        _lgc_10 = RE_LGC_ID + _count_10;

                        _tag = RE_TAG_ID + _count;
                        _tag_10 = RE_TAG_ID + _count_10;

        } while ( $(_key) != null && $(_key_10) != null);


	//検索条件を連結する。
        _count = 1;
        _count_10 = 11;

        var key_str = "";
        var lgc_str = "";
        var tag_str = "";

	do {
		_key = RE_KEY_ID + _count;
		_lgc = RE_LGC_ID + _count;
		_tag = RE_TAG_ID + _count;

		if ($(_key) != null) {
		if($(_key).value != '') {
			if($(_key) != null) {
				key_str = key_str + $(_key).value + CONCAT;
				$(_key).value = "";
			} else {
				key_str = key_str + CONCAT;
			}
			if($(_lgc) != null) {
				//alert(_count);
				lgc_str = lgc_str + $(_lgc).value + CONCAT;
				$(_lgc).value = "";
			} else {
				lgc_str = lgc_str + CONCAT;
			}
			if($(_tag) != null) {
				tag_str = tag_str + $(_tag).value + CONCAT;
				$(_tag).value = "";
			} else {
				tag_str = tag_str + CONCAT;
			}
		}

		}
		_count++;

	} while (_count < _count_10);

	//alert(key_str);
	//alert(lgc_str);
	//alert(tag_str);
	

	var key_array = key_str.split(CONCAT);  
	var lgc_array = lgc_str.split(CONCAT);
	var tag_array = tag_str.split(CONCAT);

	for (_count = 0; _count < key_array.length; _count++) {

		var _count_ = _count + 1;
                _key = RE_KEY_ID + _count_;
                _lgc = RE_LGC_ID + _count_;
                _tag = RE_TAG_ID + _count_;
		
		
		//alert(key_array[_count]);
		//alert(lgc_array[_count]);
		//alert(tag_array[_count]);

		if($(_key) != null) $(_key).value = key_array[_count];
		if($(_lgc) != null) $(_lgc).value = lgc_array[_count];
		if($(_tag) != null) $(_tag).value = tag_array[_count];
	}
}




function getFile(xmlFileName) {

	var xmlFilePass = "/templateXML/" + xmlFileName;
	$(ADD_FLD_LINK_NAME).innerHTML = "&#160;<a href=\"javascript:AddFld();\">" + xmlFileName + "</a>";
/*
	$(ADD_FLD_LINK_NAME).innerHTML = "<span class=\"line\">|</span>&#160;<a href=\"javascript:AddFld();\">" + xmlFileName + "</a>";
*/




	//サーバとの通信は、postを使用する。(キャッシュ対策)
/*
	new Ajax.Request(
		xmlFilePass, 
		{ 
			method: "post", 
			onComplete: roadTemplateXML,
			contentType:"text/xml",
	                onFailure:function(httpObj){
        	                alert("サーバ通信エラーのため、フィールド追加に失敗しました。");
				FLD_COUNT = FLD_COUNT - 1;
                	}
		}
	);
*/
}

function roadTemplateXML(httpObj){

	//alert(ADD_FLD_LINK_NAME);

	var XML = httpObj.responseText;
	//var XML = httpObj.responseXML;
	var repXML = _xRepAll(XML,ADD_FLD_LINK_MESS,getMess());

	//alert(repXML);


	$(ADD_FLD_LINK_NAME).innerHTML = repXML;

	//現在のチャイルドノードの状態を取得
/*
	var orgXML = $(ADD_CHLID_ID).innerHTML;
	$(ADD_CHLID_ID).innerHTML = orgXML + repXML;
	var orgXML = $(ADD_CHLID_ID).innerHTML;
	var orgXML_NEW = $(ADD_CHLID_NEW_ID).innerHTML;
	$(ADD_CHLID_ID).innerHTML = orgXML + orgXML_NEW;	
	$(ADD_CHLID_NEW_ID).innerHTML = repXML;
	var add_div = ADD_CHLID_ID + FLD_COUNT;
	$(add_div).innerHTML = repXML;
	defaultSetting();
	assignFormSubmit_temp(FLD_COUNT);
*/
}

//デフォルトセッティング
function defaultSetting(){
	if(FLD_COUNT == 1){
		setSelectIndexIS_TAG(FLD_COUNT,0);
	} else if (FLD_COUNT == 2) {
		setSelectIndexIS_TAG(FLD_COUNT,3);
	} else if (FLD_COUNT == 3) {
		setSelectIndexIS_TAG(FLD_COUNT,1);
        } else if (FLD_COUNT == 4) {
		setSelectIndexIS_TAG(FLD_COUNT,2);
        } else if (FLD_COUNT == 5) {
		setSelectIndexIS_TAG(FLD_COUNT,4);
        } else {
		setSelectIndexIS_TAG(FLD_COUNT,0);
	}
}

function setSelectIndexIS_TAG(no,selectidx){
        //with( document.IRPSCH ) {
		var _name_ = "IS_TAG_S" + no;
		
		if ( $(_name_) != null ) $(_name_).selectedIndex = selectidx; 
/*
	//	alert(no +"__"+ selectidx);
		if(elements[name] != null){
			elements[name].selectedIndex = selectidx;
			alert(elements[name].value);
		}
		if ( $(name) != null ) $(name).value = "al"; 
*/
	//}
}

function assignFormSubmit_temp(no){
        var inForm = "IRPSCH";
	var inName = "IS_KEY_S" + no;
	//var ele = document.IRPSCH.elements[inName];
	var ele = $(inName);
        // イベントを設定
        ele.onkeydown = keySubmitEvent2 ;
	// イベントに値を持たせられないのでカスタム属性に値を設定
	ele.submitform = inForm ;
}



function rep_all(str){
	reg1 = new RegExp(REP_NO , "g");
	return str.replace(reg1 , FLD_COUNT);

/*
        reg2 = new RegExp(NEXT_NO , "g");
        return ret_str.replace(reg2 , NEXT_COUNT);
*/
}

/*
function SearchCheckAjax(){
var param_str = Form.serialize('SCH_CHECK');
        new Ajax.Request(
           "./zway",
           {
                "method": "post",
                "parameters": param_str,
                "contentType":"application/xml",
                onSuccess:function(httpObj){
                   var ajax_rep = httpObj.responseText;
                   SCH_FLG = ajax_rep.indexOf(CHECK_VALUE);
                },
                onFailure:function(httpObj){
                        alert("サーバ通信エラー");
                },
                onException : function(){
                        alert("システムエラーが発生しました。");
                }
           }
        );
}
*/

//表示・非表示を切り替える。
function ChangeDisp(id){
        if ($(id).style.display == "none") {
		_xDisplay(id,'');
		if ( id == 'InsGroup' ) {
			_xDisplay('AllSelectButton','');
		}
        } else {
		_xDisplay(id,'none');

	        if ( id == 'InsGroup' ) {
			//AllCloseInsGroup();
			_xDisplay('AllSelectButton','none');
        	}
        }
}

//機関グループを全て閉じる
function AllCloseInsGroup(){

	for(count=1 ; count <= INS_GROUP_COUNT  ; count++){
		FLG = "ID_" + count;
		_xDisplay(FLG,'none');
	}
}

// 設定したイベントの処理
function keySubmitEvent( ev ) {
        // IE のブラウザ不整合対応
        if ( window.event ) ev = window.event ;
        // リターンキーだけを処理対象とする
        if ( ev.keyCode == 13 ) {
                searchSubmit() ;
        }
}

// 設定したイベントの処理
function keySubmitEvent2( ev ) {
        // IE のブラウザ不整合対応
        if ( window.event ) ev = window.event ;
        // リターンキーだけを処理対象とする
        if ( ev.keyCode == 13 ) {
                searchSubmit2() ;
        }
}


function assignFormSubmit(inForm) {

	var __count = 1;
        var _id = ADD_FLD_LINK_ID + '1';
        //検索結果一覧画面なら
        if( $(_id) != null ){

		FLD_COUNT_SUMMARY = 0;

		var _fld_id = FLD_PRE_ID + __count;
		//FLD_COUNT_SUMMARYをセット
		do{
			if ( $(_fld_id).style.display != "none" ) {
				FLD_COUNT_SUMMARY++;
			}
			__count++;
			_fld_id = FLD_PRE_ID + __count;
		} while($(_fld_id) != null);
                defaultLinkSet();
		//フィールドが表示されていない場合は、最低1個表示する。
		//_fld_id = ADD_CHLID_ID + '1';
		//$(_fld_id).style.display = "";
		//alert(FLD_COUNT_SUMMARY);

        } else {
		//myD = new Date();
		//myYear = myD.getYear();
		//year = (myYear < 2000) ? myYear+1900 : myYear ;
		//if ( $('DateSpan') != null ) $('DateSpan').innerHTML = year + "/" + (myD.getMonth()+1) + "/" + myD.getDate();
		if ( $(SEARCH_LINK_ADD) != null ) fldCheck();


		if (Prototype.Browser.WebKit) {
                        var _cstr = _xgetCookie("INST_CLICK");
                        if (_cstr != '' && _cstr != null ) {
                                callGetInstCookie(_cstr);
                        }
		}
		loadCheckState();
		instOpenClose();

		if (Prototype.Browser.WebKit) {
			var _cstr = _xgetCookie("FONDS_CLICK");
			if (_cstr != '' && _cstr != null ) {
				for (i = 1 ; i <= 14 ; i++) {
					var _id = "Fonds_" + i;
					var _chk_str = "#" + i + "#";
/*
		alert(_cstr);
		alert(_chk_str);
		alert(_cstr.indexOf(_chk_str));
*/				
					if (_cstr.indexOf(_chk_str) != -1) {
						if ( $(_id) != null ) $(_id).checked = true;
					} else {
						if ( $(_id) != null ) $(_id).checked = false;
					}
				}
			}

		}
	}
        // 指定フォームのオブジェクトを全て処理する
	if (document.forms[inForm] != null) {
        for ( i=0; i < document.forms[inForm].elements.length ; i++) {
                var ele = document.forms[inForm].elements[i] ;
                // テキストの場合のみリターンキーイベントを設定する
                if ( ele.type == 'text' ) {
                        // イベントを設定
                        ele.onkeydown = keySubmitEvent ;
                        // イベントに値を持たせられないのでカスタム属性に値を設定
                        ele.submitform = inForm ;
                }
        }
	}
	//機関グループの数をカウントする。
        var ins_elements = _xGetElementsByClass('InsGroupClass','input');
	INS_GROUP_COUNT = ins_elements.length ;
	//assignFormSubmit2();
	if (Prototype.Browser.IE) {
		//alert("IE");
	} else if (Prototype.Browser.WebKit) {
		//$(JavaScirptMess).innerHTML = "Safari:Javascripitエラー修正中";
	} else {
		//alert(Prototype.Browser.Gecko);
	}
	//共通関数（各画面で実装が異なる。）
	fromCommonJs();
}

function delFondsCookie() {
        dTime = new Date();
        dTime.setYear(dTime.getYear() - 1);
        document.cookie = "FONDS_CLICK=" + ";expires=" + dTime.toGMTString();
}

function delInstCookie() {
        dTime = new Date();
        dTime.setYear(dTime.getYear() - 1);
        document.cookie = "INST_CLICK=" + ";expires=" + dTime.toGMTString();
}

function setFondsCookie() {
        var cnt = 1;

        var _id = "Fonds_" + cnt;
	var _cstr = "FONDS_CLICK=";

                if ($(_id) != null) {
                do{
                        if( $(_id).checked == true ){
				_cstr = _cstr + "#" + cnt + "#";
                        }
                        cnt++;
                        _id = "Fonds_" + cnt;
                } while ($(_id) != null);
                }

		_cstr = _cstr + ";";
	//alert(_cstr);
	document.cookie = _cstr;
}

function setInstCookie(no,max) {

        var MAX = max;
        var cnt = 1;
        var flg = 0;

        var _grpid  = "InsGroupCheck" + no;
        var _pre_id = _grpid + "_";
        var _id = _pre_id + cnt;
	var _id_no = no + "_" + cnt; 

	var _cstr = "";

        if ( $(_id) != null ) {
        do {
                if( $(_id).checked == true ) {
                        _cstr = _cstr + "#" + _id_no + "#";
                }
                cnt++;
                _id = _pre_id + cnt;
		_id_no = no + "_" + cnt;
        } while ( $(_id) != null );
        }
	
	return _cstr;

}

function setInstClick2(no,max,_cstr){
	var cnt = 1;
                                for (cnt = 1 ; cnt <= max ; cnt++) {
        var _grpid  = "InsGroupCheck" + no;
        var _pre_id = _grpid + "_";
        var _id = _pre_id + cnt;
        var _id_no = no + "_" + cnt;
                                        var _chk_str = "#" + _id_no + "#";
                                        if (_cstr.indexOf(_chk_str) != -1) {
                                                if ( $(_id) != null ) $(_id).checked = true;
                                        } else {
                                                if ( $(_id) != null ) $(_id).checked = false;
                                        }
                                }
}


function assignFormSubmit2(){
        var inForm = "IRPSCH";

        if (document.forms[inForm] != null) {
        for ( i=0; i < document.forms[inForm].elements.length ; i++) {
                var ele = document.forms[inForm].elements[i] ;
                // テキストの場合のみリターンキーイベントを設定する
                if ( ele.type == 'text' ) {
                        // イベントを設定
                        ele.onkeydown = keySubmitEvent2 ;
                        // イベントに値を持たせられないのでカスタム属性に値を設定
                        ele.submitform = inForm ;
                }
        }
        }
}

//機関指定 AllCheck
function BoxChecked(check){
   var count;
   var count2;

   //_xDisplay('InsGroup','');
	//alert(INS_GROUP_COUNT);

   var MAX = parseInt(INS_GROUP_COUNT) + 1;
    for(count = 1; count < MAX; count++){
        flg = "InsGroupCheck" + count;
        //_xGetElementById(flg).checked = check;
        if ($(flg) != null) $(flg).checked = check;

	//機関グループ内の機関をチェックする。
	grpCHK(flg,count);

    }
}

//資料種別 AllCheck
function FondsBoxChecked(check){
   var _count = 1;
   var _flg;

        _flg = "Fonds_" + _count;

                do{
			if($(_flg) != null) $(_flg).checked = check;
                        _count++;
                        _flg = "Fonds_" + _count;
                } while ($(_flg) != null);
}

function AllCheck(preid,check){
   var _count = 1;
   var _flg;

        _flg = preid + _count;

                do{
                        if($(_flg) != null) $(_flg).checked = check;
                        _count++;
                        _flg = preid + _count;
                } while ($(_flg) != null);
}

function downloadcheck(){
	var ret = "";
	var SPLIT = "#";

	OUTPUT

	var _count = 1;
	var _flg;

        _flg = OUTPUT + _count;

                do{
                        if( $(_flg) != null && $(_flg).checked == true ) {
				ret = ret + SPLIT + _count + SPLIT;
			}
                        _count++;
                        _flg = OUTPUT + _count;
                } while ($(_flg) != null);
	//alert(ret);
	return ret;

}

//機関グループのチェック
function grpCHK(grpId,no){

   //グループＩＤとグループの表示順を引数に取る。
   var flg = grpId;
   var count = 1;
   var MAX = parseInt(INS_GROUP_COUNT) + 1;

		var flg_1 = grpId + "_" + count;

	do{
		if($(flg_1) != null) $(flg_1).checked = $(flg).checked;
		count++;
		var flg_1 = grpId + "_" + count;
	} while($(flg_1) != null);



/*
   for(count = 1; count < MAX ; count++){
     //グループのチェックボックスの状態と同期を取る。
     var flg_1 = grpId + "_" + count;

     	//NullCheck
     	//if(document.getElementById(flg_1) != null){
     	if($(flg_1) != null){
		$(flg_1).checked = $(flg).checked;
		//_xGetElementById(flg_1).checked = _xGetElementById(flg).checked;
     	} else {
		alert("check終了");
		break;
	}
   }
*/
}

//機関グループのチェックと機関のチェックの同期させる。
function syncCheck(grpId,no){
   var flg = grpId;
   var count = 1;
   var MAX = parseInt(INS_GROUP_COUNT) + 1;
   var def_Disp = 0;

   var CHECK_null = INS_GROUP_COUNT;
   var CHECK = 'yes' ;

	var flg_1 = grpId + "_" + count;

	do{


      if($(flg_1) != null){
      //if(_xGetElementById(flg_1) != null){
         if($(flg_1).checked){
         //if(_xGetElementById(flg_1).checked){
         }else{
            CHECK = 'no';
         }
      }else{//グループに該当データベースがない
         CHECK_null = Number(CHECK_null) -1;
         def_Disp = def_Disp + 1;
      }

                count++;
                flg_1 = grpId + "_" + count;

	} while($(flg_1) != null);



    if( $(flg) != null ){
       if( CHECK == 'no' || CHECK_null == '0'){
         $(flg).checked = false;
       }else{
         $(flg).checked = true;
       }
    }
}

function doLoadCheck(no,max){
	var MAX = max;
	var cnt = 1;
	var flg = 0;

	var _grpid  = "InsGroupCheck" + no;
	var _pre_id = _grpid + "_";
	var _id = _pre_id + cnt;

	if ( $(_id) != null ) {
	do {
		if( $(_id).checked == false ) {
			break;
		}
		cnt++;
		_id = _pre_id + cnt;
	} while ( $(_id) != null );
	}
/*
	alert(cnt-1);
	alert(_id);
	alert(_grpid);
*/
	if( MAX == 0 ) {
		if( $(_grpid) != null ) $(_grpid).checked = false;
	} else if ( max != 0 && max == cnt-1) {
		if( $(_grpid) != null ) $(_grpid).checked = true;
                _id = "ID_" + no;
                //機関グループを表示し、チェック状況がわかるようにする。
                if( $(_id) != null ) ChangeDisp(_id);
	} else {
		_id = "ID_" + no;
		//機関グループを表示し、チェック状況がわかるようにする。
		if( $(_id) != null ) ChangeDisp(_id);
	}
}


function doLoadCheck2(no,max,type){
        var MAX = max;
        var cnt = 1;
        var _flg = 'yes';

        if (type == 30) {
        var _id = "Fonds_" + cnt;
        } else {
        var _id = "InsGroupCheck" + no;
        }

	//MAX = 0はyes扱い
        if( MAX == 0 ) {
		return _flg;
        } else if (type == 30 && MAX != 0) {
	// 資料種別
		if ($(_id) != null) {
                do{
                        if( $(_id).checked == false ){
                                _flg = 'no';
                                break;
                        }
                        cnt++;
                        _id = "Fonds_" + cnt;
                } while ($(_id) != null);
		}
		return _flg;

	} else if (type == 31 && MAX != 0) {
	//機関

                if ($(_id) != null) {
                        if( $(_id).checked == false ){
                                _flg = 'no';
                        }
		}
		//alert(_id + "::" + _flg);
                return _flg;
	}
}



// ALL 全check
// yes check あり
// no  check なし
// NOT checkするもの自体がない  
function doLoadCheck3(no,max,type){
        var MAX = max;
        var cnt = 1;
        var no_flg = 'no';
        var yes_flg = 'no';
        
        
        if (type == 30) {
            // 資料用
        var _id = "Fonds_" + cnt;
        } else {
            // 機関用
        var _id = "InsGroupCheck" + no;
        }

		//MAX = 0はyes扱い
        if( MAX == 0 ) {
        	// チェックするもの自体が無い
			return 'NOT';
        } else if (type == 30) {
			// 資料種別
			if ($(_id) != null) {
                do{
                        if( $(_id).checked == false ){
                                no_flg = 'yes';
                        } else {
                                yes_flg = 'yes';
                        }
                        cnt++;
                        _id = "Fonds_" + cnt;
                } while ($(_id) != null);
			}
		
			if( yes_flg == 'yes'){
		    	if( no_flg == 'yes'){
		    	    // 部分チェックあり
		       	 return 'yes';
		    	} else {
			        // 全チェック
			        return 'ALL';
		    	}
		    	// チェックなし
        		return 'no';
			}
        
		//機関
		} else if (type == 31) {

                if ($(_id) != null) {
                        if( $(_id).checked == false ){
                                _flg = 'no';
                        }
		        }
				//alert(_id + "::" + _flg);
                return 'yes';
		}
}


CHK_OR_30_FLG = "";
CHK_OR_31_FLG = "";

function doAppendCheck(no,max,type) {
        var MAX = max;
        var cnt = 1;
        var flg = 0;
/*
	var _nii_type = _xGetElementsByClass('input','IS_CHK_OR_30_CLASS'); 
	var _inst_type = _xGetElementsByClass('input','IS_CHK_OR_31_CLASS'); 

	var _nii_type_flg = "";
	var _inst_type_flg = "";
	for (n = 0; n < _nii_type.length ; n++) {
		_nii_type_flg = _nii_type_flg + _nii_type.value;
	}

        for (n = 0; n < _inst_type.length ; n++) {
                _inst_type_flg = _inst_type_flg + _inst_type.value;
        }
*/

	
	if (type == 30) {
        var _id = "Fonds_" + cnt;
	} else {
        var _grpid  = "InsGroupCheck" + no;
        var _pre_id = _grpid + "_";
        var _id = _pre_id + cnt;
	}

	//check_STATE()実行済み状態
        if (IS_CHK_OR_S30_STATE != 'true' && type == 30) {
	        if ( $(_id) != null ) {
	        do {
	                if( $(_id).checked == true ) {
				if ($(_id).value != '') {
					if (Prototype.Browser.WebKit) {
						//alert(CHK_OR_30_FLG);
						//alert(CHK_OR_30_FLG.indexOf($(_id).value));
						if (CHK_OR_30_FLG.indexOf($(_id).value) == -1) {
							CHK_OR_30_FLG = CHK_OR_30_FLG + "##" + $(_id).value;
							appendISCHKOR('IRPSCH',type,$(_id).value,cnt,max);
						}
					} else {
						appendISCHKOR('IRPSCH',type,$(_id).value,cnt,max);
					}
				}
			} else {
				if (Prototype.Browser.WebKit) {
					var _str = "##" + $(_id).value;
					//alert(CHK_OR_30_FLG);
					CHK_OR_30_FLG = _xRepAll(CHK_OR_30_FLG,_str,'');
					//alert(CHK_OR_30_FLG);
					_clearIRP30($(_id).value);
				}
			}
	                cnt++;
	                _id = "Fonds_" + cnt;
	        } while ( $(_id) != null );
	        }
					//alert("last   " + CHK_OR_30_FLG);
	}

	//Safari対応
	if (IS_CHK_OR_S30_STATE == 'true' && type == 30 && Prototype.Browser.WebKit) {
	//CHK_OR_30_FLG = "";
/*
		var _chk_id = max + "_" + no + "_" + IS_CHK_OR_S30;
		
		for (cnt = 1 ; cnt <= max ; cnt++) {
			_chk_id = max + "_" + cnt + "_" + IS_CHK_OR_S30;
			//alert(_chk_id);
			//if($(_chk_id)) alert( cnt + " " + $(_chk_id).value);
			if($(_chk_id)) $(_chk_id).value="";
		}
*/
		with( document.IRPSCH ) {
			for( i=0; i < elements.length; i++ ) {
				if( elements[i].name.match('IS_CHK_OR_S30') ) elements[i].value = "";
			}
		}
	} 

	if (IS_CHK_OR_S31_STATE != 'true' && type == 31) {
                if ( $(_id) != null ) {
                do {
                        if( $(_id).checked == true ) {
                                //alert($(_id).value);
				if (Prototype.Browser.WebKit) {

					if (CHK_OR_31_FLG.indexOf($(_id).value) == -1) {
					CHK_OR_31_FLG = CHK_OR_31_FLG + "##" +$(_id).value;
                                	if ($(_id).value != '') appendISCHKOR('IRPSCH',type,$(_id).value,cnt,max);
					}

				} else {
					if ($(_id).value != '') appendISCHKOR('IRPSCH',type,$(_id).value,cnt,max);
				}
                        } else {
                                if (Prototype.Browser.WebKit) {
                                        var _str = "##" + $(_id).value;
                                        //alert(CHK_OR_30_FLG);
                                        CHK_OR_31_FLG = _xRepAll(CHK_OR_31_FLG,_str,'');
                                        //alert(CHK_OR_30_FLG);
                                        _clearIRP31($(_id).value);
                                }
			}
                        cnt++;
                        _id = _pre_id + cnt;
                } while ( $(_id) != null );
                }
        }

        //Safari対応
/*
        if (IS_CHK_OR_S31_STATE == 'true' && type == 31 && Prototype.Browser.WebKit) {
                var _chk_id = max + "_" + no + "_" + IS_CHK_OR_S31;

                for (cnt = 1 ; cnt <= max ; cnt++) {
                        _chk_id = max + "_" + cnt + "_" + IS_CHK_OR_S31;
                        //alert(_chk_id);
                        //if($(_chk_id)) alert( cnt + " " + $(_chk_id).value);
                        if($(_chk_id)) $(_chk_id).value="";
                }
        }
*/
}

function appendISCHKOR(inForm,type,value,no,max) {
/*
alert(inForm);
alert(type);
alert(value);
*/
	//追加するinputのname属性を決定
	if (type == 30) {
		var Name = IS_CHK_OR_S30;
		//var _ID = max + "_" + no + "_" + IS_CHK_OR_S30;
	} else if (type == 31) {
		var Name = IS_CHK_OR_S31;
		//var _ID = max + "_" + no + "_" + IS_CHK_OR_S31;
	} else {
		return false;
	}

	//検索条件を追加するFORMをセット
	var _form = document.forms[inForm];
	//検索条件を追加
	var query = document.createElement("input");
	    query.type = "hidden";
	    //query.type = "text";
	    query.name = Name;

		// MAC:Safariバックボタン対応
/*
		if (type == 30) {
			query.id = _ID;
		} else {
			query.id = _ID;
		}
*/
	    query.value = value;
	    _form.appendChild(query);
}

function Clear(){

	var radioname = '';

	with( document.IRPSCH ) {
		for( i=0; i < elements.length; i++ ) {
			if( elements[i].name.match('IS_KEY_S+') || elements[i].name.match('RNG_+') || elements[i].name.match('IS_SORT_KND_DUMMY') || elements[i].name.match('TMP_LGC_S+') || elements[i].name.match('TMP_KEY_S+') || elements[i].name.match('IS_LGC_S+')) {
				switch (elements[i].type) {
				  case "checkbox":
				    elements[i].checked = false;
				    break;
				  case "select-one":
				    elements[i].selectedIndex = 0;
				    break;
				  case "select-multiple":
				    elements[i].selectedIndex = -1;
				    break;
				  case "radio":
				    if( radioname != elements[i].name ) {
				      elements[i].checked = true;
				      elements[i].defaultChecked = true;
				      radioname = elements[i].name;
				    }
				    break;
				  default:
				    elements[i].value = '';
				    break;
				}

			}
		}
		IS_NUMBER.selectedIndex = 0;	
	}

/*
	for(cnt = 1 ; cnt < 11 ; cnt++){
//alert(cnt);
	        if(cnt == 1){
	                setSelectIndexIS_TAG(cnt,0);
	        } else if (cnt == 2) {
                	setSelectIndexIS_TAG(cnt,3);
        	} else if (cnt == 3) {
        	        setSelectIndexIS_TAG(cnt,1);
	        } else if (cnt == 4) {
        	        setSelectIndexIS_TAG(cnt,2);
	        } else if (cnt == 5) {
        	        setSelectIndexIS_TAG(cnt,4);
	        } else {
        	        setSelectIndexIS_TAG(cnt,0);
	        }	
	}
*/
	fromClear();

}


function resetFld(no) {
        var _no = 1;
	var _RESET_NO_ = no;

        //初期化
        SEARCH_FLD_CONT = _no - 1;

        //値のチェック
        _ID = FLD_PRE_ID + _no;

        if ( $(_ID) != null) {

                do {
                        //表示のチェック
                        if ( _no > _RESET_NO_ ) {
				$(_ID).style.display = "none";
                        }
                        _no++;
                        _ID = FLD_PRE_ID + _no;
                } while( $(_ID) != null )
        }



}

//機関名をクリックして検索
function InstituteClickSearch(spec,type,id) {
	//資料種別のチェックを全てはずします。(ただし、全選択以外はしない。)
	//check_STATE();
	//if (IS_CHK_OR_S30_STATE == 'true') FondsBoxChecked(false);

	//機関選択のチェックをすべてはずす。
	BoxChecked(false);
	
	//引数の機関のみチェック
	$(spec).checked = true;
	
	searchSntSpe(type,id);

	//検索実行
	//document.IRPSCH.submit();
}

//機関名をクリックして検索
function FondsClickSearch(spec,type,id) {
        //機関のチェックを全てはずします。(ただし、全選択以外はしない。)
        //check_STATE();
	//if (IS_CHK_OR_S31_STATE == 'true') BoxChecked(false);
	FondsBoxChecked(false);
        //引数の機関のみチェック
        $(spec).checked = true;

        //検索実行
	searchSntSpe(type,id);
        //document.IRPSCH.submit();
}


//検索画面に戻る
function ReSearch(){
	//searchConditionSet();
	if (Prototype.Browser.Gecko) {
		delFondsCookie();
		delInstCookie();
	}
	reSearchConditionSet();
	sumnumset();
	//actionを変更する。
	//mod_action("fom_resch");
	document.fom_resch.submit();
}

function searchScMaLink(target,name){


        var _name = $(name).innerHTML;
        document.fom_sc_ma.IS_TAG_S1.value = target;

	//著者名は、完全一致
/*
	if (target == 'au') {
		var _form = document.fom_sc_ma;
                var Name = IS_CND_S + "1";
//alert(Name);
                //検索条件を追加
                var query = document.createElement("input");
                        query.type = "hidden";
                        //query.type = "text";
                        query.name = Name;
                        query.value = "ALL";
                        _form.appendChild(query);		
	}
*/
        document.fom_sc_ma.IS_KEY_S1.value = _name;
        document.fom_sc_ma.DEF_XSL.value = "detail";
        document.fom_sc_ma.submit();
}

/*
searchScLinkにエスケープを付加します
*/
function searchScMaLinkEsc(target,name){


        var _name = $(name).innerHTML;
        document.fom_sc_ma.IS_TAG_S1.value = target;
        _name = _name.replace("\"", "\\\""); 
        document.fom_sc_ma.IS_KEY_S1.value = "\"" + _name + "\"";
        document.fom_sc_ma.DEF_XSL.value = "detail";
        document.fom_sc_ma.submit();
}

function ClearSch() {
	if (Prototype.Browser.Gecko) {
		delFondsCookie();	
		delInstCookie();
	}
	document.fom_new.submit();
}




