
<!--

/* vim: set tabstop=4 shiftwidth=4 syntax=javascript: */

// ###########################################################################
// base.js ÆÄÀÏ°ú ÇÔ²² È£ÃâÇÏ¿©¾ß ÇÕ´Ï´Ù.
// ###########################################################################

var require_msg		= 'ÇÊ¼öÇ×¸ñÀÔ´Ï´Ù.';
var dash_msg		= '´ë½Ã(-) ±âÈ£';
var only_allow_msg	= '·Î¸¸ ÀÔ·ÂÇØÁÖ½Ê½Ã¿À.';
var english_strings	= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var number_strings	= '0123456789';
var permit_ext		= 'gif,jpg';

function idCheck (form, require, min, max, str)
{
	// ID Ã¼Å©(TEXT)
	if (!lengthCheck(form, require, min, max, str)) return false;
	if (!permitCharCheck(form.value, number_strings + english_strings))
	{
		alertWindow(form, str, '¿µ¹®ÀÚ¿Í ¼ýÀÚ' + only_allow_msg);
		return false;
	}
	if (!permitCharCheck(form.value.charAt(0), english_strings))
	{
		alertWindow(form, str, '¹Ýµå½Ã ¿µ¹®ÀÚ·Î ½ÃÀÛµÇ¾î¾ß ÇÕ´Ï´Ù.');
		return false;
	}
	return true;
}

function loginIdCheck (form, require, min, max, str)
{
	// ID Ã¼Å©(TEXT)
	if (!lengthCheck(form, require, min, max, str)) return false;
	if (!permitCharCheck(form.value, number_strings + english_strings + "-"))
	{
		alertWindow(form, str, '¿µ¹®ÀÚ¿Í ¼ýÀÚ' + only_allow_msg);
		return false;
	}
	return true;
}

