	function validateForm(f) {
		var msg = '';
		var tmp = '';
		var v = f.validate;
		if (f.validate != undefined) {
			if (v.length == undefined) {
				msg = checkFields(f,v.value);
			} else {
				for (var i = 0;i < v.length;i++) {
					tmp = checkFields(f,v[i].value);
					if (tmp.length > 0) {
						msg = msg + tmp + '\n';
					}
				}
			}
			if (msg.length == 0) {
				f.submit();
			} else {
				msg = 'The following are required fields.\n\n' + msg + '\n\nPlease try again.';
				alert(msg);
			}
		} else {
			f.submit();
		}
		
	}
	function checkFields(f,list) {
		var msg = ''
		var passed = false;
		var fields = list.split(',');
		for (var i = 0;i < fields.length;i++) {
			fieldName = eval('document.' + f.name + '.' + fields[i]);
			if (fieldName.value.length > 0) {
				passed = true;
			}
		}
		if (!passed) {
			for (var i = 0;i < fields.length;i++) {
				if (i > 0 && i < (fields.length -1)) {
					msg = msg + ', ';
				} else if (i > 0 && i == (fields.length -1)) {
					msg = msg + ' or ';
				}
				msg = msg + fields[i];
				
			}
		}
		return msg;
	}
	
	function openModal(sUrl,w,h) {
		aParms = new Array(1);
		idx=1;
		for(iTemp=4;iTemp<arguments.length;iTemp++) {
			aParms[idx]=arguments[iTemp];
			idx++;
		}
		return showModalDialog(sUrl,aParms,'dialogWidth:'+w+'px;dialogHeight:'+h+'px;status:no;scroll:no;');
	}
