		var stage = new Stage();
		var counter = 0;		
		var P_number = 16;
		var P_list = 4 ;
		var srcurl = 'sj_image2/';
		var reqForitems;
		var reqForitems_comid;
		var reqForitems_caid;
	function reqForitemsFromServer(comid,caid) {
		reqForitems = handleRequest();
		reqForitems_comid = comid;
		reqForitems_caid= caid;
		if (reqForitems) {
			reqForitems.onreadystatechange = reqForitemsEvent;
			try {
				reqForitems.open("POST", "category.php", true);
				reqForitems.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				reqForitems.send('classid='+caid);
			}
			catch (err) {
				alert("Query Mms is blocked." + err);
			}
		} 
	}
	function reqForitemsEvent() {
		if (reqForitems.readyState == 4) {
			if (reqForitems.status == 200) {
				getreqForitems();
			}
		}
	}
	function getreqForitems() {
			var xmlDoc = reqForitems.responseXML;
			var xml = xmlDoc.getElementsByTagName('category')[0].childNodes;
			
			for(var i=0; i<stage.companys.length; i++){
				 if(stage.companys[i].id==reqForitems_comid){
					 	for(var j=0; j<stage.companys[i].categories.length; j++){
								if(stage.companys[i].categories[j].id==reqForitems_caid){
									for(var k=0; k<xml.length; k++){
										stage.companys[i].categories[j].items.append(stage.companys[i].categories[j].Itemparse(xml[k],stage.companys[i].categories[j]));
									}
								}
						}
				}
			}
			display_all(reqForitems_comid,reqForitems_caid);
	}
		
		function getCounter(){
			counter++;
			return counter;
		}	
		
//define Stage		
		function Stage(){
			this.id = 0;
			this.type = 'smil';
			this.selected = this;
			this.views = new Array();
			this.companys = new Array();
			this.nodeId = this.type+'_in_tree';		
		}
		
	//load singleton view
		Stage.prototype.attach = function(view){
			this.views.append(view);
		}
	//remove singleton view		
		Stage.prototype.detach = function(view){
			this.views.remove(this.views.indexof(view));
		}
	//views update data for themselves
		Stage.prototype.notify = function(){
			for(var i=0; i<this.views.length; i++){
				this.views[i].viewObj.update(this);
			}
		}
	//add views		
		Stage.prototype.addViews = function(){
			this.attach($('treeView'));	
			
		}
	//getCompany		
		Stage.prototype.getCompany = function(companyID){
			var Company	;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].id==companyID){
					 	Company = this.companys[i];
					 }
			}	
			return Company;
		}
	//getCompany		
		Stage.prototype.getCompanyName = function(companyName){
			var Company	;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].name==companyName){
					 	Company = this.companys[i].id;
					 }
			}	
			return Company;
		}			
	//getCategories		
		Stage.prototype.getCategories = function(companyID){
			var Categories	;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].id==companyID){
					 	Categories = this.companys[i].categories;
					 }
			}	
			return Categories;
		}		
	//getItems		
		Stage.prototype.getItems = function(companyID,categoryID){
			var Items;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].id==companyID){
					 	var company_ = this.companys[i];
					 	for(var j=0; j<company_.categories.length; j++){
								if(company_.categories[j].id==categoryID){
									Items =  company_.categories[j].items;
									}
							}
					 }
			}	
			return Items;
		}	

	//getItems		
		Stage.prototype.getItemsByname = function(companyname,categorynamme){
			var Items;
			
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].name==companyname){
					 	var company_ = this.companys[i];
					 	for(var j=0; j<company_.categories.length; j++){
								if(company_.categories[j].name==categorynamme){
									Items =  company_.categories[j].items;
									}
							}
					 }
			}	
			return Items;
		}
	//getcategories		
		Stage.prototype.getCategory = function(companyID,categoryID){
			var Category;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].id==companyID){
					 	var company_ = this.companys[i];
					 	for(var j=0; j<company_.categories.length; j++){
								if(company_.categories[j].id==categoryID){
									Category =  company_.categories[j];
									}
							}
					 }
			}	
			return Category;
		}
	//getunit		
		Stage.prototype.getunit = function(companyID,categoryID,itemID){
			var Unit;
			for(var i=0; i<this.companys.length; i++){
				 if(this.companys[i].id==companyID){
					 	var company_ = this.companys[i];
					 	for(var j=0; j<company_.categories.length; j++){
								if(company_.categories[j].id==categoryID){
									var Items =  company_.categories[j].items;
									for(var k=0; k<Items.length; k++){
										if(Items[k].id==itemID){
											Unit = Items[k];}
									}
								}
						}
				 }
			}	
			return Unit;
		}		
