function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function setCheckboxes(the_form, the_field, do_check)
{
    var elts      =  typeof(document.forms[the_form].elements[the_field]);
    var elts_cnt  = typeof(elts.length);

    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            elts[i].checked = do_check;
        } // end for
    } else {
        elts.checked        = do_check;
    } // end if... else

    return true;
} // end of the 'setCheckboxes()' function



function set_cookie(name, value)
{
	document.cookie= name + "=" + escape(value);
}

function get_cookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);

	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0)
		{
			return null;
		}
	}
	else
	{
		begin += 2;
	}

	var end = document.cookie.indexOf(";", begin);

	if (end == -1)
	{
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}

function set_nodes_status()
{
	var divs = document.getElementsByTagName('div');
	var ids_str = '';

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			if (divs[i].style.display == '')
			{
				var id = divs[i].id.substring(3, divs[i].id.length);
				ids_str = ids_str + '[' + id + ']';
			}
		}
	}				
	set_cookie('node_status', ids_str);
}

function init_menu_nodes()
{
	var ids_str = get_cookie('node_status');
	var divs = document.getElementsByTagName('div');

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			var id = divs[i].id.substring(3, divs[i].id.length);

			if (ids_str.indexOf('[' + id + ']') != -1)
			{							
				var theImg = document.getElementById('img' + id);
					
				divs[i].style.display = '';
				theImg.src = 'img/down.gif';
			}
		}
	}				
}

function ocopen(node)
{
	var theDiv = document.getElementById('div' + node);
	var theImg = document.getElementById('img' + node);
	
	if (theDiv.style.display == 'none')
	{
		theDiv.style.display = '';
		theImg.src = 'img/down.gif';
	}
	else
	{
		theDiv.style.display = 'none';
		theImg.src = 'img/next.gif';
	}
	set_nodes_status();
}

function close_all()
{
	var divs = document.getElementsByTagName('div');

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			var id = divs[i].id.substring(3, divs[i].id.length);
			var theImg = document.getElementById('img' + id);
					
			divs[i].style.display = 'none';
			theImg.src = 'img/next.gif';
		}
	}
	set_nodes_status();
}      
//------------------------------------

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

function emailCheck (emailStr)
{
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
 	alert("L'indirizzo e-mail inserito è scorretto ")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) {
    alert("Inserire il nome utente della mail.")
    return false
}
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("L'indirizzo ip di destinazione è invalido!")
		return false
	    }
    }
    return true
}
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("Il nome del domino è scorretto.")
    return false
}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   alert("L'indirizzo deve terminare con due o tre lettere indicanti il dominio.")
   return false
}
if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   return false
}
return true;
}

function zoom(file) {
var finestra = null;
bName=navigator.appName;
finestra=window.open('../scripts/img.php?file='+file,'zoom','toolbar=no,location=no,directories=no,status=no,scrollbars=no,menubar=no,resizable=yes,width=50,height=50');
finestra.focus();
}

function dettagli(id,file) {
var finestra = null;
bName=navigator.appName;
finestra=window.open('newsletter/'+file+'.php?id='+id,'','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,width=500,height=350');
if (bName=="Netscape") { finestra.focus(); }
}

function apriPopupCentrata(nome, titolo, lar, alt, feat){
        var wdt = screen.width;
        var hgt = screen.height;
        var x = Math.round( (wdt / 2) - (lar / 2) );
        var y = Math.round( (hgt / 2) - (alt / 2) );
        window.open(nome, titolo, 'width=' + lar + ',height=' + alt + ',left=' + x + ',screenX=' + x + ',top=' + y + ',screenY=' + y + ',' + feat);
}

function guida(dir,file) {
    var guida = null;    

    x_g=300;
    x=screen.availWidth-x_g;
    y=screen.availHeight;
    self.moveTo(0,0);
    self.resizeTo(x-10,y);

    guida=window.open('guida.php?file='+file+'&dir='+dir,'guida','toolbar=yes,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,width='+x_g+',height='+y+',left='+(x));
    guida.focus();

}

function loadGuida(dir,file) {
    guida.location='guida.php?file='+file+'&dir='+dir;
}

function cancella(url)
{
if (confirm("Confermi la cancellazione?")){
 redir(url);
 return true;
 }
return false;
}

function conferma(txt)
{
if (confirm(txt)){
 return true;
 }
return false;
}

