﻿// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 사용위치 : Membership_join01.aspx
// 팝업윈도우 띄우는 함수
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function ShowDialog(url, name, left, top, width, height)
{
    x = (screen.availWidth - width) / 2;
    y = (screen.availHeight - height) / 2;   
 
    window.open(url,name,"top="+y+",left="+x+",width="+width+",height="+height+",status=no,resizable=no,toolbars=no,location=no,scrollbars=no");
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 팝업윈도우 띄우는 함수(스크롤바 있음)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function ShowScrollDialog(url, name, left, top, width, height)
{
    x = (screen.availWidth - width) / 2;
    y = (screen.availHeight - height) / 2;   
 
    window.open(url,name,"top="+y+",left="+x+",width="+width+",height="+height+",status=no,resizable=no,toolbars=no,location=no,scrollbars=yes");
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 팝업윈도우 띄우는 함수(left 없음)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function ShowDialog2(url, name, top, width, height)
{    
    window.open(url, name,"top="+top+",width="+width+",height="+height+",status=no,resizable=no,toolbars=no,location=no,scrollbars=no");
}


function ShowDialog3(url, name, top, left, width, height)
{    
    window.open(url, name,"left="+left+",top="+top+",width="+width+",height="+height+",status=no,resizable=no,toolbars=no,location=no,scrollbars=auto");
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 공백 문자열 제거 하기... (입력 유효성검사)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function trim(str)
{
	
	var trimstr = str;
	for (var i=0; i< str.length;i++)
	{
		trimstr = trimstr.replace(' ' ,'');
	}
	return trimstr;
} 


var n4 = (document.layers)?true:false;
var e4 = (document.all)?true:false;

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 숫자만입력
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function isNum(str)
{
  	for(i = 0; i < str.length; i++)
  	{
    		ch = str.charAt(i);
    		if(ch < "0" || ch > "9")
    		return false;
  	}

	  return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 숫자만입력(onKeypress='return keyCheck(event)')
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function keyCheck(e) 
{ 
    if(n4) 
        var keyValue = e.which
    else if(e4) 
        var keyValue = event.keyCode
    if (((keyValue >= 48) && (keyValue <= 57)) || keyValue==13) 
        return true; 
    else return false
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 숫자및돗트입력(onKeypress='return keyCheckDot(event)')
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function keyCheckDot(e) 
{ 
    if(n4) 
        var keyValue = e.which
    else if(e4) 
        var keyValue = event.keyCode
    if (((keyValue >= 48) && (keyValue <= 57)) || keyValue==13 || keyValue==46) 
        return true; 
    else return false
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 입력검사
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function Exists(input,types)
{
    if(types) 
        if(!Trim(input.value)) 
            return false;
    return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 영문검사+숫자검사(첫글자는 반드시영문)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkEngNum(input,types) 
{
    if(types) 
        if(!trim(input.value)) 
            return false;
    var error_c=0, i, val;
    for(i=0;i<checkByte(input.value);i++) 
    {
        val = input.value.charAt(i);
        if(i == 0) 
            if(!((val>='a' && val<='z') || (val>='A' && val<='Z'))) 
                return false;
        else if(!((val>=0 && val<=9) || (val>='a' && val<='z') || (val>='A' && val<='Z'))) 
            return false;
    }
    return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 영문검사+숫자검사
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkEngNumAll(input,types)
{
    if(types) 
        if(!trim(input.value)) 
            return false;
    var error_c=0, i, val;
    for(i=0;i<checkByte(input.value);i++) 
    {
        val = input.value.charAt(i);
        if(!((val>=0 && val<=9) || (val>='a' && val<='z') || (val>='A' && val<='Z'))) 
            return false;
    }
    return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 영문검사+숫자검사+'_'
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkEngNumAll2(input,types) 
{
    if(types) 
        if(!trim(input.value)) 
            return false;
    var error_c=0, i, val;
    for(i=0;i<checkByte(input.value);i++) 
    {
        val = input.value.charAt(i);
        if(!((val>=0 && val<=9) || (val>='a' && val<='z') || (val>='A' && val<='Z') || val=='_'))
            return false;
    }
    return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 영문검사
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkEng(input,types) 
{
    if(types) 
        if(!trim(input.value)) 
            return false;
    var error_c=0, i, val;
    for(i=0;i<checkByte(input.value);i++) 
    {
        val = input.value.charAt(i);
        if(!((val>='a' && val<='z') || (val>='A' && val<='Z')))
            return false;
    }
    return true;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 바이트검사
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function checkByte(input) 
{
    var i, j=0;
    for(i=0;i<input.length;i++) 
    {
        val=escape(input.charAt(i)).length;
        if(val== 6) j++;
        j++;
    }
    return j;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 이메일형식 체크함수
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function isValidEmail(input) 
{
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

function IsValidEmialString(input)
{
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return IsValidFormatString(input,format);
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 전화번호 형식체크 (숫자-숫자-숫자)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function isValidPhone(input) 
{
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}
    
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 입력값이 사용자가 정의한 포맷 형식인지 체크
// 자바스크립트의 'regular expression'을 참조
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++   
function isValidFormat(input,format) 
{
    if (input.value.search(format) != -1) 
    {
        return true; //올바른 포맷 형식
    }
    return false;
}

function IsValidFormatString(input, format)
{
    if (input.search(format) != -1) 
    {
        return true; //올바른 포맷 형식
    }
    return false;   
}


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 선택된 라디오버튼이 있는지 체크
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++   
function hasCheckedRadio(input) 
{
    if (input.length > 1) 
    {
        for (var inx = 0; inx < input.length; inx++) 
        {
            if (input[inx].checked) return true;
        }
    } 
    else 
    {
        if (input.checked) return true;
    }
    return false;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 선택된 체크박스가 있는지 체크
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++   
function hasCheckedBox(input) 
{
    return hasCheckedRadio(input);
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 입력값이 Null값인지 체크(null 이면 true)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++   
function isNull(input)
{
    if (input.value == null || input.value == "") 
    {
        return true;
    }
    return false;
}

function SwapImage(control, source)
{   
    //var control = document.getElementById(id);
    if(control != null)
        control.src = source;
}

//입력한 tabIndex로 객체리턴
function GetObjectByTabIndex(index)
{
    for (i = 0; i < document.forms[0].length; i++)
    {
        tmp = document.forms[0].elements[i];
        if (tmp.tabIndex == index)
        {
            return tmp;
        }
    }
    return null;
}

//엔터키 입력시 다음탭인덱스로 포커스이동
function KeyDownFocus(obj)
{   
    if (event.keyCode == 13) 
    {
        tmp = GetObjectByTabIndex(obj.tabIndex+1);     
        if (tmp == null) 
            tmp = GetObjectByTabIndex(1);     
        if (tmp != null) tmp.focus();
    }    
}   

//세자리마다 콤마를 추가한다.
function addComma(data)
{
	var flag = 1; //양수, 음수인지 판별(default : 양수)
	//var data = obj.value;
	var len = data.length;
	
	var decimalData;
	decimalData = "";
	var loc;	
	data = '' + data;
	
	var tempdata;
	
	tempdata = data;	
	//음,양수 설정
	if(data.charAt(0) == "-"){
		flag = 0;
	}

	//if(flag == 0 )
	//	obj.style.color = 'red';
	//else
	//	obj.style.color = 'black';
			
	//첫 수가 0이 입력되면 그냥 처리
	if(data.charAt(0) == "0"){
		data = '';
	}
	loc = data.indexOf('.')	//소수점찾기
	if(loc > 0)
	{
		data = data.substring(0, loc);	
		decimalData = decimalData + tempdata.substring(loc+1, len);	
	}
	
	data = '' + Number(removeComma(data));

	if(data.length > 3){
		var mod = data.length % 3;
		var out = (mod > 0 ? (data.substring(0,mod)) : '');
		
		for(i=0; i<Math.floor(data.length/3); i++){
			if((mod == 0) && (i ==0)){
				out += data.substring(mod+3*i, mod+3*i+3);
			}else{
				out += ',' + data.substring(mod+3*i, mod+3*i+3);
			}
			if( flag == 0 ){
				output = '-' + out;
			}else{
				output = out;
			}
		}
	}else{
		if(flag == 0){
			output = '-' + data;
		}else{
			output = data;	
		}	
	}
	
	if(loc > 0)
		output = output + '.' + decimalData;
	return output;	
}		

//콤마삭제
function removeComma(val)
{

	var tmp='';
	
	for(i=0; i < val.length; i++)
	{
		var num = val.substring(i, i+1);
		
		if(num == '0' || num == '1' || num == '2' || num == '3' 
			|| num == '4' || num == '5' || num == '6' || num == '7' 
			|| num == '8' || num == '9')
		{
			tmp = tmp + num;
		}
	}
	return tmp;
}

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 회원가입 관련 함수
// 사용법 : 매개변수에 document.forms[0].컨트롤명 을 넘겨주면 처리됨.
// ex) chkName(document.forms[0].name);
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var pwMinLen = 6;  // 최소 비밀번호 길이
var pwMaxLen = 16; // 최대 비밀번호 길이
var idCheck = false;  // 회원ID
var pwCheck = false;  // 비밀번호

//이름 체크
function chkName(control)
{    
  	var name = control.value;
	if (name.length <= 0) 
	{
  		alert("사용자 이름이 입력되지 않았습니다.");
  		control.focus();	
	  	return false;
  	}	
  	return true;
}

//사용자아이디체크	
function chkID(userid)
{
	if(userid.value == "") 
	{
		alert("ID가 입력되지 않았습니다.");
		return false;
	}
	return true;
}

//사업자 체크항목
function chkCompany(companyname, ceo, number1, number2, number3)
{
        //회사명 체크
  	    var co_nm = companyname.value;
  	    if(co_nm.length <= 0)
  	    {
  	        alert("회사명이 입력되지 않았습니다.");
  	        companyname.focus();
  	        return false;
  	    }
  	    
  	    //대표자명 체크
  	    var name = ceo.value;
	    if (name.length <= 0) 
	    {
  		    alert("대표자명이 입력되지 않았습니다.");
  		    ceo.focus();  		
	  	    return false;
  	    }	
  	
  	    //사업자번호 체크  	 
	    var number1 = number1.value;
	    var number2 = number2.value;
	    var number3 = number3.value;		

	    if( isNaN(number1)  || isNaN(number2)  || isNaN(number3)  || number1.length != 3 || number2.length != 2 || number3.length != 5 ) 
        {
		    alert('사업자번호가 입력되지 않았거나, 잘못 입력되었습니다.');
		    return false;
	    } 
	    return true;
}

//우편번호 체크
function chkPost(post1, post2)
{ 
	if (isNaN(post1.value) || isNaN(post2.value) ||
  		post1.value == "" || post2.value == ""  ||
  		//post1.value.length != 3 || post2.value.length != 3 ||     우편번호 자릿수가 꼭 3자리만은 아니더라.
  		isNum(post1.value) == false || isNum(post2.value) == false ) 
  	{
  		    alert("우편번호가 잘못 입력되었거나 입력되지 않았습니다.");
  		    return false;
	}

	if (post1.value == '888' && post2.value == '888') 
	{
  		alert("우편번호 검색이 잘못되었습니다. 우편번호검색으로 다시 입력하여 주십시오.");
  		return false;
	}
	return true;
}

//주소 체크
function chkAddress(adress1, adress2)
{
    var addr1 = adress1.value;
	var addr2 = adress2.value;

	if(addr1 == "주소입력하기로 자동 입력하세요" || addr1 <= "0")
	{
		alert("기본주소가 입력되지 않았습니다.");
		adress1.focus();
		return false;
	}
	if(addr2 == "상세주소를 입력하여 주세요" || addr2.length <= "0")
	{
		alert("상세주소가 입력되지 않았습니다.");
		adress2.focus();
		return false;
	}
	return true;
}

//전화번호 체크
function chkTelnumber(tel1, tel2, tel3)
{
	//전화번호 체크
	var htel1 = tel1.value;
	var htel2 = tel2.value;
	var htel3 = tel3.value;		

	if( isNaN(htel1)  || isNaN(htel2)  || isNaN(htel3)  || htel1 == ""   || htel2 == ""   || htel3 == "" ) 
    {
		alert('전화번호가 입력되지 않았거나, 잘못 입력되었습니다.');
		if(htel1== "")
		{
		    tel1.focus();
		    return false;
		}
	    if(htel2== "")
	    {
	        tel2.focus();
	        return false;
	    }
	    if(htel3== "")
	    {
	        tel3.focus();
		    return false;
		}
	}
	return true;
}

//핸드폰번호 체크
function chkCellPhoneNumber(cp1, cp2, cp3)
{
	var hand1 = cp1.value;
	var hand2 = cp2.value;
	var hand3 = cp3.value;
	
    if( isNaN(hand1)  || isNaN(hand2)  || isNaN(hand3)  ||	hand1 == ""   || hand2 == ""   || hand3 == "" ) 
    {
        alert('전화번호가 입력되지 않았거나, 잘못 입력되었습니다.');
        if(hand1== "")
        {
		    cp1.focus();
		    return false;
		}
	    if(hand2== "")
	    {
	        cp2.focus();
	        return false;
	    }
	    if(hand3== "")
	    {
	        cp3.focus();		
		    return false;
		}
  	} 	
  	return true;
}

//이메일 체크
function chkEmail(mail1, mail2)
{
    var email1 = mail1.value;
	var email2 = mail2.value;

	if(mail2.value == "직접입력")
	{
		email2 = mail2.value;
	}

	if(email1 == "" || email1 <= "0")
	{
		alert("E-Mail이 입력되지 않았습니다");
	    mail1.focus();
		return false;
	}
	if(email2 == "메일주소선택" || email2 <= "0")
	{
		alert("E-Mail 주소가 제대로 입력되지 않았습니다");
		return false;
	}
	return true;
}

//직업체크
function chkJob(job)
{
	var job = job.value;
	if(job == "")
	{
	    job.value = "";
	}
	return true;
}

//업종체크
function chkJobStatus(com1, com2)
{ 
    var com1 = com1.value;
    var com2 = com2.value;
    if(com1 =="" || com2 == "")
    {	
        com1.value = "";
        com2.value = "";   
    }	
    return true;
}

//마이페이지명 체크
function chkMyPageName(control)
{
    var myPageName = control.value;
	if(myPageName == "")
	{
	    alert("마이페이지명이 입력되지 않았습니다");
		control.focus();
		return false;
	}
	return true;
}

//검색키워드 체크
function chkKeyword(keyword1, keyword2, keyword3)
{
	var word1 = trim(keyword1.value);
    var word2 = trim(keyword2.value);
	var word3 = trim(keyword3.value);
	
	var keyword = word1 + word2 + word3;
	
	if( keyword == "" ) 
    {    
		alert("검색 키워드가 입력되지 않았습니다.");
	    keyword1.focus();
		return false;
	}
	return true;
}

//고객 접속 URL 체크
function chkUrl(url)
{
    var strurl = url.value;
    if( strurl == "" ) 
    {    
		alert("고객접속 URL이 입력되지 않았습니다.");
	    url.focus();
		return false;
	}
	else
	{
	    // 알파벳+숫자로만 구성 체크
	    var chkchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	    for(var inx = 0; inx < url.length; inx++)
	    {
		    if(chkchar.indexOf(url.charAt(inx)) == -1) 
		    {			    
			    alert("알파벳 및 숫자만 사용하실 수 있습니다.");			    
			    return false;
		    }		
	    }	    	    	    
	}	
	return true;
}
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 비밀번호 로직 체크
// 내용
// 1. 주민번호 체크
// 2. 같은 문자3자 이상 비밀번호로 안됨
// 3. 문자 숫자 혼합으로 6자 이상
// ex) chkpwd(document.forms[0].userid, document.forms[0].pass1, document.forms[0].pass2)  
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function chkpwd(userid, pass1, pass2) 
{   
	var id = userid.value;
    var pwd = pass1.value;
	var pwd2 = pass2.value;
	var chrstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var numstr = "0123456789";

	if (pwd.length < pwMinLen || pwd.length > pwMaxLen) 
	{
		alert("비밀번호를 " + pwMinLen + "자이상 " + pwMaxLen + "자이하로 입력해주시기 바랍니다.");
		pass1.focus();
		pwCheck = false;
		return false;
	}
		
	if (pwd == id) 
	{
  		alert("회원ID와 비밀번호가 서로 같습니다. \n비밀번호는 회원ID와 서로 다르게 영문/숫자를 혼용하여 " + pwMinLen + "자이상으로 입력해주시기 바랍니다..");
		pass1.focus();
		pwCheck = false;
  		return false;
	}

	var isChkPwd = false;
	var comStr = "";
	for (var k=0; k<pwd.length; k++) 
	{
		comStr = pwd.charAt(k) + pwd.charAt(k) + pwd.charAt(k);
		if (pwd.indexOf(comStr) != -1) 
		{
			isChkPwd = true;
			break;
		}
	}

	if (isChkPwd == true) 
	{
  		alert("비밀번호가 동일한 문자열로 구성되어 있습니다.(예 : 1111, aaaa, ...) \n비밀번호는 회원ID와 다르게 영문/숫자를 혼용하여 " + pwMinLen + "자이상으로 입력해주시기 바랍니다." );
		pass1.focus();
		pwCheck = false;
  		return false;
	}

	if (pwd.length >= 3) 
	{
		var iUniCode = 0;
		for (var i=0; i <= pwd.length - 3; i++) 
		{
			iUniCode = pwd.charCodeAt(i);
			if (pwd.charCodeAt(i+1) == iUniCode + 1 && pwd.charCodeAt(i+2) == iUniCode + 2) 
			{
				alert("비밀번호에 연속된 문자나 숫자가 있습니다.(예 : 1234, abcd, ...)\n비밀번호는 영문/숫자를 혼용하여 " + pwMinLen + "자이상으로 입력해주시기 바랍니다." );
				pass1.focus();
				pwCheck = false;
				return false;
			}
		}
	}

	var chrchk = true;
	var numchk = true;
	for (var a = 0;a<pwd.length;a++) 
	{
		if (chrstr.indexOf(pwd.charAt(a)) != -1) 
		{
			chrchk=false;
		}
		if (numstr.indexOf(pwd.charAt(a)) != -1) 
		{
			numchk=false;
		}
	}

	if (chrchk || numchk) 
	{
		alert("비밀번호는 영문/숫자를 혼용하여 " + pwMinLen + "자리이상으로 입력해주시기 바랍니다.");
		pass1.focus();
		pwCheck = false;
		return false;
	}

	if (pwd2.length < pwMinLen || pwd2.length > pwMaxLen) 
	{
  		alert("비밀번호확인을 " + pwMinLen + "자이상 " + pwMaxLen + "자이하로 입력해주시기 바랍니다.");
		pass2.focus();
		pwCheck = false;
  		return false;
	}

	if (pwd != pwd2) 
	{
		alert("비밀번호와 비밀번호확인이 일치하지 않습니다.");
		pass2.focus();
		pwCheck = false;
		return false;
	}

    pwCheck = true;

	return true;
}

//쿠키설정
function setCookie(name,value) 
{ 
    var MinMilli = 1000 * 60; 
    var HrMilli = MinMilli * 60; 
    var DyMilli = HrMilli * 24; 

    var tomorrow = new Date(); 
    tomorrow.setTime(Math.round(tomorrow.getTime()/DyMilli + 1) * DyMilli); 
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + tomorrow.toGMTString() + ";" 
} 

//쿠키갑을 가져옵니다.
function getCookie( name )
{
     var nameOfCookie = name + "=";
      var x = 0;
       while ( x <= document.cookie.length )
       {
           var y = (x+nameOfCookie.length);
           if ( document.cookie.substring( x, y ) == nameOfCookie )
           {
               if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
                       endOfCookie = document.cookie.length;
               return unescape( document.cookie.substring( y, endOfCookie ) );
           }
           x = document.cookie.indexOf( " ", x ) + 1;
           if ( x == 0 )
             break;
       }
       return "";
}
