/************************************** 
* <FORM name="form1" onSubmit="return chkForm(this)">
* input tag¿¡ ´ëÇÑ ¼³¸í 
* <input 
*	type="text" 	//Çü½Ä 
*	name="id" 		//ÀÌ¸§ 
*	hname="¾ÆÀÌµð" 	//ÇÑ±Û ÀÌ¸§ 
*	pattern="regId" //¾î¶² Á¤±Ô½ÄÀ¸·Î Ã³¸®ÇÒÁö ¼±¾ð (pattern="/^[a-zA-Z]+$/")
*	required 		//ÇÊ¼ö Ç×¸ñ¿¡ ¼³Á¤ 
*   maxlength=10 	//±æÀÌ Á¦ÇÑ(byte)
* > 
***************************************/
function getName(field)
{
	if (field.getAttribute("hname") != null) {
		return field.hname;
	} else {
		return field.name;
	}	
}

function chkCheckNum(fm,chk_name,min_num,max_num, hname)
{
	var num = 0;
	for(i = 0; i < fm.elements.length; i++){ 
		elm = fm.elements[i]; 
		if (elm.type.toUpperCase() == 'CHECKBOX' 
			&& elm.name.substr(0, chk_name.length) == chk_name
			&& elm.checked) {
			num++;
		}
	}
	if (num < min_num) {
		alert(hname + '\n\nÃÖ¼Ò ' + min_num + '°³¸¦ ¼±ÅÃÇÏ¼Å¾ß ÇÕ´Ï´Ù.');
		return false;
	}
	if (num > max_num) {
		alert(hname + '\n\nÃÖ´ë ' + max_num + '°³±îÁö ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.');
		return false;
	}
	return true;		
}

function chkForm(f)
{ 
	var i,currEl;

	for(i = 0; i < f.elements.length; i++){ 
		currEl = f.elements[i]; 

		//ÇÊ¼ö Ç×¸ñÀ» Ã¼Å©ÇÑ´Ù.  
		if (currEl.getAttribute("required") != null){ 
			if(currEl.type.toUpperCase() == "TEXT" || currEl.tagName.toUpperCase() == "SELECT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD" || currEl.type.toUpperCase() == "FILE"){ 
				if(!chkText(currEl,getName(currEl))) 
					return false; 
			} 
			else if(currEl.type.toUpperCase() == "CHECKBOX"){ 
				if(!chkCheckbox(f, currEl,getName(currEl))) 
					return false; 
			} 
			else if(currEl.type.toUpperCase() == "RADIO"){ 
				if(!chkRadio(f, currEl,currEl.hname)) 
					return false; 
			}
		}
		
		// ±æÀÌ Á¦ÇÑÀ» Ã¼Å©ÇÑ´Ù.
		if(currEl.type.toUpperCase() == "TEXT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD") {
			if(currEl.getAttribute("maxlength") != null && currEl.value.length > 0){ 
				if(!chkLength(currEl,currEl.getAttribute("maxlength"),getName(currEl))) {
					return false;
				}
			}	 
		} 

		// ÀÔ·Â ÆÐÅÏÀ» Ã¼Å©ÇÑ´Ù.
		if(currEl.getAttribute("pattern") != null && currEl.value.length > 0){ 
			if(!chkPatten(currEl,currEl.pattern,getName(currEl))) 
				return false; 
		}
	}
		
	return true;
} 

function chkPatten(field,patten,hname)
{ 
	var regNum =/^[0-9]+$/; 
	var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/; 
	var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/; 
	var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; 
	var regAlpha =/^[a-zA-Z]+$/; 
	var regHost =/^[a-zA-Z-]+$/; 
	var regHangul =/[°¡-ÆR]/; 
	var regHangulEng =/[°¡-ÆRa-zA-Z]/; 
	var regHangulOnly =/^[°¡-ÆR]*$/; 
	var regId = /^[a-zA-Z0-9_-]{4,10}$/; 
	var regPasswd = /^[a-zA-Z0-9_-]{4,10}$/; 
	var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; 
	
	patten = eval(patten);
	if(!patten.test(field.value)){ 
		alert("[" + hname + "] Ç×¸ñÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù."); 
		field.focus(); 
		return false; 
	} 
	return true; 
}
//-- ¹®ÀÚ¿­ ±æÀÌ °Ë»ç
function getLength(str) 
{
//	return (str.length + (escape(str) + "/%u").match(/%u/g).length-1);
    var l = 0;
    for (var i=0; i<str.length; i++) 
    	l += (str.charCodeAt(i) > 128) ? 2 : 1;
    return l;
}

function chkLength(field,len,hname)
{
	if(getLength(field.value) > len){ 
		alert("[" + hname + "] Ç×¸ñÀº " + "ÃÖ´ë " + len + "byte·Î ÀÔ·ÂÀÌ Á¦ÇÑµÇ¾î ÀÖ½À´Ï´Ù.\n\n(¿µ¹®¼ýÀÚ1byte,ÇÑ±Û2byte·Î °è»ê)"); 
		field.focus(); 
		return false; 
	}

	return true; 
}