function nuovalingua(id) {
  var url = String(window.location) ;
  set_cookie('lang', id);
  var index2 = url.indexOf('#');
	
  a=url.split('#');
  url=a[0];
  
  var index = url.indexOf('?');
  
  
  conc=(index == -1)?"?":"&";
  //conc2=(a[1] <>'')?"#"+a[1]:"";  
  
  
  url = url + conc+"lang="+id;
  //alert (url);
  window.location=url;
}

function redir(url){
	window.location=url;
}


// -----------------------------------------------------------------------------
// --- Controllo dei dati nel form di richiesta informazioni
// -----------------------------------------------------------------------------
function controllo_richiesta()
{	
	var risultato = true;
	var ragione_sociale = document.forms['informazioni'].ragione.value;
	var nome 			= document.forms['informazioni'].nome_.value;
	var cognome 		= document.forms['informazioni'].cognome_.value;
	var telefono 		= document.forms['informazioni'].telefono_.value;
	var email 			= document.forms['informazioni'].email_.value;
	
	if (ragione_sociale == '')
	{
		document.getElementById('td_ragione').style.color = '#FF0033';
		document.getElementById('td_ragione').style.fontWeight = 'bold';
		risultato = false;
	}
	else
	{
		document.getElementById('td_ragione').style.color = '';
		document.getElementById('td_ragione').style.fontWeight = '';
	}
	if (cognome == '')
	{
		document.getElementById('td_cognome').style.color = '#FF0033';
		document.getElementById('td_cognome').style.fontWeight = 'bold';
		risultato = false;
	}
	else
	{
		document.getElementById('td_cognome').style.color = '';
		document.getElementById('td_cognome').style.fontWeight = '';
	}
	
	if (nome == '')
	{
		document.getElementById('td_nome').style.color = '#FF0033';
		document.getElementById('td_nome').style.fontWeight = 'bold';
		risultato = false;
	}
	else
	{
		document.getElementById('td_nome').style.color = '';
		document.getElementById('td_nome').style.fontWeight = '';
	}

	var tel_re = /^\d+$/;
	if ((telefono == '') || (!telefono.match(tel_re)))
	{
		document.getElementById('td_telefono').style.color = '#FF0033';
		document.getElementById('td_telefono').style.fontWeight = 'bold';
		risultato = false;
	}
	else
	{
		document.getElementById('td_telefono').style.color = '';
		document.getElementById('td_telefono').style.fontWeight = '';
	}

	var email_re = /^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/;
  if ((email == '') || (!email.match(email_re)))
	{
		document.getElementById('td_email').style.color = '#FF0033';
		document.getElementById('td_email').style.fontWeight = 'bold';
		risultato = false;
	}
	else
	{
		document.getElementById('td_email').style.color = '';
		document.getElementById('td_email').style.fontWeight = '';
	}
	
	if (risultato == false)
	{
		alert('Sono stati rilevati dei campi non validi. Ricontrollare i campi evidenziati in rosso.');
	}

	return risultato;
}
// -----------------------------------------------------------------------------

/*FUNZIONI ANDREA*/
function trim(stringa){
    return stringa.replace(/^\s+|\s+$/g,"");
    return stringa;
}

function spostaTemplate(nomeFile, urlSito){
	//e concludo aggiornando le src delle anteprime sulla pagina.
	currId 	= parent.document.getElementById("id").value;
	//ricerco la tabella di ordinamento
	currDir = parent.document.getElementById("dir").value;
	//compongo l'url per la chiamata ajax
	urlPhp = urlSito +"blocco.php?dir="+ currDir +"&file=sposta_template&nomeFile=" + nomeFile;
	//infine faccio una chiamata AJAX per aggiornare il DB col nuovo file 
	if (window.XMLHttpRequest){
		richiestaAjax = new XMLHttpRequest();
		richiestaAjax.onreadystatechange = concludiSpostaTemplate;
		richiestaAjax.open("GET", urlPhp);
		richiestaAjax.send(null);
	} 
	// versione ActiveX (es. Internet Explorer)	
	else if (window.ActiveXObject) {
		richiestaAjax = new ActiveXObject("Microsoft.XMLHTTP");
		if (richiestaAjax){
			richiestaAjax.onreadystatechange = concludiSpostaTemplate;
			richiestaAjax.open("GET", urlPhp);
			richiestaAjax.send();
		}
	}	
}

