/**
 * ¶ß´Â ¾ÆÀÌÅÛ È¸Àü
 */
var HotItemRotate = {
	_base: null,

	init: function(zone, category, num) {
		num = num || 5;
		this._base = { 'zone': zone, 'category': category, 'num':num };
	},

	prev: function() {
		this._request('prev');
	},

	next: function() {
		this._request('next');
	},

	_request: function(kind, num) {
		if (this._base==null) return;		

		var url = "/category/ajax/hot_item";
		
		var param = "kind=" + kind + "&zone=" + this._base.zone;
		param += "&category=" + parseInt(this._base.category, 10);
		param += "&num=" + this._base.num;

		new Empas.Ajax.Request(url, {
			parameters: param,
			onComplete: function(transport) {
				var response = transport.responseText;

				if (response!="") {
					eval(response);
					this._base.category = CATE_JSON.id;

					// Ä«Å×°í¸®¸í ¾÷µ¥ÀÌÆ®
					$('r_hot_item_title').update("<a href='/category/translate/" + CATE_JSON.id + "0000'>" + CATE_JSON.name + "</a>");

					// ³»¿ë ¾÷µ¥ÀÌÆ®
					$('r_hot_item').update(CATE_JSON.data);
				}
			}.bind(this),
			onFailure: function(transport) {
//				window.alert(transport.responseText);
			}
		});
	}
}

