//document.domain = "talkingclub.co.kr";

function OpenActionDic()
{
	window.open('/TalkTalk/sayhi/action/index.asp', 'hwsample', 'width=716,height=670,scrollbars=no,toolbar=no,left=0,top=0');
}

function NoService()
{
	alert("서비스 준비중입니다.");
}

function OpenIntroPopup(popType){
	if ( popType ==1){
		window.open('/Share/HomeWorkSample/phonics/phonics1_unit1.asp', 'hwsample', 'width=1024,height=780,scrollbars=no,toolbar=no,left=0,top=0');
	}else if(popType ==2){
		window.open('/Share/HomeWorkSample/intro/introA_book2_unit1.asp', 'hwsample', 'width=1024,height=780,scrollbars=no,toolbar=no,left=0,top=0');
	}
}

function FullScreenWinOpen(Url, popName) {
	var popOpen = window.open(Url,popName,"toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width="+screen.availWidth+",height="+screen.availHeight);

	if ( popOpen == null )
	{
		alert("현재 팝업창이 허용되지 않았습니다. 팝업을 보실려면 허용해주세요.");
	}
}

//아이프레임 리사이징
function resizeIframe() {
	if (parseInt(document.body.scrollHeight) == 0) {
		setTimeout("resizeIframe()", 500);
		return;
	}
	try{
		if (parent != null){
			var oFrame = document.createElement("iframe");
			oFrame.width = "0";
			oFrame.height = "0";
			oFrame.frameBorder = "0";
			oFrame.id = "aFrameIDx";
			oFrame.name = "aFrameIDx";
			oFrame.src = '/System/iframe_set.html?w=&h=' + parseInt(document.body.scrollHeight);
			document.body.appendChild(oFrame);
		}
	}catch(x){}
}

// 공백 제거 처리
function Trim(obj1){
	obj1 = obj1.replace(/^(\s+)|(\s+)$/g, "")
	return obj1;
}

// input box 문자 Null 체크 
function validFieldText(objInput, msgStr){
	if(Trim(objInput.value) == "") {
		alert(msgStr);
		objInput.focus();
		return false;
	}

	return true;
}

// 웹에디터 문자 Null 채크
function validFieldWebEdit(objInput, msgStr){
	if(objInput == false) {
		alert(msgStr);
		return false;
	}

	return true;
}

// 삭제 확인
function deleteProcChk(msgStr) {
	if(confirm(msgStr)){
		return true;
	}
	else {
		return false;
	}
}

//Pass length (above 4~10 letters), alphabet number checking
function jsLenWodChkPass(field, name)
{
	var eng=/^([a-zA-Z0-9]{6,12})$/

	if(eng.test(field.value)==false){
		alert(name + "에는 6~12자(영문, 숫자)까지만 입력할 수 있습니다.");
		field.focus();
		return false;
	}

	return true;
}

//Pass length (above 4~10 letters), alphabet number checking
function jsBranchIDCheck(field, name)
{
	var eng=/^([a-zA-Z0-9]{4,12})$/

	if(eng.test(field.value)==false){
		alert(name + "에는 4~12자(영문, 숫자)까지만 입력할 수 있습니다.");
		field.focus();
		return false;
	}

	return true;
}


// 숫자만 입력 가능 체크 
function CheckNum(objNum,msgStr) {
	if(Trim(objNum.value) != ""){
		var str = objNum.value;
		var machedStr = str.match(/[0123456789]+/);
		
		if ( machedStr == str){
			return true;
		} else {
			alert(msgStr);
			objNum.value = "";
			objNum.focus();
			return false;
		}
	}
	
	return true;
}

// 영문만 입력 가능 체크 이메일 체크
function CheckString(objString,msgStr) {
	if(Trim(objString.value) != ""){
		var str = objString.value;
		var machedStr = str.match(/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.@_]+/);
		
		if ( machedStr == str){
			return true;
		} else {
			alert(msgStr);
			objString.value = "";
			objString.focus();
			return false;
		}
	}
	
	return true;
}

// 영문만 입력 가능 체크
function CheckStringEng(objString,msgStr) {
	if(Trim(objString.value) != ""){
		var str = objString.value;
		var machedStr = str.match(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]+/);
		
		if ( machedStr == str){
			return true;
		} else {
			alert(msgStr);
			objString.value = "";
			objString.focus();
			return false;
		}
	}
	
	return true;
}







//===================================================
function AlphabetNumCheck(objString,msgStr){		// obj1(string)에 영문과 숫자만 있으면 -1 리턴
	//return obj1.search(/[^\w]+/)
	
	if(Trim(objString.value) != ""){
		var str = objString.value;
		if(str.search(/[^\w]+/) > -1){
			//그외
			alert(msgStr);
			objString.value = "";
			objString.focus();
			return false;
		}else{
			//영문 숫자
			return true;
		}
	}
}

