/* ========================================================================== */
/*                                                                            */
/* (NNNNNN)(NNNNNN)                                                           */
/*      NN)(NN       stiweb.it                                                */
/*      NN)(NN       (c)2009 Stive Barison                                    */
/*      NN)(NN       http://www.stiweb.it                                     */
/*                                                                            */
/* ========================================================================== */

/******************************************************************************/
/* File               : scripts.js                                            */
/* -------------------------------------------------------------------------- */
/* Autore             : Steve Barison                                         */
/* -------------------------------------------------------------------------- */
/* Versione originale : 28/08/2009                                            */
/* Revisione          : 15/10/2009                                            */
/*          																  */
/* ========================================================================== */
/*                                                                            */
/* Descrizione        : Scripts javascript                                    */
/*                                                                            */
/* -------------------------------------------------------------------------- */
/* Note:                                                                      */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/**
 * Variabile globale di supporto dove memorizzare dei valori al volo
 */
var var_sup;

/*----------------------------------------------------------------------------*/
/* Al caricamento della pagina viene creato l'oggetto di controllo form       */
/*----------------------------------------------------------------------------*/
Event.observe(window, 'load', function() 
{
	/**
	 * Browser detec
	 */
	//alert(bro_dec);
	
	if ($('frm_reg'))
    {
		/*--------------------------------------------------------------------*/
		/* Nome della form                                                    */
		/*--------------------------------------------------------------------*/
	    var frm = $('frm_reg'); 
		
		/*--------------------------------------------------------------------*/
		/* Oggetto controlo form								    		  */
		/*--------------------------------------------------------------------*/
	    ogg_chk = new frm_val(frm, { ajax:false });
	
	    /*--------------------------------------------------------------------*/
		/* Eliminazione dei tasti e caratteri spuri                           */
		/*--------------------------------------------------------------------*/
	    document.onkeypress = ogg_chk.blo_ins;
	
	    /*--------------------------------------------------------------------*/
		/* Ottiene gli elementi della form in un array                        */
		/*--------------------------------------------------------------------*/    
	    var arr = frm.getElements(); 
	
	    /*--------------------------------------------------------------------*/
		/* Cicla l'array degli elementi                                       */
		/*--------------------------------------------------------------------*/
	    arr.each(function(itm) 
	    {
	        /*----------------------------------------------------------------*/
			/* */
			/*----------------------------------------------------------------*/
	    	Event.observe(itm, 'keyup', function(eve)
	    	{
	        	/*------------------------------------------------------------*/
	    		/* Ottiene il valore dell'elemento                            */
	    		/*------------------------------------------------------------*/   
	            var val = Field.getValue(itm);
	
	            /*------------------------------------------------------------*/
	        	/* Richiama il metodo dell'oggetto che effettua il live check */
	        	/*------------------------------------------------------------*/
	            ogg_chk.avv_liv(itm, val);
	
	        });
	
	     });
    }   
});


/**
 * Osservatore : tasti funzione premuti per la finestra
 */
