   /**
 * @author SHS
 * @version 0.22
 * @make : 2008/06/24
 * @modify 
 * -. 2008/06/26 : ÆûÀÌ ¿©·¯°³ ÀÏ °æ¿ì ÇØ´ç Æû¸¸ Ã¼Å© ±â´É Ãß°¡ 
 * -. 2008/06/27 : Æû Æ÷Ä¿½º ±â´É °­È­, ÀÌ¸ÞÀÏ Ã¼Å© ±â´É Ãß°¡
 * -. 2008/07/03 : Ã¼Å©¹Ú½º ±â´É Ãß°¡, ±Ý¾× ´ÜÀ§ ±â´É Ãß°¡
 * -. 2008/07/08 : return ÈÄ °¢ÆäÀÌÁö checkSubmit ¿¡¼­ Á¦¾îµÇµµ·Ï ¼öÁ¤
 * @use 
 * -. checkValidForm Ã¼Å© ÈÄ °¢ ÆäÀÌÁöÀÇ checkSubmit À¸·Î °¢ ÆäÀÌÁö Á¶Àý
 * -. class ¸íÀ» ±âÁØÀ¸·Î Ã¼Å©
 * -. checkBtn input ¹öÆ° Å¬¸¯½Ã ÇØ´ç ÆûÀ» Ã¼Å© ( button ÅÂ±× »ç¿ë½Ã FF¿¡¼­ ¿À·ù ¹ß»ý )
 * -. required ÇÊ¼ö Ç×¸ñ
 * -. numeric ¼ýÀÚ Ç×¸ñ [ Á÷Á¢ È£Ãâ½Ã : checkOnlyNum(this.name) ]
 * -. numStr ¼ýÀÚ¸¦ ±Ý¾× ´ÜÀ§·Î ³ëÃâ [ Á÷Á¢ È£Ãâ½Ã : checkNumFormat(this.name), '#' + form.name + 'Str' ¿¡ ³ëÃâ ]
 * -. engStr ¿µ¹®°ú ¼ýÀÚ¸¸ ÀÔ·Â°¡´É
 * -. jumin1, jumin2 ÁÖ¹Îµî·Ï¹øÈ£ À¯È¿¼º °Ë»ç 
 * -. ep_no1, ep_no2, ep_no3 »ç¾÷ÀÚµî·Ï¹øÈ£ Ã¼Å©,  input box ÇÏ³ª¸¸ »ç¿ë½Ã ep_no3 ¸¸ ³Ö¾îµµ ¹«¹æÇÕ´Ï´Ù.
 * -. hp1, hp2, hp3 ÇÚµåÆù ¹øÈ£ À¯È¿¼º Ã¼Å©,  input box ÇÏ³ª¸¸ »ç¿ë½Ã hp3 ¸¸ ³Ö¾îµµ ¹«¹æÇÕ´Ï´Ù.
 * -. var oFCKeditor = false | FCK ¿¡µðÅÍ¿¡¼­ ¹ÞÀº °´Ã¼¸í, ex(oFCKeditor = abcdFCKeditor) ¿¡µðÅÍ¿¡ ³»¿ëÃ¼Å©
 * -. title ÇÁ·ÎÆÛÆ¼¸¦ °æ°íÃ¢ ÀÌ¸§À¸·Î ÀÎ½Ä
 * -. emailType ÀÌ¸ÞÀÏ Å¸ÀÔ Ã¼Å© 
 * -. Ã¼Å©¹Ú½º ÀÏ °æ¿ì maxlength='2' ¾îÆ®¸®ºäÆ®·Î ÃÖ´ë °³¼ö Ã¼Å©  / required ÀÔ·Â½Ã¿¡¸¸,
 */
//==============================
 //2008.07.14 reformed by phc.
 //using elements method
 //using Regular Expression
 //add check type
 //=============================

