var libero=0;
function valida(){
  if (document.theform.nome.value==''){
    alert ("Campo nome obbligatorio");
    return false;
    libero=1;
  }

  if (document.theform.cognome.value==''){
    alert ("Campo cognome obbligatorio");
    return false;
    libero=1;
  }

  if (document.theform.citta.value==''){
    alert ("Campo citta obbligatorio");
    return false;
    libero=1;
  }

  if (document.theform.telefono.value==''){
    alert ("Campo telefono obbligatorio");
    return false;
    libero=1;
  }
  if (document.theform.via.value==''){
    alert ("Campo via obbligatorio");
    return false;
    libero=1;
  }
 // if (document.theform.cap.value==''){
 //   alert ("Campo cap obbligatorio");
 //   return false;
 //   libero=1;
 // }

  if (document.theform.email.value.indexOf("@")==-1) {
    alert ("email NON valida");
    return false;
    libero=1;
  }

    if (document.theform.privx.checked == false )
    {
      alert('Accorre accettare la privacy');
    return false;
    libero=1;
    }else  libero=0;

    if (document.theform.cancx.checked == false )
    {
      alert('Accorre accettare le politiche di cancellazione');
    return false;
    libero=1;
    }else  libero=0;


if(libero==0)
document.theform.pulsante.enabled=false;
document.theform.submit();
}



var libero2=0;

function valida2(){
valore= ValoreRadio('theform','pagamento');
  if (valore=='cartacredito'){

   if (!verifyCreditCard(document.theform.nomecartacc.options[document.theform.nomecartacc.selectedIndex].value,document.theform.cc_number.value)){
              alert('Prego inserisci numero carta corretto');
               document.theform.cc_number.focus();
              return false;
    }

    if (document.theform.cc_number.value==''){
       alert ("Campo cc_number obbligatorio");
       document.theform.cc_number.focus();
       return false;

    }
    if (document.theform.cc_intestatario.value==''){
       alert ("Campo cc_intestatario obbligatorio");
       document.theform.cc_intestatario.focus();
       return false;

    }
    if (document.theform.expiration_month.value==''){
       alert ("Campo expiration_month obbligatorio");
       document.theform.expiration_month.focus();
       return false;

    }
    if (document.theform.cc_codice.value==''){
       alert ("Campo cc_codice obbligatorio");
       document.theform.cc_codice.focus();
       return false;

    }

    return true;
  }
}

function ValoreRadio(form_info,langRadio){
var rr = document.forms[form_info].elements[langRadio]
var valore=null
if(rr.length){
for(var i=0;i<rr.length;i++)
if(rr[i].checked)
valore=rr[i].value
}else if(rr.checked)valore=rr.value
return valore
}


