function crea_http_req() {
	var req = false;
	if (window.XMLHttpRequest){
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject){
	  req=new ActiveXObject("Microsoft.XMLHTTP")
	}
	 return req;
}

function controllo_solo_numeri(b,tipo){
    var campo=document.getElementById(b);
    if(tipo=="prezzo"){
		  if (!(campo.value.match(/^[0-9,]+$/))){
		  campo.value=campo.value.substring(0,campo.value.length-1);
		  }
		} else {
      if (!(campo.value.match(/^[0-9]+$/))){
		  campo.value=campo.value.substring(0,campo.value.length-1);
      }
    }
}

function svuota_div(obj) {
	while(document.getElementById(obj).firstChild) document.getElementById(obj).removeChild(document.getElementById(obj).firstChild);
}

function clearDIV(obj) {
  obj.style.display="none";
}

function rimuovi_div(master,ele){
  document.getElementById(master).removeChild(document.getElementById(ele));
}

function testo_temporaneo(div,posizione,tempo,testo) {
    svuota_div(div);
    document.getElementById(div).appendChild(document.createTextNode(testo));
    document.getElementById(div).style.display=posizione;
    setTimeout(function(){clearDIV(document.getElementById(div))},tempo);
}

function disattiva_campi(camp){
    for(var a=0;a<camp.length;a++){
      document.getElementById(camp[a]).disabled=true;
        if(camp[a]!="buton_invia"){
          document.getElementById(camp[a]).style.backgroundColor="#e2e2e2";
        }  
    }
  }
  
  function attiva_campi(camp,attivatore){
    if(document.getElementById(attivatore).value.length!=0){
        for(var a=0;a<camp.length;a++){
          document.getElementById(camp[a]).disabled=false;
          if(camp[a]!="buton_invia"){
            document.getElementById(camp[a]).style.backgroundColor="#FFFFFF";
          }
          if(document.getElementById("partecipanti")){
            document.getElementById("partecipanti").style.display="block";
          }  
        }
    }
  }
  
  function controllo_accesso(campi_disattivi,campo){
    if(document.mioform.nominativo.value==""){
      disattiva_campi(campi_disattivi);  
    } else {
     attiva_campi(campi_disattivi,campo);
    }
  }
  
function svuota_errore(obj){
	var nObj =obj.cloneNode(false);
	obj.parentNode.insertBefore(nObj,obj);
	obj.parentNode.removeChild(obj);
}

function controllo_campi_agenda(a,lista){
  var error=0;
  var testo="";
  if(document.agend.elements['parte[]']){
    for(var b=0;b<lista.length;b++){
      if(lista[b]!="parte"){
        if(document.getElementById(lista[b]).value.length==""){
        document.getElementById(lista[b]).appendChild(document.createTextNode("campo obbligatorio"));
        error++;
      }
    } else {
      //controllo checkbox di nome "parte" per disponibilità
        var premuto=0;
        
        var c=document.agend.elements['parte[]'];
         
      for (i=0;i<document.agend.elements['parte[]'].length;i++){
        if(document.agend.elements['parte[]'][i].checked)premuto++;
      }
      if(premuto==0){
        document.getElementById("error").innerHTML="Selezionare almeno un partecipante";
        error++;
        }
        
    }
      
  }
  } else {
    error++;
  }
  if(error!=0){
    return false;
  }
  
  a.submit();
  return true;
}

