function calculate() {
    // setup vehicle variables
    var vehicle1 = document.getElementById('vehicle1');
    var vehicle2 = document.getElementById('vehicle2');
    var vehicle3 = document.getElementById('vehicle3');
    var vehicle4 = document.getElementById('vehicle4');
    var vehicle5 = document.getElementById('vehicle5');
    var vehicle6 = document.getElementById('vehicle6');
    
    // setup appraised variables
    var appraised1 = document.getElementById('1-Appraised');
    var appraised2 = document.getElementById('2-Appraised');
    var appraised3 = document.getElementById('3-Appraised');
    var appraised4 = document.getElementById('4-Appraised');
    var appraised5 = document.getElementById('5-Appraised');
    var appraised6 = document.getElementById('6-Appraised');
    
    // setup type variables
    var type1 = document.getElementById('1-Description');
    var type2 = document.getElementById('2-Description');
    var type3 = document.getElementById('3-Description');
    var type4 = document.getElementById('4-Description');
    var type5 = document.getElementById('5-Description');
    var type6 = document.getElementById('6-Description');

    // setup total variables
    var total1 = document.getElementById('1-Total');
    var total2 = document.getElementById('2-Total');
    var total3 = document.getElementById('3-Total');
    var total4 = document.getElementById('4-Total');
    var total5 = document.getElementById('5-Total');
    var total6 = document.getElementById('6-Total');
    
    // setup some additional variables
    var grandtotal = document.getElementById('Sum Enclosed');
    var policyfee = document.getElementById('Policy Fee');
    var totalpremium = document.getElementById('Total Premium');
    var howmany = document.getElementById('How Many Claims');
    var premiumsurcharge = document.getElementById('Premium Surcharge');
    totalpremium.value = 0;
    
    for(var i=1;i<=6;i++) {
        var vehicle = document.getElementById('vehicle'+i);
        var appraised = document.getElementById(i+'-Appraised');
        var type = document.getElementById(i+'-Description');
        var total = document.getElementById(i+'-Total');

        vehicle.innerHTML = "<b>"+document.getElementById(i+'-Year').value+" "+document.getElementById(i+'-Make').value+" "+document.getElementById(i+'-Model').value+" ("+document.getElementById(i+'-Ser#').value+")</b>";
        
        //Calculate the premium for the vehicle with the deductible added in
        if(appraised.value != "" && type[type.options.selectedIndex].value == "sled") {
            total.value = lookup_sled(appraised.value);
        } else if(appraised.value != "" && type[type.options.selectedIndex].value == "atv") {
            if(appraised.value < 5500) {
                total.value = "108";
            } else if(appraised.value == 5500) {
                total.value = "120";
            } else if(appraised.value > 24000) {
                total.value = "660";
            } else if(appraised.value > 5500) {
                var remainder = appraised.value - 5500;
                if(Math.floor(remainder/500) == 0) {
                    total.value = "108";
                } else {
                    total.value = 108 + (Math.floor(remainder/500) * 10);
                }
            }
        } else {
            total.value = "";
        }
        
        if(document.application.deductible[1].checked && total.value != "") {
            total.value = r2(total.value * 1.075);
        } else if(document.application.deductible[2].checked && total.value != "") {
            total.value = r2(total.value * 1.10);
        }
        
        totalpremium.value = Number(totalpremium.value) + Number(total.value);
    }
    
    //vehicle1.innerHTML = "<b>"+document.getElementById('1-Year').value+" "+document.getElementById('1-Make').value+" "+document.getElementById('1-Model').value+" ("+document.getElementById('1-Ser#').value+")</b>";
    //vehicle2.innerHTML = "<b>"+document.getElementById('2-Year').value+" "+document.getElementById('2-Make').value+" "+document.getElementById('2-Model').value+" ("+document.getElementById('2-Ser#').value+")</b>";
    //vehicle3.innerHTML = "<b>"+document.getElementById('3-Year').value+" "+document.getElementById('3-Make').value+" "+document.getElementById('3-Model').value+" ("+document.getElementById('3-Ser#').value+")</b>";
    //vehicle4.innerHTML = "<b>"+document.getElementById('4-Year').value+" "+document.getElementById('4-Make').value+" "+document.getElementById('4-Model').value+" ("+document.getElementById('4-Ser#').value+")</b>";
    //vehicle5.innerHTML = "<b>"+document.getElementById('5-Year').value+" "+document.getElementById('5-Make').value+" "+document.getElementById('5-Model').value+" ("+document.getElementById('5-Ser#').value+")</b>";
    //vehicle6.innerHTML = "<b>"+document.getElementById('6-Year').value+" "+document.getElementById('6-Make').value+" "+document.getElementById('6-Model').value+" ("+document.getElementById('6-Ser#').value+")</b>";
    //   
    //
    ////Calculate the premium for each vehicle with the deductible added in
    //if(appraised1.value != "" && type1[type1.options.selectedIndex].value == "sled") {
    //    total1.value = lookup_sled(appraised1.value);
    //} else if(appraised1.value != "" && type1[type1.options.selectedIndex].value == "atv") {
    //    if(appraised1.value < 5500) {
    //        total1.value = "90";
    //    } else if(appraised1.value == 5500) {
    //        total1.value = "100";
    //    } else if(appraised1.value > 24000) {
    //        total1.value = "550";
    //    } else if(appraised1.value > 5500) {
    //        var remainder = appraised1.value - 5500;
    //        if(Math.floor(remainder/500) == 0) {
    //            total1.value = "100";
    //        } else {
    //            total1.value = 100 + (Math.floor(remainder/500) * 10);
    //        }
    //    }
    //} else {
    //    total1.value = "";
    //}
    //
    //if(document.application.deductible[1].checked && total1.value != "") {
    //    total1.value = r2(total1.value * 1.075);
    //} else if(document.application.deductible[2].checked && total1.value != "") {
    //    total1.value = r2(total1.value * 1.10);
    //}                
    //
    ////Calculate the premium for each vehicle with the deductible added in
    //if(appraised2.value != "" && type2[type2.options.selectedIndex].value == "sled") {
    //    total2.value = lookup_sled(appraised2.value);
    //} else if(appraised2.value != "" && type2[type2.options.selectedIndex].value == "atv") {
    //    if(appraised2.value < 5500) {
    //        total2.value = "90";
    //    } else if(appraised2.value == 5500) {
    //        total2.value = "100";
    //    } else if(appraised2.value > 24000) {
    //        total2.value = "550";
    //    } else if(appraised2.value > 5500) {
    //        var remainder = appraised2.value - 5500;
    //        if(Math.floor(remainder/500) == 0) {
    //            total2.value = "100";
    //        } else {
    //            total2.value = 100 + (Math.floor(remainder/500) * 10);
    //        }
    //    }
    //} else {
    //    total2.value = "";
    //}
    //
    //if(document.application.deductible[1].checked && total2.value != "") {
    //    total2.value = r2(total2.value * 1.075);
    //} else if(document.application.deductible[2].checked && total2.value != "") {
    //    total2.value = r2(total2.value * 1.10);
    //}
    //
    ////Calculate the premium for each vehicle with the deductible added in
    //if(appraised3.value != "" && type3[type3.options.selectedIndex].value == "sled") {
    //    total3.value = lookup_sled(appraised3.value);
    //} else if(appraised3.value != "" && type3[type3.options.selectedIndex].value == "atv") {
    //    if(appraised3.value < 5500) {
    //        total3.value = "90";
    //    } else if(appraised3.value == 5500) {
    //        total3.value = "100";
    //    } else if(appraised3.value > 24000) {
    //        total3.value = "550";
    //    } else if(appraised3.value > 5500) {
    //        var remainder = appraised3.value - 5500;
    //        if(Math.floor(remainder/500) == 0) {
    //            total3.value = "100";
    //        } else {
    //            total3.value = 100 + (Math.floor(remainder/500) * 10);
    //        }
    //    }
    //} else {
    //    total3.value = "";
    //}
    //
    //if(document.application.deductible[1].checked && total3.value != "") {
    //    total3.value = r2(total3.value * 1.075);
    //} else if(document.application.deductible[2].checked && total3.value != "") {
    //    total3.value = r2(total3.value * 1.10);
    //}
    
    //totalpremium.value = Number(total1.value)+Number(total2.value)+Number(total3.value);

    if(howmany[howmany.selectedIndex].value == "two") {
        premiumsurcharge.value = r2(Number(totalpremium.value) * 0.35);
        grandtotal.value = r2(Number(totalpremium.value)+Number(policyfee.value)+Number(premiumsurcharge.value));
        document.getElementById('warning').innerHTML = "";
    } else if(howmany[howmany.selectedIndex].value == "three") {
        premiumsurcharge.value = "SUBMIT";
        document.getElementById('warning').innerHTML = "<font color='red'>Your premium surcharge will be reviewed upon submission of this application and you will be contacted with a final total</font>";
        grandtotal.value = r2(Number(totalpremium.value)+Number(policyfee.value));
    } else {
        premiumsurcharge.value = ""
        grandtotal.value = r2(Number(totalpremium.value)+Number(policyfee.value));
        document.getElementById('warning').innerHTML = "";
    }
}



