// cv.js

    var cvOccup = 0;            // 0 se non ha ancora richiesto conferme per l'omissione delle esperienze lavorative
//
function selectAzienda(idElemento)
{
    // seleziona azienda tramite popup
    /*  ' memorizza valori di ritorno:
        ' codice in txtChiTiVuoleXXX_Codice
        ' nome in   txtChiTiVuoleXXX_Nome    
        ' dove XXX è idElemento
    */
    showFixedPopUp('http://www.trovilavoro.it/dialogs/CVgetAzienda.asp?ret=' + idElemento, 480, 280, true)
    return false;
}

//
function showHideCVPercheAltro()
{
    // mostra/nasconde div altro motivo lascio cv   
    if (document.getElementById('perche').value == '99')
    {
        document.getElementById('divOccuAltroMotivo').style.display = 'block';
        document.getElementById('perchealtro').focus();
    }
    else
    {
        document.getElementById('divOccuAltroMotivo').style.display = 'none';
    }
}

//
function showHideElement(elementID)
{
    // mostra / nasconde elemento
    if (document.getElementById(elementID).style.display == 'block')
        document.getElementById(elementID).style.display = 'none';
    else
        document.getElementById(elementID).style.display = 'block';
        
}

//
function showHideCVTermineMobilita()
{
    // mostra/nasconde div termine mobilità 
    if (document.getElementById('mobiliti').value == '4')
    {
        document.getElementById('divTermineMobiliti').style.display = 'block';
        document.getElementById('finemob').focus();
    }
    else
    {
        document.getElementById('divTermineMobiliti').style.display = 'none';
    }
}

//
function showHideCVConoscenzaAltro()
{
    // mostra/nasconde div altro motivo lascio cv   
    if (document.getElementById('conoscenza').value == '28')
    {
        document.getElementById('divAltro').style.display = 'block';
        document.getElementById('altro').focus();
    }
    else
    {
        document.getElementById('divAltro').style.display = 'none';
    }
}

//
function showHideCVPercInv()
{
    // mostra/nasconde div termine mobilità   
    if (document.getElementById('catprot').value != '0')
    {
        document.getElementById('divPercInv').style.display = 'block';
        document.getElementById('invali').focus();
    }
    else
    {
        document.getElementById('divPercInv').style.display = 'none';
    }
} 

//
function showHideCVSection(index)
{
    // mostra/nasconde sezione cv
    var oDiv = null;
    var oImg = null;
    var oLnk = null;
    var bAutoCollapse = false;          // true per auto-collapse altre sezioni
    
    oDiv = document.getElementById('divSezione_' + index);
    oImg = document.getElementById('imgSezione_' + index);
    oLnk = document.getElementById('lnkSezione_' + index);

    if (oDiv.style.display == 'none')
    {
        // nasconde altre sezioni
        if (bAutoCollapse)
        {
            for (x=1; x < 10; x++)
                if ((x != index) && bAutoCollapse) hideCVSection(x); // riduce tutti gli altri div
        
            // nasconde sotto-sezioni (esperienze lavorative: 31, 32, 33)
            hideCVSection(31);
            hideCVSection(32);
            hideCVSection(33);
        }
    
        // mostra sezione
        showCVSection(index, bAutoCollapse);        
    }
    else
    {
        // nasconde sezione
        hideCVSection(index);
    }

    return false;
}

//
function showCVSection(index, bAutoCollapse)
{
    // mostra sezione cv
    var oDiv = null;
    var oImg = null;
    var oLnk = null;
    
    // nasconde altre sezioni
    if (bAutoCollapse)
    {
        for (x=1; x < 10; x++)
            if (x != index) hideCVSection(x);   // riduce tutti gli altri div
        
        // nasconde sotto-sezioni (esperienze lavorative: 31, 32, 33)
        if (index != 31) hideCVSection(31);
        if (index != 32) hideCVSection(32);
        if (index != 33) hideCVSection(33);
    }
    
    // mostra sezione
    oDiv = document.getElementById('divSezione_' + index);
    oImg = document.getElementById('imgSezione_' + index);
    oLnk = document.getElementById('lnkSezione_' + index);
    
    oDiv.style.display = 'block';
    oImg.alt = 'riduci';
    oImg.src = 'images/treeview/minus.bmp';
    oLnk.title = 'riduci';

    // se mostra sotto-sezione, apre la sezione principale
    if (index == 31 || index == 32 || index == 33) showCVSection(3, false);


    return false;
}

