/* =================================================================
	LigChkForm()
	°¢ Fieldº° ÀÔ·Â°ª Ã¼Å©ÀÔ·Â°ªÀ» Ã¼Å©ÇÏ°í alert¸¦ Ãâ·ÂÇÑ ÈÄ
	ÇØ´çÇÏ´Â Field¿¡ Focus¸¦ ¸ÂÃá´Ù
--------------------------------------------------------------------
	formField		°ªÀ» CheckÇÒ Field
	checkName	Ã¼Å©ÇÒ °ªÀÇ Á¾·ù
	message		Ãâ·ÂÇÒ ¸Þ½ÃÁö ¾ÕºÎºÐ (ex. 'Á¦¸ñÀº ')
	minlength		ÃÖ¼Ò ±æÀÌ
	maxlength		ÃÖ´ë ±æÀÌ (minlength¿Í maxlength ¸ðµÎ 0 ÀÌ¸é ±æÀÌ¸¦ Ã¼Å©ÇÏÁö ¾ÊÀ½)
	@return			Á¤»óÀûÀÎ °ªÀÌ¸é true, ±×·¸Áö¾ÊÀ¸¸é false
================================================================= */
function LigChkForm(formField, checkName, message, minlength, maxlength) {

	formField.value = formField.value.ltrim().rtrim()
	formValue = formField.value;

	//  -------------------- ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Ò °æ¿ì ±æÀÌ Check  --------------------
	if((checkName != 'jumin' || checkName!='number') || (minlength == maxlength == 0)){
		if (formField == null ) {
			return false;
		}

		if (formValue == '' && minlength > 0){
			alert(message + " ÇÊ¼öÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.");
			_cmdfocus(formField);
			return false;
		}
		
		if (minlength > 1 && formValue.strLen() < minlength) {
			alert(message+'ÃÖ¼Ò '+minlength+'ÀÚ ÀÌ»ó ÀÔ·ÂÇÏ¼¼¿ä.');
			_cmdfocus(formField);
			return false;
		}
		
		if (formValue.strLen() > maxlength) {
			alert(message+'ÃÖ´ë '+minlength+'ÀÚ±îÁö ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.');
			_cmdfocus(formField);
			return false;
		}
		 
	}

	//	 -------------------- ¿å¼³ Check  --------------------
	slang = new Array("cunt","shit","fuck","asshole","motherfucker","suck","pussy","cock","sux","dick","bitch","damn","sucker","fucker",
			"°³»õ³¢","°³ÀÚ½Ä","°³½¦ÀÌ","ÀÌ»õ³¢","Àú»õ³¢","±×»õ³¢","¾¾¹ú","½ÃÆÈ","½Ã¹ß","½Ã¹ú","¾¾ºÎ¶ö","¾¾ºÎ·²","¾Ã","½Ê»õ³¢","½Ê»õ","½Ê½¦ÀÌ","18³ð",
			"18³Ñ","18³â","Á¿","¹ÌÄ£³ð","¹ÌÄ£³Ñ","¹ÌÄ£³â","¹ÌÄ£»õ³¢","¿ÀÀÔ","¿°º´","¿¥º´","Áö¶ö","Á¥¹ä","°³œq","°³½¦","°³»Ô","°³»õ","°³¼¼","°³»õ³¢",
			"°³ÇãÁ¢","µù½Ã","µù½Å","µ¹¾ÆÀÌ","¶Ê¾ÆÀÌ","¶Ë","¹ÌÃì","¹ÌÄ£","¹ÌÆ¾","ºé½Å","º´½®","ºù½Ã","ºù½Å","º´½Å","¹ð½Å","»õ.³¢","½Ê»õ","½Ê¼¼",
			"¾Ã»õ","¾Ã¼¼","¾¾ÆÅ","½Ã´ó","¾¾´ó","¾¾ÆÄ","½Ã´ó","¾¾ÆÈ","¾¾¹ß","¾ºÆÄ","¾¾ºÀ","¾¾¹æ","¾¾¹æ»õ","¾¾¹æ¼¼","¾¾¹æ","¼¼³¢","½¬ÆÞ","½¬¹ú",
			"¾¯ÆÞ","¾¯¹ú","¾¯»¹","½¬»¹","ÁÖÁ¢¶³","Áö¶ö","Áö·Ñ","Áö·²","Á½±î","ÁÖµÕ¾Æ¸®","ÁÖµÕÀÌ","ôÈ","Á¥ ¹ä","°³ œq","°³ ½¦","°³ »Ô","°³ »õ",
			"°³ ¼¼","µù ½Ã","µù ½Å","¹Ì Ä£","¹Ì Ãì","¹Ì Æ¾","ºé ½Å","º´ ½®","ºù ½Ã","ºù ½Å","º´ ½Å","¹ð ½Å","ºü °¡","»õ.³¢","»õ ³¢","½Ê »õ","½Ê ¼¼","¾Ã »õ",
			"¾Ã ¼¼","¾¾ ÆÅ","¼½ ½º","½Ã ´ó","¾¾ ´ó","¾¾ ÆÄ","½Ã ´ó","¾¾ ÆÈ","¾¾ ¹ß","¾º ÆÄ","¾¾ ºÀ","¾¾ ¹æ","¾¾ ¹æ","¼¼ ³¢","½¬ ÆÞ","½¬ ¹ú","¾¯ ÆÞ",
			"¾¯ ¹ú","¾¯ »¹","½¬ »¹","¾Ö ÀÚ","Áö ¶ö","Áö ·Ñ","Áö ·²","Á½ ±î","½Ö´¤","¾¾¹Ù¶ö","¸ÞÄ£³ð","°³¼Ò¸®","Á¶±î","¾¾ºÒ","°³½ÃÅ°","°³¼¨³¢","¾²¹ß","»õ²¥", 
			"ÈÄ·ñ","È£·Î»öÈ÷","È£·Î»õÅ°","°³½Ø³¢","°³Á¿¹ä","°³ÁÀ¹ä","°³Á¿Áö¶ö","°³ÁÀÁö¶ö","¾Ö¹Ì³â","¿¡¹Ì³â","¾Ö¹Ìº¸Áö","¿¡¹Ìº¸Áö",
			"10½ê","10¼¼Å°","10¼½È÷","¾Ã¶¯ÀÌ","¾ÃÅÊÀÌ","¾¾ÆÈ³â","¾¾¹ß³Ñ","¾¾¹ß³ð","¾¾¹Ù¶ö","¾¾¹ß","¾¾¹æ¼¼","¾¯¹Ù","½âÀ»³ð","½á±Û³ð","½âÀ»³Ñ","½á±Û³Ñ",
			"¾²¹ú","´×±â¸®","´Ï±â¹Ì","¾Ö¹Ì¹Ì","¿¡¹Ì","°³È£·ªÀÚ½»");
	
	for (i = 0; i <= slang.length; i++)  if (formValue.indexOf(slang[i]) >= 0) {
		alert("Çã¿ëµÇÁö ¾ÊÀº ´Ü¾î°¡ Æ÷ÇÔµÇ¾î¼­ °Ô½Ã¹° µî·ÏÀÌ µÇÁö ¾Ê½À´Ï´Ù.("+slang[i]+")");
		_cmdfocus(formField);
		return false;
	}

	switch(checkName) {

		case "" :
			return true;

		// ------------------- ¿µ¹®ÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö --------------------
		case "alpha" :
			if (formValue.isalpha()) {
				return true;
			} else {
				alert(message + " ¿µ¹®ÀÚ¸¸ ÀÔ·Â °¡´É ÇÕ´Ï´Ù.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ®ÀÖ´ÂÁö --------------------
		case "number" :

			if (formValue.isnumber()) {
				return true;
			} else {
				alert(message + " ¼ýÀÚ¸¸ ÀÔ·Â °¡´É ÇÕ´Ï´Ù.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- ¿µ¹®ÀÚ¿Í ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö --------------------
		case "alphanumber" :
			if (formValue.isalphanumber()) {
				return true;
			} else {
				alert(message + " ¿µ¹®ÀÚ¿Í ¼ýÀÚ¸¸ ÀÔ·Â °¡´É ÇÕ´Ï´Ù.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- ÀüÈ­¹øÈ£ÀÎÁö --------------------
		case "tel" :
			if (formValue.istel()) {
				return true;
			} else {
				alert(message + " ¼ýÀÚ¿Í - ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- E-Mail °èÁ¤ÀÎÁö --------------------
		case "e_account" :
			if (formValue.isemailaccount()) {
				return true;
			} else {
				alert("¸ÞÀÏ°èÁ¤ ÀÔ·Â°ª Çü½ÄÀÌ Æ²¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇØÁÖ¼¼¿ä.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- µµ¸ÞÀÎ ÀÎÁö --------------------
		case "e_domain" :
			if (formValue.isemaildomain()) {
				return true;
			} else {
				alert("µµ¸ÞÀÎ ÀÔ·Â°ª Çü½ÄÀÌ Æ²¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇØÁÖ¼¼¿ä.");
				_cmdfocus(formField);
				return false;
			}
			break;

		// ------------------- E-MailÀÎÁö --------------------
		case "email" :
			if (formValue.isemail()) {
				return true;
			} else {
				alert("E-Mail Çü½ÄÀÌ Æ²¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä (Çü½Ä: account@localhost.com)");
				_cmdfocus(formField);
				return false;
			}
			break;


		// ------------------- ³¯Â¥ÀÎÁö (YYYY-MM-DD) --------------------
		case "date" :
			if (formValue.isdate()) {
				return true;
			} else {
				alert("³¯Â¥ Çü½ÄÀÌ Æ²¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä (Çü½Ä: 2002-09-20)");
				_cmdfocus(formField);
				return false;
			}
			break;

		default : 
			return true;
	}
	return true;
}

/* =================================================================
	¿µ¹®ÀÚ¿Í ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ³´ÂÁö Check
================================================================= */
String.prototype.isalphanumber = function() {

	if (this.search(/[^A-Za-z0-9_-]/) == -1) return true;
	else return false;
}

/* =================================================================
	ÀüÈ­¹øÈ£ Check
================================================================= */
String.prototype.istel = function() {

	if (this.search(/[^0-9_-]/) == -1) return true;
	else return false;
}

/* =================================================================
	¿µ¹®ÀÚ¸¸ ÀÌ·ç¾îÁ³´ÂÁö  Check
================================================================= */
String.prototype.isalpha = function() {

	if (this.search(/[^A-Za-z]/) == -1) return true;
	else return false;
}

/* =================================================================
	¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ³´ÂÁö  Check
================================================================= */
String.prototype.isnumber = function() {

	if (this.search(/[^0-9]/) == -1) return true;
	else return false;
}


/* =================================================================
	ÀÌ¸ÞÀÏ °èÁ¤  Check
================================================================= */
String.prototype.isemailaccount = function() {

	if (this.search(/[^A-Za-z(.+)0-9_-]/) == -1) return true;
	else return false;
}

/* =================================================================
	E-Mail µµ¸ÞÀÎ Check
================================================================= */
String.prototype.isemaildomain = function() {

	if (this.search(/.+\..+/) == -1) return false;
	else {
		for (var i=0; i < this.length;i++) if (this.charCodeAt(i) > 256) return false;
		return true;
	}
}

/* =================================================================
	E-Mail Check
================================================================= */
String.prototype.isemail = function() {

	if (this.search(/(.+)@.+\..+/) == -1) return false;
	else {
		for (var i=0; i < this.length;i++) if (this.charCodeAt(i) > 256) return false;
		return true;
	}
}

/* =================================================================
	³¯Â¥ Check (YYYY-MM-DD)
================================================================= */
String.prototype.isdate = function() {

	if (this.search(/\d{4}\-\d{2}\-\d{2}/) == -1) return false;
	else return true;
}

/* =================================================================
	ÇÑ±ÛÀ» 2±ÛÀÚ·Î °è»êÇÏ¿© ¼ø¼öÇÑ ±æÀÌ(Byte)¸¦ °è»êÇÑ´Ù
================================================================= */
String.prototype.strLen = function() {

	var temp;
	var set = 0;
	var mycount = 0;

	for (k = 0; k < this.length; k++) {

		temp = this.charAt(k);

		if (escape(temp).length > 4) mycount += 2
		else mycount++;
	}

	return mycount;
}

/* =================================================================
	¾Õ °ø¹é Á¦°Å
================================================================= */
String.prototype.ltrim = function() {

	var i, j = 0;
	var objstr

	for (i = 0; i < this.length; i++) {

		if (this.charAt(i) == ' ') j = j + 1;
		else break;
	}

	return this.substr(j, this.length - j + 1)
}

/* =================================================================
	µÚ °ø¹é Á¦°Å
================================================================= */
String.prototype.rtrim = function() {

	var i, j = 0;

	for (i = this.length - 1; i >= 0; i--) {

		if (this.charAt(i) == ' ') j = j + 1;
		else break;
	}

	return this.substr(0, this.length - j);
}

/* =================================================================
	¾Õ/µÚ °ø¹é Á¦°Å
================================================================= */
String.prototype.trim = function() {
	return this.replace(/\s/g, "");
}

/* =================================================================
	_cmdfocus()
	formobj¿¡ FocusÀÌµ¿
--------------------------------------------------------------------
    formobj
================================================================= */
function _cmdfocus(formobj){
	formobj.select();
	formobj.focus();
}