var Social_sec_num1 = new Array();
var Social_sec_num2 = new Array();
var Enterprice_num = new Array();
var CellPhone_num = new Array();
var oFCKeditor;
var Hp_num;
var Ep_num;
$(document).ready(function(){
	$('input.checkBtn').click(function(){
		Social_sec_num1 = new Array();
		Social_sec_num2 = new Array();
		Enterprice_num = new Array();
		CellPhone_num = new Array();
		var rt = checkValidForm(this.form.name);
		if (rt){
			if(Social_sec_num1.length >= 1 && Social_sec_num1.length == Social_sec_num2.length){
				for(var Si=0; Si<Social_sec_num1.length; Si++){
					if(!form_jumin_check(Social_sec_num1[Si],Social_sec_num2[Si])){
						return false;
					}
				}
			}
			if(Enterprice_num.length >= 1){
				for(var Ei=0; Ei<Enterprice_num.length; Ei++){
					if(!form_enterprise_check(Enterprice_num[Ei])){
						return false;
					}
				}
			}
			if(CellPhone_num.length >= 1){
				for(var Ci=0; Ci<CellPhone_num.length; Ci++){
					if(!form_hp_check(CellPhone_num[Ci])){
						return false;
					}
				}
			}
			if(oFCKeditor){
				var editor_id = oFCKeditor.InstanceName;
				var editor_value = FCKeditorAPI.GetInstance(editor_id).GetXHTML();
				alert(editor_value);
				if(!editor_value){
					alert('³»¿ëÀ» ÀÔ·ÂÇÏ¼¼¿ä');
					return false;
				}
			}
			checkSubmit(this.form.name);
		}
	});
});

function checkValidForm(frmName){
	var chkRet = true;
	var chkColor = '#EEFFEE';
	var tarObj = eval("document."+frmName+".elements"); //$('form[name="' + frmName + '"] input');
	var tmpcnt = tarObj.length;
	for (i=0; i<tmpcnt; i++){
		tarObj[i].style.backgroundColor = '';
		if (!checkValue(tarObj[i])){
			if (tarObj[i].type !='radio' && tarObj[i].type !='checkbox'){
				tarObj[i].style.backgroundColor =  chkColor;
			}else{
				tarObj[i].style.backgroundColor = chkColor;
			}			
			chkRet = false;
			break;
		}
	}
	return chkRet;
}

function checkValue(jqObj){
	var ret = true;
	var tType = jqObj.type;
	var tClass = jqObj.className;
	var tValue = jqObj.value;
	var tName = jqObj.name;
	var tTitle = jqObj.title;
	if (tType == 'text' || tType == 'password' || tType == 'textarea')
	{
		if (tValue == '')
		{
			if (tType != 'button' && tType != 'hidden' && tClass.match(/required/) != null)
			{
				alert(tTitle + ' Ç×¸ñÀ» Ã¼Å©ÇØ ÁÖ¼¼¿ä.');
				jqObj.focus();
				ret = false;
			}
		}
		else
		{
			if (tClass.match(/numeric/i) != null){
				ret = checkOnlyNum(tName);
			}
			
			if (tClass.match(/numStr/i) != null){
				checkNumFormat(tName);				
			}
			
			if (tClass.match(/emailType/i) != null){
				ret = checkEmailType(tValue);				
			}

			if (tClass.match(/engStr/i) != null){
				ret = checkStrFormat(tName);				
			}

			if (tClass.match(/jumin1/i) != null){
				Social_sec_num1[Social_sec_num1.length] = tName;
			}

			if (tClass.match(/jumin2/i) != null){
				Social_sec_num2[Social_sec_num2.length] = tName;			
			}

			if (tClass.match(/ep_no1/i) != null){
				Ep_num = tValue;				
			}

			if (tClass.match(/ep_no2/i) != null){
				Ep_num += tValue;				
			}

			if (tClass.match(/ep_no3/i) != null){
				Ep_num += tValue;
				Enterprice_num[Enterprice_num.length] = Ep_num;
			}

			if (tClass.match(/hp1/i) != null){
				Hp_num = tValue;	
			}

			if (tClass.match(/hp2/i) != null){
				Hp_num += tValue;				
			}

			if (tClass.match(/hp3/i) != null){
				Hp_num += tValue;			
				CellPhone_num[CellPhone_num.length] = Hp_num;
			}
		}
	}
	else if (tType == 'radio' || tType == 'checkbox') 
	{
		if(tClass.match(/required/i) != null){
			ret = checkRadio(tName);
		}
	}
	return ret;
}

function checkRadio(str){
	var ret = true;
	tObj = $('input[name=' + str + ']:checked');
	var tmpcnt = 1;
	if ($('input[@name=' + str + ']').attr('type')=='checkbox')
	{
		tmpcnt = $('input[@name=' + str + ']').attr('maxlength');
	}
	var tmptxt = '';
	if (tmpcnt>1) 
	{
		tmptxt = '(' + tmpcnt + '°³)';
	}
	
	if (tObj.size()<tmpcnt)
	{
		tObj = $('input[name=' + str + ']').eq(0);
		alert(tObj.attr('title') + ' Ç×¸ñ' + tmptxt + 'À» Ã¼Å©ÇØ ÁÖ¼¼¿ä.');
		tObj.focus();
		ret = false;
	}
	return ret;
}