//===================================================
function NumCheck(obj1) {				// obj1에 숫자일때만 -1 리턴
	return obj1.search(/[\D]+/)
}


// 윈도우 오픈 스크롤 없음
function WindowOpen(Url, popName, popwidth, popheight){
    var valReturn;
	var height = screen.height;
	var width = screen.width;
	var left = width / 2 - (popwidth/ 2);
	var top = height / 2 - (popheight / 2);
	popheight = popheight + 27;
	valReturn = window.open(Url, popName, "width="+popwidth+",height="+popheight+",scrollbars=no,toolbar=no,left="+left+",top="+top+"")
	return valReturn
}

// 윈도우 오픈 스크롤 있음
function WindowOpen2(Url, popName, popwidth, popheight) {
    var valReturn;
	var height = screen.height;
	var width = screen.width;
	//var left = width / 2 - (popwidth/ 2);
	//var top = height / 2 - (popheight / 2);
	var left = (window.screen.availWidth-popwidth)/2;
	var top = (window.screen.availHeight-popheight)/2;
	popheight = popheight + 27;
	valReturn = window.open(Url, popName, "width=" + popwidth + ",height=" + popheight + ",scrollbars=yes,toolbar=no,left=" + left + ",top=" + top + "")
	return valReturn;
}

// 윈도우 오픈 스크롤 없음
function WindowOpen3(Url, popName, popwidth, popheight){
	var valReturn 
	var height = screen.height;
	var width = screen.width;
	var left = width / 2 - (popwidth/ 2);
	var top = height / 2 - (popheight / 2);
	popheight = popheight + 27;
	window.open(Url, popName, "width="+popwidth+",height="+popheight+",scrollbars=no,toolbar=no,left="+left+",top="+top+"")
}


//==============================================================

function checkLength(obj, min, max, nullable) {
        if (!nullable) {
            len = obj.value.length;

            if (len < min || len > max)
                return false;
        }
        return true;
}


	//이메일 형식 체크
	function mailVal_ck(o, val)
	{
		if(val.indexOf("@") +""=="-1" ||
			val.indexOf(".") +""=="-1")
		{
			o.focus();
			return false;
		}else{
			return true;
		}
	}
//============================================================



 
// 쿠키값 가져오기
function getCookie(key)
{
  var cook = document.cookie + ";";
  var idx =  cook.indexOf(key, 0);
  var val = "";
 
  if(idx != -1)
  {
    cook = cook.substring(idx, cook.length);
    begin = cook.indexOf("=", 0) + 1;
    end = cook.indexOf(";", begin);
    val = unescape( cook.substring(begin, end) );
  }
 
  return val;
}
 
// 쿠키값 설정
function setCookie(name, value, expiredays)
{
  var today = new Date();
  today.setDate( today.getDate() + expiredays );
  document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";"
}
 
// 진단테스트용 쿠키값 설정
function setJindanCookie(name, value, expiredays)
{
  var today = new Date();
  today.setDate( today.getDate() + expiredays );
  //document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";"
  document.cookie = name + "=" + escape( value ) + "; path=/; domain=talkingclub.co.kr;"
}


//달력 호출하기

function getCalOpen(objName, sWidth,sHeight,addTime)
{	
	frmWrite.fromyear.value = getFromYear() - 10;
	frmWrite.selId.value = objName;
	frmWrite.setTime.value = addTime;
	WindowOpen('/share/calender.html',objName,sWidth,sHeight);
}

function getFromYear() {  
  var curDate = new Date();         
  var curYear = curDate.getYear();  //생성된 객체로부터 연도를 얻음
  return curYear ;
}

//미리보기 팝업 띄우기
function PreViewWinOpen(menucode) {
	alert("메뉴코드:"+ menucode +" 는 프론트 코딩 완료 후 적용 하겠습니다.")	;
}

//미리보기 완성된 팝업 띄우기(김정옥 : 프론트코딩완료된 페이지만)
function PreViewPop(title,Contents,PrivewURL) {
		var f = document.frmSub;
		f.title.value = title;
		var Contents = editObj.document.body.innerHTML;
		f.Contents.value = Contents;
		f.action="http://www.talkingclub.co.kr/preview/"+PrivewURL;
		f.target = "_blank";
		f.submit();
}

//-----------------------------------------------------------
//Ajax 타입의 시도, 구군 Select 설정.
//-----------------------------------------------------------
function loadAjaxXML(url, pars, fncSuccess, fncFailure){
	var myAjax = new Ajax.Request(
					url, 
					{
							method: 'get',
							parameters: pars,
							onSuccess: fncSuccess,
							onFailure: fncFailure
					});
}
function falseLoad(){
	alert('JSON Load Error');
}
//-----------------------------------------------------------
var sidoName, gugunName, branchName
function setSidoName(name){sidoName = name;}
function setGugunName(name){gugunName = name;}
function setBranchName(name){branchName = name;}

