///////////////////////////////////////////////////////////
// 사이트 기능관련
function login_alert() {
    alert("로그인 하신후 이용하세요.");
}

function logout() {
	document.location = "../login/loginPost.jsp?MD=LOGOUT";
}
function login_form(){
	document.location = "../login/loginForm.jsp";
}
function popup(url,wName,w,h){
	window.open(url,wName,'width='+w+',height='+h+',resizable=0,scrollbars=1');
}
function popupNS(url,wName,w,h){
	window.open(url,wName,'width='+w+',height='+h+',resizable=0,scrollbars=0');
}

// 쿠키
function setCookie( name, value, expiredays )
{
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.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 "";
}

// 문자열함수
function lTrim(strValue){
    while (strValue.length>0){
       if(strValue.charAt(0)==' '){
           strValue=strValue.substring(1,strValue.length);              
   }
       else
          return strValue;     
    }
	return strValue;
}
function rTrim(strValue){
    while (strValue.length>0){
       if(strValue.charAt(strValue.length-1)==' '){
           strValue=strValue.substring(0,strValue.length-1);              
   }
       else
           return strValue;     
   }
   return strValue;
}
function Trim(strValue){
   strValue = lTrim(strValue);
   strValue = rTrim(strValue);
   return strValue;
}

function strReplace(szFind, szReplace, szAll) {
	var i;
	var length;

	length = szReplace.length - szFind.length;

	for (i=0; i < szAll.length; i++) {
		if (szAll.substr(i,szFind.length) == szFind) {
			if ( i > 0 ) {
				if (szFind == "\n") {
					szAll = szAll.substr(0, i-1) + szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
				} else {
					szAll = szAll.substr(0, i) + szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
				}
			} else { 
				szAll = szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
			}
			i = i + length;
		}
	}
	return szAll;
}

function numberFormat(num)
{
	var str=''+num;
	var len=str.length;	
	var no =len/3;
	var remain=len%3;
	var rv='';
	var str1='';
	var blank=0;
	var Bstr='                                   ';
	
	for (var i=1;i<=no;i++)
	{
		rv=str.substring(len-i*3,len-(i*3)+3)+rv;
		if (i!=no ) rv=','+rv;
	}
	if (remain) rv=str.substring(0,remain)+rv;
	
	
	if (navigator.appName=="Microsoft Internet Explorer")
	{
		rv=Bstr.substring(0,14-rv.length)+rv;
	}
	else
	{
		rv=Bstr.substring(0,14-rv.length)+rv;
	}
	return rv;
}

//////////////////////////////////////////////////////////
// 폼관련 함수

// 입력되었는지 체크
function isInput(obj,msg){ 
	if(obj.value.length==0 || obj.value==""){ 
		alert(msg); 
		obj.focus(); 
		return false; 
	} 
	return true; 
} 
// 값의 동일여부 체크
function isEqual(obj1,obj2,msg) 
{ 
	if(obj1.value != obj2.value){
		alert(msg); 
		obj1.value="" ;
		obj2.value="" ;
		obj1.focus();
		return false; 
	}
	return true; 
} 
// 문자열 length체크
function isChkLen(obj,msg,len){ 
	if(obj.value.length != len){ 
		alert(msg); 
		obj.focus(); 
		return false; 
	} 
	return true 
} 
// 문자열 length 범위
function isStrRng(obj,msg,len1,len2){ 
	if(obj.value.length <len1 && obj.value.length > len2){ 
		alert(msg); 
		obj.focus(); 
		return false; 
	} 
	return true;
} 
// 숫자만 가능
function isNum(obj) 
{
	if(obj.value.search(/\D/) != -1 ) { 
		alert("숫자만 입력 가능합니다"); 
		obj.value=""; 
		obj.focus(); 
		return false 
	} 
	return true; 
} 
// 영문자와 숫자만 가능
function onlyEngNum(obj) { 
	var inText = obj.value; 
	var ret; 
	
	for (var i = 0; i < inText.length; i++) { 
		ret = inText.charCodeAt(i); 
		if ((ret > 122) || (ret < 48) || (ret > 57 && ret < 65) || (ret > 90 && ret < 97)) { 
			alert("영문자와 숫자만을 입력하세요"); 
			obj.value = ""; 
			obj.focus(); 
			return false; 
		} 
	} 
	return true; 
}