function controllo_campi_obbligatori(a,lista){
  var error=0;
  

  for(var b=0;b<lista.length;b++){
    document.getElementById(lista[b]).style.border="solid 1px #7f9db9";
      if(document.getElementById(lista[b]).value.length==""){
         document.getElementById(lista[b]).style.border="solid 1px #cc0000";
         error++;
      }
  }
  
  if(error!=0){
    svuota_errore(document.getElementById("noti_error"));
    document.getElementById("noti_error").appendChild(document.createTextNode("Impossibile procedere. Modulo non compilato correttamente. "+error+" campi mancanti. "));
    return false;
  }
  
  a.submit();
  return true;
}
  
  
function righello_link(IDtabella){
trs=document.getElementById(IDtabella).tBodies[0].rows;
for(var i=0;i<trs.length;i++){
      tds=trs[i].cells;
      trs[i].link=document.getElementById("coll"+i).href;
      trs[i].title= "Clicca per modificare la categoria";
      trs[i].style.cursor="pointer";
      trs[i].onclick=function(){document.location.href=this.link};
      trs[i].onmouseover = function(){this.style.backgroundColor="#E0E6EF"};
      trs[i].onmouseout = function(){this.style.backgroundColor="#C2D3EF"};
      }
}

function righello(IDtabella){
trs=document.getElementById(IDtabella).tBodies[0].rows;
for(var i=0;i<trs.length;i++){
      tds=trs[i].cells;
      trs[i].style.backgroundColor="#FFFFFF";
      trs[i].onmouseover = function(){this.style.backgroundColor="#d2dfe6"};
      trs[i].onmouseout = function(){this.style.backgroundColor="#FFFFFF"};
      }
}

function nascondere(lista){
  for(var a=0;a<lista.length;a++){
      document.getElementById(lista[a]).style.display="none";
    } 
}

function apparire(lista){
  for(var a=0;a<lista.length;a++){
      document.getElementById(lista[a]).style.display="inline";
    } 
}


function pulisciloader(id) {
  document.getElementById(id).className = "nascondi";
}

function loader(id){
  document.getElementById(id).className="loader";
}

function riappari(){
    document.getElementById("tit_partecipanti").style.display="inline";
    document.getElementById("occupati").style.display="block";
}

function popola_anni(menu){
      for (var i =0;i<orari_appu.length;i++) {
      var nuovo=new Option(orari_appu[i],orari_appu[i]);
      document.agend[menu].options.add(nuovo,i);
      }
    }

function genera_ora_fine(partenza){
      var situa="";
      var pippo="";
      while (document.agend.ora_fine.childNodes.length > 0) {
	 	     document.agend.ora_fine.removeChild(document.agend.ora_fine.childNodes[0]);
	     }
      for (var i =0;i<orari_appu.length;i++) {
        if(orari_appu[i]==partenza){
          situa="parti";
        }
        if(pippo=="ok"){
          var nuovo=new Option(orari_appu[i],orari_appu[i]);
          document.agend.ora_fine.options.add(nuovo,i);
        }
        if(situa=="parti"){
          pippo="ok"; 
        }
    }
  }
  
function compare_appunto(){
  document.getElementById("appunto").style.display="block";
}

function scegli_tipo_campo(a,b){
  var val="";
  var field_type=b;
  if(a=="stringa"){
    document.getElementById(field_type+"_stringa").style.display="block";
    document.getElementById(field_type+"_textarea").style.display="none";
    document.getElementById(field_type+"_select").style.display="none";
    document.getElementById(field_type+"_modulo").style.display="none";
    document.getElementById(field_type+"_prezzo").style.display="none";
    document.getElementById(field_type+"_data").style.display="none";
  } else if(a=="textarea"){
    document.getElementById(field_type+"_stringa").style.display="none";
    document.getElementById(field_type+"_select").style.display="none";
    document.getElementById(field_type+"_textarea").style.display="block";
    document.getElementById(field_type+"_modulo").style.display="none";
    document.getElementById(field_type+"_prezzo").style.display="none";
    document.getElementById(field_type+"_data").style.display="none";
  } else if(a=="radio" || a=="check"){
    document.getElementById(field_type+"_modulo").style.display="block";
    document.getElementById(field_type+"_select").style.display="none";
    document.getElementById(field_type+"_stringa").style.display="none";
    document.getElementById(field_type+"_textarea").style.display="none";
    document.getElementById(field_type+"_prezzo").style.display="none";
    document.getElementById(field_type+"_data").style.display="none";
  } else if(a=="prezzo"){
    document.getElementById(field_type+"_prezzo").style.display="block";
    document.getElementById(field_type+"_select").style.display="none";
    document.getElementById(field_type+"_stringa").style.display="none";
    document.getElementById(field_type+"_textarea").style.display="none";
    document.getElementById(field_type+"_modulo").style.display="none";
    document.getElementById(field_type+"_data").style.display="none";
  } else if(a=="select"){
    document.getElementById(field_type+"_prezzo").style.display="none";
    document.getElementById(field_type+"_select").style.display="block";
    document.getElementById(field_type+"_stringa").style.display="none";
    document.getElementById(field_type+"_textarea").style.display="none";
    document.getElementById(field_type+"_modulo").style.display="none";
    document.getElementById(field_type+"_data").style.display="none";
  } else if(a=="data"){
    document.getElementById(field_type+"_modulo").style.display="none";
    document.getElementById(field_type+"_select").style.display="none";
    document.getElementById(field_type+"_stringa").style.display="none";
    document.getElementById(field_type+"_textarea").style.display="none";
    document.getElementById(field_type+"_prezzo").style.display="none";
    document.getElementById(field_type+"_data").style.display="block";
  }
}