//-----------------------------------------------------------
//시도 가져와 세팅하기 Ajax 콜백함수.
function setSido_CallBack(originalRequest) {
    var oJSONSido = eval(originalRequest);
    var objSelect = document.getElementById(sidoName);

    delOptions(objSelect)	            //초기화
    setOption(objSelect, "=시도=", "")	//기본값
    //Options 설정
    for (var i = 0; i < oJSONSido.length; i++)
	{
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONSido[i].name;
		oOption.value = oJSONSido[i].name;
		objSelect.add(oOption);	
    }
    
	if(selectedSido !=""){
	    selectedOption(objSelect, selectedSido);
	    setGugun(objSelect)
	}	 
}

//구군 가져와 세팅하기 Ajax 콜백함수.
function setGugun_CallBack(originalRequest){
    var oJSONGugun = eval(originalRequest);
    var objSelect = document.getElementById(gugunName);

    delOptions(objSelect)				//초기화
    setOption(objSelect, "=구군=", "")	//기본값
    //Options 설정    
	for(var i=0 ; i<oJSONGugun.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONGugun[i].name;
		oOption.value = oJSONGugun[i].name;
		objSelect.add(oOption);
	 }
	 
	 if (selectedGugun != "") {	
	    selectedOption(objSelect, selectedGugun);
	    if(document.getElementById(branchName) != null)
	        setBranch();
		//try{setBranch()	} catch (e) {alert();}
	}
}

function setBranch_CallBack(originalRequest){
	var oJSONBranch = eval(originalRequest);
    var objSelect = document.getElementById(branchName);

    delOptions(objSelect)				//초기화
    setOption(objSelect, "=== 분원 목록 ===", "")	//기본값
    
	for(var i=0 ; i<oJSONBranch.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONBranch[i].name;
		oOption.value= oJSONBranch[i].pkid;
		objSelect.add(oOption);
	 }
	 if(selectedBranch !=""){
	      selectedOption(objSelect, selectedBranch)
	 }
	
}
//시도JSON 가져오기 Ajax
function setSido() {
    j_ajax("/System/Member/AjaxBackSido.ashx", "", "setSido_CallBack");
}
//구군JSON 가져오기 Ajax
function setGugun(oSido) {
    var sido = oSido.options[oSido.options.selectedIndex].value;
	if(sido != ""){
	    sido = escape(sido);
	    j_ajax("/System/Member/AjaxBackGugun.ashx", 'sido=' + sido, "setGugun_CallBack");
	}else{
		delOptions($(gugunName))
		setOption($(gugunName), "=구군=", "")
	}
}

function setBranch() {
    var oSido = document.getElementById(sidoName);
	var oGugun = document.getElementById(gugunName);
	var sido = oSido.options[oSido.options.selectedIndex].value;
	var gugun = oGugun.options[oGugun.options.selectedIndex].value;
	
	if(sido != "" && gugun != ""){
		sido = escape(sido);
		gugun = escape(gugun);
		j_ajax("/System/Member/AjaxBackBranch.ashx", 'sido=' + sido + '&gugun=' + gugun, "setBranch_CallBack");
	}else{
		delOptions($(branchName));
		setOption($(branchName), "=== 분원 목록 ===", "");
	}
}
//-----------------------------------------------------------
//Select에 Options 추가
function setOption(oSelect, text, value){
	try{
		var oOption = document.createElement("OPTION");
		 oOption.text= text;
		 oOption.value= value;
		 oSelect.add(oOption)		 
	}catch(e){}
}
//Select 의 모든 Option 제거
function delOptions(oSelect){
    //현재 Options를 삭제	
	try{
		for(var i=oSelect.options.length-1;i>=0;i--){
			oSelect.removeChild(oSelect.options[i]);
		}
	}catch(e){}
}
//Select 선택하기.
function selectedOption(oSelect, value){
	try{
		var oOptions = oSelect.options
		for(var i =0 ; i< oOptions.length ; i++){
		   if(Trim(oOptions(i).value) == value){oSelect.selectedIndex = i;}
		}
	}catch(e){}
}

var selectedSido, selectedGugun, selectedBranch
//-----------------------------------------------------------
//코스가져오기
//-----------------------------------------------------------
var EduPlanYearName, CourseName, PhaseName, SessionName, UnitName
function setEduPlanYearName(name){EduPlanYearName = name;}
function setCourseName(name){CourseName = name;}
function setPhaseName(name){PhaseName = name;}
function setSessionName(name){SessionName = name;}
function setUnitName(name){UnitName = name;}


//-----------------------------------------------------------
//코스가져오기
function setCourse(){
	//ConstCourseFinish
	var oYear = $(EduPlanYearName);
	var Year = oYear.options[oYear.options.selectedIndex].value	
	if(Year != ""){
		
		loadAjaxXML("/Share/Ajax/ajaxBackEduPlan.asp", 'type=1&pkid=&year=' + Year + '&finish=' + ConstCourseFinish, setCourse_CallBack, falseLoad);

	}else{
		resetEduPlanObject(4)
	}
}

