function qdbAddTipologia(value){
	var inputElem = $("qdbform").select("input[name='currtip']");
	if(inputElem.length == 0){
		$("qdbform").insert(new Element("input", {'type': 'hidden', 'name': 'currtip', 'value': value}));
	} else {
		inputElem[0].value = value;
	}
}

function qdbTipologia(value){
	qdbAddTipologia(value);
	qdbSubmit(1); 
}

function qdbSubmit(page){
	$("qdbContainer").update("<p>Caricamento in corso</p>");
	$("page").value = page;
	new Ajax.Updater($("qdbContainer"), "/pf/qdb",{
		parameters: $("qdbform").serialize(true),
		evalScripts: true
	});
}

function initQuerydbPage(){
	var inputElem = $("qdbform").select("input[name='page']");
	var startingPage = 1;
	if(inputElem.length == 0){
		$("qdbform").insert(new Element("input", {'type': 'hidden', 'name': 'page', 'id': 'page', 'value': 1}));
	} else {
		startingPage = $F("page");
	}
	$("qdbform").observe("submit", qdbSubmit);
	qdbSubmit(startingPage);
}

function listaArticoli(d,p){
	new Ajax.Updater($("dListaArticoli"), "/pf/listaArticoli",{
		method: "post",
		parameters: {did: d, page: p},
		evalScripts: true
	});
}

function getDoc(d){
	var pars = "";
	var divToUpdate = "";
	if($("idtree")){
		divToUpdate = "doc";
		pars += "did=" + d + "&idt=" + $F("idtree") + "&ofs=" + $F("offset") + "&ntd=" + $F("numtotdocs");
	}	
	else {
		divToUpdate = "txt_container";
		pars += "did=" + d;
	}
	$(divToUpdate).update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($(divToUpdate), "/pf/action_doc",{
		method: "post",
		parameters: pars,
		evalScripts: true
	});
	if($("idtree"))
		viewSection(1);
}

function getDoc(d){
	var pars = "";
	var divToUpdate = "";
	if($("idtree")){
		divToUpdate = "doc";
		pars += "did=" + d + "&idt=" + $F("idtree") + "&ofs=" + $F("offset") + "&ntd=" + $F("numtotdocs");
	}	
	else {
		divToUpdate = "txt_container";
		pars += "did=" + d;
	}
	$(divToUpdate).update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($(divToUpdate), "/pf/action_doc",{
		method: "post",
		parameters: pars,
		evalScripts: true
	});
	if($("idtree"))
		viewSection(1);
}

function getSendDoc(d){
	$("txt_container").update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($("txt_container"), "/pf/action_send_doc",{
		method: "post",
		parameters: {did: d, sd: 1},
		evalScripts: true
	});
}

function initDocPage(){
	getDoc(document_did);
}

function initSendDocPage(){
	getSendDoc(document_did);
}

function explode(id) {
	var elem = null;
	var links = null;
	currIdRamo = id;
	elem = $('d_' + id);
	if(elem){
		links = $A(elem.getElementsByTagName('a'));
		links[0].className = (links[0].className == 'expand')?'collapse':'expand';
		currLblRamo = links[0].innerHTML;
	}
	var sub_elem = $('v_' + id);
	if(sub_elem) {
		sub_elem.toggle();
	} else {
		var url = '/pf/treeGetChilds';
		new Ajax.Updater("d_" + currIdRamo, url, {method: 'post',
			parameters: {id_ramo: id, label: currLblRamo, style: links[0].className}});
	}
}

function setRoot(id_ramo){
	var links = null;
	currRoot = id_ramo;
	elem = $('d_' + currRoot);
	links = $A(elem.getElementsByTagName('a'));
	currLblRoot = links[0].innerHTML;
	explode(id_ramo);
}

function getOrgani(){
	new Ajax.Updater($("organo"), "/pf/getOrgani",
	 {method: "post", parameters: {tipologia: $F("tipologia")}}); 
}