Event.observe(window, 'keypress', function(event)  {

    /**
     * Deviazione in funzione del tasto premuto
     */
    switch(event.keyCode)    {

    
	    /**
	     * Tasto ENTER
	     */
	    case 13:
	    	
	    	$('log_usr').submit();
	    	/** 
	    	if($('lst_pro').style.display == 'none')
	    	{
	    		event.stopPropagation();
	    		event.preventDefault();
	    	}
	    	
	    	if($('rgh_ord').style.display == '')
	    	{
	    	}
	    		
	    		
	    	UnTip();
	    	
			 * Ottiene l'elemento che ha il focus
			 */
			//ele_foc = get_ele_foc();
			
			//alert('ciao>'+ele_foc)
			
         break;
    
        /**
         * Tasto pagina destra
         */
        case 39:
        	
        	/**
             * Recupera il valore del tag a nella barra di navigazione records
             * Tasto Avanti
             */
             var lnk = $('nxt').href;
           	      
             /**
              * Preleva il numero di pagina per la navigazione
              */
             var chk_pag = lnk.match(/pag_nav=[0-9]+/);
  	   
  	       	/**
  	       	 * Debug
  	       	 */
  	       	//alert(chk_pag);
  	       
	  	    /**
	  	  	 * Chiamata ajax di ricerca articolo
	  	  	 */
	  	  	ric_ajx('bin/lst_pro.php','get','frm_pro','lst_pro','','typ_ric=1&lmt=1&'+chk_pag+'&ric_pro')
  	        
        break;
	  	  	
	  	  	
	  	  	
	  	/**
         * Tasto pagina sinistra
         */
        case 37:
        	
        	/**
             * Recupera il valore del tag a nella barra di navigazione records
             * Tasto Avanti
             */
             var lnk = $('prv').href;
           	      
             /**
              * Preleva il numero di pagina per la navigazione
              */
             var chk_pag = lnk.match(/pag_nav=[0-9]+/);
  	   
  	       	/**
  	       	 * Debug
  	       	 */
  	       	//alert(chk_pag);
  	       
	  	    /**
	  	  	 * Chiamata ajax di ricerca articolo
	  	  	 */
	  	  	ric_ajx('bin/lst_pro.php','get','frm_pro','lst_pro','','typ_ric=1&lmt=1&'+chk_pag+'&ric_pro')
  	        
        break;  	

    }
 });


/**
 * Funzione di compilazione della chiamata ajax ricavando gli argomenti dal
 * link presente nella barra di navigazione records
 */
function arg_chi_ajx(lnk) {

           /**
            * Elimina la parte iniziale del link: Javascript:....
            */
            var str = lnk.replace(/^.*\(/,'');

           /**
            * Elimina la parte finale del link: );
            */
            var str = str.replace(/\).*/, '');

            /**
             * Crea la regex che ricava tutto quello che si trova tra gli 
             * apici ''
             */
            var reg = new RegExp(/[^'].*?(?=')/);

            /**
             * Crea la regex che elimina tutto quello che c'e' tra gli apici, 
             * compresi loro
             */
            var reg_can = new RegExp(/['].*?['],/);

            /**
             * Imposta l'array degli elementi mod.15/10/08
             */
            var arr_ele = '';

            /**
             * Imposta l'array che conterra' gli argomenti della chiamata ajax
             */
            var arg = new Array();

            /**
             * Cicla per 7 volte la stringa del link per ricavare i vari
             * argomenti
             */
            for (var i=0; i<=6; i++) {

               /**
                * Esegue la regex creata che carica in un array l'argomento con 
                * exec()
                */
                arr_ele = reg.exec(str);

               /**
                * Passa il valore ricavato all'array degli argomenti con il
                * suo indice incrementale
                */
                arg[i] = arr_ele;

               /**
                * Cancella la stringa appena processata, sosttuendo con nulla
                */
                str = str.replace(reg_can, '');

             }

    return arg;
}


/*----------------------------------------------------------------------------*/
/* Funzione di registrazione utenza  										  */
/*----------------------------------------------------------------------------*/
function reg_ute()
{ 
	var div_trg = 'box_avv';
	
	/*------------------------------------------------------------------------*/
	/* File di modulo con sessione utente									  */
	/*------------------------------------------------------------------------*/
	var url = 'bin/ges_usr.php';
    
	/*------------------------------------------------------------------------*/
	/* Dati serializzati della form											  */
	/*------------------------------------------------------------------------*/
	var par = $('frm_reg').serialize(true);
	
	/*------------------------------------------------------------------------*/
	/* Chiamata oggetto ajax												  */
	/*------------------------------------------------------------------------*/
	new Ajax.Updater(
			
			div_trg,
			url,
		    
	        { 
	           method:     'post',
	           
	           parameters:  par,
	           
	           onFailure: 	pri_err,
	           
	           onSuccess:   function(ris)
               {
					/*--------------------------------------------------------*/
        	        /* Spegne il div di registrazione utente				  */
        	        /*--------------------------------------------------------*/
					$('reg_usr').style.display = 'none';
					
					/*--------------------------------------------------------*/
	        	    /* Recupera l'html di risposta e lo visualizza   		  */
	        	    /*--------------------------------------------------------*/
					$(div_trg).style.display = '';
					
					/*--------------------------------------------------------*/
	        	    /* Nel caso di html di ritorno apre la finestra programma */
	        	    /*--------------------------------------------------------*/
					if(ris_ajx == '')
					
					{
						alert("Programma non permesso \n\n");
					}
               }
	           
	        }
	        
	        );
}


