﻿	function chk_byte(chr){
		var c = escape(chr);
		if(c.length == 1) return 1;
		else if(c.indexOf("%u") != -1) return 2;
		else if(c.indexOf("%") != -1) return c.length/3;
	}

	function cut_str_byte(str , limit_length){
		var byte_size = 0;
		for(var i=0; i<str.length; i++){
			byte_size += chk_byte(str.charAt(i));
			if(byte_size > limit_length) break;
		}
		return str.substr(0 , i);
	}

	function byte_length(str){
		var resultSize = 0;
		if (str == null) return 0;
		for(var i=0; i<str.length; i++) resultSize += chk_byte(str.charAt(i));
		return resultSize;
	}

	function chk_byte_length(obj , limit_length){	
		if(byte_length(obj.value) > limit_length){
			alert('글자수 제한을 초과하였습니다.');
			obj.value = cut_str_byte(obj.value , limit_length);
			return;
		}
	}

	function trim(str){
		str = str.replace(/(^\s*)|(\s*$)/g, "");
		return str;
	}

	var common_req;
	function getXMLHttpRequest() {
		if (window.ActiveXObject) {
			try {
				return new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e1) { return null; }
			}
		} else if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else {
			return null;
		}
	}

	function loginbox(val){ // login layerpopup showhide stuff
		if( val == 'show'){
			document.getElementById('layer_login').style.display = "block";
		}else{
			document.getElementById('layer_login').style.display = "none";
		}
	}

	function commentbox(val){ // commentbox layerpopup showhide stuff
		if( val == 'show'){
			pop_float('data/pop_comment.asp',900,600);
			comment_list();
		}else{
			isfirst = true;
			close_float();
		}
	}

	function comment_list(){
		if(document.getElementById("comment_list")){
			proc_comment('list',1);
		}
		else{
			setTimeout("comment_list()", 100);
		}
	}

	function proc_comment(flag,page,cmt_seq){
		brd_code = "001";
		brd_seq = "315802";
		
		var url = "data/cmt_body.asp?flag="+flag+"&brd_code="+brd_code+"&brd_seq="+brd_seq+"&page="+page;
		if(flag == "insert"){
			if(!getCookie("CID")){
				alert('로그인 해주세요');
				login();
				return;
			}
			var obj = document.getElementById('comment');
			if(trim(obj.value) == '' || isfirst){
				alert('응원 메시지를 입력해주세요');
				obj.focus();
				return;
			}
			url = url + "&comment=" + encodeURIComponent(obj.value);
		}
		else if(flag == "delete"){
			if(!confirm('삭제하시겠습니까?')) return;
			url = url + "&cmt_seq=" + cmt_seq;
		}
		common_req = getXMLHttpRequest();
		common_req.onreadystatechange = CommentResult;
		common_req.open("GET", url, true);
		common_req.send(null);
	}

	function CommentResult(){
		if(common_req.readyState == 4) {
			if(common_req.status == 200){           
				var xmlDoc = common_req.responseText;
				if(document.getElementById("comment_list")) document.getElementById("comment_list").innerHTML = xmlDoc;
				if(document.getElementById("total_cnt_txt")) document.getElementById("total_cnt_txt").innerHTML = "<b style='color:ffd72f;'>" + document.getElementById("new_cnt").value + "</b> / " + document.getElementById("total_cnt").value;
				
				var banYN = 'N';
				if(document.getElementById("banYN")) if(document.getElementById('banYN').value == 'Y') banYN = 'Y';
				if(banYN == 'Y') alert('금칙어가 포함되어 있습니다.');
				else if(!isfirst) document.getElementById('comment').value = '';

				if(document.getElementById("delayYN")){
					if(banYN == 'N' && document.getElementById("delayYN").value == 'Y') alert('30초 후에 재작성이 가능합니다');
				}
			} 
			else{
				alert("잠시후 다시 시도해주세요.");
				commentbox('hide');
			}
		}
	}
	
	var isfirst = true;
	function comment_focus(){
		if(!getCookie("CID")){
			alert('로그인 해주세요');
			login();
			return;
		}
		if(isfirst){
			document.getElementById('comment').value = '';
			isfirst = false;
		}
	}

	function logout(){
		var url = "data/logout.asp";

		common_req = getXMLHttpRequest();
		common_req.onreadystatechange = LogoutResult;
		common_req.open("GET", url, true);
		common_req.send(null);
	}

	function LogoutResult(){
		if(common_req.readyState == 4) {
			if(common_req.status == 200){
				callExternalInterface('logout');
				alert("로그아웃 하였습니다.");
			} 
			else{
				alert("잠시후 다시 시도해주세요.");
			}
		}
	}

	function login(){
		pop_float('data/pop_login.asp',450,220);
	}

	function getCookie( cookieName ){
		var search = cookieName + "=";
		var cookie = document.cookie;

		// 현재 쿠키가 존재할 경우
		if( cookie.length > 0 ){
			// 해당 쿠키명이 존재하는지 검색한 후 존재하면 위치를 리턴.
			startIndex = cookie.indexOf( cookieName );

			// 만약 존재한다면
			if( startIndex != -1 ){
				// 값을 얻어내기 위해 시작 인덱스 조절
				startIndex += cookieName.length;

				// 값을 얻어내기 위해 종료 인덱스 추출
				endIndex = cookie.indexOf( ";", startIndex );

				// 만약 종료 인덱스를 못찾게 되면 쿠키 전체길이로 설정
				if( endIndex == -1) endIndex = cookie.length;

				// 쿠키값을 추출하여 리턴
				return unescape( cookie.substring( startIndex + 1, endIndex ) );
			}
			else{
			// 쿠키 내에 해당 쿠키가 존재하지 않을 경우
			return false;
			}
		}
		else{
			// 쿠키 자체가 없을 경우
			return false;
		}
	}

	function callExternalInterface(flag) { // login status toggle
		if(getMovieName("heartbreaker") && getMovieName("heartbreaker").loginstatus){
			getMovieName("heartbreaker").loginstatus(flag); 
		}
		else{
			setTimeout("callExternalInterface('"+flag+"')", 100);
		}
	}
	function getMovieName(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[movieName];
		}
		else {
			return document[movieName];
		}
	}

	function chk_length(cnt){
		var obj = document.getElementById('comment');
		if(obj.value.length > cnt){
			obj.value = obj.value.substr(0,cnt);
			alert('최대 글자수를 초과하였습니다\n'+cnt+'자 이내로 입력해 주세요');
			return false;
		}
	}

	if(getCookie("CID")) callExternalInterface('login');








	function proc_board_cmt(flag,page,ref_idx,cmt_idx){
		var url = "/gdragon/data/board_cmt.asp?flag="+flag+"&ref_idx="+ref_idx+"&page="+page;
		if(flag == "insert"){
			if(!getCookie("CID")){
				alert('로그인 해주세요');
				login();
				return;
			}
			var obj = document.getElementById('comment');
			if(trim(obj.value) == '' || isfirst){
				alert('응원 메시지를 입력해주세요');
				obj.focus();
				return;
			}
			url = url + "&comment=" + encodeURIComponent(obj.value);
		}
		else if(flag == "delete"){
			if(!confirm('삭제하시겠습니까?')) return;
			url = url + "&cmt_idx=" + cmt_idx;
		}
		common_req = getXMLHttpRequest();
		common_req.onreadystatechange = BoardCmtResult;
		common_req.open("GET", url, true);
		common_req.send(null);
	}

	function BoardCmtResult(){
		if(common_req.readyState == 4) {
			if(common_req.status == 200){           
				var xmlDoc = common_req.responseText;
				if(document.getElementById("comment_area")) document.getElementById("comment_area").innerHTML = xmlDoc;
				if(document.getElementById("cmt_cnt_txt1")) document.getElementById("cmt_cnt_txt1").innerHTML = document.getElementById("total_cnt").value;
				if(document.getElementById("cmt_cnt_txt2")) document.getElementById("cmt_cnt_txt2").innerHTML = document.getElementById("total_cnt").value;
				var banYN = 'N';
				if(document.getElementById("banYN")) if(document.getElementById('banYN').value == 'Y') banYN = 'Y';
				if(banYN == 'Y') alert('금칙어가 포함되어 있습니다.');
				else if(!isfirst) document.getElementById('comment').value = '';

				if(document.getElementById("delayYN")){
					if(banYN == 'N' && document.getElementById("delayYN").value == 'Y') alert('30초 후에 재작성이 가능합니다');
				}
			} 
			else{
				alert(common_req.responseText);
				alert("잠시후 다시 시도해주세요.");
				commentbox('hide');
			}
		}
	}
	
	function pop_notice(){
		pop_float('/gdragon/data/pop_notice.asp',902,575);
	}

	function pop_event(){
		pop_float('/gdragon/data/pop_board.asp',902,575);
	}


