// On Load
jQuery(document).ready(function () {

	jQuery('body').addClass('dynamic');

	// 공통
	initSearch();
	detailSearch();
	initInputs();
	
	
	//initCats('div.side-menu');
	initQuickMenu();
	initTabs();
	initDTabs();

	// 메인 네비게이션
	jQuery('#navi .gnb').Mnav();

	// 메인 - 롤링 배너
	
	// 메인 - new products
	jQuery('#main #newProducts').loopGallery({active: 4, group: 1});
	// 메인 - 하단 배너
	jQuery('#main #bannerArea').loopGallery({active: 6, group: 1});
	
	// 프로모션메인 - 하단 배너
	jQuery('#main #promotionBanner').loopGallery({active: 3, group: 1});

	// FAQ
	faq('.faq-list');

	// 트리
	//jQuery('#navi ul.gnb').tree();
	jQuery('ul.cat-tree').treeAdmin();
	//jQuery('ul.cat-basic').tree();
	jQuery('ul.menu').tree();

	// 콘텐츠 상세 조회 - 샘플 이미지
	//jQuery('div.sample-images').loopGallery({active: 3, group: 1});
	jQuery('div.cont-detail-preview div.preview').sampleGallery(); //프로모션 팝업
	jQuery('div.detail-box div.preview').sampleGallery(); //kobio

	jQuery('div.txt-tab-line ul li a span').Mheight();

});

// Cookie
function createCookie(name, value, days) {
	var expires = '';
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = '; expires=' + date.toGMTString();
	}
	document.cookie = name + '=' + value + expires + '; path=/';
}