/**
 * Invia i dati con una chiamata ajax
 *
 * url_pag = Pagina di invio dei dati
 * met_inv = Metodo di invio
 * frm_dat = Form di provenienza dati
 * div_trg = Id di destinazione della risposta di ajax
 * idd_tab = Id della tabella creata con adddb
 * par_opz = Parametro in piu' da passare alla chiamata prima della variabile
 *           di sessione
 */
function ric_ajx(url_pag,
				 met_inv,
				 frm_dat,
				 div_trg,
				 idd_tab,
				 par_opz)
{
    
	/**
     * Accoda la sessione alla url
     */
    var url_ses = ott_ses(url_pag);
    
    /**
     * Visualizza il loading
     */
    $("ajx_lod").style.display = ''; 
    $("ajx_lod").innerHTML = '<img src="img/loading.gif" alt="" />';
    
    /*------------------------------------------------------------------------*/
	/* Dati serializzati della form											  */
	/*------------------------------------------------------------------------*/
    if(frm_dat != '')
    {
    	var par = $(frm_dat).serialize(true);
    }
    
    	var url_mod = url_ses + '&' + par_opz;
	
    	new Ajax.Updater(
    		
    		div_trg,
            url_mod,
                             
            { 
    			method		: met_inv,
    			
    			parameters	: par,
    			
    			asynchronous: false,

 	            onFailure	: pri_err,
                            
                onSuccess: function(transport)
                {
    				/**
    				 * Spegne il loading
    				 */
    				$("ajx_lod").hide();
    				
    				$(div_trg).show();
                	
                	if(idd_tab != '')
                	{
                		//alt_row(idd_tab);
                		
                	}
                }
	    			
	            });
   
}

/**
 * Effettua solo una request ad db
 * @param url_pag 
 * @param met_inv
 * @param div_trg
 * @return
 */
function req_ajx(url_pag,
				 met_inv,
				 div_trg)
{
	/**
     * Visualizza il loading
     */
    $("ajx_lod").show(); 
    $("ajx_lod").innerHTML = '<img src="img/loading.gif" alt="" />';
    
    
	    /**
	     * Accoda la sessione alla url
	     */
	    var url_ses = ott_ses(url_pag);
	    
	    var url_mod = url_ses + '&'
	
    
	new Ajax.Request(url_mod, 
	{
		method: met_inv,
		  
		asynchronous: false,
		  
		onSuccess: function(transport)
		{
			/**
			 * Spegne il loading
			 */
			$("ajx_lod").hide();
			
			/**
			 * Raccoglie la risposta di ajax
			 */	
			var response = transport.responseText;
			
			/**
			 * Se viene passato in chiamata un target per la risposta, popola la
			 * div, altrimenti registra la risposta nella variabile di supporto
			 * impostata all'inizio della pagina
			 */
			if(div_trg != '')
			{
				var container = $(div_trg);
				   
				container.update(response);
			}
			else
			{
				
				var_sup = response;
				//alert("> "+response)
			}
			   
		},

		  onFailure: pri_err
	});
	
}



/*
 * 

Ajax.Responders.register({

    onCreate: function() {
		if($('ajx_lod') && Ajax.activeRequestCount > 0)
			Effect.Appear('ajx_lod',{duration: 0.25, queue: 'end'});
	},
	onComplete: function() {
		if($('ajx_lod') && Ajax.activeRequestCount == 0)
			Effect.Fade('ajx_lod',{duration: 0.25, queue: 'end'});
	}

    
});

 */




