//정규식관련
var regRemoveTag = /(<\w+>|<\/\w+>)/gi;	//태그제거용
//ajax 관련
var xmlHttp;
function InitialXmlHttp() {
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) {
        alert ("Your browser does not support AJAX!");
        return;
    }
}
function GetXmlHttpObject() {
    var xmlHttp=null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function checkLogOn(S_LOGIN_YN) {
	if (S_LOGIN_YN != "Y") {
		alert("로그인을 해 주세요.");
		return false;
	}
	else
		return true;
}

//select에서 값을 선택시 처리
function selectOption(spanID, divID, strText, strValue, targetObj) {
	document.getElementById(spanID).innerHTML = strText.replace("<","&lt;");
	checkExceptSelect = 1;
	customSelect = 0;
	currentSelect = "";
	document.getElementById(divID).style.display = "none";
	targetObj.value = strValue;
}

//해당 개체 보이기 토글-select tag style
var customSelect = 0, currentSelect = "", checkExceptSelect = 0;
function toggleSelectShowHide(targetID) {
	if (currentSelect != targetID)
		checkCloseLayer();
	checkExceptSelect = 1;
	var targetObj = document.getElementById(targetID);
	if (targetObj.style.display == "block") {
		customSelect = 0;
		currentSelect = "";
		targetObj.style.display = "none";
	}
	else {
		customSelect = 1;
		currentSelect = targetID;
		targetObj.style.display = "block";
	}
}

//해당 id 개체 보이기 토글
function toggleShowHide(targetObj) {
	if (targetObj.style.display == "block")
		targetObj.style.display = "none";
	else
		targetObj.style.display = "block";
}

//해당 id 개체 보이기 토글
function toggleVisible(targetObj) {
	if (targetObj.style.visibility == "visible")
		targetObj.style.visibility = "hidden";
	else
		targetObj.style.visibility = "visible";
}

//마우스오버시 배경색 변경-분류함
function changeBGColorPublic(targetObj, stat, onColor, offColor) {
	if (stat == "over")
		targetObj.style.backgroundColor = onColor;
	else
		targetObj.style.backgroundColor = offColor;
}

//카테고리 선택레이어 자동닫히기
var cntLayerClick = 0;
function checkLayer(idLayer) {
	cntLayerClick++;
	ele = eval("document.all." + idLayer + ".style")
	if (ele.display == "block") {
		if (cntLayerClick > 1) {
			ele.display = "none";
			cntLayerClick = 0;
		}
	}
	else
		cntLayerClick = 0;
}
//글본문하단기능레이어
var divPostFuncLayerView = 0, checkExceptPostFuncLayer = 0;
function showPostFuncLayer() {
	var ele = document.getElementById("divPostFuncLayer");
	checkExceptPostFuncLayer = 1;
	if (ele.style.display == "none") {
		ele.style.display = "block";
		divPostFuncLayerView = 1;
	}
	else {
		ele.style.display = "none";
		divPostFuncLayerView = 0;
	}
}

//이름레이어
var spNameLayer, spNameLayerOld, spNameLayerView = 0;
function showLayer(spNameSelect, blogID) {
	if (spNameLayer != null && spNameSelect != spNameLayer) {
		spNameLayerView = 0;
		spNameLayer.innerHTML = spNameLayerOld;
	}
	if (spNameLayerView == 1) {
		spNameLayerView = 0;
		spNameLayer.innerHTML = spNameLayerOld;
	}
	else {
		var diff = document.body.offsetWidth - event.x;
		var url = "/lib/make_layer_submit.asp?blog_id=" + blogID;
		InitialXmlHttp();
		if (diff > 215)
			url = url + "&leftPos=0";
		else
			url = url + "&leftPos=-188";
		spNameLayer = spNameSelect;
		spNameLayerOld = spNameLayer.innerHTML;
		xmlHttp.onreadystatechange=stateChangedShowLayer;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
}
function stateChangedShowLayer() {
	if (xmlHttp.readyState==4) {
		if (xmlHttp.responseText == "")
			alert("오류가 발생했습니다.");
		else {
			spNameLayer.innerHTML = xmlHttp.responseText;
			spNameLayerView = 1;
		}
	}
}
function showLayer2(e, spNameSelect, blogID) {
	var e0 = window.event || e;
	if (spNameLayer != null && spNameSelect != spNameLayer) {
		spNameLayerView = 0;
		spNameLayer.innerHTML = spNameLayerOld;
	}
	if (spNameLayerView == 1) {
		spNameLayerView = 0;
		spNameLayer.innerHTML = spNameLayerOld;
	}
	else {
		var diff = document.body.offsetWidth - e0.x;
		var url = "/lib/make_layer_submit.asp?blog_id=" + blogID;
		InitialXmlHttp();
		if (diff > 215)
			url = url + "&leftPos=0";
		else
			url = url + "&leftPos=-188";
		spNameLayer = spNameSelect;
		spNameLayerOld = spNameLayer.innerHTML;
		xmlHttp.onreadystatechange=stateChangedShowLayer;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
}

//해당 주소로 이동하기
function goURL(strURL) {
	location.href = strURL;
}


//관심친구등록-시작
function addBlogLink(S_blogID, blogID) {
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url="/blog/lib/add_bloglink_submit.asp?blogid=" + S_blogID + "&linked_blogid=" + blogID;
    xmlHttp.onreadystatechange=stateChangedAddBlogLink;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
function stateChangedAddBlogLink() { 
    if (xmlHttp.readyState==4) {
	    var retval = xmlHttp.responseText.split("&"); 
	    var retval1 = retval[0]; 
	    var retval2 = retval[1]; 
	    
	    if (retval1 == "0")
            alert("오류가 발생했습니다.");
        else if (retval1 == "-1")
            alert("이미 구독중 입니다.");
        else {
            if (isNaN(retval1)) {
				//alert("오류가 발생했습니다.");
				document.write(xmlHttp.responseText);
			}
            else
				alert("구독을 완료하였습니다. '구독중인 노트 글 모아 보기' 페이지로 이동합니다.");
				location.href="/blog/archive_list.asp?blogid="+retval2;
        }
    }
}
//관심친구등록-끝

// rollover
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// rollover2
function bt(id,after) { 
	eval(id+'.filters.blendTrans.stop();');
	eval(id+'.filters.blendTrans.Apply();');
	eval(id+'.src="'+after+'";');
	eval(id+'.filters.blendTrans.Play();');
}

// Layer
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}


//마우스 롤오버-시작
function na_restore_img_src(name, nsdoc)
{
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img && img.altsrc) {
    img.src    = img.altsrc;
    img.altsrc = null;
  } 
}

function na_preload_img()
{ 
  var img_list = na_preload_img.arguments;
  if (document.preloadlist == null) 
    document.preloadlist = new Array();
  var top = document.preloadlist.length;
  for (var i=0; i < img_list.length; i++) {
    document.preloadlist[top+i]     = new Image;
    document.preloadlist[top+i].src = img_list[i+1];
  } 
}

function na_change_img_src(name, nsdoc, rpath, preload)
{ 
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img) {
    img.altsrc = img.src;
    img.src    = rpath;
  } 
}
//마우스 롤오버-끝


// ====================================================================================
// SELECT에 OPTION 추가, 제거, 이동하기, 값 조회, 전체선택, 선택해제
//
// 1. 추    가 : add_opt(SELECT, OPTION text, OPTION value)
// 2. 제    거 : remove_opt(SELECT)
// 3. 모두제거 : remove_all_opts(SELECT)
// 4. 이    동 : move_opt(원본 SELECT, 대상 SELECT, 중복 허용, 복사 or 이동)
//
//               중복 허용
//                0 : 불가
//                1 : 선택
//                2 : 가능
//
//               복사 & 이동
//                0 : 복사
//                1 : 이동
//
// 5. 옵션 text  : get_opt_txts(SELECT)
//                 셀렉트 박스의 모든 글 반환
// 6. 옵션 value : get_opt_vals(SELECT)
//                 셀렉트 박스의 모든 값 반환
// 7. 전체선택
// 8. 선택해제
// 9. 상하 이동  : chg_opt_idx(SELECT, 이동 종류)
//               이동 종류
//               first : 맨 위
//               prev  : 하나 위
//               next  : 하나 밑
//               last  : 맨 밑
// ====================================================================================
function add_opt(oSELECT, opt_text, opt_val) {
	/*if ((opt_text == "") || (opt_val == "")) return;

	var opts_len = oSELECT.options.length;

	for (i = 0; i < opts_len; i++) {
		if ((oSELECT.options[i].text == opt_text) && (oSELECT.options[i].value == opt_val))
			return;
	}*/

	oSELECT.options[oSELECT.options.length] = new Option(opt_text, opt_val, false, false);
}

function remove_opt(oSELECT) {
	if (oSELECT.selectedIndex >= 0)
		oSELECT.remove(oSELECT.selectedIndex);
}

function remove_all_opts(oSELECT) {
	var i, opts_len

	opts_len = oSELECT.options.length;

	if (opts_len > 0) {
		for (i = opts_len - 1; i >= 0; i--)
			oSELECT.remove(i);
	}
}

function move_opt(oSELECT1, oSELECT2, overlap, remove_yn) {
	var i, opts_len, same, oText, oValue;

	if (oSELECT1.selectedIndex >= 0) {
		opts_len = oSELECT2.options.length;

		same = false;

		oText = oSELECT1.options[oSELECT1.selectedIndex].text;
		oValue = oSELECT1.options[oSELECT1.selectedIndex].value;

		for (i = 0; i < opts_len; i++) {
			if ((oSELECT2.options[i].text == oText) && (oSELECT2.options[i].value == oValue))
				same = true;
		}

		switch (overlap) {
			case 0 :
				if (!same)
					add_opt(oSELECT2, oText, oValue);

				break;
			case 1 :
				if (same) {
					if (!confirm("이미 대상에 포함되어 있습니다. 현재 목록에서 삭제 하시겠습니까?"))
						remove_yn = 0;
					else
						remove_yn = 1;
				}
				else
					add_opt(oSELECT2, oText, oValue);

				break;
			case 2 :
				add_opt(oSELECT2, oText, oValue);

				break;
		}

		if (remove_yn == 1)
			remove_opt(oSELECT1);
	}
}

function get_opt_txts(oSELECT) {
	var i, opts_len, str_opt_txts;

	opts_len = oSELECT.options.length;
	str_opt_txts = "";

	for (i = 0; i < opts_len; i++)
		str_opt_txts += oSELECT.options[i].text + ", ";

	return str_opt_txts.substring(0, str_opt_txts.length - 2);
}

function get_opt_vals(oSELECT) {
	var i, opts_len, str_opt_vals;

	opts_len = oSELECT.options.length;
	str_opt_vals = "";

	for (i = 0; i < opts_len; i++)
		str_opt_vals += oSELECT.options[i].value + ", ";

	return str_opt_vals.substring(0, str_opt_vals.length - 2);
}

function select_all(oSELECT) {
	var opt_len = oSELECT.length;

	if (opt_len > 0) {
		for (var i = 0; i < opt_len; i++)
			oSELECT.options[i].selected = true;
	}
}

function deselect_all(oSELECT) {
	var opt_len = oSELECT.length;

	if (opt_len > 0) {
		for (var i = 0; i < opt_len; i++)
			oSELECT.options[i].selected = false;
	}
}

function chg_opt_idx(oSELECT, move_type) {
    if (oSELECT.selectedIndex == -1) {
        alert("이동할 대상을 선택해주세요.");
        return;
    }

    var oOPTION = oSELECT[oSELECT.selectedIndex];
    var opt_len = oSELECT.length;
    var temp_txt = "", temp_val = "";

    if ((oSELECT.selectedIndex == 0 && (move_type == "first" || move_type == "prev"))
    || (oSELECT.selectedIndex == (opt_len - 1) && (move_type == "next" || move_type == "last"))) {
        alert("더 이상 이동할 수 없습니다.");
        return;
    }

    temp_txt = oOPTION.text;
    temp_val = oOPTION.value;

    switch (move_type) {
        case "first":
            for (var i = oSELECT.selectedIndex; i > 0; i--) {
                oSELECT[i].text = oSELECT[i - 1].text;
                oSELECT[i].value = oSELECT[i - 1].value;
            }

            oSELECT[0].text = temp_txt;
            oSELECT[0].value = temp_val;

            oSELECT.selectedIndex = 0;

            break;
        case "prev":
            oOPTION.text = oSELECT[oSELECT.selectedIndex - 1].text;
            oOPTION.value = oSELECT[oSELECT.selectedIndex - 1].value;
            oSELECT[oSELECT.selectedIndex - 1].text = temp_txt;
            oSELECT[oSELECT.selectedIndex - 1].value = temp_val;

            oSELECT.selectedIndex--;

            break;
        case "next":
            oOPTION.text = oSELECT[oSELECT.selectedIndex + 1].text;
            oOPTION.value = oSELECT[oSELECT.selectedIndex + 1].value;
            oSELECT[oSELECT.selectedIndex + 1].text = temp_txt;
            oSELECT[oSELECT.selectedIndex + 1].value = temp_val;

            oSELECT.selectedIndex++;

            break;
        case "last":
            for (var i = oSELECT.selectedIndex; i < (opt_len - 1); i++) {
                oSELECT[i].text = oSELECT[i + 1].text;
                oSELECT[i].value = oSELECT[i + 1].value;
            }

            oSELECT[opt_len - 1].text = temp_txt;
            oSELECT[opt_len - 1].value = temp_val;

            oSELECT.selectedIndex = opt_len - 1;

            break;
    }
}

/*셀렉트 박스에서 복수개를 선택해서 이동시키기-시작*/
//oSELECT : 해당 셀렉트 박스
//move_type : first, prev, next, last
function chg_opt_idx_multi(oSELECT, move_type) {
	var a, i;
	if (oSELECT.selectedIndex == -1) {
		alert("이동할 대상을 선택해주세요.");
		return;
    	}
    	
	var opt_len = oSELECT.length;
	
	if ((oSELECT[0].selected && (move_type == "first" || move_type == "prev")) || (oSELECT[opt_len-1].selected && (move_type == "last" || move_type == "next"))) {
		alert("더 이상 이동할 수 없습니다.");
		return;
	}
	
	//2차인 경우 추가된 제한 조건-시작
	if ((move_type == "first" && oSELECT[oSELECT.selectedIndex].value.split("|@##$$@|")[2] == "2") || (move_type == "prev" && oSELECT.selectedIndex == 1 && oSELECT[oSELECT.selectedIndex].value.split("|@##$$@|")[2] == "2")) {
		alert("첫번째 분류함은 1차 분류함만 가능합니다.");
		return;
	}
	else {
		for (i=0; i<opt_len; i++) {
			if (oSELECT[i].selected == false) {
				if (oSELECT[i].value.split("|@##$$@|")[2] == "2") {
					alert("첫번째 분류함은 1차 분류함만 가능합니다.");
					return;
				}
				break;
			}
		}
	}
	//2차인 경우 추가된 제한 조건-끝
	
	switch (move_type) {
		case "first":
		    for(i=0; i<oSELECT.length; i++) {
		        if (oSELECT[i].selected) {
		            a = i;
		            break;
		        }
		    }
			break;
		case "prev":
		    a = 1;
			break;
		case "next":
		    a = -1;
			break;
		case "last":
		    for(i=oSELECT.length-1; i>=0; i--) {
		        if (oSELECT[i].selected) {
		            a = (oSELECT.length-1-i) * (-1);
		            break;
		        }
		    }
			break;
	}
	chg_sort_order(oSELECT, a)
	
}

function chg_sort_order(objSEL, move_value) {

	var i, j = 0;
	var notSel = "";
	SELText = new Array(objSEL.length);
	SELValue = new Array(objSEL.length);
	SELSel = new Array(objSEL.length);
	
	for (i=0; i<objSEL.length; i++) {
		SELText[i] = objSEL[i].text;
		SELValue[i] = objSEL[i].value;
		if (objSEL[i].selected)
		    SELSel[i] = "1";
		else
		    SELSel[i] = "0";
	}
	for (i=0; i<objSEL.length; i++) {
		if (SELSel[i+Number(move_value)] == "1") {
		    objSEL[i].text = SELText[i+move_value];
		    objSEL[i].value = SELValue[i+move_value];
	        objSEL[i].selected = true;
	    }
		else {
		    objSEL[i].selected = false;
		    notSel += i + ",";
		}
	}
	notSel = notSel.substr(0,notSel.length-1);
	notSEL = notSel.split(",");
	for (i=0; i<objSEL.length; i++) {
	    if (SELSel[i] == "0") {
		    objSEL[notSEL[j]].text = SELText[i];
		    objSEL[notSEL[j]].value = SELValue[i];
	        objSEL[notSEL[j]].selected = false;
	        j++;
	    }
	}

}
/*셀렉트 박스에서 복수개를 선택해서 이동시키기-끝*/


/*운영자양도-시작*/
function changeClubOwner(clubid, blogid, statecode) { 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url="/clubmanager/lib/ok_change_owner_submit.asp?clubid=" + clubid + "&blogid=" + blogid + "&statecode=" + statecode;
    xmlHttp.onreadystatechange=stateChangedChangeClubOwner;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
function stateChangedChangeClubOwner() { 
    if (xmlHttp.readyState==4) {
        if (xmlHttp.responseText == "1")
            alert("양도가 되었습니다.");
        else
            alert("오류가 발생했습니다.");
    }
}
/*운영자양도-끝*/

/*
주민등록번호체크-시작
성공시 false, 오류시 true 리턴
*/
function confirm_jumin_num(rrn1, rrn2) {
	var tmp = 0;
	var yy = rrn1.substring(0, 2);
	var mm = rrn1.substring(2, 4);
	var dd = rrn1.substring(4, 6);
	var sex = rrn2.substring(0, 1);
	var ccc = rrn1 + rrn2;
	var i;

	if ((ccc.length != 13) || ( mm < 1 || mm > 16 || dd < 1) || (sex != 1 && sex != 2 && sex != 3 && sex != 4)) 
	    return true;

	for (i = 0; i <= 5; i++)
		tmp = tmp + ((i % 8 + 2) * parseInt(rrn1.substring(i, i + 1)));

	for (i = 6; i <= 11; i++)
		tmp = tmp + ((i % 8 + 2) * parseInt(rrn2.substring(i - 6, i - 5)));

	tmp = 11 - (tmp % 11);
	tmp = tmp % 10;

	if (tmp != rrn2.substring(6,7)) 
	    return true;
	else
	    return false;
}
/*주민등록번호체크-끝*/

/*
외국인등록번호체크-시작
성공시 false, 오류시 true 리턴
*/
function fgn_no_chksum(reg_no) {
	var sum = 0;
	var odd = 0;
	buf = new Array(13);
	for (i = 0; i < 13; i++) 
		buf[i] = parseInt(reg_no.charAt(i));
	
	odd = buf[7]*10 + buf[8];
	if (odd%2 != 0)
		return true;
	if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9))
		return true;
	multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
	for (i = 0, sum = 0; i < 12; i++)
		sum += (buf[i] *= multipliers[i]);
	sum=11-(sum%11);
	if (sum>=10)
		 sum-=10;
	sum += 2;
	if (sum>=10) 
		sum-=10;
	if ( sum != buf[12])
		return true;
	else
		return false;
}
/*외국인등록번호체크-끝*/