function checkOnlyNum(str){
	var ret = true;
	tObj = $('input[name=' + str + ']');
	tmp = tObj.attr('value');
	if (tmp!='')
	{
		tmp = tmp.trim();
		tmp = tmp.replaceAll(',', '');
		if (isNaN(tmp) || tmp=='')
		{
			alert('¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.');
			tObj.attr('value','');			
			tObj.focus();
			ret = false;
		}
		else
		{
			tObj.attr('value',tmp);
		}
	}	
	
	return ret;
}

function checkInstr(oStr, tStr){
	if (oStr.indexOf(tStr, 0)>-1)
		return true;
	else
		return false;
}

function checkNumFormat(str1){		
	tmpstr = '';
	tmporg = '';
	kk = 0;
	tObj = $('input[name=' + str1 + ']');
	sObj = $('#' + str1 + 'Str');
	str = tObj.attr('value');
	tLen = str.length;	
	for (k=0; k<tLen; k++)
	{
		tmpstr += str.substr(k, 1);
		tmporg += str.substr(k, 1);
		kk++;
		
		if (k == 0 && tmporg == 0) 
		{
			tObj.attr('value','');
			sObj.html('');
			return false;
		}
		else
		{
			tmpstr += checkUnitStr(tLen-k, str);
			
			if (str.substr(k, 1)>0)
			{
				switch ((tLen-k)%4)
				{
					case 3: tmpstr += '¹é'; break;
					case 2: tmpstr += '½Ê'; break;
					case 0: tmpstr += 'Ãµ'; break;
				}
			}
		
			tmpstr = tmpstr.replaceAll('1', 'ÀÏ');
			tmpstr = tmpstr.replaceAll('2', 'ÀÌ');
			tmpstr = tmpstr.replaceAll('3', '»ï');
			tmpstr = tmpstr.replaceAll('4', '»ç');
			tmpstr = tmpstr.replaceAll('5', '¿À');
			tmpstr = tmpstr.replaceAll('6', 'À°');
			tmpstr = tmpstr.replaceAll('7', 'Ä¥');
			tmpstr = tmpstr.replaceAll('8', 'ÆÈ');
			tmpstr = tmpstr.replaceAll('9', '±¸');
			tmpstr = tmpstr.replaceAll('0', '');
			
			if ((tLen-k)%3 == 1 && k < tLen-1) tmporg += ',';
		}
	}
	tObj.attr('value', tmporg);
	sObj.html(tmpstr + ' ¿ø');
	if (tmporg.length==0) sObj.html(''); 
}

function checkUnitStr(dvn, str){
	var tmps = '';
	if (dvn == 5) {tmps = '¸¸ ';}
	else if (dvn == 9) {tmps = '¾ï ';}
	else if (dvn == 13) {tmps = 'Á¶ ';}
	if (str.length > (dvn+3)) 
	{
		if (str.substr((str.length-(dvn+3)), 4) == '0000') { tmps = '';}
	}
	return tmps;
}

function checkComma(obj){
	var str = obj.value;
	if (str){
		str = addComma(str);
	}
	obj.value = str; 
}

function addComma(str){
	if (str){
		str = removeComma(str);		

		var input = String(str); 
		var reg = /(\-?\d+)(\d{3})($|\.\d+)/; 
		if(reg.test(input)){ 
			return input.replace(reg, function(str, p1,p2,p3){ 
					return addComma(p1) + "," + p2 + "" + p3; 
				}     
			); 
		}else{ 
			return input; 
		}	 
	}
}

function removeComma(str){
	if (str) 
	{
		return str.replaceAll(',', '');
	}  
}

