//
// form validation
//

function input_validate(oCheck)
{
	var is_valid=true;
	var r,re;
        
        
	for (var i in oCheck)
	{
		var item = oCheck[i];
                
		var cmd = item[0];

		
		var target = item[1];
		
		var msg = item[2];
		
		var option = item[3];
		

		
		switch (cmd)
		{
			case "input" :
				if (typeof(target)=="object" && target.tagName=="INPUT" && target.type=="checkbox")
					is_valid = target.checked;
				 
				 else if (typeof(target)=="object" && target.length && target[0].tagName=="INPUT" && target[0].type=="radio")
				{
					
					is_valid = false;
					if (!(option && typeof(option.focus)=="object")) option = {"focus":false};
					
					for (var ii=0; ii<target.length; ii++) {
						if (target[ii].checked) {
							
							is_valid  = true;
							break;
						}
					}
				}
				else
					is_valid = (target.value!="");
				break;
			case "max" :
				var length = item[2];
				msg = item[3];
				option = item[4];
				is_valid = (target.value.length<=length);
				break;
			case "min" :
				var length = item[2];
				msg = item[3];
				option = item[4];
				is_valid = (target.value.length>=length);
				break;
			case "email" :
				is_valid = bd_isEmail( (target.value)? target.value : target );
				break;
			case "number" :
				is_valid = bd_isNum(target.value);
				break;
			case "alphanumeric" :
				re = /[^0-9a-zA-Z]/;
				r = target.value.search(re);
				is_valid = (r<0);
				break;
			case "check" :
				is_valid = target;
				break;
		}

		if (!is_valid)
		{
             alert(msg);
			if (!(option && (typeof(option.focus)=="object" || option.focus===false)) && typeof(target)=="object") target.focus();
			if (option && typeof(option.focus)=="object") option.focus.focus();
			return false;
		}
	}
	return true;
}


// only number
function bd_isNum(str)
{   
	var r,re = /[^0-9]/;
	r = str.search(re);
	return (r<0);
}
// E-mail validation
function bd_isEmail(str) {
    var r, re;
    re = /^[a-zA-Z0-9\-\_][\w\.-]*[a-zA-Z0-9\-\_]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/i;
    r = str.match(re);

    if (r == null) return false;
    return (str == r[0]);
}

/* input_validate()  ü
function BD_checkEmpty(o, str, msg)
{
	if (o.value==str) {
		alert(msg);
		o.focus();
		return false;
	}
	return true;
}
function BD_checkLength(o, size, msg)
{
	if (o.value.length>size) {
		alert(msg);
		o.focus();
		return false;
	}
	return true;
}
*/
