﻿
var doc = document;
var getEl = doc.getElementById;

// 문자열 체크용
var CH_NUM = "0123456789";
var CH_ENS = "abcdefghijklmnopqrstuvwxyz";
var CH_ENL = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var CH_SPACE = " ";

var CH_EMAIL = "_"+CH_ENS+CH_ENL+CH_NUM;
var CH_STRID = CH_NUM+CH_ENS+CH_ENL;
var CH_SPNO = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
var CH_SPNOTXT = "`~!@#$%^&*()_+|-=\[]{};:',.<>/?";
var CH_NOTXT = CH_SPNOTXT+" ";
var CH_NOTITLE = "+-=\;'<>";

// 정규식 체크요
var CH_HAN = /[^(가-힣)]/;
var CH_ID = /[^(a-zA-Z0-9)]/;
var CH_NICKNAME = /[^(가-힣a-zA-Z0-9._*)]/;

var ERRORMSG = "";

//==============================================================

//------------------------------------------------------------------------------
// AJAX Send
//------------------------------------------------------------------------------
function fcAjaxSend(sUrl, sForm, sName) {
	var sAjx = '';
	var sEle = '';

	sEle = document.getElementById(sName);

	if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
		sAjx = new XMLHttpRequest();
	}
	else {// code for IE6, IE5
		sAjx = new ActiveXObject("Microsoft.XMLHTTP");
	}

	sAjx.onreadystatechange = function() {
		if(sAjx.readyState == 4 && sAjx.status == 200) {

		sEle.innerHTML = sAjx.responseText;
		sEle.style.display = '';
		}
	}

	sAjx.open("POST", sUrl, true);
	sAjx.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
	sAjx.send(sForm);
}

//------------------------------------------------------------------------------
// 기능 : 정규식 체크
//------------------------------------------------------------------------------
function fcRegInput(sPatt, sVal) {
		var sPattern = sPatt;

		if (sPattern.test(sVal)) {
			return false;
		}
		return true;
}


//------------------------------------------------------------------------------
// 기능 : 입력폼 유무 체크(유무, 사이즈S, E)
//------------------------------------------------------------------------------
function fcInputChk(sObj, sNumS, sNumE) {
	if (sObj.value == '') return false;
	if (sNumS > 0 && sNumE > 0) {
		if (sObj.value.length < sNumS || sObj.value.length > sNumE) return false;
	}
	return true;
}

//------------------------------------------------------------------------------
// 기능 : 플래시 테두리 없애기
//------------------------------------------------------------------------------
function getflash(sUrl, sW, sH, sMode) {
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+sW+"' height='"+sH+"'>");
	document.write("<param name='movie' value='"+sUrl+"'>");
	document.write("<param name='quality' value='high'>");
	document.write("<param name='WMODE' value='"+sMode+"'>");
	document.write("<embed src='"+sUrl+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+sW+"' height='"+sH+"'></embed>");
	document.write("</object>");
}

//------------------------------------------------------------------------------
// 기능 : 문자열 체크(값, 비교문자원본)
//------------------------------------------------------------------------------
function fcCheckType(sStr, tStr) {
	var i;
	for(i=0; i<sStr.length; i++) {
		if (tStr.indexOf( sStr.substring(i, i+1)) < 0) {
			return false;
		}
	}
	return true;
}

//------------------------------------------------------------------------------
// 기능 : 문자열 체크(값, 비교문자원본)
//------------------------------------------------------------------------------
function fcCheckTypeBan(sStr, tStr) {
	var i;
	for(i=0; i<sStr.length; i++) {
		if (tStr.indexOf( sStr.substring(i, i+1)) != -1) {
			return false;
		}
	}
	return true;
}

// 메세지 후 포커스
function fcMsgFocus(sObj, sMsg) {
	alert(sMsg);
	sObj.focus();
}

//------------------------------------------------------------------------------
// 기능 :  파일업로드시 직접입력 못하게 체크
//------------------------------------------------------------------------------
function fcFileTextNot() {
    event.returnValue = false;
}