function setCourse_CallBack(originalRequest){
	var value = originalRequest.responseText;

	var oJSONSido = eval(value);
	var oCourse = $(CourseName);
	delOptions(oCourse)					//초기화
	setOption(oCourse, "코스선택", "")	//기본값
	
	//Options 설정
	for(var i=0 ; i<oJSONSido.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONSido[i].name;
		oOption.value= oJSONSido[i].pkid;
		oCourse.add(oOption);
	 }
	 
	 
	 if(selectedCourse  !=""){
	 	selectedOption($(oCourse), selectedCourse );
		setPhase();
		selectedCourse = "";
	 }
	 resetEduPlanObject(3)
}

//단계가져오기
function setPhase(){
	//ConstCourseFinish
	var oCourse = $(CourseName);
	var CoursePkid = oCourse.options[oCourse.options.selectedIndex].value	
	if(CoursePkid != ""){
		loadAjaxXML("/Share/Ajax/ajaxBackEduPlan.asp", 'type=2&pkid=' + CoursePkid  + '&finish=' + ConstCourseFinish, setPhase_CallBack, falseLoad);
	}else{
		 resetEduPlanObject(3)
	}
}

function setPhase_CallBack(originalRequest){
	var value = originalRequest.responseText;
	var oJSONSido = eval(value);
	var oPhase = $(PhaseName);
	delOptions(oPhase)					//초기화
	setOption(oPhase, "단계선택", "")	//기본값
	
	//Options 설정
	for(var i=0 ; i<oJSONSido.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONSido[i].name;
		oOption.value= oJSONSido[i].pkid;
		oPhase.add(oOption);
	 }
	 
	 if(selectedPhase   !=""){
	 	selectedOption($(oPhase), selectedPhase  );
		setSession();
		selectedPhase = "";
	 }
	 resetEduPlanObject(2)
	
}

//과정가져오기
function setSession(){
	var oPhase = $(PhaseName);
	var PhasePkid = oPhase.options[oPhase.options.selectedIndex].value	
	if(PhasePkid!=""){
		loadAjaxXML("/Share/Ajax/ajaxBackEduPlan.asp", 'type=3&pkid=' + PhasePkid + '&finish=' + ConstCourseFinish , setSession_CallBack, falseLoad);
	}else{
		 resetEduPlanObject(2)
	}
}

function setSession_CallBack(originalRequest){
	var value = originalRequest.responseText;
	var oJSONSido = eval(value);
	var oSession = $(SessionName);
	delOptions(oSession)					//초기화
	setOption(oSession, "과정선택", "")	//기본값
	
	//Options 설정
	for(var i=0 ; i<oJSONSido.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONSido[i].name;
		oOption.value= oJSONSido[i].pkid;
		oSession.add(oOption);
	 }
	 
	 if(selectedSession    !=""){
	 	selectedOption($(oSession), selectedSession   );
		setUnit();
		selectedSession = "";
	 }
	  resetEduPlanObject(1)
}

//유닛가져오기
function setUnit(){
	var oSession = $(SessionName);
	var SessionPkid = oSession.options[oSession.options.selectedIndex].value	
	if(SessionPkid!="") {
		loadAjaxXML("/Share/Ajax/ajaxBackEduPlan.asp", 'type=4&pkid=' + SessionPkid + '&finish=' + ConstCourseFinish , setUnit_CallBack, falseLoad);
	}else{
		resetEduPlanObject(1)
	}
}

function setUnit_CallBack(originalRequest){
	var value = originalRequest.responseText;
	
	var oJSONSido = eval(value);
	
	var oUnit = $(UnitName);
	delOptions(oUnit)					//초기화
	setOption(oUnit, "단원선택", "")	//기본값
	
	//Options 설정

	for(var i=0 ; i<oJSONSido.length ; i++)
	 {
		var oOption = document.createElement("OPTION");
		oOption.text= oJSONSido[i].name;
		oOption.value= oJSONSido[i].pkid;

		oUnit.add(oOption);
	 }
	 
	 if(selectedUnit     !=""){
	 	selectedOption($(oUnit), selectedUnit    );
		selectedUnit = "";
	 }
}

function resetEduPlanObject(depth){
//	try{setBranch()	} catch (e) {alert();}
	//try{
		var oUnit = $(UnitName);
		delOptions(oUnit)					//초기화
		setOption(oUnit, "단원선택", "")	//기본값	
		if(depth == 1 ){return false;}
		
		var oSession = $(SessionName);
		delOptions(oSession)					//초기화
		setOption(oSession, "과정선택", "")	//기본값
		if(depth == 2 ){return false;}
		
		var oPhase = $(PhaseName);
		delOptions(oPhase)					//초기화
		setOption(oPhase, "단계선택", "")	//기본값
		if(depth == 3 ){return false;}
	
		var oCourse = $(CourseName);
		delOptions(oCourse)					//초기화
		setOption(oCourse, "코스선택", "")	//기본값
	//}catch(e){}
	
}
var selectedEduPlanYear, selectedCourse, selectedPhase, selectedSession, selectedUnit
var ConstCourseFinish


