﻿var now = new Date(GMKT.ServiceInfo.ServerTime);
var enddate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), MultiLang.findCommonResource("Bestsellers/Default.aspx", "ddayHour"), 00, 00, 00);
if (now.getHours() >= parseInt(MultiLang.findCommonResource("Bestsellers/Default.aspx", "ddayHour"))) enddate.setTime(enddate.getTime() + (24 * 60 * 60 * 1000));

var flip_obj;

function onPageLoad() {
	serverDate = GMKT.ServiceInfo.ServerTime;

	if (window.onPageLoadSub != undefined)
		onPageLoadSub();

	if(pop_couponbox == "Y")
		Util.openPopup(Public.getWWWServerUrl("/MyCoupon/MyCouponList.aspx"), 585, 632);

	flip_obj = window.setInterval(keyword_flip, 4000);

	var cd = Countdown.Create("HHMMSS", "td", enddate);

	bind_qplay_to_group_banner();
}

function initEventHandler() {
	//베스트셀러 영역 페이지 슬라이드
	BestSeller.init();

	Util.SmartWindowInit();
	
	//상품수 설정
	if (!__PAGE_VALUE.IS_LOGIN) {
		var ezview = Util.getCookie("ezview").split(',');
		if (Util.getCookie("ezview") != "" && ezview.length > 0) $("#quickInfo li.ez a strong").html(ezview.length);
	}
	

	//검색어완성 창 닫기
	$("#gnb_hide").bind("click", function (e) { $(".autoWord").css({ "display": "none" }); return false; });

	//Auction Goods
	$("a[name=AuctionGoodsRoll]").click(function () {
		var idx;
		if ($(this).attr("class") == "g_prev") {
			if ($(this).attr("idx") <= 0)
				idx = parseInt($(this).attr("max"));
			else
				idx = parseInt($(this).attr("idx")) - 2;
		} else {
			if (parseInt($(this).attr("idx")) >= parseInt($(this).attr("max")))
				idx = 0;
			else
				idx = parseInt($(this).attr("idx")) + 2;
		}

		$("a[name=AuctionGoodsRoll]").attr({ "idx": idx });

		$("a[name=AuctionGoods_a1]").attr("href", $("span[name=AuctionGoodsList]").eq(idx).attr("link"));
		$("#AuctionGoodsImg1").attr({ "src": $("span[name=AuctionGoodsList]").eq(idx).attr("image"), "alt": $("span[name=AuctionGoodsList]").eq(idx).attr("gd_nm") });
		$("a[name=AuctionGoods_a1]").eq(1).html($("span[name=AuctionGoodsList]").eq(idx).attr("title"));
		$("#AuctionGoodsPrice1").html($("span[name=AuctionGoodsList]").eq(idx).attr("price"));
		$("#AuctionGoodsTimeLeft1").removeClass("g_time01 g_time02 g_time03");
		$("#AuctionGoodsTimeLeft1").html($("span[name=AuctionGoodsList]").eq(idx).attr("time_left") + $("span[name=AuctionGoodsList]").eq(idx).attr("time_left_str"));
		if ($("span[name=AuctionGoodsList]").eq(idx).attr("left_hour") <= 3)
			$("#AuctionGoodsTimeLeft1").addClass("g_time01");
		else if ($("span[name=AuctionGoodsList]").eq(idx).attr("left_hour") > 3 && $("span[name=AuctionGoodsList]").eq(idx).attr("left_hour") <= 6)
			$("#AuctionGoodsTimeLeft1").addClass("g_time02");
		else if ($("span[name=AuctionGoodsList]").eq(idx).attr("left_hour") > 6 && $("span[name=AuctionGoodsList]").eq(idx).attr("left_hour") <= 24)
			$("#AuctionGoodsTimeLeft1").addClass("g_time03");

		$("a[name=AuctionGoods_a2]").attr("href", $("span[name=AuctionGoodsList]").eq(idx + 1).attr("link"));
		$("#AuctionGoodsImg2").attr({ "src": $("span[name=AuctionGoodsList]").eq(idx + 1).attr("image"), "alt": $("span[name=AuctionGoodsList]").eq(idx + 1).attr("gd_nm") });
		$("a[name=AuctionGoods_a2]").eq(1).html($("span[name=AuctionGoodsList]").eq(idx + 1).attr("title"));
		$("#AuctionGoodsPrice2").html($("span[name=AuctionGoodsList]").eq(idx + 1).attr("price"));
		$("#AuctionGoodsTimeLeft2").removeClass("g_time01 g_time02 g_time03");
		$("#AuctionGoodsTimeLeft2").html($("span[name=AuctionGoodsList]").eq(idx + 1).attr("time_left") + $("span[name=AuctionGoodsList]").eq(idx + 1).attr("time_left_str"));
		if ($("span[name=AuctionGoodsList]").eq(idx + 1).attr("left_hour") <= 3)
			$("#AuctionGoodsTimeLeft2").addClass("g_time01");
		else if ($("span[name=AuctionGoodsList]").eq(idx + 1).attr("left_hour") > 3 && $("span[name=AuctionGoodsList]").eq(idx + 1).attr("left_hour") <= 6)
			$("#AuctionGoodsTimeLeft2").addClass("g_time02");
		else if ($("span[name=AuctionGoodsList]").eq(idx + 1).attr("left_hour") > 6 && $("span[name=AuctionGoodsList]").eq(idx + 1).attr("left_hour") <= 24)
			$("#AuctionGoodsTimeLeft2").addClass("g_time03");

		return false;
	});

	//Today's Deal
	$("#g_main_banner .list li").bind("mouseover", function (e) {
		$("#g_main_banner .g_visual a").attr("href", $(this).attr("link"));
		$("#g_main_banner .g_visual img").attr({ "src": $(this).attr("img_url"), "alt": $(this).attr("nm") });

		$("#g_main_banner .list li").removeClass("g_selected");
		$("#g_main_banner .list span").css("display", "none");

		$("#g_main_banner .list span").eq($(this).attr("idx")).css("display", "");
		$(this).addClass("g_selected");

		if ($(this).attr("sold_view") == "Y") {
			$("#g_main_banner .g_time strong").html($(this).attr("sold_cnt"));
			$("#g_main_banner .g_time ul").hide();
			$("#g_main_banner .g_time p").show();
		} else {
			$("#g_main_banner .g_time ul").show();
			$("#g_main_banner .g_time p").hide();
		}

		return false;
	});

	//Plus Shop
	$(".g_plusShop .g_btn_next").click(function (e) {
		var idx = $(this).attr("idx");
		var next_idx;
		if (idx == 0)
			next_idx = 1;
		else
			next_idx = 0;

		$(this).attr("idx", next_idx);

		$(".g_plusShop .g_details").eq(idx).css("display", "none");
		$(".g_plusShop .g_details").eq(next_idx).css("display", "");

		$(".g_plusShop .g_seller").eq(idx).css("display", "none");
		$(".g_plusShop .g_seller").eq(next_idx).css("display", "");

		return false;
	});

	//Keyword
	$(".kwAuto li").mouseover(function (e) {
		$(".layer_kwRanking").show();
		clearInterval(flip_obj);
		return false;
	});

	$(".layer_kwRanking").mouseover(function (e) {
		$(".layer_kwRanking").show();
		clearInterval(flip_obj);
		return false;
	});

	$(".layer_kwRanking").mouseout(function (e) {
		$(".layer_kwRanking").hide();
		flip_obj = window.setInterval(keyword_flip, 4000);
		return false;
	});

	$(".main_category .item ol li").mouseover(function (e) {
	    $(this).siblings().removeClass("selected")
	    $(this).addClass("selected");

	    group_banner_list_no = $(this).attr("group_banner_list_no");
	    nm = $(this).attr("nm");
	    link = $(this).attr("link");
	    img = $(this).attr("img");
	    price = $(this).attr("price");
	    discount = $(this).attr("discount");
	    sold = $(this).attr("sold");

	    $(this).parent().parent().siblings('div.details').children('.subject').children('a').attr('href', link);
	    $(this).parent().parent().siblings('div.details').children('.subject').children('a').html(nm);
	    $(this).parent().parent().siblings('div.details').children('.discount').children('strong').html(discount);
	    $(this).parent().parent().siblings('div.details').children('.price').children('strong').html(price);
	    $(this).parent().parent().siblings('div.details').children('.sold').html(sold);
	    $(this).parent().siblings('p.thumb').children('a').attr('href', link);
	    $(this).parent().siblings('p.thumb').children('a').attr('title', nm);
	    $(this).parent().siblings('p.thumb').children('a').children('img').attr('src', img);

	    if (discount == "")
	        $(this).parent().parent().siblings('div.details').children('.discount').hide();
        else
            $(this).parent().parent().siblings('div.details').children('.discount').show();
	});

	$(".main_category .item ol li").click(function (e) {
		document.location.href = $(this).attr("link");
	});

	$(".cateBnnr li").mouseover(function (e) {
	    $(this).siblings().removeClass("selected")
	    $(this).addClass("selected");

	    link = $(this).attr("link");
	    nm = $(this).attr("nm");
	    img = $(this).attr("img");

	    $(this).parent().siblings('p.bnnr').children('a').attr('href', link);
	    $(this).parent().siblings('p.bnnr').children('a').attr('title', nm);
	    $(this).parent().siblings('p.bnnr').children('a').children('img').attr('src', img);
	});

	$(".cateBnnr li").click(function (e) {
		document.location.href = $(this).attr("link");
	});

	if (window.initEventHandlerSub != undefined)
		initEventHandlerSub();
}

