$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});

function caricaSottocategorie(stubCategoria, dopo){
  if(stubCategoria!=''){
    $.ajax({
      async: true,
      url: "/xml/datiCategoria",
      data: 'stubCategoria=' + stubCategoria,
      dataType: "xml",
      cache: false,
      beforeSend: function(){
        $('#spinner_sottocategoria').css('visibility', 'visible');
        $('#spinner_categorizzazione').css('visibility', 'visible');
      },
      success: function(xml){
        $('#formRicerca_sottocategoria').empty();
        $('#formRicerca_sottocategoria').append('<option value="Tutti">Tutti i modelli</option>');
        $("item", xml).each(
          function(){
            $('#formRicerca_sottocategoria').append('<option value="' +$(this, xml).attr('stub')+ '">' +$(this, xml).text()+ '</option>');
          }
        )
        
        $('#formRicerca_categorizzazione').empty();
        $('#formRicerca_categorizzazione').append('<option value="Tutti">Tutti i ricambi</option>');
  
        $('#spinner_sottocategoria').css('visibility', 'hidden');
        $('#spinner_categorizzazione').css('visibility', 'hidden');
        
        if(dopo){
          eval(dopo);
        }
      }
    });
  }
  else{
    $('#formRicerca_sottocategoria').empty();
    $('#formRicerca_sottocategoria').append('<option value="">--- Seleziona Modello ---</option>');
    $('#formRicerca_categorizzazione').empty();
    $('#formRicerca_categorizzazione').append('<option value="">--- Tipo di Ricambio ---</option>');
  }
}

function caricaCategorizzazioni(stubSottocategoria, dopo){
  if(stubSottocategoria!='' && stubSottocategoria!='Tutti'){
    $.ajax({
      async: true,
      url: "/xml/datiSottocategoria",
      data: 'stubSottocategoria=' + stubSottocategoria,
      dataType: "xml",
      cache: false,
        beforeSend: function(){
          $('#spinner_categorizzazione').css('visibility', 'visible');
        },
      success: function(xml){
        $('#formRicerca_categorizzazione').empty();
        $('#formRicerca_categorizzazione').append('<option value="Tutti">Tutti i ricambi</option>');
        $("item", xml).each(
          function(){
            $('#formRicerca_categorizzazione').append('<option value="' +$(this, xml).attr('stub')+ '">' +$(this, xml).text()+ '</option>');
          }
        )
        $('#spinner_categorizzazione').css('visibility', 'hidden');
        
        if(dopo){
          eval(dopo);
        }
      }
    });
  }
  else{
    $('#formRicerca_categorizzazione').empty();
    $('#formRicerca_categorizzazione').append('<option value="Tutti">Tutti gli articoli</option>');
  }
}

function elencaRicambi(categoria, sottocategoria, categorizzazione){
  if(categoria == ''){
    alert('Selezionare almeno la Marca.');
    return false;
  }
  else{
    redir = '/ricambi-auto/' + categoria;
    if(sottocategoria!='' && sottocategoria!='Tutti'){
      redir += "/" + sottocategoria;
      if(categorizzazione!='' && categorizzazione!='Tutti'){
        redir += '/' + categorizzazione;
      }
    }
    document.location.href = redir;
  }
}

function carrello_carica(){
  $.ajax({
    async: true,
    url: "/xml/carrello_modifica.php",
    data: '',
    dataType: "xml",
    cache: false,
    success: function(xml){
      var lista = '';
      var prezzo = 0;
      var quantiElementi = 0;
      var dettaglio = '';
      $("item", xml).each(function(){
        lista += '<br />';
        lista += $(this, xml).attr('id');
        dettaglio += '<tr><td style="width:20%;height:25px">' +(quantiElementi+1)+ '</td><td style="width:70%;height:25px">' + Capitalize(abstractize($(this, xml).text(), 40)) + '</td><td style="width:10%;height:25px"><a href="javascript:carrello_elimina(' +$(this, xml).attr('id')+ ');">X</a></td></tr>';
        quantiElementi++;
        prezzo = prezzo + parseFloat($(this, xml).attr('prezzo'));
        })
      if(dettaglio!=''){
        prezzo = prezzo.toFixed(2);
        $('#carrello_dettaglio').html(dettaglio);
        $('#carrello').css('display', 'block');
      }
      else{
        $('#carrello').hide( 'fold', '', 2000, '' )
      }
    }
  });
}

