//-----------------------------------------------------------
// Script per la validazione dei Campi del form 
// validate_campo(mio_form,mio_campo,richiesto,tipo)
//						  
//      
// ----------------------------------------------------------
// Start

function validate_campo(mio_form,mio_campo,richiesto,tipo){
		
		
		var notWhiteSpace = /\S/;
		var isNumber = /^\d+$/;
		var isNotAlpha  = /[^a-z \-\.\,\']/gi;
		var isDecimal = /^(\d+)?[\,\.]\d+/;
		var isNotAlphaNumeric = /[^a-z\d\.\,\-\/ ]/gi;
		var isEmail = /^\w(\.?[\w-])*@\w(\.?[\w-])*\.[a-z]{2,6}(\.[a-z]{2})?$/i;
		var isPhone = /^(\+\d{2}[-\/ ])?\d{2,4}[-\/ ]?\d{3}[-\/ ]?\d{3}[-\/ ]?\d+$/;	
		var isCFiscale = /^\D{6}\d{2}\D\d{2}\D\d{3}\D$/;		
		var isPIVA = /^\d{11}$/;		
		var isCAP = /^\d{5}$/;
		var isPw = /[^a-z\d]/i;	
		var isData = /^[0-3]?\d\/[0-1]?\d\/(19|20)\d{2}$/;
		
		
		if(richiesto){
			if(mio_form[mio_campo].value == "" || !notWhiteSpace.test(mio_form[mio_campo].value)){
				campi_vuoti+= mio_form[mio_campo].name + "\n"
				mio_form[mio_campo].style.backgroundColor="#FFCC66"
			}
			else
				mio_form[mio_campo].style.backgroundColor=""
		}
		
		
		if (mio_form[mio_campo].value != "" || notWhiteSpace.test(mio_form[mio_campo].value)){
				switch (tipo){
				
					case"isNotAlpha":
						if(isNotAlpha.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - contiene numeri"
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
		
						break
					case"isData":
						if(!isData.test(mio_form[mio_campo].value)){
							errore += "\n" + mio_form[mio_campo].name + " - la data non è nel formato corretto"
							mio_form[mio_campo].style.backgroundColor="red" 
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isCAP":
						if(!isCAP.test(mio_form[mio_campo].value)){
							errore += "\n" + mio_form[mio_campo].name + " - CAP errato" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isNotAlphaNumeric":
						if(isNotAlphaNumeric.test(mio_form[mio_campo].value)){
							errore += "\n" + mio_form[mio_campo].name + " - contiene caratteri illegali" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
			
					case"isCFiscale":
				 		if(!isCFiscale.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - codice fiscale errato" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isPIVA":
				 		if(!isPIVA.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - P.IVA errata" 
							mio_form[mio_campo].style.backgroundColor="red"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isEmail":
				 		if(!isEmail.test(mio_form[mio_campo].value)){
							//errore+= "\n" + mio_form[mio_campo].name + " - Indirizzo e-mail non valido" 
							errore+= "\ninvalid e-mail address" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isPhone":
				 		if(!isPhone.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - telefono errato" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isNumber":
				 		if(!isNumber.test(mio_form[mio_campo].value)){
							//errore+= "\n" + mio_form[mio_campo].name + " - Importo della donazione non valido \n(eliminare tutti i caratteri non numerici - es. 1000 e non 1.000)" 
							errore+= "\ndonation amount invalid. (Eliminate all non-numeric characters from the amount - ex. 1000 not 1,000)" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isDecimal":
					 	if(!isDecimal.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - importo non valido (non è un numero decimale)" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						}
						else
							mio_form[mio_campo].style.backgroundColor=""
						break
					case"isPw":
						 if(isPw.test(mio_form[mio_campo].value)){
							errore+= "\n" + mio_form[mio_campo].name + " - errore la password contiene caratteri non validi" 
							mio_form[mio_campo].style.backgroundColor="#FFCC66"
						 }else if(mio_form[mio_campo].value.length <6 ){
								errore+= "\n" + mio_form[mio_campo].name + " - errore la password deve essere lunga 6 caratteri" 
								mio_form[mio_campo].style.backgroundColor="#FFCC66"
						 	}
							else
							mio_form[mio_campo].style.backgroundColor=""
						break		
					}
			}
	}
	
//End
// ----------------------------------------------------------------