function GetNotice(nid, link_kind, link) {
	if (link_kind == "P") {
		$(".notice a").attr({ 'href': "javascript:;" });
		$(".notice a").attr({ 'target': "_self" });

		var url = Public.getWWWServerUrl("/Main/PopupNotice.aspx?nid=" + nid, false)
		window.open(url, "popup_notice", "top=100,left=100,Width=622, Height=511,scrollbars=no,resizable=yes");
	}
	else if (link_kind == "N") {

		$(".notice a").attr({ 'target': "_blank" });
		$(".notice a").attr({ 'href': link });
	}
	else {
		$(".notice a").attr({ 'href': link });
		$(".notice a").attr({ 'target': "_self" });
	}
	return false;
}

//Keyword Flip
function keyword_flip() {
	var or_height = $(".kwAuto li").css("height");
	var idx = parseInt($(".kwAuto").attr("idx"));
	var max = parseInt($(".kwAuto").attr("max"))
	var next = idx + 1 > max ? 0 : idx + 1;

	$(".kwAuto span").eq(1).html($(".layer_kwRanking li").eq(next).attr("num"));
	$(".kwAuto a").eq(1).attr("href", $(".layer_kwRanking li").eq(next).attr("link"));
	$(".kwAuto a").eq(1).html($(".layer_kwRanking li").eq(next).attr("keyword"));


	$(".kwAuto li").eq(0).animate({
		marginTop: -17
	}, 500, function () {
		$(".kwAuto span").eq(0).html($(".layer_kwRanking li").eq(next).attr("num"));
		$(".kwAuto a").eq(0).attr("href", $(".layer_kwRanking li").eq(next).attr("link"));
		$(".kwAuto a").eq(0).html($(".layer_kwRanking li").eq(next).attr("keyword"));

		$(".kwAuto li").eq(0).css("margin-top", 0);
		$(".kwAuto").attr("idx", next);
	});
}

