// JavaScript Document
 	//Larghezza finestra carrello
	var w=800;
	var ID_USER;
	var id_giocattolo;
	var qta_richiesta;
	var result;
	var id_arr;
	function IsNumber(Expression)
	{
		Expression = Expression.toLowerCase();
		RefString = "0123456789.-,";
		
		if (Expression.length < 1) 
			return (false);
		
		for (var i = 0; i < Expression.length; i++) 
		{
			var ch = Expression.substr(i, 1);
			var a = RefString.indexOf(ch, 0);
			if (a == -1)
				return (false);
		}
		return(true);
	}
	
	//Visualizzo il carrello
	function mostraCarrello(user){

		if (user=="-1" || user==null) {
			alert ("Effettuare il login prima di aggiungere prodotti al carrello");
			return;
		}		
	 	ID_USER=user;
		
	
		if (document.all){
			//IE
			//TINY.box.show('include/cart/stampa_ie.php?user='+user,1,w,0,1);
			jQuery.facebox({ ajax: 'include/cart/stampa_ie.php?user='+user});			
			
		}else{
			jQuery.facebox({ ajax: 'include/cart/stampa.php?user='+user});
			//TINY.box.show('include/cart/stampa.php?user='+user,1,w,0,1);
			//facebox.loading();
            //facebox.reveal('include/cart/stampa.php?user='+user, null);
            //new Effect.Appear(facebox.facebox, {duration: .3});
				
		
		}
		controllaSpese();
		//nascondiAvvisoSpese();
		timerid=setTimeout(totaleCarrello,1500);
	


	}
	//Aggiunge un prodotto al carrello
	function aggiungiCarrello(id,qta,user){
		
		var stato;
		//Caontrollo che l'user si sia loggato
		if (user=="-1" ) {
			alert ("Effettuare il login prima di aggiungere prodotti al carrello");
			return;
		}	
	
		ID_USER=user;		

		id_giocattolo=id;
		id_arr+=id+";";
		//RIsultato dell'inserimento
		stato=aggiungiArticolo(id,qta);
		
		result=stato;
		
		mostraCarrello(user);
	
		timerid=setTimeout(verificaDisponibilita,3000);

					
		

		//Controllo disponibilita articolo aggiunto al carrello
		//timerid=setTimeout(verificaQtaArticolo,2000);
		
		
		//Totale carrello
		timerid=setTimeout(totaleCarrello,2000);
		
	
		
	}
	function verificaDisponibilita(){
		id=id_giocattolo;
		stato=result;
	
		if (stato[0]=='false'){
			//La quantità richiesta è superiore a quella disponibile meno la giacenza
			//quindi modico il valore

				qta_reale=stato[1];

				$('qta'+id).value=qta_reale;
				
				qta_tmp=qta_reale;
			
				//Visualizzo prodotto modificato
				$('qta_modificate').value="La quantit&agrave di "+ $('qta'+id).value +" pezzi del prodotto\""+ +$('nome'+id).value +"\" &egrave; stata aggiornata in base alla massima disponibilit&agrave; in magazzino di "+ qta_reale;t
				
				//Visualizzo avviso
				//Effect.SlideDown('avviso');
				$('avviso').show();	

				//TINY.box.altezza($('avviso').style.height);						
							

		}		
	}
	
	function aggiungiArticolo(id,qta){

		var risp;

		
		if(qta>0) var options="id="+id+"&qta="+qta+"&id_utente="+ID_USER;
			else var options = "id="+id+"&id_utente="+ID_USER;

		new Ajax.Request('include/cart/aggiungi.php',
		{
			method:'get',
			parameters:options,
			asynchronous: false,
			onSuccess:function(data,objson){
				stato=data.responseText.split(";");
				risp= stato;
		}
		});
		
		return risp;
			
	}
	
	//Elimina un giocattolo dal carrello
	function eliminaGiocattolo(id){
		var options="id="+id+"&id_utente="+ID_USER;	

		new Ajax.Request('include/cart/delete.php',
		{
			method:'get',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);
			}
		});		
		$(''+id+'').hide();
	
		//TINY.box.altezza();
		timerid=setTimeout(totaleCarrello,500);
		
		
		//totaleCarrello();
		//TINY.box.hide();
		//TINY.box.show('include/cart/stampa.php',1,w,0,1);

	}
	function avviaTotaleRiga(id,qta){
		id_giocattolo=id;
		qta_richiesta=qta;
		timerid=setTimeout(totaleRiga,1500);
		
		//Riabilito pulsante vai alla cassa
		$('goCassa').disabled=false;
		//Azzero stile controllo
		//$('qta'+id).style.border='1px solid #ccc';
		$('qta'+id).style.background='white';
	}
	
	function controllaQta(){
	//Controllo che tutte le quantita' siano numeri
	   var f=document.getElementById('formCarrello');
		// ciclo per tutti i form della pagina
		for(var k=1;k<f.length;k++){
			
			var el=f.elements;

			// ciclo per tutti gli elementi del form
			for(var j=0;j<el.length;j++){
				var t=el[j].type;
				// se l' elemento e' una select
				if(t=='text'){
					name=el[j].id;
					name=name.substr(0,3);
					if(name=='qta'){
						if(!IsNumber(el[j].value) || el[j].value=='0'){
							//alert(el[j].value);
							//alert('non è un unmero');
							return false;
						}
					}
				}
			}
		}
		return true;
	}

	function totaleRiga(){

		id=id_giocattolo;

		qta=$('qta'+id).value;
		var prezzo;
		var qta_new;
		var qta_old;
		var qta_tmp;
		//alert(qta+" "+id);
		
		//Controllo che sia un numero
		if(!IsNumber(qta)){
			//alert('Quantità inserita non valida.');
			//Evidenzio campo qta errato
			//$('qta'+id).style.border='3px solid #CC0000';
			$('qta'+id).style.background='#FF6666';
			$('goCassa').disabled=true;
			//$('qta'+id).value=$('quantita_old'+id).value;
			return;
		}
		
		//Controllo che sia maggiore di 0
		if(qta<1){
			//Evidenzio campo qta errato
			//$('qta'+id).style.border='3px solid #CC0000';
			$('qta'+id).style.background='#FF6666';
			$('goCassa').disabled=true;
			//$('qta'+id).value=$('quantita_old'+id).value;
			return;			
		}
		//Prezzo della riga
		prezzo=$('prezzo'+id).value;
		
		//Vecchia Quantità
		qta_old=parseInt($('quantita_old'+id).value);
		
	
		//Nuova quantita
		qta_new=parseInt(qta)-parseInt(qta_old);
	
		qta_tmp=qta_old+qta_new;

		//Verifico che sia disponibile la nuova quantità richiesta

		var options="id="+id+"&qta="+qta_tmp;	

		new Ajax.Request('include/cart/verificaQta.php',
		{
			method:'get',
			parameters:options,
			asynchronous: false,			
			onSuccess:function(data,objson){

				qta_reale=data.responseText;

				if(qta_reale<qta_tmp){
					//alert('sono qui');
					//La quantita richiesta non è disponibile, quindi inserisco la quantita massima 
					//e visualizzo un avviso
					qta=qta_reale;
					//Imposto qta disponibile
					$('qta'+id).value=qta_reale;
				
					
					//Visualizzo prodotto modificato
					//$('qta_modificate').value=" - "+$('nome'+id).value;
					
					//Visualizzo prodotto modificato
					$('qta_modificate').value="La quantità di "+ qta_tmp +" pezzi del prodotto \"" +$('nome'+id).value +"\" è stata aggiornata in base alla massima disponibilità in magazzino di "+ qta_reale;
				
					qta_tmp=qta_reale;			
					
					//TINY.box.altezza($('avviso').style.height);
					
					//Visualizzo avviso
				    //Effect.SlideDown('avviso');
					$('avviso').show();	
					
					timerid=setTimeout(nascondiAvvisoQta,5000);
			
				}else{
					//Va bene la quantità richiesta
					$('qta'+id).value=qta_tmp;
					
					//Aggiorno vecchia quantita
					$('quantita_old'+id).value=qta_tmp;
					//alert(id);
					
					//Nascondo Avviso
					
					

			

				
	
				}
					//Modifico quantita articolo
					aggiungiArticolo(id,qta_tmp);		
	
					//Totale riga
	
					tot=qta_tmp*prezzo;
					
					//Formatto numero
					tot=tot.toFixed(2);
					
	
				$('totale'+id).value = tot;
						
				timerid=setTimeout(totaleCarrello,1000);
				
				//Aggiorno totale carrello
				totaleCarrello();	

			}
		});	
		
		

		
		

	}
	
	//Calcola e visualizza il totale del carrello
	function totaleCarrello(){
		var tot;
		var risp;
		var peso;
		var vecchio_peso;
		var rang_peso='';
		
		//Vecchio peso
		var options="action=getPeso";
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			asynchronous: false,			
			onSuccess:function(data,objson){
				//alert("Vecchio peso: "+data.responseText);			
				vecchio_peso=data.responseText;
			}
		});	
		
		
		var options="id_utente="+ID_USER;
		new Ajax.Request('include/cart/totale.php',
		{
			method:'get',
			parameters:options,
			asynchronous: false,			
			onSuccess:function(data,objson){
				
				//Mi restituisce il totale del carrello e il peso separti da ;
				
				risp=data.responseText;
				//alert(risp);
				risp=risp.split(";");
				
				//Totale del carrello
				tot=risp[0];
								
				//Peso del carrello
				peso=risp[1];				
				
				$('peso_carrello').value=peso+" ; "+vecchio_peso;
				//Spese di spedizione in base al carrello
				//Peso<=30
				//valore 1=9.90
				//valore 2=14.90
				//Peso >30
				//valore 1=24.90
				//valore 2=29.90
			
						
				if(peso>=0 && peso<= 30){
					$('spese1').value = '9.90';
					$('spese2').value = '14.90';	
					rang_peso=1;
				}
				
				if(peso>=30.01 && peso<= 50){
					$('spese1').value = '24.90';
					$('spese2').value = '29.90';
					rang_peso=2;					
				}
				
				if(peso>=50.01 && peso<= 70){
					$('spese1').value = '39.90';
					$('spese2').value = '44.90';
					rang_peso=3;					
				}
				if(peso>=70.01 && peso<= 90){
					$('spese1').value = '49.90';
					$('spese2').value = '54.90';
					rang_peso=4;					
				}
				if(peso>=90.01 && peso<= 110){
					$('spese1').value = '59.90';
					$('spese2').value = '64.90';
					rang_peso=5;					
				}
				if(peso>=110.01){
					$('spese1').value = '69.90';
					$('spese2').value = '74.90';
					rang_peso=6;					
				}				
				
				
				
				//Vecchio vecchio_peso
				if(vecchio_peso>=0 && vecchio_peso<= 30)rang_vecchio_peso=1;
							
				if(vecchio_peso>=30.01 && vecchio_peso<= 50)rang_vecchio_peso=2;					
								
				if(vecchio_peso>=50.01 && vecchio_peso<= 70)rang_vecchio_peso=3;					
				
				if(vecchio_peso>=70.01 && vecchio_peso<= 90)rang_vecchio_peso=4;					
				
				if(vecchio_peso>=90.01 && vecchio_peso<= 110)rang_vecchio_peso=5;					
				
				if(vecchio_peso>=110.01)rang_vecchio_peso=6;					
				
				
				//alert( peso +" : "+vecchio_peso);
				//Controllo se c'è stata una variazione di peso significativa
				if ( rang_peso!=rang_vecchio_peso){
					//alert ("sono dentro");
					//Controllo se è già stato scelto un tipo di spedizione per il carrello
					if ($('riepilogo_spedizione').style.display!='none'){
						//E' stato selezionato un tipo di spedizione
						//quindi devo aggiornare le variabili di sessione con il nuovo valore
									var options="action=set&tipo=spedizione&ass=ok&val=0";
									new Ajax.Request('include/cart/salva_spese.php',
									{
										method:'post',
										parameters:options,
										onSuccess:function(data,objson){
											//vecchie_spese=(data.responseText);									
										}
									});
									
									visualizzaSpedizioni();
									
									alert("Riselezionare le spese di spedizione in quanto il peso totale del carrello è variato");
					}
				}
				$('totaleCar').value=tot;

				//Totale carrello (prodotti + spedizione)
				pro=tot;
				
				pro=pro.replace(" ","");
				
				pro=pro.replace(",",".");
				
				pro=Number(pro);

	
				//Salvo il nuovo peso
				var options="action=set&tipo=peso&val="+peso;
				new Ajax.Request('include/cart/salva_spese.php',
				{
					method:'post',
					parameters:options,
					onSuccess:function(data,objson){
						//vecchie_spese=(data.responseText);									

					}
				});
				
			
				if($('tot_spedizione').value!=""){
					spe=$('tot_spedizione').value;
					
					spe=spe.replace(",",".");
					
					spe=spe.replace(" ","");
					
					spe=Number(spe);			
				}else spe=0;

				
				//Sconto
				if($('val_sconto')){
				var sconto=$('val_sconto').value;
							
				if (sconto=="")sconto=0;
				
				sconto=sconto.replace(",",".");
				
				sconto=Number(sconto);
				}else{
					sconto=0;
				}
				
				if (tot!="0.00"){

					tot=spe+pro-sconto;
					tot=tot.toFixed(2);				
				}else{
					tot="0.00";	
				}
			

				
				
				$('totc').value=tot;				
			}
		});		
		

		
	}
	function visualizzaSpedizioni(){
		
		//Azzero radio e check
		$('tipo1').checked=false;
		$('tipo2').checked=false;
		$('ass').checked=false;
		
		//Nascondo riepilogo spedizione
		$('riepilogo_spedizione').hide();
			 
		//Visualizzo riga riepilogo descizione
		$('scelta_spedizione').show();		

			
		//TINY.box.altezza();
//Visualizzo Spedizioni
		
	}
	//Gestisce i costi spedizione
	function calcolaSpe(id_spese,label,tipo){
	
		//Formatto numero
		//tot=tot.toFixed(2);
		//Recupero valore delle spede di spedizione
		val=$(id_spese).value;
				
		val=Number(val);
		
		val=val.toFixed(2);
		
		$('tot_spedizione').value=val;
		
		//Tipo di spedizione scelta
		$('tipo_spe').value=label;
		
		resize($('tipo_spe'));		
		timerid=setTimeout(visualizzaRiepilogo,5000);
		
		//Aggiorno totale carrello
		tot=$('totaleCar').value;
		
		tot=tot.replace(",",".");
		
		tot=tot.replace(" ","");
		
		tot=Number(tot);
		
		spe=$('tot_spedizione').value;
		
		spe=Number(spe);
		
		var options="action=set&tipo=spedizione&tipo_spe="+label+"&val="+val;
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);			
				
			}
		});	
		
		totaleCarrello();

		
	}
	function addAss(val,label){
		if($('tipo1').checked==false && $('tipo2').checked==false){
			alert('Selezionare prima il tipo spedizione.');
			$('ass').checked=false;
			return;
		}
		var tot=Number($('tot_spedizione').value);
		
		tot=tot+Number(val);
		
		tot=tot.toFixed(2);
		
		$('tot_spedizione').value=tot;
		
		$('tipo_spe').value +=" "+label;
		resize($('tipo_spe'));		
		//Salvo ass
		
		var options="action=set&ass=ok&val="+val+"&label="+label;
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);			
				
			}
		});		
		
		totaleCarrello();
	}
	
	function applica_sconto(val,label){


		applica='ok';
		if($('sconto').checked==false){
			label='Nessuno sconto';
			val=0;
			applica='no';
		}
		$('val_sconto').value=val;
		//$('val_sconto') = ($('val_sconto').value.length / 2.5)+'em';

		$('tipo_sconto').value =label;
   		resize($('tipo_sconto'));
		var options="action=set&sconto="+applica+"&val="+val+"&label="+label;
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);			
				
			}
		});	
		
		timerid=setTimeout(visualizzaRiepilogoSconto,1000);
	
		
		totaleCarrello();			
	}
	function visualizzaSconto(){
		//Nascondo scelta spedizione
		 $('riepilogo_sconto').hide();
		 
		//Visualizzo riga riepilogo descizionescelta_sconto
		 $('scelta_sconto').show();

		//Se spuntato l'assicurazione sommo il valore
		
		//Visualizzo il tipo d
		//TINY.box.altezza();
	}
	function visualizzaRiepilogoSconto(){
		//Nascondo scelta spedizione
		 $('scelta_sconto').hide();
		 
		//Visualizzo riga riepilogo descizione
		 
		  $('riepilogo_sconto').show();
		//Se spuntato l'assicurazione sommo il valore
		
		//Visualizzo il tipo d
		//TINY.box.altezza();
	
	}
	
	function visualizzaRiepilogo(){
		//Nascondo scelta spedizione
		 $('scelta_spedizione').hide();
		 
		 $('riepilogo_spedizione').show();
		//Visualizzo riga riepilogo descizione
		// Effect.SlideDown('riepilogo_spedizione');
		//Se spuntato l'assicurazione sommo il valore
		
		//Visualizzo il tipo d
		//TINY.box.altezza();
	}

	function aggiornaProdottiNum(){

		var options;
		new Ajax.Request('include/cart/num_pro.php?user='+ID_USER,
		{
			method:'get',
			parameters:options,
			onSuccess:function(data,objson){
				tot=data.responseText;
				if(tot=="" || tot==null)tot=0;
				$('numero_pro').value='Il tuo carrello contiene:\n'+tot+' prodotti.';
			}
		});
		
	}
	
	function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}      
	function inviaCarrello(){
		if(!controllaQta())return;
		//Controllo che siano state selezionate le spese di spedizione	
		if($('tipo1').checked==false && $('tipo2').checked==false){
			alert('Selezionare prima il tipo spedizione.');
			$('ass').checked=false;
			return;
		}
		
		if($('bonifico').checked==false && $('paypal').checked==false){
			alert('Selezionare prima il tipo di pagamento.');
			$('ass').checked=false;
			return;			
		}
		//controllo che il carrello non sia vuoto
		if($('totaleCar').value=='0.00'){
			alert('Il carrello è vuoto.');
			return;
		}
		$('formCarrello').submit();
		
	}
	function controllaSpese(){
		var options='action=getAss';
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);
				ass=data.responseText;
				if(ass=="ok"){
					//alert('qe');
					//visualizzaRiepilogo();
				//alert($('ass').checked);
					//addAss(3,'Pacco Assicurato');
					
				}
			}
		});
		options='action=getSpe';
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);
				spe=data.responseText;
				if(spe!=""){
					//if(spe=="9.90")$('tipo1').checked=true;
					//if(spe=="14.40")$('tipo2').checked=true;
					visualizzaRiepilogo();
				//alert($('ass').checked);
					//addAss(3,'Pacco Assicurato');
					
				}
			}
		});		
				
	}
	function setPagamento(tipo){
		var options="action=set&tipo=pagamento&val="+tipo;
		new Ajax.Request('include/cart/salva_spese.php',
		{
			method:'post',
			parameters:options,
			onSuccess:function(data,objson){
				//alert(data.responseText);			
				
			}
		});			
		
		//Visualizzo il tipo d
		//TINY.box.altezza();
	
	
		$('tipo_pag').value=tipo;
		$('scelta_pagamento').hide();
		$('riepilogo_pagamento').show();
		resize($('tipo_pag'));

	}
	function resize(el){
		$(el).style.width = ($(el).value.length / 1.9)+'em';
	}
	
	//Importo spese di spedizione
	function visualizzaAvvisoSpese(){
		alert('');
		$('avviso_spedizione').style.display='block';
	}
	
	function nascondiAvvisoSpedizione(){
	$('avviso_spedizione').style.display='none';
	}
	
	function nascondiAvvisoQta(){
		$('avviso').hide();	
	}