function readCookie(name) {
	var nameEQ = name + '=',
		ca = document.cookie.split(';'),
		ca_len = ca.length,
		i, c;
	for (i = 0; i < ca_len; i++) {
		c = ca[i];
		while (c.charAt(0) === ' ') {
			c = c.substring(1, c.length);
		}
		if (c.indexOf(nameEQ) === 0) {
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name, '', -1);
}


// Toggle Layer
function toggleLayer(el) {
	var layer_id = el.getAttribute('href').split('#')[1],
		layer = document.getElementById(layer_id);
	if (layer.style.display != "none") {
		layer.style.display = "none";
	} else {
		layer.style.display = "";
	}
}

function initSearchType() {
	var old_selectbox = jQuery('#searchOptions'),
		old_option_items = old_selectbox.find('option'),
		new_selectbox = jQuery('.search-options .selectbox-wrap'),
		value_holder = new_selectbox.find('input.value-holder'),
		new_option_list = new_selectbox.find('ul.new-selectbox-options'),
		new_option_items = new_option_list.find('li'),
		selected;

	value_holder.bind('click', function (e) {
		e.stopPropagation();
		new_option_list.slideToggle(100);
	});
	value_holder.bind('keydown', function (e) {
		selected = new_option_items.filter('.selected');
		if (e.keyCode === 40) {	// Down Arrow
			e.preventDefault();
			if (selected.next().length) {
				select(selected.next());
			}
		} else if (e.keyCode === 38) {	// Up Arrow
			e.preventDefault();
			if (selected.prev().length) {
				select(selected.prev());
			}
		} else if (e.keyCode === 9) {	// Tab
			new_option_list.slideUp(100);
		}
	});

	new_option_items.hover(function () {
		new_option_items.removeClass('selected');
		jQuery(this).addClass('hover');
	}, function () {
		jQuery(this).removeClass('hover');
	});
	new_option_items.bind('click', function () {
		select(jQuery(this));
		new_option_list.slideUp(100);
		value_holder.focus();
	});

	jQuery('body').bind('click', function () {
		new_option_list.slideUp(100);
	});

	function select(obj) {
		var index = new_option_items.index(obj);
		new_option_items.removeClass('selected');
		obj.addClass('selected');
		old_option_items.attr('selected', false);
		jQuery(old_option_items[index]).attr('selected', true);
		value_holder.val(obj.text());
	}
}

function initSearch() {
	var advanced_btn = jQuery('#search .advanced-button a'),
		advanced_search = jQuery('#SchSug'),
		advanced_close = jQuery('#search .advanced a.close'),
		advanced_button = jQuery('#search .search-word input');
	advanced_btn.bind('click', function (e) {
		e.preventDefault();
		if (advanced_search.css('display') == 'none') {
			advanced_search.fadeIn('fast');
			jQuery('#search .advanced-button').addClass('on');
		} else {
			advanced_search.fadeOut('fast');
			jQuery('#search .advanced-button').removeClass('on');
		}
	});
	advanced_close.bind('click', function (e) {
		e.preventDefault();
		advanced_search.fadeOut('fast');
		jQuery('#search .advanced-button').removeClass('on');
	});
	advanced_button.bind('focus', function (e) {
		e.preventDefault();
		advanced_search.fadeOut('fast');
		jQuery('#search .advanced-button').removeClass('on');
	});
	jQuery('#search .selectbox-wrap input.value-holder').bind('click', function (e) {
		e.preventDefault();
		advanced_search.fadeOut('fast');
		jQuery('#search .advanced-button').removeClass('on');
	});
}

function detailSearch() {
	var detail_btn = jQuery('#search .button a'),
		detail_search = jQuery('#detailSearch'),
		detail_close = jQuery('#detailSearch.detail-layer .detail-search-close a'),
		detail_result = jQuery('#resultCont.page-cont');
	detail_btn.bind('click', function (e) {
		e.preventDefault();
		if (detail_search.css('display') == 'none') {
			detail_search.fadeIn('fast');
			jQuery('#resultCont .page-cont').css('display','none');
			jQuery('#resultCont .hide-cont').css('display','block');
		} else {
			detail_search.fadeOut('fast');
			jQuery('#resultCont .page-cont').css('display','block');
			jQuery('#resultCont .hide-cont').css('display','none');
		}
	});
	detail_close.bind('click', function (e) {
		e.preventDefault();
		detail_search.fadeOut('fast');
		jQuery('#resultCont .page-cont').css('display','block');
		jQuery('#resultCont .hide-cont').css('display','none');
	});
}

function initInputs() {
	var inputs = jQuery('#search .search-word :text[title], #login :text[title]');
	inputs.each(function () {
		var title = jQuery(this).attr("title"),
			value = jQuery(this).val();
		if (!value) {
			jQuery(this).val(title);
		}
		jQuery(this).bind("focus", function (e) {
			if (jQuery(this).val() == title)
				jQuery(this).val("");
		});
		jQuery(this).bind("blur", function (e) {
			if (jQuery(this).val().length == 0)
				jQuery(this).val(title);
		});
	});
}

function initTabs() {
	var tabs = jQuery('ul.tab:not(div.side-menu ul.tab, #footBasket ul.tab)').tab();
	tabs.each(function () {
		this.init();
	});
}
function initDTabs() {
	var Dtabs = jQuery('ul.d-tab').Dtab();
	Dtabs.each(function () {
		this.init();
	});
}

function initCats(selector) {
	var wrapper = jQuery(selector),
		cat_menu = wrapper.find('ul.menu'),
		cat_tab = wrapper.find('ul.tab'),
		tab, tab_conts, selected,
		tab_index = 0;
	if (cat_menu.length) {
		cat_menu.tree();
	}
	if (cat_tab.length) {
		tab = cat_tab.tab().get(0);
		tab_conts = jQuery(tab.contents);
		tab_conts.each(function () {
			selected = jQuery(this).find('.selected');
			if (selected.length) {
				tab_index = tab_conts.index(jQuery(this));
			}
		});
		tab.init(tab_index);
	}
}

function chkIE() {
	var rv = false;
	if (navigator.appName == "Microsoft Internet Explorer") {
		var ua = navigator.userAgent;
		var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null)
			rv = parseFloat(RegExp.jQuery1);
	}
	return rv;
}

function initQuickMenu(act_num) {
	if (!document.getElementById('quickMenu')) return false;
	fixPosition('#quickMenu', 500);
	//changeBgColor();
	//screenZoom();
	// jQuery('#quickMenu .seen-today').gallery({active: 3, group: 1});
	jQuery('#quickMenu .seen-today').loopGallery({active: 2, group: 1});
}

