/*
**********************************************************************************
*                                                                                *
*                            RIMUOVI FILE CARICATI                               *
*                                                                                *
**********************************************************************************
*/

function rimuoviDocMultipli(valore, i) {
	arrDell = new Array(1);
	arrDell[1] = 'txt_del_doc' + i;
//	document.forms[0].elements[arrDell[1]].value = valore;
	document.all[arrDell[1]].value = valore;
}

function rimuoviImgMultipli(valore, i) {
	arrDell = new Array(1);
	arrDell[1] = 'txt_del_img' + i;
//	document.forms[0].elements[arrDell[1]].value = valore;
	document.all[arrDell[1]].value = valore;	
}

function rimuoviDoc(valore) {
	arrDell = new Array(1);
	arrDell[1] = 'txt_del_doc';
//	document.forms[0].elements[arrDell[1]].value = valore;
	document.all[arrDell[1]].value = valore;
}

function rimuoviFile(valore) {
	var nomeCampo;
	nomeCampo = "txt_del_doc";
	document.all[nomeCampo].value = valore;
}

function rimuoviImg(valore) {
	var nomeCampo;
	nomeCampo = "txt_del_img";
	document.all[nomeCampo].value = valore;
}


/*
**********************************************************************************
*                                                                                *
*                              IMPOSTA CHECKBOX                                  *
*                                                                                *
**********************************************************************************
*/

// Imposto il valore dei campi hidden nelle form con upload immagini
function impostaValore(nome, valore) {
	var nomeCampo;
	nomeCampo = "txt_" + nome;

	document.all[nomeCampo].value = valore;
}


function impostaValore2(indice, valore) {
	var nome = "txt_vis" + indice;
	document.all[nome].value = valore;
}
/*
**************************************************************
*                                                            *
*                    CONTROLLO CAMPO MAIL                    * 
*                                                            *
**************************************************************
*/
function controllaMail(indirizzo) {
	if (indirizzo.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1) {
		alert('Il campo email ' + indirizzo + ' non ha un formato valido');		
		//indirizzo.focus();		
	} 
	else {
		return true;
	}
}

/*
**********************************************************************************
*                                                                                *
*                   FUNZIONI PER LE CANCELLAZIONE NOTIZIE                        *
*                                                                                *
**********************************************************************************
*/
// Cancellazione Notizie
function elimina() {
	if (!confirm("Procedere con l'eliminazione?")) {
		return false;
	}
}

/*
**********************************************************************************
*                                                                                *
*                                CAMPI OBBLIGATORI                               *
*                                                                                *
**********************************************************************************
*/
// Utenti
function gestione_utenti(cognome,nome,mail,idutente,pwd) {
	
	if(nome == "" || cognome == "" || idutente == "" || pwd == "") {
		alert("I campi contrassegnati dall'asterisco sono obbligatori");
		return false;
	}
	if(mail != "" ){
		if(!(controllaMail(mail))){
			return false;
		}
	}
}

// Iscrizione Utenti
function iscrizione_utente(nome,cognome,email,cap,societa,userid,pwd,pwd2){

	if(nome == "" || cognome == "" || email == "" || societa == "" || userid == "" || pwd == "" || pwd2 == "") {
		alert("I campi contrassegnati dall'asterisco sono obbligatori");
		return false;
	}
	if(email != "" ){
		if(!(controllaMail(email))){
			return false;
		}
	}
	if(cap != "" ){
		if(isNaN(cap)){
			alert("Attenzione, il cap deve essere numerico");
			return false;
		}
	}
	
	if(pwd2 != pwd) {
		alert("Attenzione, le due password non coincidono");
		return false;
	}
}

// Categorie
function gestione_categoria(categoria, idpartner) {
	if(categoria == "" || idpartner == "") {
		alert("La categoria e il partner sono obbligatori");
		return false;
	}
}

// Documenti
function gestione_documento(titolo) {
	if(titolo == "") {
		alert("Il titolo del documento è obbligatorio");
		return false;
	}
}
//Link
function gestione_link(links, descrizione) {
	if(links == "" || descrizione == "") {
		alert("Il link e la descrizione sono obbligatori");
		return false;
	}

}