//-----------------------------------------------------------------------------------


function mailSelfCheck(){
	if( document.getElementById("isSelf").checked ){
		document.getElementById("emailAddress1").disabled = "disabled";
		document.getElementById("emailAddress2").disabled = "";
	}else{
		document.getElementById("emailAddress1").disabled = "";
		document.getElementById("emailAddress2").disabled = "disabled";
	}
}

	//@사용목적 :	공용달력 팝업 Open
	// @전달인자  	Type : 달력 형태 (1-일반달력,2-일반달력 + 시간 ,3-다중선택달력, 4- 다중선택달력+내용입력) 
	//				ChoiceMonth : 해당 월이 있을경우 입력 없으면 현재 월로 뿌려짐
	//				TargetInputName : 일을 선택 한후 입력 될 Input Text Name 
function getScheduleCalOpen(Type,ChoiceMonth,TargetInputName)
{	
	if(Type=="1"){
		WindowOpen("/Share/calendar.asp?Type=" + Type + "&dtDate=" + ChoiceMonth + "&TargetInputName=" + TargetInputName ,"calendar",253,298);
	}else if(Type=="2") {
		WindowOpen("/Share/calendar.asp?Type=" + Type + "&dtDate=" + ChoiceMonth + "&TargetInputName=" + TargetInputName ,"calendar",253,350);
	}else if(Type=="3") {
		WindowOpen("/Share/calendar.asp?Type=" + Type + "&dtDate=" + ChoiceMonth + "&TargetInputName=" + TargetInputName ,"calendar",253,298);
	}else if(Type=="4") {
		WindowOpen("/Share/calendar.asp?Type=" + Type + "&dtDate=" + ChoiceMonth + "&TargetInputName=" + TargetInputName ,"calendar",253,330);
	}
}

function getJuminCheck(jumin){
  // 주민번호의 형태와 7번째 자리(성별) 유효성 검사
  fmt = /^\d{6}-[1234567890]\d{6}$/;
  if (!fmt.test(jumin)) {
	return false;
  }

  // 날짜 유효성 검사
  birthYear = (jumin.charAt(7) <= "2") ? "19" : "20";
  birthYear += jumin.substr(0, 2);
  birthMonth = jumin.substr(2, 2) - 1;
  birthDate = jumin.substr(4, 2);
  birth = new Date(birthYear, birthMonth, birthDate);

  if ( birth.getYear() % 100 != jumin.substr(0, 2) ||
       birth.getMonth() != birthMonth ||
       birth.getDate() != birthDate) {
    return false;
  }

  // Check Sum 코드의 유효성 검사
  buf = new Array(13);
  for (i = 0; i < 6; i++) buf[i] = parseInt(jumin.charAt(i));
  for (i = 6; i < 13; i++) buf[i] = parseInt(jumin.charAt(i + 1));

  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]);

  if ((11 - (sum % 11)) % 10 != buf[12]) {
    return false;
  }

  return true;
}

function setObjectTag(TagID, Target){

	var objObject = document.getElementById(TagID);
	var objTarget = document.getElementById(Target);
	var txtObject = objObject.value;
//	objObject.insertAdjacentHTML("afterEnd", txtObject);

	objTarget.innerHTML =txtObject;
}