/*숫자만 입력받기:onkeypress-시작*/
function check_number() {
    var key = event.keyCode;
    if(!(key==8||key==9||key==13||key==46||key==144||(key>=48&&key<=57)||key==110||key==190)){
        event.returnValue = false;
    }
}
/*숫자만 입력받기:onkeypress-끝*/

/*숫자만 입력???-시작*/
function only_number() {
	if (!(event.keyCode >= 48 && event.keyCode <= 57))
		return false;
}
/*숫자만 입력-끝*/

/*특수문자 체크*/
function only_char(str) {
	for(i = 0; i < str.length; i++) {
		one_char = str.charAt(i)
		if(one_char.search(/[0-9|a-z|A-Z|가-힝| ]/) == -1)
			return false;
	}
	return true;
}
//  '<' '>' '"' '@' '#' '%' 막음
function deny_char(str) {
	if(str.indexOf('<') >= 0)
		return true;
	else if(str.indexOf('>') >= 0)
		return true;
	else if(str.indexOf('"') >= 0)
		return true;
	else if(str.indexOf('@') >= 0)
		return true;
	else if(str.indexOf('#') >= 0)
		return true;
	else if(str.indexOf('%') >= 0)
		return true;
	else
		return false;
}
/*특수문자 체크-끝*/
/*
빈값허용하지 않기-시작
성공시 false, 오류시 true 리턴
*/
function not_null(str) {
	if (str.split(" ").join("") == "")
		return true;
    else
	    return false;
}
/*빈값허용하지 않기-끝*/

