// JavaScript Document

function loadArticoliCarrello(updateIN){
	
	$('#carrelloUpd').block({message:'<img src="/img/loading.gif">'}); 
	
	if (updateIN==0){
		
		// Carico i ati all'arrivo nella pagina
	
		$.post("/getHTML/getArticoliCarrello.php",{update: updateIN},
		   
			function(data){	$('#carrelloUpd').html(data); aggiornaEtichettaQuantita(); $('#carrelloUpd').unblock();});
	
	} else {
		
		// Carico i dati al submit del form	
		
		var options = { 			
			target:     '#carrelloUpd',
			url:        '/getHTML/getArticoliCarrello.php',
			success:  	function(){ aggiornaEtichettaQuantita(); $('#carrelloUpd').unblock(); }
		}; 
		
		document.carrello_frm.ToDo.value = "update";
		
		$('#carrello_frm').ajaxForm(options);
		$('#carrello_frm').submit();
	
	}
	
}

function aggiornaSpedizione(){
	
	$('#carrelloUpd').block({message:'<img src="/img/loading.gif">'});
	
	// Carico i dati al submit del form	
		
	var options = { 
				dataType : 	'json',
				url:        '/shop/ajax_ToDoCarrello.php',
				success:  	function(){ aggiornaEtichettaQuantita(); $('#carrelloUpd').unblock(); }
			}; 
			
	document.carrello_frm.ToDo.value = "aggiornaSpedizione";

	$('#carrello_frm').ajaxForm(options);
	$('#carrello_frm').submit();
	
}

function eliminaArticolo (id_prodottoCongelato){
	
	$('#carrelloUpd').block({message:'<img src="/img/loading.gif">'});
	
	// Carico i dati al submit del form	
		
	var options = { 			
		target:     '#carrelloUpd',
		url:        '/getHTML/getArticoliCarrello.php',
		success:  	function(){ aggiornaEtichettaQuantita(); $('#carrelloUpd').unblock(); }
	}; 
	
	document.carrello_frm.id_prodottoCongelato.value = id_prodottoCongelato;
	document.carrello_frm.ToDo.value = "eliminaArticolo";
	
	$('#carrello_frm').ajaxForm(options);
	$('#carrello_frm').submit();
	
}

// Quando l'utente non è logato presento il Div della richiesta di autenticazione
function notLogged (){
	
	$("#loginErrMsgProcedi").fadeIn("fast");
	
}

//Aggiorno l'etichetta della quantità in altro a destra

function aggiornaEtichettaQuantita(){
	
	// carrelloSTR = (lang=='en') ? "SHOPPING CART" : "CARRELLO";
	
	// $("#n_prodotti > img").attr("src","/lib/textMenuTopCarrelloOFF.php?text="+ carrelloSTR +" ( "+ nPrdCarrello +" )%20");
	
	// commentato per errore js sul carrello
	// $("#rollOverNum").attr("src","/lib/textMenuTopCarrelloOFF.php?text=( "+ nPrdCarrello +" )%20");
	
	$('a[rel*=facebox]').facebox();
	
}

// Display del relativo div per utente privato o Azienda

function displayTipo_utente (tipo){
	
	if (tipo=='privato') $('#tipologia_utente_azienda').fadeOut('fast', function(){ $('#tipologia_utente_privato').fadeIn('fast'); });
	else $('#tipologia_utente_privato').fadeOut('fast', function () { $('#tipologia_utente_azienda').fadeIn('fast'); });
	
}

//Display della parte di form per la richiesta fattura
function checkDisplayFattura (me){
	
	if (me.checked) $("#scelta_tipologia").slideDown('fast');
	else $("#scelta_tipologia").slideUp('fast');
	
}

//Quando l'utente è logato e vuole proseguire valido i dati

function ctrlform_it(){
	ctrlform_base(true);
}

function ctrlform(){
	ctrlform_base(false);
}

