var strOurDomain = 'nate.com';
var strAgent = navigator.userAgent.toLowerCase();
var bIE = (strAgent.indexOf("msie") != -1);
var bXP = (strAgent.indexOf("nt 5.1") != -1);
var bIE7 = (strAgent.indexOf("msie 7.0") != -1);

var bSafari = (strAgent.indexOf("konqueror") != -1 || strAgent.indexOf("safari") != -1);
var bFirefox = (strAgent.indexOf("firefox")!= -1);
var bOpera = (strAgent.indexOf("opera") > -1);

document.write('<link rel="shortcut icon" href="/images/tong.ico">');

function CommonInit() {
	if(!bFirefox)
		document.domain = strOurDomain;
}


function ResizeFrame(strFrameId, opt, rLimit) {
	try {		
		var objFrame = window.frames[strFrameId];
		var body = objFrame.document.body;
		var frame = null;	

		if(bIE) {
			frame = document.getElementById(strFrameId);
			body = (objFrame.document.compatMode != "BackCompat"? objFrame.document.documentElement : objFrame.document.body);
		} else {
			frame = document.getElementsByName(strFrameId)[0];
		}
		
		if (opt == undefined || opt === "both"  || opt === "height") {
			if (bIE) {
				var nResultHeight = body.scrollHeight + (body.offsetHeight - body.clientHeight);
				if (rLimit != undefined && nResultHeight < rLimit[1])
					nResultHeight = rLimit[1];		
				if (nResultHeight > 0)
					frame.style.height = nResultHeight;
			} else {	
				var doc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
				var objBottomDiv = doc.body.appendChild(document.createElement('DIV'));
		
				objBottomDiv.style.clear = 'both';
				var nBottomDivTop = objBottomDiv.offsetTop;			
		
				objBottomDiv.parentNode.removeChild(objBottomDiv);
				if (rLimit != undefined && nBottomDivTop < rLimit[1])
					nBottomDivTop = rLimit[1];		
				frame.style.height = nBottomDivTop + 'px';			
			} 
		}
			
		if (opt == undefined || opt === "both"  || opt === "width") {
			frame.style.width = body.scrollWidth + (body.offsetWidth - body.clientWidth);
		}
			
		if (top != self) { 			
			try	{					
				if (opt != undefined) {
					parent.ResizeFrame(self.name, opt);
				} else {
					parent.ResizeFrame(self.name);
				}
			} catch (e) {				
			}
		}
	} catch(e) {
	}
}

function ResizePopup(nWidth, nHeight)
{
	window.resizeTo(nWidth + (bIE ? 10 : 6), nHeight + 50 + (bXP ? (bIE7 ? 30: 10) : 0));
}

var aryAsciiWidth = new Array(0,6,6,6,6,6,6,6,6,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,4,3,5,7,7,11,8,4,5,5,6,6,4,6,4,6,6,6,6,6,6,6,6,6,6,6,4,4,8,6,8,6,10,8,8,9,8,8,7,9,8,3,6,7,7,11,8,9,8,9,8,8,7,8,8,10,8,8,8,6,11,6,6,6,4,7,7,7,7,7,3,7,7,3,3,6,3,9,7,7,7,7,4,7,3,7,6,10,6,6,7,6,6,6,9);
var aryAsciiBoldWidth = new Array(0,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,4,6,8,8,12,9,5,6,6,7,7,5,7,5,7,7,7,7,7,7,7,7,7,7,7,5,5,9,7,9,7,11,9,9,10,9,9,8,10,9,4,7,8,8,12,9,10,9,10,9,9,8,9,9,11,9,9,9,7,12,7,7,7,5,8,8,8,8,8,4,8,8,4,4,7,4,10,8,8,8,8,5,8,4,8,7,11,7,7,8,7,7,7,10);