function check_no(jumin){
        var fgn_reg_no = jumin
		fgn_reg_no = fgn_reg_no.replace("-","")

 if (fgn_reg_no == ''){
  //alert('외국인등록번호를 입력하십시오.');
  return false;
 }

 if (fgn_reg_no.length != 13) {
  //alert('외국인등록번호 자리수가 맞지 않습니다.');
  return false;
 }
        if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
        {
           birthYear = "19";
        }
        else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
        {
           birthYear = "20";
        }
        else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
        {
           birthYear = "18";
        }
        else
        {
          //alert("등록번호에 오류가 있습니다. 다시 확인하십시오.");
          return false;
        }        
        birthYear += fgn_reg_no.substr(0, 2);
        birthMonth = fgn_reg_no.substr(2, 2) - 1;
        birthDate = fgn_reg_no.substr(4, 2);
        birth = new Date(birthYear, birthMonth, birthDate);
        
        if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
             birth.getMonth() != birthMonth ||
             birth.getDate() != birthDate) {
         // alert('생년월일에 오류가 있습니다. 다시 확인하십시오.');
          return false;
        }
        
        if (fgn_no_chksum(fgn_reg_no) == false){
        
         //   alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
            return false;
        }
        else {
           // alert ('정상입니다.');
            return 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 false;
    }

    if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
      return false;
    }
     
    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 false;
    }
    else {
        return true;
    }
}
// @사용목적 :	rowspan 자동으로 넣어주기 
// @전달인자  	tblId: 테이블 id 
//				cidx: 몇번째 row 인가  0 부터 
//				tdAtt : 해당 td에 들어 있는 속성
// @사용방법 	setAutoRowSpan("listTbl", 0, "pointcate");
function setAutoRowSpan( tblId, cidx, tdAtt ) {
	var tbl = document.getElementById(tblId);
	var rowspan = 1;
	var flag = false;
	
	for( var i = 1; i < tbl.rows.length; i++ ) {
		if( eval( "tbl.rows[i].cells[cidx]." + tdAtt ) != ""
			&& eval( "tbl.rows[i-1].cells[cidx]." + tdAtt ) == eval( "tbl.rows[i].cells[cidx]." + tdAtt ) ) {

			rowspan += 1;
			
			// 첫번째 row idx 를 잡자!
			if( !flag ) {
				flag = i - 1;
			} else {
				//tbl.rows[i-2].deleteCell(cidx);
				tbl.rows[i-1].deleteCell(cidx);
			}
			// 마지막으로 합쳐지는 row도 지워야 한다!
			if( rowspan > 1 &&
				( !tbl.rows[i+1]
					|| eval( "tbl.rows[i].cells[cidx]." + tdAtt ) != eval( "tbl.rows[i+1].cells[cidx]." + tdAtt )
				)
			) {
				tbl.rows[i].deleteCell(cidx);
			}
		} else {
			// 하나이상 합쳐졌냐?
			if( rowspan > 1 ) {
				tbl.rows[flag].cells[cidx].rowSpan = rowspan;
			}

			// 값 초기화
			rowspan = 1;
			flag = false;
		}

		if( rowspan > 1 ) {
			tbl.rows[flag].cells[cidx].rowSpan = rowspan;
		}
	}
}	

function RABAAdminDataPopup(domain,strMenuCode){
	//var frm = "<form name='frmFDS' action='http://admintc.ebyschool.com/program/FileCube/Index.asp' method='get' target='_blank'>"
	var frm = "<form name='frmFDS' action='http://pds.talkingclub.co.kr/FileCube/Index.asp' method='post' target='_blank'><input type = 'hidden' name='menucode' value="+strMenuCode+">"
	document.body.insertAdjacentHTML("beforeEnd", frm);
	var frm2 = document.getElementById("frmFDS");
	frm2.submit();
}


function RABAAdminDataPopup2(domain){
	//var frm = "<form name='frmFDS' action='http://admintc.ebyschool.com/program/FileCube/Index.asp' method='get' target='_blank'>"
	var frm = "<form name='frmFDS' action='http://pds.talkingclub.co.kr/FileCube/Index.asp' method='get' target='_blank'>"
	document.body.insertAdjacentHTML("beforeEnd", frm);
	var frm2 = document.getElementById("frmFDS");
	frm2.submit();
}

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

function encode64Han(str) {
  return encode64(escape(str))
}

function decode64Han(str) {
  return unescape(decode64(str))
}


//로그인 처리
function SSLLogin(ID, PW, URL){
	var objF, objI;

	objF = document.createElement("form");
	objF.name = "frmSSLLogin";
	objF.method = "post";
	objF.action = "https://sso.talkingclub.co.kr:389/index.asp";
	objF.target = "_top";

	objI = document.createElement("input");
	objI.type = "hidden";
	objI.name = "id";
	objI.value = ID;
	objF.appendChild(objI);

	objI = document.createElement("input");
	objI.type = "hidden";
	objI.name = "passwd";
	objI.value = PW;
	objF.appendChild(objI);

	objI = document.createElement("input");
	objI.type = "hidden";
	objI.name = "ReturnUrl";
	objI.value = URL;
	objF.appendChild(objI);

	document.appendChild(objF);

	objF.submit();
}


function openWebzine(){
	location.href = "/community/webzine/webzine_list.asp";
}

function openWebzineNum(num){
	WindowOpen("/community/webzine/" + num + "/main.asp", "Webzine", 950, 700);
}


//-- 파일 업로드 관련 처리  2010-07-08 추가
// 업로드창 로딩.
// 갯수 제한기능 추가
function pop_FileUpload_cnt(gubun, sizeTag, listTag, infoTag, cntTotal, msg) {
	var filelist = document.getElementById(listTag);
	if (filelist != null && filelist.childNodes.length >= cntTotal)
	{
		alert(msg);
	}
	else
	{
		var totalsize = document.getElementById(sizeTag).innerText;
		var strURL = "/System/PopFileUpload.asp?gubun=" + gubun + "&totalsize=" + totalsize + "&sizetag=" + sizeTag + "&listtag=" + listTag + "&infotag=" + infoTag;
		window.open(strURL , "FileUpload", "width=270, height=275");
	}
}