function concludiSpostaTemplate(){
	if (richiestaAjax.readyState == 4){	 
		//ricavo le risposte dalla pagina php
		nomeFile = richiestaAjax.responseText;
		//recupero la select
		var elSel = parent.document.getElementById('templateFile');
		//creo una nuova opzione
		var nuovaOpz 	= document.createElement('option');
		//assegno testo e valore
		nuovaOpz.text 	= nomeFile;
		nuovaOpz.value 	= nomeFile;
		//aggiungo la voce alla select
		try {
			elSel.add(nuovaOpz, null); // standards compliant; doesn't work in IE
		}
		catch(ex) {
			elSel.add(nuovaOpz); // IE only
		}
	}
}
function spostaImport(nomeFile, urlSito){
	//e concludo aggiornando le src delle anteprime sulla pagina.
	currId 	= 0;
	//ricerco la tabella di ordinamento
	currDir = "prodotti";
	//compongo l'url per la chiamata ajax
	urlPhp = urlSito +"blocco.php?dir="+ currDir +"&file=sposta_import&nomeFile=" + nomeFile;
	//infine faccio una chiamata AJAX per aggiornare il DB col nuovo file 
	if (window.XMLHttpRequest){
		richiestaAjax = new XMLHttpRequest();
			richiestaAjax.onreadystatechange = concludiSpostaImport;
		richiestaAjax.open("GET", urlPhp);
		richiestaAjax.send(null);
	} 
	// versione ActiveX (es. Internet Explorer)	
	else if (window.ActiveXObject) {
		richiestaAjax = new ActiveXObject("Microsoft.XMLHTTP");
		if (richiestaAjax){
			richiestaAjax.onreadystatechange = concludiSpostaImport;
			richiestaAjax.open("GET", urlPhp);
			richiestaAjax.send();
		}
	}	
}
function concludiSpostaImport(){
	if (richiestaAjax.readyState == 4){	 
		//ricavo le risposte dalla pagina php
		alert(richiestaAjax.responseText);
	}
}
/*
Questa funzione viene invocata direttamente dal file 
PERL dopo che è stato eseguito l'upload vero e proprio, 
e si occupa di completare la procedura modificando il DOM
mostrando anteprime e quant'altro.
Parametri: 	"nomeFile" nome del file appena caricato, 
			"nomeSlot" nome dello slot di upload corrente,
			"urlSito" URL del sito corrente (http://www.demo.beeweb.it/stelo/)
Ritorno:	niente
*/
function concludiUpload(nomeFile, nomeSlot, urlSito){
	
  	nomeSlotHid 	= nomeSlot + "_hid";
	nomeSlotImg 	= nomeSlot + "_img";
	nomeSlotSize 	= nomeSlot + "_size";
	nomeSlotNoImg 	= nomeSlot + "_noImg";
	nomeSlotDel 	= nomeSlot + "_del";
	nomeSlotMax 	= nomeSlot + "_max";
	nomeSlotTemp	= nomeSlot + "_temp";
	nomeSlotLoad	= nomeSlot + "_loading";
	nomeSlotImport	= nomeSlot + "_import";
	//riattivo la form di caricamento
	var nomeUpload = nomeFile;
	//svuoto il testo nel campo file di caricamento
	parent.document.getElementById(nomeSlot).value = '';
	if(parent.document.getElementById(nomeSlotImport)!= null){
		spostaImport(nomeFile, urlSito);	 
		return;
	}
	//STAMPO L'ANTEPRIMA: SOLO SE SI TRATTA DI UN IMMAGINE (lo ricavo dal div per le anteprime nel template)
	if (parent.document.getElementById(nomeSlotImg) != null){
		//verifico la presenza dell'immagine per il caricamento e la mostro per dare feedback all'utente
		if(parent.document.getElementById(nomeSlotLoad)){
			parent.document.getElementById(nomeSlotLoad).style.display = "block";
		}
//estraggo i size da un div creato apposta nel template
		size = parent.document.getElementById(nomeSlotSize).innerHTML;
		//il parametro urlSito è definito nel file config generale e eviene passato dall PERL
		resizeImg(nomeFile, size, urlSito, nomeSlot);
	}
	//viceversa stampo una semplice lista di nomi e tasti per l'eliminazione
	else{
		//estraggo eventuali file caricati in precedenza
		if(parent.document.getElementById(nomeSlotTemp)){
			parent.document.getElementById(nomeSlot).disabled = false;
			spostaTemplate(nomeFile, urlSito);
		}else{
			fileCaricati = parent.document.getElementById(nomeSlotHid).value;
			if (fileCaricati != ''){
				fileCaricati = fileCaricati + ','
			}
			//concateno l'ultimo file caricato
			fileCaricati = fileCaricati + nomeFile
			//assegno il value del campo hidden
			parent.document.getElementById(nomeSlotHid).value = fileCaricati;
			//compongo e mostro l'html delle immagini caricate
			parent.document.getElementById(nomeSlotNoImg).innerHTML = parent.document.getElementById(nomeSlotNoImg).innerHTML + "<div id=\"" + nomeFile + "\">" + nomeFile + "</div><input class=\"miniButton\" type='button' id='" + nomeFile + "_del' value=\"Elimina\" onclick=\"azzeraElemento('"+ nomeSlot +"', '"+ nomeFile +"');\" />";
			
			//carico il numero massimo di upload e ricavo il numero di file già caricati
			nMaxUpload = parent.document.getElementById(nomeSlotMax).value;
			tempArr = parent.document.getElementById(nomeSlotHid).value.split(",");
			nUpload = tempArr.length
			
			parent.document.getElementById(nomeSlot).disabled = true;
			if (nUpload < nMaxUpload){
				parent.document.getElementById(nomeSlot).disabled = false;
			}
		}
	}
	/*
	
	*/
}

