var kmp1 = 0
var kmp2 = 0
var kmp  = 0
var kmcost = 0
var ggcost= 0

dati=new Array(6);
dati[0]=new Array( 48 , 80, 152, 224,  288 , 352 , 408  , 464 , 0.18  , 0.18 , 85   ,  45 );  // CATEGORIA L 
dati[1]=new Array( 39, 65 ,123.5, 182 , 234 , 286  ,331.5 ,  377 , 0.15 ,  0.15,   75 ,    35 ); //CATEGORIA E
dati[2]=new Array( 45.5,70,  140, 210,273 , 336  , 392 ,  441 , 0.15 , 0.15  ,  90  ,   40 ); //CATEGORIA I
dati[3]=new Array( 49.2, 82 , 155.8 ,229.6 , 295.2, 360.8 , 418.2  ,  475.6, 0.15 ,  0.15 , 75  ,   40 ); //CATEGORIA K
dati[4]=new Array( 51.6, 86 , 163.4 ,240.8 , 309.6, 378.4 , 438.6  ,  498.8, 0.18 ,  0.18 , 75  ,   40 ); //CATEGORIA N
dati[5]=new Array( 54,   90 , 171 ,252 , 324 ,  396  , 459  , 522 , 0.18 , 0.18 , 75 ,   40 ); //CATEGORIA P
dati[6]=new Array( 66,   110, 209 ,308 , 396 ,  484  , 561  , 638 , 0.18 , 0.18 , 85 ,   45 ); //CATEGORIA Q
dati[7]=new Array( 71.4, 119, 226.1 ,333.2 , 428.4 ,  523.6  , 606.9  ,  690.2 , 0.18 , 0.18 , 75  , 40 ); //CATEGORIA R

function numbersonly(myfield, e, dec) {
  var key;
  var keychar;
 
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
 
  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;
 
  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;
 
  // decimal point jump
  else if (dec && (keychar == ".")) {
    myfield.form.elements[dec].focus();
    return false;
  } else
    return false;
}


function picture(fl, dec){
        if (dec>0){
                dec=dec+1;
        }
        str=""+fl;
        i = str.indexOf(".");

        if (i<0){
                i=str.length;
                str=str+".00000000000";
        }else{
                if(i==0){
                        i=1;
                        str="0"+str;
                }else{
                        str=str+"00000000000";
                }
        }
        i = str.indexOf(".");

        if (dec>0){
			str=str.substring(0,i)+","+str.substring(i+1,i+dec);
        }else{
			str=str.substring(0,i);
        }
        i = str.indexOf(",");

        if (i>3){
			str=str.substring(0,i-3)+"."+str.substring(i-3,i+dec);
        }
        return str;
	}

function costiCateg(categoria,form){
	kmcost= (kmp1*dati[categoria][8] ) + (kmp2*dati[categoria][9]);
	kmillim1 = dati[categoria][10];
	kmillim2 = dati[categoria][11];
	
	if(form.giorni.value>=1 && form.giorni.value<=6){
		ggcost = dati[categoria][form.giorni.value];
	}else{
		ggcost = dati[categoria][7]+(form.giorni.value-7)*dati[categoria][0];  
	}
}

function elabora(form) {
    kmp1 = 0
    kmp2 = 0
    kmp  = 0
    kmcost = 0
    ggcost = 0
    var selCat  = form.categoria.selectedIndex
    var titolo = "Tipo tariffa applicata"
    var coda = "Email generata automaticamente, importi indicativi e non impegnativi. Per conferma contattare sempre un operatore. "
	switch (selCat){ // Modifica testo in base alla categoria
	   // L
	   case 0: coda += " Sabato o domenica sempre 2 giorni. Periodi minimi nelle festività, alta stagione Luglio e Agosto con vincoli."
	   break;
	   // E
	   case 1: coda += ""
	   break;
	   //  I
	   case 2: coda += ""
	   break;
	   //  K
	   case 3: coda += ""
	   break;
	   //  N
	   case 4: coda += ""
	   break;
	   //  P
	   case 5: coda += ""
	   break;
	   //  Q
	   case 6: coda += " Sabato o domenica sempre 2 giorni. Veicolo omologato ATP trasporto fino a zero gradi."
	   break;
	   //  R
	   case 7: coda += " Necessaria Carta Conducente per nuovo tachigrafo."
	}
	coda += " Offerte pacchetto da 30 a 180 giorni alla pagina http://www.narder.it/noleggio/offerte-noleggio.php . Per importo iva compresa aggiungere il 21%. Nel periodo invernale, se necessario, richiedere specificatamente gomme da neve o catene."
    var xkm = 150

	if( form.giorni.value<1 ){ // Se i giorni sono inferiori a 1
		coda="Errore : I giorni devono essere almeno 1 !";
		giorni=0;
		form.coda.value = coda;
		return;
    }

	if( form.giorni.value>25 ){ // Se i giorni sono superiori a 25
        coda="Attenzione : Per noleggi superiori a 25 gg chiedere offerta specifica via email o al numero 840 500036 oppure cercare le tariffe Offerte noleggio sul sito al link http://www.narder.it/noleggio/offerte-noleggio.php ";
		giorni=0;
		form.coda.value = coda;
		return;
    }

	if( form.km.value<10 ){ // Se i kilometri sono inferiori a dieci
        coda="Attenzione : Inserire i km da percorrere....  inserire 99999 per calcolare con km illimitato !";
		giorni=0;
		form.coda.value = coda;
		return;
    }

	if( form.km.value>="a" ){ // Se al posto dei kilometri c'è testo
        coda="Errore : Inserire i km da percorrere....  inserire 99999 per calcolare con km illimitato !";
		giorni=0;
		form.coda.value = coda;
		return;
    }

	if(form.giorni.value * xkm < form.km.value)  {
        kmp=form.km.value-(form.giorni.value * xkm)
    }

	if (kmp>500){
		kmp1=500;
		kmp2=kmp-500;
    }else{
		kmp1=kmp
		kmp2=0;
    }

	costiCateg(selCat,form);
	assicur = 0

	if (form.furto.checked){
		assicur=ggcost*8/100;
    }

	if (form.kasko.checked){
		assicur=assicur + ggcost*12/100;
    }

	if (form.giorni.value<10){
        ptmp=((form.giorni.value*form.giorni.value)/2)-2 ;
    }else{
        ptmp=0;
    }

    percKmIllim = (kmillim1+20-(form.giorni.value*15))+ptmp

    if (percKmIllim<kmillim2){
        percKmIllim=kmillim2;
    }

	if (ggcost*percKmIllim/100<kmcost){
		ggcost=ggcost*((percKmIllim/100)+1);
		titolo="Tariffa Km illimitati";
		kmcost=0;
	}else{
		titolo="Tariffa normale";
	}
	form.totale.value = picture(ggcost+kmcost+assicur,2);
	form.gg.value = picture(ggcost,2);
	form.kk.value = picture(kmcost,2);
	form.aa.value = picture(assicur,2);
	form.titolo.value = titolo;
	form.coda.value = coda;
	form.note1.value = note1;
	form.note2.value = note2;
}