//define company
		function Company(id,name,parent,seq,type,src,src2){
			this.id = id;
			this.name = name;
			this.parent = parent;
			this.seq = seq;
			this.type = type;
			this.src = src;
			this.src2 = src2;
			this.categories = new Array();
			this.nodeId = this.type+'_'+getCounter()+'_in_tree';
		}	

//define Category
		function Category(id,name,parent,seq,type,src,src2){
			this.id = id;
			this.name = name;
			this.parent = parent;
			this.seq = seq;
			this.type = type;
			this.src = src;
			this.src2 = src2;
			this.items = new Array();
			
			this.nodeId = this.type+'_'+getCounter()+'_in_tree';
		}
//define Item
		function Item(id,name,parent,seq,type,src,color,price,weight,order,stuff,size,srcs,detail,add,discount,Gprice,Gweight){
			this.id = id;
			this.name = name;
			this.parent = parent;
			this.seq = seq;
			this.type = type;
			this.src = src;
			this.color = color;
			this.price = price;
			this.weight = weight;			
			this.order = order;
			this.stuff = stuff;
			this.size = size;
			this.srcs = srcs;
			this.detail = detail;
			this.add = add;
			this.discount = discount;
			this.Gprice = Gprice;			
			this.Gweight = Gweight;			
			this.nodeId = this.type+'_'+getCounter()+'_in_tree';
		}		
		
//define StageView			
		function StageView(){
			this.panel = $('treeView');
			this.panel.viewObj = this;					
		}
	//StageViews' update
		StageView.prototype.update = function(model){
			this.model = model;
			var d = new dTree('d');
			d.add(0,-1,'ALL THE CLOTHING ',model.nodeId,0);
			var nodeCount = 1;
			for(var i=0; i<model.companys.length;i++){
				var companynode = nodeCount;
				var company_ = model.companys[i];
				d.add(companynode,0,company_.name,company_.type+':'+company_.id,0);
				nodeCount++;
				for(var j=0; j<company_.categories.length;j++){
					var categorynode = nodeCount;
					var category = company_.categories[j];
					d.add(categorynode,companynode,category.name,category.type+':'+category.id+'-'+company_.id,0);
					nodeCount++;
//					for(var k=0; k<category.items.length;k++){
//						var itemsnode = nodeCount;
//						var item_ = category.items[k];
//						d.add(itemsnode,categorynode,item_.type+': '+item_.name,item_.type+':'+item_.id+'-'+category.id+'-'+company_.id,0);
//						nodeCount++;
//					}
				}
			}
			showtree = d;
			$('treeView2').innerHTML = d;			
			//$('moveup').onclick = TreeView.moveupAction;
		}
		
		
		
	//a Action for selecting a tree's node 
		StageView.selectedAction = function(selectedId){

			var selected_node =  selectedId.split(':');
			if(selected_node== 'null'){
			return;
			}
			showUtil();
			if(selected_node[0]=='company'){
				Creat_category(selected_node[1]);
			}			
			if(selected_node[0]=='category'){
				Creat_items(selected_node[1]);
			}
			if(selected_node[0]=='Item'){
				Creat_unit(selected_node[1]);
			}
			
		}
		
		function Creat_company(){
				var Companys = stage.companys;
				display_all();				
		}

		function Creat_category(nodeId){
				var companyid = nodeId;
				var categories = stage.getCategories(companyid);
				display_all(companyid);
		}
		
		function Creat_items(nodeId){
				nodeId = nodeId.split('-');
				var companyid = nodeId[1];
				var categoryid = nodeId[0];
				if(stage.getItems(companyid,categoryid).length > 0){
					display_all(companyid,categoryid);
				}else{
					var ddd = $('display_show');					
					ddd.innerHTML = '<br /><br /> <br /> <br /> <br /><br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<FONT color=#ff6600 size=4 style="text-align:center">Please wait a moment,the data is loading.....      Thanks a lot for your patience!</FONT>';
					reqForitemsFromServer(companyid,categoryid);
				}
				
		}

		function Creat_unit(nodeId){
				nodeId = nodeId.split('-');
				var companyid = nodeId[2];
				var categoryid = nodeId[1];
				var itemid = nodeId[0];
				display_all(companyid,categoryid,itemid);
		}
	
		function display_all(companyid,categoryid,itemid){
			var ddd = $('display_show');
				ddd.stage = stage;
			if(itemid == null){
				ddd.innerHTML = '';
			}
			if(companyid ==null){
				var companys = stage.companys;
				var shang = companys.length/P_number;
				var yushu = companys.length%P_number;
				var s1 = creatTitle();
				var s2 = creatItemsWarp();
				var s3 = creatFoot(shang,yushu,companys);
				var s4 = creatFoot2(shang,yushu,companys);
				if(shang <= 1){
					for(var i=0;i<companys.length;i++){
							s2.appendChild(creatItems(companys[i]));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}	
					}
					if(companys.length<P_number){
							s2.appendChild(creatBr());
					}				
				}
				if(shang >1){
					for(var i=0;i<P_number;i++){
							s2.appendChild(creatItems(companys[i]));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}
				
					}
				}				
				
			}			
			if(companyid!=null && categoryid ==null){
				var categories = stage.getCategories(companyid);
				var shang = categories.length/P_number;
				var yushu = categories.length%P_number;
				var s1 = creatTitle(companyid);
				var s2 = creatItemsWarp();
				var s3 = creatFoot(shang,yushu,categories);
				var s4 = creatFoot2(shang,yushu,categories);
				if(shang <= 1){
					for(var i=0;i<categories.length;i++){
							s2.appendChild(creatItems(categories[i]));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}	
					}
					if(categories.length<P_number){
							s2.appendChild(creatBr());
					}
				}
				if(shang >1){
					for(var i=0;i<P_number;i++){
							s2.appendChild(creatItems(categories[i]));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}
				
					}
				}
			}			
			if(categoryid!=null && itemid ==null){
				var items = stage.getItems(companyid,categoryid);
				var shang = items.length/P_number;
				var yushu = items.length%P_number;
				var s1 = creatTitle(companyid,categoryid);
				var s2 = creatItemsWarp();
				var s3 = creatFoot(shang,yushu,items);	
			    var s4 = creatFoot2(shang,yushu,items);
				if(shang <= 1){
					for(var i=0;i<items.length;i++){
							s2.appendChild(creatItems(items[i],items));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}							
					}
					if(items.length<P_number){
							s2.appendChild(creatBr());
					}		
				}
				if(shang >1){
					for(var i=0;i<P_number;i++){
							s2.appendChild(creatItems(items[i],items));
							if((i+1)%P_list==0){
								s2.appendChild(creatBr());
							}
				
					}
				}				
			}
			if(itemid !=null){
				var Unit = stage.getunit(companyid,categoryid,itemid);
				var items = stage.getItems(companyid,categoryid);
				sAlert('until.html',Unit,items);
			}else{
				var t1 = creatGoodsSearchWarp();	
					t1.appendChild(s1);
					t1.appendChild(s4);					
					t1.appendChild(s2);
					t1.appendChild(creatBr());
					t1.appendChild(s3);
					ddd.appendChild(t1);
			}
		
		}
		
