function auto_birth(form){
	var year_first;
	if (form.jumin2.value.substr(0, 1)>2) year_first = 20;
	else year_first = 19;
	form.birth_year.value = year_first + form.jumin1.value.substr(0, 2);
	form.birth_month.value = form.jumin1.value.substr(2, 2);
	form.birth_day.value = form.jumin1.value.substr(4, 2);
}
function check_id(form){
	var element = form; 
	var value = form.value; 
	if( !value.match( pattern["user_id"] ) ){
		return form_error( element, "valid" ); 
	}
	else {
		window.open('idcheck.php3?id='+value,'','width=200,height=100,toolbar=no,status=no,resizable=no');
	}
}
function check_jumin(value){
	var element = document.write_add.jumin1;
	if( !value.match( pattern["jumin"] ) ){
		return form_error( element, "valid" ); 
	}
	else {
		window.open('jumincheck.php3?jumin='+value,'','width=200,height=100,toolbar=no,status=no,resizable=no');
	}
}

function zip_search (kind) {
	window.open('post.php?kind='+kind,'','resizable=yes,scrollbars=yes, width=400,height=350'); 
}



var is_submit = 0; 
var pattern = new Array(); 

pattern["jumin"] =/^[0-9]{6}-[0-9]{7}$/;                     //
pattern["num"] = /^[0-9]+$/; 
pattern["han"] = /^[°¡-ÆR]+$/; 
pattern["_han"] = /^[°¡-ÆR ]+$/; 
pattern["eng"] = /^[a-zA-Z]+$/; 
pattern["_eng"] = /^[a-zA-Z ]+$/; 
pattern["eng_num"] = /^[a-zA-Z0-9]+$/; 
pattern["_eng_num"] = /^[a-zA-Z0-9 ]+$/; 

pattern["email"] = /^[_a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+\.[a-zA-Z]+$/; 
pattern["url"] = /^[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/; 

pattern["phone1"] = /^[0-9]{2,3}$/; 
pattern["phone2"] = /^[0-9]{3,4}$/; 
pattern["phone3"] = /^[0-9]{3,4}$/; 
pattern["phone"] = /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{3,4}$/; 

pattern["birth1"] = /^[0-9]{4}$/; 
pattern["birth2"] = /^[0-9]{1,2}$/; 
pattern["birth3"] = /^[0-9]{1,2}$/; 


pattern["zip"] = /^[0-9]{3}-[0-9]{3}$/; 
pattern["reg_num1"] = /^[0-9]{6}$/; 
pattern["reg_num2"] = /^[1-4]{1}[0-9]{6}$/; 
pattern["reg_num"] = /^[0-9]{6}-[1-4]{1}[0-9]{6}$/; 

// custom pattern 
pattern["user_id"] = /^[a-z]{1}[a-z0-9_-]{3,12}$/; 
pattern["id"] = /^[a-z]{1}[a-z0-9_-]{2,12}$/; 

pattern["password"] = /^[a-z0-9_-]{4,15}$/; 
pattern["password2"] = /^[a-z0-9_-]{4,15}$/; 




///^[a-zA-Z]{1}[a-zA-Z0-9_-]{15}$/; 


function check_form( form ) { 
	for( i = 0; i < form.elements.length; i++ ) { 
		var element = form.elements[i]; 
		var name = element.name; 
		var hname = element.hname; 
		var herror = element.herror; 
		var value = element.value; 
		var require = element.getAttribute("require"); 
		var nofocus = element.getAttribute("nofocus"); 
		var checkbox_require = element.getAttribute("checkbox_require"); 
		var select_require = element.getAttribute("select_require"); 
		var option = element.getAttribute("option"); 

		if( require == 1 && (!value || value == null) ) {
			return form_error( element, "is_null" ); 
		} 
		else if( checkbox_require == 1 && (!element.checked) ) {
			return form_error( element, "is_null" ); 
		} 
		else if( select_require == 1 && (element.selectedIndex < 1) ) {
			return form_error( element, "is_null" ); 
		} 
		else if( option && value ) { 
			switch( option ) { 
				case "reg_num2": 
					resno = form.jumin1.value+form.jumin2.value
						// ÁÖ¹Î¹øÈ£ÀÇ ÇüÅÂ¿Í 7¹øÂ° ÀÚ¸®(¼ºº°) À¯È¿¼º °Ë»ç
					fmt = /^\d{6}[1234]\d{6}$/;
					if (!fmt.test(resno)) {
						return form_error( element, "valid" ); 					
					}

					// ³¯Â¥ À¯È¿¼º °Ë»ç
					birthYear = (resno.charAt(6) <= '2') ? '19' : '20';
					birthYear += resno.substr(0, 2);
					birthMonth = resno.substr(2, 2) - 1;
					birthDate = resno.substr(4, 2);
					birth = new Date(birthYear, birthMonth, birthDate);

					if ( birth.getYear()%100 != resno.substr(0, 2) || birth.getMonth() != birthMonth || birth.getDate() != birthDate) {
						return form_error( element, "valid" ); 
					}

					// Check Sum ÄÚµåÀÇ À¯È¿¼º °Ë»ç
					buf = new Array(13);
					for (p = 0; p < 13; p++) buf[p] = parseInt(resno.charAt(p));

					multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
					for (p = 0, sum = 0; p < 12; p++) sum += (buf[p] *= multipliers[p]);

					if ((11 - (sum % 11)) % 10 != buf[12]) {
						return form_error( element, "valid" ); 
					}
				break; 
				case "password2":
					if(form.password.value!=form.password1.value){
						alert('ÆÐ½º¿öµå°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.');
						form.password.value='';
						form.password1.value=''; 
						form.password.focus(); 
						return false;
					}

				default: 
					if( !value.match( pattern[option] ) ){ return form_error( element, "valid" ); } 
			} 
		} 
	} 

	return ( is_submit ) ? false : true; 
} 


//----------------------------------------------------------------------------- 
// boolean form_error( object element, string state ) 
//----------------------------------------------------------------------------- 
function form_error( element, state ) 
{ 
name = (element.hname) ? element.hname : element.name; 
error = (element.herror) ? element.herror : name + "ÀÇ Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù."; 
error2 = (element.herror) ? element.herror : name + " Ç×¸ñÀº ÇÊ¼ö ÀÔ´Ï´Ù."; 

switch( state ) 
{ 
case "is_null": 
alert( error2  ); 
break; 

case "valid": 
alert( error ); 
element.select(); 
break; 
} 

	if(!element.nofocus) {
		element.focus(); 
	}
return false; 
} 