function checkEmailType(strEmail){
	var ret = true;
	ret = (/\w+([-+.]\w+)*@\w+([-.]\w+)*\.[a-zA-Z]{2,4}$/).test(strEmail);
	
	if (ret == false){
		alert('ÀÌ¸ÞÀÏ Çü½Ä¿¡ ¸ÂÁö ¾Ê½À´Ï´Ù.');
		$('input[value=' + strEmail +']').focus();			
	}
	
	return ret;
}
function form_enterprise_check(strNumb) {
	if (strNumb) {
		sumMod  =   0;
		sumMod  +=  parseInt(strNumb.substring(0,1));
		sumMod  +=  parseInt(strNumb.substring(1,2)) * 3 % 10;
		sumMod  +=  parseInt(strNumb.substring(2,3)) * 7 % 10;
		sumMod  +=  parseInt(strNumb.substring(3,4)) * 1 % 10;
		sumMod  +=  parseInt(strNumb.substring(4,5)) * 3 % 10;
		sumMod  +=  parseInt(strNumb.substring(5,6)) * 7 % 10;
		sumMod  +=  parseInt(strNumb.substring(6,7)) * 1 % 10;
		sumMod  +=  parseInt(strNumb.substring(7,8)) * 3 % 10;
		sumMod  +=  Math.floor(parseInt(strNumb.substring(8,9)) * 5 / 10);
		sumMod  +=  parseInt(strNumb.substring(8,9)) * 5 % 10;
		sumMod  +=  parseInt(strNumb.substring(9,10));
	
		if (sumMod % 10  !=  0) {
			alert('Àß¸øµÈ »ç¾÷ÀÚµî·Ï¹øÈ£ÀÔ´Ï´Ù.');
			//strNumb.focus();
			return false;
		}
	}
	return true;
}
function checkStrFormat(key){
	tObj = $('input[name=' + key + ']');
	tmp = tObj.attr('value');
	var pattern = /(^[a-zA-Z0-9\-]+$)/;
	if(!pattern.test(tmp)){
		alert('¿µ¹®°ú ¼ýÀÚ¸¸ ÀÔ·Â°¡´ÉÇÕ´Ï´Ù.');
		tObj.focus();
		return false;
	}
	return true;
}
function form_jumin_check(key1,key2) {
	var jumin1 = $('input[name=' + key1 + ']');
	var jumin2 = $('input[name=' + key2 + ']');
	if(jumin1.attr('value') || jumin2.attr('value')){
		var digit=0
		for (var i=0;i<jumin1.attr('value').length;i++){
			var str_dig=jumin1.attr('value').substring(i,i+1);
			if (str_dig<'0' || str_dig>'9'){ 
				digit=digit+1 
			}
		}

		if ((jumin1.attr('value') == '') || ( digit != 0 )){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin1.focus();
			return false;   
		}

		var digit1=0
		for (var i=0;i<jumin2.attr('value').length;i++){
			var str_dig1=jumin2.attr('value').substring(i,i+1);
			if (str_dig1<'0' || str_dig1>'9'){ 
				digit1=digit1+1 
			}
		}

		if ((jumin2.attr('value') == '') || ( digit1 != 0 )){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin2.focus();
			return false;   
		}

		if (jumin1.attr('value').substring(2,3) > 1){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin1.focus();
			return false;   
		}

		if (jumin1.attr('value').substring(4,5) > 3){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin1.focus();
			return false;   
		} 

		if (jumin2.attr('value').substring(0,1) > 4 || jumin2.attr('value').substring(0,1) == 0){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin2.focus();
			return false;   
		}

		var a1=jumin1.attr('value').substring(0,1)
		var a2=jumin1.attr('value').substring(1,2)
		var a3=jumin1.attr('value').substring(2,3)
		var a4=jumin1.attr('value').substring(3,4)
		var a5=jumin1.attr('value').substring(4,5)
		var a6=jumin1.attr('value').substring(5,6)

		var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7

		var b1=jumin2.attr('value').substring(0,1)
		var b2=jumin2.attr('value').substring(1,2)
		var b3=jumin2.attr('value').substring(2,3)
		var b4=jumin2.attr('value').substring(3,4)
		var b5=jumin2.attr('value').substring(4,5)
		var b6=jumin2.attr('value').substring(5,6)
		var b7=jumin2.attr('value').substring(6,7)

		var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5 

		check_digit = check_digit%11
		check_digit = 11 - check_digit
		check_digit = check_digit%10

		if (check_digit != b7){
			alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ã°í ÀÔ·ÂÇØ ÁÖ¼¼¿ä.');
			jumin2.focus();
			return false;   
		}
	}
return true;
}

function form_hp_check(key){
	if (key.match(/-/i) != null){
		var arg = "-";
	}else{
		var arg = "";
	}
	var chk = eval("(/01[016789]" + arg + "[1-9]{1}[0-9]{2,3}" + arg + "[0-9]{4}$/)");
	if(key.match(chk) == null){
		alert("Àß¸øµÈ ÇÚµåÆù ¹øÈ£ÀÔ´Ï´Ù.");
		//key.focus();
		return false;
	}
return true;
}

String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/gi, "");
}

String.prototype.replaceAll = function(str1, str2){
	var temp_str = "";

	if (this.trim() != "" && str1 != str2){
		temp_str = this.trim();

		while (temp_str.indexOf(str1) > -1){
			temp_str = temp_str.replace(str1, str2);
		}
	}

	return temp_str;
} 