//------------------------------------------------------------------------------
// 기능 : 파일 찾기시에 이미지만 체크
//------------------------------------------------------------------------------
function fcChkImage(obj) {
    var value = obj.value;    
	var src = getFileExtension(value);    
	if (src == "") {
       alert('이미지 파일을 등록하세요!');
       ResetImage(obj);
    return;
    }
    else if ( !((src.toLowerCase() == "gif") || (src.toLowerCase() == "jpg") || (src.toLowerCase() == "jpeg") || (src.toLowerCase() == "png")) ) {
       alert('JPG, GIF, PNG 형식의 이미지 파일만 등록하세요!');
       ResetImage(obj);
    return;
    }
}

// 이미지 확장자 추출 공통함수
function getFileExtension(filePath) {
    var lastIndex = -1;    
	lastIndex = filePath.lastIndexOf('.');    
	var extension = "";
    if ( lastIndex != -1 ) {
        extension = filePath.substring( lastIndex+1, filePath.len );
    }
    else {
        extension = "";
    } 
  return extension;
}

//------------------------------------------------------------------------------
// 기능 : 입력값이 널값인지 체크
//------------------------------------------------------------------------------
function isNull(text)  
{
	if( text == null ) return true;
	var result = text.replace(/(^\s*)|(\s*$)/g, "");
	if( result )  
		return false;
	else
		return true;
}

//------------------------------------------------------------------------------
// 기능 : 숫자만 입력하게 체크 Key
//------------------------------------------------------------------------------
function fcChkNumeric() {
	if(event.keyCode < 48 || event.keyCode > 57) {
		if (event.keycode == 13) return true;
		event.returnValue = false;
	}
}

//------------------------------------------------------------------------------
// 기능 : 숫자(점 포함)만 입력하게 체크 Key
//------------------------------------------------------------------------------
function fcChkNumericDot() {
	if(event.keyCode < 48 || event.keyCode > 57) {
		if (event.keyCode != 46) {
			if (event.keycode == 13) return true;
			event.returnValue = false;
		}
	}
}

//------------------------------------------------------------------------------
// 기능 : 한글만입력하게 Key
//------------------------------------------------------------------------------
function fcChkHan() {
	if (event.keycode == 13) return true;
	event.returnValue = false;
}

//------------------------------------------------------------------------------
// 기능 : 체크박스 전체선택
//------------------------------------------------------------------------------
function fcCheckBoxTotal(sObj, sObjSel) {
	// sObj -> 체크박스 객체(this)
	// sObjSel -> 체크해야할 체크박스 이름
	var ChkBox = doc.getElementsByName(sObjSel);
	if (!ChkBox)
	{
		alert("선택할 항목이 없습니다.");
		return;
	}

	if (ChkBox.length == undefined) {
			ChkBox.checked = sObj.checked
	}
	else {
		for (var i = 0; i < (ChkBox.length); i++) {
			ChkBox[i].checked = sObj.checked;
		}
	}
}

//------------------------------------------------------------------------------
// 기능 : 체크박스의 선택된 값을 구한다.
//------------------------------------------------------------------------------
function fcGetCheckboxValue(oCheckbox)
{
    var lsCheckedValue = "";

		if (oCheckbox.length == undefined) {
			if (oCheckbox.checked) {
				lsCheckedValue = oCheckbox.value;
			}
		}
		else {
			for(var i=0; i<oCheckbox.length; i++) 
				if(oCheckbox[i].checked) lsCheckedValue += oCheckbox[i].value +",";

			lsCheckedValue = lsCheckedValue.substring(0, lsCheckedValue.length-1)
		}
    return lsCheckedValue;
}

//------------------------------------------------------------------------------
// 기능 : 체크박스 체크 카운팅
//------------------------------------------------------------------------------
function fcSelBoxCount(chkTarget) {

	if(chkTarget == null) return 0;

	var size = chkTarget.length;
	if(size == undefined) {
		if(chkTarget.checked == false) return 0;
		return 1;
	}

	var selected_group_count = 0;
	for(var u=0; u<size; u++) {
		if(chkTarget[u].checked == true) selected_group_count++;
	}
	return selected_group_count;

}

