var currPrefixDB=""
var nCurCol=1
var bSceltaMultipla=0
var nColonne=1
var sNomeRadio=""
var aTabFmts=[]
var inTABLE=false
var inTR=false;
var nIperTabCurCol=0
var nIperTabCols=0
var nPuls=0
var nSpans=0
var DimIperTabCols=[]

function AzzeraSettaggi() 
{   aTabFmts=[]
	nNumCampo=0
	inTABLE=0
}

function doTD(bRight)
{	var z="<TD "
	if (bRight) z+= "style='text-align:right;' "
	 if (nSpans) z+="colspan="+nSpans+" "
	 nSpans=0
	 return z
}

function SPAN(n){nSpans=n}

function IPERTAB(n){var x=ChiudiTABLE();
if (typeof n=='object'){DimIperTabCols=n;nIperTabCols=n.length;}
else { nIperTabCols=n;DimIperTabCols.length=parseInt(n); for (var i=0;i<n;i++)DimIperTabCols[i]=100/n}
nIperTabCurCol=0;
return x.length?x:'&nbsp;'
}

function IPERTAB_xxxxx(n){var x=ChiudiTABLE();nIperTabCols=n;nIperTabCurCol=0;return x.length?x:'&nbsp;'}

function ChiudiTABLE() 
{   var z=""
	if(inTR)z+="</tr>"
	if(inTABLE)
	{	z+="</table>"
		if (nIperTabCols && (nIperTabCurCol>=nIperTabCols))
		{	z+="</td></tr></table>"
			nIperTabCols=0
		}
	}
	inTABLE=false
    inTR=false
	return z
}

function ApriTABLE(interruz,wid,nCol,allin,tit,stile) 
{   var z=ChiudiTABLE()+(interruz?"<br>":"")
	if (nIperTabCols)
	{	if (nIperTabCurCol==0)z+='<table border=1 width='+wid+'% class="STY_4"><tr>'
		else
		{	///THUY
			if(nIperTabCurCol>0 && inTABLE)z+="</table>"
			z+="</td>"
		}
		///// colonne uguali!!!
		z+=doTD()+'style="border-style:dotted; width:'+(DimIperTabCols[nIperTabCurCol])+'%; vertical-align:top;border-color:#8888ff">'
		nIperTabCurCol++
	}
	var al=allin.toUpperCase()
	var a=(al=="DESTRA"?"right":(al=="SINISTRA")?"left":"center")
	inTABLE=true;
	nCurCol=nColonne=nCol
 	return z+'<table width='+wid+'% class="STY_4"><tr><td colspan='+nCol+' class="'+(tit?stile:'STY_99')+'" align='+a+'>'+tit+'</td></tr>'
}

function aCapo() 
{   var z= (inTR?"</tr><tr>":"<tr>")
    inTR=1
	return z
}

function InColonna(t)
{	nCurCol++
	if (nCurCol>nColonne)
	{	nCurCol=1
		return aCapo() 
	}
	return""
}


//var theEvent='verifica(this.name,this.value, event);salvaEdit(this);return true;'

var theEvent='doEvent(this,event);return true;'


function mkClick(){ return ' onClick="'+theEvent+'"'}		
function mkKeyUp(){ return ' onKeyUp="'+theEvent+'"'}
function mkEvents(x){return mkChange(x)+mkKeyUp()+mkClick()}
function mkChange(x){return ' onChange="'+(x?x:"")+theEvent+'"'}	

function OPZIONE(val,testo) 
{	var z=InColonna()
	var s="radio"
	var nc=sNomeRadio
	if(bSceltaMultipla){s="checkbox";nc+="_"+(++nNumCampo)}
	z+=doTD()+'width="'+(100/nColonne)+'%"><input style="background-color:transparent;" type="'+s
	+'" name='+nc+' value="'+val+'"'+mkClick()+'>'+testo+'</td>'
	return z
}

function TITOLI_TABELLA()
{	var ar=TITOLI_TABELLA.arguments
	var z='<tr>'
	for (var i=0;i<ar.length;i++){z+='<td><b>'+ar[i]+'</b></td>'}
	return z+'</tr>'
}