/*----------------------------------------------------------------------------*/
/* Stampa l'errore in caso di chiamata ajax errata							  */
/*----------------------------------------------------------------------------*/
function pri_err(request)
{
	    alert('Errore rilevato.');
}

/**
 * Richiama la funzione per la costruzione delle barre alternate in tabella
 */
function att_tab(par)	{

    if (par != '')
    {
    	    		
    	window.setTimeout("alt_row('"+par+"')",1000);
    
    }

}


/**
 * Ottiene il valore della sessione utente della pagina
 *
 * typ parametro supplementare che si puo' usare per inserire ulteriori dati
 * nella chiamata get
 *
 * return ritorna la stringa url formattata con la sessione
 */
function ott_ses(url_pag, typ) {

    if (typ == null) {

        typ = 'avv=1'
    }

    /**
     * Controlla se nell'url esiste gia' il carattere '?' inserito da ajax
     */
    var chk_url = url_pag.match(/\?/);

    /**
     * Se non c'e' lo mette, altrimenti se esiste gia' inserisce il simbolo di
     * continuazione della query_string '&'
     */
    if (chk_url != '?')  {

       var sep_url= '?';

     } else {

         var sep_url= '&';
     }

    /**
     * Viene impostata una varibile generata in autenticazione, in ogni chiamata
     * ajax del sistema
     */
    if(typeof(var_ses) != 'undefined')
    {
    	url_ses = url_pag + sep_url + typ +"&get="+var_ses+"";
    }
    else
    {
    	url_ses = url_pag + sep_url + typ;
    }

    return url_ses;
}

/**
 * Visualizza il pannello di registrazione utente 
 * 
 * @param typ tipo di registrazione
 * @return
 */
function pan_reg(typ)
{
	/**
	 * Tira giu' il pannello
	 */
	Effect.toggle('reg_usr','slide');
	
	/**
	 * In caso di nuovo cliente abilita le informazioni supplementari, caricando
	 * il rispettivo template
	 */
	if(typ == 'new')
	{
		req_ajx('tmp/templates/new_cli.tpl', 'post','tmp_reg_usr');
		
		/**
		 * Richiama la query di costruzione della select delle provincie
		 * nella richiesta registrazione dei nuovi clienti
		 */
		req_ajx('qry/cer_cit.php', 'get','lst_prv');
	
	}
	/**
	 * In caso di cliente gia' acquisito carica il rispettivo template
	 */
	else if(typ == 'cli')
	{
		req_ajx('tmp/templates/old_cli.tpl', 'post','tmp_reg_usr')
		
	}
}

/**
 * Carica i dati delle citta' e dei cap
 * @param typ Tipologia di richiesta citta' o cap
 * @param cod_typ Dato di ricerca
 * @return
 */
function car_cit(typ, cod_typ)
{
	if(typ == 'cit')
	{
		ric_ajx('qry/cer_cit.php','get','','usr_cit','','typ_ric='+typ+'&cod_typ='+cod_typ+'');
	}
	if(typ == 'cap')
	{
		req_ajx('qry/cer_cit.php?typ_ric='+typ+'&cod_typ='+cod_typ+'','get','');
		
		/**
		 * Passa il cap al suo campo prelevandolo dalla variabile di supporto
		 */	
		$('usr_cap+Ric').value = var_sup;
	}
}


/**
 * Gestione della spunta nelle classi in selezione
 * 
 * @param cod_cla Codice classe di ricerca
 *
 * @return
 */
function ric_cat(cod_cla, typ_cod)
{
	/**
	 * Debug
	 */
	//alert(typ_cod+'_'+cod_cla)
	/**
	 * Abilita il campo ric_pro disabilitato da car_rgh_ord();
	 */
	$('ric_pro').enable();
	
	/**
	 * Chiamata ajax di ricerca articolo
	 */
	ric_ajx('bin/lst_pro.php','get','frm_pro','lst_pro','','typ_ric=1&lmt=1&ric_pro')
}

