





var bUsr=false;
var bUtnt=false;
var ajxBlcc=0;


var arTpUsr=[];
arTpUsr.push([1,"Amministratore"]);
arTpUsr.push([2,"Gestore"]);
arTpUsr.push([3,"Collaboratore"]);
arTpUsr.push([4,"Cliente"]);
var arStsUsr=[];
arStsUsr.push([1,"Disabilitato"]);
arStsUsr.push([2,"Attivo"]);
var bNasc=false;//bool se sto visualizzando record nascosti (true) oppure no (false)
var arCmp=[];
function sCmp(){
	this.nm="";
	this.tbl="";
	this.nmDb="";
	this.nmAS="";
	this.cInp="dCmp";//classe dell'input
	this.bWCmp=true;//bool imposta la lunghezza dell'inputsearch
	this.lbl="";//etichetta dei campi --> ex. checkbox
	this.tp=false;//tipo campo, prendo da db
	this.vl=false;
	this.err=false;//se ho errori nella compilazione del campo
	this.jn=false;//LEFT JOIN chr(1)|campo1|campo2|chr(1)tblchr(1)ONLeftchr(1)ONrigthchr(1)
	this.bSkp=false;//se è true salto nel salvataggio
	this.bAjLdd=false;//ajax caricato
	this.cmb=false;//combo associato
	this.cmb_bSel=true;//--- seleziona --- nel combo
	this.cmb_bStl=false;//è un combo dello stile? se si applico il valore come classe per la option del combo
	this.arF=[];//array delle foto o dei files allegati
	this.iStlRchTxt=0;//numero di stili applicabili dal combo del richtext
	this.bDelF=true;//delete file o foto
	this.ppImgFT="|jpg|jpeg|gif|png|";//tipi di file immagine
	this.ppImgD="|80|200|600|";//dimensioni delle immagini
	this.ppImgS="|T|M|N|";//suffisso delle immagini
	this.ppFT="|jpg|jpeg|gif|png|tiff|tif|bmp|aiff|wav|mp3|doc|docx|pdf|odt|txt|sxw|rtf|xls|ppt|pps|zip|sit|tar|rar|swf|epub|";//tipi di file allegabili
	this.fnAddFl="\2\1click\1addFl\1\2";//funzione del bottone aggiungi file
	this.nFMx=10;//Numero massimo di file uploadabili, file o foto
	this.idCmpRif=false;//campo di riferimento, usato sia per i campi con dipendenza sia per i campi add
	this.arSCmp=false;//struttura dei campi se un campo add
	this.arSCmpVl=[];//array dei valori della struttura dei campi se un campo add
	this.add_id=false;//id se è un campo add
	this.add_Brdr=false;//uso l'ordinamento nei campi add
	this.add_fnRmMd="add.rm";//funzione della rimozione del modulo add
	this.add_fnRmMdS=false;//funzione supplementare dopo la rimozione del modulo add
	this.add_iMx=false;// numero massimo moduli add
	this.add_dt_BD=true;// bottone chiusura modulo add
	this.add_nw_BD=true;// bottone chiusura modulo add
	this.add_fnAddMd="\2\1click\1add.add\1\2";//funzione del bottone aggiungi
	this.add_fnAddMdS=false;//funzione supplementare al aggiungi modulo add
	this.fn=false;//funzione al contenuto campo
	this.dt_fnCrCmp=false;//funzione che crea il contenuto del campo (ex campo add) o aggiungi note o altro, avviene quando è stato creato un campo
	this.nw_fnCrCmp=false;
	this.nw_bAdd=false;//bool aggiungi nuovo record? funziona se ho un combo o altro che pesca dati da altra tabella
	this.unsgnd=null;
	this.unq=null;
	this.unqMsgKo="Valore gi&agrave; esistente";
	this.unqFnKo=chk.ctrl.kook;//funzione che si applica al campo quando il valore è già esistente
	this.unqMsgOk="";
	this.unqFnOk='chk.ctrl.kook';
	this.lngMx=false;//lunghezza max
	this.lngMm=false;//lunghezza min
	this.nw_prdf=false;//valore predefinito new
	this.dt_prdf=false;//valore predefinito edit
	this.nll=false;//true->obbligatorio; false->facoltativo
	//this.nll_SL=false;//null seconda lingua    true->obbligatorio; false->facoltativo
	this.szMsgNoCmb="---";
	this.szMsgNoCmbRes="Nessun risultato";
	this.ajCmb=false;//combo del ajax
	this.bShwCmb=true;//visualizza combo
	this.bRldAllwys=false;//ricarica sempre con ajax
	this.ppFn=false;//funzioni da applicare al campo, aggiunte di volta in volta dal php
	this.ppFnD="\2\1blur\1chk.ctrl.nll\1\2\1change\1chk.ctrl.upd\1\2";//funzioni predefinite al campo, in automatico verranno aggiunte le funzioni applicabili secondo il tipo di campo
	this.idCmpRld=false;//campo su cui ha effetto il reload
	this.fnChkUnq=false;//funzione personalizzata check unique
	this.fnUnqAftrChk=false;//funzione del invocata dopo che ho controllato che un valore sia unique
	this.fnAftrDtSt=false;//funzione che avviene ogni volta che setto una data dal calendario;
	this.nw_B=true;//bool in new
	this.nw_tC=false;//tipo di campo se diverso da quello del db, se non specifico uso quello dell'edit
	this.nw_rdOnl=false;//readonly new
	this.nw_rdOnlSv=false;//salvare un campo readonly?
	this.nw_bDis=false;//campo disabled
	
	
	
	this.dt_ppBtts=false;//pp \2\1 dei bottoni da aggiungere in fondo a finaco del salva
	this.dt_B=true;//bool in edit
	this.dt_Bgt=true;//bool in edit, cerco il campo nella query
	this.dt_rdOnl=false;//readonly
	this.dt_rdOnlChg=false;//readonly cambiato per visualizzare i record con bDel=1
	this.dt_rdOnlSv=false;//salvare un campo readonly?
	this.dt_noChkUnq=false;//non controllo del campoo unique --> per la login
	this.dt_tC=false;//tipo di campo se diverso da quello del db (this.tp)
	this.dt_fn=false;//funzione per mostrare il valore del campo in edit
	this.dt_nte=false;//info note, ex suffix;
	this.dt_cnt=false;//contatore;
	this.dt_aux=false;// suffix aux
	this.dt_sA=false;//align
	this.dt_taMxW=354;//textarea/richtext max width
	this.dt_taMnW=354;//textarea/richtext min width
	this.dt_taMxH=300;//textarea/richtext max height
	this.dt_taMnH=100;//textarea/richtext min height
	this.dt_taBInv=true;//textarea/richtext tasto invio true->abilitato
	this.dt_rszTa=true;//textarea bool resize
	this.dt_c="";//classe del campo in editing
	this.dt_bAdd=false;//bool aggiungi nuovo record? funziona se ho un combo o altro che pesca dati da altra tabella
	this.dt_addPpUnqCmp=false;//elenco dei campi che diventano unique quando aggiungo al volo un record dt_bAdd
	this.dt_bDis=false;//campo disabled
	this.dt_iMn=false;//valore minimo campo intero o decimale
	this.dt_iMx=false;//valore massimo campo intero o decimale
	
	this.lst_B=false;//bool in list?
	this.lst_fn=false;//funzione lista
	this.lst_cTD=false;//classe colonna lista
	this.lst_sW=false;//width in percentuale, definita
	this.lst_sPW=false;//width in pixel, calcolata///////////////////////////////mod 28-05-11
	this.lst_sA=false;//align
	this.lst_tC=false;//tipo di campo in lista
	this.lst_s=0;//sort 0/1
	this.lst_so="D";//(!lst_so||lst_so=="A")?"A":"D";//sortorder A/D
	this.lst_tS=0;//tipo select in lista per l'ajax 1->count 2->sum 3->concat(prevede il #)
	this.lst_tW=0;//tipo where in lista per l'ajax 1->upper 2->like%_% 3->LIKE%_ 4->LIKE_% 5->IN 6->NOT IN
	this.lst_tWAO="A";//tipo where AND/OR 1->OR
	this.lst_vlW=false;//valore where in lista ///////aggiunto per la login 15/12/2010, usato solo lì per ora
	this.lst_ppBtts=false;//pp dei bottoni da aggiungere in fondo alla lista
	
	this.fltr_B=false;//filter bool in filter?
	this.fltr_bUse=true;//uso il campo per filtrare la lista ma il campo è nel join di un'altro campo
	this.fltr_frc=false;//forzo l'aspetto del campo come nel filter, comodo per fare le date da a
	this.fltr_tC=false;//tipo campo
	this.fltr_ppFn=false;//funzioni da applicare al campo filter
	this.fltr_tC=false;//tipo di campo del filter
	this.fltr_ppFnD="\2\1change\1chk.ctrl.upd\1\2";//funzioni di default applicate al campo filtro
	this.fltr_vl=false;//valore del campo filter
	this.fltr_prdf=false;//valore predefinito del campo filter
	this.fltr_tW=false;//tipo where filter ricerca esclusa che è sempre L
	this.fltr_Bsrch=false;//è compreso nel filter search
	this.fltr_jnCmpSrch=false;//campi del join in cui cercare col filtro search
	this.fltr_dt_prdf_da=false;//valore predefinito del campo filter data da
	this.fltr_dt_prdf_al=false;//valore predefinito del campo filter data al
	this.fltr_dt_vl_da=false;//valore del campo filter data da
	this.fltr_dt_vl_al=false;//valore del campo filter data al
	this.fltr_mdWhr="0";//modo Where nella query filter;
	this.fltr_mdWhrAO=false//modo Where AND OR nella query filter
	this.szFLngV=false;//valore prima lingua
	
	this.lng_rmbr=false;//ricorda il valore del campo nella seconda lingua
	this.lng_Btrslt=false;//campo traducibile
	this.lng_nll=false;//null seconda lingua    true->obbligatorio; false->facoltativo
	
	this.drg_endFn=false;//funzion richiamata al fine del drag
	
	
	
	/////////////////////////mod 03/06/11
	this.gmap_ppAc=false;//campi parte dell'indirizzo coinvolti nella mappa dinamica
	this.srch_fnFrmt=false;//funzione di formattazione in LISTA dei risultati della query
	this.srch_sel=srch.sel;//funzione sul click selezione elemento tra i trovati in lista
	this.srch_fnPstSel=false;//funzione dopo che ho selezionato l'elemento in lista
	this.srch_fnPstRm=false;//funzione dopo che ho rimosso l'elemento selezionato
	this.srch_qry=false;//query per la ricerca
	this.srch_mdClss="mdSrch";//classe per i moduli in lista di ricerca, si sdoppian in srch_mdClssA e srch_mdClssB per differenziare le righe
	this.srch_nw_bDCls=true;//bool bottone chiudi una volta cercato
	this.srch_dt_bDCls=true;//bool bottone chiudi una volta cercato
	this.srch_url=false;//url per la ricerca
	this.srch_args=false;//agrs per la ricerca
	
	//classi
	this.dt_cD=false;//classe contenitore
	this.dt_cDNC=false;//classe contenitore nome campo
	this.dt_cDIC=false;//classe contenitore input campo
	
	this.chk_dCnt="dCbxCnt";//classe del box check cnt
	this.chk_bDClr=true;//aggiungo il dClr ogni dBoxCnt
	/////////////////////////mod 03/06/11
	
	
}
var dt_iKLst=false;//iK lista in editing
var arMain=[];
function sMain(){
	this.mn_BNM=false;//NON è presente nel menù --->false = è nel menù --->true non è nel menù
	this.mn_lbl="";//etichetta della voce menù
	this.mn_idP="";//id del gruppo del menù
	this.mn_bAdm=false;//se la voce menù è solo per gli amministratori
	this.mn_bGst=false;//se la voce menù è solo per i gestori
	this.nm=false;//nome dell'array ex: login, mailing list etc etc
	this.id=false;
	this.tbl=false;
	this.db="";
	this.sffx=false;//suffisso per l'upload
	this.del_mss_NO=false;//tabelle (tblCln) che contengono idCln o ppCln ma che non voglio far cancellare!
	this.del_mss_NS=false;//suffissi di tabelle collegate da usare nella cancellazione che non contengono idCln o ppCln
	this.del_mss_NS=false;//suffissi di tabelle collegate ne non sono nel nfo.php e che hanno idFtt sffx\10 oppure sffx o che hanno ppFtt sffx\11
	this.arCmp=false;
	this.bHist=1;//bool ppHist per l'ajax
	this.dt_Btts=false;//bottoni sopra l'editing ex risorse: profilo, dati cliente, etc
	this.dt_dBtts="dDtBtts";//classe del div contenitore dei Btts
	
	
	/////////////////////////mod 03/06/11
	this.dt_BttsNwPrdfVls=false;// stringa \21\6\5 per poter passare valori dalla prima Tab alla tab di riferimento
	/////////////////////////mod 03/06/11
	this.idCmpCstm=false;//mi serve per ricordarmi il szId del campo se costruisco una struttura in un campo custom

	//this.bNasc=false;//bool se sto visualizzando record nascosti (true) oppure no (false)

	this.dt_idRc=false;
	this.del_idRc=false;//record che sto cancellando
	this.dt_idRcR=false;//record di riferimento per le lingue
	this.dt_c="dDt";//classe contenitore edit
	this.dt_cD="dDtD";//classe div contenitore campo
	this.dt_cDNC="dDtNC";//classe div contenitore nome campo
	this.dt_cDIC="dDtIC";//classe div contenitore input campo
	this.dt_bInt=true;//visualizza l'intestazione
	this.dt_cDT="dDtDT";//classe contenitore intestazione edit
	this.dt_cDMT="dDtDMT";//classe contenitore titolo
	this.dt_cDtblNm="dDtTblNm";//classe del nome della tabella nel titolo edit/new
	this.dt_cDtblMd="dDtTblMd";//classe del modo (new/edit) nel titolo edit/new
	this.dt_cDTR="dClr";//classe del contenitore dell'editing del rec
	this.dt_fnLst="lst.rld";//function crea lista
	this.dt_cDFtr="dDtDFtr";//classe del contenitore del footer dell'edit
	this.dt_cDSV="dDtDSV";//classe del contenitore del bottone Salva
	this.dt_fnSv="sv.sv";//funzione del bottone salva su edit
	this.nw_fnSv="sv.sv";//funzione del bottone salva su new
	
	this.dt_fnBfr=false;//funzione che avviene appena prima della creazione dei campi in editing;
	
	this.dt_BDplc=false;//bool bottone duplica in edit 
	this.prnt_B=false;//bool bottone stampa in edit
	this.prnt_szFn=false;//funzione per la stampa
	this.mml_B=false;//bool bottone mail in edit
	this.mml_szFn="mml.cr";//funzione per l'invio mail
	this.mml_B=false;//bool bottone sms in edit
	this.mml_szFn="sms.cr";//funzione per l'invio sms
	
	/////////////////////////mod 03/06/11
	this.lst_bNw=true;//ho il bottone nuovo record?
	/////////////////////////mod 03/06/11
	this.lst_nw_bBckLstSv=true;//torno alla lista dopo che ho salvato un new?
	this.lst_dt_bBckLstSv=false;//torno alla lista dopo che ho salvato un edit?
	this.lst_szFnFltr=false;//funzione che aggiunge dei filtri alla lista
	this.lst_bSkp=false;//visualizza direttamente l'editing e salta la lista, se nessun record allora nuovo, altrimenti scelgo l'ultimo inserimento nel db
	this.lst_cD="dLstD";//classe div contenitore intera lista
	this.lst_cDT="dLstDT";//classe div contenitore titolo lista
	this.lst_cDMT="dLstDMT";//classe contenitore del titolo
	this.lst_cDI="dLstDI";//classe contenitore intestazione
	this.lst_cDR="dLstRes";//classe div risultati
	this.lst_cDRE="dLstRE";//classe div risultati error
	this.lst_cDP="dLstPgnz";//classe div paginazione
	this.lst_cDRL="dLstRL";//div class risultati loading
	this.lst_cT="lstTab";//classe tabella
	this.lst_cITR="lstIRw";//classe riga intestazione
	this.lst_cITD="lstI";//classe colonna intestazione
	this.lst_cLTR="lstRw";//classe riga lista
	this.lst_cLTD="lstCl";//classe colonna lista
	this.lst_s="intID";//sort
	this.lst_so="D";//sortorder DESC
	this.lst_n=25;
	this.lst_pg=0;
	this.lst_bD=false;//ho la x in lista per cancellare il record
	this.lst_bChk=false;//ho il check in lista
	this.lst_arChk=[];//array degli id checcati in lista
	this.lst_bDt=true;//ho possibilità di editing dalla lista
	this.lst_bDDef=false;//cancello definitivo o imposto il bDel=1? true=cancello definitivo
	this.lst_tit=false;
	this.lst_shw_intID=false;
	this.lst_ar=false;
	this.lst_fnGt="lst.gt";//function crea lista
	this.lst_bck="lst.bck";
	this.lst_fnDt="dt.gt";//function editRec
	this.lst_fnNw="dt.nw";//function newRec
	this.lst_fnFltr="lst.fltr.gt";//function filter della lista
	this.lst_szFnDl="lst.del.dl";
	this.fltr_B=false;//ho filtrato?
	this.fltr_srch="";
	this.fltr_cDCF="dFltrDCF";//classe contenitore filtri e comandi
	this.fltr_cD="dFltr";//classe contenitore filtri
	this.fltr_cDC="dFltrDC";//classe contenitore comandi
	this.fltr_cDInLn="dFltrInLn";
	this.fltr_cCS="cmpFltrSrch";
	this.fltr_cCN="cmpFltrNRec";
	this.fltr_cC="dFltrMod";
	this.fltr_cN="dFltrNC";
	this.fltr_cDI="dFltrDI";
	this.fltr_cH="dHCmp";
	this.fltr_cB="dFltrBtt";
	this.mt_B=true;//bool ha i campi meta? strTtl, strKw
	this.mt_tB=true;//bool campo meta title
	this.mt_dB=true;//bool campo meta description
	this.mt_kB=true;//bool campo meta keywords
	this.arLng=false;//array delle lingue
	this.ppLng=false;//pp delle lingue
}
var engn={
	urlGen:"",
	gtIkSffx:function(sz){
		var iK=arGetKey(arMain,'sffx',sz);
		if(iK!==false) return iK;
		alrt.crErr("gtIkSffx: iK non trovato!: "+sz);
	},
	gtCmp:function(id,b){
		if(!id) alrt.crErr("gtCmp caller: "+engn.gtCmp.caller);
		var arId=[];
		if(id.indexOf("__f")>-1){
			arId=id.substr(3).split("_");
			//if(arId[arId.length-1]=="da"||arId[arId.length-1]=="al") arId.pop();//eccezione per i periodi nel filter
		}else arId=id.split("_");
		if(arId[arId.length-1]=="da"||arId[arId.length-1]=="al") arId.pop();//eccezione per i periodi nel filter
		if(arId.length>2){
			var ar=[];
			ar[1]=arId.pop();
			ar[0]=arId.join("_");
			arId=ar;
		}
		var iKM=arGetKey(arMain,"id",(arId[1])?arId[1]:0);
		if(iKM===false) alrt.crErr("gtCmp\niKM: "+iKM+"\ncaller: "+engn.gtCmp.caller);
		if(b) return iKM;
		if(arId[0].indexOf("|")>-1){//è un modulo add
			var arIdMd=arId[0].split("|");
			var arNmMd=arIdMd[1].split("-");
			var a=engn.gtCmp(arIdMd[0]+"_"+arId[1]);
			var iKC=a[3];
			a=a[1].arSCmpVl;
			var iKCS=add.srch(a,arNmMd[1]);
			a=a[iKCS].s;
			var iK=arGetKey(a,"nmDb",arId[0]);
			a=a[iK];
		}else{
			var iKC=arGetKey(arMain[iKM].arCmp,"nmDb",arId[0]);
			if(iKC===false){
				alrt.crErr("gtMainCmp arId[0]: "+arId[0]+"\n\n"+engn.gtCmp.caller);
			}
			var a=arMain[iKM].arCmp[iKC];
		}
		return [arMain[iKM],a,iKM,iKC,iKCS];//iK arMain, iK Cmp
	},
	brwsr:{
		chk:function(){
			var sz="";
			var b=true;
			if(!bUtnt){
				if(_isIE5||_isIE6||_isOpera||_isKonqueror){
					sz="<b>Il tuo browser non &egrave; <br />supportato o &egrave; obsoleto.</b><br /><a href=\"http://www.mozilla-europe.org/it\" target=\"_blank\" class=\"lgnMsg\">Installa Mozilla Firefox</a> per <br />una migliore navigazione";
					b=false;
				}else if(_isIE){
					sz="Installa <a href=\"http://www.mozilla-europe.org/it\" target=\"_blank\" class=\"lgnMsg\">Mozilla Firefox</a><br />per una migliore navigazione.<br /><a href=\"javascript:lgn.prpr.prcd();\" class=\"lgnMsg\">Procedi ugualmente</a>";
					b=false;
				}
			}
			return [b,sz];
		}
	},
	crEditing:function(){//creazione del modello di editing (frame, menu etc)
		var objCnt=_gel("cnt");
		var objR=_cel("div");
		objR.id="dDtM";
		_ael(objR,objCnt);
		var objL=_cel("div");
		objL.id="dDtC";
		_ael(objL,objCnt);
		_ael(engn.crDClr(),objCnt);
		engn.chgDm();
		addEvent(window,"resize",engn.chgDm,false);
		addEvent(objL,"click",ppp.cl,false);
		gstMn.cr(objR);
	},
	init:function(ppMn){
		if(!ppMn) return;
		var ar4=ppArr(ppMn,"\4");
		engn.urlGen=ar4[0];
		var ar3=ppArr(ar4[1],"\3");
		for(var i=0;i<ar3.length;i++){
			gstMn.arM.push(new gstMn.sM());
			var ar2=ppArr(ar3[i],"\2");
			for(var j=0;j<ar2.length;j++){
				var ar1=ppArr(ar2[j],"\1");
				gstMn.arM[ar1[0]][ar1[1]]=ar1[2];
			}
		}
		stOnLd(engn.crEditing);
	},
	gtDtng:function(){
		document.location.href=szUrlGen+szMyDtLblSeo+".php";//http://www.piantearomatichebiologiche.it/
	},
	rstVls:function(arDt,ppExcl,ppTCExcl){//resetta tutti i valori quando faccio nuovo o ritorno alla lista o vado in editing
		for(var i=0;i<arDt.arCmp.length;i++){
			var a=arDt.arCmp[i];
			a.arF=[];//'ar dei file e delle immagini lo elimino sempre 06/03/11
			a.arSCmp=false;
			a.arSCmpVl=[];
			if(ppExcl){
				if(ppSrch(ppExcl,a.nmDb)) continue;
			}
			if(ppTCExcl){
				if(ppSrch(ppTCExcl,a.dt_tC)) continue;
			}
			if(!arDt.fltr_B) a.fltr_vl=false;
			a.vl=false;
		}
		while(arMain.length>=2){
			arMain.splice(arMain.length-1,1);
		}
	},
	crPpFnD:function(arCmp,pp){//aggiunge le funzioni di default
		if(!arCmp||!pp) return;
		if(!arCmp.ppFnD) arCmp.ppFnD="\2"+pp+"\2";
		else arCmp.ppFnD="\2"+pp+arCmp.ppFnD;
		if(!arCmp.fltr_ppFnD) arCmp.fltr_ppFnD="\2"+pp+"\2";
		else arCmp.fltr_ppFnD="\2"+pp+arCmp.fltr_ppFnD;
	},
	cmpAddFn:function(id){
		if(id.indexOf("|")>-1) var e=engn.gtCmp(id);
		var a=engn.gtCmp(id)[1];
		var bF=(id.indexOf("__f")>-1)?true:false;
		var pp=false;
		if(bF){
			pp=a.fltr_ppFnD;
			if(a.fltr_ppFn){//ho funzioni personalizzate
				pp=(pp)?"\2"+a.fltr_ppFn+pp:"\2"+a.fltr_ppFn+"\2";
			}
		}else{
			pp=a.ppFnD;
			if(a.ppFn){//ho funzioni personalizzate
				pp=(pp)?"\2"+a.ppFn+pp:"\2"+a.ppFn+"\2";
			}
		}
		if(pp){
			var ar2=ppArr(pp,"\2");
			for(var i=0;i<ar2.length;i++){
				ar1=ppArr(ar2[i],"\1");
				addEvent(_gel(id),ar1[0],eval(ar1[1]),false);
			}
		}
		//if(id.indexOf("idMml")>-1) alert(id+"\n\n"+pp);
	},
	crPls:function(id,szClss,szTxt,ppFn){
		szTxt=(!szTxt)?"Aggiungi":szTxt;
		var obj=_cel("div");
		obj.id=id;
		var szC="bttSt";
		if(szClss){
			if(szClss=="Sel") szC+="Sel";
			else szC=szClss;
		}
		obj.className=szC;
		obj.innerHTML=szTxt;
		if(ppFn){
			var ar2=ppArr(ppFn,"\2");
			for(var i=0;i<ar2.length;i++){
				ar1=ppArr(ar2[i],"\1");
				addEvent(obj,ar1[0],eval(ar1[1]),false);
			}
		}
		return obj;
	},
	crBttAdd:function(szFn,szNmCmp,szLbl,szClss,szClssBtt,szPar,b){
		if(szPar==undefined) szPar="";
		var sz="<a href=\"#\" onclick=\""+szFn+"('"+szNmCmp+"','"+szPar+"');\" class=\""+szClssBtt+"\">&nbsp;&nbsp;"+szLbl+"&nbsp;&nbsp;</a>";
		if(b) return sz;
		var objBtt=_cel("div");
		objBtt.id="add"+szNmCmp;
		szClss=(szClss)?szClss:"dCCmpS";
		objBtt.className=szClss;
		szLbl=(szLbl)?szLbl:"Aggiungi";
		szClssBtt=(szClssBtt)?szClssBtt:"bttS";
		if(!szPar) szPar="";
		objBtt.innerHTML=sz;
		return objBtt;
	},
	crImgNmC:function(szId,szImg,szAlt){
		var obj=_gel("dt_cmp"+szId);
		var objI=_cel("img");
		if(!szAlt) szAlt=szImg; 
		objI.alt=objI.title=szAlt;
		objI.src=szUrlNgn+"imgDef/"+szImg;
		objI.className="dImgNmC";
		_ael(objI,obj);
	},
	mdCntCmp:function(id,szT,o,szC,szCT){
		var oc=_cel("div");
		oc.className=(szC)?szC:"mdCntCmp";
		oc.id=id;
		var ot=_cel("div");
		ot.className=(szCT)?szCT:"mdCntCmpT";
		ot.innerHTML=szT;
		_ael(ot,oc);
		_ael(oc,o);
		return oc;
	},
	dcdFnCrCmp:function(a,bDt,szId){
		if(!a) alrt.crErr("dcdFnCrCmp: "+szId);
		if(bDt==null) bDt=arMain[0].dt_idRec;//cmp.gtVl("intID");
		if(bDt&&a.dt_fnCrCmp) eval(a.dt_fnCrCmp)(szId);
		if(!bDt&&a.nw_fnCrCmp) eval(a.nw_fnCrCmp)(szId);
	},
	crMdCmp:function(arDt,arCmp,bMd,objTA){
		var a=arCmp;
		//alert(a.vl+"___"+a.nmDb);
		if(a.bSkp) return;
		if(!a.fltr_bUse) return;
		var szId=a.nmDb+"_"+arDt.id;
		var bDt=cmp.gtVl("intID_"+arDt.id);
		if(bDt&&!a.dt_B) return;
		if(!bDt&&!a.nw_B) return;
		var szTc=cmp.gtT(a);
		if(szTc=="hide"){
			cmp.stV(a,false,bDt,szTc);
			cmp.stRif(arDt,a);
			return;
		}
		if(szTc=="gps"){
			var szLL="(latitudine, longitudine)";/////////////////////////mod 03/06/11
			if(a.nm.indexOf(szLL)<0) a.nm+="<br /><small>"+szLL+"</small>";
		}
		var obj=_cel("div");
		obj.id="dt_cmp"+szId;
		//if(szTc=="ppAdd") obj.style.backgroundColor="#f00";
		obj.className=(arCmp.dt_cD)?arCmp.dt_cD:arDt.dt_cD;/////////////////////////mod 03/06/11
		var objNm=_cel("div");
		objNm.className=(arCmp.dt_cDNC)?arCmp.dt_cDNC:arDt.dt_cDNC;/////////////////////////mod 03/06/11
		objNm.id="dt_nc_"+szId;
		objNm.innerHTML=a.nm;
		_ael(objNm,obj);
		var objIC=_cel("div");
		objIC.id="dt_inp_"+szId;
		objIC.className=(arCmp.dt_cDIC)?arCmp.dt_cDIC:arDt.dt_cDIC;/////////////////////////mod 03/06/11
		if(_isIE&&a.dt_tC=="ppCheck") objIC.style.width="580px";
		_ael(objIC,obj);
			var objHC=_cel("div");
			objHC.id="dHCmp_"+szId;
			objHC.className="dHCmp";
			_ael(objHC,objIC);
			var objDAj=_cel("div");
			objDAj.id="dAj"+szId;
			objDAj.className="dAjCmp";
			_ael(objDAj,objIC);
			var objN=_cel("div");
			objN.id="dt_nte_"+szId;
			objN.className="dClr";
			_ael(objN,objIC);
		var objA=_cel("div");
		objA.id="dt_aux_"+szId;
		objA.className="dACmp";
		if(a.dt_aux) objA.innerHTML=a.dt_aux;
		if(bDt&&a.dt_bAdd||!bDt&&a.nw_bAdd){
			var oAdd=_cel("div");
			oAdd.className="addRecIco";
			oAdd.id="addRec_"+szId;
			addEvent(oAdd,"click",addRec.rd,false);
			_ael(oAdd,objA);
		}
		_ael(objA,obj);
		var objS=_cel("div");
		objS.id="dt_cnt_"+szId;
		objS.className="dSCmp";
		_ael(objS,obj);
		var objE=_cel("div");
		objE.id="dt_err_"+szId;
		objE.className="dECmp";
		_ael(objE,obj);
		_ael(engn.crDClr(),obj);
		var objCC=(objTA)?objTA:_gel("dAjdt_rec_"+arDt.id);
		if(bMd){
			var sz="";
			var arP=a.nmDb.split("|");
			var arU=arP[1].split("-");
			var objCC=_gel("add_"+arP[0]+"_"+arU[1]);
		}
		_ael(obj,objCC);
		engn.crCmp(arDt,a,false);
	},
	crCmp:function(arDt,arCmp,bF,bNoPrdf){//objTA=obj in cui appendere il conenuto
		var a=arCmp;
		if(a.nmDb.indexOf("|")<0) a.err=false;//resetto solo se non è un campo add modifica 13/03/11 prima era per tutti i campi
		var bDt=cmp.gtVl("intID_"+arDt.id);//arMain[0].dt_idRec;
		if(bDt!==false) bDt=true;
		if(bF&&!a.fltr_B) return;
		if(bNasc&&bDt){
			if(!a.dt_rdOnl){
				a.dt_rdOnl=true;
				a.dt_rdOnlChg=true;
			}
		}else{
			if(a.dt_rdOnlChg){
				a.dt_rdOnl=false;
				a.dt_rdOnlChg=false;
			}
		}
		var iwl=11;
		var iwn=8;
		var iMx=255;
		if(a.lngMx){
			if(a.lngMx.toString().indexOf(",")>-1){
				var ar=a.lngMx.split(",");
				iI=parseInt(ar[0]);
				iD=parseInt(ar[1]);
				var r=(iI%3>0)?1:0;
				iMx=iI+iD+Math.floor(iI/3)+r;
			}else iMx=parseInt(a.lngMx);
		}
		var szId=a.nmDb+"_"+arDt.id;
		var ppFn="";
		var szTC="";//a.tp;
		var szTC=cmp.gtT(a,true,bF);
		var szVl=cmp.stV(a,bF,bDt,szTC,bNoPrdf);
		//aggiungere qui la funzione crea contenuto campo???
		if(a.fn) szVl=eval(a.fn)(szVl);
		if(bF) szId="__f"+szId;
		if(a.nmDb=="idL"){
			if(!bDt){
				a.bShwCmb=false;
				var iK=arGetKey(a.cmb,0,szVl);
				a.szMsgNoCmb=a.cmb[iK][1];
			}else a.bShwCmb=true;
		}
		if(a.nmDb=="idR") szVl=arDt.dt_idRcR;
		var objInp=_cel('input');
		objInp.id=szId;
		objInp.className=a.cInp;//"dCmp";
		if(bDt&&a.dt_c) objInp.className=a.dt_c;
		
		//alert(objInp.className+"\n"+a.cInp+"\n"+bDt+"\n"+a.dt_c);
		
		if(a.lngMx) objInp.maxLength=iMx;
		objInp.value=szVl;
		var bRO=(bDt)?a.dt_rdOnl:a.nw_rdOnl;
		if(a.dt_cnt&&a.lngMx){
			if(!bRO){
				_gel("dt_cnt_"+szId).innerHTML=szVl.length+"/"+a.lngMx;
				engn.crPpFnD(a,"\1keyup\1inp.chrUpd\1");
				engn.crPpFnD(a,"\1keypress\1inp.chr\1");
			}
		}
		if(a.unq&&!a.dt_noChkUnq){
			var sz=(a.fnChkUnq)?a.fnChkUnq:"chk.ctrl.unq.chk";
			engn.crPpFnD(a,"\1blur\1"+sz+"\1");
		}
		cmp.stRif(arDt,a);
		var szVlRif=false;
		if(a.idCmpRif){
			var aRif=engn.gtCmp(a.idCmpRif)[1];
			szVlRif=(bF)?aRif.fltr_vl:aRif.vl;
		}
		if(lgn.usrNfo.ar.length>0){
			if(lgn.usrNfo.ar[0].tp==4){
				a.dt_rdOnl=true;
				a.dt_bDis=false;
				a.add_iMx=0;//youtube
				bRO=true;
				//arL.lst_bD=false;
			}
		}
		var fnOA=false;
		switch(szTC){
			default:
			case "varchar":
			case "vrchrNN"://stringa senza numeri
			case "vrchrYN"://stringa SOLO numeri/////////////////////////mod 03/06/11
			case "srch"://///////////////////////mod 03/06/11
			case "tel":
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				if(szTC=="vrchrNN") engn.crPpFnD(a,"\1keypress\1inp.nn\1");
				if(szTC=="tel"){
					engn.crPpFnD(a,"\1keypress\1inp.tel\1");
					engn.crPpFnD(a,"\1blur\1chk.ctrl.tel\1");
				}
				if(szTC=="vrchrYN") engn.crPpFnD(a,"\1keypress\1inp.yn\1");
				if(szTC=="srch"){
					a.ppFnD=false;
					engn.crPpFnD(a,"\1keyup\1srch.gt\1");//\2\1blur\1chk.ctrl.srch\1 creare una funzione che faccia il controlle se esco
					engn.crPpFnD(a,"\1blur\1chk.ctrl.srch\1");
					if(a.vl) a.dt_fnCrCmp=a.nw_fnCrCmp=srch.ld;
				} 
				engn.crPpFnD(a,"\1blur\1chk.ctrl.vlen\1");
				break;
			case "cstm":
				if(a.dt_fnCstm) eval(a.dt_fnCstm)(szId);
				return;
			case "textPln":
				if(a.tp=="varchar") a.dt_taMnH=15;
				var objInp=_cel('textarea');
				objInp.id=szId;
				objInp.value=szVl;
				if(a.bWCmp) objInp.style.width=a.dt_taMnW+"px";
				objInp.style.height=a.dt_taMnH+"px";
				objInp.className=a.cInp;//"dCmp";
				if(bDt&&a.dt_c) objInp.className=a.dt_c;
				fnOA=chk.ctrl.rszTa;
				if(a.dt_rszTa) engn.crPpFnD(a,"\1keyup\1chk.ctrl.rszTa\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.vlen\1");
				break;
			case "gps"://///////////////////////mod 03/06/11
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				engn.crPpFnD(a,"\1keypress\1inp.gps\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.gps\1");
				break;
			case "pwd":
				objInp.type="password";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				engn.crPpFnD(a,"\1blur\1chk.ctrl.vlen\1");
				break;
			case "pwdd":
				var obj=_gel("dAj"+szId);
				if(!obj) obj=_gel("dt_"+arDt.id);
				if((bDt&&a.dt_rdOnl)||(!bDt&&a.nw_rdOnl)){
					obj.innerHTML="********";
					return;
				}
				_rel(_gel("dHCmp_"+szId));
				a.vl=false;
				if(bDt){
					var objD=_cel("div");
					objD.innerHTML="Cambia password";
					_ael(objD,obj);
					a.nll=false;
				}else a.nll=true;
				objInp.type="password";
				objInp.value="";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				a.lngMn=8;
				engn.crPpFnD(a,"\1blur\1chk.ctrl.pwdd\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.vlen\1");
				engn.crPpFnD(a,"\1keyup\1chk.ctrl.pwd\1");
				engn.crPpFnD(a,"\1keypress\1inp.pwd\1");
				_ael(objInp,obj,fnOA);
				if(!bF) engn.dcdFnCrCmp(a,bDt,szId);
				engn.cmpAddFn(szId);
				var objA=_gel("dt_aux_"+szId);
				var objL=_cel("div");
				objL.id="dPwdMsg";
				objL.innerHTML="Livello di sicurezza";
				_ael(objL,objA);
				objL=_cel("div");
				objL.id="dPwdLvl";
				_ael(objL,objA);
				var objD=_cel("div");
				objD.innerHTML="Ripeti";
				_ael(objD,obj);
				var objC=_cel("input");
				objC.id=szId+"_cnf";;
				objC.type="password";
				objC.style.width=iw+"px";
				addEvent(objC,"blur",chk.ctrl.pwdd,false);
				addEvent(objC,"blur",inp.pwd,false);
				_ael(objC,obj);
				return;
			case "mail":
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				engn.crPpFnD(a,"\1blur\1chk.ctrl.eml\1");
				break;
			case "url":
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwl);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				engn.crPpFnD(a,"\1blur\1chk.ctrl.url\1");
				break;
			case "text"://richtext
				var szStl="";
				if(a.iStlRchTxt>0){
					var ar=[["","--- seleziona stile ---"],["-","Rimuovi stile"]];
					for(var i=1;i<=a.iStlRchTxt;i++){
						ar.push(["rteStl_"+i,"Stile "+i]);
					}
					var arCmp=[];
					arCmp.push(new sCmp());
					arCmp[0].nm="Stili";
					arCmp[0].nmDb="stl_-"+szId+"-";
					arCmp[0].tp="combo";
					arCmp[0].cmb=ar;
					arCmp[0].cmb_bSel=false;
					arCmp[0].cmb_bStl=true;
					engn.crPpFnD(arCmp[0],"\1change\1rteStl\1");
					var k=arMain.length;
					arMain.push(new sMain());
					arMain[k].id=k;
					arMain[k].arCmp=arCmp;
					szStl+="<div class=\"retStl\" id=\"dAjstl_-"+szId+"-_"+k+"\"></div>";
				}
				var szV=(a.vl)?rawurlencode(a.vl):"";
				var sz="";
				var pp="|bold|italic|underline|blackdot|justifyleft|justifycenter|justifyright|justifyfull|blackdot|inserthorizontalrule|blackdot|insertorderedlist|insertunorderedlist|blackdot|outdent|indent|blackdot|hyperlink|blackdot|";
				var arI=ppArr(pp);
				for(var i=0;i<arI.length;i++){
					if(arI[i]=="blackdot") sz+="<img class=\"rteVertSep\" src=\""+szUrlNgn+"imgDef/rte/blackdot.gif\" alt=\"\" />";
					else if(arI[i]=="hyperlink") sz+="<img class=\"rteImg\" src=\""+szUrlNgn+"imgDef/rte/hyperlink.gif\" id=\"|frm_"+szId+"\" alt=\"Insert Link\" title=\"Insert Link\" onclick=\"insLnk(event,this,'frm_"+szId+"')\" />";
					else sz+="<img class=\"rteImg\" src=\""+szUrlNgn+"imgDef/rte/"+arI[i]+".gif\" alt=\""+arI[i]+"\" title=\""+arI[i]+"\" onclick=\"rteCmd('frm_"+szId+"','"+arI[i]+"','')\" />";
				}
				sz+=szStl; 
				sz+="<div class=\"dClr\"></div>";
				sz+="<iframe id=\"frm_"+szId+"\" name=\"frm_"+szId+"\" class=\"rteFrame\" frameborder=\"0\" src=\""+szUrlNgn+"blank.htm\" ></iframe>";
				sz+="<input type=\"hidden\" id=\""+szId+"\" name=\""+szId+"\" value=\""+szV+"\" />";
				objInp=_cel("div");
				objInp.className="rteDiv";
				objInp.innerHTML=sz;
				var obj=_gel("dAj"+szId);
				if(!obj) obj=_gel("dt_"+arDt.id);
				_ael(objInp,obj,fnOA);
				if(a.iStlRchTxt>0) engn.crCmp(arMain[k],arMain[k].arCmp[0]);
				initRTE();
				enableDesignMode("frm_"+szId,szV,false);
				return;
			case "date":
				if(bF||a.fltr_frc){
					var obj=_gel("dt_cnt_"+szId);
					if(obj){
						_rel(obj);
						obj=false;
					}
					if(!obj){
						obj=_cel("div");
						obj.id="dt_cnt_"+szId;
						obj.style.width="250px";
						var szVlDa="";
						var szVlAl="";
						if(a.fltr_dt_vl_da) szVlDa=a.fltr_dt_vl_da;
						if(a.fltr_dt_vl_al) szVlAl=a.fltr_dt_vl_al;
						if(szVlDa==""&&a.fltr_dt_prdf_da) szVlDa=a.fltr_dt_prdf_da;
						if(szVlAl==""&&a.fltr_dt_prdf_al) szVlAl=a.fltr_dt_prdf_al;
						var sz="dal: <input type=\"text\" style=\"width:"+(9*iwn)+"px;text-align:right;\" onclick=\"cal.gst(this,event);\" onblur=\"chk.ctrl.dt(this);\" onkeypress=\"inp.dt(event);\" maxlength=\"10\" id=\""+szId+"_da\" value=\""+szVlDa+"\" />";//readonly=\"readonly\" 
						sz+="<img src=\""+szUrlNgn+"imgDef/cal.png\" id=\""+szId+"_da_date\" class=\"imgCalF\" onclick=\"cal.gst(this,event);\" />";
						sz+=" al: <input type=\"text\" style=\"width:"+(9*iwn)+"px;text-align:right;\" onclick=\"cal.gst(this,event);\" onblur=\"chk.ctrl.dt(this);\" onkeypress=\"inp.dt(event);\" maxlength=\"10\" id=\""+szId+"_al\" value=\""+szVlAl+"\" />";
						sz+="<img src=\""+szUrlNgn+"imgDef/cal.png\" id=\""+szId+"_al_date\" class=\"imgCalF\" onclick=\"cal.gst(this,event);\" />";
						obj.innerHTML=sz;
						_ael(obj,_gel("dAj"+szId));	
					}
					return;
				}
				if(szVl){
					szVl=dtPrnt(szVl);
					a.vl=objInp.value=szVl;
				}
				objInp.type="text";
				if(a.bWCmp) objInp.style.width=(9*iwn)+"px";
				objInp.style.textAlign="right";
				engn.crPpFnD(a,"\1keypress\1inp.dt\1");
				engn.crPpFnD(a,"\1click\1cal.gst\1");
				engn.crPpFnD(a,"\1change\1chk.ctrl.dt\1");
				if((bDt&&!a.dt_rdOnl)||(!bDt&&!a.nw_rdOnl)){
					var objImg=_cel("img");
					objImg.id=szId+"_date";
					objImg.className="imgCal";
					objImg.src=szUrlNgn+"imgDef/cal.png";
					_ael(objImg,_gel("dt_aux_"+szId));
					addEvent(objImg,"click",cal.gst,false);
				}
				break;
			case "dtTm":
				szVl=dtTmPrnt(szVl);
				break;
			case "time":
				if((bDt&&!a.dt_rdOnl)||(!bDt&&!a.nw_rdOnl)) _gel("dt_aux_"+szId).innerHTML="hh:mm:ss";
				objInp.style.width="60px";
				objInp.style.textAlign="right";
				a.lngMn=3;
				a.lngMx=8;
				engn.crPpFnD(a,"\1keypress\1inp.tm\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.tm\1");
				break;
			case "gmap":
				cmp.gmap.cr(szId);
				engn.crImgNmC(szId,"gmaps.png","YouTube");
				return;
			case "gmapDrw":
				var obj=_cel("div");
				obj.className="gmapDrw";
				obj.id="gmapDrw"+szId;
				obj.innerHTML=sz;
				_ael(obj,_gel("dAj"+szId));
				gmap.cmp=a;
				gmap.init(szId,!bRO);
				a.vl=szVl;
				return;
			case "clr":
				a.lngMn=7;
				a.lngMx=7;
				if(szVl) a.vl=objInp.value=szVl;
				objInp.type="text";
				if(a.bWCmp) objInp.style.width=(7*iwl)+"px";
				objInp.style.textAlign="right";
				engn.crPpFnD(a,"\1click\1clr.gst\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.clr\1");
				engn.crPpFnD(a,"\1keypress\1inp.clr\1");
				var objC=_cel("div");
				objC.id=szId+"_clr";
				objC.className="dClrPkr";
				if(szVl) objC.style.backgroundColor=szVl;
				_ael(objC,_gel("dt_aux_"+szId));
				addEvent(objC,"click",clr.gst,false);
				break;
			case "hide":
				return;
			case "CF":
				if(a.bWCmp) objInp.style.width=((9*iwl)+(7*iwn))+"px";
				engn.crPpFnD(a,"\1change\1chk.ctrl.stUC\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.cf.err\1");
				break;
			case "PI":
				if(a.bWCmp) objInp.style.width=(13*iwl)+"px";
				a.dt_fnCrCmp=a.nw_fnCrCmp=cmp.pi;
				engn.crPpFnD(a,"\1change\1chk.ctrl.stUC\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.pi.err\1");
				break;
			case "bigint":
			case "tinyint":
			case "int":
			case "intNF":
				
				if(szVl){
					if(szTC=="intNF"){
						if(parseInt(szVl)==0) a.vl=objInp.value="";
						else a.vl=objInp.value=szVl;
					}else a.vl=objInp.value=parseInt(szVl);//vlPrnt(szVl);
				}
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwn);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				objInp.style.textAlign="right";
				engn.crPpFnD(a,"\1keypress\1inp.nan\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.int\1");
				break;
			case "decimal":
				if(szVl){
					szVl=vlPrnt(szVl);
					a.vl=objInp.value=szVl;/////////////////////////mod 03/06/11
				}
				objInp.type="text";
				if(a.bWCmp){
					var iw=(iMx*iwn);
					if(iw>240) iw=240;
					objInp.style.width=iw+"px";
				}
				objInp.style.textAlign="right";
				engn.crPpFnD(a,"\1keypress\1inp.nan\1");
				engn.crPpFnD(a,"\1blur\1chk.ctrl.dec\1");
				break;
			case "check":
				objInp=_cel("div");
				var szFn="";
				objInp.innerHTML=cmp.chk.cr(szId,1,a.lbl,szFn,(a.vl==1),a,arDt);
				engn.crPpFnD(a,"\1click\1cmp.chk.st\1");
				break;
			case "combo":
				if(a.nmDb=="idStt") engn.crPpFnD(a,"\1change\1chk.ctrl.pi.chg\1");
				if((parseInt(szV)==0||szV=="")&&a.dt_prdf&&!bDt) a.vl=a.dt_prdf;
				if(a.jn){// è un ajax
					if(a.idCmpRif){// ha un campo di riferimento e un valore
						if(szVlRif||szId.indexOf("|")>-1){
							a.ajCmb=false;
							a.bAjLdd=false;
							cmp.aj.gtPpCmb(false,szId,a,false,false,arDt);//pp,szId,arCmp,fnOK,fnKO
						}else _gel("dAj"+szId).innerHTML=a.szMsgNoCmb;
					}else{
						a.ajCmb=false;
						a.bAjLdd=false;
						cmp.aj.gtPpCmb(false,szId,a,false,false,arDt);
					}
				}else{
					cmp.cmb.cr(a,a.cmb,szId,szVl,a.cmb_bSel);//,bF
					if(!bF) engn.dcdFnCrCmp(a,bDt,szId);
				}
				return;
			case "ppCheck":
				_rel(_gel("dHCmp_"+szId));
				if(a.ppFnD.indexOf("cmp.ppChk.upd")<0) engn.crPpFnD(a,"\1click\1cmp.ppChk.upd\1");
				a.ajCmb=false;
				a.bAjLdd=false;
				if(a.jn){
					if(a.idCmpRif){
						var objPpC=_gel("dAj"+szId);
						//cmp.aj.gtPpChk(false,szId,a,false,arDt);
						//alert("ppCheck\n\n"+szId+"\n"+a.cmb+"\n\na.jn.indexOf(#): "+a.jn.indexOf("#")+"\n\nszVlRif: "+szVlRif);
						if(szVlRif>""||a.jn.indexOf("#")<0) cmp.aj.gtPpChk(false,szId,a,false,arDt);
						else objPpC.innerHTML=a.szMsgNoCmb;
					}else cmp.aj.gtPpChk(false,szId,a,false,arDt);
				}else cmp.ppChk.cr(arDt,a);//cmp.aj.gtPpChk(false,szId,a);
				if(!bF) engn.dcdFnCrCmp(a,bDt,szId);
				return;
			case "ppAdd":
			case "ppTb":
				var sz="";
				if(szTC=="ppTb"){
					sz="Aggiungi un filmato";
					a.dt_fnCrCmp=a.nw_fnCrCmp=cmp.ppTb.cr;
					a.drg_endFn=cmp.ppTb.rng;
				}
				_rel(_gel("dHCmp_"+szId));
				var objLst=_cel("div");
				objLst.id="uplLst_"+szId;
				objLst.className="uplLst";
				//objLst.style.backgroundColor="#f00";
				_ael(engn.crDClr(false,"uplLst_"+szId+"_clear"),objLst);
				_ibl(objLst,_gel("dAj"+szId));
				var o=_gel("dt_nte_"+szId);
				_ibl(engn.crDClr(),o);
				var bAdd=false;
				if(a.add_iMx===false) bAdd=true;
				else{
					if(parseInt(a.add_iMx)>0) bAdd=true;
				}
				if(bAdd) _ibl(engn.crPls("add_btt_"+szId,false,sz,a.add_fnAddMd),o);
				if(!bF) engn.dcdFnCrCmp(a,bDt,szId);
				return;
			case "ppFl":
			case "ppPh":
				a.drg_endFn=upl.rng;
				_rel(_gel("dHCmp_"+szId));
				var objNte=_gel("dt_nte_"+szId);
				var objLst=_cel("div");
				objLst.id="uplLst_"+szId;
				objLst.className="uplLst";
				_ibl(objLst,objNte);
				var obj=_cel("div");
				obj.id="uplMod_"+szId;
				var intID=cmp.gtVl("intID");
				if(intID===false) intID="";//"tmpFl-"+arDt.idUsr;
				var szAct=(szTC=="ppPh")?"&amp;_sz="+a.ppImgD+"_"+a.ppImgS:"";
				var sz="<form id=\"uplF_"+szId+"\" name=\"uplF_"+szId+"\" action=\""+szUrlLcl+"php/upload.php?_c="+szId+"&amp;_s="+arDt.sffx+"&amp;_t="+arDt.tbl+szAct+"&amp;_nc="+Math.random()+"\" method=\"post\" target=\"uplFrm_"+szId+"\" enctype=\"multipart/form-data\">";
				sz+="<div id=\"uplCmd_"+szId+"\"></div>";
				sz+="<input type=\"hidden\" id=\"uplIdR_"+szId+"\" name=\"uplIdR_"+szId+"\" value=\""+intID+"\" />";
				sz+="</form><iframe class=\"uplFrm\" name=\"uplFrm_"+szId+"\" id=\"uplFrm_"+szId+"\" src=\""+szUrlNgn+"blank.htm\" ></iframe>";
				obj.innerHTML=sz;
				_ibl(obj,objNte);
				var ar=ppArr(a.vl,"\6");
				if(ar.length<a.nFMx&&!bRO) _ael(upl.btt(szId),_gel("uplCmd_"+szId));
				_ael(engn.crDClr(false,"uplLst_"+szId+"_clear"),objLst);
				for(var i=0;i<ar.length;i++) upl.cr(ppArr(ar[i],"\5"),szId,arDt.sffx,a.bDelF,i);
				return;
			case "hist":
				var sz="";
				if(szVl>""){
					var ar2=ppArr(szVl,"\2");
					ar2.reverse();
					var b=false;
					var k=ar2.length;
					if(ar2.length>3){
						b=true;
						k=3;
					}
					for(var i=0;i<k;i++){
						var ar1=ppArr(ar2[i],"\1");
						sz+=dtTmPrnt(ar1[2])+" - "+ar1[0]+" "+ar1[1]+"<br />";
					}
					if(b) sz+=engn.crBttAdd("cmp.hist",szId,"mostra tutto",false,"bbtTxt",1,true);
					szVl=sz;
				}
				break;
		}
		var obj=_gel("dAj"+szId);
		if(!obj) obj=_gel("dt_"+arDt.id);
		var bRO=(bDt)?a.dt_rdOnl:a.nw_rdOnl;
		if(bRO){
			obj.innerHTML=szVl;
		}else{
			var bDis=false;
			if(a.nw_bDis&&!bDt||a.dt_bDis&&bDt) objInp.disabled=true;
			_ael(objInp,obj,fnOA);
			engn.cmpAddFn(szId);
		}
		if(!bF) engn.dcdFnCrCmp(a,bDt,szId);
	},
	NOSS:function(){
		alrt.cr("Sessione scaduta","dAlrtKO");
		setTimeout("window.top.location.reload()",1500);
	},
	chgDm:function(){
		var objDt=_gel("dDtC");
		var objCnt=_gel("cnt");
		var ar=areaDoc();
		var arS=scrollDoc();
		var iD=(_isIE)?0:3;
		var iST=document.documentElement.scrollHeight;
		var iH=objDt.offsetTop;
		objDt.style.width=(objCnt.offsetWidth-_gel("dDtM").offsetWidth)+"px";
		objDt.style.height=(ar[1]-iD-iH)+"px";
		var a=objDt.childNodes;
		for(var i=0;i<a.length;i++){
			if(!a[i].id) continue;
			if(a[i].id=="dW"){
				a[i].style.width=objDt.offsetWidth+"px";
				a[i].style.height=objDt.offsetHeight+"px";
				break;
			}
		}
	},
	shwStrct:function(ar){
		var sz="";
		if(!ar.length){
			for(x in ar) sz+=x+": "+ar[x]+"\n";
		}else{
			for(var i=0;i<ar.length;i++){
				for(x in ar[i]) sz+=x+": "+ar[i][x]+"\n";
				sz+="\n";
			}
		}
		alert(sz);
	},
	crDClr:function(iH,szId){
		var o=_cel("div");
		if(szId) o.id=szId;
		o.className="dClr";
		if(iH) o.style.height=iH+"px";
		return o;
	},
	crDCls:function(id,fn,szClss){
		var o=_cel("div");
		o.id="add_cls_"+id;
		o.className=(szClss)?szClss:"dCls";
		addEvent(o,"click",fn,false);
		return o;
	},
	ajxAssc:function(arRec,b){
		var n=(!b)?1:0;
		arRec=arRec[0];
		var ar=[];
		var arI=arRec[0];
		for(var i=1;i<arRec.length;i++){
			var a=[];
			for(var j=n;j<arI.length;j++){
				a[arI[j]]=arRec[i][j];
			}
			ar.push(a);
		}
		return ar;
	},
	ajxAsscZ:function(arRec){
		return engn.ajxAssc(arRec,true);
	}
}
var whtng={
	cr:function(obj,b,szClss){
		if(_gel("dWAll")&&!obj) return false;////aggiunto &&!obj 28/04/2011
		var bS=false;
		var id="dW";
		var iH=0;
		if(!obj){
			obj=document.body;
			id+="All";
			if(document.documentElement.clientHeight>document.body.clientHeight){
				bS=true;
				iH=document.documentElement.clientHeight;
			}else iH=document.body.clientHeight;
		}else{
			if(obj.scrollHeight>obj.offsetHeight){
				bS=true;
				iH=obj.scrollHeight;
			}else iH=obj.offsetHeight;//obj.offsetHeight;
		}
		var iW=obj.offsetWidth;
		if(bS) iW-=18;
		var a=obj.childNodes;
		for(var i=0;i<a.length;i++){
			if(!a[i].id) continue;
			if(a[i].id=="dW") return false;
		}
		if(!szClss) szClss="dW";
		var objW=_cel("div");
		objW.id=id;
		objW.className=szClss;
		objW.style.width=iW+"px";
		objW.style.height=iH+"px";
		obj.style.position="relative";
		_ael(objW,obj);
		if(b){
			var objL=_cel("div");
			objL.id="dLdrInsd";
			objL.className="dLdr";
			objL.style.position="absolute";
			objL.innerHTML="<img src=\""+szUrlNgn+"imgDef/loader8.gif\" alt=\"Loading\" /> Loading...";
			_ael(objL,obj);
			cntrObj(objL,objL.offsetWidth,objL.offsetHeight,obj);
		}
		return objW;
	},
	rm:function(obj){
		if(!obj) obj=document.body;
		var bW,bL;
		var o=obj.childNodes;
		var ar=[];
		for(var i=0;i<o.length;i++){
			//if(o[i].className=="dW"){
			if(o[i].id=="dW"||o[i].id=="dWAll"){
				ar.push(o[i]);
				bW=1;
			}
			if(o[i].id=="dLdrInsd"){
				ar.push(o[i]);
				bL=1;
			}
			if(bW&&bL) break;
		}
		for(var i=0;i<ar.length;i++) _rel(ar[i]);
	},
	rmLdr:function(obj){
		if(!obj) obj=document.body;
		var o=obj.childNodes;
		var oL;
		for(var i=0;i<o.length;i++){
			if(o[i].id=="dLdrInsd"){
				_rel(o[i]);
				return;
			}
		}
	}
}
var alrt={
	cnfrmFnOK:false,
	cnfrmArgsOK:false,
	cnfrmFnKO:false,
	cnfrmArgsKO:false,
	cr:function(sz,szClss,arOK,arKO,objP){
		alrt.cnfrmFn=false;
		alrt.cnfrmArgs=false;
		alrt.cnfrmB=false;
		whtng.cr(objP);
		var obj=_cel("div");
		obj.id="dAlrt";
		if(szClss) obj.className=szClss;
		if(_isIE) obj.style.width="600px";
		obj.innerHTML=sz;
		if(arOK||arKO){//ho almeno un pulsante
			_ael(engn.crDClr(6),obj);
			if(arOK){
				var sz=(arOK[0])?arOK[0]:"Annulla";
				if(arOK[1]) alrt.cnfrmFnOK=arOK[1];
				if(arOK[2]) alrt.cnfrmArgsOK=arOK[2];
				var szC=(arOK[3])?arOK[3]:"dAlrtBttOK";
				_ael(engn.crPls("clsOK",szC,sz,"\2\1click\1alrt.rmF\1\2"),obj);
			}
			if(arKO){
				if(arOK){
					var oS=_cel("div");
					oS.style.cssFloat="right";
					oS.style.padding="2px";
					_ael(oS,obj);
				}
				var sz=(arKO[0])?arKO[0]:"Conferma";
				if(arKO[1]) alrt.cnfrmFnKO=arKO[1];
				if(arKO[2]) alrt.cnfrmArgsKO=arKO[2];
				var szC=(arKO[3])?arKO[3]:"dAlrtBttKO";
				_ael(engn.crPls("clsKO",szC,sz,"\2\1click\1alrt.rmF\1\2"),obj);
			}
			_ael(engn.crDClr(),obj);
		}
		_ael(obj,objP);
		cntrObj(obj,obj.offsetWidth,obj.offsetHeight,objP);
	},
	rm:function(){
		_rel(_gel("dAlrt"));
		_rel(_gel("dWAll"));
		//alert("alrt.rm")
	},
	rmT:function(szMsg,szClss,iT){
		if(szMsg) alrt.chgMsg(szMsg,szClss);
		if(!iT) iT=1500;
		setTimeout(alrt.rmF,iT);
	},
	rmF:function(e){
		var o=_gee(e);
		if(o){
			if(o.id.indexOf("OK")>-1){
				if(alrt.cnfrmFnOK) alrt.cnfrmFnOK(alrt.cnfrmArgsOK);
			}
			if(o.id.indexOf("KO")>-1){
				if(alrt.cnfrmFnKO) alrt.cnfrmFnKO(alrt.cnfrmArgsKO);
			}
		}
		gstFdd(_gel("dAlrt"),100,-1,alrt.rm);
	},
	chgMsg:function(sz,szClss,bAdd){
		var obj=_gel("dAlrt");
		if(bAdd) obj.innerHTML+="<br />"+sz;
		else obj.innerHTML=sz;
		if(szClss) obj.className=szClss;
		cntrObj(obj,obj.offsetWidth,obj.offsetHeight);
	},
	crSV:function(szMsg){
		if(!szMsg) szMsg="Salvataggio.";
		alrt.cr("<img src=\""+szUrlNgn+"imgDef/loader16.gif\" alt=\"\" /> "+szMsg,"dAlrt");
	},
	crErr:function(szMsg,arOK,arKO,objP){
		if(!arOK) arOK=["chiudi"];//array 0->lbl	1->fn	2->args		3->class
		var o=_gel("dAlrt");
		if(o){
			var oCd=_gel("dAlrtCd");
			if(oCd) oCd.innerHTML+="<br />"+szMsg;
			else alrt.chgMsg(szMsg);//,false,true
		}else alrt.cr("<b>Si &egrave; verificato un errore</b><br />Contattare l'amministratore e fornire il seguente codice: <code id=\"dAlrtCd\">"+szMsg+"</code><br />Ci scusiamo per il disagio.","dAlrtKO",arOK,arKO,objP);
	}
}
var lst={
	_s:false,
	_so:false,
	_tp:false,
	cr:function(sffx,bBtts){
		var iK=engn.gtIkSffx(sffx);
		var arL=arMain[iK];
		if(!arL) return;
		if(arL.lst_bSkp){
			lst.skp.gt(arL);
			return;
		}
		if(sbMnBtts.bLst){
			var arM=sbMnBtts.arToDt;
			sbMnBtts.cr(arL);
		}else var arM=gstMn.arM;
		var iKMn=arGetKey(arM,"sffx",sffx);
		var sz=arM[iKMn].lbl;
		var obj=_cel("div");
		obj.id="lst_"+arL.id;
		obj.className=arL.lst_cD;
		var objDt=_gel("dDtC");
		if(objDt){
			whtng.rm(objDt);
			_ael(obj,objDt);
		}else _ael(obj);
		var id=arL.id;
		var objTit=_cel("div");
		objTit.id="lst_tit_"+id;
		objTit.className=arL.lst_cDT;
		_ael(objTit,obj);
		if(lgn.usrNfo.ar[0].tp==4) arL.lst_bNw=false;
		if(arL.lst_bNw&&!(!sbMnBtts.init(arL)&&bNasc)) _ael(engn.crBttAdd("lst.nwRc","nw_"+arL.id,"Nuovo","dDtLstBack","dBttLstBck"),objTit);
		var objMT=_cel("div");
		objMT.id="dt_mt"+id;
		objMT.className=arL.lst_cDMT;
		objMT.innerHTML=(arL.lst_tit)?arL.lst_tit:sz;
		_ael(objMT,objTit);
		var objDC=_cel("div");
		objDC.className="dClr";
		_ael(objDC,objTit);
		var objCF=_cel("div");
		objCF.id="lst_fltr_cmd_"+id;
		objCF.className=arL.fltr_cDCF;
			var objFltr=_cel("div");
			objFltr.id="lst_fltr_"+id;
			objFltr.className=arL.fltr_cD;
			_ael(objFltr,objCF);
			var objCmd=_cel("div");
			objCmd.id="lst_cmd_"+id;
			objCmd.className=arL.fltr_cDC;
			_ael(objCmd,objCF);
		_ael(objCF,obj);
		var objInt=_cel("div");
		objInt.id="lst_int_"+id;
		objInt.className=arL.lst_cDI;
		_ael(objInt,obj);
		var objRes=_cel("div");
		objRes.id="dAjlst_"+id;///cambiare nome in lst_res_0
		objRes.className=arL.lst_cDR;
		_ael(objRes,obj);
		var objPgnz=_cel("div");
		objPgnz.id="lst_pgnz_"+id;
		objPgnz.className=arL.lst_cDP;
		_ael(objPgnz,obj);
		_ael(engn.crDClr(),obj);
		lst.fltr.cr(arL);
		var obj=_cel("div");
		var objCmd=_gel("lst_cmd_"+arL.id);
		obj.className=arL.fltr_cDInLn;
		var sz="Numero record <input type=\"text\" id=\"fltr_n_"+arL.id+"\" name=\"fltr_n_"+arL.id+"\" class=\""+arL.fltr_cCN+"\" onkeypress=\"lst.fltr.ntr(this,event);\" value=\""+arL.lst_n+"\" />";
		obj.innerHTML=sz;
		_ael(engn.crPls("fltr_btt_"+arL.id,arL.fltr_cB,"Filtra","\2\1click\1"+arL.lst_fnFltr+"\1\2"),objCmd);
		_ael(obj,objCmd);
		obj=_cel("div");
		obj.className=arL.fltr_cDInLn;
		sz="Cerca <input type=\"text\" id=\"fltr_s_"+arL.id+"\" name=\"fltr_s_"+arL.id+"\" class=\""+arL.fltr_cCS+"\" onkeypress=\"lst.fltr.ntr(this,event);\" value=\""+arL.fltr_srch+"\" />";
		obj.innerHTML=sz;
		_ael(obj,objCmd);
		_ael(engn.crDClr(),objCmd);
		if(arL.lst_ppBtts){
			var objFtr=_cel("div");
			objFtr.id="dt_btts"+arL.id;
			objFtr.className=arL.dt_cDFtr;
			
			//szFn,szNmCmp,szLbl,szClss,szClssBtt,szPar,b
			_ael(engn.crDClr(20),objFtr);
			var ar6=ppArr(arL.lst_ppBtts,"\6");
			for(var i=0;i<ar6.length;i++){
				var ar5=ppArr(ar6[i],"\5");
				var szClssBtt=(ar5[3]>"")?ar5[3]:"dBttPrnt";
				_ael(engn.crBttAdd(ar5[1],"grm_"+arL.id,ar5[0],ar5[2],szClssBtt,ar5[4],false),objFtr);
			}
			_ael(objFtr,objDt);
		}
		//lst.gt(arL);
		eval(arL.lst_fnGt)(arL);
	},
	nwRc:function(idDt){
		var iK=engn.gtCmp(idDt,true);
		engn.rstVls(arMain[iK]);
		dt.nwRc(idDt);
	},
	nw:function(obj,szId){
		dt.nw(obj,true,szId);
	},
	gt:function(arL){
		_gel("dAjlst_"+arL.id).className=arL.lst_cDRL;
		arL.lst_ar=false;
		arL.lst_arInt=false;
		var pp="\3"+arL.lst_pg+"\3"+arL.tbl+"\3\2";
		var ar=arL.arCmp;
		var bDelVl=null;
		for(var i=0;i<ar.length;i++){
			if(ar[i].nmDb=="bDel"){
				bDelVl=ar[i].fltr_vl;
				continue; 
			}
			//alert(ar[i].nmDb+"\n"+ar[i].vl+"\n"+ar[i].fltr_vl+"\n"+arL.id+"\n"+ar[i].jn)
			if(!ar[i].lst_B&&!ar[i].fltr_B) continue;
			//if(!ar[i].fltr_bUse) continue;
			//alert("2\n\n\n"+ar[i].nmDb+"\n\n"+ajn+"\n"+ar[i].fltr_vl);
			if(ar[i].nmDb=="intID"&&arL.lst_s=="intID") ar[i].lst_s=1;
			if(ar[i].fltr_B&&!ar[i].fltr_bUse){
				
				//alert("2\n\n\n"+ar[i].nmDb+"\n\n"+ar[i].fltr_vl);
				
				if(ar[i].fltr_vl===false||ar[i].fltr_vl=="") continue;
				var arC=arL.arCmp;
				for(var j=0;j<arC.length;j++){
					if(arC[j].jn===false) continue;
					if(!arC[j].fltr_bUse) continue;
					if(arC[j].jn.indexOf("#"+ar[i].nmDb+"#")>-1){
						var ar6=ppArr(arC[j].jn,"\6");
						pp+=ar6[1]+"."+ar[i].nmDb+"\1\1\1"+ar[i].fltr_vl+"\1"+ar[i].fltr_mdWhr+"\1A\1|F\2";
						break;
					}
				}
				continue;
			}
			var ajn=ar[i].jn;
			if(ar[i].jn){
				////////questo server per i join nel join, gli elimino che in lista non servono
				ar[i].jn=ar[i].jn.replace("###fltr###","");
				
				
				ar[i].jn=ar[i].jn.replace("||A","||");
				ar[i].jn=ar[i].jn.replace("||D","||");
				ar[i].jn=ar[i].jn.replace("|F|A","|F|");
				ar[i].jn=ar[i].jn.replace("|F|D","|F|");
				
				
				
				//alert("1\n\n\n"+ar[i].nmDb+"\n\n"+ajn+"\n"+ar[i].fltr_vl);
				var arJnNoJn=[];
				var ar5=ar[i].jn.split("\5");
				for(var j=0;j<ar5.length;j++){
					//alert(ar5[j]);
					if(ar5[j].indexOf("\21\20")<0) arJnNoJn.push(ar5[j]);
				}
				
				
				//elimino i sort degli ajpp
				//per fare in modo che la lista sia sempre ordinata per quello che scelgo io
				//mod 12-11-11
				
				//alert(ar5);
				
				
				
				ar[i].jn=arJnNoJn.join("\5");
				if(ar[i].dt_tC=="ppCheck"){//mi permette di usare i ppCheck nei filtri come combo
					if(ar[i].fltr_vl){
						pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1";
						pp+=ar[i].fltr_vl+"\1PPL\1\1|F";
						pp+="\1\1\1\2";
					}
					continue;
				}
				if(!ar[i].nll){
					if(!ar[i].fltr_vl){
						if(ajn.indexOf("bDel")>-1){
							var ar6=ppArr(ajn,"\6");
							var ar5=ppArr(ar6[0],"\5");
							for(var j=0;j<ar5.length;j++){
								if(ar5[j].indexOf("bDel\1")==0){
									var ar1=ar5[j].split("\1");
									ar1[0]=ar1[0]+",tbl."+ar[i].nmDb;
									ar1[3]=ar1[3]+",0";
									if(ar1[5]>"") ar1[5]=ar1[5]+",O";
									else ar1[5]="O,O";
									ar5[j]=ar1.join("\1");
								}
							}
							ar6[0]=ppStr(ar5,"\5");
							ar[i].jn=ppStr(ar6,"\6");
						}
					}
				}
				if((ar[i].fltr_Bsrch&&arL.fltr_srch&&ar[i].fltr_jnCmpSrch)||ar[i].lst_s){//se ho cercato o è un sort
					var arCmpSrch=ppArr(ar[i].fltr_jnCmpSrch);
					var ar6=ppArr(ar[i].jn,"\6");
					var ar5=ppArr(ar6[0],"\5");
					var ar5Old=ar5;
					for(var j=0;j<ar5.length;j++){
						if(ar5[j].indexOf("#")>-1) continue;
						var arW=[];
						var szW=szTW=szMW="";
						var ar1=ar5[j].split("\1");
						var arCmp=ar1[0].split(",");
						var arSWOG=ar1[6].split("|");
						if(arL.fltr_srch){
							for(var k=0;k<arCmp.length;k++){
								if((arCmp[k].indexOf("_")==0&&(arCmp[k].indexOf("_")==arCmp[k].length-1&&arCmp[k].length>1))) continue;
								//problema nella ricerca dei campi concat
								for(var l=0;l<arCmpSrch.length;l++){
									if(arCmpSrch[l]==arCmp[k]){
										if(szW>""){
											szW+=",";
											szTW+=",";
											szMW+=",";
										}
										szW+=arL.fltr_srch;
										szTW+="L";
										szMW+="O";
									}
								}
							}
							if(szW>""){
								ar1[3]=szW;
								ar1[4]=szTW;
								ar1[5]=szMW;
								arSWOG[1]="F";
							}
						}
						if(ar[i].lst_s&&ar1[1]==arL.lst_s) arSWOG[2]="U"+ar[i].lst_so;
						ar1[6]=arSWOG.join("|");
						ar5[j]=ar1.join("\1");
					}
					ar6[0]=ppStr(ar5,"\5");
					ar[i].jn=ppStr(ar6,"\6");
				}
				if(ar[i].jn.indexOf("#")>-1){
					var ar5N=[];
					var ar6=ppArr(ar[i].jn,"\6");
					var ar5=ppArr(ar6[0],"\5");
					for(var j=0;j<ar5.length;j++){
						//alert(ar5[j]);
						if(ar5[j].indexOf("#")<0){
							if(!ar[i].nll){
								var ar1=ar5[j].split("\1");
								if(ar1[ar1.length-1].indexOf("F")>-1) continue;
							}
							ar5N.push(ar5[j]);
						}
					}
					ar6[0]=ppStr(ar5N,"\5");
					pp+=ppStr(ar6,"\6");
				}else pp+=ar[i].jn;
				ar[i].jn=ajn;
			}else{
				var sz_TC=(ar[i].lst_tC)?ar[i].lst_tC:(ar[i].dt_tC)?ar[i].dt_tC:ar[i].tp;
				//if(ar[i].dt_tC=="date"||ar[i].fltr_tC=="date"){
				if(sz_TC=="date"||ar[i].fltr_tC=="date"){
					var objD=_gel("__f"+ar[i].nmDb+"_"+arL.id+"_da");
					var objA=_gel("__f"+ar[i].nmDb+"_"+arL.id+"_al");
					pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1";
					
					if(objD){
						if(!objD.value&&!objA.value) pp+="\1\1\1S|";
						else pp+=dtSv(objD.value)+"_"+dtSv(objA.value)+"\1DT\1\1S|F";
					}else pp+="\1\1\1S|";
					
					if(ar[i].lst_s&&arL.lst_s==ar[i].nmDb) pp+="|"+ar[i].lst_so;//order
					pp+="\1\1\1S";
					pp+="\2";
					continue;
				}
				pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1";
				//alert(ar[i].nmDb+"\n"+ar[i].fltr_Bsrch+"\n"+arL.fltr_srch);
				if(ar[i].fltr_Bsrch&&arL.fltr_srch) pp+=arL.fltr_srch+"\1L\1"+((ar[i].fltr_mdWhrAO)?ar[i].fltr_mdWhrAO:"O")+"\1S|F";
				//else pp+=arL.fltr_srch+"\1\1\1S|";
				else pp+="\1\1\1S|";
				if(ar[i].lst_s&&arL.lst_s==ar[i].nmDb){//order
					switch(ar[i].tp){
						default:
							pp+="|U"+ar[i].lst_so;
							break;
						case "integer":
						case "decimal":
						case "bigint":
						case "tinyint":
							pp+="|"+ar[i].lst_so;
							break;
					}
				}
			}
			pp+="\2";
			if(ar[i].fltr_vl){
				pp+=ar[i].nmDb+"\1\1\1"+ar[i].fltr_vl+"\1"+ar[i].fltr_mdWhr+"\1"+((ar[i].fltr_mdWhrAO)?ar[i].fltr_mdWhrAO:"A")+"\1|F\2";
				//alert(ar[i].nmDb+"\n\n"+ajn+"\n"+ar[i].fltr_vl);
			}
		}
		if(arL.arLng) pp+="idL\1\1\1"+arL.arLng[0][0]+"\1\1A\1|F\2";//modifica 15/01/2011 per le lingue
		if(!arL.lst_bDDef){//ho il bDel
			if(bDelVl==null||bDelVl=="false"||bDelVl===false) bDelVl=0;
			pp+="bDel\1\1\1"+bDelVl+"\1\1A\1|F\2";//modifica 06/03/11 per il bDel
		}
		if(sbMnBtts.bLst){
			var iKMn=arGetKey(sbMnBtts.arToDt,"sffx",sbMnBtts.szSffx);
			if(iKMn){
				pp+=sbMnBtts.arToDt[iKMn].cmpRif+"\1\1\1"+sbMnBtts.arToDt[iKMn].vl+"\1\1A\1|F\2";
			}
		}
		if(arL.lst_szFnFltr) pp+=eval(arL.lst_szFnFltr)(arL.id);
		pp+="\3"+arL.lst_n+"\3L\3lst.chgPg\3lst_"+arL.id+"\3S\3\3"+arL.db+"\3";
		//alert(pp);
		new ajx("GT",pp,false,"lst_"+arL.id,false,true,true,false,lst.gtOK,lst.gtKO,false,false);
	},
	gtKO:function(idLst){
		var iK=engn.gtCmp(idLst,true);
		var id=arMain[iK].id;
		_gel("lst_int_"+id).innerHTML="";
		_gel("lst_pgnz_"+id).innerHTML="";
		_gel("dAjlst_"+id).className=arMain[iK].lst_cDRE;
		whtng.rm(_gel("lst_int_"+id));
		whtng.rm(_gel("lst_fltr_cmd_"+id));
	},
	gtOK:function(arRec){
		//alert(arRec);
		var iK=engn.gtCmp(arRec[2],true);
		var arL=arMain[iK];
		var objRes=_gel("dAjlst_"+arL.id);
		var arRc=arRec[0];
		objRes.className=arL.lst_cDR;
		arL.lst_arInt=arRc[0];
		lst.hd.rld(arL);
		var arLst=[];
		var sz="<div class=\""+arL.lst_cT+"\">";
		var pp=ppStr(arRc[0]);
		for(var i=0,j=0;i<arL.arCmp.length;i++){
			if(!arL.arCmp[i].lst_B) continue;
			if(!arL.arCmp[i].fltr_bUse) continue;
			if(!ppSrch(pp,arL.arCmp[i].nmDb)) arRc[0].splice(j,0,arL.arCmp[i].nmDb);
			j++;
		}
		for(var i=1;i<arRc.length;i++){
			var kz=((i%2==0)?"A":"B");
			sz+="<div class=\""+arL.lst_cLTR+kz+"\"";
			if(arL.lst_bDt) sz+=" onmouseover=\"objRollOver(this);\" onmouseout=\"objRollOver(this);\" onclick=\"lst.dt("+arL.id+","+arRc[i][0]+",'')\"";
			sz+=">";
			if(arL.lst_bChk) sz+="<div class=\"lstChk\">"+lst.chk.cr(arRc[i][0],arL)+"</div>";
			var arRw=[];
			for(var j=0;j<arRc[0].length;j++){
				var szL="";
				var iKC=arGetKey(arL.arCmp,"nmDb",arRc[0][j]);
				if(iKC===false) continue;
				var a=arL.arCmp[iKC];
				if(!a.fltr_bUse) continue;
				if(!a.lst_B) continue;
				//var vl=(a.lst_fn)?a.lst_fn(arL.arCmp[i][j]):arRc[i][j];
				var vl=(a.lst_fn)?eval(a.lst_fn)(arRc[i][j],arRc[i]):arRc[i][j];///modifica 13/12/2011
				var tC=a.lst_tC;
				//if(!tC) tC=a.dt_tC;
				if(!tC) tC=cmp.gtT(a,true);
				if(a.lst_tC=="hide"){
					arRw[arRc[0][j]]=vl;
					continue;
				}
				var bAlgn=false;
				if(tC=="hide"){
					bAlgn=true;
					tC=a.nw_tC;
				}
				if(tC=="dtTm"){
					vl=dtTmPrnt(vl);
					bAlgn=true;
				}
				if(tC=="date"){
					bAlgn=true;
					vl=dtPrnt(vl);
				}
				if(tC=="decimal"){
					vl=vlPrnt(vl);
					bAlgn=true;
				}
				if(tC=="combo"&&!a.jn){
					var iKc=arGetKey(a.cmb,0,vl);
					if(iKc===false) vl="";
					else vl=a.cmb[iKc][1];
				}
				if(tC=="int"||tC=="integer"||tC=="bigint"||tC=="tinyint") bAlgn=true;
				
				if(bAlgn&&!a.lst_sA) a.lst_sA="right";
				arRw[arRc[0][j]]=vl;
				if(!arL.lst_shw_intID&&arRc[0][j]=="intID") continue;
				szL+="<div class=\""+((a.lst_cTD)?a.lst_cTD:arL.lst_cLTD)+"\"";
				szL+=" style=\"";
				var oHD=_gel("lstI_"+arL.id+"_"+arRc[0][j]);
				if(!oHD) continue;
				var iW=oHD.offsetWidth;
				szL+="width:"+iW+"px;overflow:hidden;";
				if(tC=="clr"&&vl>"") szL+="background-color:"+vl+";";
				szL+=(a.lst_sA)?"text-align:"+a.lst_sA+";":"";
				szL+="\"";
				if(tC=="clr") vl="";
				if(vl==""||vl==undefined) vl="&nbsp;";
				szL+="><div style=\"height:14px;width:"+(iW-1)+"px;overflow:hidden;white-space:nowrap;\"><span class=\"lstSpn\">"+vl+"</span></div></div>";
				sz+=szL;
			}
			arLst.push(arRw);
			if(lgn.usrNfo.ar[0].tp==4) arL.lst_bD=false;
			if(arL.lst_bD) sz+="<div class=\"lstBin\"><img src=\""+szUrlNgn+"imgDef/close.png\" alt=\"Elimina record\" onmouseover=\"this.src='"+szUrlNgn+"imgDef/closeH.png'\"  onmouseout=\"this.src='"+szUrlNgn+"imgDef/close.png'\" onclick=\""+arL.lst_szFnDl+"(event,"+arL.id+","+arRc[i][0]+")\" /></div>";
			sz+="</div><div class=\"dClr\"></div>";
		}
		sz+="</div><div class=\"dClr\"></div>";
		arL.lst_ar=arLst;
		objRes.innerHTML=sz;
		_gel("lst_pgnz_"+arL.id).innerHTML=arRec[1];
		whtng.rm(_gel("lst_int_"+arL.id));
		whtng.rm(_gel("lst_fltr_cmd_"+arL.id));
	},
	crPrz:function(arL,idSrt){
		var objRes=_gel("dAjlst_"+arL.id);
		lst.hd.rld(arL);
		var arRc=arL.lst_ar;
		lst._s=idSrt;
		lst._so=arL.lst_so;
		
		var a=engn.gtCmp(idSrt+"_"+arL.id)[1];
		switch(a.tp){
			default:
				lst._stp=1;
				break;
			case "integer":
			case "decimal":
			case "bigint":
			case "tinyint":
				if(a.jn||a.cmb) lst._stp=1;
				else lst._stp=2;
				break;
		}
		
		//alert(lst._stp+"\n"+a.jn+"\n"+a.tp)
		
		arRc.sort(function(a,b){
			//engn.shwStrct(a);
			if(lst._stp==2){
				if(lst._so=="A") return parseInt(a[lst._s])>parseInt(b[lst._s]);
				else return parseInt(a[lst._s])<parseInt(b[lst._s]);
			}else{
				if(lst._so=="A") return a[lst._s].toUpperCase()>b[lst._s].toUpperCase();
				else return a[lst._s].toUpperCase()<b[lst._s].toUpperCase();
			}
		});
		var sz="<div class=\""+arL.lst_cT+"\">";
		for(var i=0;i<arRc.length;i++){
			var id;
			var szC="";
			for(nmDb in arRc[i]){
				var iKC=arGetKey(arL.arCmp,"nmDb",nmDb);
				var a=arL.arCmp[iKC];
				if(a.lst_tC=="hide") continue;
				if(nmDb=="intID"){
					id=a.vl;
					if(!arL.lst_shw_intID) continue;
				}
				var szV=(nmDb=="strClr")?"":arRc[i][nmDb];
				szC+="<div class=\""+((a.lst_cTD)?a.lst_cTD:arL.lst_cLTD)+"\"";
				szC+=" style=\"";
				var iW=_gel("lstI_"+arL.id+"_"+nmDb).offsetWidth;
				szC+="width:"+iW+"px;overflow:hidden;";
				if(nmDb=="strClr"&&arRc[i][nmDb]>"") szC+="background-color:"+arRc[i][nmDb]+";";
				szC+=(a.lst_sA)?"text-align:"+a.lst_sA+";":"";
				szC+="\"";
				szC+="><div style=\"height:14px;width:"+(iW-1)+"px;overflow:hidden;white-space:nowrap;\"><span class=\"lstSpn\">"+szV+"</span></div></div>";
			}
			if(lgn.usrNfo.ar[0].tp==4) arL.lst_bD=false;
			if(arL.lst_bD) szC+="<div class=\"lstBin\"><img src=\""+szUrlNgn+"imgDef/close.png\" alt=\"Elimina record\" onmouseover=\"this.src='"+szUrlNgn+"imgDef/closeH.png'\" onmouseout=\"this.src='"+szUrlNgn+"imgDef/close.png'\" onclick=\""+arL.lst_szFnDl+"(event,"+arL.id+","+arRc[i][0]+")\" /></div>";
			sz+="<div class=\""+arL.lst_cLTR+((i%2==0)?"A":"B")+"\"";
			if(arL.lst_bDt) sz+=" onmouseover=\"objRollOver(this);\" onmouseout=\"objRollOver(this);\" onclick=\"lst.dt("+arL.id+","+arRc[i].intID+",'')\"";
			sz+=">";
			if(arL.lst_bChk) sz+="<div class=\"lstChk\">"+lst.chk.cr(arRc[i]["intID"],arL)+"</div>";
			sz+=szC;
			sz+="</div><div class=\"dClr\"></div>";
		}
		sz+="</div><div class=\"dClr\"></div>";
		objRes.innerHTML=sz;
		whtng.rm(_gel("lst_int_"+arL.id));
		whtng.rm(_gel("lst_fltr_cmd_"+arL.id));
	},
	chk:{
		cr:function(idR,arL){
			return cmp.chk.cr("-"+idR,idR,"","onclick=\"lst.chk.st(event,"+idR+","+arL.id+");\"",ppSrch(ppStr(arL.lst_arChk),idR),{"chk_dCnt":"dCbxCnt"},arL);
		},
		st:function(e,idR,idL){
			var a=arMain[idL].lst_arChk;
			var b=true;
			for(var i=0;i<a.length;i++){
				if(a[i]==idR){
					a.splice(i,1);
					b=false;
					break;
				}
			}
			if(b) a.push(idR);
			cmp.chk.st(e);
			noPropag(e);
		}
	},
	bck:function(idDt){
		if(ajxBlcc>0) return;
		var iK=engn.gtCmp(idDt,true);
		if(iK===false) return;
		var arDt=arMain[iK];
		arDt.lst_arChk=[];
		if(sbMnBtts.init(arDt)) bNasc=false;
		for(var i=0;i<arDt.arCmp.length;i++){
			arDt.arCmp[i].arF=[];
			arDt.arCmp[i].arSCmpVl=[];
			arDt.arCmp[i].vl=false;
		}
		var objDt=_gel("dt_"+arDt.id);
		if(objDt) whtng.cr(objDt);
		if(!sbMnBtts.bLst){
			sbMnBtts.clr();
			arDt.dt_idRc=false;
			arDt.dt_idRcR=false;
			_rel(_gel("dDtBtts"));
		}
		sv.b=0;
		gstFdd(objDt,200,-1,eval(arDt.dt_fnLst));
	},
	rld:function(obj){
		var iK=engn.gtCmp(obj.id,true);
		if(iK===false) return;
		_rel(obj);
		var bBtts=(sbMnBtts.bLst)?true:false;
		lst.cr(arMain[iK].sffx,bBtts);
	},
	chgPg:function(pp){
		if(!pp) return;
		var ar=ppArr(pp,"\3");
		var id=ar[6].split("_")[1];
		var iK=arGetKey(arMain,"id",id);
		var arL=arMain[iK];
		arL.lst_pg=ar[0];
		whtng.cr(_gel("lst_int_"+arL.id));
		whtng.cr(_gel("lst_fltr_cmd_"+arL.id));
		whtng.cr(_gel("lst_pgnz_"+arL.id));
		//lst.gt(arL);
		eval(arL.lst_fnGt)(arL);
	},
	hd:{
		cr:function(arL){
			var sz="<div class=\""+arL.lst_cT+"\"><div id=\"lstI_"+arL.id+"\" class=\""+arL.lst_cITR+"\">";
			var ar=arL.arCmp;
			var oL=_gel("lst_int_"+arL.id);
			var iWM=oL.offsetWidth-20;
			var iPc=0;
			var iCL=0;//numero dei campi in lista
			var iPcC=0; //percentuale della larghezza cestino
			var iLC=0;//larghezza del cestino
			var iPcChk=0; //percentuale della larghezza check
			var iLChk=0;//larghezza del check
			var iNCL=0;//numero campi con larghezza specificata///////////////////////////////mod 28-05-11
			var iWtCc=0;//larghezza totale campi calcolata///////////////////////////////mod 28-05-11
			var iPcTC=0;//larghezza totale campi calcolata///////////////////////////////mod 28-05-11
			if(arL.lst_bD){
				iPcC=Math.ceil(1500/iWM);
				iLC=15;
				iWM-=iLC;
			}
			if(arL.lst_bChk){
				iPcChk=Math.ceil(1900/iWM);
				iLChk=19;
				iWM-=iLChk;
			}
			for(var i=0;i<ar.length;i++){
				var a=ar[i];
				if(!a.lst_B) continue;
				if(a.lst_tC=="hide") continue;
				if(!arL.lst_shw_intID&&a.nmDb=="intID") continue;
				iCL++;
				if(a.lst_sW){
					iNCL++;
					iPc+=parseInt(a.lst_sW);
					a.lst_sPW=Math.floor((a.lst_sW*iWM)/100);
					iWtCc+=a.lst_sPW;
				}
			}
			var iD=Math.floor(Math.abs((iWM-iWtCc)/(iCL-iNCL)));
			if(arL.lst_bChk) sz+="<div class=\"lstChk\">&nbsp;</div>";
			for(var i=0;i<arL.lst_arInt.length;i++){
				var iKC=arGetKey(arL.arCmp,"nmDb",arL.lst_arInt[i]);
				if(iKC===false) continue;
				var a=arL.arCmp[iKC];
				if(!a.lst_B) continue;
				if(a.lst_tC=="hide") continue;
				if(!arL.lst_shw_intID&&a.nmDb=="intID") continue;
				sz+="<div id=\"lstI_"+arL.id+"_"+a.nmDb+"\" ";
				var iL=(a.lst_sPW)?a.lst_sPW:iD;
				sz+=" style=\"width:"+iL+"px;overflow:hidden;\"";
				sz+=" class=\""+((a.nmDb==arL.lst_s)?arL.lst_cITD+"Sel"+arL.lst_so:arL.lst_cITD)+"\"";
				sz+=" onmouseover=\"objRollOver(this);\" onmouseout=\"objRollOver(this);\" ondblclick=\"lst.srt.tot(this);\" onclick=\"lst.srt.prz(this);\"><span class=\"lstIS\"></span>"+a.nm.replace("<br />"," ")+"</div>";
			}
			if(arL.lst_bD) sz+="<div class=\"lstBin\"></div>";
			sz+="</div><div class=\"dClr\"></div></div>";
			oL.innerHTML=sz;
		},
		rld:function(arL){
			var objRes=_gel("lst_int_"+arL.id);
			whtng.rm(objRes);
			if(objRes.innerHTML==""){
				objRes.className=arL.lst_cDI;
				lst.hd.cr(arL);
			}
		}
	},
	srt:{
		srt:function(obj){
			var ar=obj.id.split("_");
			whtng.cr(_gel("lst_int_"+ar[1]));
			whtng.cr(_gel("lst_fltr_cmd_"+ar[1]));
			var iK=arGetKey(arMain,"id",ar[1]);
			var arL=arMain[iK];
			iK=arGetKey(arL.arCmp,"nmDb",ar[2]);
			arL.arCmp[iK].lst_s=1;
			arL.lst_s=ar[2];
			arL.arCmp[iK].lst_so=arL.lst_so=(arL.lst_so=="A")?"D":"A";
			obj.className=arL.lst_cITD+"Sel"+arL.lst_so;
			var arI=_gel("lstI_"+arL.id).childNodes;
			for(var i=0;i<arI.length;i++){
				if(arI[i].id.indexOf("lstI_")==-1||arI[i].id==obj.id) continue;
				arI[i].className=arL.lst_cITD;
			}
			return arL;
		},
		tot:function(obj){//ordina tutti i record
			rmSlctn();
			if(!obj) return;
			var arL=lst.srt.srt(obj);
			whtng.cr(_gel("lst_pgnz_"+arL.id));
			//lst.gt(arL);
			eval(arL.lst_fnGt)(arL);
		},
		prz:function(obj){//ordina solo i record visualizzati
			if(!obj) return;
			var arL=lst.srt.srt(obj);
			var arId=obj.id.split("_");
			lst.crPrz(arL,arId[arId.length-1]);
		}
	},
	fltr:{
		ntr:function(o,e){
			inp.chk(e);
			if(inp.kc!=13) return true;
			if(o.id.indexOf("fltr_n_")>-1){
				if(o.value==""){
					var ar=o.id.split("_");
					var iK=arGetKey(arMain,"id",parseInt(ar[2]));
					if(iK===false) return false;
					o.value=arMain[iK].lst_n;
				}
			}//chk.ctrl.upd(o);
			lst.fltr.gt(e);
		},
		cr:function(arL){
			var a=arL.arCmp;
			for(var i=0;i<a.length;i++){
				if(!a[i].fltr_B) continue;
				if(!arL.lst_bDDef&&a[i].nmDb=="bDel"){
					if(!sbMnBtts.init(arL)&&bNasc){
						a[i].fltr_vl=1;
						continue;
					}
				}
				if(cmp.gtT(a[i],false,true)=="hide") continue;
				var szId=a[i].nmDb+"_"+arL.id;
				var obj=_gel("cnt_fltr_"+szId);
				if(a[i].dt_tC=="date"||a[i].fltr_tC=="date"){
					var objD=_gel("__f"+szId+"_da");
					var objA=_gel("__f"+szId+"_al");
					if(objD) a[i].fltr_dt_vl_da=objD.value;
					if(objA) a[i].fltr_dt_vl_al=objA.value;
				}
				if(!obj){
					obj=_cel("div");
					obj.className=arL.fltr_cC;
					obj.id="cnt_fltr_"+szId;
					var sz="<div class=\""+arL.fltr_cN+"\">"+a[i].nm+"</div>";
					sz+="<div class=\""+arL.fltr_cDI+"\" id=\"inp__f"+szId+"\">";
						sz+="<div class=\""+arL.fltr_cH+"\"></div>";
						sz+="<div id=\"dAj__f"+szId+"\"></div>";
					sz+="</div>";
					obj.innerHTML=sz;
					_ael(obj,_gel("lst_fltr_"+arL.id));
				}else _gel("dAj__f"+szId).innerHTML="";
				engn.crCmp(arL,a[i],true);
			}
			var obj=_gel("lst_fltr_"+arL.id);
			_ael(engn.crDClr(),obj);
		},
		gt:function(e){
			if(ajxBlcc>0) return;
			var obj=_gee(e);
			var iK=arGetKey(arMain,"id",obj.id.split("_")[2]);
			var arL=arMain[iK];
			arL.fltr_B=true;
			whtng.cr(_gel("lst_int_"+arL.id));
			whtng.cr(_gel("lst_fltr_cmd_"+arL.id));
			whtng.cr(_gel("lst_pgnz_"+arL.id));
			arL.lst_n=_gel("fltr_n_"+arL.id).value;
			arL.lst_pg=0;
			obj=_gel("fltr_s_"+arL.id);
			arL.fltr_srch=(obj.value>""&&obj.value!=" ")?obj.value:"";
			lst.fltr.cr(arL);
			//lst.gt(arL);
			eval(arL.lst_fnGt)(arL);
		}
	},
	dt:function(idLst,idRc){
		var iK=arGetKey(arMain,"id",idLst);
		if(iK===false) return;
		lng.clr();
		var arL=arMain[iK];
		engn.rstVls(arL);
		arL.dt_idRc=arL.dt_idRcR=idRc;
		var objLst=_gel("lst_"+arL.id);
		if(!sbMnBtts.szSffx){
			var bDel=cmp.gtVl("bDel",true);
			bNasc=(bDel>0)?true:false;
		}
		gstFdd(objLst,200,-1,eval(arL.lst_fnDt));
	},
	del:{
		mdDel:null,
		dl:function(e,idLst,idRc,fnDlOK,fnDlKO){
			noPropag(e);
			if(!idLst&&idLst!=0) return;
			if(!idRc&&idRc!=0) return;
			var iK=arGetKey(arMain,"id",idLst);
			if(iK===false) return;
			var arL=arMain[iK];
			var bDel=true;
			if(!arL.lst_bDDef){//non è cancellazione definitiva e ho il bDel
				bDel=cmp.gtVl("bDel",true);
				bDel=parseInt(bDel);
			}
			var bL=(arL.ppLng)?1:0;
			var pp="\3"+"0\3"+arL.tbl+"\3\2";
			pp+="intID\1\1"+"0\1"+idRc+"\1"+"\1O\1|F\2";
			if(bL) pp+="idR\1\1"+"0\1"+idRc+"\1"+"\1O\1|F\2";
			if(bDel){//cancellazione definitiva
				lst.del.mdDel=1;
				for(var i=0;i<arL.arCmp.length;i++){
					if(cmp.isFl(arL.arCmp[i])) pp+=arL.arCmp[i].nmDb+"\1\1"+"0\1\1"+"\1A\1S\2";
				}
				pp+="\3"+"1\3\3\3lst_"+idLst+"\3D\3"+arL.sffx+"\3\3\3"+bL+"\3";
			}else{//imposto il bDel=1
				lst.del.mdDel=0;
				pp+="bDel\1\1"+"0\1"+"1\1"+"\1A\1U\2";
				pp+="\3"+"1\3\3\3lst_"+idLst+"\3U\3"+arL.sffx+"\3\3\3"+bL+"\3";
				pp+="\3"+arL.sffx+"\3"+arL.db+"\3"+arL.bHist+"\3";
			}
			arL.del_idRc=idRc;
			alrt.crSV("Cancellazione.");
			if(!fnDlOK) fnDlOK=lst.del.OK;
			if(!fnDlKO) fnDlKO=lst.del.KO;
			new ajx("GT",pp,false,"lst_"+idLst,false,false,false,false,fnDlOK,fnDlKO,false,false);
		},
		KO:function(idLst){
			alrt.rmT("Errore nella cancellazione.","dAlrtKO");
			lst.del.mdDel=null;
		},
		OK:function(arRec){
			var iK=engn.gtCmp(arRec[2],true);
			if(iK===false) return;
			var arL=arMain[iK];
			iK=arGetKey(arL.lst_ar,"intID",arL.del_idRc);
			if(iK===false) alrt.crErr("lst.del.OK");
			arL.lst_ar.splice(iK,1);
			//lst.gt(arL);
			eval(arL.lst_fnGt)(arL);
			alrt.chgMsg("Cancellazione eseguita.","dAlrtOK");
			setTimeout("lst.del.prt.d('"+arL.sffx+"')",1500);
		},
		prt:{//cancellazione delle pertinenze
			d:function(sffx){
				alrt.chgMsg("<img src=\""+szUrlNgn+"imgDef/loader16.gif\" alt=\"\" /> Ricerca e cancellazione delle pertinenze.","dAlrt");
				var iK=engn.gtIkSffx(sffx);
				if(iK===false) return;
				var arL=arMain[iK];
				var _v=arL.del_idRc;
				var _m=lst.del.mdDel;
				arL.del_idRc=false;
				lst.del.mdDel=null;
				new ajx("GT","","&_s="+sffx+"&_v="+_v+"&_m="+_m,sffx,false,false,false,"php/dlMss.php",lst.del.prt.OK,lst.del.prt.KO,false,false);
			},
			OK:function(idLst){
				alrt.rmT("Cancellazione eseguita.","dAlrtOK");
			},
			KO:function(idLst){
				alrt.rmT("Errore nella cancellazione.","dAlrtKO");
			}
		}
	},
	skp:{
		gt:function(arL){
			var pp="\3"+arL.lst_pg+"\3"+arL.tbl+"\3\2";
			pp+="intID\1\1\1\1\1D\1S||F\2";
			if(arL.arLng) pp+="idL\1\1\1"+arL.arLng[0][0]+"\1\1A\1|F\2";
			if(!arL.lst_bDDef) pp+="bDel\1\1\1"+"0\1\1A\1|F\2";
			pp+="\3"+arL.lst_n+"\3\3lst.chgPg\3lst_"+arL.id+"\3SNC\3\3"+arL.db+"\3";
			new ajx("GT",pp,false,"lst_"+arL.id,false,true,true,false,lst.skp.ok,lst.skp.ko,false);
		},
		ok:function(arRec){
			var idLst=arRec[2].split("_");
			idLst=idLst[idLst.length-1];
			var iK=arGetKey(arMain,"id",idLst);
			if(iK===false) return;
			var arL=arMain[iK];
			engn.rstVls(arL);
			arL.dt_idRc=arL.dt_idRcR=arRec[0][1];
			if(!sbMnBtts.szSffx){
				var bDel=cmp.gtVl("bDel",true);
				bNasc=(bDel>0)?true:false;
			}
			eval(arL.lst_fnDt)(arL.sffx);
		},
		ko:function(szId){
			lst.nw(false,szId);
		}
	}
}
var dt={
	cr:function(arDt,bNw){
		enlrg.arFt=[];
		var obj=_cel("div");
		obj.id="dt_"+arDt.id;
		obj.className=arDt.dt_c;
		var objDt=_gel("dDtC");
		if(objDt){
			whtng.rm(objDt);
			_ael(obj,objDt);//modifica 08/12/2010
		}else _ael(obj);
		if(sbMnBtts.init(arDt)||sbMnBtts.bLst){
			if(sbMnBtts.szSffx===false||sbMnBtts.szSffx==arDt.sffx){/////////////////////////mod 03/06/11
				var objT=_cel("div");
				objT.id="dt_tit"+arDt.id;
				objT.className=arDt.dt_cDT;
				_ael(objT,obj);
				if(!arDt.lst_bSkp) _ael(engn.crBttAdd(arDt.lst_bck,"dt_"+arDt.id,"Ritorna alla lista","dDtLstBack","dBttLstBck"),objT);
				if(sbMnBtts.bLst){
					var arM=sbMnBtts.arToDt;
					var sffx=sbMnBtts.szSffx;
				}else{
					var arM=gstMn.arM;
					var sffx=arDt.sffx;
				}
				var iKMn=arGetKey(arM,"sffx",sffx);
				var sz=arM[iKMn].lbl;
				var objMT=_cel("div");
				objMT.id="dt_mt"+arDt.id;
				objMT.className=arDt.dt_cDMT;
				sz="<span class=\""+arDt.dt_cDtblNm+"\" id=\"dDtTblNm_"+arDt.id+"\">"+sz+"</span>";
				var szMd=(bNw)?"Nuovo":"Modifica";
				sz+="<span class=\""+arDt.dt_cDtblMd+"\" id=\"dDtTblMd_"+arDt.id+"\">"+szMd+"</span>";
				objMT.innerHTML=sz;
				_ael(objMT,objT);
				_ael(engn.crDClr(),objT);
			}
		}
		var objDTR=_cel("div");
		objDTR.id="dAjdt_rec_"+arDt.id;
		objDTR.className=arDt.dt_cDTR;
		_ael(objDTR,obj);
		_ael(engn.crDClr(),obj);
		var objFtr=_cel("div");
		objFtr.id="dt_ftr"+arDt.id;
		objFtr.className=arDt.dt_cDFtr;
		_ael(objFtr,obj);
		if(!bNw){
			if(lgn.usrNfo.ar[0].tp!=4) dt.crDplc(arDt);
			dt.crPrnt(arDt);
			dt.crMml(arDt);
			dt.crSms(arDt);
			dt.crBtts(arDt);
		}
		var objSvCnt=_cel("div");
		objSvCnt.id="dt_sv"+arDt.id;
		objSvCnt.className=arDt.dt_cDSV;
		_ael(objSvCnt,objFtr);
		//var fn=(bNw)?arDt.nw_fnSv:arDt.dt_fnSv;
		if(lgn.usrNfo.ar[0].tp!=4) _ael(engn.crBttAdd((bNw)?arDt.nw_fnSv:arDt.dt_fnSv,"sv_"+arDt.id,"Salva","dBttSv","dBttSv"),objSvCnt);
		_ael(engn.crDClr(),objFtr);
		obj=_gel("adddt_"+arDt.id);
		if(obj) whtng.cr(obj);
		whtng.cr(_gel("addsv_"+arDt.id));
		obj=_gel("dt_dplc"+arDt.id);
		if(obj) whtng.cr(obj);
	},
	crDplc:function(arDt){
		if(arDt.dt_BDplc&&lng.bFL){
			var objFtr=_gel("dt_ftr"+arDt.id);
			var objDplcCnt=_cel("div");
			objDplcCnt.id="dt_dplc"+arDt.id;
			objDplcCnt.className=arDt.dt_cDSV;
			var oSv=_gel("dt_sv"+arDt.id);
			if(!oSv) _ael(objDplcCnt,objFtr);
			else _ibl(objDplcCnt,oSv);
			_ael(engn.crBttAdd("sv.dplc.rn","dplc_"+arDt.id,"Duplica","dBttDplc","dBttDplc"),objDplcCnt);
		}
	},
	crPrnt:function(arDt){
		if(arDt.prnt_B&&lng.bFL&&arDt.prnt_szFn){
			var objFtr=_gel("dt_ftr"+arDt.id);
			var objPC=_cel("div");
			objPC.id="dt_prnt"+arDt.id;
			objPC.className=arDt.dt_cDSV;
			var oSv=_gel("dt_sv"+arDt.id);
			if(!oSv) _ael(objPC,objFtr);
			else _ibl(objPC,oSv);
			_ael(engn.crBttAdd(arDt.prnt_szFn,"prnt_"+arMain[0].id,"Stampa","dBttPrnt","dBttPrnt"),objPC);
			var o=_cel("iframe");
			o.id="stmpFrm";
			_ael(o,objPC);
		}
	},
	crMml:function(arDt){
		if(arDt.mml_B&&lng.bFL){
			var objFtr=_gel("dt_ftr"+arDt.id);
			var objPC=_cel("div");
			objPC.id="dt_mml"+arDt.id;
			objPC.className=arDt.dt_cDSV;
			var oSv=_gel("dt_sv"+arDt.id);
			if(!oSv) _ael(objPC,objFtr);
			else _ibl(objPC,oSv);
			_ael(engn.crBttAdd(arDt.mml_szFn,"mml_"+arMain[0].id,"Scrivi e-mail","dBttPrnt","dBttPrnt"),objPC);
		}
	},
	crSms:function(arDt){
		if(arDt.mml_B&&lng.bFL){
			var objFtr=_gel("dt_ftr"+arDt.id);
			var objPC=_cel("div");
			objPC.id="dt_sms"+arDt.id;
			objPC.className=arDt.dt_cDSV;
			var oSv=_gel("dt_sv"+arDt.id);
			if(!oSv) _ael(objPC,objFtr);
			else _ibl(objPC,oSv);
			_ael(engn.crBttAdd(arDt.sms_szFn,"sms_"+arMain[0].id,"Scrivi sms","dBttPrnt","dBttPrnt"),objPC);
		}
	},
	crBtts:function(arDt){
		if(arDt.dt_ppBtts){
			var oF=_gel("dt_ftr"+arDt.id);
			var oSv=_gel("dt_sv"+arDt.id);
			var oC=_cel("div");
			oC.id=="dt_BttmBtts"+arDt.id;
			oC.className=arDt.dt_cDSV;
			if(!oSv) _ael(oC,oF);
			else _ibl(oC,oSv);
			var ar2=ppArr(arDt.dt_ppBtts,"\2");
			for(var i=0;i<ar2.length;i++){
				var ar1=ppArr(ar2[i],"\1");
				_ael(engn.crBttAdd(ar1[0],ar1[1]+"_"+arDt.id,ar1[2],ar1[3],ar1[4],ar1[5]),oC);
			}
		}
	},
	nwRc:function(idDt){
		if(ajxBlcc>0) return;
		lng.bFL=true;//reimposto la variabile prima lingua
		lng.bMem=false;
		var iK=engn.gtCmp(idDt,true);
		if(iK===false) return;
		arL=arMain[iK];
		var objLst=_gel("lst_"+arL.id);
		whtng.cr(objLst);
		gstFdd(objLst,200,-1,eval(arL.lst_fnNw));
	},
	nw:function(obj,b,id){
		if(!obj){
			if(!id) return;
		}
		id=(id)?id:obj.id;
		var iK=engn.gtCmp(id,true);
		if(iK===false) return;
		if(!b) sv.b=0;
		_rel(obj);
		arDt=arMain[iK];
		arDt.dt_idRc=false;
		enlrg.arFt=[];
		dt.cr(arDt,true);
		arDt=arDt.arCmp;
		for(var i=0;i<arDt.length;i++){
			if(!lng.bFL&&!arDt[i].lng_Btrslt&&!ppSrch(lng.ppCmpLng,arDt[i].nmDb)) continue;
			if(sbMnBtts.bLst){
				var iKMn=arGetKey(sbMnBtts.arToDt,"sffx",sbMnBtts.szSffx);
				if(iKMn){
					if(sbMnBtts.arToDt[iKMn].cmpRif==arDt[i].nmDb) arDt[i].nw_prdf=sbMnBtts.arToDt[iKMn].vl;
				}
			}
			engn.crMdCmp(arMain[iK],arDt[i]);
		}
		whtng.rm(_gel("adddt_"+arMain[iK].id));
		whtng.rm(_gel("addsv_"+arMain[iK].id));
	},
	gt:function(obj){
		if(!obj) return;
		var iK=false;
		if(!obj.id) iK=engn.gtIkSffx(obj);
		else{
			iK=engn.gtCmp(obj.id,true);
			_rel(obj);
		}
		if(iK===false) return;
		arDt=arMain[iK];
		dt.cr(arDt);
		var pp="\3"+"0\3"+arDt.tbl+"\3\2";
		var ar=arDt.arCmp;
		for(var i=0;i<ar.length;i++){
			if(!ar[i].fltr_bUse) continue;
			if(ar[i].bSkp) continue;
			if(!ar[i].dt_Bgt) continue;
			if(!ar[i].dt_B&&ar[i].nmDb!="intID") continue;//aggiunta l'eccezione intID 16/12/2010
			pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1";
			if(ar[i].nmDb=="intID"){
				pp+=arDt.dt_idRc;
				pp+="\1\1\1S|A|\2";
			}else pp+="\1\1\1S\2";
		}
		pp+="\3"+"1\3\3\3dt_"+arDt.id+"\3SNC\3\3"+arDt.db+"\3";
		new ajx("GT",pp,false,"dt_rec_"+arDt.id,false,true,true,false,dt.gtOK,dt.gtKO,false,false);
	},
	gtOK:function(arRec,bSL){//bSL boll seconda lingua 22/02/2011
		var iK=engn.gtCmp(arRec[2],true);
		var arM=arMain[iK];
		var arDt=arM.arCmp;
		for(var i=0;i<arRec[0][1].length;i++){
			var iKC=arGetKey(arDt,"nmDb",arRec[0][0][i]);
			if(iKC===false) continue;
			if(bSL) arDt[iKC].nll=arDt[iKC].lng_nll;//se è seconda lingua controllo se è obbligatorio per la seconda lingua altrimenti non obbligatorio 22/02/2011
			if(bNasc&&sbMnBtts.init(arM)&&arRec[0][0][i]=="bDel") arDt[iKC].fltr_vl=1;
			arDt[iKC].vl=arRec[0][1][i];
		}
		_gel("dAjdt_rec_"+arM.id).innerHTML="";
		if(arM.dt_Btts) sbMnBtts.ppBtt=arM.dt_Btts;
		sbMnBtts.cr(arM);
		if(arM.dt_fnBfr) eval(arM.dt_fnBfr)();
		for(var i=0;i<arDt.length;i++) engn.crMdCmp(arM,arM.arCmp[i]);
		whtng.rm(_gel("adddt_"+arM.id));
		if(bNasc){
			_rel(_gel("dt_dplc"+arM.id));
			_rel(_gel("dt_sv"+arM.id));
			return;
		}
		whtng.rm(_gel("addsv_"+arM.id));
		whtng.rm(_gel("dt_dplc"+arM.id));
	},
	gtKO:function(idDt){
		var iK=engn.gtCmp(idDt,true);
		var arDt=arMain[iK];
		whtng.rm(_gel("adddt_"+arDt.id));
		alrt.crErr("Errore nella lettura dei dati");
	},
	goTo:function(idLst,idRc){
		var iK=arGetKey(arMain,"id",idLst);
		if(iK===false) return;
		lng.clr();
		var arL=arMain[iK];
		engn.rstVls(arL);
		arL.dt_idRc=arL.dt_idRcR=idRc;
		gstFdd(_gel("dt_"+idLst),200,-1,eval(arL.lst_fnDt));
	}
}
var sv={
	b:0,
	chk:function(id){
		id=id.split("_");
		id=id[id.length-1];
		var err=0;
		var iK=arGetKey(arMain,"id",id);
		var arDt=arMain[iK];
		var a=arDt.arCmp;
		var bUpd=false;
		var pp="\3"+"0\3"+arDt.tbl+"\3\2";
		for(var i=0;i<a.length;i++){
			if(a[i].bSkp||!a[i].fltr_bUse) continue;
			if(a[i].nmDb=="bDel") continue;//aggiunta 22/03/2011
			var szTS="";
			if(a[i].nmDb=="intID"&&a[i].vl) bUpd=true;
			if(bUpd){
				if(!a[i].dt_B||(a[i].dt_rdOnl&&!a[i].dt_rdOnlSv)) continue;
			}else{
				if(!a[i].nw_B||(a[i].nw_rdOnl&&!a[i].nw_rdOnlSv)) continue;
				if(a[i].nw_tC=="hide"&&!a[i].nw_prdf) continue;
			}
			//alert(a[i].nmDb+"___"+a[i].vl+"___"+a[i].nw_prdf);
			if(a[i].dt_tC=="pwdd"){
				if(a[i].vl===false&&arDt.dt_idRc) continue;
				szTS="BE";
			}
			if(a[i].dt_tC=="ppTb"||a[i].dt_tC=="ppAdd"){
				if(!add.sv(arDt,a[i],true)){
					chk.init(a[i].nmDb+"_"+arDt.id);
					chk.ctrl.kook(false);
					err++;
					//alert("1: "+a.nmDb);
					continue;
				}
			}
			if(a[i].dt_tC=="gmapDrw"){
				a[i].vl=gmap.sv();////////////////////////mod gmaps
			}
			if(a[i].dt_tC=="url"){
				if(a[i].vl==="http://") a[i].vl=false;
			}
			if(a[i].dt_tC=="combo"){
				if(a[i].vl==="") a[i].vl=false;
			}
			if(a[i].err||((a[i].vl===false||(a[i].vl==""&&!a[i].vl==0))&&a[i].nll)){
				if(a[i].nmDb!="intID"||(a[i].nmDb=="intID"&&arDt.dt_idRc)){
					chk.init(a[i].nmDb+"_"+arDt.id);
					chk.ctrl.kook(false,_gel(a[i].nmDb+"_"+arDt.id));
					err++;
					//alert("2: "+a[i].nmDb);
					continue;
				}
			}
			if(!a[i].jn&&a[i].bAjLdd) err++;
			if(cmp.isFl(a[i])){	
				var szT="tmpFl-"+lgn.usrNfo.ar[0].id+"_";
				var ar=[];
				for(var j=0;j<a[i].arF.length;j++){
					var f=a[i].arF[j];
					var szF=f.szF;
					if(f.szF.indexOf(szT)>-1) f.szF=f.szF.replace(szT,"");//rinomino
					if(bUpd) ar.push("\5"+f.szF+"\5"+f.szNm+"\5"+f.szD+"\5"+f.bP+"\5");
					else ar.push("\5"+szF+"\5"+f.szNm+"\5"+f.szD+"\5"+f.bP+"\5");
					
				}
				a[i].vl=(ar.length>0)?"\6"+ar.join("\6")+"\6":"";
			}
			var szV=a[i].vl;
			if(a[i].tp=="decimal") szV=vlSv(szV);
			if(a[i].dt_tC=="date") szV=dtSv(szV);
			
			if(a[i].dt_tC=="check"){
				var o=_gel(a[i].nmDb+"_"+arDt.id);
				if(o) szV=(o.checked)?1:0;
			}
			if(a[i].dt_tC=="srch"){
				var o=_gel(a[i].nmDb+"_"+arDt.id);
				if(o.type=="text"){
					o.value="";
					a.vl="";
					if(a[i].nll){
						chk.init(a[i].nmDb+"_"+arDt.id);
						chk.ctrl.kook(false,_gel(a[i].nmDb+"_"+arDt.id));
						err++;
						//alert("3: "+a.nmDb);
					continue;
					}
				}
			}
			
			if(szV===false) szV="";
			pp+=a[i].nmDb+"\1\1"+szTS+"\1"+szV+"\1\1\1";
			if(a[i].nmDb=="intID"){
				if(a[i].vl) pp+="I|A";
				else pp+="I";
			}else pp+="I";
			pp+="\2";
		}
		pp+="\3"+"1\3\3\3dt_"+arDt.id+"\3";
		pp+=(bUpd)?"U":"I";
		pp+="\3"+arDt.sffx+"\3"+arDt.db+"\3"+arDt.bHist+"\3";
		return [err,pp];
	},
	sv:function(id,fnSvOK,fnSvKO,pp,err){
		if(ajxBlcc>0) return;
		if(sv.b) return;
		sv.b=1;
		if(!pp){
			var ar=sv.chk(id);
			err=ar[0];
			pp=ar[1];
		}
		id=id.split("_")[1];
		var iK=arGetKey(arMain,"id",id);
		if(err){
			sv.b=0;
			return false;
		}
		var objDt=_gel("dt_"+arMain[iK].id);
		alrt.crSV();
		fnSvOK=(fnSvOK)?fnSvOK:sv.OK;
		fnSvKO=(fnSvKO)?fnSvKO:sv.KO;
		new ajx("PT",pp,false,"dt_"+arMain[iK].id,false,true,true,false,fnSvOK,fnSvKO,false,false);
	},
	OK:function(a,b){
		sv.b=0;
		a[1]=parseInt(a[1]);
		var iK=engn.gtCmp(a[2],true);
		if(iK===false) alrt.crErr("sv.OK: arDt non trovato: "+a[1]);
		var arDt=arMain[iK];
		if(a[1]){//è un new
			if(arDt.lst_nw_bBckLstSv){
				alrt.rmT("Dati salvati.","dAlrtOK");
				setTimeout(arDt.lst_bck+"('"+a[2]+"')",1600);
				return;
			}else{////////////////////////// aggiunto l'else per ricaricare dopo il salvataggio new 07/10/11
				if(!b){
					alrt.rmT("Dati salvati.","dAlrtOK");
					setTimeout("dt.goTo("+arDt.id+","+a[1]+")",1600);
					return;
				}
			}
			var sz=new RegExp("tmpFl-"+lgn.usrNfo.ar[0].id+"_","g");
			for(var i=0;i<arDt.arCmp.length;i++){
				if(arDt.arCmp[i].nmDb=="intID"){
					if(!arDt.dt_idRc) arDt.dt_idRc=a[1];
					if(!arDt.dt_idRcR) arDt.dt_idRcR=a[1];
					arDt.arCmp[i].vl=a[1];
				}
				if(cmp.isFl(arDt.arCmp[i])){
					if(arDt.arCmp[i].vl) arDt.arCmp[i].vl=arDt.arCmp[i].vl.replace(sz,"");
					_gel("uplIdR_"+arDt.arCmp[i].nmDb+"_"+arDt.id).value=a[1];
				}
			}
			if(arDt.arLng.length>1){
				a=engn.gtCmp("idL_"+arDt.id)[1];
				engn.crCmp(arDt,a);
			}
			dt.crDplc(arDt);
		}else{
			if(arDt.lst_dt_bBckLstSv){
				alrt.rmT("Dati salvati.","dAlrtOK");
				setTimeout(arDt.lst_bck+"('"+a[2]+"')",1600);
				return;
			}
		}
		if(!b) alrt.rmT("Dati salvati.","dAlrtOK");
	},
	KO:function(a){
		sv.b=0;
		alrt.rmT("Errore nel salvataggio.","dAlrtKO");
	},
	dplc:{
		id:false,
		fnAftrDplc:false,
		rn:function(id){//rinomino i files
			var arRnm=[];
			sv.dplc.id=id.split("_")[1];
			var ar=engn.gtCmp("intID_"+sv.dplc.id);
			var arDt=ar[0];
			arDt.dt_idRc=false;
			var a=arDt.arCmp;
			for(var i=0;i<a.length;i++){
				if(cmp.isFl(a[i])){	
					var arRC=[];
					for(var j=0;j<a[i].arF.length;j++){
						var f=a[i].arF[j];
						arRC.push(f.szF);
					}
					if(arRC.length>0){
						var t=(a[i].dt_tC=="ppPh")?1:0;
						arRnm.push("\5\4"+arRC.join("\4")+"\4\5\4"+t+"\4"+a[i].ppImgD+"\4"+a[i].ppImgS+"\4"+a[i].nmDb+"\4\5");
					}
				}
			}
			var sz=(arRnm.length>0)?"\6"+arRnm.join("\6")+"\6":"";
			alrt.crSV("Duplicazione...");
			new ajx("PT","",sz+"&_s="+arDt.sffx+"&_bRnm=1",sv.dplc.id,true,true,true,"php/upload.php",sv.dplc.OK,sv.dplc.KO,false);
		},
		OK:function(arRec){
			var id=sv.dplc.id;
			_rel(_gel("dt_dplc"+id));
			var ar=engn.gtCmp("intID_"+id);
			var arDt=ar[0];
			arDt.dt_idRc=false;
			var a=ar[1];
			a.vl=false;
			if(arDt.arLng.length>1) _gel("dAjidL_"+id).innerHTML=arDt.arLng[0][1];
			a=document.getElementsByTagName("input");
			for(var i=0;i<a.length;i++){
				if(a[i].id.indexOf("uplIdR_")>-1) a[i].value="";
			}
			if(arRec[1]>""&&arRec[1]!="1"){//rinomino i files
				var ar=[];
				var ar6=ppArr(arRec[1],"\6");
				for(var i=0;i<ar6.length;i++){
					var ar5=ppArr(ar6[i],"\5");
					if(ar[ar5[1]]) ar[ar5[1]].push([ar5[0],ar5[2]]);
					else ar[ar5[1]]=[[ar5[0],ar5[2]]];
				}
				for(var k in ar){
					var arNw=[];
					a=engn.gtCmp(k+"_"+id)[1];
					for(var i=0;i<ar[k].length;i++){
						var iK=arGetKey(a.arF,"szF",ar[k][i][1]);
						arNw.push("\5"+ar[k][i][0]+"\5"+a.arF[iK].szNm+"\5"+a.arF[iK].szD+"\5"+a.arF[iK].bP+"\5");
					}
					a.vl="\6"+arNw.join("\6")+"\6";
					a.arF=[];
					_gel("uplLst_"+a.nmDb+"_"+arDt.id).innerHTML="";
					_gel("uplMod_"+a.nmDb+"_"+arDt.id).innerHTML="";
					engn.crCmp(arDt,a);
				}
			}
			_gel("dDtTblMd_"+id).innerHTML="Duplicato";
			a=engn.gtCmp("ppHist_"+id);
			a.vl=false;
			var o=_gel("dAjppHist_"+id);
			if(o) o.innerHTML="";
			sv.b=0;
			if(sv.dplc.fnAftrDplc) sv.dplc.fnAftrDplc(true);
			alrt.rmT("Dati duplicati.","dAlrtOK");
		},
		KO:function(){
			if(sv.dplc.fnAftrDplc) sv.dplc.fnAftrDplc(false);
			alrt.rmT("Si &egrave; verificato un errore drante la duplicazione dei dati.","dAlrtKO");
		}
	}
}
var lbl={
	shw:function(e,szId,szTxt,szClss){
		var oDt=_gel("dDtC");
		if(!oDt) return;
		if(!szId||!szTxt) return;
		var o=_cel("div");
		o.className=(szClss)?szClss:"lblShw";
		o.id="lblShw_"+szId;
		o.innerHTML=stripslashes(szTxt);
		if(!_isIE) stAlph(o,0);
		var aD=areaDoc();
		var aS=scrollDoc();
		var aCD=areaDoc(oDt);
		var aCS=scrollDoc(oDt);
		o.style.left=((e.clientX-oDt.offsetLeft)+(aS[0]+aCS[0])+2)+"px";
		o.style.top=((e.clientY-oDt.offsetTop)+(aS[1]+aCS[1])+6)+"px";
		_ael(o,oDt);
		if(!_isIE) new objFd(o,300,100);
	},
	hdd:function(szId){
		_rel(_gel("lblShw_"+szId));
	}
}
var cmp={
	ppTpCmpF:"|ppFl|ppPh|",
	isFl:function(ar){
		return ppSrch(cmp.ppTpCmpF,ar.dt_tC);
	},
	pi:function(szId){
		var ar=engn.gtCmp(szId);
		var arDt=ar[0];
		var a=ar[1];
		var o=_gel(szId);
		var aS=engn.gtCmp("idStt_"+arDt.id)[1];
		if(aS.vl==""||aS.vl===false) return;
		var iKC=arGetKey(aS.cmb,0,aS.vl);
		if(iKC===false) return;
		var szC=aS.cmb[iKC][2];
		if(a.vl==""||a.vl===false) a.vl=o.value=szC;
		else{
			if(szC!=a.vl.substr(0,2)) a.vl=o.value=szC+a.vl;
		}
	},
	chk:{
		shwLbl:function(e,sz,szId){
			var o=_gel("chkLbl_"+szId);
			var oP=_gel("chkCnt_"+szId);
			var oC=_gel("chck_"+szId);
			//alert((o.offsetWidth+oC.offsetWidth+10)+"\n\n"+oP.offsetWidth);
			if(o.offsetWidth+oC.offsetWidth+20>oP.offsetWidth) lbl.shw(e,szId,sz,false);
			//alert(o.id+" -> "+o.offsetWidth+" -> "+o.offsetLeft+"\n\n\n"+oP.id+" -> "+oP.offsetWidth+" -> "+oP.offsetLeft+"\n\n\n"+oC.id+" -> "+oC.offsetWidth+" -> "+oC.offsetLeft);
		},
		cr:function(szId,szVl,szTxt,szFn,bSel,a,arDt){//cmp.chk.cr
			if(!szFn) szFn="";
			var szCls="";
			var szChk="";
			var szClss=(a.cInp!="dCmp"&&a.cInp>"")?a.cInp:"chckbx";
			if(bSel){
				szCls=szClss+"Sel";
				szChk="checked=\"cheched\"";
			}else{
				szCls=szClss;
				szChk="";
			}
			szFnLbl="onmouseover=\"cmp.chk.shwLbl(event,'"+addslashes(szTxt)+"','"+szId+"')\" onmouseout=\"lbl.hdd('"+szId+"')\"";
			//alert(a.nmDb);
			//var arDt=engn.gtCmp(a.nmDb)[0];
			var bDt=cmp.gtVl("intID_"+arDt.id);
			if((bDt&&(a.dt_bDis||a.dt_rdOnl))||(!bDt&&(a.nw_bDis||a.nw_rdOnl))){
				szFn="";
				szChk="disabled=\"disabled\"";
				szCls=(bSel)?szClss+"SelDis":szClss+"Dis";
				szFnLbl="";
			}
			var sz="<div class=\""+a.chk_dCnt+"\" id=\"chckCnt_"+szId+"\">";
				sz+="<div class=\"chkTxt\" id=\"chkCnt_"+szId+"\">";
				sz+="<label id=\"chkLbl_"+szId+"\" "+szFnLbl+">";
				sz+="<input class=\"cbx\" id=\""+szId+"\" name=\""+szId+"\" "+szFn+" value=\""+szVl+"\" type=\"checkbox\" "+szChk+" />";
				sz+="<span class=\""+szCls+"\" id=\"chck_"+szId+"\"></span>";
				sz+=szTxt+"</label><div class=\"dClr\"></div></div></div>";
				if(a.chk_bDClr) sz+="<div class=\"dClr\"></div>";
			return sz;
		},
		st:function(e){
			var objI=(e.id)?e:_gee(e);
			var obj=_gel("chck_"+objI.id);
			if(obj.className.indexOf("Sel")==-1) obj.className+="Sel"; else obj.className=obj.className.slice(0,-3);
			if(objI.id.indexOf("-")<0){
				var a=engn.gtCmp(objI.id)[1];
				a.vl=(objI.checked)?1:false;
			}
		}
	},
	ppChk:{
		cr:function(arDt,a,szPgnz){
			var sz="";
			var arFn=[];
			var pp=a.ppFnD;
			if(a.ppFn){//ho funzioni personalizzate
				pp+=(pp)?a.ppFn:"\2"+a.ppFn;
				pp+="\2";/////////////////////////mod 03/06/11
			}
			var ar2=ppArr(pp,"\2");
			for(var i=0;i<ar2.length;i++){
				ar1=ppArr(ar2[i],"\1");
				if(ar1[1]=="chk.ctrl.upd"||ar1[1]=="chk.ctrl.nll") continue;
				if(arFn[ar1[0]]) arFn[ar1[0]].push(ar1[1]);
				else arFn[ar1[0]]=[ar1[1]];
			}
			var szFn="";
			for(x in arFn){
				szFn+=" on"+x+"=\"";
				for(var i=0;i<arFn[x].length;i++) szFn+=arFn[x][i]+"(this);";/////////////////////////mod 03/06/11
				szFn+="\"";
			}
			var szV=(a.vl===false)?"":a.vl;
			var ar=a.ajCmb;
			if(a.cmb>""&&!a.ajCmb) ar=a.cmb;
			for(var i=0;i<ar.length;i++) sz+=cmp.chk.cr(a.nmDb+"_"+arDt.id+"-"+i,ar[i][0],ar[i][1],szFn,ppSrch(szV,ar[i][0]),a,arDt);
			sz+="<div class=\"dClr\"></div>";
			//sz+="<div class=\"ppChkSlDsl\" onclick=\"cmp.ppChk.slDsl('"+a.nmDb+"_"+arDt.id+"',true);\" >Seleziona tutti</div>";
			//sz+="<div class=\"ppChkSlDsl\" onclick=\"cmp.ppChk.slDsl('"+a.nmDb+"_"+arDt.id+"',false);\" >Deseleziona tutti</div>";
			
			var bDt=cmp.gtVl("intID_"+arDt.id);
			if((bDt&&!(a.dt_bDis||a.dt_rdOnl))||(!bDt&&!(a.nw_bDis||a.nw_rdOnl))) sz+="<div class=\"ppChkSlDsl\" onclick=\"cmp.ppChk.slDsl('"+a.nmDb+"_"+arDt.id+"');\" >Seleziona/Deseleziona tutti</div>";
			sz+="<div class=\"dClr\"></div>";
			if(szPgnz){
				szPgnz=szPgnz.replace('class="pgzn"','class="pgznDt"');
				szPgnz=szPgnz.replace('class="lstTotRec"','class="lstTotRecDt"');
				sz+=szPgnz;
			}
			_gel("dAj"+a.nmDb+"_"+arDt.id).innerHTML=sz;
		},
		upd:function(obj){
			if(!obj.id) return;
			var szNmDb="";
			var ar=obj.id.split("-");
			if(obj.id.indexOf("|")>-1) szNmDb=ar[0]+"-"+ar[1];//obj.id.split("-")[0];
			else szNmDb=ar[0];
			var ar=engn.gtCmp(szNmDb);
			var arDt=ar[0];
			var a=ar[1];
			cmp.chk.st(obj);
			var objV=obj.value;
			var ppV=a.vl;
			if(ppV=="") ppV="|";
			if(ppSrch(ppV,objV)) ppV=ppV.replace("|"+objV+"|","|");
			else ppV+=objV+"|";
			if(ppV=="|") ppV="";
			//alert(a.nmDb+"_"+arDt.id);
			chk.init(a.nmDb+"_"+arDt.id);
			var b=(ppV>"")?true:(a.nll)?false:true;
			chk.ctrl.kook(b,obj);///modifica 20/12/2010 per metterlo a OK se è KO
			a.vl=ppV;
		},
		//slDsl:function(szId,b){
		slDsl:function(szId){
			var a=engn.gtCmp(szId);
			szId=a[0].id;
			a=a[1];
			szId=a.nmDb+"_"+szId;
			var pp=a.ppFnD;
			if(a.ppFn){//ho funzioni personalizzate
				pp+=(pp)?a.ppFn:"\2"+a.ppFn;
				pp+="\2";/////////////////////////mod 03/06/11
			}
			var arFn=[];
			var arFnD=[];
			var ar2=ppArr(pp,"\2");
			for(var i=0;i<ar2.length;i++){
				var ar1=ppArr(ar2[i],"\1");
				if(ar1[1]=="chk.ctrl.upd"||ar1[1]=="chk.ctrl.nll") continue;
				if(arFn[ar1[0]]) arFn[ar1[0]].push(ar1[1]);
				else arFn[ar1[0]]=[ar1[1]];
			}
			/*
			var bSD=true;
			if(a.vl){
				if(ppArr(a.vl).length==a.cmb.length) bSD=false;
			}
			for(var i=0;i<a.cmb.length;i++){
				var o=_gel("chck_"+szId+"-"+i);
				if(!bSD){
					if(o.className.indexOf("Sel")>-1) o.className=o.className.slice(0,-3);
				}else{
					if(o.className.indexOf("Sel")<0) o.className+="Sel";
				}
				o=_gel(szId+"-"+i);
				o.checked=bSD;
				cmp.chk.st(o);
			}
			for(var i=0;i<a.cmb.length;i++){
				var o=_gel(szId+"-"+i);
				if(arFn["click"]) for(var j=0;j<arFn["click"].length;j++) eval(arFn["click"][j])(o);
			}
			if(o){
				if(arFn["change"]) for(var j=0;j<arFn["change"].length;j++) eval(arFn["change"][j])(o);
				if(arFn["blur"]) for(var j=0;j<arFn["blur"].length;j++) eval(arFn["blur"][j])(o);
			}
			*/
			//engn.shwStrct(arFn);
			
			//cmp.cmb.rld
			
			var bSD=false;
			for(var i=0;i<a.cmb.length;i++){
				var o=_gel(szId+"-"+i);
				if(!o.checked){
					var bSD=true;
					break;
				}
			}
			for(var i=0;i<a.cmb.length;i++){
				var oC=_gel("chck_"+szId+"-"+i);
				var oI=_gel(szId+"-"+i);
				if((bSD&&oI.checked)||(!bSD&&!oI.checked)) continue;
				oI.checked=bSD;
				if(arFn["click"]) for(var j=0;j<arFn["click"].length;j++) eval(arFn["click"][j])(oI);
			}
			if(o){
				if(arFn["change"]) for(var j=0;j<arFn["change"].length;j++) eval(arFn["change"][j])(o);
				if(arFn["blur"]) for(var j=0;j<arFn["blur"].length;j++) eval(arFn["blur"][j])(o);
			}
			//alert(a.vl);
		}
	},
	aj:{
		crCmb:function(a,arRc){
			var ar=[];
			for(var i=1;i<arRc.length;i++){
				arR=[];
				for(x in arRc[i]) arR.push(arRc[i][x]);
				ar.push(arR);
			}
			a.cmb=a.ajCmb=ar;
		},
		pp:function(arCmp,iNR,szT,szFn,szId,szTS,arDt){
			var pp=arCmp.jn;
			if(!szId||!pp) return;
			if(!iNR) iNR=200;
			if(!szT) szT="S";
			if(!szFn) szFn="";
			if(!szTS) szTS="SNC";
			var bF=(szId.indexOf("__f")>-1)?true:false;
			var ar6=ppArr(pp,"\6");
			pp="\3"+"0\3"+ar6[1]+"\3\2";
			var arC=ppArr(ar6[0],"\5");
			var a=engn.gtCmp(arCmp.nmDb+"_"+arDt.id)[0];
			var idR="";
			var idM=0;
			if(arCmp.idCmpRif){
				var arR=arCmp.idCmpRif.split("_");
				idR=arR[0];
				idM=arR[1];
			}
			for(var i=0;i<arC.length;i++){
				if(arC[i][0]=="\21"){
					var sz=arC[i].replace(/\21/g,"\6");
					sz=sz.replace(/\20/g,"\5");
					pp+=sz+"\2";
				}else{
					var ar=arC[i].split("\1");
					
					/*
					// aggiunta perchè ho corretto e aggiunto che mancava la limitazione LIMIT nella query SNC o SNCD del ajax.php
					// in qusto modo mettendo un limit il valore che mi serve potrebbe essere escluso dai risultati
					//imposto quindi già il valore come filtro
					// 04-11-11
					if(arCmp.vl&&(ar[1]=="_"+ar6[2])){
						ar[3]=arCmp.vl;
						//presumo che sia sempre un select quindi aggiungo il filter
						var szSWOG="";
						var arSWOG=ar[6].split("|");
						if(arSWOG=="S") szSWOG="S|F";
						else{
							arSWOG[1]="F";
							szSWOG=arSWOG.join("|");
						}
						ar[6]=szSWOG;
					}
					*/
					
					if(!a.lst_bDDef&&bNasc&&ar[0]=="bDel") continue;
					for(var j=0;j<ar.length;j++) if(!ar[j]) ar[j]="";
					var szW=ar[3];
					if(ar[3].indexOf("#")>-1){
						var arV=ar[3].split(",");
						for(var j=0;j<arV.length;j++){
							szW=arV[j];
							if(szW.indexOf("#")<0) continue;
							szW=szW.substring(1,szW.length-1);
							arV[j]=cmp.gtVl(szW+"_"+idM,bF);
							if(arV[j]===false||arV[j]==""){
								arV[j]="####";
								continue;
							}
							if((arCmp.dt_tC=="ppCheck"||arCmp.tp=="ppCheck")&&idR==ar[3].slice(1,-1)){
								var aR=engn.gtCmp(arCmp.idCmpRif)[1];
								if(aR.cmb){
									var szTc=cmp.gtT(aR,false,bF);
									if(szTc=="combo"){
										for(var k=0;k<aR.cmb.length;k++){
											if(aR.vl==aR.cmb[k][0]){
												arV[j]=(ppSrch("|IN|NI|",ar[4])!==false)?"|"+aR.cmb[k][0]+"|":aR.cmb[k][0];
												break;
											}
										}
									}else{
										var arVC=[];
										for(var k=0;k<aR.cmb.length;k++){
											if(ppSrch(aR.vl,aR.cmb[k][0])) arVC.push(aR.cmb[k][0]);
										}
										arV[j]=ppStr(arVC);
									}
								}
							}
						}
						szW=arV.join(",");
						if(szW.indexOf("####")>-1){
							var arNll=[];
							for(var j=0;j<arV.length;j++){
								if(arV[j]=="####") arNll.push(j);
								if(arV[j]=="_") arNll.push(j);
								if(arV[j]=="NULL") arNll.push(j);
							}
							if(arNll.length>0){
								var ar0=ar[0].split(",");
								var ar4=ar[4].split(",");
								var ar5=ar[5].split(",");
								var k=0;
								for(var j=0;j<arNll.length;j++){
									ar0.splice(arNll[j-k],1);
									arV.splice(arNll[j-k],1);
									ar4.splice(arNll[j-k],1);
									ar5.splice(arNll[j-k],1);
									k++;
								}
								szW=arV.join(",");
								ar[0]=ar0.join(",");
								ar[4]=ar4.join(",");
								ar[5]=ar5.join(",");
							}
							if(szW=="") continue;
						}
					}
					pp+=ar[0]+"\1"+ar[1]+"\1"+ar[2]+"\1"+szW+"\1"+ar[4]+"\1"+ar[5]+"\1"+ar[6]+"\2";
				}
			}
			pp+="\3"+iNR+"\3"+szT+"\3"+szFn+"\3"+szId+"\3"+szTS+"\3";
			//alert(pp);
			return pp;
		},
		gtPpCmb:function(pp,szId,arCmp,fnOK,fnKO,arDt){/////////////////////////mod 03/06/11
			if(!szId) szId=ppArr(pp,"\3")[6];
			if(!pp) pp=cmp.aj.pp(arCmp,200,"",false,szId,"SNC",arDt);
			if(!fnOK) fnOK=cmp.aj.crPpCmb;
			if(!fnKO) fnKO=false;
			new ajx("GT",pp,false,szId,arCmp.szMsgNoCmb,true,true,false,fnOK,fnKO,false,false);/////////////////////////mod 03/06/11
		},
		crPpCmb:function(arRec){
			var bF=false;
			var szId=arRec[2];
			if(arRec[2].indexOf("__f")>-1){
				bF=true;
				szId=arRec[2].substr(3);
			}
			var a=engn.gtCmp(szId)[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.bAjLdd=true;
			if(a.bShwCmb){
				if(a.ajCmb.length>0){
					var vl=(bF)?a.fltr_vl:a.vl;
					cmp.cmb.cr(a,a.ajCmb,arRec[2],vl,a.cmb_bSel,a.cmb_bStl);
					//if(a.dt_fnCrCmp&&!bF) eval(a.dt_fnCrCmp)(szId);
					if(!bF) engn.dcdFnCrCmp(a,null,szId);
				}else _gel("dAj"+szId).innerHTML=a.szMsgNoCmbRes;
			}else _gel("dAj"+szId).innerHTML=a.szMsgNoCmb;
			if(szId.indexOf("|")>-1) a.err=true;
		},
		gtPpChk:function(pp,szId,arCmp,iNR,arDt){/////////////////////////mod 03/06/11
			if(!iNR) iNR=21;/////////////////////////mod 03/06/11
			if(!szId) szId=ppArr(pp,"\3")[6];
			if(!pp) pp=cmp.aj.pp(arCmp,iNR,"S","cmp.aj.gtPpChk",szId,"S",arDt);/////////////////////////mod 03/06/11
			new ajx("GT",pp,false,szId,false,true,true,false,cmp.aj.crPpChk,cmp.aj.crPpChkKO,false,false);/////////////////////////mod 03/06/11
		},
		crPpChk:function(arRec){
			var ar=engn.gtCmp(arRec[2]);
			var a=ar[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.bAjLdd=true;
			if(a.ajCmb.length>0) cmp.ppChk.cr(ar[0],a,arRec[1]);
			else _gel("dAj"+arRec[2]).innerHTML=a.szMsgNoCmbRes;
		},
		/////////////////////////mod 03/06/11
		crPpChkKO:function(szId){
			var a=engn.gtCmp(szId)[1];
			a.vl=false;
		},
		ppChkRld:{
			dsl:function(szIdC,szIdR){
				var ar=engn.gtCmp(szIdR);
				var arDt=ar[0];
				var a=ar[1];
				var aC=engn.gtCmp(szIdC)[1];
				var ar6=ppArr(a.jn,"\6");
				pp="\3"+"0\3"+ar6[1]+"\3\2";
				var ar5=ppArr(ar6[0],"\5");
				for(var i=0;i<ar5.length;i++){
					var ar=ar5[i].split("\1");
					for(var j=0;j<ar.length;j++) if(!ar[j]) ar[j]="";
					var szW=ar[3];
					if(szW.indexOf("#")>-1){
						ar[4]="NI";
						szW=szW.substring(1,szW.length-1);
						var arV=[];
						for(var j=0;j<aC.cmb.length;j++){
							if(!ppSrch(aC.vl,aC.cmb[j][0])) arV.push(aC.cmb[j][0]);
						}
						szW=ppStr(arV);
						if(szW===false||szW=="") continue;
					}
					pp+=ar[0]+"\1"+ar[1]+"\1"+ar[2]+"\1"+szW+"\1"+ar[4]+"\1"+ar[5]+"\1"+ar[6]+"\2";
				}
				pp+="\3"+200+"\3S\3\3"+szIdR+"\3SNC\3";
				//cmp.aj.gtPpCmb(pp,szIdR,a,cmp.aj.ppChkRld.ok,cmp.aj.ppChkRld.ko,arDt);
				cmp.aj.gtPpCmb(pp,szIdR,a,cmp.aj.ppChkRld.ok,cmp.aj.crPpChkKO,arDt);
			},
			ok:function(arRec){
				//alert(arRec);
				var arMCS=engn.gtCmp(arRec[2]);
				var a=arMCS[1];
				cmp.aj.crCmb(a,arRec[0]);
				if(a.vl){
					var pp=ppArr(a.vl);
					for(var i=0;i<pp.length;i++){
						var iK=arGetKey(a.cmb,"0",pp[i]);
						if(iK===false) a.vl=a.vl.replace("|"+pp[i]+"|","|");
					}
					if(a.vl=="|") a.vl=false;
				}
				engn.crCmp(arMCS[0],arMCS[1],false,true);
				if(a.idCmpRld) cmp.cmb.rldId(arRec[2]);
			}
			/*
			,
			ko:function(szId){
				cmp.aj.crPpChkKO(szId)
				var aa=engn.gtCmp(szId)[1];
				alert("KO\n\n"+szId+"\n\n\n\n"+aa.vl)
			}
			*/
		}
		/////////////////////////mod 03/06/11
	},
	cmb:{
		crCmb:function(idPrnt,idObj,arOpt,optSel,bSel,bStl,szFunc){//,bSkp
			var objPrnt=_gel(idPrnt);
			if(!objPrnt) return;
			var objSpan=_cel("span");
			objSpan.id="slct_"+idObj;
			objSpan.className="slct";
			//objPrnt.appendChild(objSpan);
			_ael(objSpan,objPrnt);
			var objSpanT=_cel("div");
			objSpanT.className="slctTxt";
			objSpanT.id="slctTxt_"+idObj;
			//objSpan.appendChild(objSpanT);
			_ael(objSpanT,objSpan);
			var objCmb=_cel("select");
			objCmb.name=objCmb.id=idObj;
			var bDis=false;
			var arDt=engn.gtCmp(idObj);
			var a=arDt[1];
			var bDt=(arDt.dt_idRc)?true:false;
			var bF=(idObj.indexOf("__f")>-1)?true:false;
			if((a.nw_bDis&&!bDt||a.dt_bDis&&bDt)&&!bF) objCmb.disabled=true;
			objCmb.className="inpCmb";
			if(szFunc) addEvent(objCmb,'change',szFunc,false);
			//objPrnt.appendChild(objCmb);
			
			_ael(objCmb,objPrnt);
			return cmp.cmb.ppl(objCmb,arOpt,optSel,bSel,bStl);
		},
		st:function(e){
			//if(!obj.id) obj=_gee(obj);
			var obj=(e.id)?e:_gee(e);
			if(!obj) return;
			chk.init(obj.id);
			if(obj.selectedIndex>=0){
				_gel("slctTxt_"+obj.id).innerHTML=ltrim(obj.options[obj.selectedIndex].text);
				chk.ctrl.kook(true,obj);
			}else _gel("slctTxt_"+obj.id).innerHTML="";
		},
		cr:function(a,ar,id,vlSel,bSel){//,bF
			var obj=_gel("dAj"+id);
			if(!obj) return;
			obj.innerHTML="";
			if(a.bShwCmb){
				if((a.dt_rdOnl||a.nw_rdOnl)&&id.indexOf("__f")<0){
					var arId=id.split("_");
					var idM=arId[arId.length-1];
					var bDt=cmp.gtVl("intID_"+idM);
					if((bDt&&a.dt_rdOnl)||(!bDt&&a.nw_rdOnl)){
						var szV="";
						if(vlSel!==false){
							if(vlSel.indexOf("|")>-1){
								var arSel=ppArr(vlSel);
								for(var i=0;i<arSel.length;i++){
									var iK=arGetKey(ar,0,arSel[i]);
									szV+=ar[iK][1]+", ";
								}
								szV=szV.replace(/,\s$/,"");
							}else{
								var iK=arGetKey(ar,0,vlSel);
								if(iK===false) szV="";
								else szV=ar[iK][1];
							}
						}
						obj.innerHTML=szV;
						return;
					}
				}
				cmp.cmb.crCmb("dAj"+id,id,ar,vlSel,bSel,a.cmb_bStl,cmp.cmb.st);
				engn.cmpAddFn(id);
			}else _gel("dAj"+id).innerHTML=a.szMsgNoCmb;
		},
		ppl:function(objCmb,arOpt,optSel,bSel,bStl){
			if(bSel){
				var objOpt=_cel('option');
				objOpt.text=" -- seleziona -- ";
				objOpt.value="";
				try{ objCmb.add(objOpt,null);} // standards compliant
				catch(ex){ objCmb.add(objOpt);} // IE only
			}
			bStSel=0;
			for(var i=0;i<arOpt.length;i++){
				var objOpt=_cel('option');
				objOpt.text=arOpt[i][1];
				objOpt.value=arOpt[i][0];
				if(bStl) objOpt.className=arOpt[i][0];
				var vl=parseInt(arOpt[i][0]);
				if(isNaN(vl)) vl=arOpt[i][0];
				if(vl==optSel&&optSel!==false&&optSel!==""){
					objOpt.selected="selected";
					bStSel=1;
				}
				try{ objCmb.add(objOpt,null);} // standards compliant
				catch(ex){ objCmb.add(objOpt);} // IE only
			}
			if(!bStSel) arOpt[0].selected="selected";
			cmp.cmb.st(objCmb);
			return objCmb;
		},
		rppl:function(idObj,arOpt,optSel,bSel,bStl){
			var objCmb=_gel(idObj);
			if(!objCmb) return;
			_relCN(idObj);
			return cmp.cmb.ppl(objCmb,arOpt,optSel,bSel,bStl);
		},
		rld:function(e){
			var o=_gee(e);
			//var o=(e.id)?e:_gee(e);
			var id="";
			var fn=false;
			if(!o){///è un ppCheck o un srch
				o=e;
				id=o.id.split("-")[0];
				if(!o.checked) fn=cmp.aj.ppChkRld.dsl;
			}else{
				chk.ctrl.upd(o);
				id=o.id;
				cmp.cmb.rldId(id);
			}
			cmp.cmb.rldId(id,fn);
		},
		rldId:function(szId,fn){/////////////////////////mod 03/06/11
			if(!szId) return;
			var bF=(szId.indexOf("__f")>-1)?true:false;
			var arMCS=engn.gtCmp(szId);
			var arCO=arMCS[1];
			var szCmpDip=arCO.idCmpRld;
			if(!szCmpDip) return;
			var arDip=szCmpDip.split(",");
			for(var i=0;i<arDip.length;i++){
				szCmpDip=arDip[i];
				arMCS=engn.gtCmp(szCmpDip);
				var arC=arMCS[1];
				if(bF) arC.fltr_vl=false;
				else{
					if(arCO.dt_tC!="ppCheck"&&arC.dt_tC!="ppCheck") arC.vl=false;
				}
				if(arC.bRldAllwys&&arCO.vl){
					arC.bAjLdd=false;
					arC.ajCmb=false;
				}
				if(!fn) engn.crCmp(arMCS[0],arMCS[1],bF,true);
				if(szCmpDip.indexOf("_"+arMCS[0].id)<0) szCmpDip=szCmpDip+"_"+arMCS[0].id;
				if(bF) szCmpDip="__f"+szCmpDip;
				if(arCO.idCmpRld){
					if(fn) fn(szId,szCmpDip);
					else cmp.cmb.rldId(szCmpDip);
				}
			}
		},
		rStId:function(szId){/////////////////////////mod 03/06/11
			if(!szId) return;
			var bF=(szId.indexOf("__f")>-1)?true:false;
			var arMCS=engn.gtCmp(szId);
			var arCO=arMCS[1];
			var szCmpDip=arCO.idCmpRld;
			if(!szCmpDip) return;
			var arDip=szCmpDip.split(",");
			for(var i=0;i<arDip.length;i++){
				var o=_gel("dAj"+arDip[i]+"_"+arMCS[0].id)
				if(o) o.innerHTML="---";
			}
		}
	},
	ppTb:{
		cr:function(szId){
			var arCmp=[];
			arCmp.push(new sCmp());
			arCmp[0].nm="Codice YouTube";
			arCmp[0].nmDb="idTb";
			arCmp[0].tp="varchar";
			arCmp[0].lngMn=11;
			arCmp[0].lngMx=11;
			arCmp[0].nll=true;
			arCmp[0].idCmpRif=szId;
			arCmp[0].lng_Btrslt=true;
			arCmp[0].add_Brdr=true;
			engn.crPpFnD(arCmp[0],"\1blur\1cmp.ppTb.chk\1");
			var ar=engn.gtCmp(szId);
			var arDt=ar[0];
			var a=ar[1];
			a.arSCmp=arCmp;
			engn.crImgNmC(szId,"youtube.png","YouTube");
			add.rd(arDt,a,cmp.ppTb.crMd);
			var sz="<br /><b style=\"color:#900;\">ATTENZIONE!</b><br />";
			sz+="Inserire la parte finale dell'indirizzo, es:<br />http://www.youtube.com/watch?v=<b>5sp8oo3ebUI</b>";
			_gel("dt_nte_"+szId).innerHTML=sz;
		},
		crMd:function(arDt,a){
			var szId=a.nmDb+"_"+arDt.id;
			var obj=_gel("dt_cmp"+szId);
			if(!obj){
				obj=_cel("div");
				obj.id="dt_cmp"+szId;
				var ar=a.nmDb.split("|");
				_ael(obj,_gel("add_"+ar[0]+"_"+ar[1].split("-")[1]));
			}
			obj.className="uplTbOK";
			obj.innerHTML="<img src=\"http://i.ytimg.com/vi/"+a.vl+"/default.jpg\" alt=\"\" />";
			obj.parentNode.className="dMdAddFTB";//era dMdAddF modifica 12/03/11
			obj=obj.parentNode;
			_ibl(obj.parentNode.removeChild(obj),_gel("uplLst_"+a.nmDb.split("|")[0]+"_"+arDt.id+"_clear"));
			drg.init(obj);
		},
		crMdPpTb:function(pp){
			if(!pp) return false;
			var ar=[];
			var a6=ppArr(pp,"\6");
			for(var i=0;i<a6.length;i++){
				var a5=ppArr(a6[i],"\5");
				ar.push("<div class=\"vdoCnt\" onclick=\"vdo.shw('"+a5[0]+"')\"><img class=\"vdoThmb\" src=\"http://i.ytimg.com/vi/"+a5[0]+"/default.jpg\" alt=\"\" /><div class=\"vdoPly\"></div></div>");
			}
			return ar;	
		},
		rng:function(szId){
			var a=engn.gtCmp(szId)[1];
			var ar=_gel("uplLst_"+szId).childNodes;
			for(var i=0;i<ar.length;i++){
				if(ar[i].id.indexOf("_clear")>-1) continue;
				var k=ar[i].id.split("_")[2];
				var arS=engn.gtCmp(a.nmDb+"|idTb-"+k);
				arS[0].arCmp[arS[3]].arSCmpVl[arS[4]].idRdr=i;
			}
		},
		chk:function(e){
			var o=_gee(e);
			var ar=engn.gtCmp(o.id);
			var arDt=ar[0];
			var a=ar[1];
			chk.arDt=arDt;
			chk.a=a;
			if(o.value>""){
				var regExpr=/^[a-zA-Z0-9_\-\.]{11}$/;
				if(!regExpr.test(a.vl)) return chk.ctrl.kook(false,o);//inpKO(arDt,a,this);
				else{
					chk.ctrl.kook(true,o);
					cmp.ppTb.crMd(arDt,a);
				}
			}
			noPropag(e);
		}
	},
	gmap:{
		cr:function(szId){
			var ar=engn.gtCmp(szId);
			var arDt=ar[0];
			var a=ar[1];
			if(a.vl){
				cmp.gmap.crMd(arDt,a);
				return;
			}
			var objInp=_cel('textarea');
			objInp.id=szId;
			objInp.style.width="110px";
			objInp.style.height="110px";
			engn.crPpFnD(a,"\1blur\1cmp.gmap.chk\1");
			var obj=_gel("dAj"+szId);
			obj.innerHTML="";
			_ael(objInp,obj);
			engn.cmpAddFn(szId);
		},
		crMd:function(arDt,a){
			var obj=_gel("dAj"+a.nmDb+"_"+arDt.id);
			obj.className="uplGMaps";
			obj.innerHTML=a.vl+"<div class=\"dCls\" id=\"add_cls_"+a.nmDb+"_"+arDt.id+"\" onclick=\"cmp.gmap.rm('"+a.nmDb+"_"+arDt.id+"',event);\"; ></div>";
		},
		rm:function(szId,e){
			var ar=engn.gtCmp(szId);
			var arDt=ar[0];
			var a=ar[1];
			a.vl=false;
			cmp.gmap.cr(szId);
			noPropag(e);
		},
		chk:function(e){
			var o=_gee(e);
			if(!o.value) return;
			var ar=engn.gtCmp(o.id);
			var arDt=ar[0];
			var a=ar[1];
			if((o.value.indexOf("<iframe width=")==-1 || 
				o.value.indexOf("http://maps.google")==-1 || 
				o.value.indexOf("hl=")==-1 ||
				o.value.indexOf("UTF8")==-1 || 
				o.value.indexOf("&amp;spn=")==-1 || 
				o.value.indexOf("output=embed")==-1) &&
				o.value!="") b=false;
			else b=true;
			chk.ctrl.kook(b,o,arDt,a);
			if(b) cmp.gmap.crMd(arDt,a);
		}
	},
	gtVl:function(idCmp,bF){
		if(idCmp.indexOf("_")<0) idCmp+="_0";
		var ar=idCmp.split("_");
		var id=parseInt(ar[ar.length-1]);
		ar.pop();
		idCmp=ar.join("_");
		for(var i=0;i<arMain.length;i++){
			if(parseInt(arMain[i].id)!=id) continue;
			for(var j=0;j<arMain[i].arCmp.length;j++){
				if(arMain[i].arCmp[j].nmDb==idCmp) return (bF)?arMain[i].arCmp[j].fltr_vl:arMain[i].arCmp[j].vl;
			}
		}
		return false;
	},
	stVl:function(a,b,bF,arDt,szV){
		var szTc=cmp.gtT(a,b,bF);
		if(!arDt) return;
		var o=_gel(arDt[1].nmDb+"_"+arDt[2]);
		arDt[1].vl=szV;
		var bDt=cmp.gtVl("intID_"+arDt[2]);// 12-11-11 aggiunto il _"+arDt[2]
		if(bDt!==false) bDt=true;
		var bRO=(bDt)?arDt[1].dt_rdOnl:arDt[1].nw_rdOnl;
		if(bRO){
			_gel("dAj"+arDt[1].nmDb+"_"+arDt[2]).innerHTML=arDt[1].vl;
			return;
		}else{
			if(!o) return;
			o.value=arDt[1].vl;
		}
		switch(szTc){
			case "combo":
				cmp.cmb.st(o);
				break;
		}
	},
	stRif:function(arDt,a){
		if(a.idCmpRld){
			var arRld=a.idCmpRld.split(",");
			var ar=[];
			for(var i=0;i<arRld.length;i++){
				if(arRld[i].indexOf("_")>-1) arRld[i]=arRld[i].split("_")[0];
				ar.push(arRld[i]+"_"+arDt.id);
				var arMCSRif=engn.gtCmp(arRld[i]+"_"+arDt.id);
				var aRif=arMCSRif[1];
				aRif.idCmpRif=a.nmDb+"_"+arMCSRif[0].id;
			}
			a.idCmpRld=ar.join(",");
		}
	},
	gtT:function(a,b,bF){//determina il tipo di campo
		if(!a){
			alrt.crErr("cmp.gtT: "+cmp.gtT.caller.name);
			return false;
		}
		if(!bF){
			if(!a.lng_Btrslt){
				var v=parseInt(cmp.gtVl("idR"));
				if(v&&!ppSrch(lng.ppCmpLng,a.nmDb)&&a.nmDb.indexOf("stl_-")==-1) return "hide";//aggiunta l'eccezione per il combo stili in richtext 06/03/11
			}
		}
		var sz="";
		var bDt=cmp.gtVl("intID");
		if(bDt!==false) bDt=true;
		if(bDt) sz=a.dt_tC;//sono in editing
		else{//sono in new
			//sz=(a.nw_tC)?a.nw_tC:a.dt_tC;
			if(a.nw_tC) sz=a.nw_tC;
			else sz=a.nw_tC=a.dt_tC;
		}
		if(b){
			if(!sz) sz=a.tp;
		}
		if(bF){
			if(a.fltr_tC) sz=a.fltr_tC;
		}
		if(sz=="text"&&_isIE) sz="textPln";
		return sz;
	},
	stV:function(a,bF,bDt,szTc,bNoPrdf){
		if(!a||!szTc){
			alrt.crErr("cmp.stV: "+cmp.stV.caller.name);
			return "";
		}
		var szVl="";
		if(a.vl!==false) szVl=a.vl;
		if(szVl==""||(!szVl&&szVl!=0)){//szVl!==false
			if(bF){
				if(a.fltr_prdf){
					szVl=a.fltr_prdf;
					if(!a.fltr_vl) a.fltr_vl=a.fltr_prdf;
				}
				if(a.fltr_vl) szVl=a.fltr_vl;
			}else{
				if(bDt){
					if(szTc=="url"&&!a.dt_prdf) a.dt_prdf="http://";
					if(a.dt_prdf&&!bNoPrdf) szVl=a.vl=a.dt_prdf;
				}else{
					if(szTc=="url"&&!a.nw_prdf) a.nw_prdf="http://";
					if(a.nw_prdf&&!bNoPrdf) szVl=a.vl=a.nw_prdf;
				}
				if((szVl==""||!szVl)&&a.prdf&&!bNoPrdf) szVl=a.vl=a.prdf;
				if(a.dt_fn&&szVl!==false) szV=eval(a.dt_fn(szVl));
			}
		}
		return szVl;
	},
	hist:function(szId,b){
		b=parseInt(b);
		var a=engn.gtCmp(szId)[1];
		var sz="";
		var ar2=ppArr(a.vl,"\2");
		ar2.reverse();
		var k=(b)?ar2.length:3;
		for(var i=0;i<k;i++){
			var ar1=ppArr(ar2[i],"\1");
			sz+=dtTmPrnt(ar1[2])+" - "+ar1[0]+" "+ar1[1]+"<br />";
		}
		var bS=1;
		var szLbl="mostra tutto";
		if(b){
			bS=0;
			szLbl="riduci";
		}
		sz+=engn.crBttAdd("cmp.hist",szId,szLbl,false,"bbtTxt",bS,true);
		_gel("dAj"+szId).innerHTML=sz;
	}
}
var lng={
	ppCmpRmbr:"|ppTb|gmap"+cmp.ppTpCmpF,
	ppCmpLng:"|idL|idR|",
	bFL:true,//bool prima lingua
	arCmp:[],//memorizzo i campi che devo ricordare della prima lingua, ppPh, ppFl, gmaps, ppTb
	bMem:false,//ho già memorizzato la prima lingua?
	clr:function(){
		lng.bFL=true;
		lng.arCmp=[];
		lng.bMem=false;
	},
	chg:function(e){
		var o=_gee(e);
		if(!o.value) return;
		var arM=engn.gtCmp(o.id);
		var arDt=arM[0];
		var ar=arDt.arCmp;
		lng.bFL=(o.value==arDt.arLng[0][0]);//è la prima lingua?
		var iK=engn.gtCmp("idR")[3];
		if(!lng.bFL){
			ar[iK].vl=arDt.dt_idRcR;
			arDt.dt_idRc=false;
			iK=engn.gtCmp("intID")[3];
			ar[iK].vl=false;
			if(!lng.bMem){
				for(var i=0;i<ar.length;i++){
					//alert(ar[i].dt_tC);
					if(ppSrch(lng.ppCmpRmbr,ar[i].dt_tC)||ar[i].lng_rmbr){
						if(ar[i].dt_tC=="ppTb"||ar[i].dt_tC=="ppAdd") lng.arCmp[ar[i].nmDb]=add.sv(arDt,ar[i]);
						lng.arCmp[ar[i].nmDb]=ar[i].vl;
					}
				}
			}
			lng.bMem=true;
		}else{
			ar[iK].vl=0;
			arDt.dt_idRc=arDt.dt_idRcR;
			lng.bMem=false;
		}
		//engn.shwStrct(lng.arCmp);
		
		var objDt=_gel("dDtC");
		whtng.cr(objDt,true);
		var pp="\3"+"0\3"+arDt.tbl+"\3\2";
		for(var i=0;i<ar.length;i++){
			if((!ar[i].dt_B&&ar[i].nmDb!="intID")||ppSrch(lng.ppCmpLng,ar[i].nmDb)) continue;//aggiunta l'eccezione intID 16/12/2010
			if(ar[i].nmDb=="intID"&&lng.bFL) continue;
			if(ar[i].nmDb!="intID"&&!ar[i].lng_Btrslt&&!lng.bFL){// aggiunta eccezione il 06/03/11
				ar[i].nll=false;
				continue;
			}
			pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1\1\1\1S\2";
		}
		if(lng.bFL) pp+="intID\1\1\1"+arDt.dt_idRc+"\1\1\1S|A|\2";
		else{
			pp+="idR\1\1\1"+arDt.dt_idRcR+"\1\1\1S|A|\2";
			pp+="idL\1\1\1"+o.value+"\1\1\1S|A|\2";
		}
		pp+="\3"+"1\3\3\3dt_"+arDt.id+"\3SNC\3\3"+arDt.db+"\3";
		new ajx("GT",pp,false,"dt_rec_"+arDt.id,false,false,false,false,lng.chgOK,lng.chgKO,false,false);
	},
	chgKO:function(szId){
		var iK=engn.gtCmp(szId,true);
		whtng.rm(_gel("dDtC"));
		var objDt=_gel("dt_"+arMain[iK].id);
		whtng.cr(objDt,true);
		if(!lng.bFL){
			for(var k in lng.arCmp){
				if(lng.arCmp[k]>""){
					var ar=engn.gtCmp(k);
					//alert(k+"__"+ar[1].nmDb+"__"+lng.arCmp[k]);
					ar[1].vl=lng.arCmp[k];
				}
			}
		}
		engn.rstVls(arMain[iK],lng.ppCmpLng,"|combo|hide|ppCheck"+lng.ppCmpRmbr);
		gstFdd(objDt,200,-1,eval(arMain[iK].lst_fnNw));
	},
	chgOK:function(arRec){
		var iK=engn.gtCmp(arRec[2],true);
		var objDt=_gel("dt_"+arMain[iK].id);
		engn.rstVls(arMain[iK],lng.ppCmpLng,"|combo|hide|ppCheck"+lng.ppCmpRmbr);//mod 10/08/2011
		whtng.rm(_gel("dDtC"));
		dt.gtOK(arRec,true);//il true è per i cambi obblcatori seconda lingua   22/02/2011
	}
}
var sbMnBtts={
	bSbMn:false,
	arToDt:[],
	szSffx:false,
	ppBtt:false,
	arMem:[],
	bLst:false,/////////////////////////mod 03/06/11
	clr:function(){/////////////////////////mod 03/06/11
		sbMnBtts.bSbMn=false;
		sbMnBtts.arToDt=[];
		sbMnBtts.szSffx=false;
		sbMnBtts.ppBtt=false;
		sbMnBtts.arMem=[];
		sbMnBtts.bLst=false;
	},
	s:function(sffx,cmpRif,nw_prdf,vl,lbl,szClass,bLst){
		this.sffx=sffx;
		this.cmpRif=cmpRif;
		this.nw_prdf=nw_prdf;//di default è ""
		this.vl=vl;// valore dei b???
		this.lbl=lbl;
		this.szClass=szClass;
		this.bLst=bLst;
	},
	init:function(arDt){
		if(!sbMnBtts.arToDt.length) return true;
		else{
			var iKB=arGetKey(sbMnBtts.arToDt,"sffx",arDt.nm);
			if(!sbMnBtts.arToDt[iKB].nw_prdf&&sbMnBtts.arToDt[iKB].cmpRif=="intID") return true;
			return false;
		}
	},
	cr:function(arDt){
		var pp=(arDt.dt_Btts)?arDt.dt_Btts:sbMnBtts.ppBtt;
		if(pp){
			var ar6=ppArr(pp,"\6");
			var objBtts=_gel("dDtBtts");
			if(!objBtts){
				objBtts=_cel("div");
				objBtts.id="dDtBtts";
				objBtts.className=arDt.dt_dBtts;
				_ibl(objBtts,_gel("dt_"+arDt.id));
				for(var i=0;i<ar6.length;i++){
					var ar5=ppArr(ar6[i],"\5");
					if(ar5[4]){
						if(ar5[4]&&ar5[2]=="intID"&&cmp.gtVl(ar5[4])==0) continue;
						sbMnBtts.arToDt.push(new sbMnBtts.s(ar5[0],ar5[2],ar5[4],cmp.gtVl(ar5[4]),ar5[1],ar5[3],ar5[6]));
					}else{
						sbMnBtts.arToDt.push(new sbMnBtts.s(ar5[0],ar5[2],false,arDt.dt_idRc,ar5[1],ar5[3],ar5[6]));
					}
					if(arDt.nm==ar5[0]){
						if(arDt.dt_idRc===false&&!sbMnBtts.bLst){//questo succede quando sono in new nella tabella principale
							_rel(_gel("dDtBtts"));
							return false;
						}
					}
				}
			}else objBtts.innerHTML="";
			var bS=false;
			for(var i=0;i<sbMnBtts.arToDt.length;i++){
				var a=sbMnBtts.arToDt[i];
				var szClss=a.szClass;
				var ppFn;
				if((a.sffx==sbMnBtts.szSffx)||(!sbMnBtts.szSffx&&a.cmpRif=="intID"&&!bS)){
					bS=true;
					szClss+="Sel";
				}else ppFn="\2\1click\1sbMnBtts.gt\1\2";
				_ael(engn.crPls(a.sffx,szClss,a.lbl,ppFn),objBtts);
			}
		}
	},
	gt:function(e){
		if(ajxBlcc>0) return;
		var o=_gee(e);
		if(sbMnBtts.szSffx==o.id) return;
		var iK=arGetKey(arMain,"nm"+o.id);
		if(iK===false){
			alrt.crErr("gtSbBtt: iK non trovato id: "+o.id);
			return false;
		}
		_rel(_gel("lst_"+arMain[iK].id));
		//Aggiungo una funzione che mi permetta di memorizzare alcuni campi della prima Tab e me li riporti su un'altra come new_prdf
		if(arMain[0].dt_BttsNwPrdfVls&&!sbMnBtts.arMem.length){
			sbMnBtts.arMem=[];
			var ar21=ppArr(arMain[0].dt_BttsNwPrdfVls,"\21");
			for(var j=0;j<ar21.length;j++){
				var ar6=ppArr(ar21[j],"\6");
				var ar=[];
				if(sbMnBtts.szSffx==false||sbMnBtts.szSffx==ar6[0]){
					var ar5=ppArr(ar6[2],"\5");
					for(var i=0;i<ar5.length;i++){
						var arCC=ppArr(ar5[i],"#");
						if(!arCC[2]){
							var a=engn.gtCmp(arCC[0]+"_"+arMain[iK].id)[1];
							arCC[2]=a.vl;
						}
						ar.push({"idCO":arCC[0],"idCD":arCC[1],"szV":arCC[2]});
					}
					sbMnBtts.arMem.push({"tbl":ar6[1],"arCmp":ar});
				}
			}
		}
		sbMnBtts.szSffx=o.id;
		var iKB=arGetKey(sbMnBtts.arToDt,"sffx",sbMnBtts.szSffx);
		if(iKB===false) return;
		sbMnBtts.bLst=sbMnBtts.arToDt[iKB].bLst;
		whtng.cr(_gel("dDtC"),true);
		arMain=[];
		sbMnBtts.bSbMn=true;
		strct.fnCllr=sbMnBtts.ld;
		strct.rd(o.id,1);
	},
	ld:function(sffx){
		var iKB=arGetKey(sbMnBtts.arToDt,"sffx",sffx);
		if(iKB===false) return;
		var ar=engn.gtCmp(sbMnBtts.arToDt[iKB].cmpRif);
		var arDt=ar[0];
		var a=ar[1];
		_rel(_gel("dt_"+arDt.id));
		if(sbMnBtts.bLst){
			a.fltr_vl=sbMnBtts.arToDt[iKB].vl;
			lst.cr(sffx,true);
			return;
		}
		dt.cr(arDt);
		var pp="\3"+"0\3"+arDt.tbl+"\3\2";
		var ar=arDt.arCmp;
		for(var i=0;i<ar.length;i++){
			if(!ar[i].dt_B&&ar[i].nmDb!="intID") continue;
			if(ar[i].nmDb=="bDel"&&bNasc){
				pp+=ar[i].nmDb+"\1\1"+"1\1";
			}else{
				pp+=ar[i].nmDb+"\1"+ar[i].nmAS+"\1"+ar[i].lst_tS+"\1";
				if(ar[i].nmDb==sbMnBtts.arToDt[iKB].cmpRif) pp+=sbMnBtts.arToDt[iKB].vl+"\1\1\1S|A|";
			}
			pp+="\1\1\1S\2";
		}
		pp+="\3"+"1\3\3\3dt_"+arDt.id+"\3SNC\3\3"+arDt.db+"\3";
		new ajx("GT",pp,false,"dt_"+arDt.id,false,true,true,false,dt.gtOK,sbMnBtts.ldKO,false);
	},
	ldKO:function(szId){
		if(bNasc){
			_gel(szId).innerHTML="Non &egrave; possibile creare un nuovo record";
			sbMnBtts.cr(arMain[0]);
			return;
		}
		if(sbMnBtts.arToDt.length>0){
			var iK=arGetKey(sbMnBtts.arToDt,"sffx",sbMnBtts.szSffx);
			if(!sbMnBtts.arToDt[iK][2]){
				var a=engn.gtCmp(sbMnBtts.arToDt[iK].cmpRif)[1];
				a.vl=sbMnBtts.arToDt[0].vl;
				var iKM=arGetKey(sbMnBtts.arMem,"tbl",sbMnBtts.szSffx);
				if(iKM!==false){
					var aM=sbMnBtts.arMem[iKM].arCmp;
					for(var i=0;i<aM.length;i++){
						if(!aM[i]) continue;
						a=engn.gtCmp(aM[i].idCD+"_"+arMain[0].id)[1];
						a.nw_rdOnl=a.dt_rdOnl=true;
						a.nw_prdf=a.dt_prdf=a.fltr_prdf=a.fltr_vl=(a.fn)?eval(a.fn)(aM[i].szV):aM[i].szV;//a.fltr_prdf=a.fltr_vl=
					}
				}
				if(bNasc) for(var i=0;i<arMain[0].arCmp.length;i++) arMain[0].arCmp[i].nw_rdOnl=true;
				dt.nw(_gel(szId));
				
			}else alrt.crErr("sbMnBtts.ldKO 1");
		}else alrt.crErr("sbMnBtts.ldKO 2");
		if(arMain[0].dt_Btts) sbMnBtts.ppBtt=arMain[0].dt_Btts;
		if(bNasc){
			_rel(_gel("dt_dplc"+arMain[0].id));
			_rel(_gel("dt_sv"+arMain[0].id));
		}
		sbMnBtts.cr(arMain[0]);
	}
}
var gstMn={
	arM:[],
	sM:function(){
		this.id=false;
		this.mn_id=false;
		this.mn_idP=false;
		this.sffx=false;
		this.lbl=false;
		this.clss=false;
		this.iIndnt=0;
		this.mn_iF=0;
		this.mn_vc_clk=false;
	},
	cr:function(objR){
		var objM=_cel("div");
		objM.id="dDtMCnt";
		var iMC=0;//numero macroaree menù
		for(var i=0;i<gstMn.arM.length;i++){
			if(gstMn.arM[i].sffx===false){
				if(!parseInt(gstMn.arM[i].mn_iF)) continue;//elimino le etichette senza figli
				var obj=_cel("div");
				obj.id="mLbl_"+gstMn.arM[i].id;
				obj.className=(gstMn.arM[i].clss)?gstMn.arM[i].clss:"mLbl";
				obj.innerHTML=gstMn.arM[i].lbl;
				addEvent(obj,"click",gstMn.elbl,false);
				_ael(obj,objM);
				var objC=_cel("div");
				objC.id="mCv_"+gstMn.arM[i].id;
				objC.className="mCv";
				_ael(objC,objM);
				obj=_cel("div");
				obj.id="mCvH_"+gstMn.arM[i].id;
				_ael(obj,objC);
				_ael(objM,objR);
			}else{
				var obj=_cel("div");
				obj.id="mVc_"+gstMn.arM[i].id;
				obj.className=(gstMn.arM[i].clss)?gstMn.arM[i].clss:"mVc";
				obj.innerHTML=gstMn.arM[i].lbl;
				obj.style.paddingLeft=(gstMn.arM[i].iIndnt*10)+"px";
				addEvent(obj,"click",gstMn.vc,false);
				var objP=_gel("mCvH_"+gstMn.arM[i].mn_idP);
				if(!objP){
					var iK=arGetKey(gstMn.arM,"mn_id",gstMn.arM[i].mn_idP);
					if(iK==false) objP=objR;
					else objP=_gel("mCvH_"+gstMn.arM[iK].mn_idP);
				}
				if(!objP) objP=objR;
				_ael(obj,objP);
			}
		}
		if(typeof(window['fnAftrMn'])!="undefined") fnAftrMn();
	},
	elbl:function(e){
		var o=_gee(e);
		noPropag(e);
		gstMn.lbl(o.id.split("_")[1]);
	},
	lbl:function(id){
		if(!id&&id!=0) alrt.crErr("etichetta menu non trovata"); 
		var arL=_gel("dDtMCnt").childNodes;
		for(var i=0;i<arL.length;i++){
			var oL=arL[i];
			if(oL.id.indexOf("mLbl_")<0) continue;
			if(oL.className=="mLblH") oL.className="mLbl";
		}
		_gel("mLbl_"+id).className="mLblH";
		var szId="mCv_"+id;
		if(ppSrch(ppStr(arRszd),szId)) setTimeout("gstMn.lbl('"+id+"')",200);
		else{
			var objCv=_gel(szId);
			var iHF=(objCv.offsetHeight>0)?0:_gel("mCvH_"+id).offsetHeight;
			gstRsz(objCv,null,iHF);
		}
	},
	vc:function(e){
		var o=_gee(e);
		noPropag(e);
		//_gel("edo").innerHTML+=ajxBlcc+"<br />";
		if(ajxBlcc>0) return;
		var arL=_gel("dDtMCnt").childNodes;
		for(var i=0;i<arL.length;i++){
			var oC=arL[i];
			var k=oC.id.split("_")[1];
			if(oC.id=="mLbl_"+k){
				var arV=_gel("mCvH_"+k).childNodes;
				for(var j=0;j<arV.length;j++){
					var oV=arV[j];
					if(oV.id.indexOf("mVc_")<0) continue;
					if(oV.className=="mVcH") oV.className="mVc";
				}
			}
		}
		o.className="mVcH";
		var id=o.id.split("_")[1];
		if(!id&&id!=0) alrt.crErr("voce menu non trovata"); 
		var iK=arGetKey(gstMn.arM,"id",id);
		var objDt=_gel("dDtC");
		var k;
		if(!arMain.length) k=0;
		gstMn.arM[iK].idMain=k;
		objDt.innerHTML="";
		whtng.cr(objDt,true);
		arMain=[];
		ppp.cl();
		cal.clr();
		lng.clr();
		addRec.fnSvOk=false;
		sbMnBtts.clr();
		addRec.clr();
		if(!gstMn.arM[iK].mn_vc_clk){
			strct.fnCllr=lst.cr;
			strct.rd(gstMn.arM[iK].sffx,1);
		}else eval(gstMn.arM[iK].mn_vc_clk)();
	}
}
var strct={
	fnCllr:false,
	ppToAr:function(pp,s,z){
		if(!pp) return false;
		var arpp=pp.split("");			
		if(!s) s=arpp[0];
		if(!z) z=arpp[1];
		var a=ppArr(pp,s);
		for(var i=0;i<a.length;i++){
			a[i]=ppArr(a[i],z);
			for(var j=0;j<a[i].length;j++){
				if(a[i][j][0]=="\5") a[i][j]=ppArr(a[i][j],"\5");
			}
		}
		return a;
	},
	rd:function(szSffx,b){
		if(!b) b="";// se b rimuove tutti i file temporanei della sezione
		new ajx("GT","","&_a="+szSffx+"&_b="+b,szSffx,false,true,true,"php/bldStrct.php",strct.OK,strct.KO,false,false);
	},
	OK:function(arRec){
		var sz="";
		var arCmp=[];
		arMain.push(new sMain());
		var iML=arMain.length-1;
		var a19=ppArr(arRec[0],"\27");
		for(var i=0;i<a19.length;i++){
			var a18=ppArr(a19[i],"\26");
			if(a18[1].indexOf("\25\24\23")>-1){
				var a17=ppArr(a18[1],"\25");
				for(var j=0;j<a17.length;j++){
					arCmp.push(new sCmp());
					var iCL=arCmp.length-1;
					var a16=ppArr(a17[j],"\24");
					for(var k=0;k<a16.length;k++){
						var a15=ppArr(a16[k],"\23");
						if(a15[0]=="cmb") a15[1]=strct.ppToAr(a15[1]);//modifica 15/01/2011
						arCmp[iCL][a15[0]]=a15[1];
					}
				}
				arMain[iML][a18[0]]=arCmp;
			}else{
				if(a18[0]=="arLng") a18[1]=strct.ppToAr(a18[1]);
				if(arMain.length>1){
					if(a18[0]=="id") a18[1]=arMain.length-1;
				}
				arMain[iML][a18[0]]=a18[1];
			}
		}
		if(strct.fnCllr) strct.fnCllr(arRec[2]);
	},
	KO:function(szId){
		alrt.crErr("Errore nella creazione della struttura: "+szId);
	}
}
var lgn={
	b:false,
	sz:false,
	usrNfo:{
		ar:[],
		s:function(id,nm,cnm,lgn,bp,tp,bu){
			this.id=id;
			this.nm=nm;
			this.cnm=cnm;
			this.lgn=lgn;
			this.bp=bp;
			this.tp=tp;
			this.bu=bu;
		},
		gt:function(bUsr){
			new ajx("GT","","&_md=3&_bu="+bUsr,"Lgn",false,true,true,"php/stSs.php",lgn.usrNfo.OK,lgn.usrNfo.KO,false,false);
		},
		OK:function(arRec){
			lgn.usrNfo.ar.push(new lgn.usrNfo.s());
			var ar2=ppArr(arRec[1],"\2");
			for(var i=0;i<ar2.length;i++){
				var ar1=ppArr(ar2[i],"\1");
				lgn.usrNfo.ar[0][ar1[0]]=ar1[1];
			}
			lgn.usrNfo.ar[0].bu=parseInt(lgn.usrNfo.ar[0].bu)
			//engn.shwStrct(lgn.usrNfo.ar);
			lgn.lggd(lgn.usrNfo.ar[0].bu);
		},
		KO:function(sz){
			NOSS();
		}
	},
	cls:function(e){
		var objTA=_gel("dAjLgn");
		lgn.msg("",lgn.crpls,false,100);
	},
	prpr:{
		rd:function(){
			var ar=engn.brwsr.chk();
			if(ar[0]) lgn.prpr.prcd();
			else{
				var objTA=_gel("dAjLgn");
				objTA.className="dAjLgnO";
				objTA.innerHTML="<div class=\"lgnMsgCnt\">"+ar[1]+"</div>";
				_ael(engn.crDCls("lgnCls",lgn.cls),objTA);
			}
		},
		prcd:function(){
			strct.fnCllr=lgn.prpr.OK;
			strct.rd("lgn");
		},
		OK:function(){
			var iK=arGetKey(arMain,"nm","lgn");
			if(iK===false) alrt.crErr("Non e' possibile preparare la login");
			var objTA=_gel("dAjLgn");
			objTA.className="dAjLgnO";
			if(!_isIE) stAlph(objTA,0);
			objTA.innerHTML="";
			for(var i=0;i<arMain[iK].arCmp.length;i++){
				if(arMain[iK].arCmp[i].nmDb=="strPwd") arMain[iK].arCmp[i].ppFn="\1keypress\1lgn.sbmt\1";
				engn.crMdCmp(arMain[iK],arMain[iK].arCmp[i],false,objTA);
			}
			//var a=engn.gtCmp()[1];
			
			_ael(engn.crPls("lgn","bttAccdIn","accedi","\2\1click\1lgn.chk.gt\1\2"),objTA);
			_ael(engn.crDClr(),objTA);
			_ael(engn.crDCls("lgnCls",lgn.cls),objTA);
			if(!_isIE) gstFdd(objTA,260,1);
		},
		chk:function(b,sz){
			lgn.b=b;
			lgn.sz=sz;
			strct.fnCllr=lgn.chk.gt;
			strct.rd("lgn");
		}
	},
	sbmt:function(e){
		inp.chk(e);
		if(inp.kc!=13) return true;
		var o=_gel("strPwd_0");
		chk.ctrl.upd(o);
		var a=engn.gtCmp("strPwd_0")[1];
		//o.value="";
		lgn.chk.gt(e);
	},
	chk:{
		gt:function(e,bU){
			if(bU){
				var aL=engn.gtCmp("strLogin")[1];
				var aP=engn.gtCmp("strPwd")[1];
				var pp="\3"+"0\3tblCln\3\2";
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNome\1\1\1\1\1\1S\2";
				pp+="strCognome\1\1\1\1\1\1S\2";
				pp+="strEmail\1\1\1"+aL.vl+"\1\1\1S|F|\2";
				pp+="strPwd\1\1\1"+aP.vl+"\1BE\1\1S|F|\2";
				pp+="bPrvcy\1\1\1"+"1\1\1\1|F\2";
				pp+="idSts\1\1\1"+"1\1>\1\1S|F\2";
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
				pp+="\3"+"1\3\3\3Lgn\3SNC\3cln\3\3";
				aL.vl=aP.vl=false;
				new ajx("GT",pp,false,"Lgn",false,false,true,false,lgn.chk.usrOK,lgn.chk.KO,false,false);
			}else{
				var err=0;
				var iK=arGetKey(arMain,"nm","lgn");
				if(iK===false) alrt.crErr("Non &egarve; possibile preparare la login");
				var pp="\3"+arMain[iK].lst_pg+"\3"+arMain[iK].tbl+"\3\2";
				var a=arMain[iK].arCmp;
				for(var i=0;i<a.length;i++){
					if(!a[i].dt_B) continue;
					if(a[i].nmDb.indexOf("bPwd")>-1) continue;
					var szTW="";
					pp+=a[i].nmDb+"\1\1\1";
					if(lgn.b&&lgn.sz) var ar=lgn.sz.split("|");
					if(a[i].nmDb.indexOf("strLogin")>-1){
						if(lgn.b&&lgn.sz){
							a[i].vl=ar[0];
							szTW="BD";
						}
						if(a[i].err||!a[i].vl) err++;
						pp+=a[i].vl+"\1"+szTW+"\1\1S|A\2";
					}else if(a[i].nmDb.indexOf("strPwd")>-1){
						szTW="BE";
						if(lgn.b&&lgn.sz){
							a[i].vl=ar[1];
							szTW="";
						}
						if(a[i].err||!a[i].vl) err++;
						pp+=a[i].vl+"\1"+szTW+"\1\1S|A\2";
					}else{
						if(a[i].lst_vlW){
							pp+=a[i].lst_vlW+"\1"+a[i].lst_tW+"\1";
							pp+="\1S|A\2";
						}else pp+="\1\1\1S\2";
					}
					if(!bUsr) a[i].vl="";
				}
				if(!arMain[iK].lst_bDDef) pp+="bDel\1\1\1"+"0\1\1A\1|F\2";//modifica 06/03/11 per il bDel
				pp+="\3"+"1\3\3\3Lgn\3SNC\3lgn\3"+arMain[iK].db+"\3";
				if(err){
					lgn.crpls();
					return;
				}
				new ajx("GT",pp,false,"Lgn",false,false,true,false,lgn.chk.OK,lgn.chk.KO,false,false);
			}
		},
		OK:function(arRec){
			var a=arRec[0][0];
			for(var i=0;i<a.length;i++){
				if(a[i]=="fActive"){
					if(arRec[0][1][i]=="0"){
						lgn.msg("Utente non abilitato");
						return;
					}
				}
			}
			lgn.usrNfo.ar=[];
			lgn.usrNfo.ar.push(new lgn.usrNfo.s());
			a=arRec[0][1];
			var pp="\2";
			for(var i=0;i<a.length;i++){
				var sz="";
				if(arRec[0][0][i]!="strPwd"&&arRec[0][0][i]!="idSts"){
					switch(arRec[0][0][i]){
						case "intID": sz="id";break;
						case "strNome": sz="nm";break;
						case "strCognome": sz="cnm";break;
						case "strLogin": sz="lgn";break;
						case "ppPerm": sz="bp";break;
						case "idTipo": sz="tp";break;
					}
					lgn.usrNfo.ar[0][sz]=a[i];
				}
				pp+="\1"+arRec[0][0][i]+"\1"+a[i]+"\1\2";
			}
			lgn.usrNfo.ar[0].bu=0;
			//engn.shwStrct(lgn.usrNfo.ar);
			/*
			var iK=arGetKey(arMain,"nm","lgn");
			if(iK===false) alrt.crErr("non &egarve; possibile settare il cookie");
			a=engn.gtCmp("bPwd_"+arMain[iK].id)[1];
			var rmbr=(a.vl)?1:"";
			a.vl=false;
			new ajx("GT",pp,"&_md=1&_rmbr="+rmbr,"Lgn",false,true,true,"php/stSs.php",lgn.chk.okOK,lgn.chk.okKO,false,false);
			*/
			lgn.chk.okGT(pp,"");
		},
		KO:function(id){
			if(bUsr){
				lgn.usr.chk(false,true);
				return;
			}
			lgn.msg("Utente non registrato",lgn.crpls);
		},
		usrOK:function(arRec){
			lgn.usrNfo.ar=[];
			lgn.usrNfo.ar.push(new lgn.usrNfo.s());
			a=arRec[0][1];
			var pp="\2";
			for(var i=0;i<a.length;i++){
				var sz="";
				if(arRec[0][0][i]!="strPwd"){
					switch(arRec[0][0][i]){
						case "intID": sz="id";break;
						case "strNome": sz="nm";break;
						case "strCognome": sz="cnm";break;
						case "strEmail":
							arRec[0][0][i]="strLogin";
							sz="lgn";
							break;
						case "idSts": sz="tp";break;
					}
					lgn.usrNfo.ar[0][sz]=a[i];
				}
				pp+="\1"+arRec[0][0][i]+"\1"+a[i]+"\1\2";
			}
			lgn.usrNfo.ar[0].bu=1;
			//engn.shwStrct(lgn.usrNfo.ar);
			/*
			var iK=arGetKey(arMain,"nm","lgn");
			if(iK===false) alrt.crErr("non &egarve; possibile settare il cookie");
			a=engn.gtCmp("bPwd_"+arMain[iK].id)[1];
			var rmbr=(a.vl)?1:"";
			a.vl=false;
			new ajx("GT",pp,"&_md=1&_rmbr="+rmbr,"Lgn",false,true,true,"php/stUsrSs.php",lgn.usr.okOK,lgn.chk.okKO,false,false);
			*/
			lgn.chk.okGT(pp,1);
		},
		okGT:function(pp,bU){
			var iK=arGetKey(arMain,"nm","lgn");
			if(iK===false){
				alrt.crErr("non &egarve; possibile settare il cookie");
				return;
			}
			var a=engn.gtCmp("bPwd_"+arMain[iK].id)[1];
			var rmbr=(a.vl)?1:"";
			a.vl=false;
			new ajx("GT",pp,"&_md=1&_rmbr="+rmbr+"&_bu="+bU,"Lgn",false,true,true,"php/stSs.php",lgn.chk.okOK,lgn.chk.okKO,false,false);
		},
		okOK:function(sz){
			if(!lgn.usrNfo.ar[0].nm) lgn.chk.KO;
			lgn.lggd(lgn.usrNfo.ar[0].bu);
		},
		okKO:function(sz){
			lgn.msg("Errore nella login");
		}
	},
	crpls:function(){
		var objTA=_gel("dAjLgn");
		objTA.innerHTML="";
		_ael(engn.crPls("lgn","bttAccd","accedi","\2\1click\1lgn.prpr.rd\1\2"),objTA);
		_ael(engn.crDClr(),objTA);
	},
	cnt:{
		cr:function(){
			var objTA=_gel("dAjLgn");
			objTA.innerHTML="";
			var o=_cel("div");
			o.id="lgnCnt";
			_ael(o,objTA);
			var oo=_cel("div");
			oo.id="lgnMsg";
			_ael(oo,o);
			return [objTA,o];
		},
		gt:function(){
			var o=_gel("lgnMsg");
			if(!o){
				lgn.cnt.cr();
				o=_gel("lgnMsg");
			}
			return o;
		}
	},
	lggd:function(bUsr){
		if(!lgn.usrNfo.ar.length){
			lgn.usrNfo.gt(bUsr);
			return;
		}
		//if(bUsr) lgn.bUsr=true;
		//engn.shwStrct(lgn.usrNfo.ar[0]);
		var ar=lgn.cnt.cr();
		lgn.msg(lgn.usrNfo.ar[0].nm+" "+lgn.usrNfo.ar[0].cnm,false,true);
		_ael(engn.crPls("lgnOut","lgnOut","logout","\2\1click\1lgn.out.gt\1\2"),ar[1]);
		if(!lgn.usrNfo.ar[0].bu) _ael(engn.crPls("lgnCms","lgnCms",szMyDtLbl,"\2\1click\1engn.gtDtng\1\2"),ar[1]);
		whtng.rm(ar[0]);
	},
	msg:function(sz,fn,b,iT){
		_gel("dAjLgn").className="dAjLgnC";
		var o=lgn.cnt.gt();
		o.innerHTML=sz;
		fn=(fn)?fn:lgn.prpr.rd;
		if(!iT) iT=2000;
		if(!b) setTimeout(fn,iT);
	},
	out:{
		gt:function(){
			new ajx("GT","","&_md=2","Lgn",false,true,true,"php/stSs.php",lgn.out.OK,lgn.out.KO,false,false);
		},
		OK:function(){
			lgn.usrNfo.ar=[];
			if(_gel("dDtM")){//sono in editing
				window.top.location.href="index.php";
				return;
			}
			lgn.msg("Arrivederci",lgn.crpls,false);
		},
		KO:function(){
			lgn.msg("Errore nel logout",lgn.chk.okOK,false);
		}
	},
	usr:{
		chk:function(id){
			var aL=engn.gtCmp("strLogin")[1];
			var aP=engn.gtCmp("strPwd")[1];
			var pp="\3"+"0\3tblCln\3\2";
			pp+="intID\1\1\1\1\1\1S\2";
			pp+="strNome\1\1\1\1\1\1S\2";
			pp+="strCognome\1\1\1\1\1\1S\2";
			pp+="strEmail\1\1\1"+aL.vl+"\1\1\1S|F|\2";
			pp+="strPwd\1\1\1"+aP.vl+"\1BE\1\1S|F|\2";
			pp+="bPrvcy\1\1\1"+"1\1\1\1|F\2";
			pp+="idSts\1\1\1"+"1\1>\1\1S|F\2";
			pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"1\3\3\3"+id+"\3SNC\3cln\3\3";
			aL.vl=aP.vl=false;
			new ajx("GT",pp,false,"Lgn",false,false,true,false,lgn.usr.OK,lgn.chk.KO,false,false);
		},
		OK:function(arRec){
			lgn.usrNfo.ar=[];
			lgn.usrNfo.ar.push(new lgn.usrNfo.s());
			a=arRec[0][1];
			var pp="\2";
			for(var i=0;i<a.length;i++){
				var sz="";
				if(arRec[0][0][i]!="strPwd"){
					switch(arRec[0][0][i]){
						case "intID": sz="id";break;
						case "strNome": sz="nm";break;
						case "strCognome": sz="cnm";break;
						case "strEmail":
							arRec[0][0][i]="strLogin";
							sz="lgn";
							break;
						case "idSts": sz="tp";break;
					}
					lgn.usrNfo.ar[0][sz]=a[i];
				}
				pp+="\1"+arRec[0][0][i]+"\1"+a[i]+"\1\2";
			}
			lgn.usrNfo.ar[0].bu=1;
			engn.shwStrct(lgn.usrNfo.ar);
			var iK=arGetKey(arMain,"nm","lgn");
			if(iK===false) alrt.crErr("non &egarve; possibile settare il cookie");
			a=engn.gtCmp("bPwd_"+arMain[iK].id)[1];
			var rmbr=(a.vl)?1:"";
			a.vl=false;
			new ajx("GT",pp,"&_md=1&_rmbr="+rmbr,"Lgn",false,true,true,"php/stUsrSs.php",lgn.usr.okOK,lgn.chk.okKO,false,false);
		},
		okOK:function(sz){
			if(!lgn.usrNfo.ar[0].nm) lgn.chk.KO;
			lgn.lggd(1);
		}
	}
}
var add={
	gtNxt:function(szId){
		var i=0;
		var obj=_gel("add_"+szId+"_"+i);
		while(obj){
			i=Math.floor(Math.random()*100);
			obj=_gel("add_"+szId+"_"+i);
		}
		return i;
	},
	cr:function(szId,i,fn){
		var arMCS=engn.gtCmp(szId);
		var a=arMCS[1];
		var idAdd=a.arSCmpVl[i].s[0].add_id;
		var objMd=_cel("div");
		objMd.id="add_"+szId.split("_")[0]+"_"+idAdd;
		objMd.className="dMdAdd";
		var objCls;
		var bDt=arMain[0].dt_idRc;
		if((!bDt&&a.add_nw_BD)||(bDt&&a.add_dt_BD)){
			if(a.dt_tC=="ppTb"||a.tp=="ppTb"){
				objCls=_cel("div");
				objCls.className="ppTbCnsl";
				addEvent(objCls,"mousedown",noPropag,false);
				_ael(engn.crDCls(szId+"_"+idAdd,eval(a.add_fnRmMd),"dClsppTb"),objCls);
			}else objCls=engn.crDCls(szId+"_"+idAdd,eval(a.add_fnRmMd));
		}
		var objAj=_gel("dAj"+szId);
		if(a.dt_tC!="ppTb"||a.tp==!"ppTb") objAj.style.width="560px";
		_ael(objMd,objAj);
		var aS=a.arSCmpVl[i].s;
		if(!fn) fn=engn.crMdCmp;
		for(var j=0;j<aS.length;j++) fn(arMCS[0],aS[j],true);
		_ael(engn.crDClr(),objMd);
		if(a.add_fnAddMdS) eval(a.add_fnAddMdS)(objMd,i,aS);
		_ael(objCls,objMd);
	},
	srch:function(a,id){
		for(var i=0;i<a.length;i++){
			if(a[i].s[0]["add_id"]==id) return i;
		}
		return false;
	},
	rm:function(e){//add.rm
		var o=(e.id)?e:_gee(e);
		var ar=o.id.split("_");
		var idCmp=ar[2]+"_"+ar[3];
		var iMd=parseInt(ar[4]);
		var idMd=ar[2]+"_"+iMd;
		var ar=engn.gtCmp(idCmp);
		var arDt=ar[0];
		var arCmp=ar[1];
		var a=arCmp.arSCmpVl;
		a.splice(add.srch(a,iMd),1);
		add.sv(arDt,arCmp);
		chk.init(idCmp);
		chk.ctrl.kook(true,_gel(idCmp));
		_rel(_gel("add_"+idMd));
		if(arCmp.add_iMx){	
			if(a.length<arCmp.add_iMx&&!_gel("add_btt_"+idCmp)) _ibl(engn.crPls("add_btt_"+idCmp,false,false,arCmp.add_fnAddMd),_gel("dt_nte_"+idCmp));
		}
		return iMd;
	},
	clr:function(idCmp){//add.rm
		var ar=engn.gtCmp(idCmp);
		var arDt=ar[0];
		var arCmp=ar[1];
		arCmp.arSCmpVl=[];
		arCmp.vl=false;
		_gel("dAj"+idCmp).innerHTML="";
		chk.init(idCmp);
		chk.ctrl.kook(true,_gel(idCmp));
		if(arCmp.add_iMx){	
			if(arCmp.add_iMx>0&&!_gel("add_btt_"+idCmp)) _ibl(engn.crPls("add_btt_"+idCmp,false,false,arCmp.add_fnAddMd),_gel("dt_nte_"+idCmp));
		}
	},
	srt:function(a,b){
		return a.idRdr-b.idRdr;
	},
	sv:function(arDt,arCmp,bSv){
		var a=arCmp.arSCmpVl;
		if(bSv){//è un salvataggio (var sv) quindi devo controllare
			var err=false;
			var nc=0;//non compilati
			var i=a.length-1;
			
			if(i<0) return (arCmp.nll)?false:true;//non ho aggiunto niente all'add
			
			var k=arCmp.arSCmp.length;//numero dei campi   anche: a[i].s.length
			for(var j=0;j<k;j++){
				if(a[i].s[j].err){
					var ar=engn.gtCmp(a[i].s[j].nmDb);
					chk.arDt=ar[0];
					chk.a=ar[1];
					chk.ctrl.kook(false,_gel(a[i].s[j].nmDb+"_"+ar[0].id));
					err=true;
				}
				//controllo se non è compilato
				if(!(a[i].s[j].vl>""&&!a[i].s[j].nw_prdf&&!a[i].s[j].dt_prdf)) nc++;//mod 22-05-11
				//if(!(a.vl>""&&!a.nw_prdf&&!a.dt_prdf)) nc++;//controllo se non è compilato
			}
			if(nc==k){
				var ar=engn.gtCmp(arCmp.nmDb);
				add.rm(_gel("add_cls_"+arCmp.nmDb+"_"+ar[0].id+"_"+a[i].s[k-1].add_id));//rimuovo l'add non compilato
				chk.arDt=ar[0];
				chk.a=ar[1];
				ar[1].err=false;
				chk.ctrl.kook(true,_gel(ar[1].nmDb+"_"+ar[0].id));
				return true;
			}else{
				if(err) return false;
			}
		}
		if(arCmp.arSCmp[0].add_Brdr) a.sort(add.srt);
		var sz="\6";
		for(i in a){
			sz+="\5";
			for(var j=0;j<a[i].s.length;j++){
				var szV=(!a[i].s[j].vl)?"":a[i].s[j].vl;
				var id=a[i].s[j].nmDb+"_"+arDt.id;
				switch(a[i].s[j].tp){
					case "decimal":
					case "int":
					case "bigint":
					case "tinyint":
						szV=vlSv(szV);
						break;
					case "check":
						var o=_gel(id);
						szV=(o.checked)?1:0;
						szV=vlSv(szV);
						break;
					case "date":
						szV=dtSv(szV);
						break;
					case "ppPh":
						
						var ar=[];
						for(var k=0;k<a[i].s[j].arF.length;k++){
							var f=a[i].s[j].arF[k];
							ar.push("\5"+f.szF+"\5"+f.szNm+"\5"+f.szD+"\5"+f.bP+"\5");
						}
						szV=a[i].s[j].vl=(ar.length>0)?"\6"+ar.join("\6")+"\6":"";
						
						
						//alert(a[i].s[j].vl+"\n"+szV+"\n"+a[i].s[j].arF)
						//engn.shwStrct(a[i].s[j].arF);
					
						szV=szV.replace(new RegExp("\\6","g"),"\21");
						szV=szV.replace(new RegExp("\\5","g"),"\7");
						break;
					case "srch":
						var o=_gel(id);
						if(o.type=="text"){
							o.value="";
							a.vl="";
							if(a[i].s[j].nll){
								chk.init(id);
								chk.ctrl.kook(false,_gel(id));
								return false;
							}
						}
						break;
				}
				sz+=szV+"\5";
			}
			sz+="\6";
		}
		if(sz=="\6") sz=false;
		arCmp.vl=sz;
		//alert("add\n\n"+sz);
		return true;
	},
	add:function(e){
		var o=_gee(e);
		var arId=o.id.split("_");
		var arMCS=engn.gtCmp(arId[2]+"_"+arId[3]);
		var a=arMCS[1];
		var err=false;
		var k=0;
		var c=a.arSCmpVl;
		for(var j=0;j<c.length;j++){
			var d=c[j].s;
			for(var l=0;l<d.length;l++){
				//alert(d[l].nmDb+"\n"+d[l].vl+"\n"+d[l].err);
				if(d[l].err){
					var ar=engn.gtCmp(d[l].nmDb+"_"+arId[3]);
					chk.arDt=ar[0];
					chk.a=ar[1];
					chk.ctrl.kook(false,_gel(d[l].nmDb+"_"+ar[0].id));
					err=true;
				}
			}
			if(c[j].idRdr>k) k=c[j].idRdr;
		}
		if(err) return false;
		var bDt=(cmp.gtVl("intID"));
		var iMd=add.gtNxt(a.nmDb);
		var arS=[];
		for(var j=0;j<a.arSCmp.length;j++){
			var ar=[];
			for(x in a.arSCmp[j]){
				if(x=="nmDb") ar[x]=a.nmDb+"|"+a.arSCmp[j][x]+"-"+iMd;//+"_"+arMain[arIK[0]].id;
				else if(x=="add_id") ar[x]=iMd;
				else ar[x]=a.arSCmp[j][x];
			}
			if(ar.nll&&((bDt&&!ar.dt_prdf)||(!bDt&&!ar.nw_prdf))){
				ar.err=true;// se è obbligatorio lo imposto sempre a sbagliato in modo che si impedisca l'aggiunta di altri add e il salvataggio
			}
			arS.push(ar);
		}
		a.arSCmpVl.push({"idRdr":k,"s":arS});
		add.cr(a.nmDb+"_"+arMCS[0].id,a.arSCmpVl.length-1);
		for(var i=0;i<c.length;i++){
			var d=c[i].s;
			for(var j=0;j<d.length;j++){
				if(d[j].tp=="combo"||d[j].dt_tC=="combo"||d[j].nw_tC=="combo"){
					if(d[j].nll&&(d[j].vl===false||d[j].vl==""||d[j].vl==0)) d[j].err=true;
					//alert(d[j].nmDb+"\n"+d[j].vl+"\n"+d[j].err);
				}
			}
		}
		if(a.add_iMx){
			if(c.length>=a.add_iMx) _rel(_gel("add_btt_"+a.nmDb+"_"+arMCS[0].id));
		}
		return iMd;
	},
	rd:function(arDt,a,fn){
		var pp=a.vl;
		if(pp>""){
			var ar2=ppArr(pp,"\6");
			for(var i=0;i<ar2.length;i++){
				var ar1=ppArr(ar2[i],"\5");
				var arS=[];
				for(var j=0;j<a.arSCmp.length;j++){
					var ar=[];
					for(x in a.arSCmp[j]){
						if(x=="nmDb") ar[x]=a.nmDb+"|"+a.arSCmp[j][x]+"-"+i;//+"_"+arMain[arIK[0]].id;
						else if(x=="add_id") ar[x]=i;
						else if(x=="vl"){
							ar1[j]=ar1[j].replace(new RegExp("\\21","g"),"\6");
							ar1[j]=ar1[j].replace(new RegExp("\\7","g"),"\5");
							ar[x]=ar1[j];
						}else ar[x]=a.arSCmp[j][x];
					}
					arS.push(ar);
				}
				a.arSCmpVl.push({"idRdr":i,"s":arS});
				add.cr(a.nmDb+"_"+arDt.id,i,fn);
			}
			if(a.add_iMx){	
				if(ar2.length>=a.add_iMx){
					_rel(_gel("add_btt_"+a.nmDb+"_"+arDt.id));
					return;
				}
			}
		}
	}
}
/*
var drg={
	bD:false,
	o:null,
	cmp:null,
	mrgn:6,
	st:function(obj){
		var oD=_gel("dDtC");
		if(!drg.bSvg) var o=_gel("uplLst_"+drg.cmp);
		else var o=_gel("edo");
		var ar=objPos(o,true,oD);
		drg.xmn=ar[0];//o.offsetLeft;
		drg.ymn=ar[1];//o.offsetTop;
		drg.w=o.offsetWidth;
		drg.xmx=drg.xmn+drg.w;
		drg.h=o.offsetHeight;
		drg.ymx=drg.ymn+drg.h;
		obj=obj?obj:drg.o;
		var ar=objPos(obj,true,oD);
		//if(!drg.bSvg){
		drg.o._x=ar[0];
		drg.o._y=ar[1];
		drg.o._rx=obj.offsetLeft;
		drg.o._ry=obj.offsetTop;
	},
	rst:function(o,oE,obj){
		drg.st(obj);
		_ibl(o,oE);
	},
	init:function(obj){
		obj.onmousedown=drg.strt;
		return obj;
	},
	strt:function(e){
		if(drg.bD) return;
		drg.o=_gee(e);
		drg.bSvg=(drg.o.toString().indexOf("SVG")>-1)?true:false;
		if(!drg.o.id){
			while(!drg.o.id){
				drg.o=drg.o.parentNode;
			}
		}
		if(drg.o.id.indexOf("|")>-1&&drg.o.id.indexOf("dt_cmp")>-1){//dt_cmpppTb|idTb-1_0//ppTube
			var id=drg.o.id.replace("dt_cmp","");
			var ar=id.split("|");
			drg.cmp=ar[0]+"_"+ar[1].split("_")[1];
			drg.o=drg.o.parentNode;
		}else{
			var ar=drg.o.id.split("_");
			ar.shift();
			if(ar.length>2) ar.pop();
			drg.cmp=ar.join("_");
		}
		if(!drg.bSvg){
			drg.o.style.zIndex="100";
			if(isNaN(parseInt(drg.o.style.left))){ drg.o.style.left='0px';}
			if(isNaN(parseInt(drg.o.style.top))){ drg.o.style.top='0px';}
			//var x=parseInt(drg.o.style.left);
			//var y=parseInt(drg.o.style.top);
		}else{
			
		}
		e=e?e:window.event;
		drg.o._mouseX=e.clientX;
		drg.o._mouseY=e.clientY;
		var oD=_gel("dDtC");
		var ar=objPos(drg.o,true,oD);
		drg.o._mx=e.clientX-ar[0];
		drg.o._my=e.clientY-ar[1];
		drg.st();
		//var ar=objPos(_gel("uplLst_"+drg.cmp),true,oD);
		var ar=objPos(_gel("edo"),true,oD);
		drg.o._mrx=e.clientX-ar[0];
		drg.o._mry=e.clientY-ar[1];
		document.onmousemove=drg.drg;
		document.onmouseup=drg.end;
		return false;
	},
	drg:function(e){
		if(!drg.bSvg){
			var x=parseInt(drg.o.style.left);
			var y=parseInt(drg.o.style.top);
		}else{
			var x=drg.o.getAttribute("x");
			var y=drg.o.getAttribute("y");
		}
		e=e?e:window.event;
		if(e.clientX<drg.xmn||e.clientX>drg.xmx||e.clientY<drg.ymn||e.clientY>drg.ymx) return;
		x+=e.clientX-drg.o._mouseX;
		y+=e.clientY-drg.o._mouseY;
		var ar=objPos(drg.o,true,_gel("dDtC"));
		if(ar[0]<=drg.xmn&&e.clientX-ar[0]<=drg.o._mx) x=0;
		if(ar[0]+drg.o.offsetWidth>=drg.xmx&&e.clientX-ar[0]>=drg.o._mx) x=drg.w-drg.o._rx-drg.o.offsetWidth;//26;
		if(ar[1]<=drg.ymn&&e.clientY-ar[1]<=drg.o._my) y=0;
		if(ar[1]+drg.o.offsetHeight>=drg.ymx&&e.clientY-ar[1]>=drg.o._my) y=drg.mrgn;
		if(!drg.bSvg){
			drg.o.style.left=x+'px';
			drg.o.style.top=y+'px';
		}else{
			drg.o.setAttribute("x",x);
			drg.o.setAttribute("y",y);
		}
		drg.o._mouseX=e.clientX;
		drg.o._mouseY=e.clientY;
		var dY=e.clientY-drg.ymn;
		var oP=objPrv(drg.o);
		var oN=objNxt(drg.o);
		if(drg.o._mouseX-drg.xmn+drg.mrgn<drg.o._rx){//sx
			if(oP){
				drg.rst(drg.o,oP,oP);
				drg.o.style.left=(drg.o.offsetWidth-drg.o._mx)+'px';
			}
		}
		if(drg.o._rx<drg.o._mouseX-drg.xmn-drg.o.offsetWidth-drg.mrgn){//dx
			if(oN){
				if(oN.offsetTop>drg.o._ry) return;
				drg.rst(oN,drg.o,oN);
				drg.o.style.left=-drg.o._mx+'px';
			}
		}
		if(e.clientY<drg.o._y-drg.mrgn){//sopra
			while(oP){
				if(oP.offsetTop<dY&&oP.offsetLeft==drg.o._rx){
					drg.rst(drg.o,oP,oP);
					drg.o.style.top=(drg.o.offsetHeight-drg.o._my)+"px";
					break;
				}
				oP=objPrv(oP);
			}
		}
		if(e.clientY>drg.o._y+drg.o.offsetHeight+drg.mrgn){//sotto
			while(oN){
				if(oN.offsetTop>drg.o._ry&&oN.offsetLeft==drg.o._rx){
					oN=objNxt(oN);
					drg.rst(drg.o,oN,drg.o);
					drg.o.style.top=-drg.o._my+"px";
					break;
				}
				oN=objNxt(oN);
			}
		}
		return false;
	},
	end:function(){
		if(!drg.bSvg){
			drg.o.style.left="0px";
			drg.o.style.top="0px";
			drg.o.style.zIndex="1";
			var a=engn.gtCmp(drg.cmp)[1];
			if(a.drg_endFn) a.drg_endFn(drg.cmp);
		}
		document.onmousemove=null;
		document.onmouseup=null;
		drg.o=null;
	}
}
*/
var drg={
	bD:false,
	o:null,
	cmp:null,
	mrgn:6,
	st:function(obj){
		var o=_gel("uplLst_"+drg.cmp);
		var ar=objPos(o,true,_gel("dDtC"));
		drg.xmn=ar[0];//o.offsetLeft;
		drg.ymn=ar[1];//o.offsetTop;
		drg.w=o.offsetWidth;
		drg.xmx=drg.xmn+drg.w;
		drg.h=o.offsetHeight;
		drg.ymx=drg.ymn+drg.h;
		obj=obj?obj:drg.o;
		var ar=objPos(obj,true,_gel("dDtC"));
		drg.o.x=ar[0];
		drg.o.y=ar[1];
		drg.o.rx=obj.offsetLeft;
		drg.o.ry=obj.offsetTop;
	},
	rst:function(o,oE,obj){
		drg.st(obj);
		_ibl(o,oE);
	},
	init:function(obj){
		obj.onmousedown=drg.strt;
		return obj;
	},
	strt:function(e){
		if(drg.bD) return;
		drg.o=_gee(e);
		if(!drg.o.id){
			while(!drg.o.id){
				drg.o=drg.o.parentNode;
			}
		}
		if(drg.o.id.indexOf("|")>-1&&drg.o.id.indexOf("dt_cmp")>-1){//dt_cmpppTb|idTb-1_0//ppTube
			var id=drg.o.id.replace("dt_cmp","");
			var ar=id.split("|");
			drg.cmp=ar[0]+"_"+ar[1].split("_")[1];
			drg.o=drg.o.parentNode;
		}else{
			var ar=drg.o.id.split("_");
			ar.shift();
			if(ar.length>2) ar.pop();
			drg.cmp=ar.join("_");
		}
		drg.o.style.zIndex="100";
		if(isNaN(parseInt(drg.o.style.left))){ drg.o.style.left='0px';}
		if(isNaN(parseInt(drg.o.style.top))){ drg.o.style.top='0px';}
		//var x=parseInt(drg.o.style.left);
		//var y=parseInt(drg.o.style.top);
		e=e?e:window.event;
		drg.o.mouseX=e.clientX;
		drg.o.mouseY=e.clientY;
		var ar=objPos(drg.o,true,_gel("dDtC"));
		drg.o.mx=e.clientX-ar[0];
		drg.o.my=e.clientY-ar[1];
		drg.st();
		var ar=objPos(_gel("uplLst_"+drg.cmp),true,_gel("dDtC"));
		drg.o.mrx=e.clientX-ar[0];
		drg.o.mry=e.clientY-ar[1];
		document.onmousemove=drg.drg;
		document.onmouseup=drg.end;
		return false;
	},
	drg:function(e){
		var x=parseInt(drg.o.style.left);
		var y=parseInt(drg.o.style.top);
		e=e?e:window.event;
		if(e.clientX<drg.xmn||e.clientX>drg.xmx||e.clientY<drg.ymn||e.clientY>drg.ymx) return;
		x+=e.clientX-drg.o.mouseX;
		y+=e.clientY-drg.o.mouseY;
		var ar=objPos(drg.o,true,_gel("dDtC"));
		if(ar[0]<=drg.xmn&&e.clientX-ar[0]<=drg.o.mx) x=0;
		if(ar[0]+drg.o.offsetWidth>=drg.xmx&&e.clientX-ar[0]>=drg.o.mx) x=drg.w-drg.o.rx-drg.o.offsetWidth;//26;
		if(ar[1]<=drg.ymn&&e.clientY-ar[1]<=drg.o.my) y=0;
		if(ar[1]+drg.o.offsetHeight>=drg.ymx&&e.clientY-ar[1]>=drg.o.my) y=drg.mrgn;
		drg.o.style.left=x+'px';
		drg.o.style.top=y+'px';
		drg.o.mouseX=e.clientX;
		drg.o.mouseY=e.clientY;
		var dY=e.clientY-drg.ymn;
		var oP=objPrv(drg.o);
		var oN=objNxt(drg.o);
		if(drg.o.mouseX-drg.xmn+drg.mrgn<drg.o.rx){//sx
			if(oP){
				drg.rst(drg.o,oP,oP);
				drg.o.style.left=(drg.o.offsetWidth-drg.o.mx)+'px';
			}
		}
		if(drg.o.rx<drg.o.mouseX-drg.xmn-drg.o.offsetWidth-drg.mrgn){//dx
			if(oN){
				if(oN.offsetTop>drg.o.ry) return;
				drg.rst(oN,drg.o,oN);
				drg.o.style.left=-drg.o.mx+'px';
			}
		}
		if(e.clientY<drg.o.y-drg.mrgn){//sopra
			while(oP){
				if(oP.offsetTop<dY&&oP.offsetLeft==drg.o.rx){
					drg.rst(drg.o,oP,oP);
					drg.o.style.top=(drg.o.offsetHeight-drg.o.my)+"px";
					break;
				}
				oP=objPrv(oP);
			}
		}
		if(e.clientY>drg.o.y+drg.o.offsetHeight+drg.mrgn){//sotto
			while(oN){
				if(oN.offsetTop>drg.o.ry&&oN.offsetLeft==drg.o.rx){
					oN=objNxt(oN);
					drg.rst(drg.o,oN,drg.o);
					drg.o.style.top=-drg.o.my+"px";
					break;
				}
				oN=objNxt(oN);
			}
		}
		return false;
	},
	end:function(){
		drg.o.style.left="0px";
		drg.o.style.top="0px";
		drg.o.style.zIndex="1";
		document.onmousemove=null;
		document.onmouseup=null;
		var a=engn.gtCmp(drg.cmp)[1];
		if(a.drg_endFn) a.drg_endFn(drg.cmp);
		drg.o=null;
	}
}

///////////////////////////
//////////UPLOAD///////////
///////////////////////////

var upl={
	sF:function(id,szF,szNm,szD,bP,iO){
		this.id=id;
		this.szF=szF;
		this.szNm=szNm;
		this.szD=szD;
		this.bP=bP;
		this.iO=iO;
	},
	srtF:function(a,b){
		return a.iO- b.iO;
	},
	crArFt:function(pp,szT){
		if(!pp) return false;
		if(!szT) szT="N";
		var ar=[];
		var arF=[];
		var bF=(pp.indexOf("\5"+"1\5\6")>-1);
		var ar6=ppArr(pp,"\6");
		if(bF){
			for(var i=0;i<ar6.length;i++){
				var ar5=ppArr(ar6[i],"\5");
				if(ar5[3]==1){
					ar5[0]=upl.crFlNm(ar5[0],szT);
					arF.push(ar5);
					break;
				}
			}
		}
		for(var i=0;i<ar6.length;i++){
			var ar5=ppArr(ar6[i],"\5");
			if(bF&&ar5[3]==1) continue;
			ar5[0]=upl.crFlNm(ar5[0],szT);
			ar.push(ar5);
		}
		if(arF[0]) ar.unshift(arF[0]);
		return ar;
	},
	crArFl:function(pp){
		if(!pp) return false;
		var ar=[];
		var ar6=ppArr(pp,"\6");
		for(var i=0;i<ar6.length;i++){
			var ar5=ppArr(ar6[i],"\5");
			ar.push(ar5);
		}
		return ar;
	},
	rng:function(szId){
		var a=engn.gtCmp(szId)[1];
		var ar=_gel("uplLst_"+szId).childNodes;
		for(var i=0;i<ar.length;i++){
			if(!ar[i].id) continue;
			if(ar[i].id.indexOf("_clear")>-1) continue;
			var k=ar[i].id.lastIndexOf("_");
			k=ar[i].id.substr(k+1);
			var iK=arGetKey(a.arF,"id",k);
			a.arF[iK].iO=i;
		}
		a.arF.sort(upl.srtF);
	},
	dscr:{
		a:[],
		init:function(i){
			var arCmp=[];
			arCmp.push(new sCmp());
			arCmp[0].nm="Descrizione";
			arCmp[0].nmDb="txtD";
			arCmp[0].tp="textPln";
			arCmp[0].lngMx=120;
			arCmp[0].dt_rszTa=false;
			arCmp[0].dt_taMxW=78;
			arCmp[0].dt_taMnW=78;
			arCmp[0].dt_taMxH=60;
			arCmp[0].dt_taMnH=60;
			arCmp[0].dt_c="uplTxt";
			arCmp[0].nll=false;
			var iK=arGetKey(upl.dscr.a.arF,"id",i);
			arCmp[0].vl=upl.dscr.a.arF[iK].szD;
			arMain.push(new sMain());
			iK=arMain.length-1;
			arMain[iK].nm=false;//nome dell'array ex: login, mailing list etc etc
			arMain[iK].id="upld"+i;
			arMain[iK].arCmp=arCmp;
			arMain[iK].dt_cD="upldDtD";//classe div contenitore campo
			arMain[iK].dt_cDNC="dDtNCUplD";//classe div contenitore nome campo
			arMain[iK].dt_cDIC="dDtICUplD";//classe div contenitore input campo
			return iK;
		},
		shw:function(szId,i){
			upl.dscr.a=engn.gtCmp(szId)[1];
			var iK=arGetKey(upl.dscr.a.arF,"id",i);
			if(upl.dscr.a.arF[iK].szD=="") return;
			var oD=_gel("uplD_"+szId+"_"+i);
			oD.innerHTML=upl.dscr.a.arF[iK].szD;
			oD.style.visibility="visible";
		},
		hd:function(szId,i){
			_gel("uplD_"+szId+"_"+i).style.visibility="hidden";
		},
		op:function(szId,i){
			drg.bD=true;
			var iKM=upl.dscr.init(i);
			var o=_gel("uplLstMod_"+szId+"_"+i);
			whtng.cr(o);
			var oT=_cel("div");
			oT.id="uplDscr_"+i;
			oT.className="uplDtD";
			_ael(oT,o);
			engn.crMdCmp(arMain[iKM],arMain[iKM].arCmp[0],false,oT);
			var oN=_gel("dt_nc_txtD_upld"+i);
			oN.innerHTML+="<div id=\"uplChk_"+szId+"_"+i+"\" class=\"uplStD\" onclick=\"upl.dscr.st('"+szId+"','"+i+"')\" title=\"Imposta descrizione\"></div>";
		},
		st:function(szId,i){
			var iK=arGetKey(upl.dscr.a.arF,"id",i);
			upl.dscr.a.arF[iK].szD=_gel("txtD_upld"+i).value;
			var iKM=arGetKey(arMain,"id","upld"+i);
			arMain.splice(iKM,1);
			_rel(_gel("uplDscr_"+i));
			var o=_gel("uplLstMod_"+szId+"_"+i);
			whtng.rm(o);
			drg.bD=false;
		}
	},
	stP:function(szId,i){
		var a=engn.gtCmp(szId)[1];
		for(var j=0;j<a.arF.length;j++){
			var obj=_gel("uplChk_"+szId+"_"+a.arF[j].id);
			if(a.arF[j].id==i){
				obj.className="uplChkOK";
				a.arF[j].bP=1;
			}else{
				obj.className="uplChk";
				a.arF[j].bP=0;
			}
		}
	},
	btt:function(szId){
		var a=engn.gtCmp(szId)[1];
		var sz=(a.dt_tC=="ppFl")?"Allega un file":"Inserisci una foto";
		var obj=_cel("div");
		obj.className="uplCmd";
		obj.innerHTML="<input id=\"fl_"+szId+"\" name=\"fl_"+szId+"\" type=\"file\" onchange=\"upl.ldr('"+szId+"');\" />"+sz;
		return obj;
	},
	crFlNm:function(sz,szS){
		if(!sz) return false;
		if(!szS) szS="N"; 
		var ar=sz.split(".");
		var szE=ar.pop();
		var szF=ar.join(".");
		return szF+"_"+szS+"."+szE;
	},
	cr:function(ar,szId,szSffx,bDel,i){
		if(!ar||!szId||!szSffx) return;
		if(!ar.length) return;
		var arM=engn.gtCmp(szId);
		var arDt=arM[0];
		var a=arM[1];
		if(!ar[2]) ar[2]="";
		if(!ar[3]) ar[3]=0;
		a.arF.push(new upl.sF(i,ar[0],ar[1],ar[2],ar[3],i));
		a.err=false;
		var objL=_gel("dt_nc_"+a.nmDb+"_"+arDt.id);
		
		
		/////////////////////////mod 03/06/11
		//if(objL) objL.className=arDt.dt_cDNC;
		if(objL) objL.className=(a.dt_cDNC)?a.dt_cDNC:arDt.dt_cDNC;
		
		
		var szExt=ar[0].split(".")[1];
		var objLst=_gel("uplLst_"+szId);
		var obj=_cel("div");
		obj.id="uplLstMod_"+szId+"_"+i;
		var bDt=(cmp.gtVl("intID"));
		var bRO=false;
		if((bDt&&a.dt_rdOnl)||(!bDt&&a.nw_rdOnl)) bRO=true;
		if(a.dt_tC=="ppFl"){
			obj.className="uplLstMod";
			var sz="<img src=\""+szUrlNgn+"imgDef/ft/"+szExt.toUpperCase()+".png\" alt=\""+ar[1]+"\" /><a href=\""+szUrlGen+"immagini/"+szSffx+"/"+ar[0]+"\" class=\"uplLnk\" target=\"blank\">"+ar[1]+"</a>";
			if(bDel&&!bRO) sz+="<div id=\"uplDl_"+szId+"_"+i+"\"><div class=\"dCls\" onclick=\"upl.dl('"+ar[0]+"','"+szSffx+"','"+szId+"','"+i+"')\"></div></div>";
		}else{
			obj.className="uplLstModImg";
			var sz="<div class=\"dImgLstCnt\"><img src=\""+szUrlGen+"immagini/"+szSffx+"/"+upl.crFlNm(ar[0],"T")+"\" alt=\""+ar[1]+"\" />";
				if(!bRO){
					sz+="<div class=\"uplCnsl\" onmousedown=\"noPropag(event);\">";
						if(bDel) sz+="<div id=\"uplDl_"+szId+"_"+i+"\" class=\"uplCls\" onclick=\"upl.dl('"+ar[0]+"','"+szSffx+"','"+szId+"','"+i+"')\"></div>";
						sz+="<div id=\"uplDt_"+szId+"_"+i+"\" class=\"uplEdit\" onmouseover=\"upl.dscr.shw('"+szId+"','"+i+"');\" onmouseout=\"upl.dscr.hd('"+szId+"','"+i+"');\" onclick=\"upl.dscr.op('"+szId+"','"+i+"')\"></div>";
						//sz+="<div id=\"uplZm_"+szId+"_"+i+"\" class=\"uplZoom\" onclick=\"upl.zm('"+szId+"','"+szSffx+"','"+i+"')\"></div>";
						sz+="<div id=\"uplZm_"+szId+"_"+i+"\" class=\"uplZoom\" onclick=\"enlrg.vw('"+szUrlGen+"immagini/"+szSffx+"/"+upl.crFlNm(ar[0])+"');\"></div>";
						var szP=(ar[3]==1)?"class=\"uplChkOK\"":"class=\"uplChk\" onclick=\"upl.stP('"+szId+"','"+i+"')\"";
						sz+="<div id=\"uplChk_"+szId+"_"+i+"\" "+szP+" title=\"Imposta come immagine principale\"></div>";
					sz+="</div>";
				}
				sz+="<div id=\"uplD_"+szId+"_"+i+"\" class=\"uplD\">"+ar[2]+"</div>";
			sz+="</div>";
			enlrg.arFt.push(new enlrg.sFt(szUrlGen+"immagini/"+szSffx+"/"+upl.crFlNm(ar[0]),''));
		}
		obj.innerHTML=sz;
		var o=_gel("uplLst_"+szId+"_clear");
		_ibl(obj,o);
		drg.init(obj);
		//if(a.dt_tC=="ppFh") new dd.init(obj);//eliminato il 12/03/11 sembra non faccia riferimento a niente
		if(a.vl===false) a.vl="";
		var sz="";
		if(a.vl.indexOf("\6\5"+ar[0]+"\5")==-1){
			sz="\5"+ar[0]+"\5"+ar[1]+"\5\6";
			a.vl+=(a.vl>"")?sz:"\6"+sz;
		}
	},
	lst:function(ar,szId,szSffx,bDel,i){
		if(!ar||!szId||!szSffx) return;
		var szExt=ar[0].split(".")[1];
		var objLst=_gel("uplLst_"+szId);
		szId=szId[0].toLowerCase()+szId.substr(1);
		var obj=_cel("div");
		obj.className="uplLstMod";
		obj.id="uplLstMod_"+szId+"_"+i;
		var sz="<img src=\"img/filetypes_s/"+szExt.toUpperCase()+".png\" alt=\""+ar[1]+"\" /><a href=\""+szUrlNgn+"immagini/"+szSffx+"/"+ar[0]+"\" class=\"lnkS\" target=\"blank\">"+ar[1]+"</a>";
		if(bDel) sz+="<div id=\"uplDl_"+szId+"_"+i+"\"><div class=\"dCls\" onclick=\"upl.dl('"+ar[0]+"','"+szSffx+"','"+szId+"','"+i+"')\"></div></div>";
		obj.innerHTML=sz;
		objLst.appendChild(obj);
		obj=_gel(szId);
		var sz="\1"+ar[0]+"\1"+ar[1]+"\1\2";
		obj.value+=(obj.value>"")?sz:"\2"+sz;
	},
	ldr:function(szId){
		var a=engn.gtCmp(szId)[1];
		var szFl=_gel("fl_"+szId).value;
		var ppFT=(a.dt_tC=="ppFl")?a.ppFT:a.ppImgFT;
		var i=szFl.lastIndexOf(".");
		if(i){
			var szExt=szFl.substr(i+1).toLowerCase();
			if(!ppSrch(ppFT,szExt)){
				alrt.crErr("Tipo di file non ammesso\nE' possibile allegare file dei seguenti tipi: "+ppArr(ppFT).join(", ")+".");
				return;
			}
		}
		_gel("uplF_"+szId).submit();
		_gel("uplCmd_"+szId).innerHTML="<img src=\""+szUrlNgn+"imgDef/loader8.gif\" alt=\"Attendere\" class=\"ldrFl\" /> Attendere...";
	},
	OK:function(szFl,szNm,szId,szSffx){//'".$fl."','".$_FILES['fl']["name"]."','".$szNmCmp."','".$szSffx."'
		var objCnt=_gel("uplCmd_"+szId);
		objCnt.innerHTML="";
		var a=engn.gtCmp(szId)[1];
		if(!szFl||!szNm) return;
		var i=0;
		if(a.vl>"") i=ppArr(a.vl,"\6").length;
		upl.cr([szFl,szNm],szId,szSffx,true,i);
		if(a.arF.length<a.nFMx) objCnt.appendChild(upl.btt(szId));
	},
	KO:function(szId){
		_gel("uplCmd_"+szId).innerHTML="Errore";
		setTimeout("upl.OK(false,false,'"+szId+"')",1500);
	},
	dl:function(szFl,szSffx,szId,i){//szSz=è un file=="" è una foto=="img"
		var ar=engn.gtCmp(szId);
		//quando salvo un nuovo e cancello una file senza ricaricare szFl contiene ancora il tmpFl-idUsr
		var szT="tmpFl-"+lgn.usrNfo.ar[0].id+"_";
		if(szFl.indexOf(szT)>-1){
			if(ar[1].vl.indexOf(szFl)==-1) szFl=szFl.replace(szT,"");
		}
		var szSz=(ar[1].dt_tC=="ppFl")?"":"_"+ar[1].ppImgS;
		var r=cmp.gtVl("intID");
		r=(r)?r:"";
		var dr=ar[0].dt_idRcR;
		dr=(dr)?dr:"";
		var bL=(ar[0].ppLng)?1:"";
		new ajx("GT","","&_c="+szId+"&_s="+szSffx+"&_t="+ar[0].tbl+"&_f="+szFl+"&_sz="+szSz+"&_n="+i+"&r="+r+"&dr="+dr+"&_bl="+bL,"upl",false,true,true,"php/upload.php",upl.dlOK,upl.dlKO,false);
	},
	dlOK:function(arRec){
		var a=engn.gtCmp(arRec[2]);
		var arDt=a[0];
		a=a[1];
		var iK=arGetKey(a.arF,"szF",arRec[0]);
		a.arF.splice(iK,1);
		iK=arGetKey(enlrg.arFt,"src",szUrlGen+"immagini/"+arRec[3]+"/"+arRec[0]);
		enlrg.arFt.splice(iK,1);
		_rel(_gel("uplLstMod_"+arRec[2]+"_"+arRec[1]));
		if(a.arF.length<a.nFMx&&!_gel("fl_"+arRec[2])){
			var objCnt=_gel("uplCmd_"+arRec[2]);
			objCnt.appendChild(upl.btt(arRec[2]));
		}
		if(arRec[2].indexOf("|")>-1){
			var sz=arRec[2].split("|")[0];
			a=engn.gtCmp(sz+"_"+arDt.id)[1];
			add.sv(arDt,a,false);
		}
	},
	dlKO:function(arRec){
		alrt.crErr("upl.dlKO: cancellazione non riuscita\n"+arRec);
	}
}





///////////////////////////
/////////CALENDARIO////////
///////////////////////////
var cal={
	o:false,
	bClkOld:true,
	old_vl:false,
	a:false,
	tdy:false,
	aa:false,
	mm:false,
	gg:false,
	taa:false,
	tmm:false,
	tgg:false,
	saa:false,
	smm:false,
	sgg:false,
	szNmPpp:"",
	arFst:[],
	arEvd:[],
	arDysEvd:[],
	fnSt:false,
	arNmM:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],
	arNmG:["L","M","M","G","V","S","D"],
	iLD:26,
	bF:false,
	clr:function(){
		cal.o=false;
		cal.bClkOld=true;
		cal.old_vl=false;
		cal.a=false;
		cal.tdy=false;
		cal.aa=false;
		cal.mm=false;
		cal.gg=false;
		cal.taa=false;
		cal.tmm=false;
		cal.tgg=false;
		cal.saa=false;
		cal.smm=false;
		cal.sgg=false;
		cal.szNmPpp="";
		cal.arFst=[];
		cal.arEvd=[];
		cal.arDysEvd=[];
		cal.fnSt=false;
		cal.bF=false;
	},
	sGM:function(bBsst){
		this[0]=31;
		this[1]=28;
		if(bBsst) this[1]=29;
		this[2]=31;
		this[3]=30;
		this[4]=31;
		this[5]=30;
		this[6]=31;
		this[7]=31;
		this[8]=30;
		this[9]=31;
		this[10]=30;
		this[11]=31;
	},
	addFstIT:function(){
		cal.arFst.push([1,"|1|6|"]);
		cal.arFst.push([2,""]);
		cal.arFst.push([3,""]);
		cal.arFst.push([4,"|25|"]);
		cal.arFst.push([5,"|1|"]);
		cal.arFst.push([6,"|2|"]);
		cal.arFst.push([7,""]);
		cal.arFst.push([8,"|15|"]);
		cal.arFst.push([9,""]);
		cal.arFst.push([10,""]);
		cal.arFst.push([11,"|1|"]);
		cal.arFst.push([12,"|8|25|26|"]);
		cal.psq();
	},
	init:function(szId,bNoFstIT){
		var ar=engn.gtCmp(szId);
		cal.arDt=ar[0];
		cal.a=ar[1];
		cal.old_vl=_gel(szId).value;
		cal.initNoId(false,bNoFstIT);
	},
	initNoId:function(o,bNoFstIT){
		if(cal.fnSt===false) cal.fnSt=cal.st;
		cal.o=o;
		if(!bNoFstIT) cal.addFstIT();
		cal.tdy=new Date();
		cal.saa=cal.taa=cal.aa=cal.tdy.getYear()+1900;
		cal.smm=cal.tmm=cal.mm=cal.tdy.getMonth();
		cal.sgg=cal.tgg=cal.gg=cal.tdy.getDate();
	},
	psq:function(){
		cal.arFst[2][1]="||";
		cal.arFst[3][1]="|25|";
		var a=cal.aa%19;
		var b=cal.aa%4;
		var c=cal.aa%7;
		var d=(19*a+24)%30;
		var e=(2*b+4*c+6*d+5)%7;
		var f=d+e;
		var dp,mp;
		if(f<10){
			dp=f+22;
			mp=2;//iK=2 mese = marzo
		}else{
			mp=3;//iK=3 mese = aprile
			dp=f-9;
			if(dp==25) dp=19;
			if(dp==26&&d==28&&e==6&&a>10) dp=18;
		}
		if(dp==31&&mp==2){
			cal.arFst[mp][1]="|"+dp+"|";
			cal.arFst[mp+1][1]+="|1|";
		}else cal.arFst[mp][1]+="|"+dp+"|"+(dp+1)+"|";
	},
	gst:function(e,ev){
		var obj=(e.id)?e:_gee(e);
		var szId=obj.id;
		var id=szId.replace("_date","");
		var arDt=engn.gtCmp(id);
		var a=arDt[1];
		var arDt=arDt[0];
		if(a.nw_bDis&&!arDt.dt_idRc||a.dt_bDis&&arDt.dt_idRc){
			if(ev) noPropag(ev);
			return;
		}
		if(szId.indexOf("__f")>-1) cal.bF=true;
		if(ev) noPropag(ev);
		if(szId.indexOf("_date")>-1) szId=szId.replace("_date","");
		ppp.gst(e,_gel(szId),"pppCl");
	},
	/////////////////////////mod 03/06/11
	bBsst:function(a){
		return (((a%4==0)&&(a%100!=0))||(a%400==0));
	},
	/////////////////////////mod 03/06/11
	DinM:function(m,a){
		var bBsst=cal.bBsst(a);
		var mD=new cal.sGM(bBsst);
		return mD[m];
	},
	chg:function(e){
		var obj=_gee(e);
		if(e) noPropag(e);
		switch(obj.id){
			case "am":
				cal.aa--;
				break;
			case "mm":
				cal.mm--;
				break;
			case "mp":
				cal.mm++;
				break;
			case "ap":
				cal.aa++;
				break;
		}
		if(cal.mm<0){ cal.aa-=1; cal.mm=11;}
		else if(cal.mm>11){ cal.aa+=1; cal.mm=0;}
		if(!cal.o) cal.o=_gel("pppCl");
		_rel(obj.parentNode);
		_ael(cal.cr(cal.aa,cal.mm,1),cal.o);
	},
	st:function(e){
		var o=_gee(e);
		var gg=(o.innerHTML);
		var obj=_gel(cal.szNmPpp);
		gg=(gg.length==1)?"0"+gg:gg;
		var mm=cal.mm+1;
		mm=(mm.toString().length==1)?"0"+mm:mm;
		if(cal.bF) cal.a.fltr_vl=obj.value=gg+"/"+mm+"/"+cal.aa;
		else cal.a.vl=obj.value=gg+"/"+mm+"/"+cal.aa;
		obj.focus();
		ppp.cl("pppCl");
		chk.init(cal.a.nmDb+"_"+cal.arDt.id);
		chk.ctrl.dt(obj);
		if(cal.a.fnAftrDtSt) eval(cal.a.fnAftrDtSt)(e,gg+"/"+mm+"/"+cal.aa);
		if(e) noPropag(e);
	},
	op:function(obj){
		var objNw=_cel("div");
		objNw.id="pppCl";
		objNw.className="divCal";
		if(obj.id.indexOf("_date")>-1) obj=_gel(obj.id.replace("_date",""));
		cal.init(obj.id);
		cal.szNmPpp=obj.id;
		if(obj.value){
			chk.ctrl.dt(obj);
			var ar=obj.value.split("/");
			if(ar.length>2){
				if(ar[0].substring(1,0)=="0") ar[0]=ar[0].substring(1);
				if(ar[1].substring(1,0)=="0") ar[1]=ar[1].substring(1);
				cal.sgg=cal.gg=parseInt(ar[0]);
				cal.smm=cal.mm=parseInt(ar[1])-1;
				cal.saa=cal.aa=parseInt(ar[2]);
			}
		}
		_ael(cal.cr(cal.aa,cal.mm,cal.gg),objNw);
		return objNw;
	},
	cr:function(anno,mese,giorno){
		cal.aa=anno;
		cal.mm=mese;
		cal.gg=giorno;
		//aggiungere altre semi festività: san valentino, festa della mamma etc etc
		cal.tdy.setFullYear(anno,mese,giorno);
		var numDays=cal.DinM(cal.mm,cal.aa);
		var firstDay=cal.tdy;
		firstDay.setDate(1);
		var startDay=firstDay.getDay();
		startDay-=1;
		if(startDay<0) startDay=6;
		var column=0;
		var objContCal=_cel("div");
		objContCal.id="contCal";
		objContCal.className="cal";
		objContCal.style.width=(cal.iLD*7)+"px";
		var objArrow=_cel("div");
		objArrow.id="am";
		objArrow.className="calObj";
		objArrow.innerHTML="&lt;&lt;";
		addEvent(objArrow,'click',cal.chg,false);
		_ael(objArrow,objContCal);
		objArrow=_cel("div");
		objArrow.id="mm";
		objArrow.className="calObj";
		objArrow.innerHTML="&lt;";
		addEvent(objArrow,'click',cal.chg,false);
		_ael(objArrow,objContCal);
		var objNmMs=_cel("div");
		objNmMs.className="calNmMs";
		objNmMs.innerHTML=cal.arNmM[cal.mm]+" "+cal.aa;
		_ael(objNmMs,objContCal);
		objArrow=_cel("div");
		objArrow.id="mp";
		objArrow.className="calObj";
		objArrow.innerHTML="&gt;";
		addEvent(objArrow,'click',cal.chg,false);
		_ael(objArrow,objContCal);
		objArrow=_cel("div");
		objArrow.id="ap";
		objArrow.className="calObj";
		objArrow.innerHTML="&gt;&gt;";
		addEvent(objArrow,'click',cal.chg,false);
		_ael(objArrow,objContCal);
		_ael(engn.crDClr(),objContCal);
		for(i=0;i<cal.arNmG.length;i++){
			var objNmGg=_cel("div");
			objNmGg.className="calNmGg";
			objNmGg.innerHTML=cal.arNmG[i];
			objContCal.appendChild(objNmGg);
		}
		_ael(engn.crDClr(),objContCal);
		var iCol=0;
		var iRow=0;
		if(startDay>0){
			iCol=startDay;
			var objSpan=_cel("div");
			objSpan.className="calNoGg";
			objSpan.style.width=(startDay*cal.iLD)+"px";
			objSpan.innerHTML="&nbsp;";
			_ael(objSpan,objContCal);
		}
		var szMA=(cal.tdy.getMonth()+1)+"_"+cal.tdy.getFullYear();
		for(i=1;i<=numDays;i++){
			var calNmGg=_cel("div");
			calNmGg.id=i+"_"+szMA;
			var bP=false;
			calNmGg.className="calNGg";
			calNmGg.innerHTML=i;
			_ael(calNmGg,objContCal);
			//cerco se è festivo
			var bFst=(cal.arFst.length>0)?ppSrch(cal.arFst[cal.mm][1],i):false;
			var bEvd=(cal.arEvd.length>0)?ppSrch(cal.arEvd[cal.mm][1],i):false;
			var bDom=(++iCol==7&&i<=numDays);
			if(bDom){
				iRow++;
				iCol=0;
				_ael(engn.crDClr(),objContCal);
			}
			if(cal.arDysEvd.length>0&&!bEvd) bEvd=ppSrch(ppStr(cal.arDysEvd),iCol);
			//giorno passato
			if(cal.mm<=cal.tmm&&cal.aa<=cal.taa){
				bP=true;
				calNmGg.className="calNGgP";
				if(i>=cal.tgg&&cal.mm==cal.tmm&&cal.aa==cal.taa){
					calNmGg.className="calNGg";
					bP=false;
				}
			}
			if(!bP) addEvent(calNmGg,'click',cal.fnSt,false);
			else{
				if(cal.bClkOld) addEvent(calNmGg,'click',cal.fnSt,false);
			}
			//giorno selezionato
			if(i==cal.sgg&&cal.mm==cal.smm&&cal.aa==cal.saa) calNmGg.className+="S";
			//giorno oggi
			if(i==cal.tgg&&cal.mm==cal.tmm&&cal.aa==cal.taa) calNmGg.className+="O";
			if(bEvd) calNmGg.className+="Evd";
			if(bDom||bFst) calNmGg.className+="F";
		}
		return objContCal;
	}
}



///////////////////////////
///////////COLORE//////////
///////////////////////////

var clr={
	sz:false,
	gst:function(e){
		var ar=_gee(e).id.split("_");
		var szId=ar[0]+"_"+ar[1];
		ppp.gst(e,_gel(szId),"pppCp");
	},
	op:function(obj){
		clr.sz=obj.id;
		var H=-7;
		var S=-4;
		var V=-4;
		var a=engn.gtCmp(obj.id)[1];
		var inVal=(a.vl)?a.vl.replace("#",""):"FFFFFF";
		var z="";
		if(inVal!=""){
			var colInHSV=color.HEX_HSV(inVal);
			V=Math.floor(V);
			var H=colInHSV.H;
			slideHSV.H=H;
			H=H-360;
			H=Math.abs(H);
			H=(H<360)?H:360;
			H=(H>0)?H:0;
			H=(H/360)*163;
			if(H<0) H=0;
			if(H>163) H=163;
			H-=5;
			H=Math.floor(H);
			var S=colInHSV.S;
			slideHSV.S=S;
			S=(S<100)?S:100;
			S=(S>0)?S:0;
			S=(S/100)*162;
			if(S<0) S=-4;
			if(S>162) S=158;
			S=Math.floor(S);
			var V=colInHSV.V;
			slideHSV.V=V;
			V=(V<100)?V:100;
			V=(V>0)?V:0;
			V=(V/100)*162;
			V=V-100;
			if(V<0) V=0;
			if(V>162) V=162;
			V-=4;
		}
		var objNw=_cel("div");
		objNw.id="pppCp";
		addEvent(objNw,'click',noPropag,false);
		for(var i=165;i>=0;i--){ z+="<div style=\"background: #"+color.HSV_HEX({H:Math.round((360/165)*i), S:100, V:100})+";\"><\/div>"; }
		objNw.innerHTML="<div id=\"plugin\" onmousedown=\"HSVslide('drag','plugin',event)\"><div id=\"plugCUR\" style=\"background-color:#"+inVal+";\"></div><div id=\"plugHEX\" onmousedown=\"stop=0; setTimeout('stop=1',100);\">"+inVal+"</div><br /><div id=\"SV\" onmousedown=\"HSVslide('SVslide','plugin',event)\" title=\"Saturation\" style=\"background-color:#"+inVal+";\"><div id=\"SVslide\" style=\"top:"+V+"px;left:"+S+"px;\"><br /></div></div><form id=\"H\" onmousedown=\"HSVslide('Hslide','plugin',event)\" title=\"Hue\"><div id=\"Hslide\" style=\"top:"+H+"px; left:-8px;\"><br /></div><div id=\"Hmodel\">"+z+"</div></form></div><div id=\"T\"></div><div class=\"dCls\" id=\"add_cls_"+obj.id+"\" onclick=\"ppp.gst(event,_gel('"+obj.id+"'),'pppCp');\"></div>";
		return objNw;
	}
}



///////////////////////////
///////////POP UP//////////
///////////////////////////
var ppp={
	ar:[],
	s:function(szNmOpnr,szNmPpp){
		this.szNmOpnr=szNmOpnr;
		this.szNmPpp=szNmPpp;
	},
	cl:function(szNmPpp){
		if(typeof szNmPpp!=="string") szNmPpp=null;
		if(szNmPpp){
			var iKey=arGetKey(ppp.ar,"szNmPpp",szNmPpp);
			ppp.ar.splice(iKey,1);
			_rel(_gel(szNmPpp));
			return;
		}
		for(var i=0;i<ppp.ar.length;i++) _rel(_gel(ppp.ar[i].szNmPpp));
		ppp.ar=[];
	},
	gst:function(e,obj,szNmPpp){
		if(e) noPropag(e);
		if(_gel(szNmPpp)){
			for(var i=0;i<ppp.ar.length;i++){
				_rel(_gel(szNmPpp));
				if(ppp.ar[i].szNmOpnr==obj.id){
					ppp.ar.splice(i,1);
					return;
				}
				ppp.ar.splice(i,1);
				break;
			}
		}
		switch(szNmPpp){
			case "pppCl":
				var objNw=cal.op(obj);
				break;
			case "pppCp":
				var objNw=clr.op(obj);
				break;
			case "pppSrch":
				var objNw=srch.op(obj);
				break;
			case "pppLnk":
				var objNw=crDlnk(obj);
				break;
		}
		ppp.ar.push(new ppp.s(obj.id,szNmPpp));
		if(!objNw) return;
		if(!_isIE) stAlph(objNw,0);
		_ael(objNw,_gel("dDtC"));
		var arPos=objPosPage(obj,objNw.offsetWidth,objNw.offsetHeight,_gel("dDtC"));
		if(szNmPpp=="pppSrch") return [objNw,arPos];
		objNw.style.left=arPos[0]+"px";
		objNw.style.top=arPos[1]+"px";
		if(!_isIE) new objFd(objNw,300,100);// else stAlph(objNw,100);
		return objNw;//lo uso solo nel link del rte
	}
}


////////////////////////////////////
///////////////SEARCH///////////////
////////////////////////////////////


var srch={/////////////////////////mod 03/06/11
	a:[],
	arRec:[],
	chk:function(e){
		return true;
	},
	op:function(o){
		var objNw=_cel("div");
		objNw.id="pppSrch";
		objNw.className="srcLst";
		return objNw;
	},
	ld:function(szId){
		var a=engn.gtCmp(szId)[1];
		if(a.vl===false) return;
		if(a.srch_url&&a.srch_args){
			var pp=false;
			a.srch_args+="&sZld="+a.vl+"&o="+szId;
		}else{
			var pp=a.srch_qry.replace("##objID##",szId);
			var re=new RegExp("##objVl##","g");
			pp=pp.replace(re,"");
			re=new RegExp("S\\|F","g");
			pp=pp.replace(re,"S");
			var szS="\2intID\1\1\1\1\1\1S\2";
			var szR="intID\1\1\1"+a.vl+"\1\1\1S|F";
			if(pp.indexOf(szS)>-1) pp=pp.replace(szS,"\2"+szR+"\2");
			else{
				var ar=ppArr(pp,"\3");
				var ar2=ppArr(ar[2],"\2");
				for(var i=0;i<ar2.length;i++){
					var ar1=ar2[i].split("\1");
					if(ar1[0]=="intID"){
						ar2[i]=szR;
						break;
					}
				}
				ar[2]=ppStr(ar2,"\2");
				pp=ppStr(ar,"\3");
			}
		}
		new ajx("GT",pp,a.srch_args,szId,false,false,true,a.srch_url,srch.ldok,srch.ldko,false,false);
	},
	ldok:function(arRc){
		var a=engn.gtCmp(arRc[2]);
		var arDt=a[0];
		a=a[1];
		srch.a=eval(a.srch_fnFrmt)(arRc);
		var oa=_gel("dAj"+arRc[2]);
		var oi=_gel(arRc[2]);
		if(oi){
			if(_isIE||_isOpera){
				var o=oi.cloneNode(true);
				o.type="hidden";
				o.value=oi.value;
				_rpl(oi,o);
			}else oi.type="hidden";
		}else oa.innerHTML="";
		whtng.rm(oa);
		o=_cel("div");
		o.id="mdSel##"+arRc[2];
		o.className="mdSel";
		o.innerHTML=srch.a[0][1];
		if(a.srch_dt_bDCls&&lgn.usrNfo.ar[0].tp!=4) _ael(engn.crDCls("mdSelCls##"+arRc[2],srch.cls),o);
		_ael(o,oa);
		var arN=[];
		for(var i=1;i<arRc[0].length;i++){
			arR=[];
			for(x in arRc[0][i]) arR.push(arRc[0][i][x]);
			arN.push(arR);
		}
		a.cmb=a.ajCmb=arN;
		if(a.srch_fnPstSel) eval(a.srch_fnPstSel)(arRc[2]);
	},
	ldko:function(szId){
		var a=engn.gtCmp(szId)[1];
		whtng.rm(_gel("dAj"+szId));
		var o=_gel(szId);
		if(o) o.value="";
		if(a.srch_fnPstSel) eval(a.srch_fnPstSel)(szId);
	},
	gt:function(e){
		var o=_gee(e);
		if(o.value.length<2){
			srch.ko(o.id)
			return false;
		}
		_gel("dt_aux_"+o.id).innerHTML="<img src=\""+szUrlNgn+"imgDef/loader8.gif\" alt=\"\" />";
		var a=engn.gtCmp(o.id)[1];
		if(a.srch_url&&a.srch_args){
			var pp=false;
			a.srch_args+="&sZsrch="+o.value+"&o="+o.id;
		}else{
			var pp=a.srch_qry.replace("##objID##",o.id);
			var re=new RegExp("##objVl##","g");
			pp=pp.replace(re,o.value);
		}
		new ajx("GT",pp,a.srch_args,o.id,false,false,false,a.srch_url,srch.ok,srch.ko,false,false);
		return false;
	},
	ok:function(a){
		var o=_gel(a[2]);
		var ar=ppp.gst(false,o,"pppSrch");
		if(!ar) return;
		var os=ar[0];
		os.style.left=(ar[1][0]-o.offsetWidth-2)+"px";
		os.style.top=(ar[1][1]+o.offsetHeight)+"px";
		os.style.width=o.offsetWidth+"px";
		srch.arRec=a[0];
		var arCmp=engn.gtCmp(a[2])[1];
		//var re=new RegExp(o.value,"gi");
		srch.a=ar=eval(arCmp.srch_fnFrmt)(a);
		os.innerHTML="";
		for(var i=0;i<ar.length;i++){
			var om=_cel("div");
			var sz=(i%2==0)?"A":"B";
			om.id="md##"+o.id+"##"+ar[i][0];
			om.className=arCmp.srch_mdClss+sz;
			//om.innerHTML=ar[i][1].replace(re,"<b>"+o.value+"</b>");
			var re=new RegExp(o.value,"gi");
			var arS=ar[i][1].match(re);
			if(arS){
				for(var j=0;j<arS.length;j++){
					re=new RegExp(arS[j],"g");
					ar[i][1]=ar[i][1].replace(re,"<b>"+arS[j]+"</b>");
				}
			}
			om.innerHTML=ar[i][1];
			addEvent(om,"click",arCmp.srch_sel);
			_ael(om,os);
		}
		_gel("dt_aux_"+o.id).innerHTML="";
		if(!_isIE) new objFd(os,300,100);
	},
	ko:function(szId){
		_gel("dt_aux_"+szId).innerHTML="";
		ppp.cl("pppSrch");
	},
	sel:function(e){
		//var o=_gee(e);
		var o=(e.id)?e:_gee(e);
		while(!o.id) o=o.parentNode;
		var ar=o.id.split("##");
		var iK=arGetKey(srch.a,0,ar[2]);
		var oi=_gel(ar[1]);
		var arMCS=engn.gtCmp(ar[1]);
		var a=arMCS[1];
		var arN=[];
		for(var i=1;i<srch.arRec.length;i++){
			if(srch.arRec[i][0]!=ar[2]) continue;
			arR=[];
			for(x in srch.arRec[i]) arR.push(srch.arRec[i][x]);////non va bene!!!!!! 04-11-11 --> engn.shwStrct(arR);
			arN.push(arR);
		}
		//engn.shwStrct(arR);
		//srch.arRec=[];
		a.cmb=a.ajCmb=arN;
		a.vl=srch.a[iK][0];
		//alert(a.vl);
		if(_isIE||_isOpera){
			var oN=oi.cloneNode(true);
			oN.type="hidden";
			oN.value=a.vl;
			_rpl(oi,oN);
		}else{
			oi.type="hidden";
			oi.value=a.vl;
		}
		var oa=_gel("dAj"+ar[1]);
		o=_cel("div");
		o.id="mdSel##"+ar[1];
		o.className="mdSel";
		o.innerHTML=srch.a[iK][1];
		if(a.srch_nw_bDCls) _ael(engn.crDCls("mdSelCls##"+ar[1],srch.cls),o);
		_ael(o,oa);
		if(a.srch_fnPstSel) eval(a.srch_fnPstSel)(a.nmDb+"_"+arMCS[0].id,ar[2]);
	},
	cls:function(e){
		var o=_gee(e);
		var ar=o.id.split("##");
		_rel(o.parentNode);
		var arMCS=engn.gtCmp(ar[1]);
		var a=arMCS[1];
		var oi=_gel(ar[1]);
		srch.a=[];
		srch.arRec=[];
		a.vl=false;
		if(oi){
			if(_isIE||_isOpera){
				_rel(oi);
				engn.crMdCmp(arMCS[0],a,false,oi.parentNode);
			}else{
				oi.type="text";
				oi.value="";
			}
		}
		if(a.srch_fnPstRm) eval(a.srch_fnPstRm)(a.nmDb+"_"+arMCS[0].id);
	}
}






////////////////////////////////////
///////////CONTROLLO CAMPI//////////
////////////////////////////////////





var inp={
	kc:false,
	skc:false,
	pp:false,
	gtSzL:function(sz){
		return encodeURIComponent(sz).replace(/%../g,'x').length;
	},
	chk:function(e){
		inp.kc=(_isIE)?window.event.keyCode:e.which;
		inp.skc=String.fromCharCode(inp.kc);
	},
	chr:function(e){//cntChr
		inp.chk(e);
		var o=_gee(e);
		var iL=inp.gtSzL(o.value);
		var c=inp.gtSzL(inp.skc);
		var a=engn.gtCmp(o.id)[1];
		if(!a.dt_taBInv&&inp.kc==13){ noPropag(e); return;}
		if(!ppSrch("|8|0|",inp.kc)){
			if(iL+c>a.lngMx) noPropag(e);
			else iL+=c;
		}
		inp.chrUpd(o);
	},
	chrUpd:function(e,a){//updCntChr
		var obj=(e.id)?e:_gee(e);
		var iL=inp.gtSzL(obj.value);
		if(!a) a=engn.gtCmp(obj.id)[1];
		_gel("dt_cnt_"+obj.id).innerHTML=iL+"/"+a.lngMx;
	},
	nan:function(e){
		inp.chk(e);
		var a=engn.gtCmp(_gee(e).id)[1];
		inp.pp="|0|8|47|48|49|50|51|52|53|54|55|56|57|";
		var szTC=a.dt_tC;
		if(!szTC) szTC=a.tp;
		if(szTC=="decimal") inp.pp+="44|46|";
		return inp.cmpr(e);
	},
	nn:function(e){//chkNN
		inp.chk(e);
		inp.pp="|0|8|";
		if(inp.cmpr(e,true)) return true;
		var re=/[a-zA-Z]/;
		if(!re.test(inp.skc)){
			noPropag(e);
			return false;
		}
		return true;
	},
	yn:function(e){
		inp.chk(e);
		inp.pp="|0|8|";
		if(inp.cmpr(e,true)) return true;
		var re=/[0-9]/;
		if(!re.test(inp.skc)){
			noPropag(e);
			return false;
		}
		return true;
	},
	tel:function(e){//chkInpTel
		inp.chk(e);
		inp.pp="|0|8|32|43|48|49|50|51|52|53|54|55|56|57|";//spazio/+
		return inp.cmpr(e);
	},
	gps:function(e){/////////////////////////mod 03/06/11
		inp.chk(e);
		inp.pp="|0|8|32|44|46|48|49|50|51|52|53|54|55|56|57|";//spazio/+
		return inp.cmpr(e);
	},
	dt:function(e){//chkInpDt inp.dt
		inp.chk(e);
		inp.pp="|0|8|45|47|48|49|50|51|52|53|54|55|56|57|";//spazio/+
		var b=inp.cmpr(e);
		if(b) ppp.cl("pppCl");
		return b;
	},
	clr:function(e){//chkInpClr
		inp.chk(e);
		inp.pp="|0|8|48|49|50|51|52|53|54|55|56|57|97|98|99|100|101|102|35|";
		return inp.cmpr(e);
	},
	pwd:function(e){
		inp.chk(e);
		if(inp.kc==32){
			noPropag(e);
			return false;
		}
		return true;
	},
	cmpr:function(e,b){
		if(ppSrch(inp.pp,inp.kc)) return true;
		if(!b) noPropag(e);
		return false;
	},
	tm:function(e){
		inp.chk(e);
		inp.pp="|0|8|48|49|50|51|52|53|54|55|56|57|58|";
		return inp.cmpr(e);
	}
}



var chk={
	arDt:false,
	a:false,
	init:function(id){
		if(!id) alrt.crErr(chk.init.caller);
		var ar=engn.gtCmp(id);
		chk.arDt=ar[0];
		chk.a=ar[1];
		return ar[1];
	},
	ctrl:{
		clr:function(e){//chk.ctrl.clr
			var o=_gee(e);
			chk.init(o.id);
			var re=/^(#)[0-9a-f]{6}$/i;
			if(!re.test(o.value)){
				chk.a.err=true;
				return chk.ctrl.kook(false,o);//inpKO(arDt,a,this);
			}else{
				_gel(o.id+"_clr").style.backgroundColor=chk.a.vl;
				return chk.ctrl.kook(true,o);//inpOK(arDt,a,this);
			}
		},
		pwd:function(e){//chk.ctrl.pwd
			var i=0;
			var j=0;
			var sz="Lunghezza minima 8 caratteri";
			var szC="c00";
			var v=_gee(e).value;
			var l=v.length;
			if(l>=8){
				i=(l-8)*2;//bonus passw lunga
				var rn=/[0-9]+/g;
				if(rn.test(v)){
					j=v.match(rn).length;//numeri
					l-=j;
					i+=j*3;
				}
				var rm=/[A-Z]+/g;
				if(rm.test(v)){				
					j=v.match(/[A-Z]+/g).length;//maiusc
					l-=j;
					i+=j*3;
				}
				var rs=/\W+|[-_\W]+/g;
				if(rs.test(v)){					
					j=v.match(/\W+|[-_\W]+/g).length;//maiusc
					l-=j;
					i+=j*4;
				}
				i+=l;
				i=i/v.length;
				sz="Livello di sicurezza: ";
				if(i<=1.4){
					sz+="debole";
					szC="f60";
				}else if(i>1.4&&i<=1.6){
					sz+="medio";
					szC="f60";
				}else if(i>1.6&&i<2){
					sz+="buono";
					szC="fc0";
				}else if(i>=2){
					sz+="ottimo";
					szC="2d9f0e";
				}
			}
			_gel("dPwdMsg").innerHTML=sz;
			var objL=_gel("dPwdLvl");
			objL.style.backgroundColor="#"+szC;
		},
		pwdd:function(e){//chk.ctrl.pwdd
			var objP,objR;
			var szId=_gee(e).id;
			if(szId.indexOf("_cnf")>-1){
				objR=_gel(szId);
				szId=szId.substr(0,szId.length-4);
				objP=_gel(szId);
			}else{
				objP=_gel(szId);
				objR=_gel(szId+"_cnf");
			}
			chk.init(szId);
			if(objP.value) chk.a.vl=objP.value;
			if(!chk.a.vl){//objP sbagliato, troppo corta
				chk.a.nll=false;
				objR.value="";
				chk.ctrl.kook(true,objR);
				return;
			}else chk.a.nll=true;
			if(objR.value!=objP.value){
				chk.a.err=true;
				chk.a.vl=false;
				chk.ctrl.kook(false,objR);
			}else{
				chk.a.err=false;
				chk.a.vl=objP.value;
				chk.ctrl.kook(true,objP);
				chk.ctrl.kook(true,objR);
			}
		},
		kook:function(b,obj){
			if(obj){
				if(obj.type.indexOf("select")>-1) _gel("slct_"+obj.id).className=(b)?"slct":"slctErr";
				else obj.style.backgroundImage=(b)?"none":"url("+szUrlNgn+"imgDef/alertsf.png)";
			}
			if(chk.arDt&&chk.a){
				var objL=_gel("dt_nc_"+chk.a.nmDb+"_"+chk.arDt.id);
				var szC=(chk.a.dt_cDNC)?chk.a.dt_cDNC:chk.arDt.dt_cDNC;
				if(objL) objL.className=(b)?szC:szC+"Err";
				if(!obj) return false;
				chk.a.err=!b;
				chk.a.vl=b;
				if(obj){
					chk.a.vl=obj.value;
					if(obj.id.indexOf("__f")>-1) chk.a.fltr_vl=chk.a.vl;
				}
				if(obj.id.indexOf("|")>-1){
					var arId=obj.id.split("|");
					var ar=arId[1].split("_");
					arId[1]=(ar[1].indexOf("-")>-1)?ar[1].split("-")[0]:ar[1];
					chk.a=engn.gtCmp(arId[0]+"_"+arId[1]);
					chk.a.err=!b;
					var objL=_gel("dt_nc_"+chk.a.nmDb+"_"+chk.arDt.id);
					var szC=(chk.a.dt_cDNC)?chk.a.dt_cDNC:chk.arDt.dt_cDNC;
					if(objL) objL.className=(b)?szC:szC+"Err";
					
				}
			}else return false;
			return b;
		},
		/*
		pi:function(e){//chk.ctrl.pi
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			var b=false;
			var szV=obj.value;
			var r=/^([a-z]{2})\d{11}$/i;
			if(!r.test(szV)) b=(!isNaN(szV)&&obj.value.length==11)?true:false;
			else{
				szV=szV.substr(2);
				b=true;
			}
			if(!b) return chk.ctrl.kook(false,obj);
			var iP=0;
			var iD=0;
			var iM=0;
			for(var i=0;i<10;i++){
				r=(i+1)%2;
				var v=parseInt(szV[i]);
				if(r) iD+=v;//dispari
				else{//pari
					iP+=v;
					if(v>=5) iM++;
				}
			}
			var iT=iD+(2*iP)+iM;
			iT=(iT%10);
			iT=(10-iT)%10;
			b=(szV[szV.length-1]==iT);
			if(!b) return chk.ctrl.kook(false,obj);
			//controllo incorciato tra CF e PI
			var iK=arGetKey(chk.arDt.arCmp,"dt_tC","CF");
			if(iK!==false){
				var v=chk.arDt.arCmp[iK].vl;
				if(isNaN(v)) b=true;//è un codice fiscale personale
				else{//è una partita iva
					var vl=obj.value;//pi
					if(isNaN(vl)) vl=vl.substr(2);
					b=(vl==v)?true:false;
					chk.a=chk.arDt.arCmp[iK];
					if(b) chk.ctrl.kook(b,_gel(chk.arDt.arCmp[iK].nmDb+"_"+chk.arDt.id));
				}
			}
			return chk.ctrl.kook(b,obj);
		},
		cf:function(e){//chk.ctrl.cf
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			var b=false;
			if(isNaN(obj.value)){
				var r=/^([bcdfghj-np-tv-z][a-z]{2}){2}\d{2}[a-ehlmprst]([04][1-9]|[1256]\d|[37][01])([a-z]\d{3}|z\d{3})[a-z]$/i;
				b=(r.test(obj.value));
				return chk.ctrl.kook(b,obj);
			}else b=chk.ctrl.pi(obj);
			if(!b) return chk.ctrl.kook(false,obj);
			//controllo incorciato tra CF e PI
			var iK=arGetKey(chk.arDt.arCmp,"dt_tC","PI");
			if(iK!==false){
				var v=chk.arDt.arCmp[iK].vl;
				if(isNaN(v)) v=v.substr(2);//contiene IT
				b=(obj.value==v)?true:false;
				if(b) chk.ctrl.kook(b,_gel(chk.arDt.arCmp[iK].nmDb+"_"+chk.arDt.id));
			}
			return chk.ctrl.kook(b,obj);
		},
		*/
		pi:{//chk.ctrl.pi
			noUnq:function(szId,b){
				var oT=_gel("piCdc_"+szId);
				var aT=engn.gtCmp(oT.id)[1];
				chk.init(oT.id);
				chk.ctrl.kook(b,oT);
			},
			err:function(e){
				var oP=(e.id)?e:_gee(e);
				var aP=engn.gtCmp(oP.id);
				var arDt=aP[0];
				aP=aP[1];
				var idS="idStt_"+arDt.id;
				var aS=engn.gtCmp(idS)[1];
				oS=_gel(idS);
				if(aS.vl==""||aS.vl==false){
					chk.init(idS);
					chk.ctrl.kook(false,oS);
					chk.init(oP.id);
					chk.ctrl.kook(false,oP);
					return;
				}
				var b=chk.ctrl.pi.chk(aS,aP);
				chk.init(oP.id);
				chk.ctrl.kook(b,oP);
				if(!b) return;
				chk.ctrl.unq.chk(oP);
			},
			chg:function(e){//chk.ctrl.pi.chg
				var o=_gee(e);
				var ar=engn.gtCmp(o.id);
				var arDt=ar[0];
				var a=ar[1];
				var iKP=arGetKey(arDt.arCmp,"nmDb","strPI");
				if(iKP===false) return;//non ho la PI
				var aP=arDt.arCmp[iKP];
				var oP=_gel(aP.nmDb+"_"+arDt.id);
				if(a.vl==""||a.vl===false){
					aP.vl=false;
					oP.value="";
					return;
				}
				var iKC=arGetKey(a.cmb,0,a.vl);
				if(iKC===false) return;
				var szC=a.cmb[iKC][2];
				if(aP.vl==""||aP.vl===false||aP.vl.length==2) aP.vl=oP.value=szC;
				else{
					if(szC!=aP.vl.substr(0,2)) aP.vl=oP.value=szC+aP.vl.substr(2);
				}
				chk.ctrl.pi.err(aS,aP);
			},
			chk:function(aS,aP){
				var iK=arGetKey(aS.cmb,0,aS.vl);
				if(iK===false) return false;
				var b=false;
				aP.vl=aP.vl.toUpperCase();
				if(aS.cmb[iK][2]!=aP.vl.substr(0,2)) aP.vl=aS.cmb[iK][2]+aP.vl;
				var ar=ppArr(aS.cmb[iK][4],"\5");
				for(var i=0;i<ar.length;i++){
					var re=new RegExp(eval(ar[i]));
					if(re.test(aP.vl)){
						b=true;
						var szC=RegExp.$1;
						var szT=RegExp.$2;
						break;
					}
				}
				if(!b) return false;
				var i=0;
				var iT=0;
				var iTmp=0;
				switch(szC){
					default:
						return true;
					case "AT":
						var arM=[1,2,1,2,1,2,1];
						for(i=0;i<7;i++){
							iTmp=Number(szT.charAt(i))*arM[i];
							iT=(iTmp>9)?iT+Math.floor(iTmp/10)+iTmp%10:iT=iT+iTmp;
						}
						iT=10-(iT+4)%10; 
						if(iT==10) iT=0;
						return (iT==szT.slice(7,8))?true:false;        
					case "BE":
						if(szT.length==10&&szT.slice(0,1)!="0") return false;
						if(szT.length==9) szT="0"+szT;
						return (97-szT.slice(0,8)%97==szT.slice(8,10))?true:false;
					case "BG":
						return true;
						/*
						if(szT.length!=10) return true;
						var arM=[4,3,2,7,6,5,4,3,2];
						for(i=0;i<9;i++) iTmp=iTmp+Number(szT.charAt(i))*arM[i];
						iT=11-iT%11;
						if(iT==10) iT=0;
						if(iT==11) iT=1;
						return (iT==szT.slice(9,10))?true:false;
						*/
					case "CY":
						for(i=0;i<8;i++){
							iTmp=Number(szT.charAt(i));
							if(i%2==0){
								switch(iTmp){
									case 0: iTmp=1; break;
									case 1: iTmp=0; break;
									case 2: iTmp=5; break;
									case 3: iTmp=7; break;
									case 4: iTmp=9; break;
									default: iTmp=iTmp*2+3;
								}
							}
							iT=iT+iTmp;
						}
						iT=iT%26;
						iT=String.fromCharCode(iT+65);
						return (iT==szT.substr(8,1))?true:false;
					case "CZ":
						var arM=[8,7,6,5,4,3,2];
						if(szT.length!=8) return true;
						for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=11-iT%11;
						if(iT==10) iT=0;
						if(iT==11) iT=1;
						return (iT==szT.slice(7,8))?true:false;
					case "DE":
						var iP=10;
						var iS=0;     
						var iCD=0;                      
						for(i=0;i<8;i++){
							iS=(Number(szT.charAt(i))+iP)%10;
							if(iS==0) iS=10;
							iP=(2*iS)%11;
						}
						iCD=(11-iP==10)?0:11-iP;
						return (iCD==szT.slice(8,9))?true:false;
					case "DK":
						var arM=[2,7,6,5,4,3,2,1];
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=iT%11;
						return (iT==0)?true:false;
					case "EE":
						var arM=[3,7,1,3,7,1,3,7];
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=10-iT%10;
						if(iT==10) iT=0;
						return (iT==szT.slice(8,9))?true:false;
					case "EL":
					case "GR":
						var arM=[256,128,64,32,16,8,4,2];
						if(szT.length==8) szT="0"+szT;
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(8,9))?true:false;
					case "ES":
						var arM=[2,1,2,1,2,1,2];
						var arRE=[new RegExp(/^[A-H]\d{8}$/),new RegExp(/^[N|P|Q|S]\d{7}[A-Z]$/),new RegExp(/^[0-9]{8}[A-Z]$/)];
						if(arRE[0].test(szT)){
							for(i=0;i<7;i++){
								iTmp=Number(szT.charAt(i+1))*arM[i];
								iT=(iTmp>9)?iT+Math.floor(iTmp/10)+iTmp%10:iT+iTmp;
							}
							iT=10-iT%10;
							if(iT==10) iT=0;
							return (iT==szT.slice(8,9))?true:false;
						}else if(arRE[1].test(szT)){
							for(i=0;i<7;i++){
								iTmp=Number(szT.charAt(i+1))*arM[i];
								iT=(iTmp>9)?iT+Math.floor(iTmp/10)+iTmp%10:iT+iTmp;
							}
							iT=10-iT%10;
							iT=String.fromCharCode(iT+64);
							return (iT==szT.slice(8,9))?true:false;
						}else if(arRE[2].test(szT)){
							return szT.charAt(8)=='TRWAGMYFPDXBNJZSQVHLCKE'.charAt(Number(szT.substring(0,8))%23);
						}else return true;
					case "EU":
						return true;
					case "FI":
						var arM=[7,9,10,5,8,4,2];
						for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=11-iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(7,8))?true:false;
					case "FR":
						if(!(/^\d{11}$/).test(szT)) return true;
						iT=szT.substring(2); 
						iT=(iT*100+12)%97;
						return (iT==szT.slice(0,2))?true:false;
					case "GB":
						var arM=[8,7,6,5,4,3,2];
						if(szT.substr(0,2)=='GD') return (szT.substr(2,3)<500)?true:false;
						if(szT.substr(0,2)=='HA') return (szT.substr(2,3)>499)?true:false;
						if(szT.length==9||szT.length==10){
							if(szT.length==10&&szT.slice(9,10)!='3') return false;
							for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
							var cd=iT;
							while(cd>0) cd=cd-97;
							cd=Math.abs(cd);
							if(cd==szT.slice(7,9)) return true;
							cd=(cd>=55)?cd-55:cd+42;
							return (cd==szT.slice(7,9))?true:false;
						}
						return true;
					case "HU":
						var arM=[9,7,3,1,9,7,3];
						for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=10-iT%10; 
						if(iT==10) iT=0;
						return (iT==szT.slice(7,8))?true:false;
					case "IE":
						var arM=[8,7,6,5,4,3,2];
						if(/^\d[A-Z\*\+]/.test(szT)) szT="0"+szT.substring(2,7)+szT.substring(0,1)+szT.substring(7,8);
						for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=iT%23;
						iT=(iT==0)?"W":String.fromCharCode(iT+64);
						return (iT==szT.slice(7,8))?true:false;
					case "IT":
						var arM=[1,2,1,2,1,2,1,2,1,2];
						iTmp=Number(szT.slice(0,7));
						if(iTmp==0) return false;
						iTmp=Number(szT.slice(7,10));
						if((iTmp<1)||(iTmp>201)) return false;
						for(i=0;i<10;i++){
							iTmp=Number(szT.charAt(i))*arM[i];
							iT=(iTmp>9)?iT+Math.floor(iTmp/10)+iTmp%10:iT+iTmp;
						}
						iT=10-iT%10;
						if(iT>9) iT=0;
						return (iT==szT.slice(10,11))?true:false;
					case "LT":
						if(szT.length!=9) return true;
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*(i+1);
						if(iT%11==10){
							var arM=[3,4,5,6,7,8,9,1];
							iT=0;
							for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						}
						iT=iT%11;
						if(iT==10) iT=0;
						return (iT==szT.slice(8,9))?true:false;
					case "LU":
						return (szT.slice(0,6)%89==szT.slice(6,8))?true:false;
					case "LV":
						if((/^[0-3]/).test(szT)) return true; 
						var arM=[9,1,4,8,3,10,2,5,7,6];
						for(i=0;i<10;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						if(iT%11==4&&szT[0] ==9) iT=iT-45;
						if(iT%11==4) iT=4-iT%11;
						else if(iT%11>4) iT=14-iT%11;
						else if(iT%11<4) iT=3-iT%11;
						return (iT==szT.slice(10,11))?true:false;
					case "MT":
						var arM=[3,4,6,7,8,9];
						for(i=0;i<6;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=37-iT%37;
						return (iT==szT.slice(6,8)*1)?true:false;
					case "NL":
						var arM=[9,8,7,6,5,4,3,2];
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(8,9))?true:false;
					case "PL":      
						var arM=[6,5,7,2,3,4,5,6,7];
						for(i=0;i<9;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(9,10))?true:false;
					case "PT":
						var arM=[9,8,7,6,5,4,3,2];
						for(i=0;i<8;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=11-iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(8,9))?true:false;
					case "RO":
						var arM=[7,5,3,2,1,7,5,3,2,1];
						var iL=szT.length;
						arM=arM.slice(10-iL);
						for(i=0;i<iL-1;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=(10*iT)%11;
						if(iT==10) iT=0; 
						return (iT==szT.slice(iL-1,iL))?true:false;
					case "SE":
						var arM=[2,1,2,1,2,1,2,1,2];
						for(i=0;i<9;i++){
							iTmp=Number(szT.charAt(i))*arM[i];
							iT=(iTmp>9)?iT+Math.floor(iTmp/10)+iTmp%10:iT+iTmp;
						}
						iT=10-(iT%10); 
						if(iT==10) iT=0;
						return (iT==szT.slice(9,10))?true:false;
					case "SK":
						var arM=[8,7,6,5,4,3,2];
						for(i=3;i<9;i++) iT=iT+Number(szT.charAt(i))*arM[i-3];
						iT=11-iT%11;
						if(iT>9) iT=iT-10;
						return (iT==szT.slice(9,10))?true:false;
					case "SI":
						var arM=[8,7,6,5,4,3,2];
						for(i=0;i<7;i++) iT=iT+Number(szT.charAt(i))*arM[i];
						iT=11-iT%11;
						if(iT>9) iT=0;
						return (iT==szT.slice(7,8))?true:false;
				  }
				return true;
			}
		},
		cf:{
			err:function(e){
				var oC=(e.id)?e:_gee(e);
				var aC=engn.gtCmp(oC.id);
				var arDt=aC[0];
				aC=aC[1];
				var aS=engn.gtCmp("idStt_"+arDt.id)[1];
				if(aC.vl==""||aC.vl===false){
					chk.init(oC.id);
					return chk.ctrl.kook(false,oC);
				}
				var b=chk.ctrl.cf.chk(aS,aC);
				if(!b) b=chk.ctrl.pi.chk(aS,aC);
				chk.init(oC.id);
				chk.ctrl.kook(b,oC);
			},
			chk:function(aS,aC){
				var iK=arGetKey(aS.cmb,0,aS.vl);
				if(iK===false) return false;
				var b=false;
				aC.vl=aC.vl.toUpperCase();
				var ar=ppArr(aS.cmb[iK][3],"\5");
				for(var i=0;i<ar.length;i++){
					var re=new RegExp(eval(ar[i]));
					if(re.test(aC.vl)){
						b=true;
						break;
					}
				}
				return b;
			}
		},
		len:function(obj){//chk.ctrl.len
			var iMx=100000;
			var iMn=0;
			if(chk.a.lngMx){
				var iI=0;
				var iD=0;
				if(chk.a.lngMx.toString().indexOf(",")>-1){
					var ar=chk.a.lngMx.split(",");
					iI=parseInt(ar[0]);
					iD=parseInt(ar[1]);
					var r=(iI%3>0)?1:0;
					iMx=iI+iD+Math.floor(iI/3)+r;
				}else iMx=parseInt(chk.a.lngMx);
			}
			if(chk.a.lngMn) iMn=parseInt(chk.a.lngMn);
			var sz=chk.a.vl.toString().length;
			return chk.ctrl.kook((sz>=iMn&&sz<iMx+1),obj);
		},
		vlen:function(e){//chk.ctrl.vlen
			var o=_gee(e);
			chk.init(o.id);
			var l=o.value.length;
			var iLMn=(chk.a.lngMn)?parseInt(chk.a.lngMn):0;
			var iLMx=(chk.a.lngMx)?parseInt(chk.a.lngMx):100000;
			if(o.value) chk.ctrl.kook((l>=iLMn&&l<=iLMx),o);
			else{
				if(chk.a.nll) chk.ctrl.kook(false,o);
				else chk.ctrl.kook(true,o);
			}
		},
		tel:function(e){//chk.ctrl.tel
			var o=_gee(e);
			if(!o.value) return;
			chk.init(o.id);
			var re=/^((\+[0-9]{2})|([0]{2}[0-9]{2})){0,1}(\s{0,1})([0-9]{3,4})(\s{0,1})([0-9]{5,7})$/;
			if(!re.test(o.value)){
				chk.a.err=true;
				return chk.ctrl.kook(false,o);//inpKO(arDt,a,this);
			}else return chk.ctrl.kook(true,o);//inpOK(arDt,a,this);
		},
		gps:function(e){/////////////////////////mod 03/06/11
			var o=_gee(e);
			if(!o.value) return;
			chk.init(o.id);
			var re=/^[0-9]*(\.[0-9]+)?,(\s?)[0-9]*(\.[0-9]+)?$/;
			if(!re.test(o.value)){
				chk.a.err=true;
				return chk.ctrl.kook(false,o);//inpKO(arDt,a,this);
			}else return chk.ctrl.kook(true,o);//inpOK(arDt,a,this);
		},
		rszTa:function(e){//chk.ctrl.rszTa
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			//implementare la larghezza, se necessario
			var objAE=_gel(obj.id+"_AE");
			if(!objAE){
				objAE=_cel("div");
				objAE.id=obj.id+"_AE";
				//stAlph(objAE,0);
				objAE.style.position="absolute";
				objAE.style.top="-1000px";
				objAE.style.left="-1000px";
				objAE.style.fontSize="9pt";
				objAE.style.overflow="scroll";
				objAE.style.width=chk.a.dt_taMnW+"px";
				objAE.style.height=chk.a.dt_taMnH+"px";
				//objAE.className="dTaAE";
				_ael(objAE);
			}
			var szSpc=(obj.value.lastIndexOf("\n")==obj.value.length-1)?"<br />&nbsp;":"<br />";
			objAE.innerHTML=obj.value.replace(/\n/g,szSpc);
			var sH=objAE.scrollHeight+((_isIE)?5:0);//modifica 25/02/2011, non so a quanto serva
			obj.style.overflow="hidden";
			if(chk.a.dt_taMnH>=sH) obj.style.height=chk.a.dt_taMnH+"px";//altezza minima
			else{
				if(chk.a.dt_taMxH>sH) obj.style.height=sH+"px";//altezza personalizzata (scroll)
				else{
					obj.style.overflow="auto";
					obj.style.height=chk.a.dt_taMxH+"px";//altezza massima
				}
			}
		},
		dec:function(e){//chk.ctrl.dec
			var o=_gee(e);
			if(!o.value) return;
			chk.init(o.id);
			var iI=0;
			var iD=0;
			var szI=false;
			var szD=false;
			if(!chk.a.vl) return;
			chk.a.vl=chk.a.vl.toString();
			if(isNaN(parseInt(chk.a.vl.replace(/[,.]/g,'')))){/////////////////////////mod 03/06/11
				chk.a.vl=false;
				o.value="";
				return;
			}
			if(chk.a.lngMx.indexOf(",")>-1){
				var ar=chk.a.lngMx.split(",");
				iI=parseInt(ar[0]);
				iD=parseInt(ar[1]);
			}
			var iPP=chk.a.vl.indexOf(".");
			var iPV=chk.a.vl.indexOf(",");
			if(iPP>-1){
				var iVlL=chk.a.vl.length-iPP-1;
				if(iD>=iVlL){//separatore dec . e 0,1,2 dec
					szI=chk.a.vl.substr(0,iPP).replace(/[,.]/g,'');
					szD=chk.a.vl.substr(iPP+1);
				}
			}
			if(iPV>-1){
				var iVlL=chk.a.vl.length-iPV-1;
				if(iD>=iVlL){//separatore dec , e 0,1,2 dec
					szI=chk.a.vl.substr(0,iPV).replace(/[,.]/g,'');
					szD=chk.a.vl.substr(iPV+1);
				}
			}
			if(szI===false&&szD===false) szI=chk.a.vl.replace(/[,.]/g,'');
			chk.a.vl=o.value=vlPrnt(szI+"."+szD);
			chk.ctrl.len(o);
		},
		eml:function(e){//chk.ctrl.eml
			var o=_gee(e);
			chk.init(o.id);
			return chk.ctrl.kook((isEmail(o.value)),o);
		},
		url:function(e){//chk.ctrl.url
			var o=_gee(e);
			chk.init(o.id);
			return chk.ctrl.kook((isUrl(o.value)),o);
		},
		dt:function(e){//chk.ctrl.dt
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			/*
				Aggiungere possibili controlli:
				se è dataD e c'è dataA allora dataD<dataA
				viceversa o altre cose del genere
			*/
			var bF=false;
			var szId=obj.id;
			if(szId.indexOf("__f")>-1){
				szId=szId.substr(3);
				bF=true;
			}
			if(szId.indexOf("_da")>-1) szId=szId.replace("_da","");
			if(szId.indexOf("_al")>-1) szId=szId.replace("_al","");
			var szData=trim(obj.value);
			var regExpr="";
			regExpr = /^(\d{1,2})[-|.|\/|\s](\d{1,2})[-|.|\/|\s](\d{4})/;
			if(!regExpr.test(szData)){
				obj.value="";
				chk.a.vl=false;
				if(chk.a.nll&&!bF) return chk.ctrl.kook(false,obj);//inpKO(arDt,a,this);
			}else{
				var szData=obj.value.replace(/[\.\-\s]/g, "/");
				var arData=szData.split("/");
				for(var i=0;i<arData.length;i++) if(arData[i].length==1) arData[i]=0+arData[i];
				var iA=arData[2];
				var iG=arData[0];
				szData=iG+"/"+arData[1]+"/"+iA;
				var objData=new Date(iA,arData[1]-1,iG);
				var bRes=(objData.getFullYear()==parseInt(iA,10)&&objData.getMonth()==parseInt(arData[1]-1,10)&&objData.getDate()==parseInt(iG,10));
				if(!bRes){
					if(chk.a.nll) return chk.ctrl.kook(false,obj);//inpKO(arDt,a,this);
					else{ chk.a.vl=false; obj.value="";}
				}else{
					var od;
					var oa;
					var oo;
					var d=false;
					var a=false;
					var bP=false;
					if(obj.id.indexOf("__f")>-1){
						bP=true;
						var ar=obj.id.substr(3).split("_");
						var sffx=ar[2];
						ar.pop();
						switch(sffx){
							case "da":
								oo=oa=_gel("__f"+ar.join("_")+"_al");
								if(oa.value>"") a=oa.value;
								d=szData;
								break;
							case "al":
								oo=od=_gel("__f"+ar.join("_")+"_da");
								if(od.value>"") d=od.value;
								a=szData;
								break;
						}
					}else{
						bP=true;
						if(chk.a.nmDb.indexOf("DataD")>-1){
							oo=oa=_gel(obj.id.replace("DataD","DataA"));
							if(oa.value>"") a=oa.value;
							d=szData;
						}
						if(chk.a.nmDb.indexOf("DataA")>-1){
							oo=od=_gel(obj.id.replace("DataA","DataD"));
							if(od.value>"") d=od.value;
							a=szData;	
						}
					}
					if(bP){
						if(d&&a){
							var gg=dtTm.dtDiff(d,a);
							if(gg<0) return chk.ctrl.kook(false,obj);
							chk.init(oo.id);
							chk.ctrl.kook(true,oo);
						}
						chk.init(obj.id);
						chk.ctrl.kook(true,obj);
					}
					chk.a.vl=obj.value=szData;
				}
			}
			return chk.ctrl.kook(true,obj,chk.arDt,chk.a);//inpOK(arDt,a,this);
		},
		/////////////////////////mod 03/06/11
		tm:function(e){
			var re = /^([0-9]{1,2})(:)?([0-9]{1,2})?(:)?([0-9]{1,2})?$/;
			var o=_gee(e);
			var sz=o.value;
			chk.init(o.id);
			if(!re.test(sz)){
				chk.a.err=true;
				return chk.ctrl.kook(false,o);//inpKO(arDt,a,this);
			}else{
				var ar=[];
				sz=sz.replace(/:/g,"");
				var ar=sz.split("");
				var i=0;
				while(i<6){
					ar[i]=parseInt(ar[i]);
					if(i==0&&ar[i]>2) ar.unshift(0);
					else if(i>0&&i%2==0&&ar[i]>5) ar.splice(i,0,0);
					else i++;
				}
				sz="";
				for(var i=0;i<6;i++){
					sz+=(ar[i])?ar[i].toString():"0";
					if((i>0&&i<5)&&i%2==1) sz+=":";
				}
				chk.a.vl=o.value=sz;
				var od;
				var oa;
				var oo;
				var d=false;
				var a=false;
				var bP=false;
				bP=true;
				if(chk.a.nmDb.indexOf("TimeD")>-1){
					oo=oa=_gel(o.id.replace("TimeD","TimeA"));
					if(oa.value>"") a=oa.value;
					d=sz;
				}
				if(chk.a.nmDb.indexOf("TimeA")>-1){
					oo=od=_gel(o.id.replace("TimeA","TimeD"));
					if(od.value>"") d=od.value;
					a=sz;	
				}
				if(bP){
					if(d&&a){
						var arD=d.split(":");
						var arA=a.split(":");
						var dt=new Date();
						var dD=new Date(new Date(dt.getFullYear(),dt.getMonth(),dt.getDate(),parseInt(arD[0]),parseInt(arD[1]),parseInt(arD[2]),0));
						var dA=new Date(new Date(dt.getFullYear(),dt.getMonth(),dt.getDate(),parseInt(arA[0]),parseInt(arA[1]),parseInt(arA[2]),0));
						if(dD.getTime()>dA.getTime()) return chk.ctrl.kook(false,o);
						chk.init(oo.id);
						chk.ctrl.kook(true,oo);
					}
					chk.init(o.id);
					chk.ctrl.kook(true,o);	
				}
				return chk.ctrl.kook(true,o);//inpOK(arDt,a,this);
			}
		},
		/////////////////////////mod 03/06/11
		srch:function(e){
			var o=_gee(e);
			if(_gel("pppSrch")) return;
			var a=engn.gtCmp(o.id)[1];
			o.value="";
			a.vl=false;
			chk.init(o.id);
			chk.ctrl.kook(false,o);
		},
		nll:function(e){//chk.ctrl.nll
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			return chk.ctrl.kook(!((chk.a.nll&&(chk.a.vl==""||chk.a.vl===false))||chk.a.err),obj);///modifica del 20/12/2010 per il codice fiscale 
		},
		upd:function(e,b){//chk.ctrl.upd
			var obj=(e.id)?e:_gee(e);
			chk.init(obj.id);
			var vl=(obj.id.indexOf("__f")>-1)?"fltr_vl":"vl";
			if(obj.type!="checkbox") chk.a[vl]=obj.value;
			if(obj.id.indexOf("|")>-1){
				var arId=obj.id.split("|");
				var ar=engn.gtCmp(arId[0]+"_"+arId[1].split("_")[1]);
				add.sv(ar[0],ar[1]);
			}
		},
		int:function(e){//chk.ctrl.int
			var o=_gee(e);
			if(!o.value) return;
			chk.init(o.id);
			var i=parseInt(o.value);
			if(chk.a.dt_iMn){
				if(i<parseInt(chk.a.dt_iMn)) return chk.ctrl.kook(false,o);
			}
			if(chk.a.dt_iMx){
				if(i>parseInt(chk.a.dt_iMx)) return chk.ctrl.kook(false,o);
			}
			chk.ctrl.len(o);
		},
		unq:{
			chk:function(e){
				var o=(e.id)?e:_gee(e);
				chk.init(o.id);
				if(!o.value){
					if(!chk.a.nll){
						o.value="";
						chk.ctrl.unq.OK(o.id);
					}
					return;
				}
				if(chk.a.err) return;
				_gel("dt_aux_"+o.id).innerHTML="<img src=\""+szUrlNgn+"imgDef/loader8.gif\" alt=\"\" />";
				var pp="\3"+"0\3"+chk.arDt.tbl+"\3\2";
				pp+=chk.a.nmDb+"\1\1\1"+chk.a.vl+"\1U\1\1S|F|\2";
				var idRc=cmp.gtVl("intID");
				if(!idRc) idRc=(chk.arDt.dt_idRc!==false)?chk.arDt.dt_idRc:"";
				pp+="intID\1\1\1"+idRc+"\1N\1\1S|F|\2";
				pp+="\3"+"1\3\3\3"+o.id+"\3SNC\3\3"+chk.arDt.db+"\3";
				new ajx("GT",pp,false,o.id,false,false,false,false,chk.ctrl.unq.KO,chk.ctrl.unq.OK,false,false);
			},
			OK:function(szId){
				var a=engn.gtCmp(szId)[1];
				_gel("dt_aux_"+szId).innerHTML=a.unqMsgOk;
				if(a.unqFnOk) eval(a.unqFnOk)(true,_gel(szId));
				if(a.fnUnqAftrChk) eval(a.fnUnqAftrChk)(szId,true);
			},
			KO:function(arRec){
				var a=engn.gtCmp(arRec[2])[1];
				_gel("dt_aux_"+arRec[2]).innerHTML=a.unqMsgKo;
				if(a.unqFnKo) eval(a.unqFnKo)(false,_gel(arRec[2]));
				if(a.fnUnqAftrChk) eval(a.fnUnqAftrChk)(arRec[2],false,arRec);
			}
		},
		stUC:function(e){
			var o=_gee(e);
			o.value=o.value.toUpperCase();
		},
		stStrZrFll:function(e){
			var o=_gee(e);
			chk.init(o.id);
			var szV=o.value.toString();
			var i=szV.length;
			while(i<chk.a.lngMx){
				szV="0"+szV;
				i++;
			}
			o.value=chk.a.vl=szV;
		}
	}
}




////////////////////////////////////
//////////////////AJAX//////////////
////////////////////////////////////


function ajx(szAj,pp,szArgs,objId,szMsgNo,bMsg,bLdr,szUrl,fnOK,fnKO,fnSppl,bAlrt){
	var thi=this;
	if(!szMsgNo) szMsgNo="Nessun record";
	if(bLdr){
		var obj=_gel("dAj"+objId);
		if(obj) whtng.cr(obj,true);
	}
	this.isAjax=function(){//GetXmlHttpObject
		try{ thi.xmlHttp=new XMLHttpRequest();}
		catch(e){
			try{ thi.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
			catch(e){ thi.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
		}
		if(thi.xmlHttp==null) return false;//no ajax
		return thi.xmlHttp;
	};//aggiunto ; per il pack
	this.xmlHttp=this.isAjax();
	if(this.xmlHttp==null) return;
	this.ajaxCall=function(szAj,obj,pp,szArgs,szUrl,func){
		ajxBlcc++;
		switch(szAj){
			case "GT":
				if(!szUrl) szUrl="php/ajax.php";
				if(szUrl.indexOf("http://")<0) szUrl=szUrlLcl+szUrl;
				var c=(szUrl.indexOf("?")>-1)?"&":"?";
				if(pp) c+="_ppArgs="+encodeURIComponent(pp);
				if(szArgs) c+=szArgs;
				var url=szUrl+c+"&_nc="+Math.random();
				//alert(url);
				obj.onreadystatechange=func;
				obj.open("GET",url,true);
				obj.send(null);
				break;
			case "PT":
				if(!szUrl) szUrl="php/ajax.php?_nc="+Math.random();
				if(szUrl.indexOf("http://")<0) szUrl=szUrlLcl+szUrl;
				//alert(szUrl);
				obj.onreadystatechange=func;
				obj.open("POST",szUrl,true);
				obj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
				pp=encodeURIComponent(pp);
				if(szArgs) pp+=szArgs;
				obj.send("_ppArgs="+pp);
				break;
		}
	};//aggiunto ; per il pack
	this.ajaxCall(szAj,this.xmlHttp,pp,szArgs,szUrl,function(){
		if(thi.xmlHttp.readyState==4){//&&thi.xmlHttp.status==200
			ajxBlcc--;
			if(bAlrt) alert(thi.xmlHttp.responseText);
			var arRec=[];
			var arRes=[];
			var ar4=ppArr(thi.xmlHttp.responseText,"\4");
			if(ar4[0]=="KO") arRes="KO";
			else{
				if(ar4[0].indexOf("\7\7\6\7\6\7\7")<0) arRes=ar4[0];
				else{
					var ar7=ppArr(ar4[0],"\7\7\6\7\6\7\7");
					for(var i=0;i<ar7.length;i++){
						var ar6=ppArr(ar7[i],"\6\6\7\6\7\6\6");
						arRes.push(ar6);
					}
				}
			}
			arRec[0]=arRes;
			arRec[1]=ar4[1];
			arRec[2]=ar4[2];
			arRec[3]=ar4[3];
			if(arRec[0]=="NOSS") engn.NOSS();
			else if(arRec[0].length<2||arRec[0]=="KO"){
				var obj=_gel("dAj"+objId);
				if(obj&&bMsg) obj.innerHTML=szMsgNo;
				if(fnKO) fnKO(objId,arRec[0]);
			}else{
				if(fnOK) eval(fnOK(arRec,fnSppl));
			}
		}
	});
}


////////////////////////////////////
////////////GOOGLE WEATHER//////////
////////////////////////////////////

var gglWthr={
	ajx:function(szAj,pp,szArgs,objId,szMsgNo,bMsg,bLdr,szUrl,fnOK,fnKO,fnSppl,szCtt,szLng){
		if(!szAj) szAj="GT";
		if(!szCtt) szCtt="Albenga";
		if(!szLng) szLng="it";
		if(!szUrl) szUrl="php/gwthr.php";
		if(!fnOK) fnOK=gglWthr.OK;
		if(!fnKO) fnKO=gglWthr.KO;
		szArgs=(!szArgs)?"weather="+szCtt+"&hl="+szLng:"weather="+szCtt+",italy&hl="+szLng+"&"+szArgs;
		szArgs+="&idObj=dAj"+objId;
		new ajx(szAj,false,szArgs,objId,szMsgNo,bMsg,bLdr,szUrl,fnOK,fnKO,fnSppl);
	},
	OK:function(a){
		var sz="";
		var ar=a[0][0][0].split("/");
		var d=new Date();
		d=d.getHours();
		var n=(d>5&&d<19)?"":"_night";
		ar=ar[ar.length-1].split(".");
		var szImg=ar[0]+n+".png";
		sz+="<div id=\"gWthrF\">";
			sz+="<img src=\""+szUrlNgn+"imgDef/gwthr/"+szImg+"\" alt=\""+a[0][0][2]+"\" />";
			sz+="<div class=\"gWthrFD\"></div>";
				sz+="<div id=\"gWthrF_t\">"+a[0][0][1]+"</div>";
				sz+="<div id=\"gWthrF_c\">"+a[0][0][2]+"<br />"+a[0][0][3]+"<br />"+a[0][0][4]+"</div>";
			sz+="</div>";
			sz+="<div class=\"dClr\"></div>";
		sz+="</div>";
		for(var i=2;i<a[0].length;i++){
			sz+="<div class=\"gWthrM\">";
				sz+="<div class=\"gWthrM_d\">"+a[0][i][1]+"</div>";
				ar=a[0][i][0].split("/");
				ar=ar[ar.length-1].split(".");
				szImg=ar[0]+n+".png";
				sz+="<img src=\""+szUrlNgn+"imgDef/gwthr/"+szImg+"\" alt=\""+a[0][i][3]+"\" />";
				if(a[0][i][2]) sz+="<div class=\"gWthrM_t\">"+a[0][i][2]+"</div>";
			sz+="</div>";
		}
		sz+="<div class=\"dClr\"></div>";
		var o=_gel(a[2]);
		if(o) o.innerHTML=sz;
	},
	KO:function(id){
		var o=_gel(id);
		if(o) o.innerHTML="";
	}
}


var enlrg={
	iKCrr:false,
	arFt:[],
	sFt:function(src,szDescr){
		this.szDescr=szDescr;
		this.src=src;
		this.bLd=0;
		enlrg.prld.q_img([src]);
	},
	vw:function(src){
		addEvent(whtng.cr(false,true),"click",enlrg.cls,false);
		engn.iKCrr=arGetKey(enlrg.arFt,"src",src);
		if(engn.iKCrr===false) return;
		if(enlrg.arFt[engn.iKCrr].bLd) enlrg.op(src);
		else enlrg.prld.q_img([src]);
	},
	op:function(src){
		engn.iKCrr=arGetKey(enlrg.arFt,"src",src);
		var pImg=new Image;
		pImg.src=src;
		var w=pImg.width;
		var h=pImg.height;
		var o=_gel("enlrg");
		if(o) _rel(o);
		//if(!o) o=_cel("div");
		o=_cel("div");
		o.style.width=w+"px";
		o.style.height=h+"px";
		o.id="enlrg";
		_ael(pImg,o);
		//alert(enlrg.arFt[engn.iKCrr].szDescr);
		if(enlrg.arFt[engn.iKCrr].szDescr>""){
			var oD=_cel("div");
			oD.style.padding=+"4px";
			oD.style.width=w+"px";
			oD.id="enlrgTxt";
			oD.innerHTML=enlrg.arFt[engn.iKCrr].szDescr;
			_ael(oD,o);
		}
		var oc=_cel("div");
		oc.style.width=w+"px";
		oc.style.height=h+"px";
		oc.id="enlrgC";
		_ael(oc,o);
		if(enlrg.arFt.length>1){
			var oL=_cel("div");
			oL.style.width=(w/2)+"px";
			oL.style.height=h+"px";
			oL.id="enlrgL";
			addEvent(oL,"click",enlrg.prv,false);
			_ael(oL,o);
			var oR=_cel("div");
			oR.style.width=(w/2)+"px";
			oR.style.height=h+"px";
			oR.id="enlrgR";
			addEvent(oR,"click",enlrg.nxt,false);
			_ael(oR,o);
		}
		var oT=_cel("div");
		oT.style.width=w+"px";
		h=(h/3<100)?100:h/3;
		oT.style.height=h+"px";
		oT.id="enlrgT";
		addEvent(oT,"click",enlrg.cls,false);
		_ael(oT,o);
		cntrObj(o,pImg.width,pImg.height);
		stAlph(o,0);
		_ael(o);
		gstFdd(o,260,1);
	},
	clr:function(){
		_rel(_gel("enlrgL"));
		_rel(_gel("enlrgR"));
		_rel(_gel("enlrgT"));
	},
	nxt:function(){
		var i=enlrg.iKCrr+1;
		if(!enlrg.arFt[i]) i=0;
		enlrg.clr();
		whtng.cr(_gel("enlrgC"),true);
		enlrg.chg(i);
	},
	prv:function(){
		var i=enlrg.iKCrr-1;
		if(!enlrg.arFt[i]) i=enlrg.arFt.length-1;
		enlrg.clr();
		whtng.cr(_gel("enlrgC"),true);
		enlrg.chg(i);
	},
	chg:function(iK){
		enlrg.iKCrr=iK;
		if(enlrg.arFt[iK].bLd) enlrg.chgOk(enlrg.arFt[iK].src);
		else{
			enlrg.prld.lddFnS=enlrg.chgOk;
			enlrg.prld.q_img([enlrg.arFt[iK].src]);
		}
	},
	chgOk:function(src){
		enlrg.prld.lddFnS=false;
		var pImg=new Image;
		pImg.src=src;
		var w=pImg.width;
		var h=pImg.height;
		gstRsz(_gel("enlrg"),w,h,false,false,true);
		_rel(_gel("enlrgC"));
		enlrg.op(src);
	},
	cls:function(){
		var o=_gel("enlrg");
		if(!o) return;
		_rel(o);
		whtng.rm(document.body);
	},
	prld:{
		iNumImg:0,
		iNumLdd:0,
		lddFnS:false,
		onComplete:function(){
		},
		onLoaded:function(src){
			var iK=arGetKey(enlrg.arFt,"src",src);
			if(iK===false) return;
			enlrg.arFt[iK].bLd=1;
			if(enlrg.prld.lddFnS) (enlrg.prld.lddFnS)(src);
		},
		crrImgLdd:"",
		arImg:[],
		arImgInc:[],
		q_img:function(ar){
			var thi=enlrg.prld;
			thi.iNumLdd=0;
			thi.arImg=[];
			thi.iNumImg=ar.length;
			thi.arImgInc=ar;
			thi.p_q();
		},
		p_q:function(){
			enlrg.prld.l_img(enlrg.prld.arImgInc.shift());
		},
		l_img:function(src){
			var thi=enlrg.prld;
			var pImg=new Image;
			pImg.onload=function(){
				thi.crrImgLdd=pImg;
				thi.arImg.push(pImg);
				thi.iNumLdd+=1;
				(thi.onLoaded)(src);
				if(thi.iNumImg==thi.iNumLdd) (thi.onComplete)(); 
				else thi.p_q();
			};
			pImg.src=src;
		}
	}
}


var vdo={
	shw:function(id){
		var regExpr=/^[a-zA-Z0-9_\-\.]{11}$/;
		if(!regExpr.test(id)) return;
		addEvent(whtng.cr(),"click",vdo.cls,false);
		var o=_cel("div");
		o.id="vdo";
		o.className="vdo";
		var url="http://www.youtube.com/v/"+id+"?autoplay=1&rel=0";
		o.innerHTML='<object width="640" height="390" onclick="noPropag(event);"><param name="movie" value="'+url+'" onclick="noPropag(event);"></param><param name="allowFullScreen" value="true"></param></param><param name="allowscriptaccess" value="always"></param><embed src="'+url+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="390"></embed></object>';
		_ael(o);
		addEvent(o,"click",noPropag,false);
		cntrObj(o,640,390);
	},
	cls:function(){
		_rel(_gel("vdo"));
		whtng.rm();
	}
}

//var geocoder;
//var map;
//var marker;
var gmap={
	geocoder:false,
	map:false,
	marker:false,
	addrCurr:false,
	latLngCurr:false,
	cmp:false,
	id:false,
	idL:false,
	arLL:[44.05831446718728,8.20404052734375],
	defLL:false,
	arMrkrs:[],
	s:function(ind,ind___c,ind___bUpd,num,num___c,num___bUpd,cap,cap___c,cap___bUpd,ctt,ctt___c,ctt___bUpd,prv,prv___c,prv___bUpd,rgn,rgn___c,rgn___bUpd,stt,stt___c,stt___bUpd,ll,ll___c,ll___bUpd){
		this.ind=ind;
		this.ind___c=ind___c;
		this.ind___t="route";
		this.ind___bUpd=ind___bUpd;
		this.num=num;
		this.num___c=num___c;
		this.num___t="street_number";
		this.num___bUpd=num___bUpd;
		this.cap=cap;
		this.cap___c=cap___c;
		this.cap___t="postal_code";
		this.cap___bUpd=cap___bUpd;
		this.ctt=ctt;
		this.ctt___c=ctt___c;
		this.ctt___t="locality,political";
		this.ctt___bUpd=ctt___bUpd;
		this.prv=prv;
		this.prv___c=prv___c;
		this.prv___t="administrative_area_level_2,political";
		this.prv___bUpd=prv___bUpd;
		this.rgn=rgn;
		this.rgn=rgn___c;
		this.rgn___t="administrative_area_level_1,political";
		this.rgn___bUpd=rgn___bUpd;
		this.stt=(stt)?stt:"Italia";
		this.stt___c=stt___c;
		this.stt___t="political";
		this.stt___bUpd=stt___bUpd;
		this.ll=ll;
		this.ll___c=ll___c;
		this.ll___t="latLng";
		this.ll___bUpd=ll___bUpd;
	},
	ar:[],
	init:function(id,bMrkr){
		if(!id) return;
		gmap.defLL=gmap.arLL.join(", ")
		gmap.id=id;
		var idL=id.split("_");
		gmap.idL=idL[idL.length-1];
		gmap.ar=[];
		gmap.ar.push(new gmap.s());
		var ar=ppArr(gmap.cmp.gmap_ppAc,"\2");
		for(var i=0;i<ar.length;i++){
			var a=ppArr(ar[i],"\1");
			gmap.ar[0][a[0]+"___c"]=a[1];
			gmap.ar[0][a[0]+"___bUpd"]=(a[2])?true:false;
		}
		gmap.ar[0]["ll"]=gmap.cmp.vl;
		gmap.geocoder=new google.maps.Geocoder();
		var z=(gmap.ar[0]["ll"])?16:8;
		gmap.shwLL(gmap.ar[0]["ll"],z,bMrkr);
	},
	gtAddrPos:function(pos){
		gmap.geocoder.geocode({'latLng':pos},function(responses){
			if(responses&&responses.length>0) gmap.addrCurr=responses[0].formatted_address;
			else gmap.addrCurr=false;
			var a=responses[0].address_components;
			for(var i=0;i<a.length;i++){
				for(x in gmap.ar[0]){
					if(x=="ll"){
						gmap.ar[0]["ll"]=gmap.latLngCurr;
						var arDt=engn.gtCmp(gmap.ar[0]["ll___c"]+"_"+gmap.idL);
						cmp.stVl(arDt[1],true,false,arDt,gmap.ar[0]["ll"]);
						break;
					}
					if(gmap.ar[0][x]==a[i].types){
						var sz=x.replace("___t","");
						if(!gmap.ar[0][sz+"___c"]) continue;
						if(!gmap.ar[0][sz+"___bUpd"]) continue;
						gmap.ar[0][sz]=a[i].long_name;
						var arDt=engn.gtCmp(gmap.ar[0][sz+"___c"]+"_"+gmap.idL);
						cmp.stVl(arDt[1],true,false,arDt,gmap.ar[0][sz]);
						break;
					}
				}
			}
		});
	},
	stLatLng:function(latLng){
		gmap.latLngCurr=latLng.lat()+', '+latLng.lng();
	},
	gtLL:function(szPos){
		var ar=[];
		if(!szPos) ar=gmap.arLL;
		else ar=szPos.replace(" ","").split(",");
		return new google.maps.LatLng(ar[0],ar[1]);
	},
	shwLL:function(latLng,z,bMrkr){
		if(!z) z=8;
		var arPos=gmap.gtLL(latLng);
		var myOptions={
			zoom:z,
			center:arPos,
			mapTypeId:google.maps.MapTypeId.ROADMAP
		};
		gmap.map=new google.maps.Map(_gel("gmapDrw"+gmap.id),myOptions);
		gmap.mrkr.add(arPos,z,bMrkr);
	},
	updCmp:function(e){
		chk.ctrl.upd(e);
		var o=_gee(e);
		var a=engn.gtCmp(o.id)[1];
		for(x in gmap.ar[0]){
			if(gmap.ar[0][x]!=a.nmDb) continue;
			var szC=x.replace("___c","");
			var szTC=cmp.gtT(a,true,false);
			if(szTC=="combo"){
				var iK=arGetKey(a.cmb,0,a.vl);
				gmap.ar[0][szC]=(iK===false)?"":a.cmb[iK][1];
			}else gmap.ar[0][szC]=a.vl;
			break;
		}
		return o;
	},
	chg:function(e){
		var o=gmap.updCmp(e);
		var a=engn.gtCmp(o.id)[1];
		var bCmp=false;
		var ar=["ll","stt","rgn","prv","ctt","cap","ind","num"];
		for(var i=0;i<ar.length;i++){
			if(gmap.ar[0][ar[i]+"___c"]==a.nmDb) bCmp=true;
			else{
				if(bCmp){
					gmap.ar[0][ar[i]]="";
					var arDt=engn.gtCmp(gmap.ar[0][ar[i]+"___c"]+"_"+gmap.idL);
					cmp.stVl(arDt[1],true,false,arDt,gmap.ar[0][ar[i]]);
				}
			}
		}
		gmap.crA();
	},
	chgLL:function(e){
		var o=gmap.updCmp(e);
		gmap.shwLL(o.value);
		gmap.mrkr.rmAll();
		gmap.mrkr.add(gmap.gtLL(o.value),true);
	},
	crA:function(b){
		for(x in gmap.ar[0]){
			if(x.indexOf("___c")>-1) continue;
			if(x.indexOf("___t")>-1) continue;
			if(!gmap.ar[0][x+"___c"]) continue;
			var a=engn.gtCmp(gmap.ar[0][x+"___c"]+"_"+gmap.idL)[1];
			if(!a) continue;
			var szTc=cmp.gtT(a);
			if(szTc=="combo"){
				var iK=arGetKey(a.cmb,0,a.vl);
				var k=(a.nmDb.indexOf("Prv")>-1)?2:1;
				if(iK!==false) gmap.ar[0][x]=a.cmb[iK][k];
			}else gmap.ar[0][x]=a.vl;
		}
		var szA="";
		var z=0;
		if(gmap.ar[0]["ind"]){
			z+=2;
			szA=gmap.ar[0]["ind"]+", ";
		}
		if(gmap.ar[0]["num"]){
			//z+=1;
			szA+=gmap.ar[0]["num"]+", ";
		}
		if(gmap.ar[0]["cap"]){
			//z+=3;
			szA+=gmap.ar[0]["cap"]+" ";
		}
		if(gmap.ar[0]["ctt"]){
			z+=4;
			szA+=gmap.ar[0]["ctt"]+" ";
		}
		if(gmap.ar[0]["prv"]){
			z+=3;
			szA+=gmap.ar[0]["prv"]+", ";
		}
		if(gmap.ar[0]["rgn"]){
			z+=2;
			szA+=gmap.ar[0]["rgn"]+", ";
		}
		if(gmap.ar[0]["stt"]){
			z+=5;
			szA+=gmap.ar[0]["stt"];
		}
		if(szA>""&&!b) gmap.shw(szA,z,true);
	},
	mrkr:{
		s:function(mrkr,id,bNfo,fnNfo,arNfo,bNfoShw,fnNfoCls){
			this.mrkr=mrkr;
			this.id=id;
			this.bNfo=bNfo;
			this.fnNfo=fnNfo;
			this.arNfo=arNfo;
			this.bNfoShw=bNfoShw;
			this.fnNfoCls=fnNfoCls;
		},
		add:function(pos,z,bDrg,szTtl,bNfo,fnNfo,arNfo,arImg,arShd,fnNfoCls){
			if(!z) z=10;
			gmap.map.setZoom(z);
			gmap.map.setCenter(pos);
			szTtl=(szTtl)?szTtl:"";
			var a=new google.maps.Marker({
					map:gmap.map,
					position:pos,
					title:szTtl,
					icon:gmap.mrkr.img(arImg),
					shadow:gmap.mrkr.shd(arShd),
					draggable:bDrg
					});
			gmap.arMrkrs.push(new gmap.mrkr.s(a,a.__gm_id,bNfo,fnNfo,arNfo,false,fnNfoCls));
			var mrkr=gmap.arMrkrs[gmap.arMrkrs.length-1].mrkr;
			if(bDrg){
				google.maps.event.addListener(mrkr,'dragstart',function(){
				});
				google.maps.event.addListener(mrkr,'drag',function(){
					gmap.stLatLng(mrkr.getPosition());
				});
				google.maps.event.addListener(mrkr,'dragend',function(){
					gmap.gtAddrPos(mrkr.getPosition());
					gmap.stLatLng(mrkr.getPosition());
				});
			}
			if(bNfo){
				google.maps.event.addListener(mrkr,'click',function(){
					gmap.mrkr.nfo.op(gmap.map,mrkr);
				});
			}
			return mrkr;
		},
		rmAll:function(){
			for(i in gmap.arMrkrs) gmap.arMrkrs[i].mrkr.setMap(null);
		},
		nfo:{
			idOpnd:false,
			nfo:false,
			op:function(map,mrkr){
				gmap.mrkr.nfo.idOpnd=mrkr.__gm_id;
				var iK=arGetKey(gmap.arMrkrs,"id",mrkr.__gm_id);
				if(iK===false) return;
				if(gmap.arMrkrs[iK].bNfoShw) return;
				gmap.arMrkrs[iK].bNfoShw=true;
				gmap.mrkr.nfo.nfo=new google.maps.InfoWindow({
					content:gmap.arMrkrs[iK].fnNfo(gmap.arMrkrs[iK].arNfo)
				});
				google.maps.event.addListener(gmap.mrkr.nfo.nfo,'closeclick',gmap.mrkr.nfo.cls);
				gmap.mrkr.nfo.nfo.open(gmap.map,mrkr);
			},
			cls:function(){
				if(!gmap.mrkr.nfo.idOpnd) return;
				var iK=arGetKey(gmap.arMrkrs,"id",gmap.mrkr.nfo.idOpnd);
				gmap.mrkr.nfo.idOpnd=false;
				if(iK===false) return;
				gmap.arMrkrs[iK].bNfoShw=false;
				if(gmap.arMrkrs[iK].fnNfoCls) gmap.arMrkrs[iK].fnNfoCls(gmap.arMrkrs[iK].mrkr.__gm_id,iK);
			}
		},
		img:function(arImg){
			if(!arImg) return;
			if(!arImg[5]&&arImg[5]!=0) arImg[5]=arImg[1];
			if(!arImg[6]&&arImg[6]!=0) arImg[6]=arImg[2];
			return new google.maps.MarkerImage(arImg[0],
			// This marker is 20 pixels wide by 32 pixels tall.
			new google.maps.Size(arImg[1],arImg[2]),
			// The origin for this image is 0,0.
			new google.maps.Point(arImg[3],arImg[4]),
			// The anchor for this image is the base of the flagpole at 0,32.
			new google.maps.Point(arImg[5],arImg[6]));
		},
		shd:function(arShd){
			if(!arShd) return;
			if(!arShd[5]&&arShd[5]!=0) arShd[5]=arShd[1];
			if(!arShd[6]&&arShd[6]!=0) arShd[6]=arShd[2];
			return new google.maps.MarkerImage(arShd[0],
			new google.maps.Size(arShd[1],arShd[2]),
			new google.maps.Point(arShd[3],arShd[4]),
			new google.maps.Point(arShd[5],arShd[6]));
		}
	},
	shw:function(szA,z,bMrkr){
		gmap.mrkr.rmAll();
		gmap.geocoder.geocode({'address':szA,'language':'it'},function(results,status){
			if(status==google.maps.GeocoderStatus.OK){
				if(bMrkr){
					var mrkr=gmap.mrkr.add(results[0].geometry.location,z,true);
					gmap.gtAddrPos(mrkr.getPosition());
					gmap.stLatLng(mrkr.getPosition());
				}
			}else{
				alrt.crErr("Errore nel posizionamento sulla mappa: " + status);//,szClss,arOK,arKO
			}
		});
	},
	sv:function(){
		return gmap.ar[0]["ll"];
	}
}


var addRec={
	arCmpCll:false,
	idCmpRif:false,
	sffx:false,
	szFnSv:false,
	szFnSvOk:false,
	szFnAftrSvA:false,
	szFnAftrSvB:false,
	fnCl:false,
	sCmpCll:function(idCmp,vl,bPpCheck){
		this.idCmp=idCmp;
		this.vl=vl;
		this.bPpCheck=bPpCheck;
	},
	clr:function(){
		addRec.idCmpRif=false;
		addRec.sffx=false;
		addRec.arCmpCll=false;
		addRec.szFnSv=false;
		addRec.szFnSvOk=false;
		addRec.szFnAftrSvA=false;
		addRec.szFnAftrSvB=false;
		addRec.fnCl=false;
	},
	rd:function(e,fnCllr,idCmp){
		if(idCmp){
			id=idCmp;
		}else{
			var o=_gee(e);
			var id=o.id.split("_");
			id.shift();
			id=id.join("_");
		}
		var ar=engn.gtCmp(id);
		var a=ar[1];
		var arCmpCll=[];
		var arErr=[];
		var idCmpRif=id.split("_");
		idCmpRif.pop();
		idCmpRif=idCmpRif.join("_");
		for(var i=ar[0].arCmp.length-1;i>=0;i--){
			var aC=ar[0].arCmp[i];
			var c=aC.idCmpRld;
			if(c){
				if(c.indexOf(",")>-1) c=c.split(",").join("_");
				else c="|"+c+"|";
				if(ppSrch(c,idCmpRif)){
					idCmpRif=aC.nmDb;
					if(!aC.vl) arErr.push(aC.nmDb+"_"+ar[0].id);
					var sz=idCmpRif;
					var bPp=false;
					if(cmp.gtT(aC)=="ppCheck"){
						sz=sz.replace(/^pp/,"id");
						bPp=true;
					}
					arCmpCll.push(new addRec.sCmpCll(sz,aC.vl,bPp));
				}
			}
		}
		if(arErr.length>0){
			for(var i=0;i<arErr.length;i++){
				chk.init(arErr[i]);
				chk.ctrl.kook(false,_gel(arErr[i]));
			}
			return;
		}
		addRec.arCmpCll=arCmpCll;
		addRec.idCmpRif=id;
		var ar6=ppArr(a.jn,"\6");
		var ar=ar6[1].substr(3).split("");
		ar[0]=ar[0].toLowerCase();
		var sffx=ar.join("");
		addRec.sffx=sffx;
		strct.fnCllr=(fnCllr)?fnCllr:addRec.op.ppp;
		strct.rd(sffx,false);
		whtng.cr(false,true);
	},
	op:{
		ppp:function(sffx,szLbl){
			if(!szLbl) szLbl="Nuovo";
			var o=_cel("div");
			var aD=areaDoc();
			var iH=parseInt(aD[1]/1.8);
			var id="pppAddRec";
			o.className=id;
			id+="_"+sffx;
			o.id=id;
			o.style.height=iH+"px";
			if(!_isIE) stAlph(o,0);
			var iK=engn.gtIkSffx(sffx);
			//alert(iK);
			var arL=arMain[iK];
			var objTit=_cel("div");
			objTit.className=arL.dt_cDT;
			var objMT=_cel("div");
			objMT.className=arL.dt_cDMT;
			var sz=(arL.lst_tit)?arL.lst_tit:arL.mn_lbl;
			sz="<span class=\""+arL.dt_cDtblNm+"\" >"+sz+"</span>";
			sz+="<span class=\""+arL.dt_cDtblMd+"\" >"+szLbl+"</span>";
			objMT.innerHTML=sz;
			_ael(objMT,objTit);
			_ael(engn.crDClr(),objTit);
			_ael(objTit,o);
			//engn.shwStrct(arMain);
			var ar=engn.gtCmp(addRec.idCmpRif);
			var a=ar[1];
			var op=_cel("div");
			op.className=op.id="pppAddRecPdd";
			_ael(op,o);
			_ael(o);
			cntrObj(o,600,iH,_gel());
			for(var i=0;i<arMain[iK].arCmp.length;i++){
				var aC=arMain[iK].arCmp[i];
				for(var j=0;j<addRec.arCmpCll.length;j++){
					if(addRec.arCmpCll[j].idCmp!=aC.nmDb) continue;
					//alert(addRec.arCmpCll[j].vl)
					//engn.shwStrct(addRec.arCmpCll[j])
					aC.nw_prdf=addRec.arCmpCll[j].vl;
					if(!addRec.arCmpCll[j].bPpCheck){
						aC.nw_rdOnl=true;
						aC.nw_rdOnlSv=true;
					}
				}
				aC.nw_bAdd=false;
				aC.dt_bAdd=false;
				if(a.dt_addPpUnqCmp) if(ppSrch(a.dt_addPpUnqCmp,aC.nmDb)) aC.unq=true;
				engn.crMdCmp(arMain[iK],aC,false,op);
			}
			_ael(engn.crDCls(id,(addRec.fnCl)?addRec.fnCl:addRec.cl,"dClsW"),o);
			var objSvCnt=_cel("div");
			objSvCnt.id="dt_sv"+arMain[iK].id;
			objSvCnt.className=arMain[iK].dt_cDSV;
			_ael(engn.crBttAdd("addRec.sv.sv","sv_"+arMain[iK].id,"Salva","dBttSv","dBttSv"),objSvCnt);
			_ael(objSvCnt,op);
			_ael(engn.crDClr(),op);
			whtng.rmLdr();
			if(!_isIE) gstFdd(o,260,1);
		},
		crDt:function(o){
			
			//alert(arMain[iK].id);
			//alert("saasdsa\n\n\n\n"+o.id)
		}
	},
	cl:function(e){
		var o=(e.id)?e:_gee(e);
		var id=o.id;
		var sffx=id.split("_");
		sffx=sffx[sffx.length-1];
		var o=_gel("pppAddRec_"+sffx);
		_rel(_gel("pppSrch"));
		(!_isIE)?gstFdd(o,260,-1,addRec.clRmW):addRec.clRmW(o);
	},
	clRmW:function(o){
		var iK=engn.gtIkSffx(addRec.sffx);
		var l=arMain.length-1;
		for(var i=l;i>=iK;i--) arMain.splice(i,1);
		addRec.clr();
		_rel(o);
		whtng.rm();
	},
	sv:{
		sv:function(id){
			var o=_gel("pppAddRecPdd");
			whtng.cr(o);
			var b=true;
			var f=(addRec.fnSvOk)?addRec.fnSvOk:addRec.sv.OK;
			var fnSv=(addRec.szFnSv)?addRec.szFnSv:sv.sv;
			b=fnSv(id,f,sv.KO);
			if(b===false) whtng.rm(o);
		},
		OK:function(arRec){
			if(addRec.szFnAftrSvA) addRec.szFnAftrSvA(arRec);
			var arMCS=engn.gtCmp(addRec.idCmpRif);
			var a=arMCS[1];
			var szTc=cmp.gtT(a);
			a.vl=arRec[1];
			engn.crCmp(arMCS[0],a,false);
			cmp.cmb.rStId(addRec.idCmpRif);
			addRec.cl(_gel("pppAddRec_"+addRec.sffx));
			sv.b=0;
			alrt.rmT("Dati salvati.","dAlrtOK");
			if(addRec.szFnAftrSvB) addRec.szFnAftrSvB(arRec);
		}
	}
}

/*
function edo(a){
	alert(a);
}


var prnt={
	cr:function(){
		var o=_cel("iframe");
		o.id="stmpFrm";
		_ael(o,stmp.oDt);
		_ael(engn.crBttAdd(szFn,"prnt_"+arMain[0].id,"Stampa","dBttStmp","dBttStmp"),stmp.oDt);
	}
}
*/
var mml={
	cr:function(e,s){
		if(!s) s=false;
		addRec.arCmpCll=s;
		addRec.idCmpRif="intID";
		var sffx="mmlSnd";
		addRec.sffx=sffx;
		strct.fnCllr=addRec.op.ppp;
		strct.rd(sffx,false);
		whtng.cr(false,true);
	},
	scta:{
		chg:function(e){
			var o=_gee(e);
			var aM=engn.gtCmp(o.id)[0];
			mml.msg.gt("idScta_"+aM.id,true);
			var a=engn.gtCmp("ppDest_"+aM.id)[1];
			//if(a.vl.indexOf("\6\5id_Cln\5")>-1) return;
			mml.dst.gt("idScta_"+aM.id,true);
			
			//a=engn.gtCmp("idMmlTpt_"+aM.id)[1];
			//engn.crCmp(aM,a,false,true);
			
			//alert(a.vl+"\n"+o.id);
			
			/*
			var o=_gee(e);
			var a=engn.gtCmp(o.id);
			var aM=a[0];
			a=engn.gtCmp("idMmlTpt_"+aM.id)[1];
			engn.crCmp(aM,a,false,true);
			*/
		}
	},
	dst:{
		gt:function(szId){
			var a=engn.gtCmp(szId);
			var aM=a[0];
			a=a[1];
			szId="ppDest_"+aM.id;
			if(aM.id==0){
				if(!a.vl) return;
				if(a.vl.indexOf("\21")>-1){
					var sz=a.vl.split("\21")[1];
					_gel("dAj"+szId).innerHTML=sz;
					return;
				}
				//return;
			}
			var pp="\3"+"0\3tblGrm\3\2";
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="txtQry\1\1\1\1\1\1S\2";
				pp+="idScta\1\1\1"+a.vl+"\1\1\1|F\2";
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"100\3\3\3"+szId+"\3SNC\3"+szId+"\3\3\3"+"1\3";
			new ajx("GT",pp,false,szId,"Nessun gruppo clienti",true,true,false,mml.dst.ok,mml.dst.ko,false,false);
		},
		ok:function(arRec){
			/*
			var a=engn.gtCmp(arRec[2]);
			var aM=a[0];
			a=a[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.cmb.push(a.nw_prdf);
			a.vl=a.nw_prdf[2];
			cmp.cmb.cr(a,a.cmb,arRec[2],a.nw_prdf[0],true);
			*/
			var a=engn.gtCmp(arRec[2]);
			var aM=a[0];
			a=a[1];
			cmp.aj.crCmb(a,arRec[0]);
			var vl=false;
			if(a.nw_prdf){
				a.cmb.push(a.nw_prdf);
				a.vl=a.nw_prdf[2];
				vl=a.nw_prdf[0];
			}
			cmp.cmb.cr(a,a.cmb,arRec[2],vl,true);
			//cmp.cmb.crCmb("dAj"+arRec[2],arRec[2],a.ajCmb,a.nw_prdf[0],true,false,cmp.cmb.st);
		},
		ko:function(szId){
			return;
		},
		lst:function(szVl){
			return szVl.split("\21")[1];
		}
		/*
		gt:function(szId){
			//alert(szId);
			var a=engn.gtCmp(szId);
			var aM=a[0];
			a=a[1];
			szId="ppDest_"+aM.id;
			//var aD=engn.gtCmp(szId)[1];
			var bLdGrpp=false;
			if(aM.id==0){
				//if(!a.vl){
				//	//devo eliminare il combo dei gruppi
				//	return;
				//}
				if(a.vl){
					if(a.vl.indexOf("\21")>-1){
						var sz=a.vl.split("\21")[1];
						_gel("dAj"+szId).innerHTML=sz;
						return;
					}else{
						if(a.nmDb=="ppDest") bLdGrpp=true;
					}
				}
			}
			var fnOk=mml.dst.ok
			var pp="\3"+"0\3tblGrm\3\2";
			if(bLdGrpp){
				pp+="intID\1\1\1"+a.vl+"\1\1\1S|F\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="txtQry\1\1\1\1\1\1S\2";
				fnOk=mml.dst.grppOk;
			}else{
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="txtQry\1\1\1\1\1\1S\2";
				pp+="idScta\1\1\1"+a.vl+"\1\1\1|F\2";
			}
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"100\3\3\3"+szId+"\3SNC\3"+szId+"\3\3\3"+"1\3";
			new ajx("GT",pp,false,szId,"Nessun gruppo clienti",true,true,false,fnOk,mml.dst.ko,false,false);
		},
		ok:function(arRec){
			var a=engn.gtCmp(arRec[2]);
			var aM=a[0];
			a=a[1];
			cmp.aj.crCmb(a,arRec[0]);
			var vl=false;
			if(a.nw_prdf){
				a.cmb.push(a.nw_prdf);
				a.vl=a.nw_prdf[2];
				vl=a.nw_prdf[0];
			}
			cmp.cmb.cr(a,a.cmb,arRec[2],vl,true);
			//cmp.cmb.crCmb("dAj"+arRec[2],arRec[2],a.ajCmb,a.nw_prdf[0],true,false,cmp.cmb.st);
		},
		ko:function(szId){
			return;
			var o=_cel("div");
			o.className="dAlrtKO";
			o.innerHTML="Si &egrave; verificato un errore";
			_ael(o,_gel("dAj"+szId));
		},
		grppOk:function(arRec){
			
		}
		*/
	},
	msg:{
		gt:function(szId){
			var a=engn.gtCmp(szId);
			var aM=a[0];
			a=a[1];
			
			//if(aM.id==0) alert("uff");
			
			szId="idMml_"+aM.id;
			var pp="\3"+"0\3tblMml\3\2";
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="ppTxtAdd\1\1\1\1\1\1S\2";
				pp+="idScta\1\1\1"+a.vl+"\1\1\1|F\2";
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"100\3\3\3"+szId+"\3SNC\3"+szId+"\3\3\3"+"1\3";
			new ajx("GT",pp,false,szId,"Nessuna messaggio predefinito",true,true,false,mml.msg.ok,mml.msg.ko,false,false);
		},
		ok:function(arRec){
			var a=engn.gtCmp(arRec[2])[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.cmb.unshift([0,"Nuovo",false]);
			cmp.cmb.cr(a,a.cmb,arRec[2],false,false);
			//cmp.cmb.crCmb("dAj"+arRec[2],arRec[2],a.ajCmb,a.nw_prdf[0],true,false,cmp.cmb.st);
		},
		ko:function(szId){
			return;
			var o=_cel("div");
			o.className="dAlrtKO";
			o.innerHTML="Si &egrave; verificato un errore";
			_ael(o,_gel("dAj"+szId));
		},
		chg:function(e){
			var o=_gee(e);
			var aM=engn.gtCmp(o.id);
			var aMml=aM[1];
			aM=aM[0];
			var id="strNm_"+aM.id;
			var oO=_gel(id);
			var aO=engn.gtCmp(id)[1];
			id="ppTxtAdd_"+aM.id;
			var oT=_gel(id);
			var aT=engn.gtCmp(id)[1];
			var iK=arGetKey(aMml.cmb,0,o.value);
			aO.vl=aT.vl=false;
			oO.value="";
			add.clr(id);
			if(o.value=="") return;
			oO.value=aO.vl=aMml.cmb[iK][1];
			aT.vl=aMml.cmb[iK][2];
			add.rd(aM,aT);
		}
	},
	sv:function(id){
		var ar=sv.chk(id);
		if(ar[0]) return;
		if(!arMain[0].dt_idRc){
			var a=engn.gtCmp("dDataEmail_0")[1];
			a.vl=dtTm.dtPrnt(a.vl);
			var a=engn.gtCmp("ppDest_0")[1];
			var iK=arGetKey(a.cmb,0,a.vl);
			a.vl=a.cmb[iK][2]+"\21"+a.cmb[iK][1];
		}
		sv.sv(id);
	}
}


var sms={
	cr:function(e,s){
		if(!s) s=false;
		addRec.arCmpCll=s;
		addRec.idCmpRif="intID";
		var sffx="smsSnd";
		addRec.sffx=sffx;
		strct.fnCllr=addRec.op.ppp;
		strct.rd(sffx,false);
		whtng.cr(false,true);
	},
	scta:{
		chg:function(e){
			var o=_gee(e);
			var aM=engn.gtCmp(o.id)[0];
			sms.msg.gt("idScta_"+aM.id,true);
			var a=engn.gtCmp("ppDest_"+aM.id)[1];
			//if(a.vl.indexOf("\6\5idCln\5")>-1) return;
			sms.dst.gt("idScta_"+aM.id,true);
		}
	},
	dst:{
		gt:function(szId){
			var a=engn.gtCmp(szId);
			var aM=a[0];
			a=a[1];
			szId="ppDest_"+aM.id;
			if(aM.id==0){
				if(!a.vl) return;
				if(a.vl.indexOf("\21")>-1){
					var sz=a.vl.split("\21")[1];
					_gel("dAj"+szId).innerHTML=sz;
					return;
				}
				//return;
			}
			var pp="\3"+"0\3tblGrm\3\2";
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="txtQry\1\1\1\1\1\1S\2";
				pp+="idScta\1\1\1"+a.vl+"\1\1\1|F\2";
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"100\3\3\3"+szId+"\3SNC\3"+szId+"\3\3\3"+"1\3";
			new ajx("GT",pp,false,szId,"Nessun gruppo clienti",true,true,false,mml.dst.ok,mml.dst.ko,false,false);
		},
		ok:function(arRec){
			var a=engn.gtCmp(arRec[2]);
			var aM=a[0];
			a=a[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.cmb.push(a.nw_prdf);
			a.vl=a.nw_prdf[2];
			cmp.cmb.cr(a,a.cmb,arRec[2],a.nw_prdf[0],true);
			//cmp.cmb.crCmb("dAj"+arRec[2],arRec[2],a.ajCmb,a.nw_prdf[0],true,false,cmp.cmb.st);
		},
		ko:function(szId){
			return;
			var o=_cel("div");
			o.className="dAlrtKO";
			o.innerHTML="Si &egrave; verificato un errore";
			_ael(o,_gel("dAj"+szId));
		}
	},
	msg:{
		gt:function(szId){
			var a=engn.gtCmp(szId);
			var aM=a[0];
			a=a[1];
			
			//if(aM.id==0) alert("uff");
			
			szId="idSms_"+aM.id;
			var pp="\3"+"0\3tblSms\3\2";
				pp+="intID\1\1\1\1\1\1S\2";
				pp+="strNm\1\1\1\1\1\1S\2";
				pp+="strSms\1\1\1\1\1\1S\2";
				pp+="idScta\1\1\1"+a.vl+"\1\1\1|F\2";
				pp+="bDel\1\1\1"+"0\1\1\1|F\2";
			pp+="\3"+"100\3\3\3"+szId+"\3SNC\3"+szId+"\3\3\3"+"1\3";
			new ajx("GT",pp,false,szId,"Nessuna messaggio predefinito",true,true,false,mml.msg.ok,mml.msg.ko,false,false);
		},
		ok:function(arRec){
			var a=engn.gtCmp(arRec[2])[1];
			cmp.aj.crCmb(a,arRec[0]);
			a.cmb.unshift([0,"Nuovo",false]);
			cmp.cmb.cr(a,a.cmb,arRec[2],false,false);
			//cmp.cmb.crCmb("dAj"+arRec[2],arRec[2],a.ajCmb,a.nw_prdf[0],true,false,cmp.cmb.st);
		},
		ko:function(szId){
			return;
			var o=_cel("div");
			o.className="dAlrtKO";
			o.innerHTML="Si &egrave; verificato un errore";
			_ael(o,_gel("dAj"+szId));
		},
		chg:function(e){
			var o=_gee(e);
			var aM=engn.gtCmp(o.id);
			var aSms=aM[1];
			aM=aM[0];
			var id="strNm_"+aM.id;
			var oO=_gel(id);
			var aO=engn.gtCmp(id)[1];
			id="strSms_"+aM.id;
			var oT=_gel(id);
			var aT=engn.gtCmp(id)[1];
			var iK=arGetKey(aSms.cmb,0,o.value);
			aO.vl=aT.vl=false;
			oO.value="";
			//add.clr(id);
			if(o.value=="") return;
			oO.value=aO.vl=aSms.cmb[iK][1];
			oT.value=aT.vl=aSms.cmb[iK][2];
			//add.rd(aM,aT);
		}
	},
	sv:function(id){
		//alert("sms.sv");
		var ar=sv.chk(id);
		if(ar[0]) return;
		if(!arMain[0].dt_idRc){
			var a=engn.gtCmp("dDataSms_0")[1];
			a.vl=dtTm.dtPrnt(a.vl);
			var a=engn.gtCmp("ppDest_0")[1];
			var iK=arGetKey(a.cmb,0,a.vl);
			a.vl=a.cmb[iK][2]+"\21"+a.cmb[iK][1];
		}
		sv.sv(id);
	}
}


var chrts={
	dw:[[1,"Domenica","Dom","D"],[2,"Lunedi'","Lun","L"],[3,"Martedi'","Mar","M"],[4,"Mercoledi'","Mer","M"],[5,"Giovedi'","Gio","G"],[6,"Venerdi'","Ven","V"],[7,"Sabato","Sab","S"]],
	m:[[1,"Gennaio","Gen"],[2,"Febbraio'","Feb"],[3,"Marzo'","Mar"],[4,"Aprile'","Apr"],[5,"Maggio'","Mag"],[6,"Giugno'","Giu"],[7,"Luglio","Lug"],[8,"Agosto","Ago"],[9,"Settembre","Set"],[10,"Ottobre","Ott"],[11,"Novembre","Nov"],[12,"Dicembre","Dic"]],
	lnTmp:function(arRec,gg){
		var ar=[];
		var k=arRec[0].length;
		for(i=1;i<k;i++){
			var arDW=chrts.dw[arGetKey(chrts.dw,0,parseInt(arRec[0][i][3]))];
			var arM=chrts.m[arGetKey(chrts.m,0,parseInt(arRec[0][i][2]))];
			var szP="";
			if(gg<=20) szP=arDW[2]+" "+arRec[0][i][4];
			else if(gg<=31) szP=arDW[(k<=10)?1:3]+arRec[0][i][4];
			else if(gg>31&&gg<=731) szP=arM[(k<=10)?1:2]+" "+arRec[0][i][1];
			else szP="Anno "+arRec[0][i][1];
			ar.push({"qt":arRec[0][i][0],"Y":arRec[0][i][1],"M":arRec[0][i][2],"DW":arRec[0][i][3],"DM":arRec[0][i][4],"szP":szP,"arDW":arDW,"arM":arM});
		}
		return ar;
	}
}

var svg={
	nw:function(id,szT,iW,iH,iCW,iCH){
		var o=document.createElementNS("http://www.w3.org/2000/svg",(!szT)?"svg:svg":szT);
		o.setAttribute("id",id);
		o.setAttribute("width",iW);
		o.setAttribute("height",iH);
		// Set the coordinates used by drawings in the canvas
		if(iCW&&iCH) o.setAttribute("viewBox","0 0 "+iCW+" "+iCH);
		// Define the XLink namespace that SVG uses
		if(!szT) o.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink");
		return o;
	},
	clc:{
		mm:function(arX,arY,arAUG,iMrgn,b){
			var iMx=0;
			var iMn=0;
			for(var i=0;i<arY.length;i++){
				var iV=parseInt(arY[i][0]);
				if(i==0){
					iMx=iV;
					iMn=iV;
				}
				if(iV>iMx) iMx=iV;
				if(iV<iMn) iMn=iV;
			}
			var iPcP=0;
			var iPcN=0;
			var iMH=0;
			var arMM=[iMx,iMn];
			var iL=(b)?arX.length-1:arX.length;
			var iStpX=arAUG[0]/iL;//var iStpX=arAUG[0]/arX.length;
			var iStpY=arAUG[1]/20;
			var iAssX=arAUG[1]/2;
			if(arMM[0]>0){
				if(arMM[1]>=0){
					iMH=arMM[0];
					iPcP=100;
				}else{
					iMH=arMM[0]-arMM[1];
					iPcP=arMM[0]*100/iMH;
					iPcN=Math.abs(arMM[1]*100/iMH);
				}
			}else{
				iMH=-arMM[1];
				iPcN=100;
			}
			iAssX+=((arAUG[1]/2)*iPcP/100);
			iAssX-=((arAUG[1]/2)*iPcN/100);
			iAssX+=2*iMrgn;
			var arMx=arMM[0].toString().split("");
			var arMn=Math.abs(arMM[1]).toString().split("");
			if(arMx.length>1){
				arMx[1]=parseInt(arMx[1])+1;
				if(arMx[1]==10){
					arMx[1]=0;
					arMx[0]=parseInt(arMx[0])+1;
				}
			}else arMx[0]=parseInt(arMx[0])+1;
			if(arMn.length>1){
				arMn[1]=parseInt(arMn[1])+1;
				if(arMn[1]==10){
					arMn[1]=0;
					arMn[0]=parseInt(arMn[0])+1;
				}
			}else arMn[0]=parseInt(arMn[0])+1;
			
			var iMxVR=0;
			if(iPcN>0) iMxVR=parseInt(arMx.join(""))+parseInt(arMn.join(""));
			else iMxVR=parseInt(arMx.join(""));
			var iScl=iMxVR/20;
			var iU=iStpY/iScl;
			return [iMx,iMn,iMxVR,iAssX,iPcP,iPcN,iScl,iStpX,iStpY,iU];
		}
	},
	arClr:["#F7BC9E","#EADCC7","#CAC5E0","#A4D9E7","#B9C575","#FFE091","#EA620D","#F2A8BE","#CDBCA9","#B1A2CB","#00B3D0","#889C51","#FDC943","#DB001B","#E2007A","#99836D","#984E8E","#0094AB","#009036","#F29400","#B50623","#AA0F6F","#7F6E5E","#631D60","#162983","#02562E","#B56904","#77001F"],
	grph:{
		nw:function(id,iW,iH){
			var oSvg=svg.nw(id,false,iW,iH);
			var oCS=document.createElementNS("http://www.w3.org/2000/svg","g");
			oCS.setAttribute("id",id+"_CS");
			oCS.setAttribute("width",iW);
			oCS.setAttribute("height",iH);
			_ael(oCS,oSvg);
			return [oSvg,oCS];
		},
		brrScrll:function(iW,iH,iMrgn,fn,id,bFw){
			var iMr=2;
			var iM=(iMrgn/2)-(2*iMr);
			var o=document.createElementNS("http://www.w3.org/2000/svg","g");
				o.setAttribute("y",0);
			var oS=document.createElementNS("http://www.w3.org/2000/svg","rect");
				oS.setAttribute("width",iMrgn/2);//iMrgn/2
				oS.setAttribute("height",iH);//iH
				oS.setAttribute("y",0);
				oS.setAttribute("fill","#f00");
				oS.setAttribute("fill-opacity","0.5");
			var oF=document.createElementNS("http://www.w3.org/2000/svg","path");
				oF.setAttribute("fill","#f00");
			if(bFw){
				o.setAttribute("x",iMrgn/2);//(bFw)?(iW-iMrgn/2):0
				o.setAttribute("id","fw_"+id);
				oS.setAttribute("x",0);
				oS.setAttribute("id","fw_sf_"+id);
				oF.setAttribute("d","M"+iMr+" "+(iH/2)+" L"+(iM+iMr)+" "+((iH/2)-iM)+" L"+(iM+iMr)+" "+((iH/2)+iM)+" Z");
				oF.setAttribute("id","fw_sf_"+id);
			}else{
				o.setAttribute("x",iW-iMrgn/2);//(bFw)?(iW-iMrgn/2):0
				o.setAttribute("id","rw_"+id);
				oS.setAttribute("x",iW-iMrgn/2);
				oS.setAttribute("id","rw_sf_"+id);
				oF.setAttribute("d","M"+iMr+" "+(iH/2)+" L"+(iM+iMr)+" "+((iH/2)-iM)+" L"+(iM+iMr)+" "+((iH/2)+iM)+" Z");
				oF.setAttribute("id","rw_sf_"+id);
			}
			_ael(oS,o);
			_ael(oF,o);
			return o;
		},
		lbl:function(ar,id,iW){
			iW-=110;
			var oLbl=document.createElementNS("http://www.w3.org/2000/svg","g");
			oLbl.setAttribute("id",id+"_lbl");
			oLbl.setAttribute("dragx",iW);
			oLbl.setAttribute("dragy",0);
			oLbl.setAttribute("x",iW);
			oLbl.setAttribute("transform","translate("+iW+",0)");
			var iWT=0;	
			var iM=4;
			var iMT=14;
			var iR=4;
			var iX=iR;
			var iY=iR;
			for(var i=0;i<ar.length;i++){
				var szTxt=(!isNaN(ar[i][0]))?ar[i][1]+" ("+ar[i][0]+")":ar[i][0];
				if(szTxt.length>iWT) iWT=szTxt.length;
			}
			iWT*=5;
			var oSf=document.createElementNS("http://www.w3.org/2000/svg","rect");
				oSf.setAttribute("width",iWT+iX+iMT+(2*iM));
				oSf.setAttribute("height",(ar.length*iMT)+(2*iM)+iR);
				oSf.setAttribute("x",0);
				oSf.setAttribute("y",0);
				oSf.setAttribute("rx",10);
				oSf.setAttribute("ry",10);
				oSf.setAttribute("fill","#fff");
				oSf.setAttribute("fill-opacity","0.5");
				_ael(oSf,oLbl);
			for(var i=0;i<ar.length;i++){
				var oC=document.createElementNS("http://www.w3.org/2000/svg","circle");
				oC.setAttribute("cx",iX+iM);
				oC.setAttribute("cy",(iMT*(i+1)));
				oC.setAttribute("r",iR);
				oC.setAttribute("fill",svg.arClr[i]);
				_ael(oC,oLbl);
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
				oT.setAttribute("x",iX+iM+iMT);
				oT.setAttribute("y",(iMT*(i+1)+(iR-1)));
				oT.setAttribute("text-anchor","start");
				oT.setAttribute("font-family","Verdana");
				oT.setAttribute("font-size","7pt");
				oT.setAttribute("text-anchor","left");
				var szTxt=(!isNaN(ar[i][0]))?ar[i][1]+" ("+ar[i][0]+")":ar[i][0];
				_ael(document.createTextNode(szTxt),oT);
				_ael(oT,oLbl);
			}
			new svg.drg.init(oLbl);
			return oLbl;
		},
		grdO:function(iScl,iAssX,arAUG,iStpY,iH,iMrgn,oCS){
			var iMxH=Math.abs(iAssX-iH+2*iMrgn);
			var iMnH=Math.abs(arAUG[1]+iAssX-iH+2*iMrgn);
			for(var y=iStpY,i=1;y<iMxH;y+=iStpY){
				var oL=document.createElementNS("http://www.w3.org/2000/svg","line");
				oL.setAttribute("x1",0);//-iMrgn
				oL.setAttribute("y1",-y);
				oL.setAttribute("x2",arAUG[0]);//-iMrgn
				oL.setAttribute("y2",-y);
				oL.setAttribute("stroke","#ccc");
				oL.setAttribute("stroke-width","1");
				_ael(oL,oCS);
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
				oT.setAttribute("x",-2);
				oT.setAttribute("y",y);
				oT.setAttribute("font-family","Verdana");
				oT.setAttribute("font-size","6pt");
				oT.setAttribute("text-anchor","end");
				oT.setAttribute("transform","scale(1,-1)");
				var n=i*iScl;
				_ael(document.createTextNode(-n.toFixed(2)),oT);//iMxVR-(23-i)*iScl
				_ael(oT,oCS);
				i++;
			}
			var iMn=-y;
			for(var j=i,k=0,y=0;j<21;j++){
				var oL=document.createElementNS("http://www.w3.org/2000/svg","line");
				oL.setAttribute("x1",0);//-iMrgn
				oL.setAttribute("y1",y);
				oL.setAttribute("x2",arAUG[0]);//-iMrgn
				oL.setAttribute("y2",y);
				oL.setAttribute("stroke",(y==0)?"#333":"#ccc");
				oL.setAttribute("stroke-width","1");
				_ael(oL,oCS);
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
				oT.setAttribute("x",-2);
				oT.setAttribute("y",-y);
				oT.setAttribute("font-family","Verdana");
				oT.setAttribute("font-size","6pt");
				oT.setAttribute("text-anchor","end");
				oT.setAttribute("transform","scale(1,-1)");
				var n=k*iScl;
				if(y==0) n=0;
				else n=n.toFixed(2);
				_ael(document.createTextNode(n),oT);//iMxVR-(23-i)*iScl
				_ael(oT,oCS);
				y+=iStpY;
				k++;
			}
			var iMx=y;
			var oL=document.createElementNS("http://www.w3.org/2000/svg","line");
			oL.setAttribute("x1",0);
			oL.setAttribute("y1",iMn);
			oL.setAttribute("x2",0);
			oL.setAttribute("y2",iMx);
			oL.setAttribute("stroke","#333");
			oL.setAttribute("stroke-width","1");
			_ael(oL,oCS);
		},
		grdV:function(arAUG,iH,iMrgn,oCS){
			var oA=document.createElementNS("http://www.w3.org/2000/svg","line");
				oA.setAttribute("x1",0);//-iMrgn
				oA.setAttribute("y1",0);
				oA.setAttribute("x2",arAUG[0]);//-iMrgn
				oA.setAttribute("y2",0);
				oA.setAttribute("stroke","#333");
				oA.setAttribute("stroke-width","1");
				_ael(oA,oCS);
			var oO=document.createElementNS("http://www.w3.org/2000/svg","line");
				oO.setAttribute("x1",0);
				oO.setAttribute("y1",0);
				oO.setAttribute("x2",0);
				oO.setAttribute("y2",arAUG[1]+2*iMrgn);
				oO.setAttribute("stroke","#333");
				oO.setAttribute("stroke-width","1");
				_ael(oO,oCS);
			
			var iStp=arAUG[0]/11;
			//521
			for(var i=1;i<11;i++){
				var iX=i*iStp;
				var o=document.createElementNS("http://www.w3.org/2000/svg","line");
				o.setAttribute("x1",iX);
				o.setAttribute("y1",0);
				o.setAttribute("x2",iX);
				o.setAttribute("y2",arAUG[1]);
				o.setAttribute("stroke","#ccc");
				o.setAttribute("stroke-width","1");
				_ael(o,oCS);
			}
		},
		brrO:function(id,arX,arY,iW,iH,bScrll){
			var iMrgn=20;
			var arAU=[iW-(2*iMrgn),iH-(2*iMrgn)];
			var arAUG=[arAU[0]-(2*iMrgn),arAU[1]-(2*iMrgn)];
			var arVls=svg.clc.mm(arX,arY,arAUG,iMrgn,false);//iMx,iMn,iMxVR,iAssX,iPcP,iPcN,iScl,iStpX,iStpY,iU
			var ar=svg.grph.nw(id,iW,iH);
			var oSvg=ar[0];
			var oCS=ar[1];
			oCS.setAttribute("transform","translate("+(2*iMrgn)+","+(arVls[3])+") scale(1,-1)");
			svg.grph.grdO(arVls[6],arVls[3],arAUG,arVls[8],iH,iMrgn,oCS);
			var oLbl=svg.grph.lbl(arX,id,iW);
			var iX=0;
			var iY=0;
			for(var i=0;i<arX.length;i++){
				var iY=(arY[i][0]*arVls[9]);//*arAUG[1]/100);
				var oB=document.createElementNS("http://www.w3.org/2000/svg","rect");
					oB.setAttribute("width",arVls[7]);
					oB.setAttribute("height",Math.abs(iY));
					oB.setAttribute("x",iX);
					oB.setAttribute("y",(iY<0)?iY:0);
					oB.setAttribute("fill",svg.arClr[i]);
					_ael(oB,oCS);
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
					oT.setAttribute("x",iX+arVls[7]-2);
					oT.setAttribute("y",(iY<0)?-iY+10:-iY-6);
					oT.setAttribute("font-family","Verdana");
					oT.setAttribute("font-weight","bold");
					oT.setAttribute("font-size","7pt");
					oT.setAttribute("text-anchor","end");
					oT.setAttribute("transform","scale(1,-1)");
					_ael(document.createTextNode(arY[i][0]),oT);
					_ael(oT,oCS);
				iX+=arVls[7];
			}
			_ael(oLbl,oSvg);
			if(bScrll){
				_ael(svg.grph.brrScrll(iW,iH,iMrgn,false,id,true),oSvg);
				_ael(svg.grph.brrScrll(iW,iH,iMrgn,false,id,false),oSvg);
			}
			return oSvg;
		},
		brrV:function(id,arX,arY,iW,iH,bScrll){
			var iMrgn=20;
			var arAU=[iW-(2*iMrgn),iH-(2*iMrgn)];
			var arAUG=[arAU[0]-(2*iMrgn),arAU[1]-(2*iMrgn)];
			
			//var arVls=svg.clc.mm(arX,arY,arAUG,iMrgn,false);//iMx,iMn,iMxVR,iAssX,iPcP,iPcN,iScl,iStpX,iStpY,iU
			//alert(arAUG);668,481
			//alert(arAUG[1]+2*iMrgn);
			//521
			
			var ar=svg.grph.nw(id,iW,iH);
			var oSvg=ar[0];
			var oCS=ar[1];
			oCS.setAttribute("transform","translate("+(2*iMrgn)+","+(arAUG[1]+3*iMrgn)+") scale(1,-1)");
			svg.grph.grdV(arAUG,iH,iMrgn,oCS);
			var oLbl=svg.grph.lbl(arAUG[0]+iMrgn,arX,id,iW);
			var iBH=arAUG[1]/arX.length;
			
			//alert(arY);
			var iMx=arY[0];
			for(var i=0;i<arY.length;i++){
				if(parseInt(arY[i])>iMx) iMx=parseInt(arY[i]);
			}
			var iU=arAUG[0]/iMx;
			//alert(iMx+"\n"+iU+"\n"+arAUG[0]+"\n"+iW);
			
			var iX=0;
			var iY=0;
			for(var i=0;i<arY.length;i++){
				//iW=(arY[i]*100/arAUG[1]);
				var k=arY.length-1-i;
				var oB=document.createElementNS("http://www.w3.org/2000/svg","rect");
					oB.setAttribute("width",arY[k]*iU);
					oB.setAttribute("height",iBH);
					oB.setAttribute("x",0);
					oB.setAttribute("y",i*iBH);
					oB.setAttribute("fill",svg.arClr[k]);
					_ael(oB,oCS);
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
					//oT.setAttribute("x",10);
					//oT.setAttribute("y",-(i*iBH));
					oT.setAttribute("x",arY[k]*iU+10);
					oT.setAttribute("y",-((i*iBH)+(iBH/2)));
					oT.setAttribute("font-family","Verdana");
					oT.setAttribute("font-weight","bold");
					oT.setAttribute("font-size","7pt");
					oT.setAttribute("text-anchor","start");
					oT.setAttribute("transform","scale(1,-1)");
					_ael(document.createTextNode(arY[k]),oT);
					_ael(oT,oCS);
			}
			var oLbl=svg.grph.lbl(arX,id,iW);
			_ael(oLbl,oSvg);
			return oSvg;
		},
		pie:function(id,arD,iW,iH,r){
			var iMrgn=10;
			var mD=(iW>iH)?iH:iW;
			if(!r) r=mD/2-4*iMrgn;
			var ar=svg.grph.nw(id,iW,iH);
			var oSvg=ar[0];
			var oCS=ar[1];
			oCS.setAttribute("transform","translate("+(iW/2)+","+(iH/2)+") scale(1,-1)");
			var oLbl=svg.grph.lbl(arD,id,iW);
			_ael(oLbl,oSvg);
			var iCx=0;
			var iCy=0;
			if(arD.length==1){
				var oC=document.createElementNS("http://www.w3.org/2000/svg","circle");
				oC.setAttribute("cx",iCx);
				oC.setAttribute("cy",iCy);
				oC.setAttribute("r",r);
				oC.setAttribute("fill",svg.arClr[0]);
				_ael(oC,oCS);
				var xx2=iCx+((r+15)*Math.sin(0));
				var yy2=iCy-((r+15)*Math.cos(0));
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
				oT.setAttribute("x",xx2);
				oT.setAttribute("y",-yy2);
				oT.setAttribute("text-anchor","middle");
				oT.setAttribute("font-family","Verdana");
				oT.setAttribute("font-weight","bold");
				oT.setAttribute("font-size","7pt");
				oT.setAttribute("text-anchor","middle");
				oT.setAttribute("transform","scale(1,-1)");
				_ael(document.createTextNode(arD[0][0]),oT);
				_ael(oT,oCS);
				return oSvg;
			}
			var iT=0;
			for(var i=0;i<arD.length;i++) iT+=arD[i][0];
			var arNgl=[];
			for(var i=0;i<arD.length;i++) arNgl[i]=arD[i][0]/iT*Math.PI*2;
			var iSNgl=0;
			var iQ=1;
			for(var i=0;i<arD.length;i++){
				var iENgl=iSNgl+arNgl[i];
				var x1=iCx+r*Math.sin(iSNgl);
				var y1=iCy-r*Math.cos(iSNgl);
				var x2=iCx+r*Math.sin(iENgl);
				var y2=iCy-r*Math.cos(iENgl);
				var bFlt=0;
				if(iENgl-iSNgl>Math.PI) bFlt=1;
				var oP=document.createElementNS("http://www.w3.org/2000/svg","path");
				var szD="M "+iCx+","+iCy+
				" L "+x1+","+y1+
				" A "+r+","+r+
				" 0 "+bFlt+" 1 "+
				x2+","+y2+
				" Z";
				oP.setAttribute("d",szD);
				oP.setAttribute("fill",svg.arClr[i]);
				_ael(oP,oCS);
				if(iSNgl>iQ*(Math.PI/2)) iQ++;
				var rr=(r+15);
				var iEA=iSNgl+arNgl[i]/2;
				var xx2=iCx+rr*Math.sin(iEA);
				var yy2=iCy-rr*Math.cos(iEA);
				var iX=xx2;
				var iY=yy2;
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
					oT.setAttribute("x",iX);
					oT.setAttribute("y",-iY);
					oT.setAttribute("text-anchor","middle");
					oT.setAttribute("font-family","Verdana");
					oT.setAttribute("font-weight","bold");
					oT.setAttribute("font-size","7pt");
					oT.setAttribute("text-anchor","middle");
					oT.setAttribute("transform","scale(1,-1)");
					_ael(document.createTextNode(arD[i][0]),oT);
					_ael(oT,oCS);
				iSNgl=iENgl;
			}
			return oSvg;
		},
		lne:function(id,arX,arY,iW,iH,arFn,bScrll){
			var iMrgn=30;
			var arAU=[iW-(2*iMrgn),iH-(2*iMrgn)];
			var arAUG=[arAU[0]-(2*iMrgn),arAU[1]-(2*iMrgn)];
			//arY=[[0],[-20],[-30],[-10],[-50],[-28],[-500],[-15],[-25],[0],[-35],[-39],[-27],[-16],[-48],[-50],[-37],[-41]];
			//arY=[[250],[-20],[-30],[-10],[-70],[-28],[-40],[-15],[-25],[0],[-35],[-39],[-27],[-16],[-48],[-50],[-37],[-41]];
			//arY=[[120],[-120],[-130],[-160],[-150],[-60],[-40],[-15],[-125],[0],[-135],[-39],[-27],[-16],[-48],[-59],[-37],[-41]];
			//arY=[[50],[-20],[-30],[-50],[-50],[60],[-50],[-15],[-25],[0],[-35],[-50],[-27],[-16],[-50],[-50],[-37],[-41]];
			//arY=[[-11],[-20],[-30],[-60],[-50],[-60],[-70],[-15],[-25],[0],[-35],[-80],[-27],[-16],[-68],[-59],[-37],[-41]];
			//arY=[[10],[20],[30],[40],[50],[60],[70],[15],[25],[0],[35],[80],[27],[16],[0],[59],[37],[41]];
			var arVls=svg.clc.mm(arX,arY,arAUG,iMrgn,true);//iMx,iMn,iMxVR,iAssX,iPcP,iPcN,iScl,iStpX,iStpY,iU
			var ar=svg.grph.nw(id,iW,iH);
			var oSvg=ar[0];
			var oCS=ar[1];
			oCS.setAttribute("transform","translate("+(2*iMrgn)+","+(arVls[3])+") scale(1,-1)");
			svg.grph.grdO(arVls[6],arVls[3],arAUG,arVls[8],iH,iMrgn,oCS);
			var iX=0;
			var szP="";//"M 0,"+(parseFloat(arY[0][0])*iU);
			var oP=document.createElementNS("http://www.w3.org/2000/svg","polyline");
			oP.setAttribute("fill","none");
			oP.setAttribute("stroke","#f00");
			oP.setAttribute("stroke-width","2");
			_ael(oP,oCS);
			for(var i=0;i<arX.length;i++){
				var iY=parseFloat(arY[i][0])*arVls[9];
				szP+=" "+iX+","+iY;
				var oT=document.createElementNS("http://www.w3.org/2000/svg","text");
					oT.setAttribute("x",iX+4);
					oT.setAttribute("y",10);
					oT.setAttribute("text-anchor","middle");
					oT.setAttribute("font-family","Verdana");
					oT.setAttribute("font-weight","bold");
					oT.setAttribute("font-size","7pt");
					oT.setAttribute("transform","scale(1,-1)");
					_ael(document.createTextNode(arX[i][1]),oT);
					_ael(oT,oCS);
				if(arFn){
					var oC=document.createElementNS("http://www.w3.org/2000/svg","circle");
						oC.setAttribute("cx",iX);
						oC.setAttribute("cy",iY);
						oC.setAttribute("r",3);
						oC.setAttribute("id","pnt_"+id+"__"+i);
						oC.setAttribute("fill","#f00");
						oC.setAttribute("fill-opacity","0.5");
						_ael(oC,oCS);
				}
				var oC=document.createElementNS("http://www.w3.org/2000/svg","circle");
					oC.setAttribute("cx",iX);
					oC.setAttribute("cy",iY);
					oC.setAttribute("r",3);
					oC.setAttribute("id","pnt_"+id+"_"+i);
					oC.setAttribute("fill","#f00");
					if(arFn){
						if(arFn[0]) addEvent(oC,"mouseover",arFn[0],false);
						addEvent(oC,"mouseout",(arFn[1])?arFn[1]:svg.grph.lneOut,false);
					}
					_ael(oC,oCS);
				iX+=arVls[7];
			}
			oP.setAttribute("points",szP);
			if(bScrll){
				_ael(svg.grph.brrScrll(iW,iH,iMrgn,false,id,true),oSvg);
				_ael(svg.grph.brrScrll(iW,iH,iMrgn,false,id,false),oSvg);
			}
			return oSvg;
		},
		lneOvr:function(ar,sz){
			var id=ar[ar.length-1];
			var o=_gel(ar[0]+"_"+ar[1]+"__"+id);
			o.setAttribute("r",7);
			var oCS=_gel(ar[1]+"_CS");
			var oL=document.createElementNS("http://www.w3.org/2000/svg","text");
			var x=parseFloat(o.getAttribute("cx"));
			var y=parseFloat(o.getAttribute("cy"))+13;
			oL.setAttribute("x",x);
			oL.setAttribute("y",-y);
			oL.setAttribute("text-anchor","middle");
			oL.setAttribute("font-family","Verdana");
			oL.setAttribute("font-weight","bold");
			oL.setAttribute("font-size","7pt");
			oL.setAttribute("transform","scale(1,-1)");
			oL.setAttribute("id","lbl_"+id);
			_ael(document.createTextNode(sz),oL);
			_ael(oL,oCS);
		},
		lneOut:function(e){
			var o=_gee(e);
			var ar=o.getAttribute("id").split("_");
			var id=ar[ar.length-1];
			o=_gel(ar[0]+"_"+ar[1]+"__"+id);
			o.setAttribute("r",3);
			_rel(_gel("lbl_"+id));
		}
	},
	drg:{
		o:null,
		oSvg:false,
		iMOX:0,
		iMOY:0,
		md:function(e){ 
			var o=_gee(e);
			var oSvg=o;
			while(!o.id) o=o.parentNode;
			svg.drg.o=o;
			if(o){
				var p=svg.drg.oSvg.createSVGPoint();
				p.x=e.clientX;
				p.y=e.clientY;
				var m=getScreenCTM(svg.drg.oSvg);
				p=p.matrixTransform(m.inverse());
				svg.drg.iMOX=p.x-parseInt(o.getAttribute("dragx"));
				svg.drg.iMOY=p.y-parseInt(o.getAttribute("dragy"));
			}
		},
		mu:function(e){ 
			svg.drg.o=null;
			svg.drg.iMOX=0;
			svg.drg.iMOY=0;
		},
		mm:function(e){ 
			var p=svg.drg.oSvg.createSVGPoint();
			p.x=e.clientX;
			p.y=e.clientY;
			var m=getScreenCTM(svg.drg.oSvg);
			p=p.matrixTransform(m.inverse());
			p.x-=svg.drg.iMOX;
			p.y-=svg.drg.iMOY;
			if(svg.drg.o){
				svg.drg.o.setAttribute("dragx",p.x);
				svg.drg.o.setAttribute("dragy",p.y);
				svg.drg.o.setAttribute("transform","translate("+p.x+","+p.y+")");
			}
		},
		init:function(obj){
			obj.onmousedown=svg.drg.strt;
		},
		strt:function(e){
			var o=_gee(e);
			while(o.nodeName!="svg:svg") o=o.parentNode;
			svg.drg.oSvg=o;
			svg.drg.oSvg.onmouseup=svg.drg.mu;
			svg.drg.oSvg.onmousemove=svg.drg.mm;
			svg.drg.md(e);
		}
	}
}

var stts={
	pg:function(aM,szFnFltr,szTit,o){
		var objTit=_cel("div");
		objTit.id="lst_tit_"+aM.id;
		objTit.className=aM.lst_cDT;
		_ael(objTit,o);
		var objMT=_cel("div");
		objMT.id="dt_mt"+aM.id;
		objMT.className=aM.lst_cDMT;
		objMT.innerHTML=szTit;
		_ael(objMT,objTit);
		var objDC=_cel("div");
		objDC.className="dClr";
		_ael(objDC,objTit);
		var objCF=_cel("div");
		objCF.id="lst_fltr_cmd_"+aM.id;
		objCF.className=aM.fltr_cDCF;
			var objFltr=_cel("div");
			objFltr.id="lst_fltr_"+aM.id;
			objFltr.className=aM.fltr_cD;
			_ael(objFltr,objCF);
			var objCmd=_cel("div");
			objCmd.id="lst_cmd_"+aM.id;
			objCmd.className=aM.fltr_cDC;
			_ael(engn.crPls("fltr_btt_"+aM.id,aM.fltr_cB,"Visualizza","\2\1click\1"+szFnFltr+"\1\2"),objCmd);
			_ael(engn.crDClr(),objCmd);
			_ael(objCmd,objCF);
		_ael(objCF,o);
		return _gel("lst_fltr_"+aM.id);
	},
	grphC:function(id,iW,iH,szClss){
		var o=_cel("div");
		o.id=id;
		o.className=szClss;
		o.style.width=iW+"px";
		o.style.height=iH+"px";
		return o;
	}
}

function edo(){
	alert("asdsa dasd as");
}

function getScreenCTM(doc){
	if(doc.getScreenCTM){ return doc.getScreenCTM();}
	var root=doc;
	var sCTM=root.createSVGMatrix();
	var tr=root.createSVGMatrix();
	var par=root.getAttribute("preserveAspectRatio");
	if(par==null||par=="") par="xMidYMid meet";
	parX=par.substring(0,4);
	parY=par.substring(4,8);
	ma=par.split(" ");
	mos=ma[1];
	sCTM.a=1;
	sCTM.d=1;
	sCTM.e=0;
	sCTM.f=0;
	var w=root.getAttribute("width");
	if(w==null||w=="") w=innerWidth;
	var h=root.getAttribute("height");
	if(h==null||h=="") h=innerHeight;
	if(w.substr(w.length-1,1)=="%") w=(parseFloat(w.substr(0,w.length-1))/100.0)*innerWidth;
	if(h.substr(h.length-1,1)=="%") h=(parseFloat(h.substr(0,h.length-1))/100.0)*innerHeight;
	vba=root.getAttribute("viewBox");
	if(vba==null) vba="0 0 "+w+" "+h;
	var vb=vba.split(" ");
	tr.a= root.currentScale;
	tr.d=root.currentScale;
	tr.e= root.currentTranslate.x;
	tr.f=root.currentTranslate.y;
	var sx=w/vb[2];
	var sy=h/vb[3];
	if(mos=="slice") var s=(sx>sy?sx:sy);
	else var s=(sx<sy?sx:sy)
	if(par=="none"){
		sCTM.a=sx;
		sCTM.d=sy;
		sCTM.e=-vb[0]*sx;
		sCTM.f=-vb[0]*sy;
		sCTM=tr.multiply(sCTM);
		return sCTM
	}
	sCTM.a=s;
	sCTM.d=s;
	switch(parX){
		case "xMid":
			sCTM.e=((w-vb[2]*s)/2)-vb[0]*s;
			break;
		case "xMin":
			sCTM.e=-vb[0]*s;
			break;
		case "xMax":
			sCTM.e=(w-vb[2]*s)-vb[0]*s;
			break;
	}
	switch(parY){
		case "YMid":
			sCTM.f=(h-vb[3]*s)/2-vb[1]*s;
			break;
		case "YMin":
			sCTM.f=-vb[1]*s;
			break;
		case "YMax":
			sCTM.f=(h-vb[3]*s)-vb[1]*s;
			break;
	}
	sCTM=tr.multiply(sCTM);
	return sCTM;
}

/*
var cnvs={
	nw:function(id,oP,iW,iH){
		var o=_cel("canvas");
		o.id="cnvs_"+id;
		o.style.width=iW+"px";
		o.style.height=iH+"px";
		_ael(o,oP);
		return o.getContext("2d");
	},
	clc:{
		mm:function(ar){
			var iMx=0;
			var iMn=0;
			for(var i=0;i<ar.length;i++){
				var iV=parseInt(ar[i][0]);
				if(i==0){
					iMx=iV;
					iMn=iV;
				}
				if(iV>iMx) iMx=iV;
				if(iV<iMn) iMn=iV;
			}
			return [iMx,iMn];
		}
	},
	arClr:["fc0","1af","4d7","d1a","c1f","ed6"],
	grfc:{
		brrV:function(id,oP,arX,arY,iW,iH){
			var o=cnvs.nw(id,oP,iW,iH);
			var arMM=cnvs.clc.mm(arX);
			var iMrgn=10;
			var iMxW=Math.floor(iW-(2*iMrgn));
			var iMxH=Math.floor(iH-(2*iMrgn));
			var iSx=0;
			var iEx=iMxW;
			var iSy=(arMM[1]>=0)?0:(arMM[1]<=0&&arMM[0]<=0)?0:arMM[1];
			var iEy=arMM[0];
			o.translate(0,-iMxH);
			var iX=iSx;
			for(var i=0;i<arX.length;i++){
				var iH=((arY[i][0]*100/iEy)*iMxH/100);
				
				o.beginPath();
				o.rect(iX, topLeftCornerY, width, height);
			 
				o.fillStyle = "#8ED6FF";
				o.fill();
				iX+=iBW;
			}
		}
	}
}
*/
