var STRING_DEF_ALPHA		= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
var STRING_DEF_NUMBER		= '1234567890'
var STRING_DEF_TELDIGIT	= '-1234567890'
var STRING_DEF_CURRENCY	= ',1234567890'
var STRING_DEF_MEMBER_ID = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' 
var STRING_DEF_FILE_NAME = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_.()[]+' 

function CheckString( obj , objname, astr, lmin, lmax , showmsg ){
	var i
	var t = obj.value;
	var length = GetByteLength(obj);

	if (length < lmin || length > lmax) {
		if(showmsg!=null && showmsg) {
			if (lmin == lmax) alert(objname + '´Â ' + lmin + ' ÀÚ ÀÌ¾î¾ß ÇÕ´Ï´Ù');
			else alert(objname + '´Â ' + lmin + ' ~ ' + lmax + ' ÀÚ ÀÌ³»·Î ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');
			obj.focus()
		}
		return false
	}
	if (astr.length > 1) {
		for (i=0; i < length; i++){
			if(astr.indexOf(t.substring(i,i+1))<0) {
				if(showmsg!=null && showmsg) {
					alert(objname + '¿¡ Çã¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ°¡ ÀÔ·ÂµÇ¾ú½À´Ï´Ù');
					obj.focus()
				}
				return false
			}
		}
	}
	return true
}

function CheckByteLength(obj, min, max, msg, doFocus) {
	var length = GetByteLength(obj);

	if (length < min || length > max) {
		alert(msg);
		if(doFocus)
			obj.focus();
		return false;
	}
	return true;
}

function CheckLength(obj, min, max, msg, doFocus) {
	var length = obj.value.length;

	if (length < min || length > max) {
		alert(msg);
		if(doFocus)
			obj.focus();
		return false;
	}
	return true;
}

function CheckBlank(obj, msg, doFocus) {
	if(obj.value.replace(/ /ig,"") == "") {
		alert(msg);
		if(doFocus)
			obj.focus();
		return false;
	}
	return true;
}

function CheckSpace(obj , msg , doFocus) {
	if(obj.value.indexOf(" ") == 0 || (obj.value.lastIndexOf(" ")+1) == obj.value.length) {
		alert(msg);
		if(doFocus)			
			obj.focus();
		return false;
	}
	return true;	
}

function AddComma(value) {
	var tmpValue  = "";
	var realValue = "";
	var length;

	value = Replace(value, ",", "");
	length = value.length;
	var count = 0;
	for(var i=length;i>=0;i--) {
		tmpValue += value.substring(i,i+1);
		if((count-1)%3==2 && i>0) tmpValue +=",";
		count++;
	}
	length = tmpValue.length;

	for(var i=length;i>=0;i--) {
		realValue += tmpValue.substring(i,i+1);
	}
	return realValue;
}

function LTrim(value) {
	if(value==null || value=="") return "";

	var length = value.length;

	var i;
	for(i=0;i<length;i++) {
		if(value.charAt(i) != " ") break;			
	}
	return value.substring(i);	
}

function RTrim(value) {
	if(value==null || value=="") return "";

	var length = value.length;

	var i;
	for(i=length-1;i>=0;i--) {
		if(value.charAt(i) != " ") break;			
	}
	return value.substring(0,i+1);	
}

function Trim(value) {
	return RTrim(LTrim(value));	
}

function FillString(srValue, nCount){
	var temp = "";
	
	for(var i=0;i<nCount;i++) {
		temp += srValue;
	}

	return temp;		
}

function FillRight(srValue, nCount, fillchar) {	
	if(srValue==null) return "";		
	
	var temp = "";
	temp += srValue;
	temp += FillString(fillchar,nCount - srValue.length);
	
	return temp;
}

function FillLeft(srValue, nCount, fillchar) {	
	if(srValue==null) return "";

	var len = srValue.length;

	temp = FillString(fillchar,nCount-len) + srValue;
	
	return temp;
}