function inner_all(id,shang,yushu,items){
	var ceilshang = Math.ceil(shang);
	var ppo = ceilshang-id;
	var tt ;
	var span1_r =$('span1_r');
	var span3_r =$('span3_r');
	span3_r.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
		if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
		tt = items.slice((id-1)*P_number,id*P_number);
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}
	var s4 = $('INDEXGOODS_STYLE_2_Wrap');
	s4.innerHTML = '';
	var ItemsWarp = document.createElement("div");
		ItemsWarp.id ='ItemsWarprenvv';
		ItemsWarp.className ='ItemsWarp';
		s4.appendChild(ItemsWarp);
	for(var i=0;i<tt.length;i++){
			s4.appendChild(creatItems(tt[i],items));
			if((i+1)%P_list==0){
				s4.appendChild(creatBr());
			}
	}
	if(tt.length<P_number){
			s4.appendChild(creatBr());
	}
	var PagerWrap_ren = $('PagerWrap_ren');
	var b_ren = PagerWrap_ren.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem = $('nextitem');
	nextitem.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem.lang = parseInt(id);
	}else{
		nextitem.lang = parseInt(id)+1;
	}
	var preitem = $('preitem');
	if(parseInt(id) == 1){
		preitem.lang = parseInt(id);
	}else{
	preitem.lang = parseInt(id)-1;
	}

	var span1_r2 =$('span1_r2');
	var span3_r2 =$('span3_r2');
	span3_r2.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
		if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r2.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
				tt = items.slice((id-1)*P_number,id*P_number);

		span1_r2.innerHTML = ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}
	var PagerWrap_ren2 = $('PagerWrap_ren2');
	var b_ren = PagerWrap_ren2.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem2 = $('nextitem2');
	nextitem2.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem2.lang = parseInt(id);
	}else{
		nextitem2.lang = parseInt(id)+1;
	}
	var preitem2 = $('preitem2');
	if(parseInt(id) == 1){
		preitem2.lang = parseInt(id);
	}else{
	preitem2.lang = parseInt(id)-1;
	}
}