function countChildNodes(g){
  var  child = document.getElementById(g+"valori_select").getElementsByTagName('div');
  var quanti=0;
  for(i = 0; i < child.length; i++){
    if(child[i].nodeType==1){
      quanti++;
    }
  }
  return quanti;
}

function associa_valore_popup(destinatario,associante){
  document.getElementById("val"+destinatario+premuto).value=document.getElementById("val"+associante).value;
  document.getElementById(destinatario+premuto).value=document.getElementById("trap1"+associante).value+" - "+document.getElementById("trap2"+associante).value;
}

function addLoadEvent(func) {
			var oldonload = window.onload;
			
			if (typeof window.onload != "function") {
				window.onload = func;
			} else {
				window.onload = function () {
					oldonload();
					func();
				}
		}
}

function initChecklist() {
			if (document.all && document.getElementById) {
				var lists = document.getElementsByTagName("ul");
				
				for (i = 0; i < lists.length; i++) {
					var theList = lists[i];
					
					if (theList.className.indexOf("checklist") > -1) {
						var labels = theList.getElementsByTagName("label");
						
						for (var j = 0; j < labels.length; j++) {
							var theLabel = labels[j];
							theLabel.onmouseover = function() { this.className += " hover"; };
							theLabel.onmouseout = function() { this.className = this.className.replace(" hover", ""); };
						}
					}
				}
			}
}

function gestisci_ordine_pubblicazione(){
  document.getElementById('ordine_pubblicazione').className='ordine_pubblicazione';
  document.getElementById('tasto_cambia').className='ordine_pubblicazione_cambia';
  document.getElementById('img_tasto_ordine').className='nascosto';
}

function carica_campi(vo,h){
  sel=vo.selectedIndex-1;
  for (var k=0; k<colo[sel].length;k++) {
    var nuovo=new Option(colo[sel][k],colo[sel][k]);
    document.mioform[h].options.add(nuovo,k+1);
  }
}