function TITOLO_RIGA()
{	 var aa=TITOLO_RIGA.arguments
     var ar=aTabFmts
	 var ofs=0
	 if (aa.length==(1+ar.length))
	 { currPrefixDB=aa[0].toUpperCase() 	
       nNumCampo=0
	   ofs=1
     }
 	var z='<tr>'
	for (var i=0;i<ar.length;i++)
	{	var x="",nm=''
		var t=ar[i]
		if (t[0]=='DOMANDA')x=aa[i+ofs]
		else 
		{   if (t[0]!='CERCHIO' || i==0 || ar[i-1][0]!='CERCHIO') nNumCampo++
			nm=currPrefixDB+"_"+(nNumCampo)	
			if (t[0]=='CERCHIO')x+='<input style="background-color:transparent;" type="radio" name='+nm+' value="'+(t[3]?t[3]:'')
			+mkClick()+'>'+aa[i+ofs]
			
	
			else if (t[0]=='ALFA+NO')
			{	zNoControl="SetValue('"+nm+"',trovaValoreCampo('PARTITA_IVA'));"
				sd=' id='+nm+' value="" ';
				var idp=nm+"_P"
				x+='<a id='+idp+' name='+idp+ ' onclick="'+zNoControl+'return false;"><img style="cursor:pointer;vertical-align:middle;" src=imgX/idem.gif border=0></sub></a>'
				x+='<input name='+nm+' type="text" size='+t[2]+' maxlength='+t[3]+mkEvents()+'>'
			}
			else if ((t[0]=='ALFA_NOEDIT')) x+='<input DISABLED name='+nm+' type="text" size='+t[2]+' maxlength='+t[3]+mkEvents()+'>'
			else if ((t[0]=='ALFA')||(t[0]=='NUM')) x+='<input name='+nm+' type="text" size='+t[2]+' maxlength='+t[3]+mkEvents()+'>'
			else if (t[0]=='QUAD') x+='<input style="background-color:transparent;" type="checkbox" name='+nm+' value="'+(t[1]?t[1]:'1')
			+'"'+mkClick()+'>'
			else if (t[0]=='UM')x+=aa[i+ofs]
		}
		z+='<td id=T_'+nm+' valign=bottom>'+(t[1]?'* ':'')+x+'</td>'
	}
	return z+'</tr>'
}


function FORMATI_INPUT_TABELLA()
{   var ar=FORMATI_INPUT_TABELLA.arguments
	aTabFmts=ar
	return '&nbsp;'
}

function INIZIO_LISTA(dimc,pos,ar_input,nome,testo,repl)
{	var n=nome.toUpperCase()
	descrZ[n]=testo
	var z=repl?"":InColonna()
	var lmin=ar_input[1],lmax=ar_input[2],dimb=ar_input[3]
	z+=repl?testo:doTD()+' valign=top id=T_'+n+' width='+dimc+'%>'+(testo?testo:n)
	if (Math.abs(lmin)>0) z+='<span id="SC_'+n+'"> *</span>'
	if (pos=='Sopra') z+='<br>'
	else z+='&nbsp;'
	/*xxxELSxxx*/
	if (lmin != 0)
	{	if (!cBC[n])cBC[n]=[]
		cBC[n][n] = ["trovaValoreCampo('"+n+"', 'S') != ''", true, n]
	}
	/*xxxELExxx*/
	var zct=''
//	if (eval("top.Pull.OnChange_"+n)) zct='top.Pull.OnChange_'+n+'(this,event);'
    if (eval("top.OnChange_"+n)) zct='top.OnChange_'+n+'(this,event);'
	return z+'<select name='+n+' id='+n+' size="0" '+mkEvents(zct)+'><option value="0"></option>'
}

function LISTA_OPZIONE(val,testo,bSel){return '<option '+(bSel?' SELECTED ':'')+(val?'value="'+val+'"':'')+'>'+testo+'</option>'}

function FINE_LISTA(a,n,t)
{	var z=""
	var m=n?n:0
	var tp=t?t:0
	if(a)for(i=tp;i<a.length;i++)
	{	e=a[i]
		z+="\r\n"+LISTA_OPZIONE(e[m],e[m+1])
	}
	return z+'</select></td>'
}


//----------------------------------------------------------------------------------------------------------------


function svuota(o){for(var p in o)o[p]=null;o=[]}