// Sezioni
function gestione_sezione(idpartner) {
	if(idpartner == "") {
		alert("La scelta del partner è obbligatoria");
		return false;
	}
}

/*
**********************************************************************************
*                                                                                *
*                                ELENCO FILTRATO                                 *
*                                                                                *
**********************************************************************************
*/
// Tipologie
function visualizzaTipologie(url,idtipo) {
	var w = window.location.replace(url + "?idtipo=" + idtipo);
}

// Categorie
function visualizzaCategorie(url,idtipo,idcat) {
	var w = window.location.replace(url + "?idtipo=" + idtipo + "&idcat=" + idcat);
}

// Gestione testi sezioni
function scegliLingua(url,idsez,lingua) {
	var w = window.location.replace(url + "?idsez=" + idsez + "&lingua=" + lingua);
}

function scegliPartner(url,idsez,lingua,idpartner) {
	var w = window.location.replace(url + "?idsez=" + idsez + "&lingua=" + lingua + "&idpartner=" + idpartner);
}


/*
**********************************************************************************
*                                                                                *
*                                    REDIRECT                                    *
*                                                                                *
**********************************************************************************
*/
// Gestione testi sezioni
function gestioneSezioni(idtipo) {
	if (idtipo != "") {
		var w = window.location.href = "sezione.asp?idsez=" + idtipo;
	}
}

// Gestione testi sezioni
function leggiTipologie(idtipo) {
	if (idtipo != "") {
		var w = window.location.href = "../public/documenti.asp?idtipo=" + idtipo;
	}
}

/*
**********************************************************************************
*                                                                                *
*                           DESTINATARI MAILING LIST                             *
*                                                                                *
**********************************************************************************
*/

// Mailing List
function  invioMailing(elencodestinatari,oggetto) {
	if(elencodestinatari == "" || oggetto == "") {
		alert("I destinatari e l'oggetto della mail sono obbligatori");
		return false;
	}
}

function popupDestinatari() {
	var w = window.open("mailing_rubrica.asp", "_blank", "width=550 height=400 resizable scrollbars");
}

function inserisciMail() {

	opener.document.all.elencodestinatari.value = document.all.eledest.value;
	this.close();
	opener.focus();
}

function selezionaTutti(cont,check) {

	var str = ""	
	
	if(check) {
		arrDestinatari = new Array();
		document.all.eledest.value == "";
		str = "";
	
		for(i=1; i<parseInt(cont)+1; i++) {
			arrDestinatari.push(document.all['mail' + i].value);
			document.all['mail' + i].checked = true;
		}
		
		for(var i=0; i<arrDestinatari.length; i++) {
			if(str == "") {
				str = str + arrDestinatari[i];
			}
			else {
				str = str + "," + arrDestinatari[i];		
			}
		}
	}
	else {
		arrDestinatari = new Array();
		document.all.eledest.value == "";
		str = "";
		for(i=1; i<parseInt(cont)+1; i++) {
			document.all['mail' + i].checked = false;
		}
	}
	document.all.eledest.value=str;
	
}

function aggiungiDestinatari(valore,check) {
	
	var str = ""
	//L'array è definito nella pagina mailing_rubrica.asp

	document.all.tutti.checked = false;
	
	if(check) {
		arrDestinatari.push(valore);
	}
	else {
		//cerco il valore nell'array, se lo trovo lo tolgo
		for(var i=0; i<arrDestinatari.length; i++) {
			if(arrDestinatari[i] == valore) {
				arrDestinatari[i] = "";
			}
		}
		arrDestinatari.sort();
	}

	for(var i=0; i<arrDestinatari.length; i++) {
		if(str == "") {
			str = str + arrDestinatari[i];
		}
		else {
			str = str + "," + arrDestinatari[i];		
		}
	}

	document.all.eledest.value=str;

}
/*
**********************************************************************************
*                                                                                *
*                        FUNZIONI PER IL MINI CALENDARIO                         *
*                                                                                *
**********************************************************************************
*/
function chiudiCal(nomeDiv) {
	var cl = document.all[nomeDiv];
	//var cl = document.getElementById("minical");
	cl.style.display='none';
}

