Mys.HomeLogCtrl = function(config){
	Mys.HomeLogCtrl.superclass.constructor.call(this, config)
}


Ext.extend(Mys.HomeLogCtrl, Mys.LogCtrl, {
  start : 0
  ,LIMIT : 10
  ,getType : "home"

	,initialize : function(){
    this.containerEl = Ext.get("logBox");

		// item Set
		this.itemSet();

    // category set
    this.categorySet();

    if(GROUP_FLAG)
    {
      this.getType=null;

      if(GROUP_MEMBER_FLAG)
        this.setGroupFunc();
    }

    this.addEvents({'modify' : true});

    var writeCtrl = new Mys.LogWriteCtrl({logCtrl : this, mode : "write", containerName : "home_top", useUserImg : true, useFix : true});

    writeCtrl.on("write", this.applyItems, this);

    Ext.get("hbn_prev") ? Ext.get("hbn_prev").on("click",this.onClickPrev, this) : null;
    Ext.get("hbn_next") ? Ext.get("hbn_next").on("click",this.onClickNext, this) : null;
    Ext.get("hbn_top") ? Ext.get("hbn_top").on("click",this.onClickTop, this) : null;
	}

  ,onClickPrev : function()
  {
    this.start = (this.start-this.LIMIT)<0 ? 0 : this.start-this.LIMIT;
    window.scrollTo(0,100);
    this.loadItems();
  }

  ,onClickNext : function()
  {
    this.start += this.LIMIT;
    window.scrollTo(0,100);
    this.loadItems();
  }

  ,onClickTop : function()
  {
    this.start = 0;
    window.scrollTo(0,100);
    this.loadItems();
  }

	,getLogItem : function(obj)
	{
	  return new Mys.HomeLogItem(obj);
	}

  ,loadItems : function()
  {
    this.showLoadingPop();
    Global.modelLogItem.get("recent", PAGE_USER_ID, null, null, this.start, this.LIMIT, 1, null, this.getType, 0, this.cbLoadItems, this);
  }

	,cbLoadItems : function (data)
	{
		if (!data || data.response.code != 100){alert(data.response.message); return;}
		this.hideLoadingPop();
    this.resetData();
		var data = Mys.getSafeArray(data.response.item);
		this.applyItems(data);
	}


	// 받아온 데이터를 Item 데이터로.
	,applyItems : function(logItems, contents){
		if(!logItems || logItems.length < 1) {return};

		var item, data;

		for(var i = 0; i < logItems.length; i++)
		{
			data = logItems[i];
			item = this.items.key(data.item_id);

			if(item && data.delete_date) // 삭제
			{
				item.el.slideOut("t", {remove:true, duration:0.3});
				this.items.removeKey(item.data.item_id);
				if(!this.items.length)
					(function(){this.containerEl.insertHtml("beforeEnd", "<p id='emptyContents' class='empty'>글이 없습니다</p>", true)}).defer(300, this);
			}
			else if(item) // 수정
			{
				this.modifyItem(data);
			}
			else // 생성
			{
				if(data.delete_date)
					continue;

				if(!this.items.length){
					var emptyEl = Ext.get("emptyContents");

					if(emptyEl)
						emptyEl.remove();
				}

				this.addItem(data, null);
			}
		}

	}



	// 아이템 생성
	,addItem : function(data, contents){
		var item, html;
		item = this.getLogItem({contents:contents, data:data, ctrl:this});
		this.items.add(item);
		html = item.getRenderHtml();
		item.el = this.containerEl.insertHtml("beforeend", html, true);
		item.el.setStyle("display","block");

		// 글만 있을 때와, 사진 있을 때 아이콘이 안맞는 것 수정.
		if(item.hasImage)
			item.el.addClass("image");

		item.set();
		item.on("modify", this.onClickModify, this);

		return item;
	}


	// 아이템 생성
	,addItem : function(data, contents){
		var item, html;
		item = this.getLogItem({contents:contents, data:data, ctrl:this, GROUP_FLAG:this.GROUP_FLAG});

		this.items.add(item);

		html = item.getRenderHtml();

		item.el = this.containerEl.insertHtml("beforeend", html, true);
		item.el.setStyle("display","block");

		item.set();
		window.it1 = this.items;
		return item;
	}

  ,resetData : function()
  {
    this.items.clear();
    this.containerEl.update("");
  }

  ,showLoadingPop : function()
  {
    if(!this.containerTopEl)
      this.containerTopEl= Ext.get("contents_top");

    var box = this.containerTopEl.getBox();
    if(!this.loadingbgFrameEl)
    {
      this.loadingbgFrameEl = Ext.get("popup_iframe");
      this.loadingbgFrameEl.setWidth(box.width+"px");
      this.loadingbgFrameEl.alignTo(this.containerTopEl,"tl");
      this.loadingbgFrameEl.setStyle("top" , box.y+"px");
    }
    if(!this.loadingbgShadowEl)
    {
      this.loadingbgShadowEl = Ext.get("shadow");
      this.loadingbgShadowEl.setWidth(box.width+"px");
      this.loadingbgShadowEl.alignTo(this.containerTopEl,"tl");
      this.loadingbgShadowEl.setStyle("top" , box.y+"px");
    }
    if(!this.loadingImgEl)
    {
      this.loadingImgEl = Ext.get("pop_nowloading");
      this.loadingImgEl.alignTo(this.containerTopEl,"c");
    }
    else
      this.loadingImgEl.setStyle("top","500px");


    this.loadingbgFrameEl.setHeight(box.height+"px");
    this.loadingbgShadowEl.setHeight(box.height+"px");
//    this.loadingImgEl.setStyle("top" , (box.y + box.height/2)+"px");

    this.loadingbgFrameEl.setStyle("display","block");
    this.loadingbgShadowEl.setStyle("display","block");
    this.loadingImgEl.setStyle("display","block");
  }

  ,hideLoadingPop : function()
  {
    this.loadingbgFrameEl.setStyle("display","none");
    this.loadingbgShadowEl.setStyle("display","none");
    this.loadingImgEl.setStyle("display","none");
  }
});










