var ttTimer = [];
function ttChangePointItemSelectedArticle(itemElem, a) {
	itemElem = daum.$(itemElem);
	var thumbItemElem = _findThumbElement(a);
	var index = a.hash.substring(1);

	try {
		_toggle();
	} catch (e) {
	}

	// private functions
	function _findThumbElement(elem) {
		findThumbElement: while (elem) {
			elem = elem.parentNode;
			if (daum.Element.hasClassName(elem, "tt-item-point-thumbnail")) {
				break findThumbElement;
			}
		};
		return elem;
	}
	function _toggle() {
		daum.Array.each(Sizzle(".tt-wrap-item li", itemElem), function(li) {
			//TODO 걷어내거나 해야함
			if (li.parentNode.className.indexOf("tt-wrap-item-thumbnail") < 0) {
				daum.Element.hide(li);
			}
		});
		var detailElem = Sizzle(".tt-item-point-" + index, itemElem)[0];
		if (detailElem) {
			daum.Element.show(detailElem);
		}
	}
}

// toggle tt-item-point-# by index
function ttChangePointItemSelectedArticle2(itemElem, a) {
	itemElem = daum.$(itemElem);
	if ((typeof a).toLowerCase() != "string") {
		a = a.hash;
	}
	var index = a.substring(1);
	try {
		_toggle();
	} catch (e) {
	}

	function _toggle() {
		daum.Array.each(Sizzle(".tt-wrap-item li:not(.tt-item-point-thumbnail)", itemElem), function(li) {
			daum.Element.hide(li);
		});
		var detailElem = Sizzle(".tt-item-point-" + index, itemElem)[0];
		if (detailElem) {
			daum.Element.show(detailElem);
		}
	}
}

var ttRenderSelectedArticle = ttChangePointItemSelectedArticle2;

function _visible(elem) {
	return elem && (elem.style.display != "none");
}

function ttRepeatItemByInterval(itemId, length, interval) {
	var targetElems = [];
	for (var i = 0; i < length; i++) {
		targetElems.push(Sizzle("#" + itemId + " li.tt-item-point-" + i)[0]);
	}

	if(targetElems.length > 0) {
		var j = 0;
		var roller = setInterval(function() {
			_showItem(targetElems, j);
			j = (j < length - 1) ? j + 1 : 0;
		}, 1000 * interval);
		ttTimer.push(roller);
		return roller;
	}
}

function _showItem(itemElems, index) {
	for (var i = 0; i < itemElems.length; i++) {
		itemElems[i].style.display = "none";
	}
	itemElems[index].style.display = "block";
}
