function SubmitValidate(name)
{
	var frm = document.getElementsByTagName("FORM");
	if(frm == null) return 0;
	
	for(k=0; k<frm.length; k++) 
	{
		if (frm[k].name == name)
		{
			var att = frm[k].getAttribute("validate");
			if(att == null) return;
		
			if (SubmitEvent(frm[k].getElementsByTagName("INPUT"), 1)) return 1;
			if (SubmitEvent(frm[k].getElementsByTagName("TEXTAREA"), 2)) return 1;
		}
	}
	
	return 0;
}

function SubmitEvent(tag, no)
{
	if(tag == null) return 0;
	
	for(i=0; i<tag.length; i++) 
	{
		att = tag[i].getAttribute("validate_Notnull");
		if(att != null) 
		{
			if (ValidateNotnull(tag[i], att)) return 1;
		}
		
		att = tag[i].getAttribute("validate_MaxLength");
		if(att != null) 
		{
			if (ValidateMaxLength(tag[i], att)) return 1;
		}		
		
		att = tag[i].getAttribute("validate_Email");
		if(att != null) 
		{
			if (ValidateEmail(tag[i])) return 1;
		}				
		
		if (no == 1) tag[i].value = tag[i].value.replace("\"", "¡È");		
	}
	
	return 0;
}

function ValidateNotnull(obj, len)
{
	value = obj.value.replace(/\s+/g,'');
	name = obj.getAttribute("validate_Name");
	
	if (obj.style.display == "none") return 0;
	if (obj.disabled) return 0;
	
	if (value == "")
	{
		obj.focus();
		var msg = "[" + name + "] ÇÊ¼ö ÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.";
		MsgOnlyOk(msg);
		return 1;
	}
	else if (value.length < parseInt(len, 10))
    {
		obj.focus();
		var msg = "[" + name + "] ÃÖ¼Ò " + len + " ÀÚ ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.";
		MsgOnlyOk(msg);
		return 1;    	
    }
	else return 0;
}

function ValidateEmail(obj)
{
	value = obj.value.replace(/\s+/g,'');
	
	if (obj.style.display == "none") return 0;
	if (obj.disabled) return 0;
	
	if (value.search(/(\S+)@(\S+)\.(\S+)/) == -1 ) 
	{
		MsgOnlyOk("ÀüÀÚ¿ìÆíÁÖ¼ÒÀÇ Çü½ÄÀº '°èÁ¤@[È£½ºÆ®|µµ¸ÞÀÎ]'°ú °°ÀÌ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù."); 
		obj.focus();
		return 1;
	}	
	return 0;
}

function ValidateMaxLength(obj, len)
{
	value = obj.value.replace(/\s+/g,'');
	name = obj.getAttribute("validate_Name");
	
	if (obj.style.display == "none") return 0;
	if (obj.disabled) return 0;
	
	if (value.length > parseInt(len, 10) || GetStringLength(value) > parseInt(len, 10))
    {
		obj.focus();
		var msg = "[" + name + "] ÃÖ´ë " + len + " byte ±îÁö °¡´ÉÇÕ´Ï´Ù. (ÇÑ±ÛÀº ÇÑÀÚ´Â 2byte ÀÔ´Ï´Ù.)";
		MsgOnlyOk(msg);
		return 1;    	
    }
	else return 0;
}

function GetStringLength(str)
{
	var i=0;
	var hlen=0;
	while (i < str.length )
	{
		if (str.charCodeAt(i) > 128 )
		{
			hlen = hlen + 2;
			i = i + 1;
		}
		else 
		{
			hlen = hlen + 1;
			i = i + 1;
		}
	}
	return hlen;
}

