/**********************************************************************************************************
'ÇÁ·Î±×·¥¸í	: function.js
'¼öÁ¤³¯Â¥	: 2008-05-05
'*********************************************************************************************************/

//Æ®¸®¹Ö
String.prototype.Trim= new Function("return this.replace(/^\\s+|\\s+$/g,'')")	

// ÇÊ¼ö ÀÔ·Â°ª À¯¹«Ã¼Å©ÇÑÈÄ °æ°íÃ¢ ¶Ù¿ì±â
//inputCheck("ÆûÀÌ¸§", "¿¤¸®¸ÕÆ®ÀÌ¸§", "Ç×¸ñ", "¹®ÀÚ/¼ýÀÚ/ÇÑ±Û/¿µ¹®/¿µ¹®,¼ýÀÚ/ÀÌ¸ÞÀÏ/ÀüÈ­¹øÈ£(S,N,K,E,EN,EM,T)", ["±æÀÌ±¸ºÐ(S:small, B:big, F:fix, R:range)"], [ÃÖ¼Ò±æÀÌ], [ÃÖ´ë±æÀÌ], "ÇÊ¼ö¿©ºÎ(Y/N)")
//if(!inputCheck("form1", "id", "¾ÆÀÌµð", "EN", "R", "4", "16", "Y")){return false;}
//if(!inputCheck("form1", "pwd", "ÆÐ½º¿öµå", "EN", "R", "4", "16", "Y")){return false;}
//if(!inputCheck("form1", "aa", "¼¿·ºÆ®", "S", "", "", "", "Y")){return false;}
//if(!inputCheck("form1", "bb", "Ã¼Å©", "S", "", "", "", "Y")){return false;}
//if(!inputCheck("form1", "cc", "¶óµð¿À", "S", "", "", "", "Y")){return false;}
function inputCheck(form_name,elm,msg,strORNum,len_gubun,s_len,b_len,essential)
{
	if(!eval("document."+ form_name +"."+ elm)){
		alert(elm + " is undefined element.");
		return false;
	}
	var form = eval("document."+ form_name +"."+ elm);
	if(form.type=="text" || form.type=="textarea" || form.type=="password" || form.type=="file"){
	//ÅØ½ºÆ® ¹Ú½º, ÅØ½ºÆ® ¿µ¿ª
		var inputStr = form.value.Trim();
		if(essential=="Y"){
			if (inputStr==""){
				alert("Please fill in " + msg + ".");
				form.value="";
				try{
					form.focus();
				}catch(e){
				
				}
				return false;
			}
		}else{
			if (inputStr==""){
				return true;
			}
		}
		
		if(!FuncCheck(strORNum,form_name,elm,msg)){return false;}

		if (len_gubun!=""){
			if(!lenCheck(form_name, elm, msg ,len_gubun,s_len,b_len)){return false;}
		}
	}else if(form.type==undefined || form.type=="radio"){
	//¶óµð¿À ¹öÆ°
		if(!form.length){
			if(form.type=="radio"){
				if(!form.checked){
					alert("Please select " + msg + ".");
					return false;	
				}
				return true;
			}else{
				alert(form.type);
				return false;
			}
			
		}
		var elm_len = form.length;
		var ok = 0;
		if(elm_len<=0){
			alert(elm + " is undefined element.");
			return false;
		}
		for(var i=0;i<elm_len;i++) { 
			if (form[i].checked) { 
				ok = i+1;
			}
		}

		if(ok < 1) { 	
			alert("Please select " + msg + ".");
			return false;
		}
	}else if(form.type=="checkbox"){
	//Ã¼Å©¹Ú½º
		if(essential=="Y"){
			if(!form.checked){
				alert("Please select " + msg + ".");
				return false;
			}
		}
	}else if(form.type.indexOf("select") != -1){
	//¼¿·ºÆ® ¹Ú½º
		var inputStr = form.options[form.selectedIndex].value;
		if(essential=="Y"){
			if (inputStr==""){
				alert("Please select " + msg + ".");
				form.value="";
				form.focus();
				return false;
			}
		}else{
			if (inputStr==""){
				return true;
			}
		}

		if(!FuncCheck(strORNum,form_name,elm,msg)){return false;}

		if (len_gubun!=""){
			if(!lenCheck(form_name, elm, msg ,len_gubun,s_len,b_len)){return false;}
		}
	}else{
	//±×¿Ü
		alert( form.type);
		return false;
	}
	return true;
}

