/********************************************************************
 *
 * Form °ü·Ã ½ºÅ©¸³Æ® ÇÔ¼ö ¸ðÀ½
 *
 *******************************************************************/
	// Æû °ËÁõ ÇÔ¼ö
	function checkForm(f) {
		var fLen = f.elements.length;
		var fObj;	// Æû ¿ä¼Ò
		var fTyp;	// Æû ¿ä¼Ò Type
		var fVal;	// Æû ¿ä¼Ò Value
		var fMsg;	// °æ°í ¸Þ½ÃÁö ¼Ó¼º
		var fNum;	// ¼ýÀÚ¸¸ ÀÔ·Â ¼Ó¼º
		var fMax;	// ÃÖ´ë ±æÀÌ ÁöÁ¤
		var fMin;	// ÃÖ¼Ò ±æÀÌ ÁöÁ¤
		var fMxN;	// ÃÖ´ë°ª ÁöÁ¤
		var fMnN;	// ÃÖ¼Ò°ª ÁöÁ¤
		var fMal;	// ¸ÞÀÏ FORMAT
		var fNonE;	// Æ¯¼ö ¹®ÀÚ Á¦¿Ü
		var fAll;			//	ÇÑ±Û, ¿µ¹®, ¼ýÀÚ, ÀÏºÎ Æ¯¼ö ¹®ÀÚÇã¿ë
		var fPhone; // ÀüÈ­¹øÈ£ FORMAT
		var fDate; // ³¯Â¥ FORMAT YYYY-MM-DD
		for (i=0;i<fLen;i++) {
			fObj = f.elements[i];
			fTyp = toUpperCase(fObj.getAttribute("type"));
			fVal = fObj.value;
			fMsg = fObj.getAttribute("msg");		// °æ°í ¸Þ½ÃÁö
			fNum = fObj.getAttribute("chknum");		// ¼ýÀÚ¸¸ ±âÀÔ °¡´ÉÇÏµµ·Ï
			fMax = fObj.getAttribute("maxlen");		// ÃÖ´ë ÀÔ·Â±ÛÀÚ¼ö Á¦ÇÑ
			fMin = fObj.getAttribute("minlen");		// ÃÖ¼Ò ÀÔ·Â±ÛÀÚ¼ö Á¦ÇÑ
			fMxN = fObj.getAttribute("maxnum");		// ÃÖ´ë ¼ýÀÚ Á¦ÇÑ<---------- ÆÄÀÏ ÃÖ´ë Å©±â¸¦ ±¸ÇÑ´Ù
			fMnN = fObj.getAttribute("minnum");		// ÃÖ¼Ò ¼ýÀÚ Á¦ÇÑ
			fMal = fObj.getAttribute("chkmail");	// ÀÌ¸ÞÀÏ Ã¼Å©
			fNonE = fObj.getAttribute("NonEffect");	// ¿µ¹®/¼ýÀÚ¸¸ ÀÔ·Â°¡´É
			fAll = fObj.getAttribute("AllChar");	// ÇÑ±Û,¿µ¹®,¼ýÀÚ, ÀÏºÎÆ¯¼ö¹®ÀÚ Çã¿ë
			fPhone = fObj.getAttribute("chkPhone")
			fDate = fObj.getAttribute("chkDate")
			if (fMsg != null && (fTyp == "TEXT" || fTyp == "HIDDEN" || fTyp == "TEXTAREA" || fTyp == "PASSWORD" || fTyp == "FILE") && fVal.replace(/ /gi,"") == "") {
				alert(fMsg + " ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				if (fTyp != "HIDDEN") {fObj.focus();}
				return false;
			}
			if (fMsg != null && (fTyp == "SELECT-ONE" || fTyp == "SELECT-MULTIPLE") && fVal =="") {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMsg != null && (fTyp == "RADIO" || fTyp == "CHECKBOX") && checkChecked(fObj) == false) {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fNum != null && isNaN(fVal)) {
				alert("¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fNonE != null && checkNonEffect(fVal) == false && fVal != "") {
				alert("Æ¯¼ö¹®ÀÚ´Â ÀÔ·ÂÇÏ½Ç¼ö ¾ø½À´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fAll != null && checkAllChar(fVal) == false && fVal != "") {
				alert("ÇÑ±Û,¼ýÀÚ,¿µ¹®, ÀÏºÎÆ¯¼ö¹®ÀÚ(-,_) ¸¸ ÀÔ·Â°¡´ÉÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			
			if (fMax != null && fMax < getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMax+"ÀÚº¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.\n(¿µ¹® "+fMax+"ÀÚ, ÇÑ±Û "+Math.floor(fMax/2)+"ÀÚ ±îÁö °¡´ÉÇÕ´Ï´Ù.)");
				fObj.focus(); return false;
			}
			if (fMin != null && fMin > getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMin+"ÀÚº¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			
			if (fMxN != null && parseInt(fMxN) < parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMxN+" º¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.");
				//fObj.focus(); 
				return false;
			}
			if (fMnN != null && parseInt(fMnN) > parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMnN+"º¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMal != null && checkEmail(fVal) == false && fVal != "") {
				alert("ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù");
				fObj.focus(); return false;
			}
			if (fPhone != null && checkTelPhone(fVal) == false && fVal != "") {
				alert("ÀüÈ­¹øÈ£°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù");
				fObj.focus(); return false;
			}
			if (fDate != null && checkDate(fVal) == false && fVal != "") {
				alert("³¯Â¥Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. ex)2008-09-01");
				fObj.focus(); return false;
			}
		}
		return true;
	}

	// Æû¿¡ ÇØ´çÇÏ´Â ÄÁÆ®·ÑµéÀÇ ±âº»°ª ½±°Ô ¼ÂÆÃÇØ ÁÖ±â
	function initForm(f)	{
		var nLen;	// form ¿ä¼ÒÀÇ °¹¼ö
		var ival;	// °¢ ¿ä¼ÒÀÇ default value °ª Áï! ÃÊ±âÈ­ÇÏ°íÀÚ ÇÏ´Â°ª
		var fTyp;	// form ¿ä¼ÒÀÇ Å¸ÀÔ(select, radio, checkbox...)

		for (var i = 0; i < f.elements.length; i++) {
			fTyp = toUpperCase(f.elements[i].type);
			ival = f.elements[i].ival;

			if (ival && fTyp == "SELECT-ONE") {
				nLen = f.elements[i].options.length;
				for (var j = 0; j < nLen; j++) {
					if (f.elements[i].options[j].value == ival)
						f.elements[i].options[j].selected = true;
				}
			}
			if (fTyp == "SELECT-MULTIPLE") {
				nLen = f.elements[i].options.length;
				for (var j = 0; j < nLen; j++) {
					if (f.elements[i].options[j].value == f.elements[i].options[j].ival)
						f.elements[i].options[j].selected = true;
				}
			}
			if (ival && (fTyp == "RADIO" || fTyp == "CHECKBOX")) {
				if (f.elements[i].value == ival)
					f.elements[i].checked = true;
			}
		}
		return true;
	}
	// ¹è¿­ ¿ä¼ÒÀÏ °æ¿ì checked µÈ°ÍÀÌ ÀÖ´ÂÁö È®ÀÎ
	function checkChecked(obj) {
		var fname = obj.form.name;
		var objnm = obj.name;
		var oElem = eval(fname+"."+objnm);
		var ret = false;

		if (typeof(oElem.length) == "undefined") {
			if (oElem.checked) {
				ret = true;
			}
		} else {
			for (var i=0;i<oElem.length;i++) {
				if (oElem[i].checked) {
					ret = true;
				}
			}
		}
		return ret;
	}
	// ÀÌ¸ÞÀÏ À¯È¿¼º Ã¼Å©
	function checkEmail(str){
	    var reg = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	    if (str.search(reg) != -1) {
			return true;
		}
		return false;
	}

	// ÀüÈ­¹øÈ£ À¯È¿¼º Ã¼Å©
	function checkTelPhone(str){
	    var reg = /^[p0-9]{2,3}-[p0-9]{3,4}-[p0-9]{3,4}$/;
	    if (str.search(reg) != -1) {
			return true;
		}
		return false;
	}


	function checkAllChar(str){
		 var reg = /^[0-9a-zA-Z°¡-ÆR¤¿-¤Ó¤¡-¤¾-_ ]+$/;
	    if (str.search(reg) != -1) {
			return true;
		}
		return false;
	}

	function checkDate(str){
		var reg = /^[p0-9]{4}-[p0-1][p0-9]-[p0-3][p0-9]$/;
	    if (str.search(reg) != -1) {
			return true;
		}
		return false;
	}
	// ÀÌ¸ÞÀÏ µÞÀÚ¸® À¯È¿¼º Ã¼Å©
	function checkEmail2(str){
	    var len;
		len = str.length;
		var i, j, intCheckCount;
		intCheckCount = 0;
		var iChr
		var name_chkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-.";
		for (i = 0; i < len; i++)
		{
			iChr = str.charAt(i);
			for (j=0;j< name_chkOK.length;j++)
			{
				if (iChr == name_chkOK.charAt(j)) 
					intCheckCount++;
			}
		}
		if (str.length != intCheckCount)
{
 return false
}
		else 
			return true;
	}
	
	// ¿µ¹®/¼ýÀÚ¸¸ ÀÔ·Â°¡´É
	function checkNonEffect(str)
	{
		var len;
		len = str.length;
		var i, j, intCheckCount;
		intCheckCount = 0;
		var iChr
		var name_chkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
		for (i = 0; i < len; i++)
		{
			iChr = str.charAt(i);
			for (j=0;j< name_chkOK.length;j++)
			{
				if (iChr == name_chkOK.charAt(j)) 
					intCheckCount++;
			}
		}
		if (str.length != intCheckCount) return false;
		else return true;
	}

	// ¹®ÀÚ ±æÀÌ ¹ÝÈ¯ (¿µ¹® 1byte, ÇÑ±Û 2byte °è»ê)
	function getLen(str) {
		var len;
	    var temp;

	    len = str.length;
	    var tot_cnt = 0;

	    for(k=0;k < len;k++){
	    	temp = str.charAt(k);
	    	if(escape(temp).length > 4)
	    		tot_cnt += 2;
	    	else
	    		tot_cnt++;
	    }
	    return tot_cnt;
	}
	// ´ë¹®ÀÚ º¯È¯ ex) toUpperCase(¹®ÀÚ)
	function toUpperCase(str) {
		var ret;
		str != null ? ret = str.toUpperCase() : ret = "";
		return ret;
	}	
	
function IdCheck(strId)
{
    // ID ºÎºÐÀ» Á¤È®ÇÏ°Ô Ã¼Å© (¼ýÀÚ¿Í ¿µ¹®ÀÚ¸¸ Ã¼Å©)
    var strStringCheck, intCheckCount;
    var name_chkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
    intCheckCount = 0;
    strStringCheck = 1;
    
    for(var i=0;i < strId.length;i++)
    {
        var name_string = strId.charAt(i);
        for (j=0;j< name_chkOK.length;j++)
            if (name_string == name_chkOK.charAt(j)) 
                intCheckCount++;
    }
    
    if (strId == "" || strId == null) return false;
    else if (strId.length != intCheckCount) return false;
    else return true;
}

function KeyDownNo()
{
    if (event.keyCode != 13)
    {
        // ¾Æ¹«°Íµµ ÀûÁö ¸øÇÏ°ÔÇÔ
        if ((event.keyCode > 48 && event.keyCode < 48)) event.returnValue = true;
        else event.returnValue = false;
    }
    else
        event.returnValue;
}
function NumberKeyDownCheck()
{
    if (event.keyCode != 13)
    {
        // ¼ýÀÚ¸¸ ¹Þ¾ÆµéÀÓ
        if (event.keyCode >= 48 && event.keyCode <= 57) event.returnValue = true;
        else event.returnValue = false;
    }
    else
        event.returnValue;
}

function NumberMinusKeyDownCheck()
{
    if (event.keyCode != 13)
    {
        // ¼ýÀÚ¸¸ ¹Þ¾ÆµéÀÓ
        if (event.keyCode >= 48 && event.keyCode <= 57 || (event.keyCode == 45)) event.returnValue = true;
        else event.returnValue = false;
    }
    else
        event.returnValue;
}

function EMailCheck1()
{
    if (event.keyCode != 13)
    {
        if ( (event.keyCode == 45) || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122) || (event.keyCode == 46)) 
            event.returnValue = true;
        else 
            event.returnValue = false;
    }
    else
        event.returnValue;
}

function EMailCheck2()
{
//alert(event.keyCode);
//return;
    var b;
    b = true;
    if (event.keyCode != 13)
    {
        if ( (event.keyCode == 45) || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122) || event.keyCode == 46) 
            {
                event.returnValue = true;
            }
        else 
            event.returnValue = false;
    }
    else
        event.returnValue;
}


function FileType(t, msg, file)
{
	
	var bResult = 0;
	var ext = file.right(3);
	if (!ext || ext == '')
	{
		return true;
	}
	else
	{

		arrExt = t.arrSplit('|');
		for (var i = 0 ; i < arrExt.length ; i++){
			if (arrExt[i].right(3) == ext)
			{
				bResult = 1;
			}
		}
		if (bResult == 1)
		{
			return true;
		}
		else
		{
			alert(msg);
			return false;
		}

	}
}




function _private_arrSplit(split) {
	var tmpStr;
	var i ;
	var iCnt;
	var iEnd;
	tmpStr = this;

	iCnt = 0;
	for( i = 0 ; i < tmpStr.length ; i++) {
		if (tmpStr.charAt(i) == split) {
			iCnt++;
		}
	}
	iCnt++;
	
	arr_str = new Array(iCnt);

	for (i = 0 ; i < iCnt ; i++)	{
		iEnd = tmpStr.indexOf(split);
		if (iEnd < 0)
			arr_str[i] = tmpStr;
		else{
			arr_str[i] = tmpStr.substring(0,iEnd);
			tmpStr = tmpStr.substring(iEnd+1);
		}
	}

	return arr_str;
}

function _private_trim() {
  var tmpStr, atChar;
  tmpStr = this;

  if (tmpStr.length > 0) atChar = tmpStr.charAt(0);
  while (_private_stringvb_isSpace(atChar)) {
    tmpStr = tmpStr.substring(1, tmpStr.length);
    atChar = tmpStr.charAt(0);
  }
  if (tmpStr.length > 0) atChar = tmpStr.charAt(tmpStr.length-1);
  while (_private_stringvb_isSpace(atChar)) {
    tmpStr = tmpStr.substring(0,( tmpStr.length-1));
    atChar = tmpStr.charAt(tmpStr.length-1);
  }
  return tmpStr;
}

function _private_left(inLen) {
  return this.substring(0,inLen);
}

function _private_right(inLen) {
  return this.substring((this.length-inLen),this.length);
}

function _private_mid(inStart,inLen) {
  var iEnd;
  if (!inLen)
    iEnd = this.length;
  else
    iEnd = inStart + inLen;
  return this.substring(inStart,iEnd);
}

function _private_stringvb_isSpace(inChar) {
  return (inChar == ' ' || inChar == '\t' || inChar == '\n');
}

String.prototype.trim     = _private_trim;
String.prototype.left     = _private_left;
String.prototype.right    = _private_right;
String.prototype.mid      = _private_mid;
String.prototype.arrSplit =_private_arrSplit;

String.prototype.isJumin = function() {
    var arg = arguments[0] ? arguments[0] : "";
    var jumin = eval("this.match(/[0-9]{2}[01]{1}[0-9]{1}[0123]{1}[0-9]{1}" + arg + "[1234]{1}[0-9]{6}$/)");
    if(jumin == null) {
        return false;
    }
    else {
        jumin = jumin.toString().num().toString();
    }
    // »ý³â¿ùÀÏ Ã¼Å©
    var birthYY = (parseInt(jumin.charAt(6)) == (1 ||2)) ? "19" : "20";
    birthYY += jumin.substr(0, 2);
    var birthMM = jumin.substr(2, 2) - 1;
    var birthDD = jumin.substr(4, 2);
    var birthDay = new Date(birthYY, birthMM, birthDD);
    if(birthDay.getYear() % 100 != jumin.substr(0,2) || birthDay.getMonth() != birthMM || birthDay.getDate() != birthDD) {
        return false;
    }        
    var sum = 0;
    var num = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]
    var last = parseInt(jumin.charAt(12));
    for(var i = 0; i < 12; i++) {
        sum += parseInt(jumin.charAt(i)) * num[i];
    }
    return ((11 - sum % 11) % 10 == last) ? true : false;
}
String.prototype.num = function() {
	return (this.trim().replace(/[^0-9]/g, ""));
}