/**
 * Grup de funcions que comproven que els camps obligatoris d'un fromulari siguin correctes
 */
 
/**
 * Crea objeto donde se guadan los campos obligatorios con el tipo
 * 
 * @param char sNom: nom del camp de la propietat id
 * @param char sTipus: tipus del camp. valores posibles(string,email)
 * @param char iError: error del camp. valores posibles(0=OK,1=ko buit,2=ko format erroni)
 * @param char sObligatori: si el camp és obligatori. valores posibles(s=obligatori,n=no obligatori)
 *
 * @return no torna res 
 */ 
  function Camp (sNom,sTipus,iError,sObligatori){
  	this.nom = sNom;
  	this.tipus = sTipus;
  	this.error = iError;
  	this.obligatori = sObligatori;
  }
  
 /**
 * Crea objeto donde se guadan los campos obligatorios con el tipo
 * 
 * @param array arrNom: array amb els noms dels camps de la propietat id del form
 * @param array arrTipus: arrat amb els tipus dels camps. valores posibles(string,email)
 *
 * @return array de objectes Camp 
 */ 
  function validarCamps (arrCampNom,arrCampTipus,arrCampObligatori){
  	var objCamp = new Array();
  	
  	iLength = arrCampNom.length;
	for (var iCon=0 ; iCon<iLength; iCon++){
		objCamp[iCon] = new Camp();
		objCamp[iCon].nom = arrCampNom[iCon];objCamp[iCon].tipus = arrCampTipus[iCon] ;objCamp[iCon].error = 0;objCamp[iCon].obligatori = arrCampObligatori[iCon];
	} // for (var iCon=0 ; iCon<iLength; iCon++)
	
	/* exprecions regulars */	
	var er_email = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
	iLength = objCamp.length;
	for (var iCon=0 ; iCon<iLength; iCon++){
		/* Controla si està buit o no */
		sNom = objCamp[iCon].nom;
		sContingut = allTrim(document.getElementById(sNom).value);
		if (objCamp[iCon].obligatori == 's'){
			if ( sContingut.length == 0) {
				objCamp[iCon].error = 1;
			} // if ( document.getElementById(sNom).length == 0)
		}// if (objCamp[iCon].obligatori == 'n')
		/* Controla que el camp tingui format correcte l'email */
		if (objCamp[iCon].tipus == 'email'){  
   			if(!er_email.test(sContingut) && sContingut.length > 0 ) { 
				objCamp[iCon].error = 2;
			} // if(!er_email.test(document.getElementById(sNom).value))
		} // if (objCamp[iCon].sTipus == 'email')
	} // for (var iCon=0 ; iCon<iLength; iCon++)
	return objCamp;
  }
   