	
			var itemList =new Array();			
			var childList=new Array();
			var parentList=new Array();		
			
			
			function onChange(list){
				
			}				
						
			function addItem(selectlist,item,parentListValue){
			
			
							
				var list=selectlist.name;
				if (itemList[list]==null){
					itemList[list]=new Array();
				}		
				
				if (parentListValue==null){
					parentListValue=0;
				}
				
				if (itemList[list][parentListValue]==null){
					itemList[list][parentListValue]=new Array();
				}
				
				itemList[list][parentListValue][itemList[list][parentListValue].length++]=item;							

			}
						
			function Item(name,value){
				this.name=name;
				this.value=value;								
			}
			
			
			function init(startList){
			
				var currentList=startList;
				
				while (currentList!=null){
					initList(currentList);
					currentList=childList[currentList.name];
				}
				
				
			}
						
			function initList(selectlist){
			
				var listIndex=1;
			
				while (selectlist.options.length){
					selectlist.options[0]=null;
				}
			
				if (parentList[selectlist.name]!=null){					
					listIndex=parentList[selectlist.name].options[parentList[selectlist.name].selectedIndex].value;									
				}
				else{
					listIndex=0;
				}
				
			
				for (k=0;k<itemList[selectlist.name][listIndex].length;k++){									
					var option=new Option(itemList[selectlist.name][listIndex][k].name,itemList[selectlist.name][listIndex][k].value);										
					selectlist.options[k]=option;				
				}						
			
			}
			
			function onChange(list){			
			
				if (childList[list.name]==null){
					return;
				}
				else{										
					init(childList[list.name],list.value,list);					
					onChange(childList[list.name]);
				}	
				
			}
			
			function setParent(child,parent){								
				childList[parent.name]=child;								
				parentList[child.name]=parent;				
			}
			