/*
---------------------------------------------------------------------------------
UTILITA'
---------------------------------------------------------------------------------
*/

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);
    }
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
};

/*
---------------------------------------------------------------------------------
FINE UTILITA'
---------------------------------------------------------------------------------
*/


/*
---------------------------------------------------------------------------------
AJAX - Funzione generale 
---------------------------------------------------------------------------------
fun -> funzione da eseguire al ritorno dalla pagina asp
url -> pagina asp da eseguire completa di parametri
*/
function getAjaxObj(fun,url)
{
	http_request = false;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
			http_request.overrideMimeType('text/xml');
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) 
			{}
		}
	}
	if (!http_request)
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = eval(fun);
	http_request.open('GET',url, true);
	http_request.send(null);
}
/*
---------------------------------------------------------------------------------
FINE AJAX 
---------------------------------------------------------------------------------
*/

/*
---------------------------------------------------------------------------------
GESTIONE LISTING DEI CORSI DI FORMAZIONE
---------------------------------------------------------------------------------
*/
var id_corso=""; //Id del corso di formazione che si sta gestendo

//Invia la richiesta ajax per visualizzare il div di segnalazione ad un amico
function sendToFriend(idc)
{	
	//Memorizza l'id del corso
	id_corso=idc;	
	var testo=document.getElementById('friend_'+id_corso).innerHTML;
	if(testo.length==0)
	{
		//Richiamo Ajax
		getAjaxObj('viewSendToFriend','../site/corsi_ajax.asp?act=fri&idc='+idc);		
	}
	else
		document.getElementById('friend_'+id_corso).innerHTML='';	
}

function viewSendToFriend()
{
	if (http_request.readyState == 4) {
		if (http_request.status == 200)
		{
			if (http_request.responseText.length>0)
			{
				 document.getElementById('friend_'+id_corso).innerHTML=http_request.responseText;
			}
		}
	}
}

//Richiama la funzione ajax per l'invio del corso
function sendEmailFriend(idc)
{
	//Memorizza l'id del corso
	id_corso=idc
	//Dati
	var nome=document.getElementById('txtNome_'+idc).value;
	var mail=document.getElementById('txtEmail_'+idc).value;
	//Richiamo Ajax
	getAjaxObj('viewSendMsg','../site/corsi_ajax.asp?act=sen&nome='+nome+'&mail='+mail+'&idc='+idc);
	
}

function viewSendMsg()
{
	if (http_request.readyState == 4) {
		if (http_request.status == 200)
		{
			if (http_request.responseText.length>0)
			{
				 document.getElementById('msg_'+id_corso).innerHTML=http_request.responseText;
			}
		}
	}
}


//Gestisce il cambio di visualizzazione corsi personali / tutti i corsi
function changeViewType(cat)
{
	var text=document.getElementById('link_vis').innerHTML;
	//Caso in cui sono nella visualizzazione di tutti i corsi
	if (text.indexOf('tuoi')!=-1)
	{
		document.location='home.asp?vis=p&cat='+cat;
	}
	else
	{	
		document.location='home.asp?vis=a&cat='+cat;
	}
	
}


//Visualizzazione del modulo di richiesta maggiori informazioni
function showModulo(idc)
{

	//Memorizza l'id del corso
	id_corso=idc;

	//Cancella eventuali messaggi
//	document.getElementById('msg_modulo_'+id_corso).innerHTML='';
	
	var html_mod=document.getElementById('modulo_'+id_corso).innerHTML;
	if(!html_mod)	
		//Richiamo Ajax
		getAjaxObj('viewModulo','../site/corsi_ajax.asp?act=mod&idc='+idc);	
	else
	{
		document.getElementById('modulo_'+id_corso).innerHTML='';
		document.getElementById('msg_modulo_'+id_corso).style.display='none';
	}
}

function viewModulo()
{
	if (http_request.readyState == 4) {
		if (http_request.status == 200)
		{
			if (http_request.responseText.length>0)
			{
				 document.getElementById('modulo_'+id_corso).innerHTML=http_request.responseText;
				 document.getElementById('msg_modulo_'+id_corso).style.display='block';
			}
		}
	}
}


/*
---------------------------------------------------------------------------------
FINE GESTIONE LISTING DEI CORSI DI FORMAZIONE
---------------------------------------------------------------------------------
*/

