
///////////////////////////////////////////
//
//	FORM Object Check Function
//
///////////////////////////////////////////

/*
 TextField 의 값이 있는지 없는지 검사하여 메세지를 뿌려준다.
 return 값이 flase 일때는 값이 없을 경우 이며,
 return 값이 true 일때는 값이 있을 경우 이다.
*/
function TextCheck(item, message) {
	
	var strMemo = item.value;
	var resultMemo = strMemo.split(" ");
	
	if (!item.value || (strMemo.length + 1 == resultMemo.length)) {
		alert(message);
		item.focus();
		return false;	// 값이 없을 경우
	}
	return true;		// 값이 있을 경우
}

/*
 Select 풀다운 박스를 선택 했는지 검사하여 메세지를 뿌려준다.
 return 값이 flase 일때 선택 되지 않은 경우 이며,
 return 값이 true 일때는 선택되었을 경우 이다.
 
*/
function SelectCheck(item, message) {
	if (item.selectedIndex == 0) {
		alert(message);
		item.focus();
		return false;	// 선택을 하지 않았을 경우
	}
	return true;		// 선택을 하였을 경우
	
}


/*
 CheckBox 와 Radio 의 체크를 검사한다.
 return 값이 flase 이면 아무것도 선택되지 않은 것이며,
 return 값이 true 이면 하나이상이 선택된 경우 이다.
*/
function CheckBoxRadioCheck(item,message)
{
	var i, flag=true;
	for (i=0; i<item.length; i++) {
		if (item[i].checked == true) {
			flag = false;
		}
	}
	if (flag) {
		alert(message);
		item[0].focus();
		return false;
	} else {
		return true;
	}
}

function impword(impstr,invalue) {
	
	impstr_array = impstr.split(",");
	
	for(i=0;i<impstr_array.length;i++) {
		if(impstr_array[i] == invalue) return false;
	}
	
	return true;
}

// 주민번호 체크
function check_juminno(jumin1,jumin2) {
	if(jumin1.value=="" || jumin2.value=="" || jumin1.value.length!=6 || jumin2.value.length!=7) {
	        alert("주민등록번호를 적어주세요.");
	        return false;
	}

	var yy     = jumin1.value.substr(0,2);  // 년도
	var mm     = jumin1.value.substr(2,2);        // 월
	var dd     = jumin1.value.substr(4,2);        // 일
	var genda  = jumin2.value.substr(0,1);        // 성별
	var msg, ss, cc;
	
	// 숫자가 아닌 것을 입력한 경우
	if (!isNumeric(jumin1.value)) {
	        alert("주민등록번호 앞자리를 숫자로 입력하세요.");
	        jumin1.value = "";
	        jumin1.focus();
	        return false;
	}
	// 길이가 6이 아닌 경우
	if (jumin1.value.length != 6) {
	        alert("주민등록번호 앞자리를 다시 입력하세요.");
	        jumin1.value = "";
	        jumin1.focus();
	        return false;
	}
	// 첫번째 자료에서 연월일(YYMMDD) 형식 중 기본 구성 검사
	if (yy < "00" || yy > "99" ||
	        mm < "01" || mm > "12" ||
	        dd < "01" || dd > "31") {
	        alert("주민등록번호 앞자리를 다시 입력하세요.");
	        jumin1.value = "";
	        jumin1.focus();
	        return false;
	}
	// 숫자가 아닌 것을 입력한 경우
	if (!isNumeric(jumin2.value)) {
	        alert("주민등록번호 뒷자리를 숫자로 입력하세요.");
	        jumin2.value = "";
	        jumin2.focus();
	        return false;
	}
	// 길이가 7이 아닌 경우
	if (jumin2.value.length != 7) {
	        alert("주민등록번호 뒷자리를 다시 입력하세요.");
	        jumin2.value = "";
	        jumin2.focus();
	        return false;
	}
	// 성별부분이 1 ~ 4 가 아닌 경우
	if (genda < "1" || genda > "4") {
	        alert("주민등록번호 뒷자리를 다시 입력하세요.");
	        jumin2.value = "";
	        jumin2.focus();
	        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) {
	        alert("주민등록번호 앞자리를 다시 입력하세요.");
	        jumin1.value = "";
	        jumin1.focus();
	        return false;
	}
	// Check Digit 검사
	if (!isSSN(jumin1.value, jumin2.value)) {
	        alert("입력한 주민등록번호를 검토한 후, 다시 입력하세요.");
	        jumin1.value = "";
	        jumin2.value = "";
	        jumin1.focus();

	        return false;
	}
	return true;
}