//------------------------------------------------------------------------------
// 기능 : 숫자를 문자로 변환 후 3자리마다 콤마(,) 생성하기
//------------------------------------------------------------------------------
function fcNumComma(str) {

   var str = "" + str;
   var objRegExp = new RegExp("(-?[0-9]+)([0-9]{3})");
   while (objRegExp.test(str)) {
      str = str.replace(objRegExp, "$1,$2");
   }

   return str;
}

//------------------------------------------------------------------------------
// 기능 : 문자열에서 숫자만 가져가기
//------------------------------------------------------------------------------
function fcStrConvertNum(str) {

	if ( str.length > 0 ) {
		var temp = "";
		var num  = "";

		for (i=0; i<str.length; i++) {
			 temp = "" + str.substr(i,1);
			 if (temp >= 0 && temp <= 9) {
					num = num + temp;
			 }
		}

		num = "" + parseInt(num,10);//십진수로 변환

		return num;
	}
}

//------------------------------------------------------------------------------
// 기능 : 입력값이 사용자가 정의한 포맷 형식인지 체크
// 자세한 format 형식은 자바스크립트의 'reqular expression' 참고한다
//------------------------------------------------------------------------------
function fcIsValFormat(input, format) {

	if (input.value.search(format) != -1) {
		return true; // 올바른 포멧형식
	}      

	return false;
}

//------------------------------------------------------------------------------
// 기능 : 입력값이 이메일 형식인지 체크한다
// if (!isValidEmail(form.email)){
//    alert("올바른 이메일 주소가 아닙니다");
// }
//------------------------------------------------------------------------------
function fcIsValEmail(input) {
	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;

	return fcIsValFormat(input, format);
}

//------------------------------------------------------------------------------
// 기능 : 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크한다
//------------------------------------------------------------------------------
function fcIsValPhone(input) {
	var format = /^(\d+)-(\d+)-(\d+)$/;

	return fcIsValFormat(input, format);
}

//------------------------------------------------------------------------------
// 기능 : 입력값의 바이트 길이를 리턴한다.
// if (fcByteLength(form.title) > 100){
//    alert("제목은 한글 50자 (영문 100자) 이상 입력할수 없습니다");
// }
//------------------------------------------------------------------------------
function fcByteLength(input){

       var byteLength = 0;

       for (var inx = 0; inx < input.value.charAt(inx); inx++)     {

             var oneChar = escape(input.value.charAt(inx));

             if (oneChar.length == 1){

                    byteLength++;

             }else if (oneChar.indexOf("%u") != -1){

                    byteLength += 2;

             }else if (oneChar.indexOf("%") != -1){

                    byteLength += oneChar.length / 3;
             }
       }

       return byteLength;
}

//------------------------------------------------------------------------------
// 기능 : 주민등록번호 체크 로직
//------------------------------------------------------------------------------
function fcSsnCheck(str_f_num,str_l_num) {  

	var i3=0

	for (var i=0;i<str_f_num.length;i++) {
		var ch1 = str_f_num.substring(i,i+1);
		if (ch1<'0' || ch1>'9') i3=i3+1;
	}

	if ((str_f_num == '') || ( i3 != 0 )) return false;

	var i4=0;

	for (var i=0;i<str_l_num.length;i++) {
		var ch1 = str_l_num.substring(i,i+1);
		if (ch1<'0' || ch1>'9') i4=i4+1;
	}

	if ((str_l_num == '') || ( i4 != 0 )) return false;
	if(str_f_num.substring(0,1) < 4) return false;
	if(str_l_num.substring(0,1) > 2) return false;
	if((str_f_num.length > 7) || (str_l_num.length > 8)) return false;
	if ((str_f_num == '72') || ( str_l_num == '18'))  return false;	

	var f1=str_f_num.substring(0,1)
	var f2=str_f_num.substring(1,2)
	var f3=str_f_num.substring(2,3)
	var f4=str_f_num.substring(3,4)
	var f5=str_f_num.substring(4,5)
	var f6=str_f_num.substring(5,6)
	var hap=f1*2+f2*3+f3*4+f4*5+f5*6+f6*7

	var l1=str_l_num.substring(0,1)
	var l2=str_l_num.substring(1,2)
	var l3=str_l_num.substring(2,3)
	var l4=str_l_num.substring(3,4)
	var l5=str_l_num.substring(4,5)
	var l6=str_l_num.substring(5,6)
	var l7=str_l_num.substring(6,7)
	hap=hap+l1*8+l2*9+l3*2+l4*3+l5*4+l6*5

	hap=hap%11
	hap=11-hap
	hap=hap%10

	if (hap != l7) return false;
	return true; 
}