function getTipologie(){
	new Ajax.Updater($("tipologia"), "/pf/getTipologie",
	 { onComplete: function(transport){
	 	getOrgani();
	 }});
	$("sede").update(""); 
}

function getSedi(){
	new Ajax.Updater($("sede"), "/pf/getSedi",
	 {method: "post", parameters: {organo: $F("organo")}}); 
}

function setTree(id){
	$("idramo").value = id;
	searchDocs(1);
}

function searchDocs(page){
	$("lista").update("Caricamento in corso");
	$("page").value = page;
	new Ajax.Updater($("lista"), "/pf/buildListTree",{
		parameters: $("frmAdvSearch").serialize(true),
		evalScripts: true
	});
	viewSection(0);
}

function viewSection(id){
	switch(id){
		case 0:
			$("listaTreeDoc").show();
			$("lista").show();
			$("doc").hide();
			$("abstract").hide();	
			$("intestazioneIndici").show();	
			$("intprovv").hide();					
			break;
		case 1:
			$("listaTreeDoc").hide();
			$("lista").hide();
			$("doc").show();
			$("abstract").hide();	
			$("intestazioneIndici").hide();		
			$("intprovv").hide();					
			break;
		case 2:
			$("listaTreeDoc").hide();
			$("lista").hide();
			$("doc").hide();
			$("abstract").hide();	
			$("intestazioneIndici").hide();
			$("intprovv").show();								
			break;									
	}
}

function setTipologia(idt){
	$("a_tip").value = idt; 		
	searchDocs(1);
}

function viewFAQ()
{
	$("hiddenFAQ").toggle();
}

function animate_box(elem){
	var classNames = $w(elem.className);
	if(classNames.length == 2){
		var animate_id = classNames[1];
		var ulDest = $("ul_" + animate_id);
		if(ulDest){
			var a_list = elem.select("div.menu a");
			a_list.each(function(a_elem){
				a_elem.href="javascript:void(0)";
				a_elem.observe('click', function(event){
					a_elem.siblings().each(function(sibl){sibl.removeClassName("act")});
					a_elem.addClassName("act");
					var ul_id = a_elem.id.replace("a_", "ul_");
					if($(ul_id)){
						ulDest.update($(ul_id).innerHTML);
					}
				});
			});
			ulDest.update($(a_list[0].id.replace("a_", "ul_")).innerHTML); 
		}
	}
}

function initAnimateBox(){
	$$(".animate_box").each(function(elem){
		animate_box(elem);
	});
}

/*function intprovv(d)
{
	var pars = "";
	var divToUpdate = "";
	if($("idtree")){
		divToUpdate = "intprovv";
		pars += "did=" + d + "&idt=" + $F("idtree");
	}	
	else {
		divToUpdate = "txt_container";
		pars += "did=" + d;
	}
	$(divToUpdate).update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($(divToUpdate), "/pf/intprovv",{
		method: "post",
		parameters: pars,
		evalScripts: true
	});	
	if($("idtree"))
		viewSection(2);
}*/

function intprovv()
{
	var d = arguments[0];
	var npage = arguments[1];
	var pars = "";
	var initDivToUpdate = "";
	var divToUpdate = "";
	if($("idtree")){
		initDivToUpdate = "intprovv";
		divToUpdate = arguments[2] === undefined ? initDivToUpdate : arguments[2];
		pars += "did=" + d + "&idt=" + $F("idtree") + "&page=" + npage + "&idtu=" + initDivToUpdate;
	}	
	else {
		initDivToUpdate = "txt_container";
		divToUpdate = arguments[2] === undefined ? initDivToUpdate : arguments[2];
		pars += "did=" + d + "&page=" + npage + "&idtu=" + initDivToUpdate;
	}
	$(divToUpdate).update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($(divToUpdate), "/pf/intprovv",{
		method: "post",
		parameters: pars,
		evalScripts: true
	});	
	if($("idtree"))
		viewSection(2);
}