function chkText(field, hname)
{ 
	if(field.value.length < 1){ 
		if (field.tagName.toUpperCase() == "SELECT")
			alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿ä."); 
		else
			alert("[" + hname + "] Ç×¸ñÀ» ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿ä."); 
			
		field.focus(); 
		return false; 
	} 
	return true; 
}

function chkSelect(field, hname)
{ 
	if(field.value.length < 1){ 
		alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿ä."); 
		field.focus(); 
		return false; 
	} 
	return true; 
}

function chkCheckbox(form, field, hname)
{
	fieldname = eval(form.name+'.'+field.name);
	if (!fieldname.checked){
		alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿ä."); 
		field.focus(); 
		return false; 
	}
	return true; 
}

function chkRadio(form, field, hname)
{
	fieldname = eval(form.name+'.'+field.name);
	for (i=0;i<fieldname.length;i++) {
		if (fieldname[i].checked)
			return true; 
	}
	alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿ä."); 
	field.focus(); 
	return false; 
} 


// ÁÖ¹Îµî·Ï¹øÈ£ °Ë»ç ·çÆ¾
function isYYYYMMDD(y, m, d) 
{
	if (d > 31) 
		return false;
		
	switch (m) 
	{
	case 2:        
		if (d > 29) 
			return false;
		if (d == 29 && ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0)))
			return false;

		break;
	case 4:        
	case 6:
	case 9:
	case 11:
		if (d > 30) 
			return false;
		break;
	default:
		break;	
	}
	
	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 chkIdNo(juminno) 
{
	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") ? 1900 : 2000;
	// Ã¹¹øÂ° ÀÚ·á¿¡¼­ ¿¬¿ùÀÏ(YYMMDD) Çü½Ä Áß ³¯Â¥ Çü½Ä °Ë»ç
	if (isYYYYMMDD(cc + parseInt(yy), parseInt(mm), parseInt(dd)) == false) 
		return false;

	// Check Digit °Ë»ç
	if (!isSSN(jumin1, jumin2)) 
		return false;

	return true;
}


function GetAge(id_no1, id_no2) 
{
	var yy = parseInt(id_no1.substring(0,2), 10);
	var mm = parseInt(id_no1.substring(2,4), 10);
	var dd = parseInt(id_no1.substring(4,6), 10);

	var s = id_no2.substring(0,1);
	if (s == 3 || s == 4 ) {
		yy += 2000;
	} else {
		yy += 1900;
	}
	
	var dt = new Date();
	var cy = dt.getFullYear();
	var cm = dt.getMonth();
	var cd = dt.getDate();
	
	if ( (cd - dd) < 0 ) {
		cm--;
	}
	if ( (cm - mm) < 0 ) {
		cy--;
	}

	return (cy - yy);
}

var n4 = (document.layers) ? true : false; 
var e4 = (document.all) ? true : false; 

//¼ýÀÚ¸¸ÀÔ·Â(onKeypress='return keyCheckdot(event)') 
function keyCheckNum(e) 
{ 
	var keyValue;

    if(n4) 
    	keyValue = e.which; 
    else if(e4) 
    	keyValue = event.keyCode;
    	 
    if (((keyValue >= 48) && (keyValue <= 57))  || keyValue == 13) 
    	return true; 
    else 
    	return false 
} 

function FormValue(fm)
{
	var nv = new Array();
	for(i = 0; i < fm.elements.length; i++)
	{ 
		el = fm.elements[i]; 
		name = el.name;
		value = el.value;
		
		if (name != '')
		{
			str = name + '|' + value;
			nv.push(str);
		}	
	}
	return nv;
}

// ÀÌ¸§ °Ë»ö Æû Submit
function submitFindForm(frm)
{
	var runner = document.getElementById("run_script");
	var i, j, currEl;
	var fieldname;
	var strParam = 'dummy=0';

	for(i = 0; i < frm.elements.length; i++){ 
		currEl = frm.elements[i];

		if(currEl.type.toUpperCase() == "TEXT" || currEl.type.toUpperCase() == "HIDDEN" || currEl.tagName.toUpperCase() == "SELECT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD"){ 
				strParam = strParam + '&' + currEl.name + '=' + currEl.value;
		}
		if(currEl.type.toUpperCase() == "CHECKBOX"){
			if (currEl.checked) {
				strParam = strParam + '&' + currEl.name + '=' + currEl.value;
			}
		}
		if(currEl.type.toUpperCase() == "RADIO"){
			if (currEl.checked) {
				strParam = strParam + '&' + currEl.name + '=' + currEl.value;
			}
		}
	}

//	document.location = '/pay/check_pay_contents.php?strParam=' + escape(strParam);
	runner.src = '/pay/check_pay_contents.php?strParam=' + escape(strParam);
}
