var PostListClass;

PostListClass = function(elementId){
	this.elementid = elementId;
	this.PageAddTimerID = null;
	this.ajax_list_page = 1;
	this.ajax_list_flag = 0;
	this.selectMenus = {
		on : [
			'/images/0906/img_tab01_ov.gif',
			'/images/0906/img_tab02_ov.gif',
			'/images/0906/img_tab03_ov.gif',
			'/images/0906/img_tab04_ov.gif'
			],
		off : [
			'/images/0906/img_tab01.gif',
			'/images/0906/img_tab02.gif',
			'/images/0906/img_tab03.gif',
			'/images/0906/img_tab04.gif'
			]
	}	
}
PostListClass.prototype = {
	postData_req : function(page, flag){

		if(page != undefined){
			this.ajax_list_page = page;
		}

		if(flag != undefined){
			this.ajax_list_flag = flag;		
		}
		
		if(this.ajax_list_page >= 1){
			document.getElementById(this.elementid).innerHTML = this.getLoading(this.ajax_list_page+1);
		} 
		
		var url = "/ajax/n_ajax_mainlist.php";

		var params = "page="+this.ajax_list_page;
		params += "&flag="+this.ajax_list_flag;

		var thisObj = this;
		new ajax.xhr.Request(url, params, this.postData_view, "POST", thisObj);
	},
	postData_view : function(req){
		if (req.readyState == 4) {
			if (req.status == 200) {
				
				try{
					var xmlDoc = (new DOMParser()).parseFromString(req.responseText, "text/xml"); //파이어폭스
				}catch(e){
					var xmlDoc = req.responseXML; //IE
				}
				
				var flagData =xmlDoc.getElementsByTagName("flag").item(0).firstChild.nodeValue;
			
				
				var tabArray = new Array (0,11,12,13) ;
				for(i=0; i < tabArray.length ; i++){
					if( parseInt(flagData) == tabArray[i] ){
						try	{
							document.getElementById('selectMenu_'+ tabArray[i]).src = this.selectMenus.on[i];	
						}
						catch (e){ }						
					}else{
						try	{
							document.getElementById('selectMenu_'+ tabArray[i]).src = this.selectMenus.off[i];	
						}
						catch (e){ }						
					}
				}

				// 데이터 리스트 
				var postData = xmlDoc.getElementsByTagName("data");
				var postDataTags = eval("("+postData.item(0).firstChild.nodeValue+")");

				// 페이징 
				paging = xmlDoc.getElementsByTagName("paging");
				pagingTags = eval("("+paging.item(0).firstChild.nodeValue+")");		
				

				var HTML = '';
				if (postDataTags.length > 0){
					document.getElementById(this.elementid).innerHTML = '';
					
					/*
					if(this.ajax_list_page <= 1){
						document.getElementById(this.elementid).innerHTML = '';
					}else{
						document.getElementById("loading_"+this.ajax_list_page).className = "page";
						document.getElementById("loading_"+this.ajax_list_page).innerHTML = this.getPageBar(this.ajax_list_page);
					} 
					*/

					
					for (i=0; i < postDataTags.length; i++){						
						HTML += this.getPost(postDataTags[i]);
					}

					//HTML += this.getLoading(this.ajax_list_page+1); // 하단에 로딩중 표시 이미지

					if(!this.PageAddTimerID){
						window.thisObj = this;
						this.PageAddTimerID = setInterval(function(){
							if (window.pageYOffset){
								var diffY = window.pageYOffset + "";
								var diffH = document.documentElement.scrollHeight;
							}else if (document.documentElement){
								var diffY = document.documentElement.scrollTop + "";
								var diffH = document.documentElement.scrollHeight;
							}else if (document.body){
								var diffY = document.body.scrollTop + "";
								var diffH = document.body.scrollHeight;
							}
							
							var diffSH = document.documentElement.clientHeight;
							
							if(Math.ceil(diffH - diffY) <= (diffSH + 212)){
								try{clearInterval(window.thisObj.PageAddTimerID);window.thisObj.PageAddTimerID = null;}catch(e){}
								// 스크롤이 아래로 내려갈시 다름 페이지를 가져옴..
								//window.thisObj.postData_req(window.thisObj.ajax_list_page+1, window.thisObj.ajax_list_flag);
							}
							
						}, "1000");
					}
					
				}else{
					document.getElementById("loading_"+this.ajax_list_page).innerHTML = '';
					try{clearInterval(this.PageAddTimerID);this.PageAddTimerID = null;}catch(e){}
				}


				HTML += '<div class="pagelist tc" style="padding:15 15; margin-top:15px;">' ;						
				HTML += pagingTags ;		
				HTML += '</div> ' ;

				//document.getElementById(this.elementid).innerHTML += HTML;
				document.getElementById(this.elementid).innerHTML = HTML  ;
				req=null;

			}
		}
	},	
	
	getPost : function(postDataTags){
		
		var str = '<table width="645" border="0" cellspacing="0" cellpadding="0"><tr><td style="border-bottom:1px solid #F0F0F0; padding:10px 0 10px 0;"><table border="0" cellspacing="0" cellpadding="0"><tr><td valign="middle" style="padding-right:12px;">';

		// 추천 버튼
		str += '<span>' ;
			str += '<span id="voteOn_'+postDataTags.idx+'" style="display:none" onmouseout="voteShow('+postDataTags.idx+', \'Off\')">' ;
				str += '<a href="javascript:voteAdd('+postDataTags.idx+');"><img src="/images/0906/btn_over.jpg"></a>' ;
			str += '</span>';

			str += '<span id="voteOff_'+postDataTags.idx+'" style="display:" onmouseover="voteShow('+postDataTags.idx+', \'On\')">' ;
				str += '<table border="0" cellspacing="0" cellpadding="0"><tr><td><table width="43" height="42" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td align="center" valign="bottom" background="images/0906/btn_on.jpg" style="padding-bottom:3px;"><span class="tx_li07 vote_t" id="voteBox'+postDataTags.idx+'">'+postDataTags.recommCnt+'</span> </td> </tr> </table></td> </tr> </table>' ;	
			str += '</span>';

		str += '</span>';


		str += '</td>' ;

		if(postDataTags.imgList){
			var TMaxlen = 65;
			var DMaxlen = 155;
		}else{
			var TMaxlen = 80;
			var DMaxlen = 190;
		}

		// 글 내용
		str += '<td valign="top" style="padding-right:15px;" width="500"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>					<td><span class="tx_li05"><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank">'+StringCut(postDataTags.title, TMaxlen ,'')+'</a></span><br><span class="tx_li02">'+postDataTags.blogtitle+'</span>&nbsp;<span class="tx_li03">'+postDataTags.pubDate+'</span></td></tr><tr><td style="padding:5px 0 0 0;"><span class="tx_li04"><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank">'+StringCut(postDataTags.description, DMaxlen, '')+'</span></td></tr> </table> </td>' ;

		
		// 이미지 
		if(postDataTags.imgList)
		{
			str += '<td width="60" align="right" valign="top" style="padding-top:5px;"><table border="0" cellpadding="0" cellspacing="0"><tr><td><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank"><img src="'+postDataTags.imgList+'" width="94" height="68" border="0" onError="javascript:this.src=\'/images/nono_b.gif\';"></a></td></tr></table></td>' ;
		}

		str += '</tr> </table> </td> </tr> </table> ' ;

		return str ;

		/***********************************************************************************/

		// 아래는 기존에 쓰던 거 
		/*
		var HTML = '<table width="645" border="0" cellspacing="0" cellpadding="0"><tr><td style="border-bottom:1px solid #F0F0F0; padding:10px 0 10px 0;"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>';

		if(postDataTags.imgList){

			HTML += '<td valign="top" style="padding-right:12px;" width="106"><table border="0" cellpadding="2" cellspacing="1" bgcolor="#DDDDDD"><tr><td bgcolor="#FFFFFF"><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank"><img src="'+postDataTags.imgList+'" width="100" height="76" border="0" onError="javascript:this.src=\'/images/nono_b.gif\';"></a></td></tr></table></td>';

			var TMaxlen = 65;
			var DMaxlen = 155;
		}else{
			var TMaxlen = 80;
			var DMaxlen = 190;
		}

		HTML += '<td valign="top" style="padding-right:15px;" width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td><span class="tx_li05"><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank">'+StringCut(postDataTags.title, TMaxlen ,'')+'</a></span><br><span class="tx_li02">'+postDataTags.blogtitle+'</span>&nbsp;<span class="tx_li03">'+postDataTags.pubDate+'</span></td></tr><tr><td style="padding:5px 0 0 0;"><span class="tx_li04" style="word-break:break-all;"><a href="/view.html?postIdx='+postDataTags.idx+'&link='+postDataTags.link+'" target="_blank">'+StringCut(postDataTags.description, DMaxlen, '')+'</a></span></td></tr><tr><td style="padding:5px 0 0 0;" class="tx_li06"><img src="/images/icon_tag.gif">';

		try{
			for(j=0; j < postDataTags.tag.length; j++){
				if(j > 0) HTML += ',&nbsp;';
				HTML += '<a href="/post/result_list.html?_s_menu=key&keyword='+encodeURIComponent(postDataTags.tag[j].tag)+'">'+postDataTags.tag[j].tag+'</a>';
			}
		}catch(e){
			HTML += '없음';
		}
		
		HTML += '</td></tr></table></td><td width="60" valign="top" style="padding-top:5px;"><table border="0" cellspacing="0" cellpadding="0"><tr><td><table width="40" height="42" border="0" align="center" cellpadding="0" cellspacing="0" ><tr><td align="center" valign="bottom" background="/images/img_vote.gif" style="padding-bottom:7px;"><span class="tx_li07" id="voteBox'+postDataTags.idx+'">'+postDataTags.recommCnt+'</span></td></tr></table></td></tr><tr><td style="padding-top:8px;"><a href="javascript:voteAdd('+postDataTags.idx+');"><img src="/images/img_vote_bt.gif" width="60" height="19" border="0"></a></td></tr></table></td></tr></table></td></tr></table>';

		return HTML; */
	},

	getLoading : function(page){
		return '<div class="loading"  id="loading_'+page+'"><table width="645" border="0" cellspacing="0" cellpadding="0">	  <tr><td height="80" align="center" background="/images/new_img/loading_bg.gif"><img src="/images/loading_c.gif" width="55" height="55" align="absmiddle" ><img src="/images/loading.gif" width="171" height="38" align="middle" style="margin-left:2px;"></td></tr></table></div>';
	},
	getPageBar : function(page){
		return '<div class="page"><table width="645" border="0" cellspacing="0" cellpadding="0"><tr><td width="581" height="30" bgcolor="#F7F7F7" style="padding-left:10px;"><span class="tx_li08">▼ '+page+' Page</span></td><td width="64" bgcolor="#F7F7F7" style="padding-right:10px;"><a href="#"><img src="/images/img_top.gif" width="37" height="15" border="0" align="right"></a></td></tr></table></div>';
	}
}