//
function hideCVSection(index)
{
    // nasconde sezione cv
    var oDiv = null;
    var oImg = null;
    var oLnk = null;
    
    oDiv = document.getElementById('divSezione_' + index);
    oImg = document.getElementById('imgSezione_' + index);
    oLnk = document.getElementById('lnkSezione_' + index);
    
    oDiv.style.display = 'none';
    oImg.alt = 'espandi';
    oImg.src = 'images/treeview/plus.bmp';
    oLnk.title = 'espandi';

    return false;
}


//
function confirmCVDelete()
{
    // chiede conferma per cancellazione cv
    var bRet = false;
    
    bRet = confirm('ATTENZIONE\nCancellando il tuo CV da TroviLavoro.it, il tuo profilo non potrà essere valutato per le nostre future ricerche di personale.\nSei sicuro di volere cancellare il tuo profilo da TroviLavoro.it ?\n');
    if (bRet) bHasLinkClicked = true  // per by-passare richiesta cv elettronico all'uscita per cancellazione
    
    return bRet;
}

//
function confirmCVCambiaLavoro()
{
    // chiede conferma per cancellazione cv
    var msg = '';
    
    msg += 'ATTENZIONE\n';
    msg += 'Tutte le modifiche apportate al curriculum vitae e non ancora salvate, verranno perse.'    
    msg += '\nSi desidera procedere ?';

    return confirm(msg);
}

//
function cvIsLoginChanged()
{
    // restituisce true se l'utente ha modificato eMail e/o password

    var oldMail = (Trim(document.getElementById('qs_email').value));
    var newMail = (Trim(document.getElementById('email').value));
    var oldPwd = (Trim(document.getElementById('qs_password').value));
    var newPwd = (Trim(document.getElementById('password').value));
    
    return ((oldMail != newMail) || (oldPwd != newPwd));
}


//
function validateCVFormRecuperaPassword()
{
    // validazione form recupero password per candidati (candidati/recuperaPassword.asp)
    var msg = '';
   
    if (TrimEx(document.getElementById('cognom').value) == '')  msg += '\nNome e cognome.';
    if (Trim(document.getElementById('datanas').value) == '') msg += '\nData di nascita.';
    
    if (msg != '')
    {
        alert('ATTENZIONE\n\nPer recuperare la password sono indispensabili i seguenti dati:' + msg);
        return false;
    }
    return true;
}

//
function validateAziendeFormRecuperaPassword()
{
    // validazione form recupero password per aziende (aziende/recuperaPassword.asp)
    var msg = '';
   
    if (Trim(document.getElementById('azienda').value) == '') msg += '\nDenominazione azienda.';
    if (TrimEx(document.getElementById('cognom').value) == '')  msg += '\nNome e cognome.';

    if (msg != '')
    {
        alert('ATTENZIONE\n\nPer recuperare la password sono indispensabili i seguenti dati:' + msg);
        return false;
    }
    return true;
}

