/*-----------------------------------------------------------------------------------------
* textcut
* ÀÛ¼ºÀÏ : 2005.08.22.
* ¼öÁ¤ÀÏ : 2006.11.30.
* ÀÛ¼ºÀÚ : À¯¿µÀç
-----------------------------------------------------------------------------------------*/
var textcut = function ()
{
	var agent = navigator.userAgent.toLowerCase(); 
	var ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
	this.moz = (ns && (agent.indexOf("netscape/") == -1));
	this.underIE55 = (agent.indexOf("msie 5") != -1);
};

textcut.prototype.setEllipsis = function(target)
{
	if ((target == null) || (typeof(target) == "undefined"))
		var anchors = (document.all)?document.all:document.getElementsByTagName("*");
	else
		var anchors = target.getElementsByTagName("*");
		
	var obj, clsList, cl = null;
	var cnt = anchors.length;
	
	for (var i=0;i<cnt;i++)
	{
		obj = anchors.item(i);

		if (obj.className == "")
			continue;
			
		clsList = String(obj.className).split(" ");
		
		cl = clsList.length;
	
		for(j=0;j<cl;j++)
		{
			if (clsList[j] == "textcut")
			{
				this.cutString(obj);
				break;
			}
		}
	}
};

textcut.prototype.cutString = function(obj)
{
	if ((obj.offsetHeight > 0) && (obj.scrollHeight >= obj.offsetHeight*1.5))
	{
		obj.title = String(this.replaceTags(obj.innerHTML)).trim();

		if ((this.moz) || (this.underIE55))
		{
			obj.ins = document.createElement("ins");
			obj.ins.style.cssText = obj.style.cssText;
			obj.ins.innerHTML="...";
			obj.insertBefore(obj.ins, obj.firstChild);
		}
		else
		{
			if (obj.offsetWidth > 0)
			{
				obj.style.width = obj.offsetWidth + "px";
				obj.style.whiteSpace = "nowrap";
			}
		}
	}
};

textcut.prototype.replaceTags = function(xStr)		// ÅÂ±× Á¦°Å Á¤±Ô½Ä
{
	var regExp = /<\/?[^>]+>/gi;
	return xStr.replace(regExp,"");
};
