/* v1.0.5 */
function fvMandatory(stop,obj,check,passFailID)
{
	if (fvStop || !check) {
		return false;
	}
	var i;
	var notValid=false;
	var objType;
	objType=fvObjType(obj);
	if (objType=='text-array' || objType=='password-array' || objType=='textarea-array' || objType=='select-one-array' || objType=='select-multiple-array') {
		notValid=true;
		for (i=0; i<obj.length; i++) {
			if (objType=='select-multiple-array') {
				for (j=0; j<obj[i].length; j++) {
					if (obj[i][j].selected && obj[i][j].value!='') notValid=false;
				}
			}
			if (objType=='select-one-array') {
				if (fvObjValue(obj[i])!='') notValid=false;
			}
			else {
				if (obj[i].value!='') notValid=false;
			}
		}
	}
	else if (objType=='var') {
		if (typeof obj=='undefined' || obj=='') notValid=true
	}
	else if (objType=='var-array') {
		notValid=true;
		for (i=0; i<obj.length; i++) {
			if (typeof obj[i]!='undefined' && obj[i]!='') notValid=false
		}
	}
	else if (objType=='radio' || objType=='checkbox') {
		notValid=true;
		if (obj.length>1) {
			for (i=0; i<obj.length; i++) {
				if (obj[i].checked && obj[i].value!='') notValid=false;
			}
		}
		else {
			if (obj.checked && obj.value!='') notValid=false;
		}
	}
	else if (objType=='select-multiple') {
		notValid=true;
		for (j=0; j<obj.length; j++) {
			if (obj[j].selected && obj[j].value!='') notValid=false;
		}
	}
	else if (objType=='select-one') {
		if (obj.length>0) {
			if (fvObjValue(obj)=='') notValid=true;
		}
		else {
			notValid=true;
		}
	}
	else  {
		if (obj.value=='') notValid=true;
	}
	if (stop) fvStop=notValid;
	if (passFailID!='') fvSetPassFail(passFailID,notValid);
	return notValid;
}