function IsValidEmail(mail) {
	var t = mail;
	var ValidFlag = false;
	var atCount = 0;
	var SpecialFlag;
	var atLoop;
	var atChr;
	var BadFlag;
	var tAry1;
	var UserName;
	var DomainName;

	if(t.length > 0 && t.indexOf("@") > 0 && t.indexOf(".") > 0) {
		atCount = 0;
		SpecialFlag = false;

		for(atLoop=1; atLoop<=t.length; atLoop++) {
			atChr = t.substring(atLoop, atLoop+1);
			if(atChr == "@") atCount = atCount + 1;

			if((atChr >= 32) && (atChr <= 44)) SpecialFlag = true;
			if((atChr == 47) || (atChr == 96) || (atChr >= 123)) SpecialFlag = true;
			if((atChr >= 58) && (atChr <= 63)) SpecialFlag = true;
			if((atChr >= 91) && (atChr <= 94)) SpecialFlag = true;
		}

		if((atCount == 1) && (SpecialFlag == false)) {
			BadFlag = false;
			tAry1 = t.split("@");
			UserName = tAry1[0];
			DomainName = tAry1[1];
			if((UserName.length <= 0) || (DomainName.length <= 0)) BadFlag = true;
			if(DomainName.substring(1, 2) == ".") BadFlag = true;
			if(DomainName.substring(DomainName.length-1, DomainName.length) == "." ) BadFlag = true;
			ValidFlag = true;
		}
	}
	if ( BadFlag == true ) ValidFlag = false;
	return ValidFlag;
}


function IsValidSSN(ssn1,ssn2) {
	var f1 = ssn1.substring(0,1);
	var f2 = ssn1.substring(1,2);
	var f3 = ssn1.substring(2,3);
	var f4 = ssn1.substring(3,4);
	var f5 = ssn1.substring(4,5);
	var f6 = ssn1.substring(5,6);
	
	var hap = f1*2 + f2*3 + f3*4 + f4*5 + f5*6 + f6*7;
	
	var s1 = ssn2.substring(0,1);
	var s2 = ssn2.substring(1,2);
	var s3 = ssn2.substring(2,3);
	var s4 = ssn2.substring(3,4);
	var s5 = ssn2.substring(4,5);
	var s6 = ssn2.substring(5,6);
	var s7 = ssn2.substring(6,7);
	
	hap = hap + s1*8 + s2*9 + s3*2 + s4*3 + s5*4 + s6*5;
	hap = hap%11;
	hap = 11 - hap;
	hap = hap % 10;
	
	if(hap != s7) {
		return false;
	} else {
		return true;
	}
}

function IsValidSSN2(str) {
   //»ç¶÷ÀÌ ÀÔ·ÂÇÑ ÁÖ¹Îµî·Ï ¹øÈ£¸¦ ¹è¿­¿¡ ³Ö´Â´Ù
	for(j=1; j<=13; j++) {
		num[j] = parseInt(str.charAt(j-1),10);
	}

	// Y2K source start : 2000³âÀÌÈÄ Ãâ»ýÀÚÀÇ ÁÖ¹Îµî·Ï ¹øÈ£ ÀÔ·ÂÀ» À§ÇÑ ºÎºÐ
	if(num[7] != 3 && num[7] != 4) {
		sum = 0;
		//check_digit¿Í ¹øÈ£¸¦ ¿¬»êÇÑ´Ù
		for(i=1; i<=12; i++) {
			sum += digit[i] * num[i];
		}
		div = (sum%11);
		if(div == 1) {
			comp = 0;
		} else if(div == 0) {
			comp = 1;
		} else if((div != 0)&&(div != 1)) {
			comp = 11 - div;
		}
		if(div == 0) {
			if(num[13] == 1)
				return true;
			else
				return false;
		} else if(div == 1) {
			if(num[13] == 0)
				return true;
			else
				return false;
		} else if((11-div) == num[13]) {
			return true;
		} else {
			return false;
		}
	} else {
		// 2000³â ÀÌÈÄ Ãâ»ýÀÚÀÇ ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å© ·çÆ¾
		if (num[3] != 0 && num[3] != 1) {
			return false;
		} else if (num[5] != 0 && num[5] != 1 && num[5] != 2 && num[5] != 3) {
			return false;
		} else if (num[7] != 1 && num[7] != 2 && num[7] != 3 && num[7] != 4) {
			return false;
		} else if (num[3] == 0 && num[4] == 0) {
			return false;
		} else if ((num[3] == 1) && (num[4] != 0 && num[4] != 1 && num[4] != 2)) {
			return false;
		} else if (num[5] == 0 && num[6] == 0) {
			return false;
		} else if (num[5] == 3 && (num[6] != 0 && num[6]  != 1)) {
			return false;
		} else {
			return true;
		}
	}
	// Y2K Source end
}	

