
//전역변수 설정
UI.DynamicScript.prototype.noCacheParam = function(){ return ''; }
var Clustering = new UI.DynamicScript('','utf-8'); 
var param = UI.parseQuery();
var clusterId = param['clusterid'];
var newsId = param['newsid'];
var clusternewsId = param['clusternewsid'];
var cp = param['p'];
var chk_error="off";
var cData = new Array(new Array(),new Array());
var sort = param['X'] ? 1 : 0;

//함수시작
UI.addEvent(window, "load", function(){P = new ClusterListing({listLength:20,sort:sort});var pageRenew = setTimeout('P.Renew();',1000);}); 

ClusterListing = function(options){
	this.iframeSrc="http://media.daum.net/nms/service/news/cluster/view_news?newsid=";
	this.firstLoad = false;
	if(clusternewsId!=undefined){
		UI.$('cnewsView').src=this.iframeSrc+clusternewsId+"&cateid=&p="+cp; 
	}else{
		chk_error="on";
	}
	this.options={
		page:1,//페이지
		startNum:0,//중복통신점검
		listLength:15,//리스트 갯수
		maxNum:1, //전체 리스트
		sort:0
	}
	Object.extend(this.options, options);
	maxNum = new Number(); //전역 변수
	this.Listing(1);
}

