//搜索数据库

var SearchDB = {}

SearchDB.revi = [["所有区域","闵行","徐汇","长宁","静安","卢湾","虹口","浦东","黄浦","杨浦","闸北","普陀","宝山","嘉定","青浦","奉贤","南汇","松江","金山","崇明"],["所有物业类型",
"多层公寓","小高层公寓","高层公寓","酒店式公寓","别墅","写字楼","商铺"],["所有单价范围","5000元以下","5000-10000元","10000-15000元","15000-20000元","20000-25000元","25000-30000元","30000元以上"]];

SearchDB.agen = [["经纪人","网上门店"],["所有区域","闵行","徐汇","长宁","静安","卢湾","虹口","浦东","黄浦","杨浦","闸北","普陀","宝山","嘉定","青浦","奉贤","南汇","松江","金山","崇明"],["所有房源类型","二手房","租房","商业出租","商业出售"]];

SearchDB.hous = [["二手房","租房","商业出租","商业出售"],["所有区域","闵行","徐汇","长宁","静安","卢湾","虹口","浦东","黄浦","杨浦","闸北","普陀","宝山","嘉定","青浦","奉贤","南汇","松江","金山","崇明"],["所有物业类型","多层公寓","小高层公寓","高层公寓","酒店式公寓","别墅","里弄住宅"],["所有物业类型","写字楼","商铺","商住","厂房","仓库"],["所有户型","1房","2房","3房","4房","5房","5房以上"],["所有面积范围","60平米以下","60-120平米","120-250平米","250-500平米","500-1000平米","1000平米以上"],["所有总价范围","50万元以下","50-80万元","80-120万元","120-180万元","180-250万元","250-400万元","400万元以上"],["所有月租范围","800元以下","800-1200元","1200-1800元","1800-3000元","3000-6000元","6000-12000元","12000元以上"],["所有月租范围","3000元以下","3000-8000元","8000-15000元",
"15000-30000元","30000元以上"],["所有总价范围","50万元以下","50-100万元","100-200万元","200-400万元","400-800万元","800万元以上"]];

SearchDB.housAdm = [["二手房","租房","商业出租","商业出售"],["所有状态","发布中","已关闭","已过期"],["所有区域","闵行","徐汇","长宁","静安","卢湾","虹口","浦东","黄浦","杨浦","闸北","普陀","宝山","嘉定","青浦","奉贤","南汇","松江","金山","崇明"],["所有户型","1房","2房","3房","4房","5房","5房以上"],["所有面积范围","60平米以下","60-120平米","120-250平米","250-500平米","500-1000平米","1000平米以上"],["所有总价范围","50万元以下","50-80万元","80-120万元","120-180万元","250-400万元","400万元以上"],["所有月租范围","800元以下","800-1200元","1200-1800元","1800-3000元","3000-6000元","6000-12000元","12000元以上"],["所有月租范围","3000元以下","3000-8000元","8000-15000元",
"15000-30000元","30000元以上"],["所有总价范围","50万元以下","50-100万元","100-200万元","200-400万元","400-800万元","800万元以上"]];