//
function validateNuovoCVForm()
{
    // validazione form primo inserimento cv (cv.asp)
    var msg = '';
    
    if (!document.getElementById('consensoprivacy').checked)
    {
        alert('Per salvare il proprio CV è necessario leggere l\'informativa sulla privacy e acconsentire al trattamento dei propri dati personali.');
        return false;
    }

    if (Trim(document.getElementById('conoscenza').value) == '0') msg += '\nNon hai indicato come ci hai conosciuto.';
    if (Trim(document.getElementById('conoscenza').value) == '28')     
    {
        // 28: altro, richiede come...
        if (TrimEx(document.getElementById('altro').value) == '') msg += '\nNon hai indicato come ci hai conosciuto.';
    }
    
    if (Trim(document.getElementById('perche').value) == '0') msg += '\nNon hai indicato il motivo per cui lasci il tuo Curriculum Vitae.';
    if (Trim(document.getElementById('perche').value) == '99')     
    {
        // 99: altro, richiede motivo
        if (TrimEx(document.getElementById('perchealtro').value) == '') msg += '\nNon hai indicato il motivo per cui lasci il tuo Curriculum Vitae.';
    }
    
    if (Trim(document.getElementById('areaint').value) == '0') msg += '\nNon hai indicato la tua area di interesse.';
    
    if (TrimEx(document.getElementById('cognom').value) == '') msg += '\nMancano nome e cognome.';
    if (Trim(document.getElementById('sesso').value) == 0) msg += '\nNon è stato indicato il sesso.';
    if ((Trim(document.getElementById('emailcv').value) == '') || (Trim(document.getElementById('emailcv2').value) == '')) msg += '\nL\'indirizzo email è obbligatorio.';


    if ((Trim(document.getElementById('password1').value) == '') || (Trim(document.getElementById('password2').value) == '')) msg += '\nInserire e confermare la password.';
    if (Trim(document.getElementById('telcasa').value) == '' && Trim(document.getElementById('telcell').value) == '')
        msg += '\nInserire almeno un recapito telefonico.';
    if (TrimEx(document.getElementById('provincia').value) == '') msg += '\nInserire la propria provincia di domicilio.';
    
    if (msg != '')
    {
        alert('ATTENZIONE\nMancano le seguenti informazioni:\n' + msg);
        return false;
    }
    
    return true;
}

