/*
	Function Define
*/

/* 
	ÇÑ±Û¸¸ ÀÔ·Â ¹Þ±â
	obj = ÀÎÇ²¹Ú½º
	type = ÀÔ·ÂÇüÅÂ
		'c' : ÃÊ¼º Æ÷ÇÔ 
		's' : ÃÊ¼º Æ÷ÇÔ + °ø¹é Æ÷ÇÔ 
		'' : ÃÊ¼º, °ø¹é ¹«½Ã 
	return = void
	Å° ÀÌº¥Æ® »ç¿ë
*/ 
function checkKor(obj, type){ 
	temp_value = obj.value.toString(); 
	regexp = ''; 
	repexp = ''; 
	switch(type){ 
		case 'c':
			regexp = /[^¤¡-¤¾°¡-ÆR]/g;
			break; 
		case 's':
			regexp = /[^¤¡-¤¾°¡-ÆR\s]/g;
			break; 
		case '':
			regexp = /[^°¡-ÆR]/g;
			break; 
		default :
			regexp = /[^¤¡-¤¾°¡-ÆR\s]/g; 
			break; 
	} 

	if(regexp.test(temp_value)) { 
		temp_value = temp_value.replace(regexp,repexp); 
		obj.value = temp_value; 
	} 
} 

/*
	¼ýÀÚ¿Í¿µ¹®¸¸ ÀÔ·Â¹Þ±â
	obj = ÀÎÇ²¹Ú½º
	return = void
	Å° ÀÌº¥Æ® »ç¿ë
*/
function checkNumber(obj){ 
	temp_value = obj.value.toString(); 
	regexp = /[^0-9a-zA-Z]/g; 
	repexp = ''; 
	temp_value = temp_value.replace(regexp,repexp); 
	obj.value = temp_value; 
} 

/*
	¼ýÀÚ¸¸ ÀÔ·Â¹Þ±â
	obj = ÀÎÇ²¹Ú½º
	type = ÀÔ·ÂÇüÅÂ
		'int' : ¾çÀÇ Á¤¼ö 
		'float' : ¾çÀÇ ½Ç¼ö 
		'-int' : À½ÀÇ Á¤¼ö Æ÷ÇÔ 
		'-float' : À½ÀÇ ½Ç¼ö Æ÷ÇÔ 
	return = void
	Å° ÀÌº¥Æ® »ç¿ë
*/
function checkNum(obj, type){ 
	temp_value = obj.value.toString(); 
	regexp = /[^-\.0-9]/g; 
	repexp = ''; 
	temp_value = temp_value.replace(regexp,repexp); 
	regexp = ''; 
	repexp = ''; 
	switch(type){ 
		case 'int':
			regexp = /[^0-9]/g;
			break; 
		case 'float':
			regexp = /^(-?)([0-9]*)(\.?)([^0-9]*)([0-9]*)([^0-9]*)/;
			break;
		case '-int':
			regexp = /^(-?)([0-9]*)([^0-9]*)([0-9]*)([^0-9]*)/;
			break;
		case '-float':
			regexp = /^(-?)([0-9]*)(\.?)([^0-9]*)([0-9]*)([^0-9]*)/;
			break; 
		default :
			regexp = /[^0-9]/g;
			break; 
	} 

	switch(type){ 
		case 'int':
			repexp = '';
			break;
		case 'float':
			repexp = '$2$3$5';
			break;
		case '-int':
			repexp = '$1$2$4';
			break;
		case '-float':
			repexp = '$1$2$3$5';
			break;
		default :
			regexp = /[^0-9]/g;
			break;
	}

	temp_value = temp_value.replace(regexp,repexp); 
	obj.value = temp_value; 
} 

/*
	¿µ¾î¸¸ ÀÔ·Â¹Þ±â  (´ë¼Ò¹®ÀÚ)
	obj = ÀÎÇ²¹Ú½º
	type = ÀÔ·ÂÇüÅÂ
		'small' : ¼Ò¹®ÀÚ
		'big' : ´ë¹®ÀÚ
		'all' : ÀüÃ¼
	return = void
	Å° ÀÌº¥Æ® »ç¿ë
*/
function checjEng(obj, type){ 
	temp_value = obj.value.toString(); 
	regexp = ''; 
	repexp = ''; 
	switch(type){ 
		case 'small':
			regexp = /[^a-z]/g;
			break; 
		case 'big':
			regexp = /[^A-Z]/g;
			break; 
		case 'all':
			regexp = /[^a-z]/i;
			break; 
		default :
			regexp = /[^a-z]/i;
			break;
	}

	temp_value = temp_value.replace(regexp,repexp); 
	obj.value = temp_value; 
} 

