function checkFields(f) {
	var r1=/(^\s*$)/;
	var r2=/^[^\s]+\@[^\s]+\.[^\s]{2,4}$/;
	if (typeof(strEmptyField)=="undefined")
		strEmptyField="";
	if (typeof(strInvalidEmail)=="undefined")
		strInvalidEmail="";

	var checked;

	for(var i=0;i<f.elements.length;i++){
		var e=f.elements[i], id=e.id, n=e.name, v=e.value, t=e.type, d=e.getAttribute("desc");
		if (typeof(id)!="string") id="";

		if (e.getAttribute("required")){
			checked=true;
			if ((t=="text" || t=="textarea") && r1.test(v))
				checked=false;
			if (t=="select-one" && r1.test(v))
				checked=false;
			if (t=="radio"){
				checked=e.checked;
				for(var j=0;j<f.elements[n].length;j++){
					var eRadio=f.elements[n][j];
					if (eRadio.type=="radio")
						checked=checked || eRadio.checked;
				}
			}
			if (!checked){
			    alert(strEmptyField.replace(/\[\[ID\]\]/gi, d ? d : document.getElementById(id + '_alert').innerHTML));
				e.focus();
				return false;
			}
		}

		if (e.getAttribute("email")){
			checked=true;
			if ((t=="text" || t=="textarea") && !r1.test(v) && !r2.test(v)){
				checked=false;
			}
			if (!checked) {
				alert(strInvalidEmail.replace(/\[\[ID\]\]/gi, document.getElementById(id+'_alert').innerHTML));
				e.focus();
				return false;
			}
		}

	}

//	StopFlash(f);
return true;
}

function fillFields(f){
	for(var i=0;i<f.elements.length;i++){
		var e=f.elements[i], v=e.value, val=e.getAttribute("val"), t=e.type;
		if ((t=="radio" || t=="checkbox") && val==v)
			e.checked=true;
		if (t=="select-one")
			for(var j=0;j<e.options.length;j++)
				if (e.options[j].value==val)
					e.selectedIndex=j;
	}
}

function makeSubmit(strFormName){
	var objForm=document.forms[strFormName];
	if (objForm&&checkFields(objForm)){
		objForm.submit();
	}
}

function makeReset(strFormName){
	var objForm=document.forms[strFormName];
	if (objForm)
		objForm.reset();
}

