window.onload = function(e) {
	checkFormElements();
}

function checkFormElements() {
	var objs = (document.all) ? document.all : document.getElementsByTagName("*");
	for (var i=0; i<objs.length; i++) {
		if (objs[i].className.indexOf("require") > -1) {
			objs[i].onblur = validateInput;
		}
		if (objs[i].className.indexOf("checkForm") > -1) {
			objs[i].onsubmit = validateAllInput;
		}
	}
}

function validateAllInput() {
	var objs = (document.all) ? document.all : document.getElementsByTagName("*");
	var formok = "";
	for (var i=0; i<objs.length; i++) {
		if (objs[i].className.indexOf("require") > -1) {
			formok += validateInput(objs[i]);
		}
	}
	if (formok.indexOf('false') > -1) {
		return false;
	}
	return true;
}

function validateInput(that) {
	var obj = (typeof(this.nodeName)=='undefined') ? that : this ;	
	var classItem = obj.className.split(' ');
	document.getElementById("warning_"+obj.name).style.display = "none";
	var passok = true;
	for (var i=0; i<classItem.length; i++) {
		switch (classItem[i]) {
			case "notempty" :
				passok = (obj.value!="");
				break;
			case "email" :
				passok = (obj.value.match(/^[\w\.\-\,\+]+@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/)!=null);
				break;
			case "num" :
				passok = (obj.value.match(/^[0-9]/)!=null);
				break;
			case "radio" :
				passok = checkRadio(obj);
				break;
			default :
				//nix
				break;
		}
	}
	if (passok != true) {
		document.getElementById("warning_"+obj.name).style.display = "inline";
	}
	return passok;
}

function checkRadio(obj) {
	var val = false;
	var objs = (document.all) ? document.all : document.getElementsByTagName("input");
	for (var i=0;i<objs.length;i++) {
		if ((objs[i].id.indexOf(obj.name) > -1) && (objs[i].checked)) {
			val = true;
		}
	}
	return (val);
}

function doSubmit(TEHForm) {
	if (validateAllInput()){
		document.forms[TEHForm].submit();
	}
}