function isYYYYMMDD(y, m, d) {
	switch (m) {
	case 2:        // 2월의 경우
	        if (d > 29) return false;
	        if (d == 29) {
	                // 2월 29의 경우 당해가 윤년인지를 확인
	                if ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0))
	                        return false;
	        }
	        break;
	case 4:        // 작은 달의 경우
	case 6:
	case 9:
	case 11:
	        if (d == 31) return false;
	}
	// 큰 달의 경우
	return true;
}

function isNumeric(s) {
	for (i=0; i<s.length; i++) {
	        c = s.substr(i, 1);
	        if (c < "0" || c > "9") return false;
	}
	return true;
}

function isLeapYear(y) {
	if (y < 100)
	y = y + 1900;
	if ( (y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0) ) {
	        return true;
	} else {
	        return false;
	}
}

function getNumberOfDate(yy, mm) {
	month = new Array(29,31,28,31,30,31,30,31,31,30,31,30,31);
	if (mm == 2 && isLeapYear(yy)) mm = 0;
	return month[mm];
}

function isSSN(s1, s2) {
	n = 2;
	sum = 0;
	for (i=0; i<s1.length; i++)
	        sum += parseInt(s1.substr(i, 1)) * n++;
	for (i=0; i<s2.length-1; i++) {
	        sum += parseInt(s2.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(s2.substr(6, 1))) return false;
	else return true;
}


function layerinfo(str,objid) {
	
	var strhtml = "";
	
	mx = event.x + document.body.scrollLeft;
	my = event.y + document.body.scrollTop;
	
	spaninfo = document.getElementById(objid);
	spaninfo.style.position="absolute";
	spaninfo.style.left=mx+"px";
	spaninfo.style.top=my+"px";
	spaninfo.style.zIndex = "1";
	if(str) spaninfo.style.display = "";
	else spaninfo.style.display = "none";
	
	strhtml += "<table border='0' bgcolor='#999999' cellspacing='1' cellpadding='3'>";
	strhtml += "<tr>";
  	strhtml += "<td valign='top' style='font-size:9pt' bgcolor='#F8F8F8'>"+str+"</td>";
	strhtml += "</tr>";
	strhtml += "</table>";

	
	spaninfo.innerHTML = strhtml;
}

function layerinfox(str,objid) {
	
	var strhtml = "";
	var lwidth = 250;
	
	mx = event.x + document.body.scrollLeft;
	my = event.y + document.body.scrollTop;
	
	spaninfo = document.getElementById(objid);
	spaninfo.style.position="absolute";
	spaninfo.style.left=mx+"px";
	spaninfo.style.top=my+"px";
	spaninfo.style.zIndex = "1";
	if(str) spaninfo.style.display = "";
	else spaninfo.style.display = "none";
	
	strhtml += "<table border='0' width='"+lwidth+"' bgcolor='#999999' cellspacing='1' cellpadding='3'>";
	strhtml += "<tr>";
  	strhtml += "<td valign='top' style='font-size:9pt' bgcolor='#F0F0F0' align='right'><a style='cursor:hand' Onclick=\"layerinfo('','"+objid+"')\">×</a></td>";
	strhtml += "</tr>";
	strhtml += "<tr>";
  	strhtml += "<td valign='top' style='font-size:9pt' bgcolor='#F8F8F8'>"+str+"</td>";
	strhtml += "</tr>";
	strhtml += "</table>";

	
	spaninfo.innerHTML = strhtml;
}