function popola_subcategorie(cat,valore,selez,idsub){
      svuota(valore,idsub);
      for (var i=1;i <categories[idsub][cat].length; i++) {
      var nuovo=new Option(categories[idsub][cat][i],categories_id[idsub][cat][i]);
        if(selez!=""){
          if(categories_id[idsub][cat][i]==selez)nuovo.selected=true;
        }
          document['assegna_subcategorie'+idsub]['subcat'+idsub+valore].options.add(nuovo,i);
      }
    }
    
 function svuota(subcat,idsub){
	     num_option=document.getElementById('subcat'+idsub+subcat).options.length;
	     for(a=num_option;a>=0;a--){
		   document.getElementById('subcat'+idsub+subcat).options[a]=null;
	 }
  }
  
  function clona_posizione(id_sub){
    totale_div[id_sub]++;
    hg=id_sub;
  var dep=totale_div[id_sub];
  div=document.createElement("div");
  div.setAttribute("id","valore"+id_sub+totale_div[id_sub]);
  span=document.createElement("span");
  span.appendChild(document.createTextNode("Posizione "+totale_div[id_sub]));
  select1=document.getElementById("cat"+id_sub+"1");
  nuovoselect1=select1.cloneNode(true);
  select2=document.getElementById("subcat"+id_sub+"1");
  nuovoselect2=select2.cloneNode(true);
  nuovoselect1.setAttribute("id","cat"+id_sub+totale_div[id_sub]);
  nuovoselect1.setAttribute("name","cat"+id_sub+totale_div[id_sub]);
  nuovoselect1.onchange=function(){popola_subcategorie(this.options[this.selectedIndex].value,dep,'',hg);};
  nuovoselect2.setAttribute("id","subcat"+id_sub+totale_div[id_sub]);
  nuovoselect2.setAttribute("name","subcat"+id_sub+totale_div[id_sub]);
  img=document.createElement("img");
  img.setAttribute("src","img/ico_rimuovi.gif");
  img.setAttribute("alt","delete voice");
  img.setAttribute("title","delete voice");
  img.setAttribute("style","margin-left:10px;cursor:pointer;");
  img.onclick=function(){rimuovi_div("posizioni"+id_sub,"valore"+id_sub+dep);};
  inputtype=document.createElement("INPUT");
  inputtype.setAttribute("type","hidden");
  inputtype.setAttribute("name","esistente"+id_sub+totale_div[id_sub]);
  inputtype.setAttribute("id","esistente"+id_sub+totale_div[id_sub]);
  inputtype.setAttribute("value","");
  div.appendChild(span);
  div.appendChild(nuovoselect1);
  div.appendChild(nuovoselect2);
  div.appendChild(img);
  div.appendChild(inputtype);
  document.getElementById("posizioni"+id_sub).appendChild(div);
  }

function check_modifica_password(modulo){
  var frase="";
  errore=0;
  if(document.getElementById("username_nuova").value.length<5){
    frase="Errore. Il campo username deve contenere minimo 5 caratteri alfanumerici.";
    errore++;
  }
  
   if(document.getElementById("password_nuova").value.length<5 || document.getElementById("password_conferma").value.length<5 ){
    frase="Errore. Il campo password deve contenere almeno 5 caratteri alfanumerici.";
    errore++;
  }
  
  if(document.getElementById("password_nuova").value!=document.getElementById("password_conferma").value){
    frase="Errore. Verifica la password. Inseriti due valori diversi.";
    errore++;
  }
  
  if(errore>0){
  svuota_div("avviso_modulo");
  document.getElementById("avviso_modulo").appendChild(document.createTextNode(frase));
  return false;
  } else {
  document.getElementById(modulo).submit();
  return true
  }
}

function svuota_menu_select(menu){
for (var b = menu.length - 1; b>=0; b--) {
    menu.options[b]=null;
    menu.remove(b);
  }
}

function valori_select_to_array(menu){
  v_array=new Array();
  for (var i = 0;i<document.getElementById(menu).options.length; i++) {
    v_array[i]=document.getElementById(menu).options[i].value;
  }
  return v_array;
}

function testi_select_to_array(menu){
  v_array=new Array();
  for (var i = 0;i<document.getElementById(menu).options.length; i++) {
    v_array[i]=document.getElementById(menu).options[i].text;
  }
  return v_array;
}

function aggiungi_voce_al_select(menu,voce,valore){
  var opt = document.createElement("option");
  document.getElementById(menu).options.add(opt);
  opt.text =voce;
  opt.value =valore;
}

function aggiungi_array_al_select(menu,voce,valore,sel){
for (var i=0;i<valore.length;i++) {
  var opt = document.createElement("option");
  document.getElementById(menu).options.add(opt);
  opt.text =voce[i];
  opt.value =valore[i];
  if(sel==i) document.getElementById(menu).options[i].selected=true;
    else document.getElementById(menu).options[i].selected=false;
  }
}