/**
 * Viene usato per rendere attiva la label dei radio
 * @param cod_cla
 * @param typ_cod
 * @return
 */
function mod_chk(cod_cla, typ_cod)
{
	/**
	 * Compone l'd del campo da spuntare
	 * 
	 */
	var idd_rad = typ_cod+"_"+cod_cla;
	
	/**
	 * Debug
	 */
	//alert(idd_rad)
	
	/**
	 * Spunta il radio specifico
	 */
	$(''+idd_rad+'').checked = true;
	
	/**
	 * Chiamata ajax di ricerca articolo
	 */
	ric_ajx('bin/lst_pro.php','get','frm_pro','lst_pro','','typ_ric=1&lmt=1')
}


/**
 * Funzione apri finestra zoom immagine
 */
function apr_win(url_win,nom_win,car_win) 
{ 
     window.open(url_win,nom_win,car_win);
}


/**
 * Modifica la visualizzazione delle categorie merceologiche/stagioni
 * 
 * @param pul Azione del pulsante
 * @return
 */
function mod_men_cat(pul)
{
	if(pul == 'cat')
	{
		$('lst_cat').style.zIndex = 1;
		$('sel_cat').style.zIndex = 1;
		
		$('lst_sta').style.zIndex = 2;
		$('sel_sta').style.zIndex = 2;
	}
	
	
	if(pul == 'sta')
	{
		$('lst_cat').style.zIndex = 2;
		$('sel_cat').style.zIndex = 2;
		
		$('lst_sta').style.zIndex = 1;
		$('sel_sta').style.zIndex = 1;
	}
	

}


/**
 * Effettua il check della form di ricerca prodoto
 * @param frm Form di ricerca
 * @return Avviso
 */
function chk_frm_ric(frm)
{/*
	if (frm.ric_pro.value.length < 2 )
	{
		 alert("Inserire almeno 2 caratteri!") ;
		 frm.ric_pro.focus();
		 return (false);
	}
 
	if (frm.ric_pro.value == "Ricerca" )
	{
		 alert("Inserire i termini da ricercare.");
		 frm.ric_pro.focus();
		 return (false);
	}
*/
	if (frm.ric_pro.value.length > 50 )
	{
		alert("Inserire al massimo 50 caratteri.");
		frm.ric_pro.focus();
		return (false);
	}
 
	return true;
}

/**
 * Mette in ordine l'articolo
 */
function ins_rgh(ind_art) 
{

	/**
	 * Recupera il numero ordine e lo registra nella variabile di supporto
	 */
	req_ajx('qry/num_ord.php','get','');
		
	//alert(var_sup);
	
	/**
	 * Recupera il numero ordine
	 */
	var num_prt = var_sup;
	
	/**
	 * Se non esiste il numero ordine ne crea uno di nuovo ed apre l'ordine
	 */
	if(num_prt == '')
	{
		/**
		 * Query di assegnazione del numero ordine
		 */
		ric_ajx('qry/ass_ord.php','post','','','','');
		
		/**
	     * Passa i dati con ajax per inserire nella tabella 'oct' la
	     * parte anagrafica dell'ordine
	     */
		ric_ajx('qry/ana_ord.php','post','','','','');
	}
	/**
	 * Inserimento della riga ordine
	 * 
	 */
	ric_ajx('qry/ins_ord.php','post','','','','ind_art='+ind_art+'');
	
		
	//$('lst_pro').style.display = 'none';
	$('lst_pro').hide();
		
	//$('fil_cat').style.display = 'none';
	$('fil_cat').hide();
	
	//$('rip_car').style.display = 'block';
	$('rip_car').show();
	
	//$('tas_cnf_ord').style.display = 'block';
	$('tas_cnf_ord').show();
	
	/**
	 * Disabilita il campo ricerca articolo
	 */
	$('ric_pro').disable();
	
	/**
	 * Disabilita il tasto ricerca articolo
	 */
	$('ric_pro_inv').disable();
	
	/**
	 * Carica i dati ed il template della lista righe ordine inserite
	 */
	ric_ajx('bin/rgh_ord.php','get','','rgh_ord','tab_1','');
	
	/**
	 * Stampa il totale ordine; tot_ord=1 e' una variabile di scatto
	 */
	ric_ajx('bin/tot_ord.php?tot_ord=1','get','','val_car_2');
	
	req_ajx('qry/ott_pro.php?ind_art='+ind_art+'','get','');
	
	/**
	 * Recupera il codice prodotto passato per l'inserimento
	 */
	var alf_pro = var_sup;
	
	/**
	 * Assegna il fuoco al campo quantitˆ
	 * **sospeso**
	 */
	//$(alf_pro).focus();
	
	/**
	 * Controlla il minimo ordinabile
	 */
	//chk_tot_ord();
}