function generaForm(n)
{   
//	genera_tracciato_DB(n)

//************** rn*/
svuota(cBC)
svuota(dipzC)
svuota(descrZ)
//*****************	
	
	var OUT=""
	var z="PAGINA"
	if(n  && parseInt(n)>0)z+=n
	var p=gtPull(z)
	if (!p) return "Pull PAGINA"+n+ " non trovata"
	
	var x=""+p.innerHTML
	var f=0;s=0;c=0;
	for(;;)
	{  	f=1+x.indexOf('§',s)
		c=1+x.indexOf('//',s)
		var e=f?f-1:x.length
		if (c && c<e)e=c-1
		var riga=x.substring(s,e)
		s=f
		var ww=Trim(riga)
//		try
		{	if (ww.length)
			{	var w2=ww.replace(/\r/g," ")
				var w3=w2.replace(/\n/g," ")
			    var w4=w3.replace(/\&amp\;/g,"&")
				z=eval(w4);
				if (z && z!="&nbsp;") OUT+=z
				else if (!z) debug("Genera Form -->:"+w2+"\r\n->:"+riga)
			}
		}
//		catch(err)
//		{	if (riga.length>0)alert(err+"\r\n+ERRORE:->>:"+w3+"\r\n->:"+riga)
//			else alert ("generaForm:"+err)
//		}
		if(f<1)break
	}

	if (dati && dati.length) top.dati=dati
	Popola()
	return OUT+=ChiudiTABLE()+"<div id='END'>&nbsp;</div>"
}


function inserisciDIV(n)
{   
	var p=gtPull(n)
	if (!p) return "Pull PAGINA"+n+ " non trovata"
	
	var OUT=""+p.innerHTML
	if (dati && dati.length) top.dati=dati
	Popola()
	return OUT+="<div id='END'>&nbsp;</div>"
}

//----------------------------------------------------------------------------------------------------------------
function AREATESTO(dimc,pos,ar_input,nome,testo,sty)
{	var n=nome.toUpperCase()
	descrZ[n]=testo
	var z=InColonna()
	var zNumControl=""
	var lmin=ar_input[1],lmax=ar_input[2],dimb=ar_input[3];
	z+=doTD()+(sty?" style='"+sty+"'":"")+' id=T_'+n+' width='+dimc+'%>'+(testo?testo:'')
	if (Math.abs(lmin)>0) z+='<span id="SC_'+n+'"> *</span>'
	if (pos=='Sopra') z+='<br>'
	else z+='&nbsp;'
	/*xxxELSxxx*/
	if (lmin)
	{	if (!cBC[n])cBC[n]=[]
		cBC[n][n]=["trovaValoreCampo('"+n+"', 'S').length >= "+Math.abs(lmin)+" && trovaValoreCampo('"+n+"', 'S').length <= "+lmax+"", true, n]
	}
	/*xxxELExxx*/

	z+='<DIV		id="'+nome+'_C" class="widgContainer" width="80%">'
	z+='<div		id="'+nome+'_T" class="widgToolbar"></div>'
	z+='<iframe		id="'+nome+'_I" class="widgIframe" src="wed.htm"></iframe>'
	z+='<textarea style="display:none"	id="'+nome+'_A" class="widgEditor"  WRAP=VIRTUAL name='+n+' cols='+dimb + mkEvents(zNumControl)+'>'
	z+= testo
	z+='</textarea></div>'


	return z 

}

//----Obbligatorio(Si/No),n°colonne, Scelta (Singola/bSceltaMultipla), nome campo, testo domanda

function GRUPPO_OPZIONI(obl,ncol,scelta,nome,testo) 
{  	
	var n=sNomeRadio=nome.toUpperCase()
	descrZ[n]=testo
	AzzeraSettaggi()
	nCurCol=nColonne=ncol
	var sc=scelta.toUpperCase()
	bSceltaMultipla=(sc=="MULTIPLA") 
	if (obl=="Si")
	{	cBC[n]=cBC[n]||[]
		cBC[n][n] = ["trovaValoreCampo('"+n+"', 'S') != ''", true, n]
	}
	///THUY
	inTABLE=true;
	///
	return ApriTABLE(0,100,ncol,"Sinistra",testo+(obl=="Si"?"<span id='SC_"+n+"'> *</span>":""),"STY_3")
}


//-----dimensione cella(%),pos.testo(Sopra/Fianco),dim.box(caratteri),lungh.min(car.),lungh.max(car.),nome campo,testo,stile