/*
---------------------------------------------------------------------------------
GESTIONE DEI COOKIE
---------------------------------------------------------------------------------
*/

var sCookieName='formazioneIn'; //Nome del cookie per la lista dei personali
var expiredays=365; //Giorni di vita del cookie
var classObj='' //Classe css del corso da gestire
var numeroCorsiInLista=0; //Numero di corsi nella lista dei personali
var sTxtLista="Mia lista"; //Testo del tab della lista dei personali


function getCookie(NameOfCookie)
{
	// Prima controlliamo se c'è un cookie memorizzato.
	// Altrimenti la lunghezza del document.cookie sarebbe zero.
	if (document.cookie.length > 0)
	{
	// Poi controlliamo se il nome del cookie è conservato nell'oggetto
	// "document.cookie"della pagina
	// Siccome è possibile inserire più di un cookie su una
	// singola pagina, è possibile che il nostro cookie
	// non sia presente, anche se l'oggetto "document.cookie"
	// non è solo un testo vuoto.
	// Se il nome del nostro cookie non è presente, verrà memorizzato il valore -1
	// nella variabile chiamata "begin".
	
		begin = document.cookie.indexOf(NameOfCookie+"=");
	
		if (begin==-1) return null;
	
		if (begin != -1) 
		{
			// Il valore memorizzato nel cookie viene rimandato dalla funzione.
			begin += NameOfCookie.length+1;
			end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end)); 
		}
	}
	else
		return null;
		
}

function setCookie(NameOfCookie, value, expiredays) 
{
	var ExpireDate = new Date ();
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
  	document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; path=/; expires=" + ExpireDate.toGMTString());
}