function inserisciData(nomeDiv,campoPadre,gg,mm,aaaa) {
	var cl = document.all[nomeDiv];
	
	//var cl = document.getElementById("minical");
	if(gg < 10) gg = '0' + gg;
	if(mm < 10) mm = '0' + mm;

	document.all[campoPadre].value = gg + "/" + mm + "/" +aaaa;	
	cl.style.display='none';	
}

function formattaData(valGiorno, valMese, valAnno){

	//Scalo il mese di 1 perchè l'array dei mesi parte da 0
	//valMese = parseFloat(valMese)-1;

	if(valMese > 11) {
		valMese = 0;
		valAnno = parseFloat(valAnno)+1;
	}
	
	if(valMese < 0) {
		valMese = 11;
		valAnno = parseFloat(valAnno)-1;
	}
	
	if(valMese < 10) {
		valMese = 0 + "" + valMese;
	}
	if(valGiorno < 10) {
		valGiorno = 0 + "" + valGiorno;
	}

	return(valGiorno + "/" + valMese + "/" + valAnno);
}	

function apriCal(nomeCampo,dataInput,posX,posY) {

	// posizione calendario
	if(posX == -1 || posY == -1) {
		posX = (event.clientX+document.body.scrollLeft)+14;
		posY = (event.clientY+document.body.scrollTop)-24;
	}

	var calStr = '' ;
	var imgPath = '../layout/';
	var calData = new Date();
	var nomeDiv = "dv_" + nomeCampo;
	var campoPadre = "txt_" + nomeCampo;
	
	//var cl = document.getElementById("minical");
	var cl = document.all[nomeDiv];

	//Creo un array che contiene i 42 giorni (7 colonne * 6 righe) possibili di un mese
	var ArrCalendario = new Array(42);

	var ArrSettimana, NumRighe, NumColonne, PrimoGiorno, NumGiorniMese;
	var ContaColonne;

	var ArrMesi = ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
	var giorniMese = [31,28,31,30,31,30,31,31,30,31,30,31];
	var giorniSettimana = ['Domenica', 'Lunedì', 'martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'];

	var Giorno, Mese, Anno, dataPrec, dataProx, dataAtt;
	var strGiorno, strMese, strAnno;	
	var strData = "";

	if(dataInput == "") {
		dataInput = document.all[campoPadre].value;
	}
	
	strData = dataInput;
	
	if(strData == "") {
		strAnno = calData.getYear();
		strMese = calData.getMonth();
		strGiorno = calData.getDate();
		
		dataAtt = formattaData(strGiorno, (strMese), strAnno);
		dataPrec = formattaData(strGiorno, (strMese-1), strAnno);
		dataProx = formattaData(strGiorno, (strMese+1), strAnno);
	}
	else {
		strAnno = parseFloat(strData.substr(6,4));
		strMese = parseFloat(strData.substr(3,2));
		strGiorno = parseFloat(strData.substr(0,2));

		if(document.all[campoPadre].value != "") {
			dataAtt = formattaData(strGiorno, (strMese-1), strAnno);
			dataPrec = formattaData(strGiorno, (strMese-1), strAnno);
			dataProx = formattaData(strGiorno, (strMese+1), strAnno);
		}
		else {
			dataAtt = formattaData(strGiorno, (strMese), strAnno);
			dataPrec = formattaData(strGiorno, (strMese-1), strAnno);
			dataProx = formattaData(strGiorno, (strMese+1), strAnno);
		}
	}
	
	Anno = parseFloat(dataAtt.substr(6,4));
	Mese = parseFloat(dataAtt.substr(3,2));
	Giorno = parseFloat(dataAtt.substr(0,2));
	
	//Primo giorno del mese. 
	//Trovo qual'è il 1° giorno della settimana del mese "NumMese" dell'anno "NumAnno"
	PrimoGiorno = new Date(Anno,Mese,1);
	PrimoGiorno = PrimoGiorno.getDay()

	//Numero di giorni del mese corrente. 
	NumGiorniMese = giorniMese[Mese];

	//Numero di righe necessarie alla tabella per il mese corrente (al max sono 6)
	NumRighe = (6 - Math.floor((42-(PrimoGiorno + NumGiorniMese))/7));

	//Numero di Colonne della tabella. Questo numero è fisso
	NumColonne = 7

	/*
	var stringa = "";
	stringa = stringa + Giorno + "." + Mese + "." + Anno + "\n\n";
	stringa = stringa + "Nome campo imput: " + campoPadre + "\nId immagine: " + nomeCampo + "\nNome div: " + nomeDiv + "\n";
	stringa = stringa + "Oggi è il " + Giorno + " del mese di " + ArrMesi[Mese] + " (n° " + Mese + ") dell'anno " + Anno + "\n";
	stringa = stringa + "Il primo giorno del mese viene di " + giorniSettimana[PrimoGiorno] + " (n° " + PrimoGiorno + ")\n";
	stringa = stringa + "Questo mese ha " + NumGiorniMese + " giorni, pertanto necessita di " + NumRighe + " righe\n";
	//alert(stringa);
	*/
	
	//Un calendario dispone al massimo di 42 celle (7 colonne x 6 righe)
	//Creo il numero di celle necessarie al mese da visualizzare
	for(var iLoop = 1; iLoop < NumGiorniMese+1; iLoop++) {
		ArrCalendario[iLoop + parseFloat(PrimoGiorno)] = iLoop
	}
		
	calStr = calStr + '<table width="170" border="0" cellpadding="0" cellspacing="0">'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="middle" align="right" bgcolor="#FFFFFF" colspan="2" width="152" height="12"><div onclick=chiudiCal("' + nomeDiv + '") style="cursor:hand">chiudi&nbsp;</div></td>'
		calStr = calStr + '<td valign="top" colspan="2"><img src="' + imgPath + 'mini_cal_02.gif" width="18" height="11" alt="chiudi" onclick=chiudiCal("' + nomeDiv + '") style="cursor:hand"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="top" colspan="4"><img src="' + imgPath + 'mini_cal_03.jpg" width="170" height="2"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'mini_cal_04.jpg" width="3" height="18"></td>'
		calStr = calStr + '<td valign="middle" align="center" colspan="2" background="' + imgPath + 'mini_cal_05.jpg" width="159" height="18">'
		calStr = calStr + '<table border="0" cellpadding="0" cellspacing="0">'
		calStr = calStr + '<tr>'
			calStr = calStr + '<td align="center" valign="middle" width="30" height="18" class="piccoloFontBianco"><a href="#" onclick=apriCal("' + nomeCampo + '","' + dataPrec + '","' + posX + '","' + posY + '")><img src="' + imgPath + 'arrow_back.gif" border="0" class="imgMid"><img src="' + imgPath + 'arrow_back.gif" border="0" class="imgMid"></a></td>'
			calStr = calStr + '<td align="center" valign="middle" width="100%" height="18" class="piccoloFontBianco"><b class="piccoloFontBianco">' + ArrMesi[parseFloat(Mese)] + ' ' + Anno + '</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="30" height="18" class="piccoloFontBianco"><a href="#" onclick=apriCal("' + nomeCampo + '","' + dataProx + '","' + posX + '","' + posY + '")><img src="' + imgPath + 'arrow.gif" border="0" class="imgMid"><img src="' + imgPath + 'arrow.gif" border="0" class="imgMid"></a></td>'
		calStr = calStr + '</tr>'
		calStr = calStr + '</table>'
		calStr = calStr + '</td>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'mini_cal_06.jpg" width="8" height="18"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'mini_cal_07.jpg" width="3" height="105"></td>'
		calStr = calStr + '<td valign="top" align="center" colspan="2" background="' + imgPath + 'mini_cal_08.jpg" width="159" height="105">'
		calStr = calStr + '<table width="159" border="0" cellpadding="0" cellspacing="0">'
		calStr = calStr + '<tr>'
			calStr = calStr + '<td align="center" valign="middle" width="19" height="15" class="rosso"><b class="piccoloFont">DO</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="23" height="15"><b class="piccoloFont">LU</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="23" height="15"><b class="piccoloFont">MA</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="23" height="15"><b class="piccoloFont">ME</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="23" height="15"><b class="piccoloFont">GI</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="27" height="15"><b class="piccoloFont">VE</b></td>'
			calStr = calStr + '<td align="center" valign="middle" width="23" height="15"><b class="piccoloFont">SA</b></td>'
		calStr = calStr + '</tr>'

		//Creo il numero di righe necessarie al mese corrente
		for(var ContaRighe = 1; ContaRighe <NumRighe+1; ContaRighe++){
			calStr = calStr + '<tr>'
			//Creo le 7 colonne
			for(var ContaColonne = 1; ContaColonne < NumColonne+1; ContaColonne ++) {
				if(ArrCalendario[(ContaRighe-1)*7 + ContaColonne] > 0) {
					//Scrivo la data 
					//Evidenzio il giorno attuale
					if (parseInt(ArrCalendario[(ContaRighe-1)*7 + ContaColonne]) == parseFloat(Giorno)) {
						//Se è domenica la scrivo in rosso
						if(ContaColonne == 1){
							calStr = calStr + '<td align="center" valign="middle" height="15" class="giornoAttuale"><font class="piccoloFontRosso"><div onclick=inserisciData("' + nomeDiv + '","' + campoPadre + '",' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + ',' + parseInt(Mese+1) + ',' + Anno + ') style="cursor:hand">' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + '</div></font></td>'
						}
						else {
							calStr = calStr + '<td align="center" valign="middle" height="15" class="giornoAttuale"><font class="piccoloFont"><div onclick=inserisciData("' + nomeDiv + '","' + campoPadre + '",' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + ',' + parseInt(Mese+1) + ',' + Anno + ') style="cursor:hand">' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + '</div></font></td>'
						}
					}
					else {
						//Non è il giorno attuale					
						//Se è domenica la scrivo in rosso
						if(ContaColonne == 1){
							calStr = calStr + '<td align="center" valign="middle" height="15" class="piccoloFontRosso"><font class="piccoloFontRosso"><div onclick=inserisciData("' + nomeDiv + '","' + campoPadre + '",' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + ',' + parseInt(Mese+1) + ',' + Anno + ') style="cursor:hand">' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + '</div></font></td>'
						}
						else {
							calStr = calStr + '<td align="center" valign="middle" height="15" class="piccoloFont"><font class="piccoloFont"><div onclick=inserisciData("' + nomeDiv + '","' + campoPadre + '",' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + ',' + parseInt(Mese+1) + ',' + Anno + ') style="cursor:hand">' + ArrCalendario[(ContaRighe-1)*7 + ContaColonne] + '</div></font></td>'
						}
					}
				}
				else{
					//Cella vuota
					calStr = calStr + '<td align="center" valign="middle" height="15" class="piccoloFont">&nbsp;</td>'
				}
			}
			calStr = calStr + '</tr>'			
		}

		calStr = calStr + '</table>'
		calStr = calStr + '</td>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'mini_cal_09.gif" width="8" height="105"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="top" colspan="4"><img src="' + imgPath + 'mini_cal_10.gif" width="170" height="7"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '<tr>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'spacer.gif" width="3" height="1"></td>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'spacer.gif" width="149" height="1"></td>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'spacer.gif" width="10" height="1"></td>'
		calStr = calStr + '<td valign="top"><img src="' + imgPath + 'spacer.gif" width="8" height="1"></td>'
	calStr = calStr + '</tr>'
	calStr = calStr + '</table>'

	cl.style.display='';
	
	//posizione del calendario
	cl.style.left=posX;
	cl.style.top=posY; 
	cl.innerHTML=calStr;
}