// External Check function

function checkField(fieldName,fieldValue,nullable,minLength, maxLength, type) {
	var retMessage = ''
	var p = 0
	
	if(!nullable && fieldValue == '') {
		retMessage += '- Il campo ' + fieldName + ' non può essere vuoto.\n'			
	} else if (nullable && fieldValue == '') {
		return retMessage
	} else {			

		if(type != null) {
			
			if(type == 'Phone') {
				if(!checkTelephone(fieldValue)) {
				retMessage += '- Il campo ' + fieldName + ' può contenere solo numeri ed il carattere "+".\n'
				}
			}
			else if(type == 'Numeric') {
				if(!checkNumeric(fieldValue)) {
				retMessage += '- Il campo ' + fieldName + ' può contenere solo numeri.\n'
				}
			} else if(type == 'Email') {
				p = fieldValue.indexOf('@');
				if (p<1 || p==(fieldValue.length-1)) retMessage +='- Il campo ' + fieldName + ' deve contenere un indirizzo e-mail.\n';
			}
		}

		if(minLength != null) {
			if(fieldValue.length < minLength) {

			retMessage += '- Il campo ' + fieldName + ' non può contenere meno di ' + minLength + ' caratteri.\n'			
			}
		}
	
		if(maxLength != null) {
			if(fieldValue.length > maxLength) {
			retMessage += '- Il campo ' + fieldName + ' non può contenere più di ' + maxLength + ' caratteri.\n'			
			}
		}
	}
	return retMessage
}



function checkTelephone(str) {
	var expr = '[^(0-9)(\+)]'
	return str.match(new RegExp(expr,'g'))!=null?false:true
}

function checkNumeric(str) {
	var expr = '[^(0-9)]'
	return str.match(new RegExp(expr,'g'))!=null?false:true
}
