/*                                                        */
/*  Tree Tools Informática Ltda                           */
/*                                                        */

/*                                                        */
/*  Verificacao de preenchimento de campos de formulario  */
/*                                                        */
function checkCamposObrig(formobj, fieldRequired, fieldDescription){

	var alertMsg = "Favor preencher o(s) campo(s):\n\n";
	var l_Msg = alertMsg.length;

	if(checkCamposObrig.arguments.length<3){
		alert("Número de argumentos inválidos.\nUse: checkCamposObrig(form,nomes,headers)");
		return false;
	}

	if(!formobj || !formobj.elements){
		alert("O objeto Form não foi especificado.\n");
		return false;
	}
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
             else  {
                   alert("O campo "+fieldRequired[i]+" não foi encontrado.");
             }
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}


/*                                                         */
/*  Verificacao de marcação de multiplos checkboxes/radio  */
/*  Autor: Gerson - Tree Tools Tecnologia da Informação    */
/*  Data: Sab 27 Jan 2007                                  */
/*                                                         */
/*  
	Ex: isChecked(f1.codigos, 'Selecione ao menos um'); 
														*/
function isChecked(field, msgError) {
	if (field == undefined) {
		return false;
	}
	var length = field.length;
	if (length == undefined) { //só tem 1
		if (field.checked) {
			return true;
		} else {
			alert(msgError);
			return false;
		}
	} else { //tem mais de um
		for (i = 0; i < length; i++) {
			if (field[i].checked) {
				return true;
			}
		}
		if (i == length) {
			alert(msgError);
			return false;
		}
	}
}
/* fim de isChecked                          */

/*                                                         */
/*  Marca / desmarca checkboxes 						   */
/*  Autor: Gerson - Tree Tools Tecnologia da Informação    */
/*  Data: Sab 28 Mar 2007                                  */
/*                                                         */
/*  Ex: checkAll(f1.codigos, true);       				   */
function checkAll(field, check) {
	if (field == undefined) {
		return false;
	}
	var length = field.length;
	if (length == undefined) { //só tem 1
		field.checked = check;
	} else { //tem mais de um
		for (i = 0; i < length; i++) {
			field[i].checked = check;
		}
	}
}
/*  Fim de checkAll(f1.codigos, true);     				   */



