updCostiSpedizione = function(idnazione){
	params = {};
	params.action='GetTotaliCarrello';
	params.idnazione=idnazione;
	new Ajax.Request('./ajax/common.php?T' + Math.random(),
		{
			parameters	: params,
			onLoading	: function(rq){$$('span.spin').each(function(e){e.show();});$$('#paymentMethods input').each(function(e){e.disable();});},
			onComplete	: function(rq){$$('span.spin').each(function(e){e.hide();});$$('#paymentMethods input').each(function(e){e.enable();});},
			onFailure	: function(rq){alert('Errore ' + rq.status + ' -- ' + rq.statusText);},
			onSuccess	: function(rq){
							if(!rq.responseText.isJSON()){alert('JSON: NOT A JSON RESPONSE.');return false;}
							var obj = rq.responseText.evalJSON();
							if(obj.ResultCode!=0){alert(obj.ResultDesc);return false;}
							$('importoCarrello').update(obj.importoCarrello);
							$('importoSpedizione').update(obj.importoSpedizione);
							$('importoOrdine').update(obj.importoOrdine);
						}
		}
	);
	
}

chkMisure = function(){
	var misure = $$('input.misure');
	if(!misure.length) {$('addproduct').submit();return true;}
	var retVal = false;
	misure.each(function(e){if(e.checked) retVal=true;});
	if(!retVal){alert(errorMessages.misura); return false;};
	$('addproduct').submit();
}

goToPay = function(circuito, lingua){
	var val = $j("#datiCliente").validate();
	var fHide = function(){$$('#paymentMethods span.spin').each(function(e){e.show();});$$('#datiCliente input, #datiCliente select, #paymentMethods .button').each(function(e){e.disable();});}
	var fShow = function(){$$('#paymentMethods span.spin').each(function(e){e.hide();});$$('#datiCliente input, #datiCliente select, #paymentMethods .button').each(function(e){e.enable();});}
	if(!val.form()){return false;}
	var params = $('datiCliente').serialize(true);
	params.action = 'RegistraOrdine';
	params.lingua = lingua;
	params.circuito = circuito;
	new Ajax.Request('./ajax/common.php?T' + Math.random(),
		{
			parameters	: params,
			onLoading	: function(rq){fHide();},
			onComplete	: function(rq){},
			onFailure	: function(rq){fShow();alert('Errore ' + rq.status + ' -- ' + rq.statusText);},
			onSuccess	: function(rq){
							if(!rq.responseText.isJSON()){fShow();alert('JSON: NOT A JSON RESPONSE.');return false;}
							var obj = rq.responseText.evalJSON();
							if(obj.ResultCode!=0){fShow();alert(obj.ResultDesc);return false;}
							
							// COMMON
							$$('.sTit').each(function(e){e.setValue(obj.titoloOrdine);});
							$$('.sAmn').each(function(e){e.setValue(obj.importoOrdine);});
							
							// SECETI
							$('seceti').action = obj.secetiPostUrl;
							$$('#seceti .sOrd').each(function(e){e.setValue(obj.idordine);});
							$$('#seceti .sAcq').each(function(e){e.setValue(obj.secetiReturnUrl);});
							$$('#seceti .sEml').each(function(e){e.setValue(obj.email);});
							$$('#seceti .sMac').each(function(e){e.setValue(obj.secetiMac);});
							
							// PAYPAL
							$('paypal').action = obj.paypalPostUrl;
							$$('#paypal .sAcq').each(function(e){e.setValue(obj.paypalReturnUrl);});
							
							// FINAL SUBMIT
							$j('#'+circuito).submit();
						}
		}
	);
}

$j(document).ready(function() {
    /**
     *  Validazione Form DATI CLIENTE
     *
     *  Pagina: dati_cliente.php
     */
	$j("#datiCliente").validate({
		errorPlacement: function(error, element){error.appendTo(element.parent());},
		rules: {
			nome:		"required",
			cap:		"required",
			provincia:	"required",
			cognome:	"required",
			indirizzo:	"required",
			email: {
				required: true,
				email: true
			},
			citta:		"required",
			idnazione:		"required",
			termini:	"required"
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form NEWSLETTER
     *
     *  Pagina: index.php
     */
    $j('input#newsletter').click(function(){
        if ($j(this).is(':checked')) {
            $j('#seleziona_lingua').fadeIn();
        } else {
            $j('#seleziona_lingua').fadeOut();
        }
    });

    /**
     *  Validazione Form REGISTRAZIONE (iframe)
     *
     *  Pagina: registrati.php
     */
	$j("#modulo").validate({
		rules: {
			nome:       "required",
			cap:        "required",
			provincia:  "required",
			user:       "required",
			cognome:    "required",
			indirizzo:  "required",
			email: {
				required: true,
				email: true
			},
			citta:      "required",
			stato:      "required",
			password:   "required"
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form STAGE
     *
     *  Pagina: stage.php
     */
	$j("#stage").validate({
		rules: {
			nome:       "required",
			data:       "required",
			telefono:   "required",
			cap:        "required",
			prov:  "required",
			indirizzo:  "required",
			email: {
				required: true,
				email: true
			},
			citta:      "required",
			allegato:   "required"
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form CONTATTI
     *
     *  Pagina: email.php
     */
	$j("#emailForm").validate({
		rules: {
			nome:       "required",
			cognome:    "required",
			email: {
				required: true,
				email: true
			},
			messaggio:  "required"
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form FRANCHISING
     *
     *  Pagina: franchising.php
     */
	$j("#franchising").validate({
		rules: {
			nome:       "required",
			cognome:    "required",
			mobile:     "required",
			email: {
				required: true,
				email: true
			},
			messaggio:  "required"
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form NEWSLETTER
     *
     *  Pagina: registrazione.php
     */
	$j("#newsletter").validate({
		rules: {
			nome:       "required",
			cognome:    "required",
			email: {
				required: true,
				email: true
			}
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form CANCELLAZIONE
     *
     *  Pagina: cancellazione.php
     */
	$j("#cancellazione").validate({
		rules: {
			email: {
				required: true,
				email: true
			}
		},
		messages: errorMessages
	});

    /**
     *  Validazione Form CV
     *
     *  Pagina: cv.php
     */
	$j("#cv").validate({
		rules: {
			nome:       "required",
			telefono:   "required",
			indirizzo:  "required",
			cap:        "required",
			data:       "required",
			email: {
				required: true,
				email: true
			},
			citta:      "required",
			prov:       "required"
		},
		messages: errorMessages
	});

});
