function Validate(vForm)
{ 
	var i, vElement;

	for(i = 0;i < vForm.elements.length;i++){ 
		vElement = vForm.elements[i];
		//ÇÊ¼ö Ç×¸ñÀ» Ã¼Å©ÇÑ´Ù.  
		if (vElement.getAttribute("REQUIRED") != null) { 
			if(vElement.type == "TEXT" || vElement.type == "text" || 
			   vElement.tagName == "SELECT" || vElement.tagName == "select" || 
			   vElement.tagName == "TEXTAREA" || vElement.tagName == "textarea"){ 
				if(!CheckText(vElement, vElement.HNAME)) return false;

			} else if(vElement.type == "PASSWORD" || vElement.type == "password"){ 
				if(!CheckText(vElement, vElement.HNAME)) return false;

			} else if(vElement.type == "CHECKBOX" || vElement.type == "checkbox"){ 
				if(!CheckCheckbox(vForm, vElement, vElement.HNAME)) return false;

			} else if(vElement.type == "RADIO" || vElement.type == "radio"){ 
				if(!CheckRadio(vForm, vElement, vElement.HNAME)) return false;

			}
		}

		var vLen = 0;
		// ÃÖ´ë »çÀÌÁî¸¦ Ã¼Å©ÇÑ´Ù.
		if(vElement.getAttribute("MAXBYTES") != null && vElement.value.length > 0){ 
			for(j=0;j<vElement.value.length;j++) {
				var str = vElement.value.charAt(j);
				vLen += (str.charCodeAt() > 128) ? 2 : 1;
			}
			if (vLen > parseInt(vElement.getAttribute("MAXBYTES"))) {
				vMAXBYTES = vElement.getAttribute("MAXBYTES");
				var vName = vElement.getAttribute("HNAME") ? vElement.getAttribute("HNAME") : vElement.getAttribute("name"); 
				alert("'" + vName + "' Ç×¸ñÀÇ ±æÀÌ°¡ ³Ê¹« ±é´Ï´Ù.");
				vElement.select();
				vElement.focus();
				return false;
			}
		} 
		// ÃÖ¼Ò »çÀÌÁî¸¦ Ã¼Å©ÇÑ´Ù.
		if(vElement.getAttribute("MINBYTES") != null && vElement.value.length > 0){ 
			for(j=0;j<vElement.value.length;j++) {
				var str = vElement.value.charAt(j);
				vLen += (str.charCodeAt() > 128) ? 2 : 1;
			}
			if (vLen < parseInt(vElement.getAttribute("MINBYTES"))) {
				vMAXBYTES = vElement.getAttribute("MINBYTES");
				var vName = vElement.getAttribute("HNAME") ? vElement.getAttribute("HNAME") : vElement.getAttribute("name"); 
				alert("'" + vName + "' Ç×¸ñÀÇ ±æÀÌ°¡ ³Ê¹« Âª½À´Ï´Ù.");
				vElement.select();
				vElement.focus();
				return false;
			}
		} 
		// ÀÔ·Â ÆäÅÏÀ» Ã¼Å©ÇÑ´Ù.
		if(vElement.getAttribute("PATTERN") != null && vElement.value.length > 0){ 
			if(!CheckPattern(vElement)) return false;
		} 
	}
	return true;
} 

function CheckPattern(vElement)
{ 
	switch(vElement.getAttribute("PATTERN")) {
		case "NUMBER":
			vPattern = /^[0-9]+$/;
			break;
		case "PHONE":
			vPattern = /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
			break;
		case "EMAIL":
			vPattern = /^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;
			break;
		case "DOMAIN":
			vPattern = /^[.a-zA-Z0-9-]+.[a-zA-Z]+$/;
			break;
		case "ALPHA":
			vPattern = /^[a-zA-Z]+$/;
			break;
		case "ALPHANUM":
			vPattern = /^[a-zA-Z0-9]+$/;
			break;
		case "HOST":
			vPattern = /^[a-zA-Z-]+$/;
			break;
		case "NOTKOR":
			vPattern = /[°¡-ÆR]/;
			break;
		case "KORENG":
			vPattern = /^[°¡-ÆRa-zA-Z]*$/;
			break;
		case "KORONLY":
			vPattern = /^[°¡-ÆR]*$/;
			break;
	}
	if(!vPattern.test(vElement.value)){ 
		var vName = vElement.getAttribute("HNAME") ? vElement.getAttribute("HNAME") : vElement.getAttribute("name"); 
		alert("'" + vName + "' Ç×¸ñÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
		vElement.select();
		vElement.focus();
		return false;
	} 
	return true;
} 

function CheckText(vField, vName)
{ 
	if(vField.value.length < 1){ 
		alert("'" + vName + "' Ç×¸ñÀ» ÀÔ·ÂÇØÁÖ¼¼¿ä.");
		if ( vField.tagName != "SELECT" && vField.tagName != "select"
 ) {
			vField.select();
		}
		vField.focus();
		return false;
	} 
	return true;
}

function CheckCheckbox(vForm, vField, vName)
{
	vFieldname = eval(vForm.name+'.'+vField.name);
	if (!vFieldname.checked){
		alert("'" + vName + "' Ç×¸ñÀ» ¼±ÅÃÇØÁÖ¼¼¿ä.");
		vField.focus();
		return false;
	}
	return true;
}

function CheckRadio(vForm, vField, vName)
{
	vFieldname = eval(vForm.name+'.'+vField.name);
	for (i=0;i<vFieldname.length;i++) {
		if (vFieldname[i].checked)
			return true;
	}
	alert("'" + vName + "' Ç×¸ñÀ» ¼±ÅÃÇØÁÖ¼¼¿ä.");
	vField.focus();
	return false;
} 

function SetRequired(vForm) {
	for (var j = 0;j < vForm.elements.length;j++) {			
		if (vForm.elements[j].getAttribute("REQUIRED") != null) {
			//vForm.elements[j].className = "required";
		}
	}	
} 
