// namespace Dis


/**
 *
 *	Data format as: count##configure##[user,####,link,####,content,####,time]##||##[user,####,link,####,content,####,time]
 *
 *	Params:	length	[ page content length ]
 *					page	[ 0 -> 1 ]
 *					id			[ article id ]
 *
 */

window._URL_=window._URL_?window._URL_:"/cms";


var Dis={
	
	length: 20,
	
	page: 0,
	
	count: 0,
	
	model: "",
	
	data: new Array(),
	
	init: function(node,url){
//		Dis.q=new $G.Q(_URL_+Dis.model+"/show");

//		var l=window.location.toString().split("/");

//		var ll=l[l.length-1];
		
		var loadURL="http://search.weather.com.cn/comment/commentShow.php";

		if(url){
			loadURL=url;
		}

//		Dis.id=ll.split(".")[0].split("_")[0];
		Dis.id=window.ARTICLEID;
		if(IQ){
			Dis.q=new IQ(loadURL);
		}else{
			Dis.q=new $G.Q(loadURL);
		}
		Dis.q.id=Dis.id;
		Dis.q.useUnique();
		Dis.q.channelid=window.CHANNELID;
		Dis.q.length=Dis.length;
		Dis.q.page=Dis.page;
		Dis.q.parse(Dis.initS,Dis.initF);
		
		if(node){
			Dis.frame=node;
		}
	},
	
	initS: function(){
		
		var alldata=Dis.q.$().split("##configure##"),data;
		
		var d=alldata[1].split("##||##");
		
		
		if(Dis.count!=0&&Dis.count!=parseInt(alldata[0])){
			delete Dis.data;
			Dis.data=new Array();
		}
		
		Dis.count=parseInt(alldata[0]);
		
		for(var i=0;i<d.length&&i<Dis.length&&i<(Dis.count-Dis.page*Dis.length);i++){
			
			data=d[i].split(",####,");
			
			Dis.data[Dis.page*Dis.length+i]={user:data[0],content:data[1],time:data[2]};
			
		}
		
		Dis.show();
		
	},
	
	intiF: function(){
		window.msg("error");
	},
	
	show: function(){
		
		Dis.writeHeader();
		Dis.showContent();
		Dis.writeFooter();
		
	},
	
	showContent: function(){
		
		Dis.content=new $E("dl",{className:"weather_form_listtop"});
		
		for(var i=Dis.page*Dis.length,temp; i<(Dis.page+1)*Dis.length&&i<Dis.data.length; i++){
			temp=new Dis.Item(Dis.data[i]);
		}
		
		Dis.content.insertTo(Dis.frame);
	},
	
	clear: function(){
			
		while(Dis.content.firstChild)
			Dis.content.removeChild(Dis.content.firstChild);
			
		delete Dis.content;
			
		while(Dis.frame.firstChild)
			Dis.frame.removeChild(Dis.frame.firstChild);
			
	},
	
	Item: function(p){
		this.user=p.user;
		
		this.node=new $E("dt");
		
		this.userLink=new $E("strong",{innerHTML:p.user});
		
		this.node.appendChild(this.userLink);
		this.node.appendChild("发表于");
		this.node.appendChild(new $E("em",{innerHTML:p.time}));
		
		Dis.content.appendChild(this.node);
		
		this.content=new $E("dd",{innerHTML:p.content});
		Dis.content.appendChild(this.content);
	},
	
	writeHeader: function(){
		
		var a=new $E("h3");
		a.appendChild("共");
		a.appendChild(new $E("span",{innerHTML:Dis.count}));
		a.appendChild("条, 当前是"+(Dis.page*Dis.length+1)+"-"+((Dis.page+1)*Dis.length<Dis.count?(Dis.page+1)*Dis.length:Dis.count)+"条");
		
		a.insertTo(Dis.frame);
		
	},
	
	writeFooter: function(){
		
		var c=new $E("em");
		
		var n=parseInt((Dis.count-1)/Dis.length)+1;
		
		
		if(Dis.page){
			c.appendChild(new $E("a",{innerHTML:"上一页",href:"javascript:Dis.changeTo("+(Dis.page-1)+")"}));
		}else{
			c.appendChild("上一页");
		}
		
		for(var i=0;i<n;i++){
			
			if(i-Dis.page){
				c.appendChild(new $E("a",{innerHTML:(i+1),href:"javascript:Dis.changeTo("+i+")"}));
			}else{
				c.appendChild((i+1).toString());
			}
			
		}
		
		if((Dis.page+1)*Dis.length<Dis.count){
			c.appendChild(new $E("a",{innerHTML:"下一页",href:"javascript:Dis.changeTo("+(Dis.page+1)+")"}));
		}else{
			c.appendChild("下一页");
		}

		var div=new $E("div",{className:"pageclass"});

		div.appendChild(c);

		div.insertTo(Dis.frame);

		
	},
	
	changeTo: function(page){
		
		Dis.page=page;
		Dis.clear();
		if(typeof Dis.data[page*Dis.length]=="undefined"){
			
			Dis.init();
			
		}else{
		
			Dis.show();
			
		}
		
	},
	
	push: function(p){
		Dis.data.unshift(p);
		
		var i=0;
		
		while(Dis.data[i++]);
		
		var n=parseInt(i/Dis.length)*Dis.length;
		
		Dis.data.splice(n);
		
		Dis.changeTo(Dis.page);
	},
	
	/**
	 *
	 *	Params
	 *	1. user
	 *	2. validNumber
	 *	3. content
	 *
	 **/
	send: function(p){
		
		Dis.quest=new IQ("http://search.weather.com.cn/comment/commentAction.php");

		Dis.quest.id=window.ARTICLEID;
		
		Dis.quest.user=p.user;
		
		Dis.quest.channelid=window.CHANNELID;
		
		Dis.quest.validNumber=p.validNumber;
		
		Dis.quest.content=p.content;
		
		Dis.quest.parse(Dis.callBack, Dis.callFail);
		
	},
	
	/**
	 *
	 *	Return
	 *	[ true + time | false ]
	 *
	 *
	 **/
	callBack: function(){
		Dis.refreshValidNumber();
		if(Dis.quest.$().toString().indexOf("true")>-1){
			Dis.push({user:Dis.quest.user,content:Dis.quest.content,userLink:"#",time:Dis.quest.$().toString().substring(4)});
			window.msg("提交成功!");
		}else{
			Dis.callFail();
		}
		
	},
	
	callFail: function(){
		Dis.refreshValidNumber();
		window.msg("验证码错误");
	},

	refreshValidNumber: function(){
		$("validNumberImage").src="http://search.weather.com.cn/comment/valid_num.php?data="+(new Date()).toString();
	}
/*
	addnote: function(user,content,validNum){
		
		Dis.addQ=new $G.Q("quest");

		Dis.addQ.id=Dis.id;

		Dis.addQ.channelid=window.CHANNELID;

		Dis.addQ.user=user;

		Dis.addQ.content=content;

		if(validNum){
			Dis.addQ.validNum=validNum;
		}

		Dis.addQ.parse(Dis.addS,Dis.addF);

	},

	addS: function(){

		if(Dis.addQ.$().indexOf("true")==0){
			//Success
		}else{
			Dis.addF();
		}

	},

	addF: function(){
		window.alert("添加失败");
	}*/
}