function cercaAziende(){
	$("divElencoAziende").update("<p>Caricamento in corso...</p>");
	new Ajax.Updater($("divElencoAziende"), "/pf/searchAziende",{
		parameters: $("frmCercaAziende").serialize(true),
		evalScripts: true
	});
}

function pulisciCampo()
{
	$("textfield").clear();
}

function sendToFrm(id){
	document.documentElement.scrollTop = 0;
	new Ajax.Updater($("frmSendTo"), "/pf/sendToFrm",{
		method: "post",
		parameters: {did: id},
		evalScripts: true
	});
	so = document.viewport.getScrollOffsets();	
	$('frmSendTo').style.top = (so[1] + 220) + 'px';
	$('frmSendTo').style.left = (so[1] + 350) + 'px';	
}

function remindMe(){
	new Ajax.Updater($("remindMeLog"), "/pf/remindMe",
	{parameters: {rm: $F("cbRemindMe") == "on" ? 1 : 0},
	method: "post",
	evalScripts: true});
}

function sendTo(){
	if($F("nomedest").empty()){
		window.alert("Occorre indicare il nome del destinatario");
		$("nomedest").focus();
		return;
	}
	if($F("emaildest").empty()){
		window.alert("Occorre indicare l'indirizzo di email del destinatario");
		$("emaildest").focus();
		return;
	}
	if($F("nomemitt").empty()){
		window.alert("Devi indicare il tuo nome");
		$("nomemitt").focus();
		return;
	}
	new Ajax.Request("/pf/sendTo",
		{parameters: $("sndToFrm").serialize(true),
		 method: "post",
		 onComplete: function(transport){
		 	notifyMsg(transport.responseText); 
		 	$("frmSendTo").hide();
		 }}); 
}

function notifyMsg(msg){
	$("notifierDiv").update(msg);
	$("notifierDiv").show();
	new PeriodicalExecuter(function(pe) {
	 	$("notifierDiv").hide();
	    pe.stop();
	}, 3);
}

function GetCookie(sName){
	var aCookie = document.cookie.split("; ");
	for (var i=0; i<aCookie.length; i++)
	{
		var aCrumb = aCookie[i].split("=");
		if (sName == aCrumb[0]) 
			return unescape(aCrumb[1]);
	}
	return null;
}

function SetCookie(name, value, expiredays, path, domain, secure){
	var expiredate = new Date ();
   expiredate.setTime(expiredate.getTime() + (expiredays * 24 * 3600 * 1000));
   document.cookie = name + "=" + escape(value) +
										((expiredays) ? "; expires=" + expiredate.toGMTString() : "") +
										((path) ? "; path=" + path : "") +
										((domain) ? "; domain=" + domain : "") +
										((secure) ? "; secure" : "");
 }

var currentSize = 100;
function setFontSize(increment){
	if(increment == 0){
		currentSize = 100;
	} else {
		currentSize += (increment * 10);
	}
	if(currentSize <=70){
		currentSize += 10;
	}
	$('txt_text').style.fontSize = currentSize + "%";
	$('cursize').update(currentSize + "%");
	SetCookie("docFontSize", currentSize, 365);
}

function readFontSize(){
	var fs = GetCookie("docFontSize");
	if(fs){
		currentSize = fs * 1;
		if($("txt_text") && $("cursize")){
			$('txt_text').style.fontSize = currentSize + "%";
			$('cursize').update(currentSize + "%");
		}
	}
}

function newPwd(){
	var oldp = $F("oldpwd");
	if(oldp == ""){
		window.alert("Inserire la password attuale");
		$("oldpwd").focus();
		return;
	}
	var pwd = $F("newpwd");
	if(pwd == ""){
		window.alert("Impostare la nuova password");
		$("newpwd").focus();
		return;
	}
	new Ajax.Updater($("changePwdLog"), "/pf/changePwd",
		{parameters: {newpwd: pwd, oldpwd: oldp},
		method: "post",
		evalScripts: true}); 
}