/**
 * Richiama la funzione di cancellazione ordine, prima per˜ evidenzia la riga
 * da cancellare per 2 sec
 * 
 * @param num_prt
 * @param num_prg
 * @param alf_mag
 * @return
 */
function del_rgh_tim(num_prt, num_prg, alf_mag)
{

	$('div_'+alf_mag).style.display = '';
	
	setTimeout("del_rgh('"+num_prt+"', '"+num_prg+"', '"+alf_mag+"')", 2000);
}

/**
 * Cancella una riga d'ordine
 */
function del_rgh(num_prt, num_prg, alf_mag) 
{
	
	/**
     * Richiede la cancellazione della riga ordine
     */
	ric_ajx('qry/del_rgh.php','get','','','','del_rgh=1&num_prt='+num_prt+'&num_prg='+num_prg+'');

	/**
	 * Carica i dati ed il template della lista righe ordine inserite
	 */
	ric_ajx('bin/rgh_ord.php','get','','rgh_ord','tab_1','');
	
	/**
	 * Stampa il totale ordine; tot_ord=1 e' una variabile di scatto
	 */
	req_ajx('bin/tot_ord.php?tot_ord=1','get','val_car_2');
	
}

/**
 * Richiesta di chiusura ordine
 * @return
 */
function ric_cnf()
{
	/**
	 * Visualizza il box di chiusura
	 */
	Effect.toggle('rip_car_mes','slide', { duration: 0.3});
 
	ric_ajx('qry/chi_ord.php','get','','dat_car_mes','','ric_cnf=1')
}


/**
 * Chiudi/conferma ordine
 */
function chi_ord(num_prt) 
{
	//alert(num_prt);

	ric_ajx('qry/chi_ord.php','get','','dat_car_mes','','chi_ord='+num_prt);
    
	/**
	 * Elimina il tasto "continua acquisti"
	 */
    $('tas_con_sho').show();
    
    /**
	 * Elimina il tasto "conferma ordine"
	 */
    $('tas_cnf_ord').hide();
    
    
    /**
     * Abilita il tasto di "vai al catalogo"
     */
    $('tas_vai_cat').hide();
       
    /**
     * Raccoglie i campi input di quantita' ordinata 
     */
    var ele_qta = document.getElementsByName("qta_ord");
    
    /**
     * Cicla l'array dei campi input 'qta_ord' e li disabilita
     */
    for(var i=0; i<ele_qta.length; i++)
    {
    	/**
    	 * Debug
    	 */
    	//alert(ele_qta[i].id)
    	
    	ele_qta[i].disabled = 'true';
    
    }
    
    /**
     * Raccoglie i campi tasto rimuovi 
     */
    var ele_rim = document.getElementsByName("tas_rim_rgh");
    
    /**
     * Cicla l'array dei campi rimuovi' e li disabilita
     */
    for(var i=0; i<ele_rim.length; i++)
    {
    	/**
    	 * Debug
    	 */
    	//alert(ele_rim[i].id)
    	
    	ele_rim[i].style.display = 'none';
    
    }
    
    /**
     * Costruisce il file pdf dell'ordine
     */
    req_ajx('pdf/pdf_exe.php?num_prt='+num_prt,'get','');
    
    /**
     * Visualizza l'icona del pdf
     */
    $('pdf_cnf').show();
}


