/*
 * アクション先へのsubmitを行う<br>
 * チェックボックス用
 *
 * selectId		チェックされたID
 * formId		フォームID
 * actionName	アクション先
 */
function selectedFormSubmit(selectId,formId, actionName){
	if(isSelectedCheckBox(selectId)){
		searchFormSubmit(formId, actionName);
	}
	return false;
}

/*
* アクション先へのsubmitを行う<br>
* クエリパラメータが2000byteを超える場合はpost、
* 超えない場合はget
*
* formId		フォームID
* actionName	アクション先
*/
function searchFormSubmit(formId, actionName){
	var form = document.getElementById(formId);
	if(!form){
		return;
	}

	var param = Form.serialize(formId);
	if(param != null && param.length > 2000){
		form.method = "post";
	} else {
		form.method = "get";
	}
	form.action = actionName;

	form.submit();	
}

function isSelectedCheckBox(id){
	tags = document.getElementsByTagName('input');
	for(var i = 0; i < tags.length; i++){
		if(tags[i].id.indexOf(id)>-1){
			if(tags[i].type=='checkbox'){
				if(tags[i].checked){
					return true;
				}
			}
		}
	}
	alert("1つ以上選択してください。");
	return false;
}

/*
 * 沿線のselectボックスを出力する
 *
 * element		都道府県のselectエレメント
 * showTargetId	市区町村リストを表示するselectのIDの配列
 * nameAttribute 出力するselectボックスのname属性
 * idAttribute 出力するselectボックスのid属性
 * lineArray 初期値
 * isUnsetting 未選択を用意する場合 true、そうで無い場合 false
 *
 */
function writeLineSelectList(element,showTargetId,nameAttribute,idAttribute,defaultLineIndexId,isUnseting,unsettingName){
	if(showTargetId == null || showTargetId.length == 0){
		return;
	}

	var param = "";
	var sel=element.options;
	for(var i=0; i<sel.length; i++){
        if(sel[i].selected){
    		if(param.length != 0){
    			param = param + "&";
    		}
        	param = param + "pref_id=" + sel[i].value;
        }
    }

	var defaultelements = document.getElementById(defaultLineIndexId);
	if(defaultelements != null){
		param = param + "&default_id=" + defaultelements.value;
	}

	new Ajax.Request("/ajax_line_list_option.do", {
		method : "post",
		parameters : param + "&attr_name=" + nameAttribute + "&attr_id=" + idAttribute + "&default_line_index_id="+defaultLineIndexId +"&unsetting=" + isUnseting + "&unsettingName=" + unsettingName,
		onComplete :function(httpObj){
			var target = document.getElementById(showTargetId);

			if(target){
				target.innerHTML = httpObj.responseText;
			}
		}
	});
}


/*
 * 市区町村のselectボックスを出力する
 *
 * element		都道府県のselectエレメント
 * showTargetId	市区町村リストを表示するselectのIDの配列
 * nameAttribute 出力するselectボックスのname属性
 * idAttribute 出力するselectボックスのid属性
 * cityArray 初期値
 * isMultiple マルチセレクトの場合 true、そうで無い場合 false
 * isUnsetting 未選択を用意する場合 true、そうで無い場合 false
 * isGroup 政令指定都市でグルーピングする場合 true、そうで無い場合 false
 * isColor 選択時の色を設定する場合 true、そうで無い場合 false
 *
 */

function setCity(){
	 if(document.getElementById('city_index')){
		 var num = document.getElementById('city_index').value;
		 if (num==""||num.match(/[^0-9]/g)) {
		 }else{
			 if(document.getElementById("city").options.length>=num){
				 document.getElementById("city").options[num].selected = "true";
			 }

		 }
	}
}