function GetPixelSizedText(strText, nPixel, bBold)
{
	var strReturn = '';
	var nLen = 0;
	for (var i = 0; i < strText.length; i++)
	{
		var nCharLen = _GetCharPixelWidth(strText.charAt(i), bBold);
		if (nLen + nCharLen > nPixel)
			break;
		nLen = nLen + nCharLen;
		strReturn = strReturn + strText.charAt(i);
	}		
	if (strReturn != strText)
	{
		if (nLen + (bBold ? 10 : 12) > nPixel)
		{
			var nTemp = 0;
			var nReturnLength = strReturn.length;
			for (var i = 0; i < nReturnLength; i++)
			{
				nTemp = nTemp + _GetCharPixelWidth(strReturn.charAt(nReturnLength - 1 - i), bBold);
				if (nLen + (bBold ? 10 : 12) - nTemp <= nPixel)
					break;
			}
			strReturn = strReturn.substring(0, nReturnLength - i - 1) + (bBold ? '..' : '...');
		}
		else
			strReturn = strReturn + (bBold ? '..' : '...');
	}
	strReturn = strReturn.split("<").join("&lt;");
	return strReturn;
}
function _GetCharPixelWidth(strChar, bBold)
{
	var nCode = strChar.charCodeAt(0);
	if (nCode > 126)
		return (bBold ? 13 : 12);
	return (bBold ? aryAsciiBoldWidth[nCode] : aryAsciiWidth[nCode]);
}
function DrawPixelSizedText(strText, nPixel, bBold)
{
	strText = strText.split("&amp;").join("&").split("&quot;").join("\"").split("\\;").join(";").split("&gt;").join(">").split("&lt;").join("<").split("&#39;").join("'");
	document.write(GetPixelSizedText(strText, nPixel, bBold));
}
function GetPixelSizeOfText(strText, nPixel, bBold)
{
	strText = strText.split("&amp;").join("&").split("&quot;").join("\"").split("\\;").join(";").split("&gt;").join(">").split("&lt;").join("<").split("&#39;").join("'");
	if (nPixel)
		strText = GetPixelSizedText(strText, nPixel, bBold);
	
	var nLen = 0;
	for (var i = 0; i < strText.length; i++)
	{
		var nCharLen = _GetCharPixelWidth(strText.charAt(i), bBold);
		if (nPixel && nLen + nCharLen > nPixel)
			break;
		nLen = nLen + nCharLen;
	}
	return nLen;
}

function CopyToClipboard(strText)
{
	if (bIE)
		window.clipboardData.setData("Text", strText);
	else if (window.netscape)
	{
		// You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
		try
		{
			netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		}
		catch (e)
		{
			alert('Please change the user preferences [signed.applets.codebase_principal_support] as true in about:config.');
			return false;
		}

		// Store support string in an object.
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		if (!str)
			return false;
		str.data = strText;

		// Make transferable.
		var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
		if (!trans)
			return false;

		// Specify what datatypes we want to obtain, which is text in this case.
		trans.addDataFlavor("text/unicode");
		trans.setTransferData("text/unicode", str, strText.length*2);

		var clipid = Components.interfaces.nsIClipboard;
		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
		if (!clip)
			return false;

		clip.setData(trans, null, clipid.kGlobalClipboard);
	}
	return true;
}

function InsertStatisticsScript(strUrl)
{
	document.write('<div><img src="http://stat.nate.com/stat/stat.tiff?cp_url=[tong_ndr.nate.com' + strUrl + ']" width=0 height=0 border=0></div>');
}
function InsertStatisticsScriptEtc(strUrl)
{
	//document.write('<div><img src="http://stat.nate.com/stat/stat.tiff?cp_url=[tong_etc_ndr.nate.com' + strUrl + ']" width=0 height=0 border=0></div>');
	document.write('<div><img src="http://stat.nate.com/stat/stat.tiff?cp_url=[tong_ndr.nate.com' + strUrl + ']" width=0 height=0 border=0></div>');
}