/**
 * Richiama il carrello con le righe ordine
 * @return
 */
function car_rgh_ord()
{
	
	/**
	 * Recupera il numero ordine e lo registra nella variabile di supporto
	 */
	req_ajx('qry/num_ord.php','get','');
		
	//alert(var_sup);
	
	/**
	 * Recupera il numero ordine
	 */
	var num_prt = var_sup;
	
	if(num_prt != '')
	{
		if($('rgh_ord').style.display == 'none')
		{
			$('lst_pro').hide();
			
			$('fil_cat').hide();
			
			$('rip_car').show();
			
			/**
		     * Carica i dati ed il template della lista righe ordine inserite
		     */
			ric_ajx('bin/rgh_ord.php','get','','rgh_ord','tab_1','');
			
			/**
			 * Stampa il totale ordine; tot_ord=1 e' una variabile di scatto
			 */
			req_ajx('bin/tot_ord.php?tot_ord=1','get','val_car_2');
			
			/**
			 * Controlla il minimo ordinabile
			 * Bloccata la visualizzazione in rosso 04/12/09
			 */
			//chk_tot_ord();
			
			}
	}
	
	/**
	 * In caso di carrello vuoto
	 */
	else
	{
		//alert("In questo momento il carrello non contiene prodotti.")
		
		$('rip_car').style.display = 'block';
		
		$('rip_car_mes').show();
		
		$('tas_cnf_ord').hide();
		
		$('lst_pro').hide();
		
		$('fil_cat').hide();
		
		/**
		 * Visualizza la dicitura solo se non esiste
		 */
		if(!$('txt_ros'))
		{
			var str_txt = "<span id='txt_ros' class='txt_ros'>In questo momento il carrello non contiene prodotti.</span>";
			
			/**
			 * Inserisce la dicitura di carrello vuoto
			 */
			$('dat_car_mes').insert({'top': str_txt});
			
		}
	}
	
	/**
	 * Disabilita il campo ricerca articolo
	 */
	$('ric_pro').disable();
	
	/**
	 * Disabilita il tasto ricerca articolo
	 */
	$('ric_pro_inv').disable();
}

/**
 * Controlla il minimo ordinabile
 * Chiamato da car_rgh_ord()
 * 			   
 * @return
 */
function chk_tot_ord()
{
	/**
	 * Recupera il contenuto del totale ordine
	 */	
	var tot_ord = $('val_ord').innerHTML;
	
	/**
	 * Prende solo le cifre del totale
	 */
	var chk_tot = tot_ord.match(/^[0-9]*/);
	
	/**
	 * Debug
	 */
	//alert(chk_tot);
	
	/**
	 * Visualizza le diciture in rosso se l'ordinativo e' sotto i 250 altrimenti
	 * visualizza il testo in modo normale
	 */
	if(chk_tot < 250)
	{
		$('val_ord_vis').addClassName('num_tot_mod');
		$('inf_tot').addClassName('num_tot_mod');
		$('tas_cnf_ord').style.display = 'none';
		alert(chk_tot);
	}
	else
	{
		$('val_ord_vis').addClassName('num_tot');
		$('inf_tot').addClassName('');
		$('tas_cnf_ord').style.display = '';
	}

	
}


/**
 * Chiamata di continua gli acquisti dal carrello
 * @return
 */
function con_sho()
{
	/**
	 * Abilita il campo ric_pro disabilitato da car_rgh_ord();
	 */
	$('ric_pro').enable();
	
	/**
	 * Abilita il tasto ricerca articolo
	 */
	$('ric_pro_inv').enable();

	/**
	 * Visualizza i filtri e gli articoli
	 */
	$('lst_pro').show();
	
	$('fil_cat').show();
	
	/**
	 * Nasconde il carrello e le righe ordine
	 */
	$('rgh_ord').hide();
	
	$('rip_car').hide();
	
	$('rip_car_mes').hide();
	
	/**
	 * Elimina la visualizzazione del totale ordine nel carrello di supporto solo
	 * se e' evidenziato
	 */
	if($('txt_cnf'))
	{
		$('val_car_2').hide();
		
		/**
		 * File pdf
		 */
		$('txt_cnf').hide();
	}
}

