var DIPENDENZA=new Array();

function esisteElementoDip(nome){
  var c=false;
  for(var i in DIPENDENZA){
  	if(i==nome){
  		c=true;
  	}
  }
  return c;
}

function esisteCampoDip(chiave,nome){
  var c=false;
  for(var i in DIPENDENZA[chiave]){
  	if(i==nome){
  		c=true;
  	}
  }
  return c;
}


function setElementiDip(chiave,campo,valore1,valore2,codice){
	if(!esisteElementoDip(chiave)){
		DIPENDENZA[chiave]=new Array();
		DIPENDENZA[chiave][campo]=new Array();
		DIPENDENZA[chiave][campo][0]=valore1;
		DIPENDENZA[chiave][campo][1]=valore2;
		DIPENDENZA[chiave][campo][2]=codice;
	}else{
		if(!esisteCampoDip(chiave,campo)){
			DIPENDENZA[chiave][campo]=new Array();
			DIPENDENZA[chiave][campo][0]=valore1;
			DIPENDENZA[chiave][campo][1]=valore2;
			DIPENDENZA[chiave][campo][2]=codice;
		}else{
			DIPENDENZA[chiave][campo][DIPENDENZA[chiave][campo].length]=valore1;
			DIPENDENZA[chiave][campo][DIPENDENZA[chiave][campo].length]=valore2;
			DIPENDENZA[chiave][campo][DIPENDENZA[chiave][campo].length]=codice;
		}
	}
}

function getElementiDip(chiave){
  if(!esisteElementoDip(chiave)){
  	return false;
  }else{
  	return DIPENDENZA[chiave];
  }
}


function cercaCodDip(origine,dest,cod){
  var c=new Array();
  var j=0;
  for(i=0;i<DIPENDENZA[origine][dest].length;i=i+3){
	if(DIPENDENZA[origine][dest][i+2]==cod){
		c[j]=DIPENDENZA[origine][dest][i];
		c[j+1]=DIPENDENZA[origine][dest][i+1];
		j=j+2;
	}

  }
  return c;
}



function eseguiDipSelect(chiave,campo,cod){
	var dest="";
	if((dest=document.getElementById(campo))){
  		dest.options.length=0;
    	dest.options[0]=new Option("          ",-7);
		var app=cercaCodDip(chiave,campo,cod);
		k=1;
		for(j=0;j<app.length;j=j+2){
	   		dest.options[k]=new Option(app[j+1],app[j]);
			//alert(app[j+1]+"  "+app[j]);
      		k++;
    	}
  		dest.selectedIndex=0;
		dest.onchange();
	}
}



function eseguiDipText(chiave,campo,cod){
	var app="";
	if((app=document.getElementById(campo))){
		if(cod!="-7"){
			var app2=cercaCodDip(chiave,campo,cod);
			app.value=app2[1];
			//alert(app2[1]);			
		}else{
			app.value="";
		}
	}
}


function eseguiDip(chiave){
	var campiDip=getCampiDip(chiave.id);
	var i=0;
	for(i=0;i<campiDip.length;i++){
			var app=document.getElementById(campiDip[i]);
		if(app){
			if(app.type=="text" || app.type=="hidden" || app.type=="textarea"){
				eseguiDipText(chiave.id,campiDip[i],chiave.value);
			}else{
				eseguiDipSelect(chiave.id,campiDip[i],chiave.value);			
			}
		}
	}	
}

function getCampiDip(chiave){
  var c=new Array();
  var j=0;
  for(var i in DIPENDENZA[chiave]){
	c[j]=i;
	j++;
  }
  return c;
}


function vediVet(vet){
	var ris="";
	for(i=0;i<vet.length;i++){
		ris+="  "+vet[i];
	}
	alert(ris);
}