function ctrlform_base(is_contrassegno) {
	
	if (!isProcessable){
	
		alert (strError);
		
		return;
	
	}
	
	//Convalido il form
	var valido = $("#carrello_frm").valid();
	if (!valido) return;
	
	//Controllo il cap dell'utente
	var cap = checkCap(document.carrello_frm.cap.value);
	
	if (!cap){
	
		alert (error_cap);
		
		return;
	
	}
	
	//Controllo il cap di invio
	cap = checkCap(document.carrello_frm.cap_con.value);
	
	if (!cap){
	
		alert (error_cap);
		
		return;
	
	}
	
	//Se sono in Italia controllo i dati per l'eventuale fatturazione
	if (italia){
	
		var ctr_fattura = check_dati_fattura();
		if (!ctr_fattura) return;
	
	}

	if (is_contrassegno) {
		var pagamento_modalita = checkModalitaPagamento();
		
		//Conbtrollo il pagamento (agree)
		if (pagamento_modalita) pagamento = checkPagamento();
	
		//Se tutto è ok invio il form
		if (valido && pagamento_modalita && pagamento){
	
			$.blockUI();
			
		
			var options = { 
				dataType : 	'json',
				url:        '/shop/ajax_ToDoCarrello.php',
				success:  	goNext,
				error: goNext
			}; 
			
			document.carrello_frm.ToDo.value = "salvaDatiCarrello";
		
			$('#carrello_frm').ajaxForm(options);
			$('#carrello_frm').submit();

		}

	} else {	
		pagamento = checkPagamento();
		
		//Se tutto è ok invio il form
		if (valido && pagamento){
	
			$.blockUI();
		
			var options = { 
				dataType : 	'json',
				url:        '/shop/ajax_ToDoCarrello.php',
				success:  	goNext
			}; 
			
			document.carrello_frm.ToDo.value = "salvaDatiCarrello";
		
			$('#carrello_frm').ajaxForm(options);
			$('#carrello_frm').submit();

		}
	}	

}



function goNext (responseText, statusText){ 
	
	if (responseText.result == 'true') {
		$.unblockUI();
		document.location.href="shopping_cartSum.php";
	}
	else alert("Errore nella creazione del carrello");
	
	
}

function ControllaValore(me){
	if (me.value<=0) {
		me.value=1;
		alert ("La quantità deve essere maggiore di 0");
	}
}

function checkCap(cap){
	
	// modifica per togliere controllo CAP
	return true;
	
	if (cap_obl){
		
		if (cap.length != cap_ncar) return false;
		if ((cap_number)&&(isNaN(cap))) return false;
		
	} else return true;
	
	return true;
	
}

//Controllo della fatturazione per l'Italia

function controllaCF(cf){
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return 'Errore';
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return "La lunghezza del codice fiscale non è\n"
		+"corretta: il codice fiscale dovrebbe essere lungo\n"
		+"esattamente 16 caratteri.\n";
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return "Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
		return "Il codice fiscale non è corretto:\n"+
			"il codice di controllo non corrisponde.\n";
	return "";
}

	
function controllaPIVA(pi){
	
	if( pi == '' )  return 'Errore';
	if( pi.length != 11 )
		return "La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n";
	return '';
	
}
	
function check_dati_fattura() {     
	if (!document.carrello_frm.fattura.checked) return true;
	else {
		form_obj = document.forms['carrello_frm'];
		var tipo_utente = (form_obj.tipo_utente[0].checked) ? "privato" : "azienda";
		cod_fisc = (tipo_utente == "privato"?form_obj.codicefiscale_privato.value:form_obj.codicefiscale_azienda.value);
		p_iva	 = form_obj.partitaiva.value;
		ragione_sociale = form_obj.ragionesociale.value;      
		
		if (tipo_utente == "privato") 
			if (controllaCF(cod_fisc) == "") return true;
			else { 
				alert('Se desideri la fattura devi inserire il Codice Fiscale corretto. Grazie');
				return false;
			}	    
		else if (	(form_obj.ragionesociale.value !="") &&	
					/*( controllaCF(cod_fisc) == "" ) &&*/
					( controllaPIVA(p_iva) == "" )
				) return true;
			else { 
				alert('Se desideri la fattura devi inserire la Ragione Sociale, il Codice Fiscale corretto e la Partita Iva corretta. Grazie');
				return false;
			}		 
	}		
}	