/*
 * 住所市区町村が必須の場合のselectボックスを出力する
 *
 * element		都道府県のselectエレメント
 * showTargetId	市区町村リストを表示するタグのID
 * nameAttribute 出力するselectボックスのname属性
 * idAttribute 出力するselectボックスのid属性
 * defaultCityIndexId 初期値のhiddenタグのid属性
 * isRequired 必須チェックの有無
 * isUnseting 非選択可能
 * unsettingName 非選択時の表示項目
 * isGroup 政令指定都市によるグルーピング
 */
 function writeCitySelectList(element,showTargetId,nameAttribute,idAttribute,defaultCityIndexId,isRequired,isUnseting,unsettingName,isGroup){
	 if(showTargetId == null || showTargetId.length == 0){
		return;
	}
	var param = "";
	var sel=element.options;
	for(var i=0; i<sel.length; i++){
        if(sel[i].selected){
    		if(param.length != 0){
    			param = param + "&";
    		}
        	param = param + "pref_id=" + sel[i].value;
        }
    }
    var defaultId = document.getElementById(defaultCityIndexId).value;
  	new Ajax.Request("/ajax_city_list_option.do", {
		method : "get",
		parameters : param + "&attr_name=" + nameAttribute + "&attr_id=" + idAttribute +"&default_city_index_id="+defaultCityIndexId+ "&default_id=" + defaultId + "&isRequired=" + isRequired + "&unsetting=" + isUnseting  + "&unsettingName=" + unsettingName+ "&group=" + isGroup,
		onComplete :function(httpObj){
			var target = document.getElementById(showTargetId);
			if(target){
				target.innerHTML = httpObj.responseText;
			}
		}
	});
}
/*
* 住所市区町村が必須の場合のselectボックスを出力する
*
* element		都道府県のselectエレメント
* showTargetId	市区町村リストを表示するタグのID
* nameAttribute 出力するselectボックスのname属性
* idAttribute 出力するselectボックスのid属性
* defaultCityIndexId 初期値のhiddenタグのid属性
* isRequired 必須チェックの有無
* isUnseting 非選択可能
* unsettingName 非選択時の表示項目
* isGroup 政令指定都市によるグルーピング
*/
function writeCitySelectListMultiple(element,showTargetId,nameAttribute,idAttribute,defaultCityIndexId,isRequired,isUnseting,unsettingName){
	if(showTargetId == null || showTargetId.length == 0){
		return;
	}
	var param = "";
	var sel=element.options;
	for(var i=0; i<sel.length; i++){
		if(sel[i].selected){
			if(param.length != 0){
				param = param + "&";
			}
			param = param + "pref_id=" + sel[i].value;
		}
	}
     var defaultelements = document.getElementById(defaultCityIndexId);
     if(defaultelements != null){
		param = param + "&default_id=" + defaultelements.value;
	 }
    new Ajax.Request("/ajax_city_list_multiple_option.do", {
		method : "post",
		parameters : param + "&attr_name=" + nameAttribute + "&attr_id=" + idAttribute +"&default_city_index_id="+defaultCityIndexId+ "&isRequired=" + isRequired + "&unsetting=" + isUnseting  + "&unsettingName=" + unsettingName,
		onComplete :function(httpObj){
			var target = document.getElementById(showTargetId);
			if(target){
				target.innerHTML = httpObj.responseText;
			}
		}
	});
}


function createMultipleCityIndex(indexId,citySelId){
	document.getElementById(indexId).value="";
	var element = document.getElementById(citySelId);
	if(element != null){
		var sel=element.options;
		var param ="";
		for(var i=0; i<sel.length; i++){
			if(sel[i].selected){
				if(param.length != 0){
					param = param + ",";
				}
				param = param + sel[i].value;
			}
		}
		document.getElementById(indexId).value=param;
	}
}

function createMultipleLineIndex(indexId,lineSelId){
	document.getElementById(indexId).value="";
	var element = document.getElementById(lineSelId);
	if(element != null){
		var sel=element.options;
		var param ="";
		for(var i=0; i<sel.length; i++){
			if(sel[i].selected){
				if(param.length != 0){
					param = param + ",";
				}
				param = param + sel[i].value;
			}
		}
		document.getElementById(indexId).value=param;
	}
}


