function Validate(){}

// ¸ðµç ±ÛÀÚ°¡ ¾ËÆÄºª/space ÀÌ¸é true
Validate.prototype.isOnlyAlpabetic = function(str) {
	var invalidCharactersRegExp = /[^a-z ]/i;
	var isValid = ! (invalidCharactersRegExp.test(str));
	return isValid;
}


// ¸ðµç ±ÛÀÚ°¡ ¾ËÆÄºªnumeric ÀÌ¸é true
Validate.prototype.isAlpaNumeric = function(str) {
	var invalidCharactersRegExp = /[^a-z0-9.,;%$#@& ]/i;
	var isValid = ! (invalidCharactersRegExp.test(str));
	return isValid;
}

// ¸ðµç ±ÛÀÚ°¡ spaceÀÎ °æ¿ì true
Validate.prototype.isAllSpace = function(str) {
	var invalidCharactersRegExp = /[^ ]/;
	var isValid = ! (invalidCharactersRegExp.test(str));
	return isValid;
}


//  ¼ýÀÚ¸¸ true
Validate.prototype.isOnlyNumeric = function(str) {
	var invalidCharactersRegExp = /[^\d]/;
	var isValid = ! (invalidCharactersRegExp.test(str));
	return isValid;
}

//  ³¯Â¥¸¸ true
Validate.prototype.isOnlyDate = function(yyyy, mm, dd) {
	var isValid = true;
	var enteredDate = new Date(dd + " " + Validate.prototype.MMtoMon(mm) + " " + yyyy);
	if(enteredDate.getDate() != dd)	{	isValid = false ; }
	return isValid;
}

//  ¸ÞÀÏ true
Validate.prototype.isValidEmail = function(email) {
	var invalidCharactersRegExp = /^\w(\.?[-\w])*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i;
	var isValid = invalidCharactersRegExp.test(email);
	return isValid;
}


//  ÈÞ´ëÆù true
Validate.prototype.isValidCellPhone = function(cellphone) {
	if(cellphone.substring(0,3) != "010" && cellphone.substring(0,3) != "011" && cellphone.substring(0,3) != "016" && cellphone.substring(0,3) != "017" && cellphone.substring(0,3) != "018" && cellphone.substring(0,3) != "019") {
		return false ;
	} else {
		return true ;
	}
}

// ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ (0: Á¤»óÀÎÁõ, 1:¾ÕÀÚ¸® ¿¡·¯, 2:µÞÀÚ¸® ¿¡·¯, 3:ÁÖ¹Î¹øÈ£±ÔÄ¢¿¡ À§¹èµÇ´Â ¿¡·¯)
Validate.prototype.isJuminNo = function(jumin_no1, jumin_no2) {
	if (jumin_no1.length != 6 || !this.isOnlyNumeric(jumin_no1)) {    		
    		return 1;
  	}
  	
  	if (jumin_no2.length != 7 || !this.isOnlyNumeric(jumin_no2)) {    		
    		return 2;
  	}
  	
       	//--  ÁÖ¹Îµî·Ï¹øÈ£ validation check
        var chk =0
        
        for (var i = 0; i <=5 ; i++){ 
        	chk = chk + ((i%8+2) * parseInt(jumin_no1.substring(i,i+1)))
        }
   
        for (var i = 6; i <=11 ; i++){ 
        	chk = chk + ((i%8+2) * parseInt(jumin_no2.substring(i-6,i-5)))
        }
        
	chk = 11 - (chk %11)
	chk = chk % 10
	
	if (chk != jumin_no2.substring(6,7) && (jumin_no2.substring(0, 1) == "1" || jumin_no2.substring(0,1) == "2")){
		return 3 ;
	}
     	
	return 0;
}

//¿Ü±¹ÀÎ µî·Ï¹øÈ£ È®ÀÎ ( 0:Á¤»óÀÎÁõ, 1:¾ÕÀÚ¸® ¿¡·¯, 2:µÞÀÚ¸® ¿¡·¯ , 3:µî·Ï¹øÈ£ ±ÔÄ¢¿¡ À§¹èµÇ´Â ¿¡·¯)
Validate.prototype.isForeignNo=function(jumin_no1, jumin_no2) {
	if (jumin_no1.length != 6 || !this.isOnlyNumeric(jumin_no1)) {
		return 1;
	}

	if (jumin_no2.length != 7 || !this.isOnlyNumeric(jumin_no2)) {
		return 2;
	}

    var chkNo1=parseInt(jumin_no2.substring(0,1));
    var chkNo2=parseInt(jumin_no2.substring(5,6));
    
    if(chkNo1<5||chkNo1>8) {
		return 3;
	}
    //1900³â´ëÅÂ»ý³²³à: 5, 6 2000³â´ëÅÂ»ý³²³à:7, 8
    if(chkNo2<7||chkNo2>9) {
		return 3;
	}

	//¿Ü±¹±¹Àû µ¿Æ÷´Â 7, Àç¿Ü±¹ÀÎ(ÇØ¿Ü °ÅÁÖ ÇÑ±¹±¹Àû µ¿Æ÷)´Â 8, ¼ø¼ö¿Ü±¹ÀÎÀº 9 
	return 0;
}
 	  	

//  ±æÀÌ°¡ ÃÖ´ë°ªÀ» ³ÑÀ¸¸é false, ¾Æ´Ï¸é true
Validate.prototype.chkMaxLength = function(obj, maxlen)
{
	return (obj.value.length > maxlen)? false:true;
}

//  Å©±â(byte)°¡ ÃÖ´ë°ªÀ» ³ÑÀ¸¸é false, ¾Æ´Ï¸é true
Validate.prototype.chkMaxSize = function(obj, maxlen)
{
	var len, k, chklen, chr;
	len = obj.value.length;
	chklen = 0;
	
	for(k=0;k<len;k++){
	    if (chklen > maxlen) return false;
	    chr = obj.value.charAt(k);
	    if (escape(chr).length > 4) chklen += 2;
	    else chklen++;
    }
	return true;
	
}

//ÁÖ¹Î¹øÈ£¸¦ ¹Þ¾Æ ³²³à¸¦ return(M/F)
function JuminNoToSex(jumin_no1, jumin_no2) {
	if(jumin_no2.length>0) {
		if(jumin_no2.charAt(0)=='1'||jumin_no2.charAt(0)=='3'){
			return 'M';
		}else if(jumin_no2.charAt(0)=='2'||jumin_no2.charAt(0)=='4'){
			return 'F'; 
		}else{ return ''; }
	}else{
		return '';
	}
}

//ÁÖ¹Î¹øÈ£¸¦ ¹Þ¾Æ ¿¬·É±¸ºÐÀ» return(A/C/I)
function JuminNoToAgeType(jumin_no1, jumin_no2, stdate) {
	var age;
	
	if(jumin_no2.length>0) {
		if(jumin_no2.charAt(0)=='1'||jumin_no2.charAt(0)=='2'){
			birthdate = '19'+jumin_no1;
		}else if(jumin_no2.charAt(0)=='3'||jumin_no2.charAt(0)=='4'){
			birthdate = '20'+jumin_no1;
		}else{ return ''; }
		
		var dbirthDate = new Date(birthdate.substring(6,8) + " " + Validate.prototype.MMtoMon(birthdate.substring(4,6)) + " " + birthdate.substring(0,4));
		var dtoday = new Date(stdate.substring(6,8) + " " + Validate.prototype.MMtoMon(stdate.substring(4,6)) + " " + stdate.substring(0,4));
		
		age = dtoday.getFullYear()-dbirthDate.getFullYear();
		if(dtoday.getMonth()<dbirthDate.getMonth()) age=age - 1;
		if(dtoday.getMonth()==dbirthDate.getMonth()&&dtoday.getDate()<dbirthDate.getDate()) age=age - 1;
		if(age>=12){
			return 'A';
		}else if(age>=2 && age<12){
			return 'C';
		}else if(age>=0 && age<2){
			return 'I'
		}else{
			return '';
		}
	}else{
		return '';
	}
}
//»ç¿ë¹ý
//var objDate = new Date();
//var strToday = TimeToString(objDate);
//tmptmp = JuminNoToAgeType("<%=arrCU_JMNOA(1)%>", "<%=arrCU_JMNOB(1)%>", strToday);

function TimeToString(date) {
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 1 ´õÇÔ
    var day   = date.getDate();
    var hour  = date.getHours();
    var min   = date.getMinutes();

    if (("" + month).length == 1) { month = "0" + month; }
    if (("" + day).length   == 1) { day   = "0" + day;   }
    if (("" + hour).length  == 1) { hour  = "0" + hour;  }
    if (("" + min).length   == 1) { min   = "0" + min;   }

    return ("" + year + month + day + hour + min)
}




// 01 -> Jan
Validate.prototype.MMtoMon = function(mm)
{
	switch(mm.toLowerCase()){
		case "01": return "Jan"; break;
		case "02": return "Feb"; break;
		case "03": return "Mar"; break;
		case "04": return "Apr"; break;
		case "05": return "May"; break;
		case "06": return "Jun"; break;
		case "07": return "Jul"; break;
		case "08": return "Aug"; break;
		case "09": return "Sep"; break;
		case "10": return "Oct"; break;
		case "11": return "Nov"; break;
		case "12": return "Dec"; break;
		default : return ""; break;
		}
}