function AttachValidate()
{
	var frm = document.getElementsByTagName("FORM");
	if(frm == null) return;

	for(k=0; k<frm.length; k++) 
	{
		var att = frm[k].getAttribute("validate");
		if(att != null)
		{
			AttachEvent(frm[k].getElementsByTagName("INPUT"));
			AttachEvent(frm[k].getElementsByTagName("TEXTAREA"));
			AttachEvent(frm[k].getElementsByTagName("SELECTBOX"));		
		}
	}
}

function AttachValidateName(frm)
{
	if(frm == null) return;

	var att = frm.getAttribute("validate");
	if(att == null) return;
		
	AttachEvent(frm.getElementsByTagName("INPUT"));
	AttachEvent(frm.getElementsByTagName("TEXTAREA"));
	AttachEvent(frm.getElementsByTagName("SELECTBOX"));		
}

function AttachEvent(tag)
{
	if(tag == null) return;
	
	for(i=0; i<tag.length; i++) 
	{

		att = tag[i].getAttribute("validate_Price");
		if(att != null) 
		{
//			AddFocusOut(tag[i], "validate_Price");
//			tag[i].value = ValidatePrice(tag[i].value);
			
			AddKeyUp(tag[i], "validate_Price");
		}
		
		att = tag[i].getAttribute("validate_Keynumber");
		if(att != null) 
		{
			AddKeyPress(tag[i], "validate_Keynumber");
		}		

		att = tag[i].getAttribute("validate_Datetime");
		if(att != null) 
		{
			AddFocusIn(tag[i], "validate_DatetimeIn");
			AddFocusOut(tag[i], "validate_DatetimeOut");
		}		
	}
}

function AddFocusOut(obj, ename)
{
	if(document.all) 
	{
		obj.attachEvent("onfocusout", eval(ename));
	} 
	else
	{
		obj.addEventListener("onfocusout", eval(ename), false);
	}

	return true;
}

function AddFocusIn(obj, ename)
{
	if(document.all) 
	{
		obj.attachEvent("onfocus", eval(ename));
	} 
	else
	{
		obj.addEventListener("onfocus", eval(ename), false);
	}

	return true;
}

function AddKeyUp(obj, ename)
{
	if(document.all) 
	{
		obj.attachEvent("onkeyup", eval(ename));
	} 
	else
	{
		obj.addEventListener("onkeyup", eval(ename), false);
	}

	return true;
}

function AddKeyPress(obj, ename)
{
	if(document.all) 
	{
		obj.attachEvent("onkeypress", eval(ename));
	} 
	else
	{
		obj.addEventListener("onkeypress", eval(ename), false);
	}

	return true;
}

function validate_Price()
{
	var obj;
	if(document.all) 
	{
		obj = event.srcElement;
	} 
	else 
	{
		obj = this;
	}

	if (event.keyCode != 39 && event.keyCode != 37)
	{
		obj.value = ValidatePrice(obj.value);
	}
	return true;
}

function ValidatePrice(value)
{
	
	value = UnComma(value);
	return Comma(value);
}

function validate_Keynumber()
{
	ValidateKeynumber();
}

function ValidateKeynumber()
{
	if ((event.keyCode < 48) || (event.keyCode > 57) || event.keyCode == 46 ) event.returnValue = false;
}

function validate_DatetimeIn()
{
	var obj;
	if(document.all) 
	{
		obj = event.srcElement;
	} 
	else 
	{
		obj = this;
	}
		
	return new CalendarFrame.Calendar(obj);
}

function validate_DatetimeOut()
{
//	CalendarFrame.document.getElementById("CalendarClose").onclick();
}

//Ãß°¡½ºÅ©¸³Æ®
function ItemLengthCheck(item, str, no)
{
	len = GetStringLength(str);
	if (len > no)
	{
		MsgOnlyOk("'" + item + "' ±ÛÀÚ¼ö°¡ " + len + " ÀÔ´Ï´Ù. ÃÖ´ë °¡´ÉÇÑ ±ÛÀÚ¼ö´Â " + no + "ÀÔ´Ï´Ù.");
		return 1;
	}
	return 0;
}