/**
 * Assegna un timeout all'aggiornamento delle quantita' per dare il tempo di 
 * digitare piu' cifre
 * 
 * @param ele		Elemento di modifica
 * @param num_prt 	Numero ordine
 * @param num_prg	Numero progressivo riga
 * @param pag_nav	Pagina di navigazione per posizinamento dopo la modifica
 * @return 
 */
function mod_qta_tim(ele, num_prt, num_prg, pag_nav)
{
	setTimeout("mod_qta('"+ele+"','"+num_prt+"','"+num_prg+"','"+pag_nav+"')", 2000);
	
	}

/**
 * Modifica la quantita' e prezzo nella lista delle righe ordine
 * 
 * @param ele		Elemento di modifica
 * @param num_prt 	Numero ordine
 * @param num_prg	Numero progressivo riga
 * @param pag_nav	Pagina di navigazione per posizinamento dopo la modifica
 * @return Chiamate ajax varie
 */
function mod_qta(ele, num_prt, num_prg, pag_nav)
{
	/**
	 * Quantita' ordinata
	 */
	var val_ele =  $F(ele);
	
	/**
	 * Controlla che il valore inserito non sia 0
	 */
	if(val_ele == 0)
	{
		alert('Il valore 0 non e\' accettato, vai su rimuovi per eliminare il prodotto.')
				
		$(ele).value = 1;
		
		val_ele = 1;
	}
	
	/**
	 * Debug
	 */
	//alert(ele +"> "+val_ele+"ord"+num_prt);
	
	ric_ajx('qry/edt_ord.php','get','','','','num_prt='+num_prt+'&num_prg='+num_prg+'&alf_pro='+ele+'&qta_ord='+val_ele+'');
	
	/**
     * Carica i dati ed il template della lista righe ordine inserite
     */
	ric_ajx('bin/rgh_ord.php','get','','rgh_ord','tab_1','&pag_nav='+pag_nav+'');
	
	/**
	 * Stampa il totale ordine; tot_ord=1 e' una variabile di scatto
	 */
	req_ajx('bin/tot_ord.php?tot_ord=1','get','val_car_2');
	
	/**
	 * Controlla il minimo ordinabile
	 * Bloccata la visualizzazione in rosso 04/12/09
	 */
	//chk_tot_ord();
}


/**
 * Popola uno specifico div
 *
 * div_idd = id del div
 * htm = testo da inserire nel div
 */
function scr_div(div_idd, htm) {

    if (document.getElementById && !document.all) {

        // Crea il range dove inserire il testo
        rng = document.createRange();

        // Seleziona il div dove operare l'inserimento
        ele = document.getElementById(div_idd);
        rng.setStartBefore(ele);
        fr = rng.createContextualFragment(htm);

        while (ele.hasChildNodes())
            ele.removeChild(ele.lastChild);
            ele.appendChild(fr);
        }
        else {
            document.getElementById(div_idd).innerHTML = htm
        }
}

/**
 * Ottiene l'elemento form che ha il focus
 */
function get_ele_foc() {
    
    var ele = document.activeElement.id;
    
    return ele; 
} 

/**
 * Controlla solo i campi numerici nelle quantita'
 */
function sol_num(e) 
{
	/**
	 * Accetto solo numeri, tastierino numerico e backspace e <-
	 */
	if ( ((e.keyCode >= 48) && (e.keyCode <= 57)) ||
		 ((e.keyCode >= 96) && (e.keyCode <= 105)) || 
		  (e.keyCode == 8) || (e.keyCode == 46) || 
		  (e.keyCode == 37) || (e.keyCode == 39)) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}