SearchDB.block1 = [["不限","莘庄","春申","漕宝路","梅陇","七宝","古美","华漕","静安新城","浦江","老闵行","颛桥","龙柏金汇"],["不限","淮海西路","湖南路","徐家汇","肇家浜路","万体馆","斜土路","龙华滨江","植物园","上海南站","田林","康健","华东理工"],["不限","古北","中山公园","虹桥路","镇宁路","新华路","天山","仙霞","动物园","北新泾"],["不限","南京西路","静安寺","海防路","曹家渡"],["不限","淮海中路","新天地","复兴公园","打浦桥","五里桥","世博滨江"],["不限","北外滩","临平路","四川北路","鲁迅公园","和平公园","曲阳","凉城","江湾镇"],["不限","陆家嘴","世纪公园","东城","塘桥","源深","张江","高桥","金桥","碧云","金杨","北蔡","上南三林","川沙","曹路"],["不限","外滩滨江","人民广场","南京东路","豫园","老西门","蓬莱公园","南外滩","董家渡"],["不限","东外滩滨江","五角场","周家嘴路","控江路","黄兴公园","杨浦公园","杨浦大桥","中原社区","新江湾城"],["不限","新客站","西藏北路","大宁绿地","闸北公园","汶水路","彭浦"],["不限","长寿","武宁","长风","曹杨","万里","长征","宜川","桃浦","真如"],["不限","大华","罗店","月浦","顾村","宝山西城区","淞宝","宝山上大","庙行通河","淞南高境"],["不限","安亭","南翔","嘉定新城","丰庄","江桥新城","菊园新区","嘉定镇"],["不限","重固","白鹤","徐泾","赵巷","青浦新城","朱家角"],["不限","南桥","海湾旅游区"],["不限","康桥","周浦","航头","临港新城","惠南","新场"],["不限","九亭","大学城","松江新城","新桥","松江镇","泗泾","莘闵","松江老城","佘山"],["不限","石化","朱泾"]];

SearchDB.block2 = [["不限","莘庄","春申","漕宝路","梅陇","七宝","古美","龙柏金汇"],["不限","淮海西路","徐家汇","万体馆","龙华滨江","上海南站","田林"],["不限","古北","中山公园","虹桥开发区","天山","仙霞","北新泾"],["不限","南京西路","静安寺","曹家渡"],["不限","淮海中路","新天地","复兴公园","打浦桥","世博滨江"],["不限","北外滩","四川北路","曲阳","凉城","江湾镇"],["不限","陆家嘴","世纪公园","源深","高桥","金桥","碧云","金杨"],["不限","外滩滨江","人民广场","南京东路","豫园","老西门","南外滩","董家渡"],["不限","五角场","大柏树","控江路","中原社区"],["不限","新客站","西藏北路","闸北公园","彭浦"],["不限","长寿","武宁","长风","曹杨","宜川","桃浦","真如"],["不限","大华","顾村","宝山上大"],["不限","安亭","南翔","嘉定新城","江桥新城","嘉定镇"],["不限","徐泾","赵巷","青浦新城","朱家角"],["不限","南桥","海湾旅游区"],["不限","康桥","临港新城"],["不限","九亭","大学城","松江新城","松江镇","莘闵","佘山"],["不限","石化","朱泾"]]

SearchDB.statusHous = [0,0,0,0,0,0];
SearchDB.statusHousAdm = [0,0,0,0,0,0];
SearchDB.statusAgen = [0,0,0];
SearchDB.statusRevi = [0,0,0,0];

SearchDB.rsHous = [[0,1,2,4,6],[0,1,2,4,7],[0,1,3,5,8],[0,1,3,5,9]];
SearchDB.rsHousAdm = [[0,1,2,3,5],[0,1,2,3,6],[0,1,2,4,7],[0,1,2,4,8]];
SearchDB.rsAgen = [[0,1,2],[0,1]];
SearchDB.rsRevi = [[0,1,2]];

/************************************************/

//自定义单选元件

var Select = Class.create();

Object.extend(Select, {
	CLASSNAME: "selectX",
	HOVER: "current"
})