/*
* È¨ ¿µ¿ª ¶ß´Â ¾ÆÀÌÅÛ ÅÇ
*/
var HomeHotItemTab = {
	init: function(item_or_review) {
		this._cache = {};
		this._saved = { 'item_or_review': item_or_review, 'layer': $('ItemOrReview') };

		// ÃÊ±â°ª Ä³½¬
		this._cache[item_or_review] = this._saved.layer.innerHTML;
	},

	show: function(item_or_review) {
		if (this._saved.item_or_review==item_or_review) return;
		this._request(item_or_review);
	},

	_request: function(item_or_review) {
		if (this._cache[item_or_review]) {
				this._update(item_or_review, this._cache[item_or_review]);
				return;
		}

		if ( item_or_review == "item" ) {
			var url = "/zone/ajax/hot_item_home";
			var param = "itemorreview="+item_or_review;

			new Empas.Ajax.Request(url, {
				parameters: param,
				onComplete: function(transport) {
					var response = transport.responseText;
					if (response!="") {
						eval(response);
						this._draw(item_or_review,HOME_HOT_ITEM_JSON);
					}
				}.bind(this),
				onFailure: function(transport) {
			//				window.alert(transport.responseText);
				}
			});
		} else {
			var url = "/zone/ajax/hot_review_home";
			var param = "itemorreview="+item_or_review;

			new Empas.Ajax.Request(url, {
				parameters: param,
				onComplete: function(transport) {
					var response = transport.responseText;
					if (response!="") {
						eval(response);						
						this._drawReview(item_or_review,HOME_HOT_REVIEW_JSON);
					}
				}.bind(this),
				onFailure: function(transport) {
			//				window.alert(transport.responseText);
				}
			});
		}
	},

	_drawReview: function(item_or_review,HOME_HOT_REVIEW_JSON) {


		var sOutput = "<div class=\"TabmenuPlaza\">";
				sOutput +=  "<ul class=\"mtabmenu\">";
				sOutput +=  "                        <li class=\"link_on\" onclick=\"\" >¶ß´Â¸®ºä</li>";
				sOutput +=  "                        <li onclick=\"HomeHotItemTab.show('item'); return false\">¶ß´Â¾ÆÀÌÅÛ</li>";
				sOutput +=  "                </ul>";
				sOutput +=  "                <a href=\"/plaza/hot/review\" class=\"more\" title=\"´õº¸±â\">´õº¸±â</a>";
				sOutput +=  "</div>";
				sOutput +=  "        <div class=\"RvListWrap\">";
				sOutput +=  "                <div class=\"RvListTitle\">";
				sOutput +=  "                        <span class=\"rank\">¼øÀ§</span>";
				sOutput +=  "                        <span class=\"cont\">¸®ºä</span>";
				sOutput +=  "                </div>";
		if ( HOME_HOT_REVIEW_JSON == "" ) {
			sOutput += "<div class=\"HotThumbRvTable lastL\" ><div class=\"nodata\">¶ß´Â ¸®ºä°¡ ¾ø½À´Ï´Ù.</div></div>";         
                	        
		} else {
			var template = new Template("<div class=\"HotThumbRvTable #{last}\"> \
						<div class=\"RankingList\"> \
							<strong class=\"num\">#{ranking_img}</strong> \
							<em><span class=\"#{gap_kind}\">#{gap}</span></em> \
						</div> \
						#{img_depend} \
							<dt><a href=\"#{review_link}\">#{title}</a></dt> \
							<dd class=\"write\">#{user} |  <span>#{write_date}</span></dd> \
							<dd class=\"con\"><a href=\"#{review_link}\">#{summary}</a></dd> \
							 <dd class=\"category\"><span><a href=\"/view/#{article_sn}\">#{article_title}</a></span><div class=\"StarGrade_s\"><span class=\"StarSmall innerStar#{rating_style}\"></span></div></dd> \
						</dl> \
						</div>");

			HOME_HOT_REVIEW_JSON.each(function(item,idx) {
				item.img_depend = item.thumb_chk=='Y' ? "<div class=\"thumb\"><span><a href=\""+item.review_link+"\"><img src=\""+item.thumb_img+"\" border=\"0\" onerror=\"ImgErr(this)\" alt=\"\"/></a></span></div><dl class=\"content\">":"<dl class=\"content nothumb\">";
				sOutput += template.evaluate(item);
			});
		}
			sOutput += "</div>";


		this._update(item_or_review, sOutput);
		this._cache[item_or_review] = sOutput;
	},

	_draw: function(item_or_review,HOME_HOT_ITEM_JSON) {
		var sOutput = "<div class=\"TabmenuPlaza\">";
                sOutput +=  "<ul class=\"mtabmenu\">";
                sOutput +=  "                        <li onclick=\"HomeHotItemTab.show('review'); return false\">¶ß´Â¸®ºä</li>";
                sOutput +=  "                        <li class=\"link_on\" onclick=\"\">¶ß´Â¾ÆÀÌÅÛ</li>";
                sOutput +=  "                </ul>";
                sOutput +=  "                <a href=\"/plaza/hot/item\" class=\"more\" title=\"´õº¸±â\">´õº¸±â</a>";
                sOutput +=  "        </div>";
                sOutput +=  "        <div class=\"RvListWrap\">";
                sOutput +=  "                <div class=\"RvListTitle\">";
                sOutput +=  "                        <span class=\"rank\">¼øÀ§</span>";
                sOutput +=  "                        <span class=\"cont\">¾ÆÀÌÅÛ</span>";
                sOutput +=  "                </div>";

		var template = new Template("<div class=\"HotThumbRvTable #{last}\"> \
					<div class=\"RankingList\"> \
						<strong class=\"num\">#{ranking_img}</strong> \
						<em><span class=\"#{gap_kind}\">#{gap}</span></em> \
					</div> \
					#{img_depend} \
						<dt><span>[<a href=\"/category/translate/#{cate_id}\">#{cate_title}</a>]</span> <a href=\"#{sLink}\">#{title}</a></dt> \
						<dd class=\"star\"><div class=\"StarGrade_s\"><span class=\"StarSmall innerStar#{rating_style}\"></span></div></dd> \
						<dd class=\"con\"><a href=\"#{sLink}\">#{summary}</a></dd> \
					</dl> \
					</div>");

		HOME_HOT_ITEM_JSON.each(function(item,idx) {
			item.last = idx==4 ? "lastL":"";
			item.sLink = "/view/"+item.article_sn;
			item.ranking_img = "<img src=\"http://img.nate.com/review/2008/renewal/plaza/rank_"+item.ranking_file+"\" alt=\"\" />"
			item.img_depend = item.thumb_chk=='Y' ? "<div class=\"thumb\"><span><a href=\""+item.sLink+"\"><img src=\""+ g_IMAGE_URL +"/img/thumb/"+item.article_sn+"\" border=\"0\" onerror=\"ImgErr(this)\" alt=\"\"/></a></span></div><dl class=\"content\">":"<dl class=\"content nothumb\">";
			sOutput += template.evaluate(item);
		});
		sOutput += "</div>";

		this._update(item_or_review, sOutput);
 
                this._cache[item_or_review] = sOutput;
	},



	_update: function(item_or_review, html) {
                // ¸Þ´º ON/OFF º¯°æ
                //$('zone_hot_item_menu_'+this._saved.cate_link_key).className = "";
                //$('zone_hot_item_menu_'+cate_link_key).className = "link_on";
 
                this._saved.layer.update(html);
                this._saved.item_or_review = item_or_review;
        }
}