function bind_qplay_to_group_banner() {
	$('#content div.section div.banner a, #content div.section div.cateBnnr a').click(function () {
		var url_raw = $(this).attr('href');
		var url_head = "";
		var url_tail = "";
		var url_qpl = "";

		// validation
		if (url_raw.search('/qplay?') == -1)
			return true;

		/* 설명
		일반적으로 URL의 구조는 다음과 같다.
		<http://...> + <?> + <parameter01=value01&parameter02=value02...> + <#> + <anchor>
		
		여기서는 우선 <http://...>를 Qplay 이너 팝업을 위한 주소로 변경하고,
		<parameter01=value01&parameter02=value02...>를 분석해 c_btn=Y를 주고,
		<anchor>는 그대로 사용하도록 한다.
		*/

		// 1) url_raw의 주소와 anchor(#)를 분리한다. (url_head, url_tail)
		var buffer_anchor = url_raw.split('#');

		if (buffer_anchor.length == 2) {
			url_head = buffer_anchor[0];
			url_tail = '#' + buffer_anchor[1];
		} else if (buffer_anchor.length == 1) {
			url_head = url_raw;
		} else if (buffer_anchor.length > 2) {
			url_head = buffer_anchor[0];
			url_tail = '#' + buffer_anchor[buffer_anchor.length - 1];
		}

		// 2) url_head의 주소와 GET 파라미터를 분리, 이너팝업 큐플레이 주소에 GET 파라미터를 넣는다. (url_qpl)
		var buffer_get = url_head.split('?');
		if (buffer_get.length == 2) {
			url_qpl = Public.convertNormalUrl("~/smarttab/default.aspx?" + buffer_get[1]); //parent와 child는 같은 서브도메인(www)에 있어야 한다.
		} else { //예외 처리: 디폴트 페이지를 보여준다
			url_qpl = Public.convertNormalUrl("~/smarttab/default.aspx");
		}

		// 3) GET 파라미터에 c_btn이 있으면 값을 Y로 주고, 없다면 &c_btn=Y를 추가한다. (url_qpl)
		if (url_qpl.search('&c_btn=') > -1) {
			var buffer_ampersand = url_qpl.split('&'); //주소를 &로 조각낸다
			url_qpl = "";

			for (var i = 0; i < buffer_ampersand.length; i++) {
				if (buffer_ampersand[i].search('c_btn') > -1) //원하는 조각을 찾았으면 무조건 값을 Y으로 바꾼다
					buffer_ampersand[i] = "c_btn=Y";
			}

			url_qpl = buffer_ampersand[0]; //주소 재조합
			for (var i = 1; i < buffer_ampersand.length; i++) {
				url_qpl = url_qpl + "&" + buffer_ampersand[i];
			}
		} else {
			url_qpl = url_qpl + "&c_btn=Y"; //없다면 그냥 추가한다
		}

		// 4) 마지막으로 3)의 url_qpl와 1)의 url_tail을 결합한다. (connect_url)
		var connect_url = url_qpl + url_tail;

		Util.openSmartTab(connect_url);
		return false;
	});
}