function pop_FileUpload(gubun, sizeTag, listTag, infoTag) {
	var totalsize = document.getElementById(sizeTag).innerText;
	var strURL = "/System/PopFileUpload.asp?gubun=" + gubun + "&totalsize=" + totalsize + "&sizetag=" + sizeTag + "&listtag=" + listTag + "&infotag=" + infoTag;
	window.open(strURL , "FileUpload", "width=270, height=275");
}
/* 개별 업로드 팝업
   Params :  flag       ==> 1.동영상, 2.이미지,  3.기타, 10. 첨부파일에서 이미지만 업로드
             viewTag    ==> 파일 이름 보여짐.
             infoTag    ==> 첨부파일 정보 저장 input
*/
function pop_SingleFileUpload(flag, viewTag, infoTag) {
    var strURL = "/System/PopSingleUpload.asp?flag=" + flag + "&viewtag=" + viewTag + "&infotag=" + infoTag;
    window.open(strURL, "FileUpload", "width=270, height=275");
}
function pop_MemPhotoUpload(flag, viewTag, infoTag) {
    var strURL = "/System/PopMemPhotoUpload.asp?flag=" + flag + "&viewtag=" + viewTag + "&infotag=" + infoTag;
    window.open(strURL, "FileUpload", "width=270, height=275");
}
function pop_SampleBookImgUpload(flag, viewTag, infoTag) {
    var strURL = "/System/PopSampleBookThumUpload.asp?flag=" + flag + "&viewtag=" + viewTag + "&infotag=" + infoTag;
    window.open(strURL, "FileUpload", "width=270, height=275");
}
// 선택 파일 적용
function AddFileForList(filename, filewidth, fileheight, filesize, filetype, sizeTag, listTag, infoTag) {
    try {        
        /*var cnode = document.createElement("li");
        cnode.setAttribute("fnm", filename);
        cnode.getAttribute("style").backgroundColor = "#fff";
        cnode.onclick = "SelectFile('filelist',this)";
        cnode.innerText = filename;
        document.getElementById(listTag).appendChild(cnode);*/
        var viewStr = "<li fnm=\"" + filename + "\" style=\"background-color:#fff;\" onclick=\"SelectFile('filelist',this)\">" + filename + "</li>";
        document.getElementById(listTag).innerHTML += viewStr;

        var obj = document.getElementById(infoTag);
		var fileInfoStr = filename + "||" + filewidth + "||" + fileheight + "||" + filetype + "||2||" + filesize + "||"+filename;
		if (obj.value != "")
			obj.value += "@";
		obj.value += fileInfoStr;

		CalcFileSize(sizeTag,filesize, "+");
	}
	catch (e) {
		alert("파일 첨부에 실패 하였습니다. 잠시후 다시 시도해주세요.");
		return;
	}
}

// 선택파일 적용 ( single 팝업 업로드에서 사용)
function SetFileUploadInfo(filename, filewidth, fileheight, filesize, filetype, viewTag, infoTag) {
    try {
        document.getElementById(infoTag).value = filename + "||" + filewidth + "||" + fileheight + "||" + filetype + "||0||" + filesize;
        document.getElementById(viewTag).value = filename
    }
    catch (e) {
        alert("파일 첨부에 실패 하였습니다. 잠시후 다시 시도해주세요." + e.Message);
        return;
    }
}

// 선택 파일 삭제
function DelFileForList(sizeTag, listTag, infoTag) {
    try {
        var filelist = document.getElementById(listTag);
        if (filelist != null && filelist.childNodes.length > 0) {        
            for (a = 0; a < filelist.childNodes.length; a++) {
                var node = filelist.childNodes.item(a);
                if (node.style.backgroundColor == "#eee") {
                    filelist.removeChild(node);
                    ChangeAttachFileInfo(node.getAttribute("fnm"), sizeTag, infoTag);
                    return;
                }
            }
            alert("삭제할 파일을 선택해 주세요.");
        }
    }
	catch (e) {
		alert("파일 삭제에 실패 하였습니다. 잠시후 다시 시도해 주세요.");
		return;
	}
}

// 파일 정보 변경
function ChangeAttachFileInfo(filename, sizeTag, infoTag) {
    var fileinfo = document.getElementById(infoTag);
    var aryfileinfo = fileinfo.value.split("@");
    var tempString = "";

    for (a = 0; a < aryfileinfo.length; a++) {
        if (aryfileinfo[a].indexOf(filename) > -1) { // 일치파일 제외.
            var arySubFileInfo = aryfileinfo[a].split("||");
            
            //alert(arySubFileInfo[a]);
            
            var filesize = ""
            aryfileinfo[a] = "";
            
            for (b = 0; b < arySubFileInfo.length; b++) {
                if (aryfileinfo[a] != "")
                    aryfileinfo[a] += "||";
                if (b == 5)
                    filesize = arySubFileInfo[b];
                if (b == 4)
                    aryfileinfo[a] += "1";
                else
                    aryfileinfo[a] += arySubFileInfo[b];
                
            }
            CalcFileSize(sizeTag, filesize, "-");
        }
        if (tempString != "")
            tempString += "@";
        tempString += aryfileinfo[a];
    }
    fileinfo.value = tempString;
}	
  