function InsertStatisticsScriptNdrEtc(strUrl)
{
	document.write('<div><img src="http://statetc.nate.com/stat/stat.tiff?cp_url=[tong_ndretc.nate.com' + strUrl + ']" width=0 height=0 border=0></div>');
}
function InsertStatisticsNdrLayer(strUrl)
{
	imgStatistics = new Image();
	imgStatistics.src = "http://stat.nate.com/stat/stat.tiff?cp_url=[tong_ndr.nate.com" + strUrl + "]";
}

function InsertStatisticsNdrEtcLayer(strUrl)
{
	imgStatistics = new Image();
	imgStatistics.src =  "http://statetc.nate.com/stat/stat.tiff?cp_url=[tong_ndretc.nate.com" + strUrl +"]";
}

function CheckValidateChar(objInput)
{
	var strText = objInput.value;
	var strValidateText = '';
	var bOK = true;
	for(var i = 0; i < strText.length; i++)
	{
		var ch = strText.charCodeAt(i);		
		if(!(ch == 0x0009 
	        || ch == 0x000A 
	        || ch == 0x000D 
	        ||(ch >= 0x0020 && ch <= 0xD7FF)
	        ||(ch >= 0xE000 && ch <= 0xFFFD)
	        ||(ch >= 0x10000 && ch <= 0x10FFFF)))
        {        
       		var bOK = false;;
        }        
        else
        	strValidateText = strValidateText + strText.charAt(i);
    }
    if(bOK == false) objInput.value = strValidateText;
    return bOK;
}

function _CheckByteLength(strText, nLimitBytes)
{
	var nLen = 0;
	for(var i = 0; i < strText.length; i++)
	{
		if (strText.charCodeAt(i) > 255)
			nLen += 2;
		else
			nLen ++;

		if (nLen > nLimitBytes)
			return false;
	}
	return true;
}

function DeleteCookie(name, path, domain) 
{    
	if(_GetCookieValue(name))
    { 
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    } 
}


function _GetCookieValue(strName)
{
	var nStart = document.cookie.indexOf(strName + '=');
	if (nStart != -1)
	{
		nStart = nStart + strName.length + 1;
		var nEnd = document.cookie.indexOf(';', nStart);
		if (nEnd == -1)
			nEnd = document.cookie.length;
		return unescape(document.cookie.substring(nStart, nEnd));
	}
	return null;
}

function setCookie(name, value) {
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (2 < argc) ? argv[2] : null;
	var path = (3 < argc) ? argv[3] : null;
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;
	document.cookie = name + "=" + value +
		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
		((path==null) ? "" : ("; path=" + path))+
		((domain==null) ? "" : ("; domain=" + domain))+
		((secure==true) ? "; secure" : "");
}

function GoToLogin(strRedirectUrl)
{
	self.location.href = '/user/mlogin.vm?redirect_url=' + strRedirectUrl;
}
function PopupLogin(strParam)
{
	// 050418
	// possible parameter
	// need_mytong
	// need_toss
	// redirect_url -> should be located at last position
	window.open('/user/plogin.vm?mode=popup' + strParam, 'plogin', 'status=yes,width=239,height=176,left=200,top=100');
}
function PopupJoinTong(strParam, sWebServer)
{
	var sUrl = "";
	// 050419
	// possible parameter
	// need_toss
	// redirect_url -> should be located at last position
	if(sWebServer) {
		sUrl = sWebServer + sUrl;
	}
	//sUrl += '/mytong/mytong.do?action=joinform&mode=popup' + strParam;
	//window.open(sUrl, 'pjointong', 'status=yes,width=239,height=161,left=200,top=100');
	alert("ÀÌ ±â´ÉÀº ³»ÅëÀÌ ÀÖ´Â È¸¿ø´Ô¸¸ ÀÌ¿ëÇÏ½Ç ¼ö ÀÖÀ¸¸ç,\nÇöÀç Åë ¼­ºñ½º´Â Åë °³¼³ÀÌ Áß´ÜµÇ¾ú½À´Ï´Ù.\n¼­ºñ½º ÀÌ¿ë¿¡ ºÒÆíÀ» µå·Á ÁË¼ÛÇÕ´Ï´Ù.");
}