function IsValidCSN(code1,code2,code3)
{
	var newValue = code1 + code2 + code3;
	var newLength = newValue.length;
	
	if (newValue == ""){
		//alert("»ç¾÷ÀÚµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		return false;
	}
	for (var i=0; i!= newLength; i++){
		aChar = newValue.substring(i, i + 1);
		if (aChar < "0" || aChar > "9"){
			//alert("»ç¾÷ÀÚµî·Ï¹øÈ£ ÀÔ·ÂÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. ¼ýÀÚ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.");
			return false;
		}
	}
	if (newLength != 10){
		//alert("»ç¾÷ÀÚµî·Ï¹øÈ£ ÀÔ·ÂÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. 10ÀÚ¸®¿©¾ß ÇÕ´Ï´Ù.");
		return false;
	}
	v_sum = newValue.substring(0,1)*1+newValue.substring(1,2)*3+
		newValue.substring(2,3)*7+newValue.substring(3,4)*1+newValue.substring(4,5)*3+
		newValue.substring(5,6)*7+newValue.substring(6,7)*1+newValue.substring(7,8)*3;
	v_tmp1 = parseInt((newValue.substring(8,9)*5)/10);
	v_tmp2 = parseInt((newValue.substring(8,9)*5)%10);
	v_sum = v_sum + v_tmp1 + v_tmp2;
	v_check = parseInt(10 - (v_sum%10));
	if (v_check == 10){
		v_check = 0;
	}
	if (parseInt(newValue.substring(9,10)) != parseInt(v_check)){
		//alert("»ç¾÷ÀÚµî·Ï¹øÈ£ ÀÔ·ÂÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.");
		return false;
	}
	return true;
}


function IsValidPassword(password,escapeStrs) {
	reExp = new RegExp("[A-Za-z]");
	if(!reExp.test(password)) {
		alert("ºñ¹Ð¹øÈ£´Â ¿µ¹®ÀÚ¸¦ ÇÏ³ªÀÌ»ó Æ÷ÇÔÇØ¾ßÇÕ´Ï´Ù!");
		return false;	
	}
	
	for(i=0;i < escapeStrs.length; i++) {
		if(password.indexOf(escapeStrs[i]) > -1) {
			alert(escapeStrs[i]+" ¹®ÀÚ´Â ºñ¹Ð¹øÈ£¿¡ Æ÷ÇÔµÉ¼ö ¾ø½À´Ï´Ù!");
			return false;	
		}	
	}	
	
	return true;	
}

function GetByteLength(obj) {
	var msg = obj.value;
	var str = new String(msg);
	var len = str.length;
	var count = 0;

	for(k=0 ; k<len ; k++) {
		temp = str.charAt(k);

		if(escape(temp).length > 4) {
			count += 2;
		} else if(temp == '\r' && str.charAt(k+1) == '\n') { // \r\nÀÏ °æ¿ì
			count += 2;
		} else if (temp != '\n') {
			count++;
		}
	}
	return count;	
}

function CutByteString(obj, maxlength) {
	var str,msg;
	var len=0;
	var temp;
	var count;
	count = 0;
	 
	msg = obj.value;
	str = new String(msg);
	len = str.length;

	for(k=0 ; k<len ; k++) {
		temp = str.charAt(k);
		
		if(escape(temp).length > 4) {
			count += 2;
		} else if(temp == '\r' && str.charAt(k+1) == '\n') { // \r\nÀÏ °æ¿ì
			count += 2;
		} else if(temp != '\n') {
			count++;
		}
		if(count > maxlength) {
			str = str.substring(0,k);
			break;
		}
	}
	obj.value = str;
}

function Replace(str,srcStr,trgtStr) {
	re = new RegExp(srcStr, "ig")
		
	return str.replace(re,trgtStr);
}

function CheckAllowedCharacter(obj, allowedCharacter) {
	var t = obj.value;
	var length = GetByteLength(obj);

	if (allowedCharacter.length > 1) {
		for (i=0; i < length; i++){
			if(allowedCharacter.indexOf(t.substring(i,i+1))<0) {
				return false
			}
		}
	}
	return true
}

function NextFocus(obj, length, targetObj) {
	if(obj.value.length >= length) {
		targetObj.focus();
	}
}