/* *
 * セレクトボックスを動的に変換する
 * use prototype-1.6.0.2.js
 * 
 * 2008/02/26 Matsuo
 */
var acs={
	//キャッシュ抑制
	Tmpdt:new Date().getMilliseconds(),
	
	//レスト先URI
	GetUri:"/system/post.php",
	
	//レストメゾッド
	GetMethod:"get",
	
	//取得するセレクトボックスのclass名
	setClassName:"active_select",
	
	//オブジェクトの保管庫
	objects : new Array(),
	
	objectsAllNum : 0,
	
	/* *
	 * メッセージに関する設定
	 */
	
	getMessageFlg:true,
	
	//メッセージを取得する関数を使用するselectTagのName
	getMessageName:"bike_type",
	
	//レスト先
	getMessageUri : "/system/message.php",
	
	//表示するエリアのID
	getMessageDispId : "disp",
	
	//レスト方法
	getMessageMethod : "get",
	
	//初期メッセージの格納hidden ID
	getDefaultMessageHiddenId: "message_hidden",
	
	
	setAction:function(){
		var elm = document.getElementsByTagName("select");
		var obj = new Array();
		var s = 0;
		for(var i=0; i<elm.length; i++){
			if(elm[i].className.match(acs.setClassName)){
				s = s+1;				
				var n = elm[i].name;
				acs.objects[n] = s;
				elm[i].id = acs.setClassName + "_" + s;
				
				//無名関数
				elm[i].onchange=function(){
					
					if(acs.getMessageFlg){
						if(acs.getMessageName == this.name){
							acs.getMessage(this);
						}
						else{
						
							var MessageNum = acs.objects[acs.getMessageName];
							var nowNum = acs.objects[this.name];
							if(MessageNum > nowNum){
								acs.setMessageHidden();
							}
						}
					}
					var next_objNum = acs.objects[this.name] + 1;
					var next_objid = acs.setClassName + "_" + next_objNum;
					var q = "";
					for(var i=1; i<=acs.objectsAllNum; i++){
						var hideObj = acs.setClassName + "_" + i;
						if(i > acs.objects[this.name]){
							var e = $(hideObj);
							var newOption = new Option();
							newOption.text ="選択項目";
							newOption.value = "";
							e.innerHTML = "";
							e.options[0] = newOption;
						}
						else{
							q += $(hideObj).name + "=" + $(hideObj).value + "&";
						}
					}
					if($(next_objid)){
						var sURL=acs.GetUri + "?catch=" + acs.Tmpdt + "&" + "get="+$(next_objid).name +"&" + q;
						new Ajax.Updater(next_objid,sURL,{method:acs.GetMethod});
					}
				}
			}
		}
		acs.objectsAllNum = s;
	},
	
	getMessage:function(obj){
		var val = obj.value;
		var d = new Date().getMilliseconds();
		var Params = "catch="+ d + "&" + obj.name + "=" + val;
		var myAjax = new Ajax.Request(acs.getMessageUri,{
			parameters:Params,
			method:acs.getMessageMethod,
			onComplete: function(originalRequest){
				var a=originalRequest.responseText;
				a=a.replace(/\r\n|\r|\n/g,"");
				a=a.replace("&nbsp;","");
				a=a.replace(" ","");
				var elm = $(acs.getMessageDispId);
				if(a.length>0){
					elm.innerHTML = a;
					elm.style.height="auto";
					elm.style.overflow = "auto";
					var m = elm.innerHTML.replace("<DIV></DIV>","");
					elm.innerHTML = m;
				}else{
					elm.innerHTML = "";
					elm.style.height="0px";
					elm.style.overflow = "hidden";
				}
				
			}
		}
		);
	},
	
	setMessageHidden:function(){
		var elm = $(acs.getMessageDispId);
		elm.innerHTML = "";
		elm.style.height="0px";
		elm.style.overflow = "hidden";
	},
	
	
	set:function(){
		if(window.addEventListener) {
			window.addEventListener("load", acs.setAction, false);
		}
		else if(window.attachEvent) {
			window.attachEvent("onload", acs.setAction);
		}
	}
};