/*
	Çü½Ä °Ë»ç
	obj = ÀÎÇ²¹Ú½º
	format = Çü½Ä
	return = boolean
*/
function isValidFormat(obj, format) {
	if (obj.value.search(format) != -1) {
		return true;//¿Ã¹Ù¸¥ Æ÷¸Ë Çü½Ä
	}
	return false;
}

/*
	ÀÌ¸ÞÀÏ Çü½Ä °Ë»ç
	obj = ÀÎÇ²¹Ú½º
	return = boolean
*/
function isValidEmail(obj) {
	var format = /^((w|[-.])+)@((w|[-.]|[_.])+).([A-Za-z]+)$/;
	return isValidFormat(obj,format);
}

/*
	È¨ÆäÀÌÁö Çü½Ä °Ë»ç
	obj = ÀÎÇ²¹Ú½º
	return = boolean
*/
function isValidSite(obj){
	var format = /^(http|HTTP|https|HTTPS):\/\/((w|[-.]|[_.])+).((w|[-.]|[_.])+).([A-Za-z]+)$/;
	return isValidFormat(obj,format);
}

/*
	ÀüÈ­¹øÈ£ ±Ô°Ý¿¡ ¸Â°Ô DDD-MM~M-XXXX 
	obj = ÀÎÇ²¹Ú½º
	return = void
	Å° ÀÌº¥Æ® »ç¿ë
*/
function checkPhone(obj) { 
	temp_value = obj.value.toString(); 
	temp_value = temp_value.replace(/[^0-9]/g,''); 
	temp_value = temp_value.replace(/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/,"$1-$2-$3"); 
	obj.value = temp_value; 
} 

/*
	ÁÖ¹Îµî·Ï¹øÈ£ °ËÁõ
	juminno = ÁÖ¹Î¹øÈ£(´ë½¬(-) Æ÷ÇÔ)
	return = boolean
*/
function isSSN(juminno) {
	juminno = juminno.replace("-", "");
	if(juminno=="" || juminno==null || juminno.length!=13) {
		return false;
	}
	var jumin1 = juminno.substr(0,6);
	var jumin2 = juminno.substr(6,7);
	var yy		   = jumin1.substr(0,2);		// ³âµµ
	var mm	 = jumin1.substr(2,2);		// ¿ù
	var dd	 = jumin1.substr(4,2);		// ÀÏ
	var genda  = jumin2.substr(0,1);		// ¼ºº°
	var msg, ss, cc;

	// ¼ýÀÚ°¡ ¾Æ´Ñ °ÍÀ» ÀÔ·ÂÇÑ °æ¿ì
	if (!isNumeric(jumin1)) {
		return false;
	}
	// ±æÀÌ°¡ 6ÀÌ ¾Æ´Ñ °æ¿ì
	if (jumin1.length != 6) {
			return false;
	}
	// Ã¹¹øÂ° ÀÚ·á¿¡¼­ ¿¬¿ùÀÏ(YYMMDD) Çü½Ä Áß ±âº» ±¸¼º °Ë»ç
	if (yy < "00" || yy > "99" || mm < "01" || mm > "12" || dd < "01" || dd > "31") {
		return false;
	}

	// ¼ýÀÚ°¡ ¾Æ´Ñ °ÍÀ» ÀÔ·ÂÇÑ °æ¿ì
	if (!isNumeric(jumin2)) {
		return false;
	}
	// ±æÀÌ°¡ 7ÀÌ ¾Æ´Ñ °æ¿ì
	if (jumin2.length != 7) {
		return false;
	}
	// ¼ºº°ºÎºÐÀÌ 1 ~ 4 °¡ ¾Æ´Ñ °æ¿ì
	if (genda < "1" || genda > "4") {
		return false;
	}

	// ¿¬µµ °è»ê - 1 ¶Ç´Â 2: 1900³â´ë, 3 ¶Ç´Â 4: 2000³â´ë
	cc = (genda == "1" || genda == "2") ? "19" : "20";

	// Ã¹¹øÂ° ÀÚ·á¿¡¼­ ¿¬¿ùÀÏ(YYMMDD) Çü½Ä Áß ³¯Â¥ Çü½Ä °Ë»ç
	if (isYYYYMMDD(parseInt(cc+yy), parseInt(mm), parseInt(dd)) == false){
		return false;
	}
	
	var n = 2;
	var sum = 0;

	for (i=0; i<jumin1.length; i++){
		sum += parseInt(jumin1.substr(i, 1)) * n++;
	}

	for (i=0; i<jumin2.length-1; i++) {
		sum += parseInt(jumin2.substr(i, 1)) * n++;
		if (n == 10){
			n = 2;
		}
	}

	c = 11 - sum % 11;
	if (c == 11){
		c = 1;
	}
	if (c == 10){
		c = 0;
	}

	if (c != parseInt(jumin2.substr(6, 1))){
		return false;
	}else{
		return true;
	}
}