//파일크기 재계산.
function CalcFileSize(sizeTag, filesize, cmd) {
	try {
		var objTot = document.getElementById(sizeTag);
		if (cmd == "+") {
			objTot.innerText = Math.round(Number(objTot.innerText) + Number(filesize) / 1024);
		}
		else if (cmd == "-") {
			objTot.innerText = Math.round(Number(objTot.innerText) - Number(filesize) / 1024);
			if (Number(objTot.innerText) < 0)
				objTot.innerText = 0;
		}
	}
	catch (e) {
		alert("파일 크기 계산에 실패 하였습니다.");                
	}
}

// 파일 선택
function SelectFile(listTag, sel) {    
    var filelist = document.getElementById(listTag).childNodes;
    if (filelist != null && filelist.length > 0) {
        for (a = 0; a < filelist.length; a++) {            
            filelist.item(a).getAttribute("style").backgroundColor = "#fff";
        }
    }
    sel.style.backgroundColor = "#eee";    
}
// 파일 다운로드
function fileDown(filename, path, realfilename) {
    var strParams = "strFileName=" + encodeURIComponent(filename)
    strParams += "&strFilePath=" + encodeURIComponent(path);
    strParams += "&DownFileName=" + encodeURIComponent(realfilename);
    location.href = "/System/FileDownLoad.ashx?" + strParams;
}
//--- end : 파일 업로드/다운로드 관련 처리

//--- jquery ajax
function j_ajax(strUrl, strParams, strFunction) {
    $.ajax({
        url: strUrl,
        data: strParams,
        success: eval(strFunction)
    });    
}

//--- Chart Start
function Efriend_Chart_Write(chartObj, strparms, charttype, chartnum, width, height) {    
    var chartSwf = "";
    var chartPath = "/Common/Chart/Talkingclub" + chartnum;
    
    if (charttype == "amcolumn")
        chartSwf = "/Common/Chart/Amcolumn/amcolumn.swf";
    else if (charttype == "amline")
        chartSwf = "/Common/Chart/Amline/amline.swf";
    else 
        chartSwf = "/Common/Chart/Amcolumn/amcolumn.swf";
    
    var so = new SWFObject(chartSwf, charttype, width, height, "8", "#fff");
    so.addVariable("path", "/Common/Chart/" + charttype + "/");
    so.addVariable("settings_file", escape(chartPath + "/settings.xml"));
    so.addVariable("data_file", escape(chartPath + "/Data.aspx?data=" + strparms));    
    so.addVariable("preloader_color", "#ffffff");    
    so.write(chartObj);
}

//--- Chart End 



/**
* 브라우저 document 영역의
* clientWidth/clientHeight, scrollWidth/scrollHeight 구하기
*
* @author hooriza
*/
function getClientSize() {
	var oDoc = document[document.compatMode == 'CSS1Compat' ? 'documentElement' : 'body'];
	if (/Opera/.test(navigator.userAgent)) oDoc = document.body;
	
	return [
		oDoc.clientWidth,
		oDoc.clientHeight
	];
}
 
function getScrollSize() {
	var oDoc = document[document.compatMode == 'CSS1Compat' ? 'documentElement' : 'body'];
	if (/Opera|Safari/.test(navigator.userAgent)) oDoc = document.body;
 
	// IE6 미만이면
	if (/MSIE\s([0-9]+(\.[0-9]+)*)/.test(navigator.userAgent) && parseFloat(RegExp.$1) < 6) {
		var aOld = [ oDoc.scrollLeft, oDoc.scrollTop ];
		var aClient = getClientSize();
		
		oDoc.scrollLeft = 999999;
		oDoc.scrollTop = 999999;
		
		var aRet = [
			oDoc.scrollLeft + aClient[0],
			oDoc.scrollTop + aClient[1]
		];
		
		oDoc.scrollLeft = aOld[0];
		oDoc.scrollTop = aOld[1];
		
		return aRet;
	}
	
	return [
		oDoc.scrollWidth,
		oDoc.scrollHeight
	];
}

function selectChange(Bpkid) {
	if (Bpkid != "")
	{
		setJindanCookie("selBranchPKId", Bpkid, 1);
	}
	else
	{
		setJindanCookie("selBranchPKId", Bpkid, -1);
		setJindanCookie("ECP", Bpkid, -1);
	}
}