function pre_ren(id,shang,yushu,items){
	var ceilshang = Math.ceil(shang);
	var ppo = ceilshang-id;
	var tt ;
	var span1_r =$('span1_r');
	var span3_r =$('span3_r');
	span3_r.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
		if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
		tt = items.slice((id-1)*P_number,id*P_number);
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}
	var s4 = $('INDEXGOODS_STYLE_2_Wrap');
	s4.innerHTML = '';
	var ItemsWarp = document.createElement("div");
		ItemsWarp.id ='ItemsWarprenvv';
		ItemsWarp.className ='ItemsWarp';
		s4.appendChild(ItemsWarp);
	for(var i=0;i<tt.length;i++){
			s4.appendChild(creatItems(tt[i],items));
			if((i+1)%P_list==0){
				s4.appendChild(creatBr());
			}
	}
	if(tt.length<P_number){
			s4.appendChild(creatBr());
	}
	var PagerWrap_ren = $('PagerWrap_ren');
	var b_ren = PagerWrap_ren.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem = $('nextitem');
	nextitem.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem.lang = parseInt(id);
	}else{
		nextitem.lang = parseInt(id)+1;
	}
	var preitem = $('preitem');
	if(parseInt(id) == 1){
		preitem.lang = parseInt(id);
	}else{
	preitem.lang = parseInt(id)-1;
	}

	var span1_r2 =$('span1_r2');
	var span3_r2 =$('span3_r2');
	span3_r2.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
				if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r2.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
				tt = items.slice((id-1)*P_number,id*P_number);

		span1_r2.innerHTML = ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}


	var PagerWrap_ren2 = $('PagerWrap_ren2');
	var b_ren = PagerWrap_ren2.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem2 = $('nextitem2');
	nextitem2.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem2.lang = parseInt(id);
	}else{
		nextitem2.lang = parseInt(id)+1;
	}
	var preitem2 = $('preitem2');
	if(parseInt(id) == 1){
		preitem2.lang = parseInt(id);
	}else{
	preitem2.lang = parseInt(id)-1;
	}
	
}		

function next_ren(id,shang,yushu,items){
	var ceilshang = Math.ceil(shang);
	var ppo = ceilshang-id;
	var tt ;
	var span1_r =$('span1_r');
	var span3_r =$('span3_r');
	span3_r.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
		if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
		tt = items.slice((id-1)*P_number,id*P_number);
		span1_r.innerHTML = ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}
	var s4 = $('INDEXGOODS_STYLE_2_Wrap');
	s4.innerHTML = '';
	var ItemsWarp = document.createElement("div");
		ItemsWarp.id ='ItemsWarprenvv';
		ItemsWarp.className ='ItemsWarp';
		s4.appendChild(ItemsWarp);
	for(var i=0;i<tt.length;i++){
			s4.appendChild(creatItems(tt[i],items));
			if((i+1)%P_list==0){
				s4.appendChild(creatBr());
			}
	}
	if(tt.length<P_number){
			s4.appendChild(creatBr());
	}
	var PagerWrap_ren = $('PagerWrap_ren');
	var b_ren = PagerWrap_ren.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem = $('nextitem');
	nextitem.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem.lang = parseInt(id);
	}else{
		nextitem.lang = parseInt(id)+1;
	}
	var preitem = $('preitem');
	if(parseInt(id) == 1){
		preitem.lang = parseInt(id);
	}else{
	preitem.lang = parseInt(id)-1;
	}
	
	var span1_r2 =$('span1_r2');
	var span3_r2 =$('span3_r2');
	span3_r2.innerHTML = id+'/'+Math.ceil(shang);
	if(id==ceilshang){
				if(yushu==0){
			tt = items.slice(items.length-P_number);
		}else{
			tt = items.slice(items.length-yushu);
		}
		span1_r2.innerHTML = ((id-1)*P_number+1)+' to '+items.length+' (of '+items.length+' piece)';			
	}else{
		tt = items.slice((id-1)*P_number,id*P_number);

		span1_r2.innerHTML =  ((id-1)*P_number+1)+' to '+id*P_number+' (of '+items.length+' piece)';		
	}

var PagerWrap_ren2 = $('PagerWrap_ren2');
	var b_ren = PagerWrap_ren2.getElementsByTagName('b');
	for(var i=0;i<b_ren.length;i++){
		 b_ren[i].className ='';
	}
	b_ren[id-1].className = 'red_b';
	var nextitem2 = $('nextitem2');
	nextitem2.lang = parseInt(id)+1;
	if(parseInt(id) == ceilshang){
		nextitem2.lang = parseInt(id);
	}else{
		nextitem2.lang = parseInt(id)+1;
	}
	var preitem2 = $('preitem2');
	if(parseInt(id) == 1){
		preitem2.lang = parseInt(id);
	}else{
	preitem2.lang = parseInt(id)-1;
	}
}	