/*
Questa funzione effettua una chiamata AJAX per eseguire il resize  delle immagini in modo asincrono.
Parametri: 	"nomeFile" nome del file appena caricato, 
			"size" array contenente le variabili di resize (attualmente sono supportati 2 o 4 valori),
			"urlSito" URL del sito corrente (http://www.demo.beeweb.it/stelo/)
Ritorno:	su completamento della richiesta viene richiamata la funzione completaSrcAnteprima()
*/
var globalUrlSito;
var globaNomeSlot
function resizeImg(nomeFile, size, urlSito, nomeSlot) {
	globalUrlSito = urlSito;
	globaNomeSlot = nomeSlot;
	urlPhp = urlSito + "resize_img.php?nomeFile=" + nomeFile + "&size=" + size;
	if (window.XMLHttpRequest){
		richiestaAjax = new XMLHttpRequest();
		if(nomeSlot == "upfile_1_media"){
			//visto che carico sempre una sola immagine per volta inserisco 
			//direttamente il nome del file nel campo hidden
			parent.document.getElementById(nomeSlotHid).value = nomeFile;
			richiestaAjax.onreadystatechange = completaSrcAnteprimaMedia;
		}else{
			richiestaAjax.onreadystatechange = completaSrcAnteprima;
		}
		richiestaAjax.open("GET", urlPhp);
		richiestaAjax.send(null);
	} 
	// versione ActiveX (es. Internet Explorer)	
	else if (window.ActiveXObject) {
		richiestaAjax = new ActiveXObject("Microsoft.XMLHTTP");
		if (richiestaAjax){
			if(nomeSlot == "upfile_1_media"){
				//visto che carico sempre una sola immagine per volta inserisco 
				//direttamente il nome del file nel campo hidden
				parent.document.getElementById(nomeSlotHid).value = nomeFile;
				richiestaAjax.onreadystatechange = completaSrcAnteprimaMedia;
			}else{
				richiestaAjax.onreadystatechange = completaSrcAnteprima;
			}
			richiestaAjax.open("GET", urlPhp);
			richiestaAjax.send();
		}
	}
}

var arrValoriTemp;
function completaSrcAnteprima(){	
	if (richiestaAjax.readyState == 4){	 
		//ricavo le risposte dalla pagina php
		strRes = richiestaAjax.responseText;
		if (strRes != ""){
			arrValori 	= strRes.split("|");
			arrValoriTemp = arrValori;
			//verifico la presenza dell'immagine per il caricamento e la mostro per dare feedback all'utente
			if(parent.document.getElementById(nomeSlotLoad)){
				parent.document.getElementById(nomeSlotLoad).style.display = "none";
			}
			//e concludo aggiornando le src delle anteprime sulla pagina.
			currId 	= parent.document.getElementById("id").value;
			//ricerco la tabella di ordinamento
			currDir = parent.document.getElementById("dir").value;
			//compongo l'url per la chiamata ajax
			urlPhp = globalUrlSito +"blocco.php?dir="+ currDir +"&file=carica_img&nomeFile=" + arrValori[1] +"&id=" + currId +"&table=" + parent.currTab;
			
			//infine faccio una chiamata AJAX per aggiornare il DB col nuovo file 
			if (window.XMLHttpRequest){
				richiestaAjax = new XMLHttpRequest();
				richiestaAjax.onreadystatechange = tempfunc;
				richiestaAjax.open("GET", urlPhp);
				richiestaAjax.send(null);
			} 
			// versione ActiveX (es. Internet Explorer)	
			else if (window.ActiveXObject) {
				richiestaAjax = new ActiveXObject("Microsoft.XMLHTTP");
				if (richiestaAjax){
					richiestaAjax.onreadystatechange = tempfunc;
					richiestaAjax.open("GET", urlPhp);
					richiestaAjax.send();
				}
			}
		}
	}
}