function carrello_inserisci(idArticolo, stock){
  if(!stock){
    stock='';
  }
  loading_on();
  $.ajax({
    async: false,
    url: "/xml/carrello_modifica.php",
    data: 'a=add&cod=' + idArticolo + '&stock=' + escape(stock),
    dataType: "xml",
    cache: false,
    success: function(xml){
      if($("err", xml).text()=='no_cookie'){
        alert('Il browser non permette l\'utilizzo dei cookie. E\'necessario attivarli nelle impostazioni di navigazione per poter utilizzare le funzioni e-commerce.');
      }
      else if($("err", xml).text()=='existing'){
        alert('Hai già inserito questo prodotto.\nPuoi modificarne la quantità all\'interno della pagina del carrello.');
      }
      else if($("err", xml).text()=='duplicato'){
        alert("Il prodotto non è stato aggiunto perchè già presente nel carrello.");
      }
      else{
        $('#carrello').show( 'fold', '', 2000, carrello_carica() )
      }
    }
  });
  loading_off();
}

function carrello_elimina(idArticolo){
  loading_on();
  $.ajax({
    async: false,
    url: "/xml/carrello_modifica.php",
    data: 'a=del&cod=' + idArticolo,
    dataType: "xml",
    cache: false,
    success: function(xml){
      if($("err", xml).text()=='no_cookie'){
        alert('Il browser non permette l\'utilizzo dei cookie. E\'necessario attivarli nelle impostazioni di navigazione per poter utilizzare le funzioni e-commerce.');
      }
      else{
        carrello_carica();
        // alert("L'articolo è stato correttamente eliminato dal carrello.");
      }
    }
  });
  loading_off();
}

function loading_on(){
  $('#animazione_carrello').fadeIn();
}

function loading_off(){
  $('#animazione_carrello').fadeOut();
}

function Capitalize(str_sentence){
  return str_sentence.toLowerCase().replace(/\b[a-z]/g, convertToUpper);
  function convertToUpper(){
    return arguments[0].toUpperCase();
  }
}

function abstractize(stringa, maxlength){
  if(stringa.length>maxlength){
    stringa = stringa.substring(0, maxlength) + "...";
  }
  return stringa;
}

function contactForm_init(){
  var contactForm = document.getElementById('formContact');
  contactForm.nome.focus();
  contactForm.captcha.setAttribute("autocomplete","off");
}
  
function contactForm_send(){
  var contactForm = document.getElementById('formContact');
  contactForm.submit.disabled = true;
  if(contactForm.nome.value=='' || contactForm.mail.value=='' || contactForm.messaggio.value==''){
    contactForm.submit.disabled = false;
    alert('Non sono stati compilati tutti i campi del modulo.');
    return false;
    }
  if(!contactForm.privacy.checked){
    alert('Non è stata accettata l\'informativa sulla privacy.');
    contactForm.submit.disabled = false;
    return false;
    }
  else{
    return true;
    }
}

function signupForm_init(){
  var signupForm = document.getElementById('formSignup');
  signupForm.email.focus();
  signupForm.email.setAttribute("autocomplete","off");
  signupForm.email2.setAttribute("autocomplete","off");
  signupForm.captcha.setAttribute("autocomplete","off");
}