/*스페이스없애기-시작*/
function trim(str) {
    return str.split(" ").join("");
}
/*스페이스없애기-끝*/

/*
메일주소형식검사-시작
성공시 false, 오류시 true 리턴
*/
function confirm_email(strEmail) {
	var exclude = /[^@\-\.\w]|^[_@\.]|[\._]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check = /@[\w\-]+\./;
	var checkend = /\.[a-zA-Z]{2,3}$/;

	if (((strEmail.search(exclude) != -1) || (strEmail.search(check)) == -1) || (strEmail.search(checkend) == -1))
		return true;
    else
    	return false;
}
/*메일주소형식검사-끝*/
/*스트링길이계산-시작*/
function lenString(inString) {
	var len=0;
	for(var i=0;i<inString.length;i++) {
		len+=(inString.charCodeAt(i).toString().length>4) ? 2:1;
	}
	return len
}
/*스트링길이계산-끝*/

/*스트링길이만큼만 반환하기*/
function CutStr(inString,intSize) {
	var len=0;
	var strResult = "";
	for (var i=0;i<inString.length;i++) {
		len+=(inString.charCodeAt(i).toString().length>4) ? 2:1;
		if (len <= intSize)
			strResult += inString.substr(i,1);
	}
	return strResult;
}
/**/
function FindPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;//+window.screenLeft;
}