function frmRichiestaSupporto(){
	new Ajax.Updater($("divFrmRichiestaSupporto"), "/pf/frmRichiestaSupporto",
		{evalScripts: true,
		onComplete: function(transport){
		 	$("divFrmRichiestaSupporto").show();
		 }});
}

function submitFrmRichiestaSupporto(){
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	var inError = false;
	$("spErrFase").hide();
	if($("spErrEmail")){
		$("spErrEmail").hide();
	}
	$("spErrProblema").hide();
	
	if($F("fase") == "99" && !$("edFaseCustom").present()){
		$("spErrFase").show();
		$("edFaseCustom").focus();
		inError = true;
	}
	if($F("problema") == ""){
		$("spErrProblema").show();
		$("problema").focus();
		inError = true;
	}
	if($("email").tagName == "INPUT"){
		if(!$("email").present()){
			$("spErrEmail").update("Indicare un indirizzo di posta elettronica").show(); 
			$("email").focus();
			inError = true;
		} else {
			match = false;
			$F("email").scan(emailRegEx, function(m){
				match = true;
			});
			if(!match){
				$("spErrEmail").update("Indirizzo di posta elettronica non valido").show();
				$("email").focus();
				inError = true;
			}
		}
	} 
	if(inError){
		return;
	}

	new Ajax.Updater($("invioRichiestaLog"), "/pf/inviaRichiestaSupporto",
		{parameters: $("formRichiestaSupporto").serialize(true),
		 evalScripts: true,
		 method: "post"}); 
}

function vota() {
  new Ajax.Request("/pf/votaSondaggio",
    {parameters: $("frmSondaggio").serialize(true)}
  )
}

/* Javascript per menu news */
var currentSizeNews = 100;
function setFontSizeNews(increment){
	if(increment == 0){
		currentSizeNews = 100;
	} else {
		currentSizeNews += (increment * 10);
	}
	if(currentSizeNews <=70){
		currentSizeNews += 10;
	}
	$('news').style.fontSize = currentSizeNews + "%";
	$('cursizeNews').update(currentSizeNews + "%");
	SetCookie("docFontSizeNews", currentSizeNews, 365);
}

function readFontSizeNews(){
	var fs = GetCookie("docFontSizeNews");
	if(fs){
		currentSizeNews = fs * 1;
		if($("news") && $("cursizeNews")){
			$('news').style.fontSize = currentSizeNews + "%";
			$('cursizeNews').update(currentSizeNews + "%");
		}
	}
}

function printPreviewNews(did){
	window.open("/pf/textNews/" + did + "_print", "prn_window", "menubar=1,resizable=1,scrollbars=1,width=520,height=600");
}

function sendToFrmNews(id){
	new Ajax.Updater($("frmSendTo"), "/pf/sendToFrmNews",{
		method: "post",
		parameters: {did: id},
		evalScripts: true
	});
	so = document.viewport.getScrollOffsets();
	$('frmSendTo').style.top = (so[1] + 150) + 'px';
	$('frmSendTo').style.left = (so[1] + 350) + 'px';
}

function sendToNews(){
	if($F("nomedest").empty()){
		window.alert("Occorre indicare il nome del destinatario");
		$("nomedest").focus();
		return;
	}
	if($F("emaildest").empty()){
		window.alert("Occorre indicare l'indirizzo di email del destinatario");
		$("emaildest").focus();
		return;
	}
	if($F("nomemitt").empty()){
		window.alert("Devi indicare il tuo nome");
		$("nomemitt").focus();
		return;
	}
	new Ajax.Request("/pf/sendToNews",
		{parameters: $("sndToFrm").serialize(true),
		 method: "post",
		 onComplete: function(transport){
		 	notifyMsg(transport.responseText);
		 	$("frmSendTo").hide();
		 }});
}
/**/