/*
<form name="ttt" onSubmit="return chkForm(this);">
	<input type="text" required hname="ÀÌ °ªÀ» ÀÔ·ÂÇÏ¼¼¿ä!">
	<input type="text" min="2" mname="2 ÀÚº¸´Ù ±æ¾î¾ß ÇÕ´Ï´Ù">
	<input type="text" required hname="ÀÌ¸ÞÀÏÇÊ¼ö!" option="regMail" oname="¸ÞÀÏÇü½Ä¿À·ù!">
	<input type="submit" name="Submit" value="È®ÀÎ">
</form>
*/
function chkForm(f, no_disable)
{	
	
	var i,currEl;

    for(i = 0; i < f.elements.length; i++){ 
        currEl = f.elements[i]; 
        //ÇÊ¼ö Ç×¸ñÀ» Ã¼Å©ÇÑ´Ù.  

		if (currEl.disabled!=true){		
			
			if (currEl.getAttribute("required") != null) { 
				if(currEl.type == "TEXT" || currEl.type == "text" || currEl.type == "FILE" || currEl.type == "file" || 
				   currEl.tagName == "SELECT" || currEl.tagName == "select" || 
				   currEl.tagName == "TEXTAREA" || currEl.tagName == "textarea" ||
				   currEl.type == "HIDDEN" || currEl.type == "hidden"){ 
					
					if (typeof(ed) == 'object')
						document.getElementById(ed.id).value = ed.getHtml();					

					if(!chkText(currEl,currEl.hname,f)) return false; 

				} else if(currEl.type == "PASSWORD" || currEl.type == "password"){ 
					if(!chkText(currEl,currEl.hname,f)) return false; 

				} else if(currEl.type == "CHECKBOX" || currEl.type == "checkbox"){ 
					if(!chkCheckbox(f, currEl,currEl.hname)) return false; 

				} else if(currEl.type == "RADIO" || currEl.type == "radio"){ 
					if(!chkRadio(f, currEl,currEl.hname)) return false; 
				}
			}

			// ÀÔ·Â ÆäÅÏÀ» Ã¼Å©ÇÑ´Ù.
			if(currEl.getAttribute("option") != null && currEl.value.length > 0){ 
				if(!chkPatten(currEl,currEl.option,currEl.oname,f)) return false; 
			}
			// ±æÀÌ¸¦ Ã¼Å©ÇÑ´Ù.
			if(currEl.getAttribute("min") != null && currEl.value.length > 0){ 
				if(!chkMinimum(currEl,currEl.min,currEl.mname,f)) return false; 
			}
		}

	}
}



function chkPatten(field,patten,name,form)
{ 
    var regNum =/^[0-9]+$/; 
    var regNum_1 =/^[0-9]+$/; 
    var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;                     // Çü½Ä : 033-1234-5678
    var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/; 
    var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; 
    var regAlpha =/^[a-zA-Z]+$/; 
    var regHost =/^[a-zA-Z-]+$/; 
    var regHangul =/[°¡-ÆR]/; 
    var regHangulEng =/[°¡-ÆRa-zA-Z]/; 
    var regHangulOnly =/^[°¡-ÆR]*$/; 
    var regId = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{4,15}$/; 
    var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;                         // Çü½Ä : 2002-08-15

    patten = eval(patten); 
    if(!patten.test(field.value)){         
		alert(name); 
				if(field.style.display != 'none') 
				{
	        field.value = "";
	        field.focus(); 
	      }
        return false; 
    } 
    return true; 
} 

function chkMinimum(field, minimum, name,form)
{
       fieldvalue = field.value;
	   if (fieldvalue.length <minimum){
        alert(name); 
				if(field.style.display != 'none') 
				{
	        field.value = "";
	        field.focus(); 
	      }
        return false; }
    return true; 
}

function chkText(field, name, form)
{
    fieldvalue = field.value;
    fieldvalue = fieldvalue.split(" ");

	// ¿À¶óÅ¬ ¿¡·¯¸¦ ¹ß»ý½ÃÅ°´Â ' ¸¦ Á¦°ÅÇÑ´Ù.
/*
	var flag = "";
	var eExp= /'/gi;
	field.value  = field.value.replace(eExp, flag);
*/

    if(field.value.length + 1 == fieldvalue.length){ 
		alert(name);

				if(field.style.display != 'none' && field.type != 'hidden' &&  field.type != 'HIDDEN') 
				{
	        field.value = "";
	        field.focus(); 
	      }
        return false; 
    }
    return true; 
}

function chkCheckbox(form, field, name)
{
    fieldname = eval(form.name+'.'+field.name);
    if (!fieldname.checked){
        alert(name); 
        field.focus(); 
        return false; 
    }
    return true; 
}

function chkRadio(form, field, errorMSG)
{
	fieldname = eval(form.name+"."+field.name);
	for (var i=0;i<fieldname.length;i++) {
        if (fieldname[i].checked)
            return true; 
    }
    alert(errorMSG); 
    field.focus(); 
    return false; 
}