Object.extend(Select.prototype, {
	initialize: function(pos, itms, options){
		pos = $(pos);
		this.options = {
			mode: "normal"
		}
		Object.extend(this.options,options || {});
		if(this.options.mode == "normal"){
			var wraper = document.createElement("div");
			var inner = "";
			inner += "<div class=\"" + Select.CLASSNAME + "\" onmouseover=\"this.childNodes[1].style.display = ''; this.firstChild.className = '" + Select.HOVER + "'\" onmouseout=\"this.childNodes[1].style.display = 'none'; this.firstChild.className = ''\" >";
			inner += "<h6>" + itms[0] + "</h6>";
			inner += "<ol style=\"display: none\">";
			for(var i = 0, j = itms.length; i < j; i ++){
				inner += "<li onmouseover=\"this.className = '" + Select.HOVER + "'\" onmouseout=\"this.className = ''\" onclick=\"this.parentNode.parentNode.select(this)\">" + itms[i] + "</li>";
			}
			inner += "</ol></div>";
			wraper.innerHTML = inner;		
			var sel = wraper.firstChild;			
			Object.extend(sel, {
				selectedIndex: 0,
				itms: itms,
				select: function(itm){
					//alert(typeof itm);
					sel.childNodes[1].className = "";
					if(typeof itm != "number"){
						itm.parentNode.style.display = "none";
						var itmValue = itm.innerHTML;
						sel.selectedIndex = sel.itms.indexOf(itmValue);
					}else{
						var itmValue = sel.itms[itm];
						sel.selectedIndex = itm;
					}
					sel.firstChild.innerHTML = itmValue;
					if(sel.search && !sel.search.chgSels){
						sel.search.chgSels = true;
					}
					return sel.selectedIndex;
				},
				reset: function(){
					sel.selectedIndex = 0;
					sel.firstChild.innerHTML = itms[0];
				}
			})
			inner = null;
			wraper = null;			
		}else if(this.options.mode == "ext"){
			var wraper = document.createElement("div");	
			var inner = "";
			if(itms[0].indexOf("所有") > -1){
				if(itms[0].indexOf("区域") == -1){
					inner += "<dl><dd>" + itms[0].replace(/所有/,"") + ":</dd><dt><ul>";
				}else{
					inner += "<dl class=\"fbl-search-area\"><dd>" + itms[0].replace(/所有/,"") + ":</dd><dt><ul>";
				}
			}else{
				inner += "<dl style=\"display: none;\"><dd>" + itms[0].replace(/所有/,"") + ":</dd><dt><ul>";	
			}
			inner += "<li class=\"current\" >" + itms[0] + "</li>";
			for(var i = 1, j = itms.length; i < j; i ++){
				inner += "<li><a href=\"#\" class=\"ab_\" onclick=\"this.parentNode.parentNode.parentNode.parentNode.select(this, event); \">" + itms[i] + "</a></li>";				
			}
			inner += "</ul></dt></dl>";
			wraper.innerHTML = inner;		
			var sel = wraper.firstChild;
			Object.extend(sel, {
				selectedIndex: 0,
				itms: itms,
				select: function(itm, e){
					var preItm = sel.childNodes[1].firstChild.childNodes[sel.selectedIndex];
					preItm.innerHTML = "<a href=\"#\" class=\"ab_\"  onclick=\"this.parentNode.parentNode.parentNode.parentNode.select(this, event);\">" + sel.itms[sel.selectedIndex] + "</a>";
					preItm.className = "";				
					if(typeof itm != "number"){
						var itmValue = itm.innerHTML;
						itm.parentNode.className = Select.HOVER;
						itm.parentNode.innerHTML = itmValue;
						sel.selectedIndex = sel.itms.indexOf(itmValue);
					}else{
						var itmValue = sel.itms[itm];
						sel.childNodes[1].firstChild.childNodes[itm].className = Select.HOVER;
						sel.childNodes[1].firstChild.childNodes[itm].innerHTML = itmValue;
						sel.selectedIndex = itm;
					}
					if(e && sel.search && sel.search.options.block && sel.className == "fbl-search-area"){
						if(sel.next("ol")){
							sel.next("ol").remove();
						}
						//alert(sel.selectedIndex)
						if(sel.selectedIndex - 1 >= 0 ){
							if(sel.search.selLv2){
								if(sel.search.statusArray[0] == 0 || sel.search.statusArray[0] == 1){
									if(sel.search.options.blockSrc[sel.selectedIndex - 1])
									new Select(sel, sel.search.options.blockSrc[sel.selectedIndex - 1], {mode: "subExt"});
								}else{
									if(sel.search.options.blockSrc2[sel.selectedIndex - 1])
									new Select(sel, sel.search.options.blockSrc2[sel.selectedIndex - 1], {mode: "subExt"});
								}
							}else{
								if(sel.search.options.blockSrc[sel.selectedIndex - 1])
								new Select(sel, sel.search.options.blockSrc[sel.selectedIndex - 1], {mode: "subExt"});
							}
							Object.extend(sel.next(), {search: sel.search})
						}
						//alert(sel.search.statusArray.length - 1)
						sel.search.statusArray[sel.search.statusArray.length - 1] = 0
					}
					if(e && sel.search){
						var sel_index = -1;
						for(var i = 0, j = sel.search.extSels.length; i < j; i ++){
							if(sel.search.extSels[i] == sel){//fix bug not complete equal [in leo's pc]
								sel_index = i;
								break;
							}	
						}
						sel.search.statusArray[sel_index] = sel.selectedIndex;
						//sel.search.statusArray[sel.search.extSels.indexOf(sel)] = sel.selectedIndex;

						startSearchRequest();//ajax request
					}					
					return sel.selectedIndex;
				},
				reset: function(){
					var preItm = sel.childNodes[1].firstChild.childNodes[sel.selectedIndex];
					preItm.innerHTML = "<a href=\"#\" class=\"ab_\"  onclick=\"this.parentNode.parentNode.parentNode.parentNode.select(this);\">" + sel.itms[sel.selectedIndex] + "</a>";
					preItm.className = "";
					var resetItm = sel.childNodes[1].firstChild.firstChild;
					resetItm.className = Select.HOVER;
					resetItm.innerHTML = resetItm.firstChild.innerHTML;					
					sel.selectedIndex = 0;
				}
			})	
			inner = null;
			wraper = null;			
		}else if(this.options.mode == "subExt"){
			var wraper = document.createElement("div");	
			var inner = "";
			inner += "<ol>";
			for(var i = 0, j = itms.length; i < j; i ++){
				inner += "<li><a href=\"#\" class=\"ab_\" onclick=\"this.parentNode.parentNode.select(this, event); \">" + itms[i] + "</a></li>";				
			}
			inner += "</ol>";
			wraper.innerHTML = inner;		
			var sel = wraper.firstChild;
			Object.extend(sel, {
				selectedIndex: 0,
				itms: itms,
				select: function(itm, e){
					if(sel.preItm){
						//var preItm = sel.childNodes[sel.selectedIndex];
						sel.preItm.innerHTML = "<a href=\"#\" class=\"ab_\"  onclick=\"this.parentNode.parentNode.select(this, event);\">" + sel.itms[sel.selectedIndex] + "</a>";
						sel.preItm.className = "";
					}
					if(typeof itm != "number"){
						var itmValue = itm.innerHTML;
						itm.parentNode.className = Select.HOVER;
						itm.parentNode.innerHTML = itmValue;
						sel.selectedIndex = sel.itms.indexOf(itmValue);
					}else if(itm >= 0){
						//var _itm = itm - 1;
						var itmValue = sel.itms[itm];
						//alert(itm)
						sel.childNodes[itm].className = Select.HOVER;
						sel.childNodes[itm].innerHTML = itmValue;
						sel.selectedIndex = itm;
					}
					if(e && sel.search){
						sel.search.statusArray[sel.search.statusArray.length - 1] = sel.selectedIndex;
						//sel.search.sendRequest(true);
						startSearchRequest();//ajax request
					}
					sel.preItm = sel.childNodes[sel.selectedIndex];
					return sel.selectedIndex;
				},
				reset: function(){
					var preItm = sel.childNodes[1].firstChild.childNodes[sel.selectedIndex];
					preItm.innerHTML = "<a href=\"#\" class=\"ab_\"  onclick=\"this.parentNode.parentNode.parentNode.parentNode.select(this);\">" + sel.itms[sel.selectedIndex] + "</a>";
					preItm.className = "";
					var resetItm = sel.childNodes[1].firstChild.firstChild;
					resetItm.className = Select.HOVER;
					resetItm.innerHTML = resetItm.firstChild.innerHTML;					
					sel.selectedIndex = 0;
				}
			})	
			inner = null;
			wraper = null;			
		}else if(typeof this.options.mode == "function"){
			var sel = this.options.mode(itms);
		}
		if(pos.nodeName != "DL"){
			pos.appendChild(sel);
		}else{
			new Insertion.After(pos, sel)
		}
	}
})