function fixPosition(selector, speed) {
	var wrapper = jQuery(selector),
		init_top = parseInt(wrapper.css('top')),
		timer = setInterval(function () {
			var curr_top = 0;
			if (document.documentElement.scrollTop) {
				curr_top = document.documentElement.scrollTop;
			} else if (document.body.scrollTop) {
				curr_top = document.body.scrollTop;
			}
			wrapper.stop().animate({
				top: init_top + curr_top + 'px'
			}, speed);
		}, speed);
	jQuery(window).bind('unload', function () {
		clearInterval(timer);
	});
}

function getViewport(win) {
	win = win || window;
	var doc = win.document;
		viewport = {width: 0, height: 0};
	if (doc.documentElement && (doc.documentElement.clientWidth || doc.documentElement.clientHeight)) {
		viewport.width = doc.documentElement.clientWidth;
		viewport.height = doc.documentElement.clientHeight;
	} else if (doc.body && (doc.body.clientWidth || doc.body.clientHeight)) {
		viewport.width = doc.body.clientWidth;
		viewport.height = doc.body.clientHeight;
	} else if (win.innerWidth || win.innerHeight) {
		viewport.width = win.innerWidth;
		viewport.height = win.innerHeight;
	}
	viewport.scroll = (function () {
		var vp_scroll = {x: 0, y: 0};
		if (doc.documentElement && (doc.documentElement.scrollLeft || doc.documentElement.scrollTop)) {
			vp_scroll.x = doc.documentElement.scrollLeft;
			vp_scroll.y = doc.documentElement.scrollTop;
		} else if (doc.body && (doc.body.scrollLeft || doc.body.scrollTop)) {
			vp_scroll.x = doc.body.scrollLeft;
			vp_scroll.y = doc.body.scrollTop;
		} else if (win.pageXOffset || win.pageYOffset) {
			vp_scroll.x = win.pageXOffset;
			vp_scroll.y = win.pageYOffset;
		} else if (win.scrollX || win.scrollY) {
			vp_scroll.x = win.scrollX;
			vp_scroll.y = win.scrollY;
		}
		return vp_scroll;
	}());
	return viewport;
}

// FAQ
function faq(selector) {
	var faq_lists = jQuery(selector);
	if (faq_lists.length) {
		var items = faq_lists.find('li'),
			answers = items.find('.faq-answer');
		items.each(function () {
			var question = jQuery(this).find('.faq-question'),
				answer = jQuery(this).find('.faq-answer');
			answer.hide();
			question.bind('click', function () {
				if (answer.css('display') == 'block') {
					answer.slideUp('fast');
				} else {
					answers.slideUp('fast');
					answer.slideDown('fast');
				}
			});
		});
	}
}

function calcTime(sec) {
	var time = [],
		minutes = sec;
	if (sec >= 60) {
		if (sec >= 3600) {
			time.push(getTimeStr(parseInt(sec / 3600)));
			minutes = parseInt(sec % 3600);
		}
		time.push(getTimeStr(parseInt(minutes / 60)));
		time.push(getTimeStr(parseInt(minutes % 60)));
	} else {
		time[0] = '00';
		time[1] = getTimeStr(sec);
	}

	function getTimeStr(num) {
		var str = num;
		if (num < 10) {
			str = '0' + num;
		}
		return str;
	}

	return time.join(':');
}


/* main layer popup */
function initLayerPopup() {
	jQuery('.layer-popup').bind('drag',function( event ){
		jQuery( this ).css({
			top: event.offsetY,
			left: event.offsetX
		});
		var index = jQuery('.layer-popup').index(this);
		jQuery('.layer-popup').each(function(i){
			if(index == i){
				jQuery(this).addClass("over");
			}
			else{
				jQuery(this).removeClass("over");
			}
		});
	});

	jQuery('.layer-popup').bind('click',function( event ){
		var index = jQuery('.layer-popup').index(this);
		jQuery('.layer-popup').each(function(i){
			if(index == i){
				jQuery(this).addClass("over");
			}
			else{
				jQuery(this).removeClass("over");
			}
		});
	});

	jQuery('.layer-popup .close a').bind('click',function( event ){
		var index = jQuery('.layer-popup .close a').index(this);
		jQuery('.layer-popup').each(function(i){
			if(index == i){
				jQuery(this).addClass("hide");
				jQuery(this).removeClass("view");
			}
			else{
				jQuery(this).addClass();
			}
		});
	});

}