function tempfunc(){
	if (richiestaAjax.readyState == 4){	 
		//ricavo le risposte dalla pagina php
		nomeDefinitifoImg = richiestaAjax.responseText;
		//estraggo la tabella di ordinamento
		var tbl = parent.document.getElementById('tabella_ordine');
		//estraggo la dir corrente
		currDir = parent.document.getElementById("dir").value;
		//ricavo il numero dell'ultima riga della tabella
		var lastRow = tbl.rows.length;
		//inserisco una nuova riga nella tabella
		var row 	= tbl.insertRow(lastRow);
		//definisco alcuni attributi della riga
		row.setAttribute("id", nomeDefinitifoImg);
		row.setAttribute("class", nomeDefinitifoImg);
		//inserisco due nuove colonne nella riga
		rigaSx = row.insertCell(0);
		rigaDx = row.insertCell(1);
		//inserisco i nuovi contenuti nelle due colonne (anteprima e tasto elimina)
		rigaSx.innerHTML = '<img src="'+ arrValoriTemp[0] + currDir +"/immagini/piccola_"+ nomeDefinitifoImg +'?'+Math.random()+'" id="'+ nomeDefinitifoImg +'_old" border="0" /></td><td valign="bottom">';
		rigaDx.innerHTML = '<input class="miniButton" type="button" id="'+ nomeDefinitifoImg +'_del" value="Elimina" onclick="azzeraElemento(\'upfile_1\', \''+ nomeDefinitifoImg +'\', \'tabella_ordine\', \''+ currDir +'\');" />';
		//ora devo refreshare la funzione per il drag and drop
		parent.dndTabella();
		/*GESTIONE HIDDEN*/
		nomeSlotMax = globaNomeSlot + "_max";
		nomeSlotHid = globaNomeSlot + "_hid";
		//estraggo eventuali file caricati in precedenza
		fileCaricati = parent.document.getElementById(nomeSlotHid).value;
		if (fileCaricati != ''){
			fileCaricati = fileCaricati + ','
		}
		//concateno l'ultimo file caricato
		fileCaricati = fileCaricati + nomeDefinitifoImg
		//assegno il value del campo hidden
		parent.document.getElementById(nomeSlotHid).value = fileCaricati;
		
		//carico il numero massimo di upload e ricavo il numero di file già caricati
		nMaxUpload = parent.document.getElementById(nomeSlotMax).value;
		tempArr = parent.document.getElementById(nomeSlotHid).value.split(",");
		nUpload = tempArr.length
		parent.document.getElementById(globaNomeSlot).disabled = true;
		if (nUpload < nMaxUpload){
			parent.document.getElementById(globaNomeSlot).disabled = false;
		}
	}
}

function completaSrcAnteprimaMedia(){
	if (richiestaAjax.readyState == 4){	 
		//ricavo le risposte dalla pagina php
		strRes = richiestaAjax.responseText;
		if (strRes != ""){
			arrValori 	= strRes.split("|");
			parent.document.getElementById('azione').value = "salva_immagini";
			parent.document.getElementById('uu_upload').submit();
		}
	}
}