var BestSeller = function () { };

// 메인 베스트셀러 애니메이션
BestSeller.init = function () {
	// variables from ClientScriptManager: tab_index, bestseller_item_list
	var slide_index = 0;
	var slide_index_buffer = [0, 0, 0, 0, 0, 0, 0, 0];
	 
	var ITEM_WIDTH = -468;
	var flag = true;


	/*
	객체를 적게 쓰는 양방향 슬라이드 루프:
	(head element: 노출되지 않음) + <body element: 노출됨> + (tail element: 노출되지 않음)

	1) 슬라이드를 원하는 방향으로 animate()합니다.
	2) 방향에 따라 head/tail element를 remove합니다.
	3) 방향에 따라 tail/head element를 append/prepend합니다.
	4) 2와 3에 따라 이제 head, tail, 그리고 body element만 남습니다. css()로 슬라이드의 위치를 초기화합니다.
	5) 2~4는 animate() 직후 이루어지도록 callback()에 넣어둡니다.
	6) 이렇게 하면 element는 3개로 유지한 채 얼마든지 슬라이드 루프를 구현할 수 있습니다.
	7) animate()는 다른 쓰레드에서 이뤄지는 관계로 동기화를 위해 flag 체크를 활용합니다.
	*/

	// EVENT LISTENER: netx/prev button click
	$('div.bestGallery .paging .next').click(function () {
		if (flag) {
			slide_index = (slide_index + 1) % 5;
			set_page_no();
			slide_load();
			flag = false;
		}

		$('#slideshow-reel:not(:animated)').animate({ left: ITEM_WIDTH * 2 }, 400, 'swing', function () {
			if (!flag) {
				slide_remove_head();
				slide_append();
				slide_init_position();
				flag = true;
			}
		});
	});

	$('div.bestGallery .paging .prev').click(function () {
		if (flag) {
			slide_index = (slide_index - 1 + 5) % 5;
			set_page_no();
			slide_load();
			flag = false;
		}

		$('#slideshow-reel:not(:animated)').animate({ left: 0 }, 400, 'swing', function () {
			if (!flag) {
				slide_remove_tail();
				slide_prepend();
				slide_init_position();
				flag = true;
			}
		});
	});

	// EVENT LISTENER: tab mouseenter
	$('#g_main_visual div.bestGallery div.title li.category').mouseenter(function () {
		tab_mouseenter($(this).attr('tab_index'));
	});

	$('#g_main_visual div.bestGallery div.title h2').mouseenter(function () {
		tab_mouseenter(0);
	});

	function tab_mouseenter(index) {
		flag = true;
		slide_index_buffer[tab_index] = slide_index;
		tab_index = index;
		slide_index = slide_index_buffer[tab_index];

		tab_focus();
		set_page_no();
		tab_load();
		slide_load();
	}

	// EVENT LISTENER: item mouse over
	$('#slideshow-reel div.slide ul.gallery li').live('mouseenter', function () {
		$(this).addClass('selected');
	});

	$('#slideshow-reel div.slide ul.gallery li').live('mouseout', function () {
		$(this).removeClass('selected');
	});
	// END EVENT LISTENER

	// SCRIPT: tab_index, slide_index로 동작합니다.
	function set_page_no() {
		$('div.bestGallery span.current').html((slide_index * 4) + 1 + ' - ' + ((slide_index + 1) * 4));
	}

	function slide_load() {
		var buffer = "";
		var count = bestseller_item_list[tab_index].length;
		var item_index = slide_index * 4;

		for (var i = item_index; i < item_index + 4 && i < count; i++) {
			var item = bestseller_item_list[tab_index][i];

			buffer +=
					'<li item_index="' + item.index + '">' +
					'	<span class="number">' + (item.index + 1) + '</span>' +
					'	<p class="thumb">' +
					'		<a alt="' + item.gd_nm + '" href="' + item.href + '">' +
					'			<img src="' + item.img_src + '">' +
					'		</a>' +
					'	</p>' +
					'	<p class="price">' + item.price + '</p>' +
					'</li>';
		}
		$('#slideshow-reel div.slide[slide_index="' + slide_index + '"] ul').html(buffer);
	}

	function slide_remove_head() {
		$('#slideshow-reel div:first').remove();
	}

	function slide_remove_tail() {
		$('#slideshow-reel div:last').remove();
	}

	function slide_append() {
		var buffer = '<div class="slide" slide_index="' + (slide_index + 1) % 5 + '"><ul class="gallery"></ul></div>';
		$('#slideshow-reel').append(buffer);
	}

	function slide_prepend() {
		var buffer = '<div class="slide" slide_index="' + (slide_index - 1 + 5) % 5 + '"><ul class="gallery"></ul></div>';
		$('#slideshow-reel').prepend(buffer);
	}

	function slide_init_position() {
		$('#slideshow-reel').css('left', ITEM_WIDTH);
	}

	function tab_load() {
		var buffer = "";

		buffer +=
			'<div id="slideshow-reel" style="left: -468px; ">' +
			'	<div class="slide" slide_index="' + ((slide_index + 5 - 1) % 5) + '"><ul class="gallery"></ul></div>' +
			'	<div class="slide" slide_index="' + slide_index + '"><ul class="gallery"></ul></div>' +
			'	<div class="slide" slide_index="' + ((slide_index + 1) % 5) + '"><ul class="gallery"></ul></div>' +
			'</div>';

		$('#slideshow').html(buffer);
	}

	function tab_focus() {
		$('#g_main_visual div.bestGallery div.title li.category').removeClass('selected');
		$('#g_main_visual div.bestGallery div.title li.category[tab_index="' + tab_index + '"]').addClass('selected');
	}
	// END SCRIPT
}
