

// JavaScript Document
/*
//-----------------------------------------------------------------------------
//	EhmUtil 1.0  |  create it for EHM WCM 4-5 2007-08-21
//-----------------------------------------------------------------------------
//	Copyright (c) 2007-12-07 ehm zhangchao
//
//	This script can be used  for EHM WCM 4-5 anysite
//	Process   

		var dtf = new dataFactory();  //创建数据			必填
		<!--EHM_SystemNav?pcid=0&getsuball=1-->			
		var channelStr = "<!--EHM_NavList-->"; //		必填
		<!--/EHM_SystemNav-->
		dtf.useEspDot();//运用特殊点                    可选
		dtf.setchannelId(ChannelID);//本频道id(小频道)	必填
		//输出频道串
		dtf.initializeData(channelStr);//				必填
		dtf.addClass('频道一级关闭时样式,频道一级打开时样式,频道一级下划线样式;频道二级关闭时样式,频道二级打开时样式,频道二级下划线样式;频道三级关闭时样式,频道三级打开时样式,频道三级下划线样式');//添加样式 不同栏目用';'分割,相同栏目用','分割,第二个参数为下划线样式						必填
		dtf.insertChannelName("ChannelName1");//在id为"ChannelName1"的标签内显示主频道名称			可选
		dtf.insertChannelPic("asdasd");//在id为"ChannelName1"的标签内显示主频道名称		可选
		dtf.writeNav();//输出频道						必填
//-----------------------------------------------------------------------------
*/
function ChannelFactory()
{	
	this.navArr = [];
	this.navTempArr = [];
	this.navtemparr = [];
	this.channelId = "";
	this.channelStr = "";
	this.topid=0;
	this.channelNode={};
	this.toppath="";
	this.setChannelStr = function(Str)
	{
	this.channelStr = Str;
	}
	this.setChannelFloder = function (path)
	{
	this.toppath=path;
	}
	this.getChildChannel = function(topid)	
	{
		//alert(this.channelStr)
		this.setTopid(topid);
		this.initializeData(this.channelStr);
		return this.channelNode;
		//alert(this.navArr.length)
	}
	
	this.setTopid=function(topid){
		this.topid=topid;
	}
//'-----------------------------------	


//'-----------------------------------		
	this.initializeData = function (Str)
	{	
		this.navtemparr = Str.split(";");
		//alert("---------"+this.navtemparr.length);
		this.navTempArr.length=0
		for(data_index=0;data_index<this.navtemparr.length;data_index++){
		    this.datetemparr = this.navtemparr[data_index].split(",");
		    this.pushinTempArr(this.datetemparr[0],this.datetemparr[1],this.datetemparr[2],this.datetemparr[3],this.datetemparr[4]);
		// tmstrs+=this.datetemparr[0]+"()"+this.datetemparr[1]+"()"+this.datetemparr[2]+"\n"
			
	}
	//	showinner(tmstrs)
	// alert("+909090+"+this.navTempArr.length)
		 //this.getTopNavId(this.channelId)//获取顶端栏目的id
		
		 this.channelNode =this.getNode(this.topid);
		// alert(this.channelNode.childnode.length);
		// this.reInit(this.channelNode);  //数组装载
		 // alert(this.channelNode.childnode.length);
	}

		this.getNode = function (id)
	    {
		//alert("+()()()()()+"+this.navTempArr.length)
		 if(id==0) {
			var retvalue=new EhmDatebean('0','-1','站点根目录','','');
			for(var node_index=0;node_index<this.navTempArr.length;node_index++)
		    {
			  if(this.navTempArr[node_index].pcid==id){
				  retvalue.childnode.push(this.navTempArr[node_index]);
			  }
		    }
		   return retvalue;	
		  }else{
			  var retvalue=new EhmDatebean(id,'-1','当前频道目录','','');
		//	 //alert("id====="+id+"-----"+this.navTempArr.length);
		//	 var retvalue={};
		//    //alert("+assas+"+this.navTempArr.length)
	    // 	 for(var node_index=0;node_index<this.navTempArr.length;node_index++)
		//     {
		//		if(this.navTempArr[node_index].cid==id){
		//			 alert("id 111====="+id);
		//			 retvalue =  new EhmDatebean(this.navTempArr[node_index].cid,this.navTempArr[node_index].pcid,this.navTempArr[node_index].topic,this.navTempArr[node_index].links,this.navTempArr[node_index].images);
		//			 break;
		//		}			   
		 //   }
			
		//	alert("");
		//	if(retvalue){
				for(var node_index=0;node_index<this.navTempArr.length;node_index++)
				{
					//alert(this.navTempArr[node_index].cid+"^^^^^^^^^"+this.navTempArr[node_index].topic)
					if(this.navTempArr[node_index].pcid==id){
						//alert(node_index)
						retvalue.childnode.push(this.navTempArr[node_index]);
						//alert(this.navTempArr[node_index].topic+"="+this.navTempArr[node_index].cid+"="+(node_index)+">"+this.navTempArr[node_index].pcid+"**"+id+"<>"+retvalue.childnode.length);
						
				}	   
	//		}				
			}
			//alert("function:"+retvalue.childnode.length)
			return retvalue;
			 
 		 } 
	  }	
//'-----------------------------------		
		this.getTopNavId = function(chnid){             //获取祖父级栏目id
		for(var chn_index=0;chn_index<this.navTempArr.length;chn_index++){
			if(this.navTempArr[chn_index].cid == chnid){
				if(this.navTempArr[chn_index].pcid == this.topid){
					this.topid = this.navTempArr[chn_index].cid
					return ;
					}else{
					this.getTopNavId(this.navTempArr[chn_index].pcid)	
					}
				}
			}
	}
//'-----------------------------------	
		this.reInit	= function (node){
		for(var re_index=0;re_index<this.navTempArr.length;re_index++)
		{
			if(this.navTempArr[re_index].pcid == node.cid){
				node.childnode[node.childnode.length]=this.navTempArr[re_index];	
				//alert(this.navTempArr[re_index].topic)
//if(this.navTempArr[re_index].pcid!=0){this.navArr[this.navArr.length]=this.navTempArr[re_index];}
if(this.haveCh(this.navTempArr[re_index].cid)){
	//alert("有")
	this.reInit(node.childnode[node.childnode.length-1])}
				}
		}
//		for(var re_index=0;re_index<this.navTempArr.length;re_index++)
//		{
//
//			if(this.navTempArr[re_index].pcid == topid){
//			if(this.navTempArr[re_index].pcid!=0){this.navArr[this.navArr.length]=this.navTempArr[re_index];}
//			if(this.haveCh(this.navTempArr[re_index].cid)){this.reInit(this.navTempArr[re_index].cid)}
//				}
//		}
//		this.navtemparr.length = null;
//		this.datetemparr = null;
//		this.pushinTempArr = null;

		}
//---------------------		
		this.haveCh = function(id){
		for(var hvc_index=0;hvc_index<this.navTempArr.length;hvc_index++)
		{
		if (this.navTempArr[hvc_index].pcid == id){return true;}
		}
		return false;
	}
//-----------------------
	this.pushinTempArr = function (cid,pcid,topic,links,images){this.navTempArr.push(new EhmDatebean(cid,pcid,topic,links,images));}
	
}


//--------------------------------------------------------------------------
function EhmDatebean(cid,pcid,topic,links,images)//初级封装数据
{
this.cid = cid;
this.pcid = pcid;
this.topic = topic;
this.links = links;
this.images = images;
this.childnode=[];
}

function showinner(inner){
	var showHelper = document.createElement('textarea');
	showHelper.id="inners"
	showHelper.rows="10"
	showHelper.cols="90"
	if(!document.getElementById("inners")){document.body.appendChild(showHelper);}
	document.getElementById("inners").value=inner;	
}