ClusterListing.prototype={
	Listing:function(chk){//page에 맞는 js값 불러오기
		var call_js = "http://media.daum.net/cluster/api/view.js?id="+clusterId+"&page_size="+this.options.listLength+"&page="+this.options.page+"&callback=P.Write";
		call_js = (this.options.sort==1)?(call_js+"&sort_type=id"):(call_js);
		try{
			if(this.options.sort==0){
				UI.$('cluster_sort0').className="on";UI.$('cluster_sort1').className="off";
			}else{
				UI.$('cluster_sort0').className="off";UI.$('cluster_sort1').className="on";
			}
			if(chk == 1){//첫로딩때
				call_js = (clusternewsId==undefined)?(call_js):(call_js+"&article_id="+clusternewsId);//articleid이속하는페이지찾기
				Clustering.call(call_js);
			}else{
				if(cData[this.options.sort][this.options.page]==undefined || (this.options.page==1 && this.options.startNum==0)){//중복통신줄이기
					Clustering.call(call_js);
				}else{//이미 불렀던 page 안부르기
					this.Write(cData[this.options.sort][this.options.page]);
					this.options.startNum=0;
				}
			}
		}catch(e){}
	},
	Paging:function(options){
		Object.extend(this.options,options);
		this.Listing();//page에 맞는 js값 불러오기
		this.NowPageSet = Math.floor((this.options.page-1)/5);
		this.prevPage = this.NowPageSet*5;
		this.nextPage = this.NowPageSet*5+6;
		this.maxPage = Math.floor((maxNum-1)/this.options.listLength)+1;
		this.MaxPageSet = Math.floor((this.maxPage-1)/5);
		var PageHTML = new UI.StringBuffer();
		if(this.NowPageSet>0){
			PageHTML.append("<span class=\"left\">");
			PageHTML.append("<a href=\"#\" onclick=\"P.Paging({page:1});window.scrollTo(0,0);return false;\"><img src=\"http://img-media.daum-img.net/media3/common/bt_recent_off.gif\" width=\"13\" height=\"13\" alt=\"최신\" /></a><a href=\"#\" onclick=\"P.Paging({page:"+this.prevPage+"});window.scrollTo(0,0);return false;\"><img src=\"http://img-media.daum-img.net/media3/common/bt_pre_off.gif\" width=\"13\" height=\"13\"  alt=\"이전\" /></a>");
			PageHTML.append("</span>");
		}
			PageHTML.append("<span class=\"num\">");
		for(var i=1;i<6;i++){
			var num = i + this.NowPageSet*5;
			if(num<=this.maxPage){
				if(num==this.options.page){
					(i==5 || num == this.maxPage)?PageHTML.append("<b class=\"last\">"+num+" </b>"):PageHTML.append("<b>"+num+" </b>");
				}else{
					(i==5 || num == this.maxPage)?PageHTML.append("<a href=\"#\" onclick=\"P.Paging({page:"+num+"});\" class=\"last\">"+num+" </a>"):PageHTML.append("<a href=\"#\" onclick=\"P.Paging({page:"+num+"});\">"+num+" </a>");
				}
			}
		}
			PageHTML.append("</span>");
		if(this.NowPageSet<this.MaxPageSet){
			PageHTML.append("<span class=\"right\">");
			PageHTML.append("<a href=\"#\" onclick=\"P.Paging({page:"+this.nextPage+"});window.scrollTo(0,0);return false;\"><img src=\"http://img-media.daum-img.net/media3/common/bt_next_off.gif\" width=\"13\" height=\"13\" alt=\"다음\" /></a><a href=\"#\" onclick=\"P.Paging({page:"+this.maxPage+"});window.scrollTo(0,0);return false;\"><img src=\"http://img-media.daum-img.net/media3/common/bt_last_off.gif\" width=\"13\" height=\"13\" alt=\"끝\" /></a>");
			PageHTML.append("</span>");
		}
		try{
			UI.$('paging').innerHTML=PageHTML;
			UI.$('cul_total').innerHTML= maxNum;
		}catch(e){}
	},
	View:function(id,cateid,cp,thiz){
		var liz = UI.$('cListing').getElementsByTagName('li');
		for(var i=0;i<liz.length;i++){
			try{liz[i].className=(liz[i].className=="on")?"visited":liz[i].className;}catch(e){};//자기자신노드 지우기
		}
		clusternewsId=id;
		thiz.className="on"
		UI.$('cnewsView').src=this.iframeSrc+clusternewsId+"&cateid="+cateid+"&p="+cp;
	}
	,Write:function(data){//받아서 내용 갱신 하는 함수
		var onEl = 0;//처음 선택된 기사
		if(data.error!=undefined){
			chk_error="on";//파라메타에러일때 전역변수
			var error_txt="<div id='DAUMCOMMON_ERROR_MSG'><div id='content'><h3>서비스 이용에 불편을 드려 죄송합니다.<br />원하시는 페이지를 찾을 수가 없습니다.</h3><p>찾으시려는 페이지의 주소가 잘못 입력되었거나,<br />페이지 주소의 변경 혹은 삭제로 인해 현재 사용할 수 없습니다.</p><p>입력하신 페이지의 주소가 정확한지 다시 한번 확인해 주시길 부탁드립니다.</p><p>관련하여 문의사항 있으시면 언제든지, <a href='http://cs.daum.net/faq/site/63.html' target='_top'>고객센터</a>로 문의해주시길 바랍니다.</p><p>감사합니다.</p></div></div><div id='magpieArea'><img src='http://group3.magpie.daum.net/magpie/opencounter/Open.do?service=mediadaum&key=wrong_prameter&host=media-nmsweb1' width='0' height='0' alt='' /></div>";
			UI.$('paging').innerHTML="";
			if(data.error=="cluster not found") UI.$('clusterView').innerHTML=error_txt;
		}else{
			this.options.page = (data.cluster.page!="")?data.cluster.page:this.options.page;
			maxNum = data.cluster.totalCount;//전역 변수
			var News = data.cluster.articles;
			cData[this.options.sort][this.options.page] = data;//데이타 저장
			var ListStr = new UI.StringBuffer();
			if(clusternewsId==undefined){
				UI.$('cnewsView').src=this.iframeSrc+News[0].id+"&cateid="+News[0].category.id;clusternewsId=News[0].id;
			}
			if(UI.$('cul_news_tit').innerHTML==""){//newsid 이전기사 링크값이 없을 경우 대체용
				UI.$('cul_news_tit').innerHTML=News[0].title;
				UI.$('cul_news_back').href="http://newslink.media.daum.net/news/"+News[0].id;
				}
			ListStr.append("<ul>");
			for(var i = 0; i<News.length;i++){
				try{
					if(i%5==0 && i!=0 && i!=20){ListStr.append("<li class=\"line\"><span>&nbsp;</span></li>");}
					if(News[i].id==clusternewsId){
						ListStr.append("<li class=\"on\" onclick=\"P.View('"+News[i].id+"','"+News[i].category.id+"','"+News[i].cp.engName+"',this);return false;\">");
						onEl = i;
					}else{
						ListStr.append("<li onclick=\"P.View('"+News[i].id+"','"+News[i].category.id+"','"+News[i].cp.engName+"',this);\">");
					}
					ListStr.append("<a href=\"http://media.daum.net/"+News[i].sectionCategory.engName+"/view.html?newsid="+News[i].id+"&cateid="+News[i].category.id+"&p="+News[i].cp.engName+"\" class=\"title\" title=\""+News[i].title+"\" onclick=\"return false;\">"+News[i].title+"</a><span class=\"box\"></span><span class=\"info\"><span class=\"cp\">"+News[i].cp.korName+"</span><em>|</em><span class=\"date\">"+News[i].regDt.substring(0,4)+"."+News[i].regDt.substring(4,6)+"."+News[i].regDt.substring(6,8)+" "+News[i].regDt.substring(8,10)+":"+News[i].regDt.substring(10,12)+"</span></span></li>");
				}catch(e){}
			}
			ListStr.append("</ul>");
			UI.$('cListing').innerHTML=ListStr;

		}
	},Renew:function(){
		this.Paging({startNum:1});
		if(chk_error=="on"){setTimeout('P.Paging({startNum:1});',500);}
	}
}