﻿// string type에서 trim()을 사용할 수 있게 함
String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g,""); 
}

// strInput의 값이 있는지 여부 검사
function isNull(str) {
	if (str.length == 0 || str.split(" ").join("") == "" || str.trim() == "") {
		return true;
	} else {
		return false;
	}
}

// 숫자, 영문자인지 체크
function isNumeric(str) {
	for (i = 0; i < str.length; i++) {
		c = str.charAt(i);
		
		if (!(c >= '0' && c <= '9')) {
			return true;
		}
	}
	
	return false;
}

// 숫자, 영문자인지 체크
function isAlphaNumeric(str) {
	for (i = 0; i < str.length; i++) {
		c = str.charAt(i);
		
		if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) {
			return true;
		}
	}
	
	return false;
}

// <input type="text"> 입력여부 검사
function inputTextCheck(objInput, strMessage) {
	if (isNull(objInput.value)) {
		alert(strMessage + " 입력하세요.");
		objInput.focus();
		return false;
	} else {
		return true;
	}
}

//
function inputTextIsAlphaNumeric(objInput, strMessage) {
	if (isAlphaNumeric(objInput.value)) {
		alert(strMessage + " 영문자와 숫자만 입력할 수 있습니다.");
		objInput.focus();
		return false;
	} else {
		return true;
	}
}

//
function inputTextIsNumeric(objInput, strMessage) {
	if (isNumeric(objInput.value)) {
		alert(strMessage + " 숫자만 입력할 수 있습니다.");
		objInput.focus();
		return false;
	} else {
		return true;
	}
}

// 
function inputTextLengthCheck(objInput, limit, strMessage) {
	if (objInput.value.length > limit) {
		alert(strMessage + " " + limit + "자까지만 쓸 수 있습니다.");
		objInput.value = objInput.value.substring(0, limit);
		objInput.focus();
		return false;			
	} else {
		return true;
	}
}

function inputTextLengthRangeCheck(objInput, intMin, intMax, strMessage) {
	if (objInput.value.length < intMin || objInput.value.length > intMax) {
		alert(strMessage + " " + intMin + "~" + intMax + "자를 입력해야 합니다.");
		objInput.focus();
		return false;			
	}
	
	return true;
}

function inputTextLengthFixCheck(objInput, intLen, strMessage) {
	if (objInput.value.length != intLen) {
		alert(strMessage + " " + intLen + "자를 입력해야 합니다.");
		objInput.focus();
		return false;			
	}
	
	return true;
}

function inputSelectCheck(objInput, strMessage) {
	if (isNull(objInput.value)) {
		alert(strMessage + " 선택하세요.");
		objInput.focus();
		return false;
	} else {
		return true;
	}
}

// 주민등록번호 유효성 검사
function juminNoCheck(juminNo1, juminNo2) {
	a1 = juminNo1.substring(0, 1);
		aa1 = a1 * 2;
	a2 = juminNo1.substring(1, 2);
		aa2 = a2 * 3;
	a3 = juminNo1.substring(2, 3);
		aa3 = a3 * 4;
	a4 = juminNo1.substring(3, 4);
		aa4 = a4 * 5;
	a5 = juminNo1.substring(4, 5);
		aa5 = a5 * 6;
       a6 = juminNo1.substring(5, 6);
		aa6 = a6 * 7;
       b1 = juminNo2.substring(0, 1);
		bb1 = b1 * 8;
       b2 = juminNo2.substring(1, 2);
		bb2 = b2 * 9;
       b3 = juminNo2.substring(2, 3);
		bb3 = b3 * 2;
       b4 = juminNo2.substring(3, 4);
		bb4 = b4 * 3;
       b5 = juminNo2.substring(4, 5); 
		bb5 = b5 * 4;
       b6 = juminNo2.substring(5, 6);
		bb6 = b6 * 5;
   
	pivot = juminNo2.substring(6,7);
   
	sum = aa1 + aa2 + aa3 + aa4 + aa5 + aa6 + bb1 + bb2 + bb3 + bb4 + bb5 + bb6;
	modulus = sum % 11
	endnumber = 11 - modulus
      
	if (endnumber == 11) {
		endnumber = 1;
	} else if (endnumber == 10) { 
		endnumber = 0;
	} else {
		endnumber = endnumber;
	}
	
	if (pivot != endnumber) {
		return false;
	} else {
		return true;
	}
}

// 이메일 유효성 검사
function emailCheck(email)
{
// 이메일 폼에 맞는지 확인
	//regular expression이 지원되는지 확인
	var supported = 0
	if (window.RegExp)
	{
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr))
			supported = 1
	}
	
	if (!supported)
	{// 지원되지 않으면
		return (email.indexOf(".") > 2) && (email.indexOf("@") > 0);
	}
	else
	{// 지원되면
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		return (!r1.test(email) && r2.test(email));
	}
}
