function requiredFields (formobj, fieldList, textList, alertMsg) {

	// Missatge d'error
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldList.length; i++){
		var obj = formobj.elements[fieldList[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + textList[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + textList[i] + "\n";
				}
				break;
			case "text":
			case "file":
			case "password":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + textList[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 += " - " + textList[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}

}

function integerFields (formobj, fieldList, fieldText, fieldMax, fieldMin, alertMsg) {

	// Missatge d'error
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldList.length; i++){
		var obj = formobj.elements[fieldList[i]];
		if (obj){
			switch(obj.type){
			case "text":
				var v = Number (obj.value)
				if (v<fieldMin[i] || v > fieldMax[i] || isNaN(obj.value)){
					alertMsg += " - " + fieldText[i] + " [" + fieldMin[i] + " - " + fieldMax[i] + "]\n";
				}
				break;
			default:
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}

}

function dateFields (formobj, fieldList, fieldText, alertMsg) {

	// Missatge d'error
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldList.length; i++){
		var obj = formobj.elements[fieldList[i]];
		if (obj){
			switch(obj.type){
			case "text":
				var datevalue = new Date()
				var datearray = obj.value.split("/")
				if (datearray.length==3) {
					datevalue.setDate (datearray[0])
					datevalue.setMonth(datearray[1]-1)
					datevalue.setFullYear (datearray[2])
				}
				if (datearray.length!=3 || isNaN(datevalue)){
					alertMsg += " - " + fieldText[i] + "\n";
				}
				break;
			default:
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}

}

function oneIsRequired (formobj, fieldList, alertMsg) {

	// Missatge d'error
	var cnt = 0;
	
	for (var i = 0; i < fieldList.length; i++){
		var obj = formobj.elements[fieldList[i]];
		if (obj.checked) cnt++;
	}

	if (cnt>0){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}

}