//
function validateCVForm()
{
    // validazione form CVEuropeo (cveuropeo.asp)
    var msg = '';
    var iEsp1 = 0;
    var iEsp2 = 0;
    var iEsp3 = 0;
    var iStu1 = 0;
    var iStu2 = 0;
    
    if (!document.getElementById('consensoprivacy').checked)
    {
        alert('Per salvare il proprio CV è necessario leggere l\'informativa sulla privacy e acconsentire al trattamento dei propri dati personali.');
        return false;
    }
    
    // LOGIN
    if (TrimEx(document.getElementById('email').value) == '') msg = '\nL\'indirizzo email e la password sono obligatori !';
    if (TrimEx(document.getElementById('password').value) == '') msg = '\nL\'indirizzo email e la password sono obligatori !';
    
    if (msg != '')
    {
        alert('ATTENZIONE\n' + msg);
        document.getElementById('email').focus();
        return false;
    }
    
    // INTESTAZIONE
    // perche			Non hai indicato il motivo per cui lasci il tuo Curriculum Vitae.
    // perchealtro	    Non hai indicato il motivo per cui lasci il tuo Curriculum Vitae.
    // mobiliti		    Indicare l'attuale situazione lavorativa.
    // finemob
    if (document.getElementById('perche').value == 0) msg += '\nNon hai indicato il motivo per cui lasci il tuo Curriculum Vitae.';
    if (document.getElementById('perche').value == 99)     
    {
        // 99: altro, richiede motivo
        if (TrimEx(document.getElementById('perchealtro').value) == '') msg += '\nNon hai indicato il motivo per cui lasci il tuo Curriculum Vitae.';
    }
    if (msg != '')
    {
        alert('ATTENZIONE\n' + msg);
        document.getElementById('perche').focus();
        return false;
    }

    if (document.getElementById('mobiliti').value == 0) msg += '\nNon hai indicato l\'attuale situazione lavorativa.';
    if (document.getElementById('mobiliti').value == 4)     
    {
        // 4: mobilità, verifica data fine
        if (Trim(document.getElementById('finemob').value) == '') msg += '\nNon hai indicato la data di fine mobilità.';
    }
    if (msg != '')
    {
        alert('ATTENZIONE\n' + msg);
        document.getElementById('mobiliti').focus();
        return false;
    }

    // INFORMAZIONI PERSONALI (sez.1)
    // cognom			Non hai inserito nome e cognome.
    // datanas			Non hai inserito la tua data di nascita.
    // sesso			Non hai indicato il sesso.
    // provinc provincd Occorre specificare almeno una provincia tra quelle di domicilio e residenza.
    // telcasa  telcell	Inserire almeno un recapito telefonico.
    // email			Inserire l'indirizzo email
    if (TrimEx(document.getElementById('cognom').value) == '')  msg += '\nMancano nome e cognome.';


	var objMsg=document.getElementById('msgvalid_datanas');
	var objDate=document.getElementById('datanas');
	var ldtmDate=rtrim(ltrim(objDate.value));
	if (ldtmDate.length==0) {
		msg += '\nNon è stata inserita la data di nascita.';
		objMsg.innerHTML='Non è stata inserita la data di nascita.';
		objMsg.style.display="";
	} else {
		if (!IsDate(ldtmDate)) {
			msg += '\nLa data di nascita non è corretta.';
			objMsg.innerHTML='La data di nascita non è corretta.';
			objMsg.style.display="";
		} else {
			var vDateParts = ldtmDate.split("/");
			var lYear=vDateParts[2]+0;
			if (lYear<1940) {
				msg += '\nLa data di nascita non è corretta.';
				objMsg.innerHTML='La data di nascita non è corretta.';
				objMsg.style.display="";
			} else {
				var lstrDateAnt=vDateParts[2]+'-'+vDateParts[1]+'-'+vDateParts[0];
				var ldtmDateAnt=new Date(lstrDateAnt);
			
				var ldtmDateNow=new Date();
				var lstrDateNow=ldtmDateNow.getFullYear()+'-'+(ldtmDateNow.getMonth()+1)+'-'+ldtmDateNow.getDate();
			
				var curDate=new Date();
			
				if (ldtmDateAnt>ldtmDateNow) {
					msg += '\nLa data di nascita non è corretta.';
					objMsg.innerHTML='La data di nascita non è corretta.';
					objMsg.style.display="";
				} else {
					curDate.DateDiff({interval:"yyyy",date1:lstrDateAnt,date2:lstrDateNow});
					if (curDate.difference<=10) {
						msg += '\nLa data di nascita non è corretta.';
						objMsg.innerHTML='La data di nascita non è corretta.';
						objMsg.style.display="";
					}
				}
			}
		}
	}
	
    if (document.getElementById('sesso').value == 0) msg += '\nNon è stato indicato il sesso.';
    if ((document.getElementById('provinc').value == 0) && (document.getElementById('provincd').value == 0))
         msg += '\nOccorre specificare almeno una provincia tra quelle di domicilio e residenza.';
         
    if (Trim(document.getElementById('telcasa').value) == '' && Trim(document.getElementById('telcell').value) == '')
        msg += '\nInserire almeno un recapito telefonico.';
    if (msg != '')
    {
        alert('ATTENZIONE\nmancano le seguenti informazioni personali:\n' + msg);
        showCVSection(1, true);
        return false;
    }
    
    // ALTRE INFORMAZIONI (sez.2)
    // statociv		    Non hai selezionato il tuo stato civile.
    if (document.getElementById('statociv').value == 0)  msg += '\nNon è stato indicato lo stato civile.';
    if (msg != '')
    {
        alert('ATTENZIONE\nMancano le seguenti informazioni:\n' + msg);
        showCVSection(2, true);
        document.getElementById('statociv').focus();
        return false;
    }
 
    // ESPERIENZE LAVORATIVE
    iEsp1 = isCVOccupazioneComplete(1); if (iEsp1 < 0) return false;
    iEsp2 = isCVOccupazioneComplete(2); if (iEsp2 < 0) return false;
    iEsp3 = isCVOccupazioneComplete(3); if (iEsp3 < 0) return false;

    if((iEsp1 + iEsp2 + iEsp3) == 0)
    {
        // sezione non compilata
        if (cvOccup == 0)
        {
            // non ha ancora chiesto conferma, la chiede
            msg = 'ATTENZIONE\nNon hai inserito alcuna esperienza lavorativa.\n';
            msg += 'Sei alla ricerca della Tua prima occupazione e vuoi salvare comunque il tuo CV ?';
        
            if (!confirm(msg))
            {
                msg = '';
                showCVSection(31, false);
                showCVSection(3, false);
                return false;
            }
        }
        
        cvOccup++;
        msg = '';
    }
 
 
    // DISPONIBILITA'
    if (TrimEx(document.getElementById('aspira').value) == '')  msg += '\nNon sono state inserite le proprie aspirazioni per la prossima occupazione.';
    if (document.getElementById('retribuzionerif').value == '0') msg += '\nNon è stato indicato l\'importo sotto il quale non si accettano offerte di lavoro.';
    if (document.getElementById('areaint').value == '0') msg += '\nNon è stata indicata l\'area di interesse.';
    if (document.getElementById('poslav').value == '0') msg += '\nSelezionare il tipo contratto preferito.';
    if (msg != '')
    {
        alert('ATTENZIONE\nMancano le seguenti informazioni sulla propria disponibilità e aspirazioni:\n' + msg);
        showCVSection(4, true);
        document.getElementById('aspira').focus();
        return false;
    }
 
    // ISTRUZIONE E FORMAZIONE 
    iStu1 = isCVIstruzioneComplete(0); if (iStu1 < 0) return false;     // diploma
    iStu2 = isCVIstruzioneComplete(1); if (iStu2 < 0) return false;     // laurea
    
    return true;
}