/*
function initFootBasket() {
	var fb = jQuery('#footBasket'),
		tab = fb.find('ul.tab'),
		tab_items = tab.find('li'),
		layer = jQuery('#footConts'),
		ie = chkIE();

	if (ie && (ie < 7)) {
		fb.append('<iframe class="blocker" frameborder="0" />');
	}

	fbTab();
	toggleFootBasket();
	fixFoot();
	jQuery(window).bind('scroll', fixFoot);
	jQuery(window).bind('resize', fixFoot);

	function toggleFootBasket() {
		var button = fb.find('a.toggle');

		button.bind('click', function (e) {
			e.preventDefault();
			footSlide('fast');
			fb.toggleClass('closed');
			jQuery(this).toggleClass('close');
		});

		tab_items.bind('click', function () {
			if (fb.hasClass('closed')) {
				button.addClass('close');
				footSlide('fast');
				fb.removeClass('closed');
			} else {
				fixFoot();
			}
		});
	}

	function footSlide(speed) {
		var vp = getViewport(),
			fb_height = fb.height(),
			layer_height = layer.outerHeight(true),
			fb_top = fb.hasClass('closed') ? (parseInt(fb.css('top')) - layer_height) : (parseInt(fb.css('top')) + layer_height);

		layer.toggle();
		fb.css({
			'top': fb_top + 'px'
		});
	}

	function fbTab() {
		var tab_links = tab_items.find('a'),
			fb_frame = fb.find('#fbFrame');

		tab_links.bind('click', function (e) {
			var jQuerythis = jQuery(this),
				title = jQuerythis.parent('li').find('img').attr('alt'),
				target = jQuerythis.attr('href');
			e.preventDefault();
			tab_items.removeClass('on');
			jQuerythis.parent('li').addClass('on');
			fb_frame.attr('src', target);
			fb_frame.attr('title', title);
		});
	}

	function fixFoot() {
		if (!document.getElementById('footBasket')) return false;
		var vp = getViewport(),
			fb_height = fb.height();
		fb.stop().css({
			'position': 'absolute',
			'bottom': 'auto',
			'top': (vp.height + vp.scroll.y - fb_height) + 'px'
		});
	}
}

function popupResize() {
	var jQuerywindow = jQuery(window),
		jQuerybody = jQuery('body'),
		vta = jQuery('div.video-text-area'),
		popup_title = jQuery('h1.popup-title'),
		popup_cont = jQuery('div.popup-cont'),
		popup_close = jQuery('div.popup-close'),
		chrome, win_width, win_height, vpv, trv;

	vpv = vta.find('div.video-play-view');
	trv = vta.find('div.text-read-view');
	vta_width = (vpv.outerWidth(true) || 0) + (trv.outerWidth(true) || 0);
	vta.css('width', vta_width + 'px');
	chrome = getChromeSize();

	function getChromeSize() {
		var w = 400,
			h = 400,
			w_diff, h_diff;

		window.resizeTo(w, h);

		w_diff = w - jQuerywindow.width();
		h_diff = h - jQuerywindow.height();

		return {width:w_diff, height:h_diff};
	}

	win_width =
		parseInt(jQuerybody.css('padding-right')) + parseInt(jQuerybody.css('padding-left'))
		+ parseInt(popup_cont.css('padding-right')) + parseInt(popup_cont.css('padding-left'))
		+ parseInt(vta.css('width')) + chrome.width;
	win_height =
		parseInt(jQuerybody.css('padding-top'))
		+ parseInt(popup_title.outerHeight()) + parseInt(popup_cont.outerHeight()) + parseInt(popup_close.outerHeight())
		+ chrome.height;

	if (screen.availWidth < win_width) {
		win_width = screen.availWidth;
	}
	if (screen.availHeight < win_height) {
		win_height = screen.availHeight;
	}

	window.resizeTo(win_width, win_height);
}

function initReprocessDb() {
	var gal = jQuery('#main #reprocessDb .cont-gallery'),
		max, rand;
	if (!gal.length) return false;
	max = Math.floor(gal.find('li').length / 2);
	rand = getRandomInt(0, max) * 2;
	gal.gallery({group: 2, index: {first: rand}});
}
*/