Mys.HomeLogItem = function(config){
	Mys.HomeLogItem.superclass.constructor.call(this, config)
}


Ext.extend(Mys.HomeLogItem, Mys.LogItem, {
	logTemplate : new Ext.Template('<div class="home_item item">'+
                      				    '<div class="h_a1"><a href="{userUrl}"><img width=49 height=49 src="{mylogo}"></a></div>'+
                      				    '<div class="h_a2"><img src="/home/images/memobox_arrow.gif"></div>'+
                      				    '<div class="h_a3">'+
                      				      '<div class="m1"></div>'+
                      				      '<div class="m2">'+
                      				      '<div class="home_memo_folded movie">'+
                      				      '{foldHtml}'+
                                    '<p class="itemMemo info">{text_memo}</p>'+
  				      										'</div>'+
  				      										'<div class="home_memo movie" style="display:none;">'+
  				      										'{html}'+
  				      										'<p class="itemMemo">{memo}</p>'+
  				      										'</div>'+
                      				        '<ul class="itemNavi">'+
                      				          '<li class="first">{name}</li>'+
                      				          '<li>{c_title}</li>'+
                      				          '<li>{writtenDate}</li>'+
                      				          '<li class="{isReplyList}">{replyText}</li>'+
                      				          '{isUsedPhoneHtml}'+
                      				          '{agreeBtn}'+
                      				          '{creatorNavi}'+
                      				        '</ul>'+
                      				        '<div class="replyBox"></div>'+
                      				      '</div>'+
                      				      '<div class="m3"></div>'+
                      				    '</div><div class="cb_"></div>'+
                      				  '</div>')


  ,memo_linkContent : new Ext.Template('<div class="home_memo_folded movie">'+
                									          '<p class="itemMemo">'+
                									            '<a class="con_title underline" target="new" href="{link}">{description}</a>'+
                                            '</p>'+
                                            '<p class="itemMemo info">{text_memo}</p>'+
              									        '</div>'+
              									        '<div class="home_memo movie" style="display:none;">'+
              									          '<p class="itemMemo">'+
              									            '<a class="con_title" target="new" href="{link}">{description}</a>'+
                                          '</p>'+
                									        '<p class="itemMemo">{memo}</p>'+
                									      '</div>')

  ,getReplyCtrl : function()
  {
    return new Mys.HomeLogReplyCtrl({prtEl:this.el, prtData:this.data});
  }

  ,set_overload : function()
  {
    //this.replyEl.removeAllListeners();
    this.el.child(".m2").on("click", this.toggleFold, this);
  }

  ,toggleFold : function(e, el)
  {
    if(el.nodeName == "A" || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA" || el.nodeName == "IMG" || el.nodeName == "EMBED" || el.className=="home_heart_count" || el.className=="home_heart_count2") return;

		// 공개설정 창이 열려있을 경우 닫기.
		if(this.gradeToggle)
			this.hideGradeList();

		if(this.el.child(".home_memo_folded").isVisible())
		{
      this.el.child(".home_memo_folded").setStyle("display","none");
      this.el.child(".home_memo").setStyle("display","block");
    }
    else
    {
      this.el.child(".home_memo").setStyle("display","none");
      this.el.child(".home_memo_folded").setStyle("display","block");
    }
    this.resizeImage();
		this.replyCtrl.toggle();
  }

//이미지 사이즈 크기를 조절한다. IE에서는 이미지가 display none 되어있을때는 onload시 이미지 사이즈를 가져올수 없기에 클릭시 직접 수정해줌
  ,resizeImage : function()
  {
    if(this.data.category_id == CONTENTS_CATERGORY.PHOTO)
    {
      if(this.el.child(".imageImg").dom.width > 469) this.el.child(".imageImg").dom.width= 469;
    }
  }

	,getRenderHtml : function()
	{
		// this에 추가로 저장하면 비효율적이므로, Ext.apply를 이용하는 것으로 바꿀 것. replyItem도.
		var data = {};

		Ext.apply(data, this.data);
		var dd = Date.parseDate(data.insert_date, "Y-m-d G:i:s");
		var tpl = this.logTemplate;

		if(data.ref_count)
		data.replyText = '<a class="replyBtn" href="#" onclick="return false" onfocus="this.blur();">리플 <span class="replyCount">'+data.ref_count+'</span></a>';

    data.isUsedPhoneHtml = data.isUsedPhone ? '<li><img class="home_cellicon" src="/home/images/icon_cell.gif"></li>' : "";

		if(data.category_id == 101)
		{
				data.c_title = "글";
		}

		var contentsParser = new Mys.ParseHomeContents();
		var contents = contentsParser.parse(data);

		data.html = contents.html;
		data.foldHtml = contents.foldHtml;



		var parser = new Mys.ParseItem();
		data.memo = parser.parse(data.memo);

		data.memo += parser.getFileQuery();
		data.text_memo = parser.text_memo;
		this.data.text_memo = parser.text_memo;
		this.hasImage = parser.hasImage();

		switch(this.data.grade)
		{
			case "9" :
				var gradeType = "전체공개";
				break;

			case "8" :
				var gradeType = "카페공개";
				break;

			case "1" :
				var gradeType = "친구공개";
				break;

			default :
				var gradeType = "비공개";
				break;
		}

		if(Mys.creatorCheck(data.creator_id))
		{
			data.creatorNavi = '<li class="creator first">'+gradeType+'</li>';
			data.creatorNavi += '<li class="creator"><a href="#" onclick="return false" class="modifyBtn">수정</a></li>';
			data.creatorNavi += '<li class="creator"><a href="#" onclick="return false" class="removeBtn">삭제</a></li>';
		}

		if(GROUP_FLAG)
		{
			data.groupText = "<li>"+data.name+"</li>";
		}

		data.writtenDate = dd.dateFormat("G:i");
		data.linkDate = dd.dateFormat("G:i:s");
		data.linkUrl = "http://"+PAGE_USER_DOMAIN+"."+DOMAIN+"/"+START_DATE+"#"+ data.linkDate;
		data.userUrl = "http://"+data.mydomain+"."+DOMAIN;


    data.isReplyList = "";
	  if(GROUP_FLAG)
	  {
  		data.agreeBtn = '';
  		data.isReplyList = "last";
  	}
	  else if(Mys.creatorCheck(this.data.creator_id))
  		data.agreeBtn = '<li class="last"><img class="home_hearticon" src="/home/images/icon_heart_red.gif"><span class="home_heart_count">'+ (data.agree_count? data.agree_count : 0)+'</span></li>';
    else
	  	data.agreeBtn = '<li class="last"><a class="agreeBtn" href="#" onclick="return false" onfocus="this.blur();"><img class="home_hearticon" src="/home/images/icon_heart_red.gif"><span class="home_heart_count">'+ (data.agree_count? data.agree_count : 0)+'</span></a></li>';

    /*if(data.con_point !== null)
    {
      var con_point = data.con_point / data.con_count;
      var point_count = Math.floor(con_point/2);
      data.star_html = '';
      for(i=0;i<point_count;i++)
      {
        data.star_html += '<img class="star" src="/home/images/star_full.gif">';
      }
      if(con_point%2)
      {
        data.star_html += '<img class="star" src="/home/images/star_half.gif">';
        point_count++;
      }
      for(i=0;i<(5-point_count);i++)
      {
        data.star_html += '<img class="star" src="/home/images/star_none.gif">';
      }
    }*/


    /*switch(data.category)
    {
      case "movie" :
    		data.info_html = this.memo_content_movie.apply(data);
    	  data.home_memo_html = this.memo_content.apply(data);
    	  break;

      case "shop" :
    		data.info_html = this.memo_content_shop.apply(data);
    	  data.home_memo_html = this.memo_content.apply(data);
    	  break;

      case "book" :
    		data.info_html = this.memo_content_book.apply(data);
    	  data.home_memo_html = this.memo_content.apply(data);
    	  break;

      case "photo" :
    	  data.home_memo_html = this.memo_imageContent.apply(data);
    	  break;

      case "video" :
    	  data.home_memo_html = this.memo_videoContent.apply(data);
    	  break;

      case "link" :
    	  data.home_memo_html = this.memo_linkContent.apply(data);
    	  break;

      default :
    	  data.home_memo_html = this.memo_text.apply(data);
    	  break;
    }*/


    if(this.GROUP_FLAG)
    {
      if(data.agree_flag)
        data.group_html = '<div class="itemPoint"><a class="agreeBtn" href="#" onclick="return false" onfocus="this.blur();"><span class="home_heart_count2">'+(data.agree_count ? data.agree_count : 0)+'</span><img class="point_img" src="/minilog/images/channel/icon_heart.gif"></a></div>';
      else
        data.group_html = '<div class="itemPoint off"><a class="agreeBtn" href="#" onclick="return false" onfocus="this.blur();"><span class="home_heart_count2">'+(data.agree_count ? data.agree_count : 0)+'</span><img class="point_img" src="/minilog/images/channel/icon_heart_grey.gif"></a></div>';
    }
    else
      data.group_html = '';

		return tpl.apply(data);
	}

	,setAgreeCount : function(agreeCount){
		if(!this.agreeEl){ window.status = '내부오류 528'; return;}

		this.data.agree_count = agreeCount;
		if(GROUP_FLAG)
		{
  		this.agreeEl.child(".home_heart_count2").update(agreeCount);
  		this.agreeEl.child(".point_img").dom.src = "/minilog/images/channel/icon_heart.gif";
  		this.agreeEl.parent().removeClass("off");
  	}
  	else
  		this.agreeEl.child(".home_heart_count").update(agreeCount);
	}

	,setReplyCount : function(replyCount){
		if(!this.replyEl){ window.status = '내부오류 529'; return;}

		if(!replyCount)
				return;

		this.data.ref_count = replyCount;

		var replyText = "리플 <span>"+replyCount+"</span>";

		this.replyEl.update(replyText);
	}
});


Mys.HomeLogReplyCtrl = function(config){
	Mys.HomeLogReplyCtrl.superclass.constructor.call(this, config)
}


Ext.extend(Mys.HomeLogReplyCtrl, Mys.LogReplyCtrl, {
	writeBoxTemplate : new Ext.Template("<form class='writeReplyForm' onsubmit='return false'>" +
																			"<div class='iconBox_1'>" +
																				"<a href='{userUrl}' onclick='return false'>" +
																					"<img src='{mylogo}' alt='{name}' />" +
																				"</a>" +
																			"</div>" +
																			"<textarea name='textarea'></textarea>" +
																			"<input type='image' src='./home/images/btn_rewrite.gif' alt='리플쓰기'/>" +
																		"</form>")

  ,getLogReplyItem : function(obj)
  {
    return new Mys.HomeLogReplyItem(obj);
  }
});




Mys.HomeLogReplyItem = function(config){
	Mys.HomeLogReplyItem.superclass.constructor.call(this, config)
}


Ext.extend(Mys.HomeLogReplyItem, Mys.LogReplyItem, {
	replyTemplate : new Ext.Template('<div class="reply">'+
    																	'<div class="iconBox_2 userIcon">'+
    																		'<a href="{userUrl}" onclick="return false">'+
    																			'<img src="{mylogo}" class="userImage" alt="{userName}"/>'+
    																			'<span class="domain">{logoDomain}</span>'+
    																			'<span class="userId">{logoId}</span>'+
    																			'<span class="refuser">1</span>'+
    																		'</a>'+
    																	'</div>'+
    																	'<p class="replyContents">{memo}</p>'+
            									        '<ul class="replyNavi">'+
            									          '<li class="first">{name}</li>'+
            									          '<li>{insert_date}</li>'+
            									          '{replyBtn}'+
            									          '{agreeBtn}'+
    																		'{ownerNavi}' +
            									        '</ul>'+
    																'</div>'),

	reReplyTemplate : new Ext.Template("<div class='reReply'>" +
																	"<div class='iconBox_2 userIcon'>" +
																		"<a href='{userUrl}' onclick='return false'>" +
																			"<img src='{mylogo}'  class='userImage' alt='{userName}'/>" +
																			"<span class='domain'>{logoDomain}</span>" +
																			"<span class='userId'>{logoId}</span>" +
																			"<span class='refuser'>1</span>" +
																		"</a>" +
																	"</div>" +
																	"<p class='replyContents'>{memo}</p>"+
																	"<ul class=replyNavi>" +
																		"<li class='userName'>{name}</li>" +
																		"<li>{insert_date}</li>" +
																		"{agreeBtn}" +
																		"{ownerNavi}" +
																	"</ul>"+
															"</div>"),

	modifyTemplate : new Ext.Template('<form name="modify_{item_id}" class="{className}">' +
																				'<textarea name="textarea" rows="3">{memo}</textarea>' +
																				'<div style="clear:both;"></div>' +
																				'<ul>' +
																					'<li class="first"><a href="#" onclick="return false" class="saveBtn">저장</a></li>' +
																					'<li class="last"><a href="#" onclick="return false" class="cancelBtn">취소</a></li>' +
																				'</ul>' +
																			'</form>')

	,getAgreeHtml : function(agree_count)
	{
	  if(GROUP_FLAG)
  	  return '<li class="last"><img class="home_hearticon" src="/home/images/icon_heart_red.gif"><span class="home_heart_count">' + (agree_count ? agree_count : 0) + '</span><li>';
	  else if(Mys.creatorCheck(this.data.creator_id))
  	  return '<li class="last"><img class="home_hearticon" src="/home/images/icon_heart_red.gif"><span class="home_heart_count">' + (agree_count ? agree_count : 0) + '</span><li>';
  	else
  	  return '<li class="last"><a class="agreeBtn" href="#" onclick="return false" onfocus="this.blur()"><img class="home_hearticon" src="/home/images/icon_heart_red.gif"><span class="home_heart_count">' + (agree_count ? agree_count : 0) + '</span></a><li>';
	}

  ,getLogReReplyCtrl : function()
  {
    return new Mys.HomeLogReReplyCtrl({prtEl:this.el, prtData:this.data, prtCtrl : this.ctrl});
  }

});



Mys.HomeLogReReplyCtrl = function(config){
	Mys.HomeLogReReplyCtrl.superclass.constructor.call(this, config);
};

Ext.extend(Mys.HomeLogReReplyCtrl, Mys.LogReReplyCtrl, {
	writeBoxTemplate : new Ext.Template("<form onsubmit='return false' class='writeReReplyForm'>" +
																			"<div class='iconBox_1'>" +
																				"<a href='{userUrl}' onclick='return false'>" +
																					"<img src='{mylogo}' alt='{name}' />" +
																				"</a>" +
																			"</div>" +
																			"<textarea name='textarea'></textarea>" +
																			"<input type='image' src='./home/images/btn_rewrite.gif' alt='리플 쓰기'/>" +
																		"</form>")
});

Mys.ParseHomeContents = function()
{
	Mys.ParseHomeContents.superclass.constructor.call(this);
};

Ext.extend(Mys.ParseHomeContents, Mys.ParseContents, {
   //movie, shop, book 공통
	commonFoldHtml : '<img class="titleImg" src="{image}" onload="if(this.width >= this.height){ setWideClassName(this.parentNode.parentNode);}else{removeWideClassName(this.parentNode.parentNode);}">'+
									'<p class="itemMemo"><span class="con_title">{con_title}</span> {star_html}<img class="thumb" src="/home/images/thumb.gif"></p>'+
                  '<p class="itemMemo info">{text_memo}</p>'

  ,commonHtml : '<a target="new" href="{link}" onfocus="this.blur();"><img class="contentImg" src="{image}"></a><p class="contentMemo"> <span class="con_title"><a target="new" href="{link}" onfocus="this.blur();">{con_title}</a></span>{star_html}<img class="thumb" src="/home/images/thumb.gif"></p><p class="contentMemo info">'

  ,movieHtml : '<span class="z1">년도 | </span><span class="z2">{pubdate}</span><br><span class="z1">출연 | </span><span class="z2">{actor}</span></p>'
  ,shopHtml : '<span class="z1">최고가 | </span><span class="z2">{hprice}</span><br><span class="z1">최저가 | </span><span class="z2">{lprice}</span></p></p>'
  ,bookHtml : '<p class="contentMemo info"> <span class="z1">지은이 | </span><span class="z2">{author}</span><br><span class="z1">출판사 | </span><span class="z2">{publisher}</span><br><span class="z1">출판일 | </span><span class="z2">{pubdate}</span></p>'

  ,videoFoldHtml : '<img class="titleImg" src="{image}" onload="if(this.width >= this.height){ setWideClassName(this.parentNode.parentNode);}else{removeWideClassName(this.parentNode.parentNode);}">'
	,videoHtml : '<div class="videoCon"><embed height="350" width="425" wmode="transparent" type="application/x-shockwave-flash" src="http://www.youtube.com/v/{videoId}?f=videos&app=youtube_gdata&autoplay=1" wmode="transparent"/></div>'

	,photoFoldHtml : '<img class="titleImg" src="{image}" onload="if(this.width >= this.height){ setWideClassName(this.parentNode.parentNode);}else{removeWideClassName(this.parentNode.parentNode);}">'
	,photoHtml : '<img class="imageImg" src="{image}" onload="if(this.width > 469){this.width=469}">'

	,linkFoldHtml : '<p class="itemMemo"><a class="con_title" target="new" href="{link}">{description}</a></p>'
	,linkHtml : null // initialize;

	,initialize : function()
		{
				Mys.ParseHomeContents.superclass.initialize.call(this);

				this.movieHtml = this.commonHtml + this.movieHtml;
				this.shopHtml = this.commonHtml + this.shopHtml;
				this.bookHtml = this.commonHtml + this.bookHtml;
				this.linkHtml = this.linkFoldHtml;
		}

		,parse : function(item)
		{
				if(item == null) return;

				this.setItem(item);
				this.setCategory(item.category);

				if(!this.checkCategory()) return "";

				item = this.getItem();

				this.parseItem(item);

				var html = this.getTemplate().apply(item);
				var foldHtml = this.getFoldTemplate().apply(item);

				return {html : html, foldHtml : foldHtml};
		}

		,parseItem : function(item)
		{
					var category = this.getCategory();

					switch(category)
					{
							case CONTENTS_CATERGORY.MOVIE :
								this.parseMovie(item);
								break;

							case CONTENTS_CATERGORY.BOOK	:
								this.parseBook(item);
								break;

							case CONTENTS_CATERGORY.SHOP	:
								this.parseShop(item);
								break;

							case CONTENTS_CATERGORY.PHOTO :
								this.parsePhoto(item);
								break;

							case CONTENTS_CATERGORY.LINK :
								this.parseLink(item);
								break;
					}
		}

	,parseBook : function(item)
		{
				if(item.author)
					item.authorHtml = '<span class="sub">지은이</span>'+item.author;

				if(item.publisher)
					item.publisherHtml = '<span class="sub">출판사</span>'+item.publisher;

				if(item.pubdate)
					item.pubdateHtml = '<span class="sub">출판일</span>'+item.pubdate.substring(0, 10);

				item.pointClass = this.getPointClass(item.point, item.is_wish);
				item.pointHtml = this.getPointHtml(item.is_wish);
				item.agreeImg = this.getAgreeImg(item.agree_type);
		}

		,parseMovie : function(item)
		{
				if(item.director)
					item.directorHtml = '<span class="sub">감독</span>'+item.director;

				if(item.pubDate)
					item.pubDateHtml = '<span class="sub">년도</span>'+item.pubDate.substring(0, 10);

				if(item.actor)
					item.actorHtml = '<span class="sub">출연</span>'+item.actor;

				item.pointClass = this.getPointClass(item.point, item.is_wish);
				item.pointHtml = this.getPointHtml(item.is_wish);
				item.agreeImg = this.getAgreeImg(item.agree_type);
		}

		,parseShop : function(item)
		{
				if(item.lprice)
					item.lpriceHtml = '<span class="sub">최저가</span>'+item.lprice;

				if(item.hprice)
					item.hpriceHtml = '<span class="sub">최고가</span>'+item.hprice;

				item.pointClass = this.getPointClass(item.point, item.is_wish);
				item.pointHtml = this.getPointHtml(item.is_wish);
				item.agreeImg = this.getAgreeImg(item.agree_type);
		}

		,parsePhoto : function(item)
		{
				item.script = 'script = "onload=if(this.width > '+this.imageWidth+'){this.width='+this.imageWidth+'}"';
		}

		,parseLink : function()
		{

		}


		,getTemplate : function()
		{
				var category = this.getCategoryName();
				var categoryTemplate = category+"Html";

				if(typeof(this[categoryTemplate]) == "string")
					this[categoryTemplate] = new Ext.Template(this[categoryTemplate]);

				return this[categoryTemplate];
		}

		,getFoldTemplate : function()
		{
				var category = this.getCategoryName();

				// exception
				if(category == CONTENTS_CATERGORY.BOOK || category == CONTENTS_CATERGORY.SHOP || CONTENTS_CATERGORY.MOVIE)
					category = "common";

				var categoryTemplate = category+"FoldHtml";

				if(typeof(this[categoryTemplate]) == "string")
					this[categoryTemplate] = new Ext.Template(this[categoryTemplate]);

				return this[categoryTemplate];
		}
});