//ÇÔ¼ö°ªÃ¼Å©
function FuncCheck(value,form_name,elm,msg){
	switch (value){
		case "S":
			//¹®ÀÚ
			break;
		case "N":
			//¼ýÀÚ
			if(!IsNumber(form_name,elm,msg)){return false;}
			break;
		case "K":
			//ÇÑ±Û
			if(!IsKor(form_name,elm,msg)){return false;}
			break;
		case "E":
			//¿µ¹®
			if(!IsEng(form_name,elm,msg)){return false;}
			break;
		case "EN":
			//¿µ¹®,¼ýÀÚ
			if(!IsNumEng(form_name,elm,msg)){return false;}
			break;
		case "EM":
			//ÀÌ¸ÞÀÏ
			if(!IsEmail(form_name,elm,msg)){return false;}
			break;
		case "T":
			//ÀüÈ­¹øÈ£
			if(!IsPhone(form_name,elm,msg)){return false;}
			break;
		default:
	}
	return true;
}

//ÀÔ·Â°ªÀÌ ¼ýÀÚÀÎÁö Ã¼Å©
//»ç¿ë¹ý IsNumber(ÆûÀÌ¸§, ¿¤¸®¸ÕÆ®ÀÌ¸§, À¯È¿ÇÏÁö ¾ÊÀ»°æ¿ì ¸Þ¼¼Áö)
function IsNumber(form_name,elm,msg) 
{
	var form = eval("document."+ form_name +"."+ elm);
	for(var i = 0; i < form.value.length; i++) {
		var chr = form.value.substr(i,1);
		if(chr < '0' || chr > '9') {            
			alert("Please use numbers only " + msg +  ".");
			form.focus();
			return false;
		}
	}
	return true;   
}

//±æÀÌÃ¼Å©
//»ç¿ë¹ý lenCheck("ÆûÀÌ¸§", "¿¤¸®¸ÕÆ®ÀÌ¸§", "Ç×¸ñ", "±æÀÌ±¸ºÐ(S:small, B:big, F:fix, R:range)", [ÃÖ¼Ò±æÀÌ], [ÃÖ´ë±æÀÌ])
function lenCheck(form_name, elm, msg ,len_gubun,s_len,b_len)
{
	var form = eval("document."+ form_name +"."+ elm);
	var inputStr = form.value.Trim()
	if (len_gubun=="S"){	//º¸´Ù ÀÛÀº °ª
		if (inputStr.length > parseInt(s_len)){
			alert(msg + " must be longer than " + s_len + " characters.");
			form.focus();
			return false;
		}
	}else if (len_gubun=="B"){	//º¸´Ù Å« °ª
		if (inputStr.length < parseInt(s_len)){
			alert(msg + " must be no longer than " + s_len + " characters.");
			form.focus();
			return false;
		}
	}else if (len_gubun=="F"){	//°íÁ¤µÈ °ª
		if (inputStr.length != parseInt(s_len)){
			alert(msg + " must be " + s_len + " characters.");
			form.focus();
			return false;
		}
	}else if (len_gubun=="R"){	//¹üÀ§ °ª
		if (inputStr.length < parseInt(s_len) || inputStr.length > parseInt(b_len)){
			alert(msg + " must be at least " + s_len + " and no longer than "+ b_len + " characters in length.");
			form.focus();
			return false;
		}
	}
	return true;
}