function delCookie (NameOfCookie)
{

	// La funzione controlla semplicemente se il cookie è memorizzato.
	// Se lo è, la data di scadenza è fissata al 1° gennaio 1970.	
	if (getCookie(NameOfCookie)) 
	{
		document.cookie = NameOfCookie + "=" +	"; path=/; domain=formazionein.it; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}


function manageMoveList(idc)
{
	$('#move'+idc).TransferTo({to:'menulist',className:'bordato', duration: 400});
	managePersonalList(idc);
}

//Gestisce l'inserimento e la cancellazione di un corso dalla lista dei personali
function managePersonalList(idc)
{
	//Memorizza l'id del corso
	id_corso=idc
	
	//Legge il cookie
	var sList=getCookie(sCookieName); 
	
	//Se idc=0 significa che sto caricando la pagina e non ho cliccato sull'icona quindi devo solo scrivere sul tab il numero di
	//corsi presenti nella lista personale
	if((idc==0)&&((sList==null)||(sList.length==0)))
	{
		//Non c'è il cookie: numero corsi = 0
		numeroCorsiInLista=0;
		document.getElementById('menulist').innerHTML=sTxtLista + ' (' + numeroCorsiInLista +')';
		return;
	}
	//Se il cookie c'è si deve contare il nuomero di corsi
	if((idc==0)&&(sList!=null))
	{
		var sObjList=sList.split(",");
		numeroCorsiInLista=sObjList.length;
		document.getElementById('menulist').innerHTML=sTxtLista + ' (' + numeroCorsiInLista +')';
		return;
	}
		
	//Se il cookie non c'è lo crea e inserisce il corso
	if (sList==null) 
	{
		var idc_cookie=escape(idc);
		setCookie(sCookieName,idc_cookie,expiredays);
//		var ExpireDate = new Date ();
//		ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
//		document.cookie=sCookieName + "=" + escape(idc) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
		//Coloro l'incipit del corso
		classObj='corsocontainersel';
		//Movimento
		$('#move'+idc).TransferTo({to:'menulist',className:'objMove', duration: 300});
		//Aggiorno il numero di corsi e il tab
		numeroCorsiInLista=1;
		document.getElementById('menulist').innerHTML=sTxtLista + ' (' + numeroCorsiInLista +')';
	}
	//Se il cookie c'è già verifica se è già stato inserito il corso: se si lo toglie, altrimenti lo inserisce
	else
	{
		if(sList.indexOf(idc)==-1)
		{
			if (sList=='')
				sList=idc;
			else    
				sList=sList +','+idc;
			
//			document.cookie = sCookieName + "=" + sList;
			setCookie(sCookieName,sList,expiredays);
		
			//Coloro l'incipit del corso
			classObj='corsocontainersel';
			//Movimento
			$('#move'+idc).TransferTo({to:'menulist',className:'objMove', duration: 300});
			//Aggiorno il numero di corsi e il tab
			numeroCorsiInLista++;
			document.getElementById('menulist').innerHTML=sTxtLista + ' (' + numeroCorsiInLista +')';
		}
		else
		{	
			var sNewList='';
			var sObjList=sList.split(",");
			for(i in sObjList)
				if (sObjList[i]!=idc)
					sNewList=sNewList+sObjList[i]+',';
			if(sNewList!='')
				sNewList=Left(sNewList,sNewList.length-1);
	
			setCookie(sCookieName,sNewList,expiredays);
	//		document.cookie = sCookieName + "=" + sNewList;
	
			//Scoloro l'incipit del corso
			classObj='corsocontainer';
			//Aggiorno il numero di corsi e il tab
			numeroCorsiInLista--;
			document.getElementById('menulist').innerHTML=sTxtLista + ' (' + numeroCorsiInLista +')';
		}	
		
	}
	
	//Gestione classe css dell'elemento corso
	document.getElementById('container_'+id_corso).className=classObj;
}


/*
---------------------------------------------------------------------------------
FINE GESTIONE DEI COOKIE
---------------------------------------------------------------------------------
*/


/*
---------------------------------------------------------------------------------
GESTIONE DEI MODULI
---------------------------------------------------------------------------------
*/

//Verifica dei dati del modulo ed eventuale invio
function checkModulo(idc)
{
	var mod_cog=trim(document.getElementById('mod_cog_'+idc).value);
	var mod_nome=trim(document.getElementById('mod_nome_'+idc).value);
	var mod_email=trim(document.getElementById('mod_mail_'+idc).value);
	var mod_pro=document.getElementById('slc_mod_pro_'+idc).value;
	var mod_studio=document.getElementById('slc_mod_forma_'+idc).value;
	var mod_note_studio=trim(document.getElementById('mod_in_'+idc).value);
	var note=trim(document.getElementById('txt_mod_note_'+idc).value);
	var sede=document.getElementById('slc_mod_sede_'+idc).value;

	//Sede 
	if(sede=='0')
	{
		alert('Selezionare la sede del corso!');
		return;
	}
	
	//Nome e cognome
	if(!mod_cog||!mod_nome)
	{
		alert('Nome o cognome mancanti!');
		return;
	}
	//E-mail
	if(!mod_email)
	{
		alert('E-mail mancante!');
		return;
	}
	//Residenza
	if(mod_pro==0)
	{
		alert('Selezionare una provincia di residenza.');
		return;
	}
	//Caso in cui si specifica un titolo di studio ma non si effettua una selezione dalla tendina della formazione
	if(mod_note_studio&&mod_studio==0)
	{
		alert('Specificare il tipo di formazione.');
		return;
	}
	
	//Informazioni sul recapito
	var via=trim(document.getElementById('txt_mod_via_'+idc).value);
	var cap=trim(document.getElementById('txt_mod_cap_'+idc).value);
	var citta=trim(document.getElementById('txt_mod_citta_'+idc).value);
	var tel=trim(document.getElementById('txt_mod_tel_'+idc).value);
	var fax=trim(document.getElementById('txt_mod_fax_'+idc).value);	
	
	//Memorizza l'id del corso
	id_corso=idc
	
	//Richiama la procedura di invio modulo
	var pagemod='../site/corsi_ajax.asp?act=smo&idc='+idc+'&cog='+mod_cog+'&nome='+mod_nome+'&mail='+mod_email+'&pro='+mod_pro;
	pagemod=pagemod+'&st='+mod_studio+'&nst='+mod_note_studio+'&note='+note;
	pagemod=pagemod+'&via='+via+'&cap='+cap+'&citta='+citta+'&tel='+tel+'&fax='+fax+'&sede='+sede;

	getAjaxObj('sendModulo',pagemod);

}

function sendModulo()
{
	if (http_request.readyState == 4) {
		if (http_request.status == 200)
		{
			if (http_request.responseText.length>0)
			{
				 document.getElementById('msg_modulo_'+id_corso).innerHTML=http_request.responseText;
			}
		}
	}
}

/*
---------------------------------------------------------------------------------
FINE GESTIONE DEI MODULI
---------------------------------------------------------------------------------
*/