//
function isCVOccupazioneComplete(iNumOccupazione, iWithSections)
{
	iWithSections = (typeof iWithSections == 'undefined') ? 1 : iWithSections;


    // restituisce, per una sotto-sezione delle esperienze lavorative,
    // 0        se la sotto-sezione è vuota
    // -100     se la sotto-sezione è incompleta o contiene errori
    // 1        se la sotto-sezione è completamente e correttamente compilata 
    
    var test = '';
    var bAlmeno1 = false;
    var bObbligatori = false;
    var bObbReferer = false;
    var msg = '';
    
    var nom = '';               // nome azienda     (obblig.)
    var catt = '';              // comune
    var str = 0;                // settore          (obblig.)
    var dip = '';               // n° dipendenti    (obblig.)
    var qua = 0;                // qualifica        (obblig.)
    var liv = '';               // livello
    var ret = 0;                // retribuzione     (obblig.)
    var mes = '';               // n° mensilità
    var ben = '';               // benefit
    var con = 0;                // contratto        (obblig.)
    var mem = '';               // mansioni         (obblig.)
    var im = '';                // inizio rapporto  (obblig.)
    var ia = '';        
    var fm = '';                // fine rapporto    (obblig.)
    var fa = '';            
    var itz = '';               // motivo interruzione rapporto (obblig.)
    var idSezione = 0;
    var nomeSezione = '';
    
    // carica dati da form per 1° sotto-sezione
    if (iNumOccupazione == 1)
    {
        /*  Attuale/ultima esperienza lavorativa 
        lavxnom     catt1       lavxset     dipendentix
        lavxqua     lavxliv     lavxret     lavxmes
        benefit     poslavat	contratto   lavxmem
        irap1me     irap1an     firap1me    firap1an    lavint1 
        */        
        idSezione = 31;
        nomeSezione = 'Attuale/ultima esperienza lavorativa';
    
        nom = TrimEx(document.getElementById('lavxnom').value);
        catt = TrimEx(document.getElementById('catt1').value);
        str = TrimEx(document.getElementById('lavxset').value);
        dip = TrimEx(document.getElementById('dipendentix').value);
        liv = TrimEx(document.getElementById('lavxliv').value);
        qua = TrimEx(document.getElementById('lavxqua').value);
        ret = TrimEx(document.getElementById('lavxret').value);
        mes = TrimEx(document.getElementById('lavxmes').value);
        ben = TrimEx(document.getElementById('benefit').value);
        con = TrimEx(document.getElementById('poslavat').value);
        mem = TrimEx(document.getElementById('lavxmem').value);
        im = TrimEx(document.getElementById('irap1me').value); 
        ia = TrimEx(document.getElementById('irap1an').value); 
        fm = TrimEx(document.getElementById('firap1me').value); 
        fa = TrimEx(document.getElementById('firap1an').value); 
        itz = TrimEx(document.getElementById('lavint1').value);
		
		myProvince=TrimEx(document.getElementById('AC1_Provincia').value);
		myOption1Level=TrimEx(document.getElementById('AC1_Option1Level').value);
		myOption2Level=TrimEx(document.getElementById('AC1_Option2Level').value);
		myOption3Level=TrimEx(document.getElementById('AC1_Option3Level').value);
		myOption4Level=TrimEx(document.getElementById('AC1_Option4Level').value);
		myMessage=TrimEx(document.getElementById('AC1_Message').value);
    }

    // carica dati da form per 2° sotto-sezione
    if (iNumOccupazione == 2)
    {
        //  Ultima significativa esperienza lavorativa 
        idSezione = 32;
        nomeSezione = 'Ultima significativa esperienza lavorativa';
    
        nom = TrimEx(document.getElementById('lavanom').value);
        catt = TrimEx(document.getElementById('catt2').value);
        str = TrimEx(document.getElementById('lavaset').value);
        dip = TrimEx(document.getElementById('dipendentia').value);
        liv = TrimEx(document.getElementById('lavaliv').value);
        qua = TrimEx(document.getElementById('lavaqua').value);
        ret = TrimEx(document.getElementById('lavaret').value);
        mes = TrimEx(document.getElementById('lavames').value);
        ben = TrimEx(document.getElementById('benefita').value);
        con = TrimEx(document.getElementById('poslavata').value);
        mem = TrimEx(document.getElementById('lavamem').value);
        im = TrimEx(document.getElementById('irap2me').value); 
        ia = TrimEx(document.getElementById('irap2an').value); 
        fm = TrimEx(document.getElementById('firap2me').value); 
        fa = TrimEx(document.getElementById('firap2an').value); 
        itz = TrimEx(document.getElementById('lavint2').value);
		
		myProvince=TrimEx(document.getElementById('AC2_Provincia').value);
		myOption1Level=TrimEx(document.getElementById('AC2_Option1Level').value);
		myOption2Level=TrimEx(document.getElementById('AC2_Option2Level').value);
		myOption3Level=TrimEx(document.getElementById('AC2_Option3Level').value);
		myOption4Level=TrimEx(document.getElementById('AC2_Option4Level').value);
		myMessage=TrimEx(document.getElementById('AC2_Message').value);
    }

    // carica dati da form per 3° sotto-sezione
    if (iNumOccupazione == 3)
    {
        //  Altra significativa esperienza lavorativa         
        idSezione = 33;
        nomeSezione = 'Altra significativa esperienza lavorativa ';
    
        nom = TrimEx(document.getElementById('lavbnom').value);
        catt = TrimEx(document.getElementById('catt3').value);
        str = TrimEx(document.getElementById('lavbset').value);
        dip = TrimEx(document.getElementById('dipendentib').value);
        liv = TrimEx(document.getElementById('lavbliv').value);
        qua = TrimEx(document.getElementById('lavbqua').value);
        ret = TrimEx(document.getElementById('lavbret').value);
        mes = TrimEx(document.getElementById('lavbmes').value);
        ben = TrimEx(document.getElementById('benefitb').value);
        con = TrimEx(document.getElementById('poslavatb').value);
        mem = TrimEx(document.getElementById('lavbmem').value);
        im = TrimEx(document.getElementById('irap3me').value); 
        ia = TrimEx(document.getElementById('irap3an').value); 
        fm = TrimEx(document.getElementById('firap3me').value); 
        fa = TrimEx(document.getElementById('firap3an').value); 
        itz = TrimEx(document.getElementById('lavint3').value);
		
		myProvince=TrimEx(document.getElementById('AC3_Provincia').value);
		myOption1Level=TrimEx(document.getElementById('AC3_Option1Level').value);
		myOption2Level=TrimEx(document.getElementById('AC3_Option2Level').value);
		myOption3Level=TrimEx(document.getElementById('AC3_Option3Level').value);
		myOption4Level=TrimEx(document.getElementById('AC3_Option4Level').value);
		myMessage=TrimEx(document.getElementById('AC3_Message').value);
    }

    // carica dati obbligatori
    test += nom;    // nome azienda     (obblig.)
    test += str;    // settore          (obblig.)
    test += dip;    // n° dipendenti    (obblig.)
    test += qua;    // qualifica        (obblig.)
    test += ret;    // retribuzione     (obblig.)
    test += con;    // contratto        (obblig.)
    test += mem;    // mansioni         (obblig.)
    test += im;     // inizio rapporto  (obblig.)
    test += ia;     
    test += fm;     // fine rapporto    (obblig.)
    test += fa;
    test += itz;    // motivo interruzione rapporto (obblig.)
    // aggiunge dati NON obbligatori
    test += catt;   // comune
    test += liv;    // livello
    test += mes;    // n° mensilità
    test += ben;    // benefit
    
    test = Trim(Replace(test, '0', ''));
    test = Trim(Replace(test, ' ', ''));
    test = Trim(Replace(test, '\n', ''));
    
    bAlmeno1 = (test.length != 0);          // true se immesso almeno 1 campo nella sezione

    // per la prima sezione (attuale o ultima occupazione)
    // non considera data fine rapporto obbligatoria
    if (iNumOccupazione == 1)
        bObbligatori = (nom != '' && str != '' && dip != '' && dip != '0' && qua != '0' && ret != '0' && con!= '0' && mem != '' && im != '0' && ia != '0' && itz != '');
    else
        bObbligatori = (nom != '' && str != '' && dip != '' && dip != '0' && qua != '0' && ret != '0' && con!= '0' && mem != '' && im != '0' && ia != '0' && fm != '0' && fa != '0'  && itz != '');

	bObbReferer=true;
	if (nom != '' && (myProvince != '' || myOption1Level != '0' || myOption2Level != '0' || myOption3Level != '0' || myOption4Level != '0' || myMessage != '')) {
		if (myProvince == '' || myOption1Level == '0' || myOption2Level == '0' || myOption3Level == '0' || myOption4Level == '0' || myMessage == '') {
			bObbReferer=false;
			bObbligatori=false;
		}
	}
	
	var myIdRefer="AziendaValid"+iNumOccupazione;
	var objAlertRefer=document.getElementById(myIdRefer)
	if (bObbReferer) {
		objAlertRefer.style.display="none";
	} else {
		objAlertRefer.style.display="";
	}
    
    if (!bObbligatori)
    {
        // elenca campi omessi
        msg += '\n';
        if (nom == '') msg += '\nNon è stato indicato il nome dell\'azienda.';
        if (str == '0') msg += '\nNon è stato specificato il settore.';
        if (dip == '' || dip == '0') msg += '\nManca il numero di dipendenti dell\'azienda.';
        if (qua == '0') msg += '\nIndicare la qualifica.';
        if (ret == '0') msg += '\nNon è stata indicata la retribuzione.';
        if (con == '0') msg += '\nManca il tipo di contratto.';
        if (mem == '') msg += '\nOccorre descrivere le proprie mansioni all\'interno dell\'azienda.';
        if (im == '0' || ia == '0') msg += '\nLa data di inizio rapporto non è completa.';
        
        // per la prima sezione (attuale o ultima occupazione)
        // non considera data fine rapporto obbligatoria
        if (iNumOccupazione != 1)
            if (fm == '0' || fa == '0') msg += '\nLa data di fine rapporto non è completa.';
            
        if (itz == '')  msg += '\nNon sono stati indicati i motivi dell\'interruzione del rapporto.';
		
		if (!bObbReferer) {
			msg += '\nNon completa la linea di base della azienda.';
		}
    }

    // verifica campi obbligatori e validità date
    if (bAlmeno1)
    {
        if (!bObbligatori)
        {
            // mancano dati obbligatori    
            alert('ATTENZIONE\n\nLa sezione "' + nomeSezione +  '" è incompleta.\nMancano alcuni dati obbligatori !' + msg);
			if (iWithSections==1) {
            	showCVSection(idSezione,true);
			}
            return -100;
        }
        else
        {
            // verifica congruenza date
            im = Replace(im, '0', ''); im = parseInt(im);
            ia = parseInt(ia);
            fm = Replace(fm, '0', ''); fm = parseInt(fm);
            fa = parseInt(fa);

            var dataI = (((ia - 1900) * 12) + im);
            var dataF = (((fa - 1900) * 12) + fm);
            
            if (dataF <= dataI)
            {
                alert('ATTENZIONE\n\nCi sono errori nella sezione "' + nomeSezione +  '".\nL\'intervallo di date di inizio e fine rapporto non è corretto !');
				if (iWithSections==1) {
					showCVSection(idSezione,true);
				}
                return -100;
            }
            else
            {
                // ok
                return 1;
            }
        }
    }
    // sotto-sezione vuota
    return 0;
}


