var W3CDOM = (document.createElement && document.getElementsByTagName);


function initFileUploads() {
	/** ATTENZIONE
	*  workaround  necessario, altrimenti se si caricano file
	*  troppo grandi (non gestiti da apache che interrompe
	*  il caricamento) e si preme il back del browser, il js
	*  ha ancora in memoria il file che ad un reload della pagina
	*  viene immediatamente reinviato
	*  ripetendo in maniera ricorsiva il meccanismo illustrato.
	*/
	var inputVero = document.getElementById('caricaFile');
	if(inputVero)
	inputVero.value = '';

	if (!W3CDOM) return;

	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
    var inputFake = document.createElement('input');
	fakeFileUpload.appendChild(inputFake);
	var image = document.createElement('img');
	image.src='/assicurazioni/img/allega.gif';
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].parentNode.className != 'fileinputs') continue;
		x[i].className = 'file';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];

		x[i].onchange = function () {
                this.relatedElement.value = this.value;

                if(this.value != null && this.value != "")
		             document.getElementById('reloadUpload').click();
		}

	}




	var referer = document.referrer.split('.jhtml');
	var ref = referer[0];

	var pageurl = window.location.href.split('.jhtml');
	var pagurl = pageurl[0];

	if(pagurl == ref) {
  window.location.hash = "ancora";
  }
}

function mostraFormAllegati(nomeElemento){
	document.getElementById(nomeElemento).style.display = 'block';
}
function valutaVisibilitaFormAllegati(nomeElemento){
	 //TODO valutazione input + check + span class="allegato"
	 var divAllegati = document.getElementById(nomeElemento);
	 var inputs = divAllegati.getElementsByTagName('input');
     for(i=0;i<inputs.length;i++){
	       var cur = inputs[i];
	       if(cur.type == 'text' && cur.value != ''){
	          mostraFormAllegati(nomeElemento);
	          return;
	       }else if(cur.type == 'checkbox' && cur.checked){
	          mostraFormAllegati(nomeElemento);
	          return;
	       }
     }

     //gestione caso di campi non valorizzati ancora, ma errore nell'upload. Non ho ancora dei dati ma devo
     //mostrare l'errore
     var divs = divAllegati.getElementsByTagName('div');
      for(i=0;i<divs.length;i++){
	       var cur = divs[i];
	       if(cur.id == 'errori'){
	          mostraFormAllegati(nomeElemento);
	          return;
	       }
     }
}