function passwdCheck (form, form2, require, min, str)
{
	// PASSWORD Ã¼Å©
	if (!lengthCheck(form, require, min, false, str)) return false;
	if (require && !requireString(form2, str, '')) return false;
	if (form.value != '' && form.value != form2.value)
	{
		alertWindow(form2, str, 'ÀÔ·ÂÇÏ½Å µÎ ' + str + '°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function nameCheck (form, require, min, str)
{
	// ¼º¸í Ã¼Å©
	if (!lengthCheck(form, require, min, false, str)) return false;
	if (!hangulCheck(form.value))
	{
		alertWindow(form, str, 'ÇÑ±Û' + only_allow_msg);
		return false;
	}
	return true;
}

function regNumberCheck (form, require, str)
{
	// ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
	if (require && !requireString(form, str, '')) return false;
	if (form.value.length && !regNoCheck(form.value, ''))
	{
		alertWindow(form, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function regNumberCheck2 (form1, form2, require, str)
{
	// ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
	if (require && !requireString(form1, str, '')) return false;
	if (require && !requireString(form2, str, '')) return false;
	var reg_number	= form1.value + form2.value;
	if (reg_number.length && !regNoCheck(reg_number, ''))
	{
		alertWindow(form1, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function regForeignerNumberCheck (form, require, str)
{
	// ¿Ü±¹ÀÎ µî·Ï¹øÈ£ Ã¼Å©
	if (require && !requireString(form, str, '')) return false;
	if (form.value.length && !regForeignerNoCheck(form.value, ''))
	{
		alertWindow(form, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function regForeignerNumberCheck2 (form1, form2, require, str)
{
	// ¿Ü±¹ÀÎ µî·Ï¹øÈ£ Ã¼Å©
	if (require && !requireString(form1, str, '')) return false;
	if (require && !requireString(form2, str, '')) return false;
	var reg_number	= form1.value + form2.value;
	if (reg_number.length && !regForeignerNoCheck(reg_number, ''))
	{
		alertWindow(form, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

// ¼ýÀÚ Ã¼Å©
function requireNumber (form, str1, str2)
{
	if (!requireString(form, str1, str2)) return false;
	if (isNaN(form.value))
	{
		alertWindow(form, str1, '¼ýÀÚ¸¸ °¡´É ÇÕ´Ï´Ù.')
		return false;
	}
	return true;
}

function requirePermitLengthCharCheck (form, require, permitChar, min, max, str)
{
	// ÇÊ¼ö,À¯È¿¹®ÀÚ,À¯È¿¹®ÀÚ±æÀÌ Ã¼Å©
	if (require && !requireString(form, str, '')) return false;
	if (permitChar && !permitCharCheck(form.value, permitChar))
	{
		alertWindow(form, str, 'À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	if (!stringLength(form.value, min, max))
	{
		alertWindow(form, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function emailCheck (form, require, str)
{
	// TEXT ÀüÀÚ¿ìÆí ÁÖ¼Ò Ã¼Å©
	if (require && !requireString(form, str, '')) return false;
	if (form.value.length && !emailRuleCheck(form.value))
	{
		alertWindow(form, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function emailCheck2 (form1, form2, require, str)
{
	// TEXT ÀüÀÚ¿ìÆí ÁÖ¼Ò Ã¼Å©
	if (require && !requireString(form1, str, '')) return false;
	if (require && !requireString(form2, str, '')) return false;
	var	email	= form1.value + '@' + form2.value;
	if (email.length && !emailRuleCheck(email))
	{
		alertWindow(form1, str, 'Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.');
		return false;
	}
	return true;
}

function requireString (form, str1, str2)
{
	// TEXT ÇÊ¼öÀÔ·Â Ã¼Å©
//	if (!/\S/gm.test(form.value))
	if (form.value.split(" ").join("") == "")
	{
		alertWindow(form, str1, require_msg + str2);
		return false;
	}
	return true;
}

function requireSelect (form, notvalue, str)
{
	// SELECTE Ç×¸ñÀÇ ¼±ÅÃ ³»¿ëÀÌ ¿øÄ¡¾Ê´Â °ª(notvalue)ÀÎÁö Ã¼Å©
	if (form.options[form.selectedIndex].value == notvalue)
	{
		alertWindow(form, str, '¼±ÅÃÇØÁÖ½Ê½Ã¿À.');
		return false;
	}
	return true;
}

function requireCheckBox (form, str)
{
	for (var i=0; i<form.length; i++)
	{
		if (form[i].checked == true)
		{
			return true;
			break;
		}
	}
	alertWindow('', str, '¼±ÅÃÇØÁÖ½Ê½Ã¿À.');
	return false;
}

function lengthCheck (form, require, min, max, str)
{
	// TEXT ±æÀÌ°¡ ÀûÇÕÇÑÁö Ã¼Å©
	var err = '';
	if (require && !requireString(form, str, '')) return false;
	if (form.value.length)
	{
		if (min == max && !stringLength(form.value, min, max))
			err = min +'ÀÚ·Î ÀÔ·ÂÇØÁÖ½Ê½Ã¿À.';
		else if (min != false && max != false && min < max && !stringLength(form.value, min, max))
			err = min +'ÀÚ ÀÌ»ó ' + max + 'ÀÚ ÀÌ³»·Î ÀÔ·ÂÇØÁÖ½Ê½Ã¿À.';
		else if (min == false && max > 0 && !stringLength(form.value, 1, max))
			err = 'ÃÖ´ë ' + max + 'ÀÚ ÀÌ³»·Î ÀÔ·ÂÇØÁÖ½Ê½Ã¿À.';
		else if (min > 0 && max == false && !stringLength(form.value, min, 100000000))
			err = 'ÃÖ¼Ò ' + min + 'ÀÚ ÀÌ»ó ÀÔ·ÂÇØÁÖ½Ê½Ã¿À.';
	}
	if (err != '')
	{
		alertWindow(form, str, err);
		return false;
	}
	return true;
}

/*****************************************************************************/

function emailRuleCheck (string)
{
	// ÀüÀÚ¿ìÆí ÁÖ¼Ò Ã¼Å©
	var checkflag = true;
	var retvalue;
	if (window.RegExp)
	{
		var tempstring = 'a';
		var exam = new RegExp(tempstring);
		if (tempstring.match(exam))
		{
			var ret1 = new RegExp('(@.*@)|(\\.\\.)|(@\\.)|(^\\.)');
			var ret2 = new RegExp('^.+@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,}|[0-9]{1,3})(\\]?)$');
			retvalue = (!ret1.test(string) && ret2.test(string));
		}
		else checkflag = false;
	} else checkflag = false;
	if (!checkflag)
	{
		retvalue = ( (string != '') && (string.indexOf('@')) > 0 && (string.index.Of('.') > 0) ); 
	}
	return retvalue;
}

function stringLength (string, min, max)
{
	// ¹®ÀÚ¿­ ±æÀÌ Ã¼Å©
	if (string.length < min || string.length > max) return false;
	return true;
}

function permitCharCheck (string, permitChar)
{
	// ÁÖ¾îÁø ¹®ÀÚ¿­(string)¿¡¼­ Çã¿ëµÈ ¹®ÀÚµé(permitChar)¸¸ Á¸ÀçÇÒ °æ¿ì Âü
	var retValue = true;
	var count;
	for (var i = 0; i < string.length; i++)
	{
		count = 0;
		for (var j = 0; j < permitChar.length; j++)
		{
			if (string.charAt(i) == permitChar.charAt(j))
			{
				count++; break;
			}
		}
		if (count == 0)
		{
			retValue = false; break;
		}
	}
	return retValue;
}

function permitChars (string, permitChar)
{
	// ÁÖ¾îÁø ¹®ÀÚ¿­(string)¿¡¼­ Çã¿ëµÈ ¹®ÀÚµé(permitChar)¸¸À» ¾òÀ½
	var retValue = '';
	for (var i = 0; i < string.length; i++)
	{
		for (var j = 0; j < permitChar.length; j++)
		{
			if (string.charAt(i) == permitChar.charAt(j))
			{
				retValue += string.charAt(i);
			}
		}
	}
	return retValue;
}

function includeCharCheck (string, includeChar)
{
	// ÁÖ¾îÁø ¹®ÀÚ¿­(string)¿¡¼­ ÁöÁ¤ÇÑ ¹®ÀÚ(includeChar)°¡ Á¸ÀçÇÏ¸é Âü
	for (var i = 0; i < string.length; i++)
	{
		for (var j = 0; j < includeChar.length; j++)
		{
			if (string.charAt(i) == includeChar.charAt(j)) return true;
		}
	}
	return false;
}

function regNoCheck (regno1, regno2)
{
	// ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å© ÇÔ¼ö
	// ¼ýÀÚ ÀÌ¿ÜÀÇ ºÒ¼ø ¹®ÀÚ´Â ÀÚµ¿À¸·Î ¹èÁ¦µÇ¸ç,
	// ÀÔ·Â¾ç½Ä ÇüÅÂ¿¡ µû¶ó ÇÏ³ª(801231-1648122) ¶Ç´Â
	// µÎ°³(801231, 1648122)ÀÇ ÀÔ·Â°ªÀ» ÀÚµ¿À¸·Î ÀÎ½ÄÇÏ¿© Ã¼Å©
	var regno = permitChars(regno1, number_strings) + permitChars(regno2, number_strings);
	if (regno.length != 13) return false;
	regno1 = regno.substring(0,6);
	regno2 = regno.substring(6,13);
	var tmp = 0
	var yy = regno1.substring(0,2)
	var mm = regno1.substring(2,4)
	var dd = regno1.substring(4,6)
	var sex = regno2.substring(0,1)
	if ( mm < 1 || mm > 12 || dd < 1 ) return false;
	if ( sex < 1 && sex > 4 ) return false;
	for (var i = 0; i <=5 ; i++)
		tmp=tmp+((i%8+2)*parseInt(regno1.substring(i,i+1)))
	for (var i = 6; i <=11 ; i++)
		tmp=tmp+((i%8+2)*parseInt(regno2.substring(i-6,i-5)))
	tmp = 11 - (tmp %11);
	tmp = tmp % 10;
	if (tmp != regno2.substring(6,7)) return false;
	return true;
}


// ¿Ü±¹ÀÎ µî·Ï ¹øÈ£ °Ë°¡
function regForeignerNoCheck (regno1, regno2)
{
	var sum=0; 
	var odd=0; 

	var regno	= permitChars(regno1, number_strings) + permitChars(regno2, number_strings);
	var buf		= new Array(13); 

	for(i=0; i<13; i++) { buf[i]=parseInt(regno.charAt(i)); } 

	odd = buf[7]*10 + buf[8]; 

	if(odd%2 != 0) return false;

	if((buf[11]!=6) && (buf[11]!=7) && (buf[11]!=8) && (buf[11]!=9) ) return false;

	var multipliers = [2,3,4,5,6,7,8,9,2,3,4,5]; 

	for(var i=0, sum=0; i<12; i++) { sum += (buf[i] *= multipliers[i]); } 
	sum = 11 - (sum%11); 
	if(sum >= 10) { sum -= 10; } 
	sum += 2; 
	if(sum >= 10) { sum -= 10; } 
	if(sum != buf[12]) return false;
}

function hangulCheck (str)
{
	var i, j;
	for (i=0; i<str.length; i++)
	{
		j = str.charCodeAt(i);
		// alert(str.charAt(i) + ' : ' + j);
		// °¡~ÆR
		if (j >= 44032 && j <= 55203) continue;
		// ¤¡~¤¾, ¤¿~¤Ó
		// else if (j >= 12593 && j <= 12643) continue;
		else return false;
	}
	return true;
}

/**
 * COMMA(,) Ãß°¡ÇÏ±â
 * --------------------------------
 * @param	object		º¯°æÇÒ INPUT TYPE
 * @return	object		º¯°æµÈ INPUT TYPE
 * @date		2004/05/13
 * @made		Chris
 */
function addComma (str)
{
	var input_str = str.toString();
	if (input_str == '') return false;

	input_str = parseInt(input_str.replace(/[^0-9]/g, '')).toString();
	if (isNaN(input_str))
	{
		// obj.setAttribute('value', '');
		return false;
	}

	var sliceChar = ',';
	var step = 3;

	var step_increment = -1;
	var tmp = '';
	var retval = '';
	var str_len = input_str.length;
	for (var i=str_len; i>=0; i--)
	{
		tmp = input_str.charAt(i);
		if (tmp == sliceChar) continue;
		if (step_increment%step == 0 && step_increment != 0) retval = tmp + sliceChar + retval;
		else retval = tmp + retval;
		step_increment++;
	}

	return retval;
}

function addCommaCheck (obj)
{
	var retval = addComma(obj.value);
	if (retval === false) obj.setAttribute('value', '');
	else obj.setAttribute('value', retval);
}

// ¼ýÀÚ¸¸ ÀÔ·Â Á¦ÇÑ
function setOnlyNumber (kEvent)
{
	var events	= (typeof(kEvent) == "undefined" ? event : kEvent);
    if(( (events.keyCode > 47) && (events.keyCode < 58) ) || (events.keyCode == 45)) events.returnValue = true;
    else events.returnValue = false;
}

// ¼ýÀÚ¸¸ ÀÔ·Â Á¦ÇÑ
function getOnlyNumber ()
{
    if(( (event.keyCode > 47) && (event.keyCode < 58) ) || (event.keyCode == 45)) return true;
    else return false;
}

// È®ÀåÀÚ Ã¼Å©
function checkUploadExt(remoteFile, permit)
{
	var ext			= remoteFile.slice(remoteFile.lastIndexOf('.')+1).toLowerCase();
	var ck_permit	= Array();
	var	permit		= '';

	permit		= (!permit) ? permit_ext : permit;
	ck_permit	= permit.split(','); 
	
	for( var i=0; i<ck_permit.length; i++ )
	{
		if( ext == ck_permit[i] )
		{
			return true;
			break;
		}
	}
	alert(ck_permit.join(', ') + ' ÆÄÀÏ¸¸ ¾÷·Îµå°¡ °¡´ÉÇÕ´Ï´Ù.');
	return false;
}


//-->
