/* 
#  $Header: /aplic/ITED/src/repository/aplic/ITED/www/htdocs/common/scripts/ver_camp.js,v 1.5 2003-05-07 19:38:39-03 b918145 Beta $
#  HSBC Bank Brasil S.A. - IT E-Channels E-Publishing
#  Description : Verificacao de preenchimento de campos de formulario
#  Author      : LUCIANO M. RIBAS
*/
function checkCamposObrig(form,nomes,headers,msgF){
var numV=0,indV,v,obj,field=null,check=true,
CV=(msgF && typeof msgF=="string")?msgF+"\n\n":"\nVocê deve preencher o(s) campo(s):\n\n";
	if(checkCamposObrig.arguments.length<3){
		alert("No. de arg. inválidos.\nUso: checksObrig(form,nomes,headers,[msgErroUsuário])");
		return false;
	}
	if(!form || !form.elements){
		alert("O objeto Form não foi especificado.\n");
		return false;
	}
	for(var i=0;i<nomes.length;i++){
		obj=form.elements[nomes[i]];
		if(typeof obj=="undefined")alert("O campo "+nomes[i]+" não foi encontrado.");
		else{
			if(isSelect(obj)){
				ind=obj.selectedIndex;
				v=(obj.length==0 || ind==-1)?"":obj.options[ind].value;
			}else if(isRadio(obj))v=getRadioValue(obj);
			else v=obj.value;
			if(isNull(v)){
				CV+=headers[i]+"\n";
				check=false;
				if(!field)field=obj;
				numV++;
				if(numV==1)indV=nomes[i];
			}
		}
	}
	if(!check){
		alert(CV);
		if(!isRadio(field)&&(typeof field!="undefined")&&(typeof field.type!="undefined" && field.type!="hidden"))
			window.focusField?focusField(field):field.focus();
		else if(isRadio(field) && typeof field.length=="number" && field.length>0)field[0].focus();
	}
	return check;
}
function isNull(s){
	var c;s=String(s);
	if(!s ||s.length==0)return true;
	else{
		for(i=0;i<s.length;i++){
			c=s.charAt(i);
			if(c!='\r'&&c!='\n'&&c!=' ')return false;
		}
		return true;
	}
}   
function isSelect(obj){return /^(select-one|select-multiple)$/.test(obj.type);}
function isRadio(obj){return typeof obj.type=="undefined" && obj.length>1;}
function getRadioValue(obj){
	for(var i=0;i<obj.length;i++)if(obj[i].checked)return obj[i].value;
	return "";
}