function DOMANDA(dimc,pos,ar_input,nome,testo,sty)
{	var n=nome.toUpperCase()
	descrZ[n]=testo
	var z=InColonna()
	var zNumControl=""
	var lmin=ar_input[1],lmax=ar_input[2],dimb=ar_input[3];nMin=0;nMax=0
	if (ar_input[0]=="NUM") 
	{	zNumControl="SetValue('"+n+"',OnlyNum(trovaValoreCampo('"+n+"')));"
		nMin=ar_input[4];nMax=ar_input[5]
	}
	z+=doTD()+(sty?" style='"+sty+"'":"")+' id=T_'+n+' width='+dimc+'%>'+(testo?testo:n)
	if (Math.abs(lmin)>0) z+='<span id="SC_'+n+'"> *</span>'
	if (pos=='Sopra') z+='<br>'
	else z+='&nbsp;'
	
	/*xxxELSxxx*/
	if (lmin)
	{	
		if (!cBC[n])cBC[n]=[]
		var x="trovaValoreCampo('"+n+"','S').length>="+Math.abs(lmin)+"&&trovaValoreCampo('"+n+"','S').length<="+lmax
		if (ar_input[0]=="NUM" && (nMin || nMax))
		{	x+="&& trovaValoreCampo('"+n+"', 'F')>="+nMin+" && trovaValoreCampo('"+n+"','F')<="+nMax
		}
		cBC[n][n]=[x, true, n]
	}
	/*xxxELExxx*/
	/*THUY*/
	var bd="",ad=""
	var sd=' id='+n+' value="" ';
	var idp=n+"_P"
	var tp=ar_input[0]
	if (tp=="DATA" || tp=="DATA_AMG")
	{	var fdata=(tp=="DATA")?'dd/MM/yyyy':'yyyy/MM/dd'
		bd='<a id='+idp+' name='+idp+ ' onclick="DX_calendario.select($(\''+n+'\'),\''+idp+'\',\''+fdata+'\');return false;"><img style="cursor:pointer;" src=img/calendar.gif border=0></a>'
	}
	if (tp=="ALFA+NO")
	{	zNoControl="SetValue('"+n+"',trovaValoreCampo('PARTITA_IVA'));"
		ad='<a id='+idp+' name='+idp+ ' onclick="'+zNoControl+'return false;"><img style="cursor:pointer;vertical-align:middle;" src=imgX/idem.gif border=0></sub></a>'
	}
	/*THUY*/
	var ztyp=' type="text" ';
	if (nome.indexOf('pwd')>=0) ztyp=' type="password" '
	else if (tp=="FILE") ztyp=" type='file' "

	return z+ad+'<input '+(sty=="NOEDIT"?" DISABLED ":"")+' name='+n+ztyp+sd+' size='+dimb+' maxlength='+lmax
	+mkEvents(zNumControl)+'>'+bd+'</td>'
}

//---------------------allineamento(Destra/Sinistra/Centro), testo titolo
function INIZIO_PAGINA(t,img) 
{   AzzeraSettaggi()
	return mkTit(t,1)+"<br/>"
}

function COMMENTO(tit,id,sty,opz) 
{   var z=InColonna()+doTD(opz)+"><span"+(id?(" id='"+id+"'"):"")+(sty?(" style='"+sty+"'"):"")+">"+tit+"</span></td>"
	return z
}

function HTML(a){return a}

function INIZIO_SEZIONE(dim,ncol,tit) 
{   return ApriTABLE(1,dim,ncol,"Sinistra",'<b>'+tit+'</b>','STY_3')
}

function INIZIO_TABELLA(dim,ncol,nome,tit) 
{   AzzeraSettaggi()
	currPrefixDB=nome.toUpperCase()
	return ApriTABLE(0,dim,ncol,"Sinistra",tit,"STY_3")

}

function CAMBIA_COLONNE(a,b) 
{  	ncol=parseInt(a,10);if (!ncol)return
	percent=b?parseInt(b,10):100
	return ApriTABLE(0,percent,ncol,"Sinistra","","STY_")
}

function PULSANTI() 
{  	var ar=PULSANTI.arguments
	var w=184,h=38
	var arr=[]
	for (i=0;i<(ar.length-1);i++)arr[i]=ar[i+1]
	if (ar[0][0]){w=ar[0][0];h=ar[0][1]}
	z= mkBotto(w,h,""+nPuls++,arr,"#032D58")
	return z
}

function BOTTONI() //(titolo,[icona,nome,link])
{   var ar=BOTTONI.arguments
	var b=[]
	var tit=ar.length>0?ar[0]:'Temp'
	for (i=1;i<ar.length;i++)b[i-1]=[ar[i][0],ar[i][1],ar[i][2]]
	$("C1").style.display="block"
	Bottoniera(1,"MENU3",tit,["bottone1",25,8,200,16],b,-1)
	return ''
}