//
function isCVIstruzioneComplete(iStudio)
{
    // restituisce, per una sotto-sezione di istruzione e formazione,
    // 0        se la sotto-sezione è vuota
    // -100     se la sotto-sezione è incompleta o contiene errori
    // 1        se la sotto-sezione è completamente e correttamente compilata 
    
    var test = '';
    var bAlmeno1 = false;
    var bObbligatori = false;
    var msg = '';
    
    var tit = '0';              // titolo
    var istit = '';             // nome istituto
    var dat = '';               // data
    var voto = '';              // voto
    
    var retVal = 0;
    
    
    if (iStudio == 0)
    {
        // diploma
        tit = TrimEx(document.getElementById('studimed').value);
        istit = TrimEx(document.getElementById('istidip').value);
        dat = TrimEx(document.getElementById('datadip').value);
        voto = TrimEx(document.getElementById('votodip').value);
        
        test += tit;  
        test += istit;   
        test += dat;    
        test += voto;    
        
        test = Trim(Replace(test, '0', ''));
        bAlmeno1 = (test.length != 0);          // true se immesso almeno 1 campo nella sotto-sezione diploma
        bObbligatori = (tit != '0' && istit != '' && dat != '' && voto != '');
        
        if (bAlmeno1)
        {
            if (!bObbligatori)
            {
                if (tit == '0') msg += '\nNon è stato indicato il tipo di diploma.';
                if (istit == '') msg += '\nNon è stato indicato il nome dell\'istituto presso il quale si è conseguito il diploma.';
                if (dat == '') msg += '\nManca l\'anno di conseguimento del diploma.';
                if (voto == '') msg += '\nIndicare la votazione finale al conseguimento del diploma.';
                retVal = -100;
            }
            else
            {
                retVal = 1;
            }
        }
    }
    
    
    if (iStudio == 1)
    {
        // laurea
        tit = TrimEx(document.getElementById('studilau').value);
        istit = TrimEx(document.getElementById('istilau').value);
        dat = TrimEx(document.getElementById('datalau').value);
        voto = TrimEx(document.getElementById('votolau').value);
        
        test += tit;  
        test += istit;   
        test += dat;    
        test += voto;    
        
        test = Trim(Replace(test, '0', ''));
        bAlmeno1 = (test.length != 0);          // true se immesso almeno 1 campo nella sotto-sezione diploma
        bObbligatori = (tit != '0' && istit != '' && dat != '' && voto != '');
        
        if (bAlmeno1)
        {
            if (!bObbligatori)
            {
                if (tit == '0') msg += '\nNon è stato indicato il corso di laurea.';
                if (istit == '') msg += '\nNon è stato indicato il nome dell\'istituto presso il quale si è conseguita la laurea.';
                if (dat == '') msg += '\nManca l\'anno di conseguimento della laurea.';
                if (voto == '') msg += '\nIndicare la votazione finale al conseguimento della laurea.';
                retVal = -100;
            }
            else
            {
                retVal = 1;
            }
        }
    }
    
    if (msg != '')
    {
        alert('ATTENZIONE\n' + msg);
        showCVSection(5,true);
    }                
    return retVal;
}