//ÇÑ±Û¸¸ ÀÔ·Â
//»ç¿ë¹ý IsKor(ÆûÀÌ¸§, ¿¤¸®¸ÕÆ®ÀÌ¸§, Ç×¸ñ)
function IsKor(form_name,elm,msg) 
{
	var form = eval("document."+ form_name +"."+ elm);
	var inputStr = form.value.Trim();
	for(var i = 0; i < inputStr.length; i++) {
		 var chr = inputStr.substr(i,1);         
		 if ((chr > '0' && chr < '9') || (chr > 'a' && chr < 'z') || (chr > 'A' && chr < 'Z')) {
			alert(msg + " Ç×¸ñÀº ÇÑ±Û·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
			form.focus();
			return false;
		 }
	}
	return true;
}

//¿µ¹® ÀÔ·Â
//»ç¿ë¹ý IsEng(ÆûÀÌ¸§, ¿¤¸®¸ÕÆ®ÀÌ¸§, Ç×¸ñ)
function IsEng(form_name,elm,msg) 
{
	var form = eval("document."+ form_name +"."+ elm);
	var inputStr = form.value.Trim()
	for(var i = 0; i < inputStr.length; i++) {
		 var chr = form.value.substr(i,1);         
		 if ((chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z')) {
			alert(msg + " Ç×¸ñÀº ¿µ¹®À¸·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
			form.focus();
			return false;
		 }
	}
	return true;   
}

//¿µ¹® ¼ýÀÚÁ¶ÇÕ ÀÔ·Â
//»ç¿ë¹ý IsNumEng(ÆûÀÌ¸§, ¿¤¸®¸ÕÆ®ÀÌ¸§, Ç×¸ñ)
function IsNumEng(form_name,elm,msg) 
{
	var form = eval("document."+ form_name +"."+ elm);
	var inputStr = form.value.Trim()
	for(var i = 0; i < inputStr.length; i++) {
		 var chr = form.value.substr(i,1);         
		 if ((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z')) {
			alert(msg + " Ç×¸ñÀº ¿µ¹® ¶Ç´Â ¿µ¹®/¼ýÀÚ Á¶ÇÕÀ¸·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
			form.focus();
			return false;
		 }
	}
	return true;   
}

//ÀÌ¸ÞÀÏÃ¼Å©(µµ¸ÞÀÎ)
//»ç¿ë¹ý IsEmail(ÆûÀÌ¸§, ¿¤¸®¸ÕÆ®ÀÌ¸§, Ç×¸ñ)
function IsEmail(form_name,elm,msg) 
{
	var form = eval("document."+ form_name +"."+ elm);
	var inputStr = form.value.Trim();
	if (inputStr=='')
	{
		alert(msg+"À» ÀÔ·ÂÇØÁÖ¼¼¿ä.");
		form.focus();
		return false;
	}
	emailchk = 0;
	for (var j=0; j < inputStr.length ; j++ ) {
		var ch= inputStr.substring(j,j+1);
		if (ch == "@" | ch== "." ) {
			emailchk = emailchk + 1;
		}
	}
	if (emailchk < 2 ) {
		alert(msg+" ÁÖ¼Ò°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.");
		form.focus();
		return false;
	}
	return true;
}

//ÁÖ¹Îµî·Ï¹øÈ£ ÀÔ·Â°ª À¯¹«Ã¼Å©ÇÑÈÄ °æ°íÃ¢ ¶Ù¿ì±â
function juminCheck(form_name, elm1, elm2, essential)
{
	if (essential == 'Y'){
		var jform1 = eval("document."+ form_name +"."+ elm1);
		var jform2 = eval("document."+ form_name +"."+ elm2);
		var j = jform1.value + jform2.value;
		if (jCheck(j))
		{
			return true;
		}else{
			alert("ÁÖ¹Î¹øÈ£°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.");
			jform1.value="";
			jform2.value="";
			jform1.focus();
			return false;
		}
	}else if(essential == 'N'){
		var jform1 = eval("document."+ form_name +"."+ elm1);
		var jform2 = eval("document."+ form_name +"."+ elm2);
		var j = jform1.value + jform2.value;

		if (j=='')
		{
			return true;
		}
		
		if (jCheck(j))
		{
			return true;
		}else{
			alert("ÁÖ¹Î¹øÈ£°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.");
			jform1.value="";
			jform2.value="";
			jform1.focus();
			return false;
		}	
	}
}

///ÁÖ¹Î ¹øÈ£ À¯È¿ Ã¼Å©
function jCheck(j)
{
	var resno = j;

	// ÁÖ¹Î¹øÈ£ÀÇ ÇüÅÂ¿Í 7¹øÂ° ÀÚ¸®(¼ºº°) À¯È¿¼º °Ë»ç
	fmt = /^\d{6}[1234]\d{6}$/;
		if (!fmt.test(resno)) {
		return false;
	}

	// ³¯Â¥ À¯È¿¼º °Ë»ç
	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) {
	}

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

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

	if ((11 - (sum % 11)) % 10 != buf[12]) {
		return false;
	}

	jumin2_val = resno.substr(6)
	if(jumin2_val == '0000000' || jumin2_val == '1111111' || jumin2_val == '2222222' ||
	jumin2_val == '3333333' || jumin2_val == '4444444' || jumin2_val == '5555555' ||
	jumin2_val == '6666666' || jumin2_val == '7777777' || jumin2_val == '8888888' || 	
	jumin2_val == '9999999') {
		return false;
	}

	return true;
}

//ÀüÈ­¹øÈ£ Ã¼Å©
function IsPhone(form_name,elm,msg) {
	var form = eval("document."+ form_name +"."+ elm);
	var regPhone =/^[0]{1}[0-9]{1,2}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/;

	if(!regPhone.test(form.value)){
		alert(msg + "°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.");
		form.select();
		return false;
	}
	return true;
}

//ÅØ½ºÆ® ¹Ú½º auto tab ±â´É
function textAutoTab(currElm,nextElm,n){
//	OnKeyUp="textAutoTab('ÇöÀçelm¸í', '¿Å°Ü°¥ elm¸í', '±ÛÀÚ¼ö')"
	thisValue = document.all(currElm).value;
	nextControl = document.all(nextElm);
	if(thisValue.length==parseInt(n)){
		nextControl.focus();
	}
}

//ÆË¾÷ Áß¾Ó¿¡ ¶ç¿ì±â
//NewWindow("URL", "ÆË¾÷¸í", "°¡·ÎSize", "¼¼·ÎSize", "½ºÅ©·Ñ¹Ù") 
function NewWindow(mypage, myname, w, h, scroll)
{
	var win = null;
	
	LeftPosition=(screen.width) ? (screen.width-w)/2 : 0;
	TopPosition=(screen.height) ? (screen.height-h)/2 : 0;				
	settings='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',resizable=yes, scrollbars=' + scroll
	win=window.open(mypage,myname,settings);
}

//ÆäÀÌÁö ¸®»çÀÌÁî
function doResize(name)
{
	try
	{
		var oBody   = document.frames(name).document.body;
		var oIFrame = document.all(name);
		var frmWidth  = oBody.scrollWidth;
		var frmHeight = oBody.scrollHeight;
		if(frmHeight ==0){
			alert("ÇÁ·¹ÀÓÀÇ »çÀÌÁî Á¶ÀýÁßÀÔ´Ï´Ù.");			
			frmWidth  = oBody.scrollWidth;
			frmHeight = oBody.scrollHeight;			
		}
		
		oIFrame.style.height = frmHeight;
		oIFrame.style.width = frmWidth;
	}
	catch (e)
	{
		window.status = "IFrame Resize Error";
	}
}

//±ÛÀÚ¼ö Á¦ÇÑ
function updateChar(form_name, length_limit, seq)
{
	var comment = eval("document."+form_name+"."+seq);
	var form = "document."+form_name;
	var length = calculate_msglen(comment.value);
	//document.getElementById("textlimit").innerHTML = length;
	if (length > length_limit) {
		alert("ÇÑ±Û ±âÁØ ÃÖ´ë "+(length_limit/2)+"ÀÚ("+length_limit+"Byte)±îÁö ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
		comment.value = comment.value.replace(/\r\n$/, "");
		comment.value = assert_msglen(comment.value, length_limit);
	}
}

function calculate_msglen(message)
{
	var nbytes = 0;

	for (i=0; i<message.length; i++) {
		var ch = message.charAt(i);
		if(escape(ch).length > 4) {
			nbytes += 2;
		} else if (ch == '\n') {
			if (message.charAt(i-1) != '\r') {
				nbytes += 1;
			}
		} else if (ch == '<' || ch == '>') {
			nbytes += 4;
		} else {
			nbytes += 1;
		}
	}

	return nbytes;
}

function assert_msglen(message, maximum)
{
	var inc = 0;
	var nbytes = 0;
	var msg = "";
	var msglen = message.length;

	for (i=0; i<msglen; i++) {
		var ch = message.charAt(i);
		if (escape(ch).length > 4) {
			inc = 2;
		} else if (ch == '\n') {
			if (message.charAt(i-1) != '\r') {
				inc = 1;
			}
		} else if (ch == '<' || ch == '>') {
			inc = 4;
		} else {
			inc = 1;
		}
		if ((nbytes + inc) > maximum) {
			break;
		}
		nbytes += inc;
		msg += ch;
	}
	return msg;
}	