function signupForm_send(privacyCheck){
  var signupForm = document.getElementById('formSignup');
  signupForm.submit.disabled = true;
  if(signupForm.nome.value=='' || signupForm.cognome.value=='' || signupForm.indirizzo.value=='' || signupForm.cap.value=='' || signupForm.comune.value=='' || signupForm.provincia.value=='' || signupForm.paese.value==''){
    alert('Non sono stati compilati tutti i campi obbligatori.');
    signupForm.submit.disabled = false;
    return false;
  }
  if(signupForm.email.value!=signupForm.email2.value){
    alert('L\'e-mail risulta diversa dall\'e-mail di controllo.');
    signupForm.submit.disabled = false;
    return false;
  }
  if(signupForm.password.value!=signupForm.password2.value){
    alert('La password risulta diversa dalla password di controllo.');
    signupForm.submit.disabled = false;
    return false;
  }
  if(privacyCheck==1 && !signupForm.privacy.checked){
    alert('Non è stata accettata l\'informativa sulla privacy.');
    signupForm.submit.disabled = false;
    return false;
  }
  else{
    return true;
  }
}

function salvaDatiSpedizione(){
  var scelta = confirm('Controlla attentamente i dati che hai inserito e la modalità di spedizione scelta: verranno utilizzati per l\'invio della merce.\nVuoi procedere con la scelta del metodo di pagamento?');
  if(scelta){
    var nome = $('#datiSpedizione_nome').val();
    var cognome = $('#datiSpedizione_cognome').val();
    var indirizzo = $('#datiSpedizione_indirizzo').val();
    var cap = $('#datiSpedizione_cap').val();
    var comune = $('#datiSpedizione_comune').val();
    var provincia = $('#datiSpedizione_provincia').val();
    var paese = $('#datiSpedizione_paese').val();
    var telefono = $('#datiSpedizione_telefono').val();
    var cellulare = $('#datiSpedizione_cellulare').val();
    var mail = $('#datiSpedizione_mail').val();
    var idSpedizione = $('#idSpedizione').val();

    if(nome=='' || cognome=='' || indirizzo=='' || cap=='' || comune=='' || provincia=='' || paese=='' || mail==''){
      alert('Non hai compilato tutti i campi relativi al recapito postale per l\'invio della merce!');
      return false;
    }

    loading_on();
    $.ajax({
      async: false,
      type: 'POST',
      url: "/xml/carrello_salvaDatiSpedizione.php",
      data: 'nome='+nome+'&cognome='+cognome+'&indirizzo='+indirizzo+'&cap='+cap+'&comune='+comune+'&provincia='+provincia+'&paese='+paese+'&telefono='+telefono+'&cellulare='+cellulare+'&mail='+mail+'&idSpedizione='+idSpedizione,
      dataType: "xml",
      cache: false,
      success: function(xml){
        if($("msg", xml).text()=='no_cookie'){
          alert('Il browser non permette l\'utilizzo dei cookie. E\'necessario attivarli nelle impostazioni di navigazione per poter utilizzare le funzioni e-commerce.');
        }
        else if($("msg", xml).text()=='missingData'){
          alert('Non sono stati inseriti tutti i dati necessari all\'invio della merce. Controlla il moudulo e ritenta.');
        }
        else{
          $('#acquisto_step1').slideToggle(function(){
            $('#acquisto_step2').slideToggle();
            }
          );
        }
      }
    });
    loading_off();
  }
}

function caricaInfoSpedizione(idSpedizione, subtotale){
  $('#prezzoTotale').html('<img src="/images/spinner.gif" width="19" height="18" alt="" style="vertical-align:middle" />');
  $.ajax({
    async: false,
    type: 'POST',
    url: "/xml/carrello_infoSpedizione.php",
    data: 'idSpedizione=' + idSpedizione,
    dataType: "xml",
    cache: false,
    success: function(xml){
      $('#prezzoTotale').html((subtotale + parseFloat($("prezzoSpedizione", xml).text())).toFixed(2));
    }
  });
}

function playPause(audio){
    niftyplayer('niftyPlayer1').loadAndPlay(audio);
}

function campo_svuota(campo, valore_iniziale){
  if(campo.val()==valore_iniziale){
    campo.val('');
  }
}

function campo_ripristina(campo, valore_iniziale){
  if(campo.val()==''){
    campo.val(valore_iniziale);
  }
}

function inviaRicerca(stringa){
  if(stringa.length>2){
    document.location='/ricerca/titolo=' +stringa+ '/';
  }
  else{
    alert('Inserire almeno 3 caratteri per effettuare la ricerca.');
  }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