function verifyCreditCard(creditCardType, creditCardNumber){
            var prefix;
            var prefix1;
            var prefix2;
            var prefix4;
            var prefix6;
            var numberCard;
            var i;
                var w;
            var r;
            var sumCard;
            var sumDigits;
            var prodDigits;
            switch(creditCardType){
                   case "CA":
                    prefix = creditCardNumber.substr(0,2);
                    if ((prefix < 51) || (prefix > 55) || (creditCardNumber.length != 16)){
                       return false;
                    }
                        break;
                   case "VI":
                    prefix = creditCardNumber.substr(0,1);
                    if ((prefix != 4) || ((creditCardNumber.length != 13) && (creditCardNumber.length != 16))){
                       return false;
                    }
                        break;
                   case "VE":
                    prefix = creditCardNumber.substr(0,6);
                    if (((prefix != 450875 && prefix != 491880) && ((prefix < 484406) || (prefix > 484408)) && ((prefix < 484411) || (prefix > 484455)) && ((prefix < 491730) || (prefix > 491759))) || ((creditCardNumber.length != 13) && (creditCardNumber.length != 16))){
                       return false;
                         }
                        break;
                   case "MS":
                     prefix6 = creditCardNumber.substr(0,6);
                     prefix1 = creditCardNumber.substr(0,1);
                     prefix2 = creditCardNumber.substr(0,2);
                     prefix4 = creditCardNumber.substr(0,4);
         
                     if (
                         (
                           (
                              (prefix1 != 6 && prefix2 != 50 && prefix4 != 4936 && prefix4 != 6759 && prefix6 != 564182)
                              && ((prefix2 < 56) || ( prefix2 > 58)) && ((prefix6 < 490302) || (prefix6 > 490309))
                              && ((prefix6 < 490335) || (prefix6 > 490339)) && ((prefix6 < 491101) || (prefix6 > 491102))
                              && ((prefix6 < 491174) || (prefix6 > 491182)) && ((prefix6 < 633300) || (prefix6 > 633349))
                           )
                           &&
                           (
                              (prefix4 != 4903) && (prefix4 != 4905) &&(prefix4 != 4911) && (prefix4 != 4936)
                              && (prefix6 != 564182) && (prefix6 != 633110) && (prefix4 != 6333) && (prefix4 != 6759)
                           )
                           && (prefix4 != 5020)
                         )
                         ||
                         (
                           (creditCardNumber.length != 15) && (creditCardNumber.length != 16) && (creditCardNumber.length != 18) && (creditCardNumber.length != 19)
                         )
                        ) {
                              return false;
                     }
                        break;
                   case "SO":
                     prefix4 = creditCardNumber.substr(0,4);
                     prefix6 = creditCardNumber.substr(0,6);
         
                     if (
                           (
                              ((prefix4 != 6767) && ((prefix6 < 633450) || (prefix6 > 633499)))
                              && (prefix2 != 63)
                           )
                           ||
                           (
                              (creditCardNumber.length != 15) && (creditCardNumber.length != 16) &&
                              (creditCardNumber.length != 18) && (creditCardNumber.length != 19)
                           )
                        ) {
                              return false;
                     }
                        break;
                   case "AX":
                    prefix = creditCardNumber.substr(0,2);
                    if (((prefix != 34) && (prefix != 37)) || (creditCardNumber.length != 15)){
                       return false;
                    }
                        break;
                     case "DS":
                    prefix = creditCardNumber.substr(0,4);
                    if ((prefix != 6011) || (creditCardNumber.length != 16)){
                       return false;
                    }
                        break;
                  case "DC":
                         prefix = creditCardNumber.substr(0,3);
                    prefix1 = creditCardNumber.substr(0,2);
                    if (((prefix < 300) || (prefix > 305) && (prefix1 != 36 && prefix1 != 38)) || (creditCardNumber.length != 14)){
                       return false;
                    }
                        break;
                    case "CB":
                    prefix = creditCardNumber.substr(0,3);
                    prefix1 = creditCardNumber.substr(0,2);
                    if (((prefix < 300) || (prefix > 305) && (prefix1 != 36 && prefix1 != 38)) || (creditCardNumber.length != 14)){
                       return false;
                    }
                        break;
                   case "JB":
                    prefix = creditCardNumber.substr(0,4);
                    if ((((prefix < 3088) || (prefix > 3094)) && ((prefix < 3096) || (prefix > 3102)) && ((prefix < 3112) || (prefix > 3120)) && ((prefix < 3158) || (prefix > 3159)) && ((prefix < 3337) || (prefix > 3349)) && ((prefix < 3528) || (prefix > 3589))) || (creditCardNumber.length != 16)){
                       return false;
                    }
                        break;
                   default:
                         return true;
                        break;
               }
            numberCard = creditCardNumber;
            r = parseInt(numberCard.length) % 2;
            sumCard = 0;
            for (i=numberCard.length;i>0;i--){
               w = i % 2;
               if (w == r){
                    sumCard += parseInt(numberCard.substr(i-1,1));
               }else{
                    prodDigits = 2 * parseInt(numberCard.substr(i-1,1));
                    if (prodDigits > 9){
                       sumDigits = 0;
                       sumDigits = (parseInt(prodDigits / 10)) + (prodDigits - 10);
                       sumCard += sumDigits;
                    }else{
                            sumCard += prodDigits;
                    }
               }
            }
            if (sumCard % 10 == 0){
                   return true;
            }
            return false;
}