/**/
function FindPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;//+window.screenTop;
}


/*특정 태그의 갯수*/
function CountTag(strContent, strTagName) {
    return strContent.split(strTagName).length-1;
}
/*
if (CountTag(cont,"<table") != CountTag(cont,"</table>")) {
    alert("태그 구조가 안 맞습니다.");
}
*/

/*TV경제노트 재생용*/
var popProgarmSee = {
  writeHtml : function (srcURL) {
    document.write('<embed src="' + srcURL + '" width="540" height="480" type="application/x-mplayer2"></embed>');
  }
}

/*추가정보미입력-시작*/
function showRequestLayer() {
	documentWidth = document.body.offsetWidth;
	documentHeight = document.body.offsetHeight;
	document.getElementById("divRequestAddInfo").style.top = documentHeight/2-147 + document.body.scrollTop;
	document.getElementById("divRequestAddInfo").style.left = documentWidth/2-315;
	document.getElementById("divRequestAddInfo").style.display="block";
}
function closeRequestLayer() {
	document.getElementById("divRequestAddInfo").style.display="none";
}
/*추가정보미입력-끝*/

/*예경모미가입-시작*/
function showRequestJoinClubLayer() {
	documentWidth = document.body.offsetWidth;
	documentHeight = document.body.offsetHeight;
	document.getElementById("divRequestJoinClub").style.top = documentHeight/2-90 + document.body.scrollTop;
	document.getElementById("divRequestJoinClub").style.left = documentWidth/2-220;
	document.getElementById("divRequestJoinClub").style.display="block";
}
function closeRequestJoinClubLayer() {
	document.getElementById("divRequestJoinClub").style.display="none";
}
/*예경모미가입-끝*/

