<!--
function ValidateCalsearch() {
	var msg = "";
	var focusfield = "";
	num = 0;
	var today = new Date();
	yr = today.getFullYear();
	mo = today.getMonth();
	day = today.getDate();
	var today = new Date(yr,mo,day);
	field = document.calsearch.fromdate;
	fieldval = field.value
	fieldval = fieldval.replace(/^\s*|\s*$/g, ""); // strip leading and traling white-space
	if (fieldval.length > 0) {
		res = is_Date(fieldval,"-",yr,yr+1,"Data iniziale");
		msg = res[0];
		if (msg) {
			startdate = today;
			num = num + res[1];
			focusfield = field;
		} else {
			var date = fieldval.split("-");
			var startdate = new Date(date[2],date[1]-1,date[0]);
			if (startdate < today) {
				msg = "Data iniziale anteriore ad oggi";
				num++;
				focusfield = field;
			}
			if (startdate > today.setMonth(mo+6)) { // verifica che la data iniziale non sia più di 6 mesi da oggi
				// startdate = today;
				msg = "Data iniziale troppo grande";
				num++;
				focusfield = field;
			}
		}
	}
	field = document.calsearch.todate;
	fieldval = field.value
	fieldval = fieldval.replace(/^\s*|\s*$/g, ""); // strip leading and traling white-space
	if (fieldval.length > 0) {
		res = is_Date(fieldval,"-",yr,yr+1,"Data finale");
		if (res[0]) {
			if (msg) msg = msg + "\n - ";
			msg = msg + res[0];
			num = num + res[1];
			focusfield = field;
		} else {
			var date = fieldval.split("-");
			var enddate = new Date(date[2],date[1]-1,date[0]);
			var today = new Date(yr,mo,day);
			if (enddate < today) {
				if (msg) msg = msg + "\n - ";
				msg = msg + "Data finale anteriore ad oggi";
				num++;
				focusfield = field;
			}
			if (enddate > today.setMonth(mo+6)) { // verifica che la data iniziale non sia più di 6 mesi da oggi
				if (msg) msg = msg + "\n - ";
				msg = msg + "Data finale troppo grande";
				num++;
				focusfield = field;
			}
			if (enddate < startdate) {
				if (msg) msg = msg + "\n - ";
				msg = msg + "Data finale inferiore alla data iniziale";
				num++;
				focusfield = field;
			}
		}
	}
	field = document.calsearch.keyword;
	fieldval = field.value
	fieldval = fieldval.replace(/^\s*|\s*$/g, ""); // strip leading and traling white-space
	if (fieldval.length > 0) {
		var re = /^[a-z0-9\-\s\'\"\.\/\*\à\è\é\ù\ò\ì]+$/i;
		if (!re.test(fieldval)) {
			if (msg) msg = msg + "\n - ";
			msg = msg + "Parole chiave: si possono usare solo lettere, numeri, trattino(-), virgolette(\"), punto(.), barra(/), asterisco(*) e spazi";
			num++;
			if (!focusfield) focusfield = field;
		}
		dquotes = new Array();
		pos = fieldval.indexOf('"');
		while (pos > -1) {
			dquotes.splice(dquotes.length,0,pos);
			pos = fieldval.indexOf('"',pos+1);
		}
		if (dquotes.length % 2 > 0) {
			if (msg) msg = msg + "\n - ";
			msg = msg + "Parole chiave: i doppi apici (\") possono essere usati solo in coppia per delimitare una frase";
			num++;
			if (!focusfield) focusfield = field;
		} else {
			wrongkeys = new Array();
			singlewords = fieldval;
			delta = 0;
			if (dquotes.length > 0) {
				for (var i=0; i<dquotes.length; i=i+2) {
					phrase = fieldval.substring(dquotes[i],dquotes[i+1]+1);
					phrase_len = phrase.length;
					if (phrase_len-2 < 5) wrongkeys.splice(wrongkeys.length,0,"\""+phrase.substring(1,phrase_len-1)+"\"");
					singlewords = singlewords.slice(0,dquotes[i]-delta) + singlewords.slice(dquotes[i+1]-delta+1);
					delta = delta + phrase_len;
				}
			}
			arrayOfWords = singlewords.split(" ");
			for (var i=0; i<arrayOfWords.length; i++) {
				arrayOfWords[i] = arrayOfWords[i].replace(/^\s*|\s*$/g, "");
				if (arrayOfWords[i].length > 0 && arrayOfWords[i].length < 5) wrongkeys.splice(wrongkeys.length,0,arrayOfWords[i]);
			}
			if (wrongkeys.length > 0) {
				if (msg) msg = msg + "\n - ";
				msg = msg + "Le seguenti parole chiave hanno meno di 5 caratteri: ";
				for (var i=0; i<wrongkeys.length; i++) {
					if (i>0) msg = msg + ", ";
					msg = msg + wrongkeys[i];
				}
				num++;
				if (!focusfield) focusfield = field;
			}
		}
	}
	if (!msg) {
		document.calsearch.submit();
		return true;
	}
	if (num > 1) msg = " - " + msg;
	if (focusfield) focusfield.focus();
	alert (msg);
	return false;
}

/*
function HelpCal() {
	text = "\nCampo \'Dal\':\n";
	text += "Indicare la data da cui iniziare la ricerca delle attività cliccando sull\'icona \'calendario\' a fianco e selezionando la data dal calendario che comparirà, oppure introdurre direttamente la data nella forma \'gg-mm-aaaa\'.\n";
	text += "Se non si indica nulla la ricerca parte da oggi.\n";
	text += "\nCampo \'al\':\n";
	text += "Indicare la data fino a cui deve essere effettuata la ricerca delle attività cliccando sull\'icona \'calendario\' a fianco e selezionando la data dal calendario che comparirà, oppure introdurre direttamente la data nella forma \'gg-mm-aaaa\'.\n";
	text += "Se non si indica nulla la ricerca verrà effettuata fino all\'ultima attività presente in ordine di tempo.\n";
	text += "\nCampo \'Gruppi\':\n";
	text += "Selezionare il gruppo desiderato dalla lista.\n";
	text += "\nCampo \'Parole chiave\':\n";
	text += "Indicare una o più parole su cui effettuare la ricerca separata da spazi. Le parole devono essere di almeno 5 caratteri.\n";
	text += "Si possono indicare parole incomplete usando il carattere *, che indica qualsiasi lettera. Ad esempio, indicando \'consi*\', verranno ricercate tutte le parole che iniziano con \'consi\'.\n";
	text += "Se si vuole cercare una frase esatta racchiudere la frase tra doppi apici (\").";
	alert(text);
}
*/
//-->

