// ******* FUNZIONNI GLOBALI ****** 
function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
// ********************************* 

// Apri finestra figlio
function openChild(file,window,param) {
	childWindow=open(file,window,param);
	if (childWindow.opener == null) childWindow.opener = self;
}

// Aggiorna campo by ID
function updFld(src_field,dst_field){
	document.getElementById(dst_field).value = document.getElementById(src_field).value;
}
function updTxt(src_field,dst_txt){
	document.getElementById(dst_txt).innerHTML = document.getElementById(src_field).value;
}

// ******* FUNZIONNI META TAG INPUT ****** 
function DoCnt(fieldid, counter, minlen, maxlen) { 
	var fldlen = parseInt(document.getElementById(fieldid).value.length);
	var cntval = '<span style="color:red;">0';
	if(fldlen<minlen || fldlen>maxlen) {
		cntval = '<span style="color:red;">'+fldlen+'</span>';
	}
	else {
		cntval = '<span style="color:green;">'+fldlen+'</span>';
	}
	document.getElementById(counter).innerHTML = cntval;
}
   
function DoCntWords(fieldid, counter, minlen, maxlen) { 
	var words = new Array();
	words = document.getElementById(fieldid).value.split(',');
	var fldlen = parseInt(words.length);
	var cntval = '<span style="color:red;">0</span>';
	if(fldlen<minlen || fldlen>maxlen) {
		cntval = '<span style="color:red;">'+fldlen+'</span>';
	}
	else {
		cntval = '<span style="color:green;">'+fldlen+'</span>';
	}
	document.getElementById(counter).innerHTML = cntval;
}

// ********************************* 

// funzione validazione campi obbligatori Form
function validateForm(formInstance) {
	var i = 0;
	var field = formInstance.elements[i];
	var validateField = true;
	while(field){
		// dal title del campo si estrae il nome (prima occorenza della funzione split con ;)
		msgFieldName = '';
		if (field.title!=''){
			if (field.title.indexOf(';')>0){
				msgFieldName = field.title.split(';')[0];
			} else {
				msgFieldName= field.title;
			}
		}
		// verifico se obbligatorio e se vuoto
		if (field.title.indexOf('obbligatorio')>=0){
			if(field.value==''){
				alert ('Specificare un valore per il campo:\n' + msgFieldName);
				validateField = false;
				break;
				}
		}
	i++;
	var field = formInstance.elements[i];
	}
	// se uno dei campi non è corretto, viene evidenziato con il focus e con un bordino rosso
	if (!validateField){
		field.focus();
		field.style.border='1px solid red;';
		if ((field.type=='text')||(field.type=='textarea')){
			// nel caso sia un text, viene selezionato il testo all'interno del campo
			field.select();
		}
	}
	return validateField;
}

// Invio Form con validazione
function submitForm(formInstance, validateField) {
	if (validateField) {
		if (validateForm(formInstance)) {
			formInstance.submit();
		}
		else {
			return;
		}
	}
	formInstance.submit();
}

// funzione per accettazione privacy e continua 
function choosePrivacy(scelta, trustButton){
	if (scelta == 'si') {
		document.getElementById(trustButton).disabled=false;
	}
	if (scelta == 'no') {
		document.getElementById(trustButton).disabled=true;
	}
}