/*메인의학습노트-시작*/
function showInfoEdunoteLayer() {
	documentWidth = document.body.offsetWidth;
	documentHeight = document.body.offsetHeight;
	document.getElementById("divInfoEdunote").style.top = documentHeight/2-210 + document.body.scrollTop;
	document.getElementById("divInfoEdunote").style.left = documentWidth/2-255;
	document.getElementById("divInfoEdunote").style.display="block";
}
function closeInfoEdunoteLayer() {
	document.getElementById("divInfoEdunote").style.display="none";
}
/*메인의학습노트-끝*/

//레이어 감추기
function checkCloseLayer() {
	if (spNameLayerView) {
		if (spNameLayerView == 1) {
			spNameLayerView = 0;
			spNameLayer.innerHTML = spNameLayerOld;
		}
	}
	if (customSelect) {
		if (customSelect == 1) {
			if (checkExceptSelect == 1)
				checkExceptSelect = 0;
			else {
				if (document.getElementById(currentSelect)) {
					document.getElementById(currentSelect).style.display = "none";
					customSelect = 0;
					currentSelect = "";
				}
			}
		}
	}
	if (divPostFuncLayerView) {
		if (divPostFuncLayerView == 1) {
			if (checkExceptPostFuncLayer == 1)
				checkExceptPostFuncLayer = 0;
			else {
				if (document.getElementById("divPostFuncLayer")) {
					document.getElementById("divPostFuncLayer").style.display = "none";
					divPostFuncLayerView = 0;
				}
			}
		}
	}
}
//setTimeout("document.body.onclick = checkCloseLayer;", 200);
function checkBodyClick() {
	document.body.onclick = checkCloseLayer;
}