// 주민번호체크
function isJuminNum(aNum1, aNum2) 
{ 
	var tot=0, result=0, re=0, se_arg=0; 
	var chk_num=""; 
	var aNum = aNum1 + aNum2; 
	
	if (aNum.length != 13) 
	{ 
		return false; 
	}else { 
		for (var i=0; i <12; i++) 
		{ 
			if (isNaN(aNum.substr(i, 1))) 
				return false; 
			se_arg = i; 
		
			//외국인 인 경우 
			if(i==6) { 
				if (aNum.substr(i, 1) == 7 || aNum.substr(i, 1) == 8  || aNum.substr(i, 1) == 5 ) 
					return true 
			} 
			
			if (i >= 8) 
				se_arg = i - 8; 
			tot = tot + Number(aNum.substr(i, 1)) * (se_arg + 2) 
		} 
	
		if (chk_num != "err") 
		{ 
			re = tot % 11; 
			result = 11 - re; 
			if (result >= 10) result = result - 10; 
			if (result != Number(aNum.substr(12, 1))) 
				return false; 
			if ((Number(aNum.substr(6, 1)) < 1) || (Number(aNum.substr(6, 1)) > 4)) 
				return false; 
		} 
	} 
	return true; 
} 
// email 체크
function emailCheck (emailStr) { 
	var emailPat=/^(.+)@(.+)$/ 
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 
	var validChars="\[^\\s" + specialChars + "\]" 
	var firstChars=validChars 
	var quotedUser="(\"[^\"]*\")" 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/ 
	var atom="(" + firstChars + validChars + "*" + ")" 
	var word="(" + atom + "|" + quotedUser + ")" 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$") 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") 

	var matchArray=emailStr.match(emailPat) 
	if (matchArray==null) { 
		alert("E-mail 주소가 정확하지 않습니다.\n @ 와 . 을 확인하십시오") 
		return false 
	} 
	var user=matchArray[1] 
	var domain=matchArray[2] 
	
	if (user.match(userPat)==null) { 
		alert("메일 아이디가 정확한 것 같지 않습니다.") 
		return false 
	} 

	var IPArray=domain.match(ipDomainPat) 
	if (IPArray!=null) { 
		for (var i=1;i<=4;i++) { 
			if (IPArray[i]>255) { 
				alert("IP가 정확하지 않습니다!") 
				return false 
			} 
		} 
		return true 
	} 

	var domainArray=domain.match(domainPat) 
	
	if (domainArray==null) { 
		alert("도메인 이름이 정확한 것 같지 않습니다.") 
		return false 
	} 
	var atomPat=new RegExp(atom,"g") 
	var domArr=domain.match(atomPat) 
	var len=domArr.length 
	
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) { 
		alert("도메인명의 국가코드는 2자보다 크고 3자보다 작아야 합니다") 
		return false 
	} 
	
	if (domArr[domArr.length-1].length==2 && len<3) { 
		var errStr="This address ends in two characters, which is a country" 
		errStr+=" code. Country codes must be preceded by " 
		errStr+="a hostname and category (like com, co, pub, pu, etc.)" 
		alert(errStr) 
		return false 
	} 
	
	if (domArr[domArr.length-1].length==3 && len<2) { 
		var errStr="이 주소는 호스트명이 일치하지 않습니다" 
		alert(errStr) 
		return false 
	} 
	return true; 
} 

// 아이디
function chkID(obj) 
{ 
	if(!isInput(obj,"아이디를 입력하세요.")) 
		return false;
	if(!onlyEngNum(obj)) 
		return false;
	if(!isStrRng(obj,"아이디는 4자 이상 12자 이하로 입력하셔야 합니다.",4,12)) 
		return false;
	return true;
}

//비밀번호
function chkPW(obj) 
{ 
	if(!isInput(obj,"패스워드를 입력하세요")) 
		return false; 
	if(!isStrRng(obj,"패스워드는 4자 이상 12자 이하로 입력하셔야 합니다.",4,12)) 
		return false;
	return true;
} 

//비밀번호확인
function chkPW2(obj1, obj2) 
{ 
	if(!isInput(obj1,"패스워드를 입력하세요")) 
		return false; 
	if(!isStrRng(obj1,"패스워드는 4자 이상 12자 이하로 입력하셔야 합니다.",4,12)) 
		return false;
	if(!isInput(obj2,"패스워드 확인를 입력하세요")) 
		return false; 
	if(!isEqual(obj1,obj2,"패스워드 확인이 일치하지 않습니다.")) 
		return false; 
	return true;
} 

//주민번호체크
function chkJuminNum(obj1, obj2, str) 
{ 
	if(!isInput(obj1,"주민번호앞자리를 입력하세요")) 
		return false; 
	if(!isChkLen(obj1,"주민번호자릿수가 맞지 않습니다.",6)) 
		return false; 
	if(!isInput(obj2,"주민번호뒷자리를 입력하세요")) 
		return false; 
	if(!isChkLen(obj2,"주민번호자릿수가 맞지 않습니다.",7)) 
		return false; 
	if( isJuminNum(obj1.value, obj2.value) == false) 
	{ 
		alert(str); 
		obj1.focus(); 
		obj1.select(); 
		return false; 
	} 
	return true; 
} 


// 이메일체크
function chkEmail(obj1){
	if(!isInput(obj1,"이메일을 입력해 주세요")) 
		return false; 
	if(!emailCheck(obj1.value)){ 
		obj1.focus(); 
		return false; 
	}
	return true; 
}


// 두 개로 나뉘어진 이메일체크
function chkEmailEx(obj1,obj2){
	if(!isInput(obj1,"이메일을 입력해 주세요")) 
		return false;
	if(!isInput(obj2,"이메일을 입력해 주세요")) 
		return false; 
	if(!emailCheck(obj1.value+"@"+obj2.value)){ 
		obj1.focus(); 
		return false; 
	}
	return true; 
}

// 전화번호
function chkTel(obj1,obj2,obj3){
	if(!isInput(obj1,"전화번호 지역번호를 입력해 주세요")){ 
		return false; 
	}
	if(!isInput(obj2,"전화번호 국번을 입력해 주세요")){ 
		return false; 
	}
	if(!isInput(obj3,"전화번호 나머지 번호를 입력해 주세요")) { 
		return false; 
	}
	if(!isNum(obj1)){ 
		return false; 
	}
	if(!isNum(obj2)){ 
		return false; 
	}
	if(!isNum(obj3)){ 
		return false; 
	}
	if(!isStrRng(obj1,"입력값이 정확하지 않습니다.",2,4)){ 
		return false; 
	}
	if(!isStrRng(obj2,"입력값이 정확하지 않습니다.",3,4)){ 
		return false; 
	}
	if(!isStrRng(obj3,"입력값이 정확하지 않습니다.",4,4)){ 
		return false; 
	}
	return true; 
}

//숫자 체크
function chkNum(obj,msg){
	if(!isInput(obj,msg)) 
		return false;
	if(!isNum(obj)) 
		return false;
	return true; 
} 