function ScrollToTop(bTop)
{
	var win = (bTop ? top : self);
	win.scrollTo(0, 0);
}


function CopyDetailUrl(sURL)
{
	InsertStatisticsNdrEtcLayer('/report/library/address');
	if (CopyToClipboard(sURL))
		alert('¼±ÅÃÇÑ ÁÖ¼Ò°¡ Å¬¸³º¸µå¿¡ º¹»çµÇ¾ú½À´Ï´Ù.\nÀ¥ÁÖ¼ÒÃ¢ÀÌ³ª ¸Þ¸ðÀå¿¡ ºÙ¿©³Ö±â(Ctrl+V)ÇØ ÁÖ¼¼¿ä');
}


function MyInsertAdjacentHTML(strPos, strHtml, objElement)
{
	if (bIE)
	{
		objElement.insertAdjacentHTML(strPos, strHtml);
		return;
	}
	
	if (bSafari)
	{
		var objDummy = document.createElement("DIV");
		document.body.appendChild(objDummy);
		objDummy.style.display = "none";
		objDummy.innerHTML = strHtml;
		
		if (strPos.toLowerCase() == "beforebegin")
			for (var i = 0; i < objDummy.childNodes.length; i++)
				objElement.parentNode.insertBefore(objDummy.childNodes[i], objElement);
		else if (strPos.toLowerCase() == "afterbegin")
			for (var i = 0; i < objDummy.childNodes.length; i++)
				objElement.insertBefore(objDummy.childNodes[i], objElement.firstChild);
		else if (strPos.toLowerCase() == "beforeend")
			for (var i = 0; i < objDummy.childNodes.length; i++)
				objElement.appendChild(objDummy.childNodes[i]);
		else if (strPos.toLowerCase() == "afterend")
			for (var i = 0; i < objDummy.childNodes.length; i++)
				objElement.parentNode.insertBefore(objDummy.childNodes[i], objElement.nextSibling);
		
		document.body.removeChild(objDummy);
		return;
	}
	
	var objRange = document.createRange();
	
	if (strPos.toLowerCase() == "beforebegin")
		objRange.setStartBefore(objElement);
	else if (strPos.toLowerCase() == "afterbegin")
		objRange.setStartAfter(objElement);
	else if (strPos.toLowerCase() == "beforeend")
		objRange.setEndBefore(objElement);
	else if (strPos.toLowerCase() == "afterend")
		objRange.setEndAfter(objElement);
	else
		return;
	
	var objFragment = objRange.createContextualFragment(strHtml);
	objElement.parentNode.insertBefore(objFragment, objElement);
}

function PopupAddNeighborBox(nTongId, nBoxId, nLinkType)
{
	window.open('/boxitem/linkbox.do?action=createForm&_tongID=' + nTongId + '&_boxID=' + nBoxId + '&_linkType=' + nLinkType, 'addneighborbox', 'scrollbars=yes,status=yes,width=306,height=220,left=' + (window.screen.availWidth/2 - 153) + ',top=' + (window.screen.availHeight/2 - 95));
}


function PopupImageZoom(strPath)
{
	var win = window.open('/mytong/pop_image.vm?strImageUrl=' + strPath, '', 'status=yes,resizable=yes,scrollbars=yes,width=100,height=100');
}

function getXMLDOMFromString(str) {
	var xmlDoc;
	if(bIE) {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(str);
	} else {
		var parser = new DOMParser();
		xmlDoc = parser.parseFromString(str, "text/xml");
	}
	
	return xmlDoc;
}