//------------------------------------------------------------------------------
// 리턴 : 팝업 창
//------------------------------------------------------------------------------
function fcPopupWin(sUrl, sTitle, iWidth, iHeight, iLeft, iTop, sScrollYN)
{
	var lsWinOption;
	var sSYN;
	var iLeft, iTop;
	//iLeft = (screen.width - iLeft)/2;
	//iTop = (screen.height - iTop)/2;

	sSYN = sScrollYN;
	switch (sScrollYN) {
	case 'Y' : sSYN = 'yes'; break;
	case 'N' : sSYN = 'no'; break;
	default : sSYN = 'auto'; break;
	}

	sTitle = sTitle.replace(" ", "_");

	lsWinOption = "width=" + iWidth + ", height=" + iHeight;

	lsWinOption += " toolbar=no, directories=no, status=no, menubar=no, location=no, resizable=no, left=" + iLeft + ", top=" + iTop + ", scrollbars="+sSYN;
	var loNewWin = window.open(sUrl, sTitle, lsWinOption);

	loNewWin.focus();
}

//------------------------------------------------------------------------------
// 리턴 : 팝업 창 중앙
//------------------------------------------------------------------------------
function fcPopupWinCT(sUrl, sTitle, iWidth, iHeight, sScrollYN)
{
	var lsWinOption;
	var sSYN;
	//var iLeft, iTop;
	iLeft = (screen.width - iWidth)/2;
	iTop = (screen.height - iHeight)/2;

	sSYN = sScrollYN;
	switch (sScrollYN) {
	case 'Y' : sSYN = 'yes'; break;
	case 'N' : sSYN = 'no'; break;
	default : sSYN = 'auto'; break;
	}

	sTitle = sTitle.replace(" ", "_");

	lsWinOption = "width=" + iWidth + ", height=" + iHeight;

	lsWinOption += " toolbar=no, directories=no, status=no, menubar=no, location=no, resizable=no, left=" + iLeft + ", top=" + iTop + ", scrollbars="+sSYN;
	var loNewWin = window.open(sUrl, sTitle, lsWinOption);

	loNewWin.focus();
}

//------------------------------------------------------------------------------
// 기능 : 링크시 점선없애는 스크립트
//------------------------------------------------------------------------------
function fcBluring() { 
	if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") doc.body.focus(); 
}

doc.onfocusin = fcBluring;


//------------------------------------------------------------------------------
// 기능 : Input Focus 시 텍스트 삭제
//------------------------------------------------------------------------------
function fcKeyFocus(sObj) { 
	sObj.value = '';
}

//------------------------------------------------------------------------------
// 기능 : Input Blur 시 텍스트 원위치
//------------------------------------------------------------------------------
function fcKeyBlur(sObj, sText) { 
	if (sObj.value == '') {
		sObj.value = sText;
	}
}

//------------------------------------------------------------------------------
// LightBox Image Visible
//------------------------------------------------------------------------------
function fcLightBoxImgOn(sImg) {
	var objEl = document.documentElement
	var objBody = document.body;

	var pointX = document.all ? (!objEl.scrollTop ? objBody.scrollTop : objEl.scrollTop) : (window.pageYOffset ? window.pageYOffset : window.scrollY);

	document.getElementById("boxImg").src = sImg;

	var pointY = (parseInt(objBody.clientWidth) - parseInt(document.getElementById("boxImg").width)) /2;

	document.getElementById('divLightImg').style.visibility = "visible";
	document.getElementById('divLightImg').style.height = document.getElementById('wrapper').scrollHeight+'px';
	document.getElementById('divLightTg').style.left = pointY+'px';
	document.getElementById('divLightTg').style.top = pointX+80+'px';
	window.scroll(0, pointX);
}

//------------------------------------------------------------------------------
// LightBox Image Hidden
//------------------------------------------------------------------------------
function fcLightBoxImgOff() {
	document.getElementById('divLightImg').style.visibility = "hidden";
}