/************************************************/

//搜索条

var Search = Class.create();

Object.extend(Search, {
	NORMAL: "search_a_wrap",
	EXT: "search_b_wrap",
	KEYWORD: "search_keyword",
	STATUSID: "searchConditionStr"
})


Object.extend(Search.prototype, {
	initialize: function(pos, itmsArray, relationShip, status, options){
		pos = $(pos);
		this.pos = pos;
		this.itmsArray = itmsArray;
		this.statusArray = status;
		this.relationShip = relationShip;
		this.selLv2 = this.relationShip.length == 1 ? false : true;// 是否为联动菜单
		this.sels = [];
		this.extSels = [];
		this.chgSels = false;
		this.options = {
			special: false,
			specialFunc: false,
			ext: false,
			block: false,
			blockSrc: false,
			blockSrc2: false
		};
		Object.extend(this.options,options || {});
		if($(Search.NORMAL)){
			this.normal = $(Search.NORMAL);
		}else{
			this.normal = $(document.createElement("div"));
			this.normal.id = Search.NORMAL;
			pos.appendChild(this.normal);
		}
		if(this.options.ext){
			if($(Search.EXT)){
				this.ext = $(Search.EXT);
			}else{
				this.ext = $(document.createElement("div"));
				this.ext.id = Search.EXT;
				pos.appendChild(this.ext);
			}
		}
		var rs = this.match();
		if(this.options.special){
			new Select(this.normal, this.itmsArray[rs[0]], {mode: this.options.specialFunc});
			this.build(rs, this.normal, 1);
		}else{
			this.build(rs, this.normal);	
		}
		if(this.options.ext){
			this.build(rs, this.ext);
		}
		this.load();
		if(this.options.ext){
			this.loadExt();
		}
		this.bind();
		$(Search.KEYWORD).observe("mouseover", function(){
			this.addClassName("current");
		})
		$(Search.KEYWORD).observe("mouseout", function(){
			this.removeClassName("current");
		})	
	},
	build: function(rs, pos, from){
		from = from || 0;
		if(pos.id == Search.NORMAL){
			//alert(rs.length)
			for(var i = from, j = rs.length; i < j; i ++){			
				new Select(pos, this.itmsArray[rs[i]]);
				
			}
			this.sels = this.normal.immediateDescendants();
			this.sels.each(function(sel){
				Object.extend(sel, {search: this})
			},this)			
		}else{
			//alert(rs)
			for(var i = from, j = rs.length; i < j; i ++){			
				new Select(pos, this.itmsArray[rs[i]], {mode: "ext"});
//				if(this.options.block && this.itmsArray[rs[i]][0].indexOf("区域") > -1 && this.statusArray[1] > 0 && this.statusArray[this.statusArray.length - 1] >= 0){
//					if(this.statusArray[0] == 0 || this.statusArray[0] == 1){
//						new Select(pos, this.options.blockSrc[this.statusArray[1] - 1], {mode: "subExt"})
//					}else{
//						new Select(pos, this.options.blockSrc2[this.statusArray[1] - 1], {mode: "subExt"})	
//					}
//				}
				if(this.options.block && this.itmsArray[rs[i]][0].indexOf("区域") > -1){
					if(this.selLv2){
						if(this.statusArray[0] == 0 || this.statusArray[0] == 1){
							if(this.options.blockSrc[this.statusArray[1] - 1])
							new Select(pos, this.options.blockSrc[this.statusArray[1] - 1], {mode: "subExt"});
						}else{
							if(this.options.blockSrc2[this.statusArray[1] - 1])
							new Select(pos, this.options.blockSrc2[this.statusArray[1] - 1], {mode: "subExt"});
						}
					}else{
						if(this.options.blockSrc[this.statusArray[0] - 1])
						new Select(pos, this.options.blockSrc[this.statusArray[0] - 1], {mode: "subExt"});
					}
				}
			}
			this.extSels = $A(this.ext.getElementsByTagName("dl")).map(Element.extend);
			this.extSels.each(function(sel){
				Object.extend(sel, {search: this})
			},this)
			if(this.ext.down("ol")){
				this.subExtSel = this.ext.down("ol");
				Object.extend(this.subExtSel, {search: this})
			}
		}
	},
	clear: function(elm, from){
		elm = $(elm);
		from = from || 0;
		var childs = elm.immediateDescendants();
		var to = childs.length - from;
		for(var i = 0; i < to; i ++){
			childs[childs.length - 1].remove();
			childs = elm.immediateDescendants()
		}
	},
	bind: function(){
		if(!this.selLv2 || this.options.special){
			return;	
		}
		var itms = $A(this.sels[0].getElementsByTagName("li")).map(Element.extend);
		itms.each(function(itm, i){
			itm.observe("click", function(){
				this.clear(this.normal, 1);
				this.build(this.relationShip[i], this.normal, 1);
			}.bind(this))
		}, this)
	},
	sendRequest: function(force){//force: if true, request comes from ext
		if(!force){
			if(!this.chgSels){
				return;
			}
			this.update();
			if(this.options.ext){
				if(this.options.block){
					if(this.selLv2){
						this.clear(this.ext, 1);
						this.build(this.relationShip[this.statusArray[0]], this.ext, 1);
					}else{
						this.clear(this.ext);
						this.build(this.relationShip[0], this.ext);				
					}
				}else{
					this.clear(this.ext, 1);
					this.build(this.relationShip[this.statusArray[0]], this.ext, 1);
				}
				this.loadExt();
				this.chgSels = false;
			}
		}else{
			if(this.chgSels && this.selLv2){
				this.clear(this.normal, 1);
				this.build(this.relationShip[this.statusArray[0]], this.normal, 1);	
			}
			this.load();
		}
		//alert(this.pos.id)
		if(this.pos.id == "search_house_special" || this.pos.id == "search_revi_special"){//for home search, block
			this.statusArray.push(0);
		}
		if($(Search.STATUSID))$(Search.STATUSID).value = this.statusArray.join("_");
	},
	update: function(){
		this.statusArray = [];
		for(var i = 0, j = this.sels.length; i < j; i ++){
			this.statusArray.push(this.sels[i].selectedIndex);
		}
		if(this.options.block){
			this.statusArray.push(0);	
		}
	},
	load: function(){
		//alert(this.sels[2].innerHTML)
		for(var i = 0, j = this.statusArray.length; i < j; i ++){
			//alert(this.statusArray[i])
			if(this.sels[i])this.sels[i].select(this.statusArray[i]);
			//if(this.extSels[i])this.extSels[i].select(this.statusArray[i]);
		}
		//if(this.subExtSel)this.subExtSel.select(this.statusArray[this.statusArray.length - 1] - 1);
	},
	loadExt: function(){
		//alert(this.sels[2].innerHTML)
		for(var i = 0, j = this.statusArray.length; i < j; i ++){
			//if(this.sels[i])this.sels[i].select(this.statusArray[i]);
			if(this.extSels[i])this.extSels[i].select(this.statusArray[i]);
		}
		if(this.subExtSel)this.subExtSel.select(this.statusArray[this.statusArray.length - 1] - 1);		
	},
	match: function(){
		if(this.selLv2){
			return this.relationShip[this.statusArray[0]];
		}else{
			return this.relationShip[0];
		}
	}
})

