function js_valid(formFields,formObject) {
	var i=0;
	for(i=0;i<formFields.length;i++) {
		var field=formFields[i];
		
		var elm =eval("formObject."+field[0]);
		var rule = field[1];
		var msg = field[2]
		var multiple = field[3];
		switch(rule) {
			case 'email':
				if(!checkMail(elm.value)) {					
					error(elm,msg);
					return false;
				}
				break;
			case 'time':
				if(!ValidCas(elm.value)) {
					error(elm,msg);
					return false;
				}
				break;
			case 'date':
				if(!ValidDatum(elm.value)) {
					error(elm,msg);
					return false;
				}
				break;
			case 'required':
				if(elm.type=='textarea' || elm.type=='text') {
					if(elm.value.length == 0) {
						error(elm,msg);
						return false;
					}
				} else if(elm.type == 'file') {
					if(elm.value == '') {
						error(elm,msg);
						return false;
					}
				} else if (elm[0].type == 'radio') {
					found = false;
					// find at least one nonempty element
					for(i=0;i<elm.length;i++) {
						 if(elm[i].nodeType == 1) { // element?
							if(elm[i].checked == true) found = true;
						 }
					}
					if(!found) {
						error(elm[0],msg);
						return false;
					}
				} else if (elm.type == 'select-one') {
					if(elm.selectedIndex == 0) {
						error(elm,msg);
						return false;
					}
				} else {
					alert("JS_VALID: UNDEFINED ELEMENT"+elm.type);
					return false;
				}
			break;
		}
	}
	return true;
}