var currentOpenedSubM=null;

function openSubMenu(subm)
{
	//chiudo l'ultimo aperto
	if(currentOpenedSubM!=null) 
	{
		Effect.SlideUp(currentOpenedSubM, { duration: 0.3 });
		currentOpenedSubM=null;
	}		
	
	if($(subm)) 
	{	
		if(!$(subm).visible()) currentOpenedSubM=$(subm);		
		Effect.toggle($(subm), 'slide', { duration: 0.3 });
		
	}			
}


//////// APERTURA e CHIUSURA BLOCCHI TRAMITE icone espansion ////////
//NB: Il meccanismo funziona solo se gli elementi attivi prevedono 2 classi: classeUp oppure classeDown

//box: elemento da aprire/chiudere
//elementoattivo: elemento su cui faccio click per aprire/chiudere il box
/* function toggleBox(box,elementoattivo,classeUp,classeDown,dur)
  {
	if(dur==null) dur=0.3
	//$(box).toggle();			//senza effetto

	Effect.toggle(box,'slide',{ duration: dur }); //con effetto slide :)

	if($(elementoattivo).hasClassName(classeUp))
	{
		$(elementoattivo).removeClassName(classeUp);
		$(elementoattivo).toggleClassName(classeDown);
	}
	else if($(elementoattivo).hasClassName(classeDown))
	{
		$(elementoattivo).removeClassName(classeDown);
		$(elementoattivo).toggleClassName(classeUp);
	}

}
 */

function check_domande()
{	
	
	radios=$('testform').select('[type="radio"]')
	count=0;

	for(var i=0; i< radios.length; i++)
	{
		r=radios[i];
		if(r.checked) count++;
	}

	if(count==radios.length/6) return true;  //se ho un radio selezionato x domanda -> ok
	return false;

}

function toggleBox(box)
{
	dur=0.3	
	$(box).toggle();
	//Effect.toggle(box,'slide',{ duration: dur }); //con effetto slide :)
}

function toggleDetail(box,ancor)
{
	if($(box).visible())
		$(ancor).src="images/dettaglio_closed.png";
	else
	 	$(ancor).src="images/dettaglio_opened.png";
	$(box).toggle();
}




function test_pagina(pag)
{
	var param=$('testform').serialize()+"&op=pagina&pag="+pag;
	if(check_domande())
	{
		new Ajax.Request("action_test.php",
		{
				method:'POST',
				parameters: param,
				onComplete: function (transport) {                                    
					$('test_container').replace(transport.responseText);
				}
		});
	}
	else alert("Si prega di rispondere a tutte le domande");
}

function test_salva()
{
	var param=$('testform').serialize()+"&op=salva";

	new Ajax.Request("action_test.php",
	{
			method:'POST',
			parameters: param,
			onComplete: function (transport) {                                
				$('test_container').replace(transport.responseText);
			}
	});
}

function registrazione()
{
	req=new Ajax.Request("action_register.php",
	{
			method:'POST',
			parameters: $('reg_form').serialize(),
			onComplete: function (transport) 
			{							
				if(isJsonRequest(req))
				{
					
					values= transport.responseText.evalJSON();
					
					statusResp=values["status"];
					
					res=values["content"];
					msg=values["msg"];
					
					switch (statusResp)
					{

						case 501:		//err compilazione campi
									$('reg_error').update(msg);
									$('reg_error').show();
									break;

						case 201:
									$('content').update(res);
									break;
					}
				}
				else alert ("C'è qualcosa che tocca: questa non è una Json Request"+transport.responseText)



			}
	});
}

function showReport(ty)
{
		req=new Ajax.Request("action_report.php",
		{
				method:'POST',
				parameters: $('report_form').serialize()+"&rtype="+ty,
				onCreate: function (transport)
				{
					$('report_box').update('<img src="images/loading.gif"/>');
				},
				onComplete: function (transport)
				{					
					$('report_box').update(transport.responseText);
				}
		});
}

function showReportType(family)
{

		req=new Ajax.Request("action_report.php",
		{
				method:'POST',
				parameters: {op:'showreporttype',gfam:family},
				onComplete: function (transport)
				{
					$('graph_type').update("");
					$('report_box').update("");
					$('graph_type').update(transport.responseText);					
				}
		});
}

function resetGraph()
{

	$('report_box').update("");
}

function update_rich_list()
{
        idt=$('idtest').options[$('idtest').selectedIndex].value;
        req=new Ajax.Request("action_risultaticli.php",
		{
				method:'POST',
				parameters: {op:'richlist',idtest:idt},
				onComplete: function (transport)
				{                                        
					$('idrich').replace(transport.responseText);
				}
		});
}

function reset_risultcli()
{
    $('box_risultati').update('');
}

function risultatiIndividuali(tipo)
{
        $('box_risultati').update('<img src="images/loading.gif"/>');
        idt=$('idtest').options[$('idtest').selectedIndex].value;
        idr=$('idrich').options[$('idrich').selectedIndex].value;
        req=new Ajax.Request("action_risultaticli.php",
		{
				method:'POST',
				parameters: {op:tipo,idtest:idt,idrich:idr},
				onComplete: function (transport)
				{
					$('box_risultati').update(transport.responseText);
				}
		});
}