/*
Questa funzione si occupa della cancellazione di un file appena caricato. In pratica prima agisco sul DOM e successivamente tramite AJAX effettuo la cancellazione fisica del file caricato
Parametri: 	"idCampo" id del campo da eliminare, 
			"nomeFile" nom del file da eliminare.
Ritorno:	nessuno.
*/
function azzeraElemento(idCampo, nomeFile, mod, dir){
	if(confirm("Vuoi davvero cancellare l'elemento selezionato?")){
		nomeSlotHid 	= idCampo + "_hid";
		nomeSlotNoImg 	= idCampo + "_noImg";
		nomeSlotDel 	= idCampo + "_del";
		nomeSlotMax 	= idCampo + "_max";

		if(mod){
			currId 	= parent.document.getElementById("id").value;
			nomeSlotImg = idCampo + "_img_mod";
			urlPhp 		= "dir="+ dir +"&file=cancella_alg&mod=true&nomeFile="+ nomeFile +"&table="+ currTab +"&id="+ currId;
		}else{
			nomeSlotImg = idCampo + "_img";
			urlPhp 		= "dir="+ dir +"&file=cancella_alg&nomeFile=" + nomeFile;
		}
		//alert(urlPhp);
		//Devo eliminare l'anteprima e svuotare il campo hidden dell'immagine in questione
		//ricavo il campo hidden corrente
		hiddenCorrente = document.getElementById(idCampo + '_hid').value;
		//misuro la lunghezza dell'hidden per accorgermi quando viene rimossa una voce
		lungOriginale = hiddenCorrente.length;
		//rimuovo dal campo hidden il campo che sto cancellando (seguito da virgola, preceduto da virgola oppure pulito)
		hiddenCorrente = hiddenCorrente.replace(nomeFile + ",", "");
		if (lungOriginale == hiddenCorrente.length){
			hiddenCorrente = hiddenCorrente.replace("," + nomeFile, "");
		}
		if (lungOriginale == hiddenCorrente.length){
			hiddenCorrente = hiddenCorrente.replace(nomeFile,"");
		}
		//assegno la nuova stringa al campo hidden
		document.getElementById(nomeSlotHid).value = hiddenCorrente 
		//seleziono il div a seconda del caso...
		if (parent.document.getElementById(nomeSlotImg) != null){
			divCorrente = document.getElementById(nomeSlotImg)
		}
		else{
			divCorrente = document.getElementById(nomeSlotNoImg)
			urlPhp = urlPhp + "&noImg=true"
		}
		//procedo con l'eliminazione dell'immagine e del tasto elimina
		
		if(mod == "tabella_ordine"){
			var tr = document.getElementById(nomeFile);
			tr.parentNode.removeChild(tr);
		}
		else {
			if(mod){
				divCorrente.removeChild(document.getElementById(nomeFile + "_old"));
			}
			else{
				divCorrente.removeChild(document.getElementById(nomeFile));
			}
			divCorrente.removeChild(document.getElementById(nomeFile + '_del'))
		}
		
		//ora mi occupo di riattivare (se necessario) il campo file
		nMaxUpload = parent.document.getElementById(nomeSlotMax).value;
		tempArr = parent.document.getElementById(nomeSlotHid).value.split(",");
		nUpload = tempArr.length
		//disabilito la barra di upload, solo in caso la riabilito
		parent.document.getElementById(idCampo).disabled = true;
		if (nUpload < nMaxUpload || tempArr[0] == ""){
			parent.document.getElementById(idCampo).disabled = false;
		}
		//alert(urlPhp);
		//infine faccio una chiamata AJAX per eliminare fisicamente il file dalla cartella temporanea
		$.ajax({
			type: "GET",
			url: "blocco.php?",
			data: urlPhp,
			success: function(msg){
				//alert(msg);
			}
		});
	}
}

function creaCartellaMedia(){
	parent.document.getElementById('azione').value = "crea_cartella";
	parent.document.getElementById('uu_upload').submit();
}
function cancellaMedia(path){
	if(confirm("Vuoi davvero cancellare l'elemento selezionato?")){
		parent.document.getElementById('azione').value = "cancellazione";
		parent.document.getElementById('daCancellare').value = path;
		parent.document.getElementById('uu_upload').submit();
	}
}
/*
Questa funzione si occupa di modificare il valore di un campo ed eventualmente effettuare il submit della form
Parametri: 	"idCampo" id del campo da modificare, 
			"nuovaAzione" nuovo valore da inserire nel campo.
			"submitForm" nome dell'id della form da submittare 
			(se il campo è vuoto non viene effettuato il submit)
Ritorno:	nessuno.
*/
function modificaAzioneForm(idCampo, nuovaAzione, submitForm){
	
	document.getElementById(idCampo).value = nuovaAzione;
	if(submitForm != ""){
		document.getElementById(submitForm).submit();	
	}
}
/*FINE FUNZIONI ANDREA*/