// Round to 2 decimal places

function r2(n) {
  ans = n * 1000
  ans = Math.round(ans /10) + ""
  while (ans.length < 3) {ans = "0" + ans}
  len = ans.length
  ans = ans.substring(0,len-2) + "." + ans.substring(len-2,len)
  return ans
}


var phone = "()- 0123456789";
var numb = "0123456789";
var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";

function res(t,v){
  var w = "";
  for (i=0; i < t.value.length; i++) {
    x = t.value.charAt(i);
    if (v.indexOf(x,0) != -1)
    w += x;
  }
  t.value = w;
}

function lookup_sled(v) {
  var rate = 260;
  if(v >= 5500 && v < 6000) {
    rate = 280;
  } else if(v >= 6000 && v < 6500) {
    rate = 299;
  } else if(v >= 6500 && v < 7000) {
    rate = 319;
  } else if(v >= 7000 && v < 7500) {
    rate = 338;
  } else if(v >= 7500 && v < 8000) {
    rate = 358;
  } else if(v >= 8000 && v < 8500) {
    rate = 377;
  } else if(v >= 8500 && v < 9000) {
    rate = 397;
  } else if(v >= 9000 && v < 9500) {
    rate = 416;
  } else if(v >= 9500 && v < 10000) {
    rate = 436;
  } else if(v >= 10000 && v < 10500) {
    rate = 455;
  } else if(v >= 10500 && v < 11000) {
    rate = 475;
  } else if(v >= 11000 && v < 11500) {
    rate = 494;
  } else if(v >= 11500 && v < 12000) {
    rate = 514;
  } else if(v >= 12000 && v < 12500) {
    rate = 533;
  } else if(v >= 12500 && v < 13000) {
    rate = 553;
  } else if(v >= 13000 && v < 13500) {
    rate = 572;
  } else if(v >= 13500 && v < 14000) {
    rate = 592;
  } else if(v >= 14000 && v < 14500) {
    rate = 611;
  } else if(v >= 14500 && v < 15000) {
    rate = 631;
  } else if(v >= 15000 && v < 15500) {
    rate = 650;
  } else if(v >= 15500 && v < 16000) {
    rate = 670;
  } else if(v >= 16000 && v < 16500) {
    rate = 689;
  } else if(v >= 16500 && v < 17000) {
    rate = 709;
  } else if(v >= 17000 && v < 17500) {
    rate = 728;
  } else if(v >= 17500 && v < 18000) {
    rate = 748;
  } else if(v >= 18000 && v < 18500) {
    rate = 767;
  } else if(v >= 18500 && v < 19000) {
    rate = 787;
  } else if(v >= 19000 && v < 19500) {
    rate = 806;
  } else if(v >= 19500 && v < 20000) {
    rate = 826;
  } else if(v == 20000) {
    rate = 845;
  } else if(v > 20000) {
    rate = 910;
  }

  return rate;
}