//copy to clipboard
function copyContent(str) { 
	if (document.selection) { 
		bResult = window.clipboardData.setData("Text",str); 
		if (bResult) alert('클립보드에 저장되었습니다.'); 
	} 
	else { 
		str = encodeforFlash(str); 
		var flashcopier = 'flashcopier'; 
		if(!document.getElementById(flashcopier)) { 
			var divholder = document.createElement('div'); 
			divholder.id = flashcopier; 
			document.body.appendChild(divholder); 
		} 
		document.getElementById(flashcopier).innerHTML = ''; 
		var divinfo = '<embed src="/lib/js/clipboard.swf" FlashVars="clipboard='+str+'" width="1" height="1" type="application/x-shockwave-flash"></embed>'; 
		document.getElementById(flashcopier).innerHTML = divinfo; 
		alert('클립보드에 저장되었습니다.'); 
	} 
}

function encodeforFlash(str) { 
	var SAFECHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
	var HEX = "0123456789ABCDEF"; 
	var plaintext = str; 
	var encoded = ""; 
	for (var i = 0; i < plaintext.length; i++ ) { 
		var ch = plaintext.charAt(i); 
		if (ch == " ") { 
			encoded += "+"; 
		} 
		else if (SAFECHARS.indexOf(ch) != -1) { 
			encoded += ch; 
		} 
		else { 
			var charCode = ch.charCodeAt(0); 
			if (charCode > 255) { 
				encoded += ch; 
			} 
			else { 
				encoded += "%"; 
				encoded += HEX.charAt((charCode >> 4) & 0xF); 
				encoded += HEX.charAt(charCode & 0xF); 
			} 
		} 
	} 
	return encoded; 
}


//twitter 새토큰받기
function requestTwitterToken(blogid, postSeqNo) {
	window.open("/lib/oAuth/request_twitter_token.asp?blogid=" + blogid + "&post_seq_no=" + postSeqNo, "twitter_authorize", "width=780,height=350");
}
//twitter status update
function updateTwitterStatus(blogid, postSeqNo, blogTwitterSeqNo) {
	document.getElementById("twitter_frame").src = "/lib/oAuth/update_twitter_status.asp?blogid=" + blogid + "&post_seq_no=" + postSeqNo + "&blog_twitter_seq_no=" + blogTwitterSeqNo;
}

window.onload = checkBodyClick;