/************************************************/

//为help页面单独写的自定义控件

var HelpSelect = Class.create();

Object.extend(HelpSelect, {
	CLASSNAME: "selectX",
	HOVER: "current",
	CHILDSELECT: null,
	CHILDITMS : null,
	
	append: function(obj,childselect,childitms){
		obj.parentNode.parentNode.select(obj);
		HelpSelect.create(childselect,childitms)
	},	
	
	create: function(pos,itms){
		pos = $(pos);

		var wraper = document.createElement("div");
		var inner = "";
		inner = "<div class=\"" + HelpSelect.CLASSNAME + "\" onmouseover=\"this.childNodes[1].style.display = ''; this.firstChild.className = '" + Select.HOVER + "'\" onmouseout=\"this.childNodes[1].style.display = 'none'; this.firstChild.className = ''\" >";
		if(pos && pos != $(HelpSelect.CHILDSELECT) && pos.innerHTML == ""){
			inner += "<h6>" + "请选择大分类" + "</h6>";
		}else if(pos && pos == $(HelpSelect.CHILDSELECT)){
			inner += "<h6>" + "请选择小分类" + "</h6>";
		}else{
			inner += "<h6>" + itms[0][0] + "</h6>";
		}
		inner += "<ol style=\"display: none\">";
		if(pos && HelpSelect.CHILDSELECT && pos == $(HelpSelect.CHILDSELECT)){
			if(HelpSelect.CHILDSELECT){
				$(HelpSelect.CHILDSELECT).innerHTML = "";
			}
			for(var i = 0, j = itms.length; i < j; i ++){
				inner += "<li onmouseover=\"this.className = '" +  Select.HOVER + "'\" onmouseout=\"this.className = ''\" onclick=\"this.parentNode.parentNode.select(this);changeCCategoryValue("+i+");\">" + itms[i][0] + "</li>";
				
			}
		}else{
			if(HelpSelect.CHILDSELECT){
				$(HelpSelect.CHILDSELECT).innerHTML = "<div class='selectX'><h6>" + "请选择小分类" + "</h6></div>";
			}
			for(var i = 0, j = itms.length; i < j; i ++){
				inner += "<li onmouseover=\"this.className = '" +  Select.HOVER + "'\" onmouseout=\"this.className = ''\" onclick=\"HelpSelect.append(this,HelpSelect.CHILDSELECT,HelpSelect.CHILDITMS["+ i +"]);changeCategoryValue("+i+");\">" + itms[i][0] + "</li>";
			}
		}
		inner += "</ol></div>";
		wraper.innerHTML = inner;		
		var sel = wraper.firstChild;			
		Object.extend(sel, {
			selectedIndex: -1,
			itms: itms,
			select: function(itm){
				sel.childNodes[1].className = "";
				if(typeof itm != "number"){
					itm.parentNode.style.display = "none";
					var itmValue = itm.innerHTML;
					sel.selectedIndex = sel.itms.indexOf(itmValue);
				}else{
					var itmValue = sel.itms[itm];
					sel.selectedIndex = itm;
				}
				sel.firstChild.innerHTML = itmValue;
				/*if(!sel.search.chgSels){
					sel.search.chgSels = true;
				}*/
				return sel.selectedIndex;
			}
		})
		inner = null;
		wraper = null;	
		if(pos.nodeName != "DL"){
			pos.appendChild(sel);
		}else{
			new Insertion.After(pos, sel);
		}
	}
})

Object.extend(HelpSelect.prototype, {
	initialize: function(pos, itms, child_pos, child_itms){
		
		HelpSelect.CHILDSELECT = child_pos;
		HelpSelect.CHILDITMS = child_itms;
		HelpSelect.create(pos,itms);
	}
	
})

/************************************************/
