function valfrm(f)
{
	var o;
	var t;
	var ret=true;
	var tmperr;

	for (var i=0;i<f.elements.length;i++) {

		tmperr = false;
		o = f.elements[i];
		t = o.getAttribute("val");

		if (t && !o.disabled) {
			switch(t) {
				case "EM":
					if(!val_em(o.value)) tmperr = true;
					break;
					
				case "YEAR":
					if(!val_year(o.value)) tmperr = true;
					break;
					
				case "CBO":
					if(o.value=="-1") tmperr = true;
					break;
				case "NU":
					if(isNaN(o.value) || o.value=="") tmperr = true;
					break;
				default:
					if(o.value=="") tmperr = true;
			}
			
			if(tmperr) {
				ret = false;
				if (o.style.backgroundColor!="#ff7777") o.bgcol = o.style.backgroundColor;
				o.style.backgroundColor = "#ff7777";
			} else {
				if (o.bgcol!="undefined") o.style.backgroundColor = o.bgcol;
			}
		}
	}

	return ret;
}

function val_em(s) {
	var ret = true;
	
	var at = s.indexOf("@");
	var name = s.substr(0, at);
	var dom = s.substr(at+1);
	var domdot = dom.lastIndexOf(".");
	
	var rn1 = new RegExp("[^A-Za-z0-9._-]|^[._-]");
	var rd1 = new RegExp("[^A-Za-z0-9.-]|^[.-]");

	if(name.search(rn1)!=-1) ret = false;
	if(name.length==0) ret = false;
	
	if(dom.search(rd1)!=-1) ret = false;
	if(domdot<2) ret = false;
	if(dom.length-domdot<3) ret = false;

	return ret;
}

function val_year(s){
	var ret = true;
	var re = new RegExp("[12][09][0-9][0-9]");
	
	if(s.search(re)==-1) ret = false;
	if(s.length==0) ret = false;
	return ret;

}