//------------------------------------------------------------------------------
// 이벤트 댓글 등록
//------------------------------------------------------------------------------
function FnEventSave()
{
	if(document.event.BC_TEXT.value=="" || document.event.BC_TEXT.value.length>600)
	{
	 alert("내용을 입력해 주십시오.(600자 이내)");
	 document.event.BC_TEXT.focus();
	 return;
	}

	document.event.submit();
}

//------------------------------------------------------------------------------
// 이벤트 댓글 삭제
//------------------------------------------------------------------------------
function FnEventDel(SEQ, ME_SEQ)
{
	ans = confirm("정말로 삭제하시겠습니까?")
	if (ans == true){
		location.href="event_view_comment.asp?mode=D&SEQ="+SEQ+"&ME_SEQ="+ME_SEQ;
	}
	else{
		return;
	}
}

//------------------------------------------------------------------------------
// 관리자용 이벤트 댓글 삭제
//------------------------------------------------------------------------------
function FnAdminEventDel(SEQ, ME_SEQ)
{
	ans = confirm("정말로 삭제하시겠습니까?")
	if (ans == true){
		location.href="main_event_comment_proc.asp?mode=D&SEQ="+SEQ+"&ME_SEQ="+ME_SEQ+"&ME_KIND=E1";
	}
	else{
		return;
	}
}

//------------------------------------------------------------------------------
// 설문조사 댓글 등록
//------------------------------------------------------------------------------
function FnPollSave()
{
	if(document.poll.BC_TEXT.value=="" || document.poll.BC_TEXT.value.length>600)
	{
	 alert("내용을 입력해 주십시오.(600자 이내)");
	 document.poll.BC_TEXT.focus();
	 return;
	}

	document.poll.submit();
}

//------------------------------------------------------------------------------
// 설문조사 댓글 삭제
//------------------------------------------------------------------------------
function FnPollDel(SEQ, PO_SEQ)
{
	ans = confirm("정말로 삭제하시겠습니까?")
	if (ans == true){
		location.href="poll_comment.asp?mode=D&SEQ="+SEQ+"&PO_SEQ="+PO_SEQ;
	}
	else{
		return;
	}
}

//------------------------------------------------------------------------------
// 이용약관 변경 후 재동의
//------------------------------------------------------------------------------
function FnAgree()
{
	str_url = "../popup/re_agree.asp";
	window.open(str_url, 'RE_AGREE', 'width=718,height=600,left=200,top=0,scrollbars=no,status=no,resizable=no,menubar=no');
}

//------------------------------------------------------------------------------
// 게임시작버튼
//------------------------------------------------------------------------------
function fcGameLauncher() {

    //alert("게임설치후 바탕화면에 RealSoccer를 직접실행해 주십시오.");
    //location.href = "ActiveX/gamelauncher.asp";
    str_url = "../ActiveX/gamelauncher.asp";
    window.open(str_url, 'RealSoccerLauncher', 'width=450,height=250,left=50,top=0,scrollbars=no,status=no,resizable=no,menubar=no');
    
    //alert("회원정보: "&mmID&"를 직접실행해 주십시오.");
    //str_url = "../ActiveX/gamelauncher.asp";
    //window.open(str_url, 'RealSoccerLauncher', 'width=350,height=150,left=50,top=0,scrollbars=no,status=no,resizable=no,menubar=no');
    //GameLoader.GameLoad("abc", "123", "", "", "");
    //alert("게임설치후 바탕화면에 RealSoccer를 직접실행해 주십시오.");
}

function fcLogInFirst() {
    alert("먼저 홈페이지에 로그인해 주십시오.");
}

function fcRunGameLauncher(CODE, PCODE, USERID) {

    //alert("게임설치후 바탕화면에 RealSoccer를 직접실행해 주십시오.");
    if (CODE == '') {
        alert("먼저 홈페이지에 로그인해 주십시오");
    }
    else {
        //alert("회원정보: " + MM_ID + "/" + MM_PW);
        GameLoader.GameLoad(CODE, PCODE, USERID, "", "");
				window.close();
    }
}

