var VespaLink = '';

var V5A1T = new Array(1001,6961,61347,101577,155461,213547,248334,275621,280998,500001,502973,549485,595322,630616,700001,702504,735717,769613,804165,831713,861871,878152,893569,906044,914140,922205,930987,936053,938703,938762);
var V5A1TYears = new Array(8,1963,13,1966,28,1969);
var V5A1TModels = new Array("Vespa 50/N","Vespa 50/N","Vespa 50/L","Vespa 50/L","Vespa 50/R");
var V5A1TMoDET = new Array(190977,200001,283299,500001,530932,540001,637063,700001,938761);

var V5A2T = new Array(1001,2016,34258,65527,96014);
var V5A2TYears = new Array(3,1969);
var V5A2TModels = new Array("Vespa 50 Special");

var V5A3T = new Array(1001,1021,3697,4834,5709);
var V5A3TYears = new Array(3,1969);
var V5A3TModels = new Array("Vespa 50 Elestart");

var V5B1T = new Array(1001,6427,42386,86508,95672);
var V5B1TYears = new Array(3,1972);
var V5B1TModels = new Array("Vespa 50 Special");

var V5B2T = new Array(1001,1107,1933,3209,3668);
var V5B2TYears = new Array(3,1972);
var V5B2TModels = new Array("Vespa 50 Elestart");

var V5B3T = new Array(1101,48015,97625,154616,226824,304526,399134,506190,564986,565057);
var V5B3TYears = new Array(8,1975);
var V5B3TModels = new Array("Vespa 50 Special");

var V5B4T = new Array(1101,1283,1534);
var V5B4TYears = new Array(1,1975);
var V5B4TModels = new Array("Vespa 50 Elestart");

var V5S1T = new Array(1101,5029,3000001,3000648,9999999);
var V5S1TYears = new Array(1,1983,3,1983);
var V5S1TModels = new Array("Vespa PK 50 SS","Vespa Pk 50 SS Elestart");
var V5S1TMoDET = new Array(3000000,3000001,9999999);

var V5S2T = new Array(1101,9999999);
var V5S2TYears = new Array(0,1986);
var V5S2TModels = new Array("Vespa PK 50 XLS");

var V5SA1T = new Array(1101,2105,10480,15002,20425,30965,35605,40251,45600,48981,53100,57177,62229,66726,69602,74978,79680,89186,98563,107212,111892,130121,9999999);
var V5SA1TYears = new Array(23,1963);
var V5SA1TModels = new Array("Vespa 50/S");

var V5SS1T = new Array(1001,1193,2208,2398,2794,3090,3423,3526);
var V5SS1TYears = new Array(6,1965);
var V5SS1TModels = new Array("Vespa 50 Super Sprint");

var V5SS2T = new Array(4001,4161,4365,10001,10180,10380,10431,10550,10580);
var V5SS2TYears = new Array(2,1971,4,1975);
var V5SS2TModels = new Array("Vespa Sprinter 50 SR (D)","Vespa Sprinter 50 SR (D)");
var V5SS2TMoDET = new Array(4515,10001,10579);

var V5X1T = new Array(1101,2840,10351,999999);
var V5X1TYears = new Array(2,1982);
var V5X1TModels = new Array("Vespa PK 50");

var V5X2T = new Array(1101,28493,117291,3000001,3005305,9999999);
var V5X2TYears = new Array(2,1982,4,1983);
var V5X2TModels = new Array("Vespa PK 50S","Vespa PK 50S Elestart");
var V5X2TMoDET = new Array(3000000,3000001,9999999);

var V5X3T = new Array(1101,3000001,9999999);
var V5X3TYears = new Array(0,1985,1,1985);
var V5X3TModels = new Array("Vespa PK 50 XL","Vespa 50 XL Elestart");
var V5X3TMoDET = new Array(3000000,3000001,9999999);

var V5X4T = new Array(1101,9999999);
var V5X4TYears = new Array(0,1988);
var V5X4TModels = new Array("Vespa 50 Rush");

var V5X5T = new Array(1101,9999999);
var V5X5TYears = new Array(0,1989);
var V5X5TModels = new Array("Vespa 50 N (FL)");

var V8A1T = new Array(1101,1473,1823,4412,9924,9999999);
var V8A1TYears = new Array(4,1980);
var V8A1TModels = new Array("Vespa P80 / P80 E");

var V8X1T = new Array(1101,17352,40609,100001,100260,103701,105509,106610,107138,107963,108716,112349,116126,119069,3000001,3000268,3000551,3000876,3001029,3001366,3001914,3006336,3007936,3009638,9999999);
var V8X1TYears = new Array(2,1981,13,1983,23,1984);
var V8X1TModels = new Array("Vespa PX80","Vespa PX80 Arcobaleno","Vespa PX80 Arcobaleno Elestart");
var V8X1TMoDET = new Array(45710,100001,3000000,3000001,9999999);

var V8X5T = new Array(1101,3162,5131,3000001,3002745,9999999);
var V8X5TYears = new Array(2,1982,4,1983);
var V8X5TModels = new Array("Vespa PK 80 S","Vespa PK 80 S Elestart");
var V8X5TMoDET = new Array(3000000,3000001,9999999);

var V9A1T = new Array(1001,2985,17550,21545,24131,28383,32256,36967,44722,52906,66091,78675,98788,112596,141544,162838,184927,218127,240902,273527,286527,292527,9999999);
var V9A1TYears = new Array(21,1963);
var V9A1TModels = new Array("Vespa 90","Vespa 90");
var V9A1TMoDET = new Array(25000,28001,9999999);

var V9B1T = new Array(1101,3765,11218,21086,25355,27128,50001,53201,9999999);
var V9B1TYears = new Array(7,1978);
var V9B1TModels = new Array("Vespa 100 / 100 Sport","Vespa 100 / 100 Sport");
var V9B1TMoDET = new Array(28904,50001,9999999);

var V9SS1T = new Array(1101,2263,4877,5027,5402,5679,6139,6310);
var V9SS1TYears = new Array(6,1965);
var V9SS1TModels = new Array("Vespa 90 Super Sprint");

var V9SS2T = new Array(7001,7361,10279,10496,10517);
var V9SS2TYears = new Array(3,1971);
var V9SS2TModels = new Array("Vespa 90 Racer");

var V9X1T = new Array(1101,16101,28938,3000001,3000080,9999999);
var V9X1TYears = new Array(2,1982,4,1983);
var V9X1TModels = new Array("Vespa PK 100 S","Vespa PK 100 S Elestart");
var V9X1TMoDET = new Array(3000000,3000001,9999999);

var V9X2T = new Array(1101,9999999);
var V9X2TYears = new Array(0,1986);
var V9X2TModels = new Array("Vespa PK 100 XL");

var VA51T = new Array(1101,3000001,9999999);
var VA51TYears = new Array(0,1984,1,1984);
var VA51TModels = new Array("Vespa Automatic PK 50S","Vespa Automatic PK 50 Elestart");
var VA51TMoDET = new Array(3000000,3000001,9999999);

var VA81T = new Array(1101,3000001,9999999);
var VA81TYears = new Array(0,1984,1,1984);
var VA81TModels = new Array("Vespa Automatic PK 80 S","Vespa Automatic PK 80 S Elestart");
var VA81TMoDET = new Array(3000000,3000001,9999999);

var VA91T = new Array(1101,9999999);
var VA91TYears = new Array(0,1984);
var VA91TModels = new Array("Vespa Automatic PK 100 S");

var VAM1T = new Array(1101,3000001,3000071,9999999);
var VAM1TYears = new Array(0,1984,2,1983);
var VAM1TModels = new Array("Vespa Automatic PK 125 S","Vespa Automatic PK 125 S Elestart");
var VAM1TMoDET = new Array(3000000,3000001,9999999);

var VAS1T = new Array(1101,3000001,9999999);
var VAS1TYears = new Array(0,1984,1,1984);
var VAS1TModels = new Array("Vespa Automatic PK 50 SS","Vespa Automatic PK 50 SS Elestart");
var VAS1TMoDET = new Array(3000000,3000001,9999999);

var VB1T = new Array(1001,55376,99701);
var VB1TYears = new Array(1,1957);
var VB1TModels = new Array("Vespa 150");

var VBA1T = new Array(1001,16516,88520,125041);
var VBA1TYears = new Array(2,1958);
var VBA1TModels = new Array("Vespa 150");

var VBB1T = new Array(1001,16071,96684,146001);
var VBB1TYears = new Array(2,1960);
var VBB1TModels = new Array("Vespa 150");

var VBB2T = new Array(146001,155713,198233,240758,273261,279949,280149);
var VBB2TYears = new Array(5,1962);
var VBB2TModels = new Array("Vespa 150");

var VBC1T = new Array(1001,4296,43414,61497,80741,100494,125620,151300,182206,221195,280315,351375,409393,476738,550122,554809);
var VBC1TYears = new Array(14,1965);
var VBC1TModels = new Array("Vespa 150 Super");

var VBX1T = new Array(1101,10820,52139,85967,170766,203819,230730,238446,247846,270946,297956,299156);
var VBX1TYears = new Array(8,1978,10,1989);
var VBX1TModels = new Array("Vespa P150S","Vespa P150S (Under Licence)");
var VBX1TMoDET = new Array(270945,270946,299155);

var VGL1T = new Array(1001,10843,16611);
var VGL1TYears = new Array(1,1957);
var VGL1TModels = new Array("Vespa 150 GL");

var VGLA1T = new Array(1001,16001,31228,300001,314388);
var VGLA1TYears = new Array(2,1959,3,1956);
var VGLA1TModels = new Array("Vespa 150 GL","Vespa 150 T/4 Augsburg Touren");
var VGLA1TMoDET = new Array(35267,300001,314387);

var VGLB1T = new Array(35268,43001,48295);
var VGLB1TYears = new Array(1,1960);
var VGLB1TModels = new Array("Vespa 150 GL");

var VIX1T = new Array(1101,11105,9999999);
var VIX1TYears = new Array(1,1983);
var VIX1TModels = new Array("Vespa PX 100 E");

var VL1T = new Array(1001,8174,17001);
var VL1TYears = new Array(1,1954);
var VL1TModels = new Array("Vespa 150");

var VL2T = new Array(17001,64971,93102);
var VL2TYears = new Array(1,1955);
var VL2TModels = new Array("Vespa 150");

var VL3T = new Array(93102,130694,132738);
var VL3TYears = new Array(1,1956);
var VL3TModels = new Array("Vespa 150");

var VLA1T = new Array(1001,5959,57104,78010,80856);
var VLA1TYears = new Array(3,1962);
var VLA1TModels = new Array("Vespa 150 GL");

var VLB1T = new Array(1001,26479,39231,63337,89261,108326,132260,150001,154385,159755,164042,169332,173346,213337,248470,294170,349629,367673,368120,1150938,1170661,1199480,1205478);
var VLB1TYears = new Array(6,1965,17,1969,21,1971);
var VLB1TModels = new Array("Vespa 150 Sprint","Vespa 150 Sprint Veloce","Vespa 150 Sprint");
var VLB1TMoDET = new Array(150000,150001,368119,368120,1205477);

var VLX1T = new Array(1101,67629,135881,240137,363302,455340,503133,537038,600001,605008,630927,653686,699037,732669,760296,782283,803234,809494,816593,2000001,2048001,2187001,2269001,2485049,2675049,2821049,3000001,3001410,3004061,3004346,3004559,3004719,3004808,3010080,3016519,3020857,9999999);
var VLX1TYears = new Array(7,1978,18,1983,25,1985,35,1984);
var VLX1TModels = new Array("Vespa P150X","Vespa PX150E","Vespa PX150E Arcobaleno","Vespa Lohia (Indian Production)","Vespa PX 150 Arcobaleno Elestart");
var VLX1TMoDET = new Array(346402,346403,552410,600001,2000000,2000001,3000000,3000001,9999999);

var VM1T = new Array(1001,8831,85871);
var VM1TYears = new Array(1,1952);
var VM1TModels = new Array("Vespa 125");

var VM2T = new Array(85871,100620,176015);
var VM2TYears = new Array(1,1953);
var VM2TModels = new Array("Vespa 125");

var VN1T = new Array(1001,23001,50101);
var VN1TYears = new Array(1,1954);
var VN1TModels = new Array("Vespa 125");

var VN2T = new Array(50101,96570,125601);
var VN2TYears = new Array(1,1956);
var VN2TModels = new Array("Vespa 125");

var VMA1T = new Array(1101,8393,14782,18101);
var VMA1TYears = new Array(2,1965);
var VMA1TModels = new Array("Vespa 125 Nuova");

var VMA2T = new Array(20001,22875,31549,36267,42300,49704,60346,76661,102259,132240,152876,175206,191714,199673,207241,220727,236478,240330);
var VMA2TYears = new Array(16,1967);
var VMA2TModels = new Array("Vespa 125 Primavera");

var VMB1T = new Array(1101,8926,26811,51704,76046,100261,129920,144680,145313);
var VMB1TYears = new Array(7,1976);
var VMB1TModels = new Array("Vespa 125 Primavera ET3");

var VMX1T = new Array(1101,2851,3593,9999999);
var VMX1TYears = new Array(2,1982);
var VMX1TModels = new Array("Vespa PK 125 S");

var VMX5T = new Array(1101,14068,41301,3000001,3006296,9999999);
var VMX5TYears = new Array(2,1982,4,1983);
var VMX5TModels = new Array("Vespa PK 125 S","Vespa PK 125 S Elestart");
var VMX5TMoDET = new Array(3000000,3000001,9999999);

var VMX6T = new Array(1101,3000001,9999999);
var VMX6TYears = new Array(0,1986,1,1986);
var VMX6TModels = new Array("Vespa PK 125 XL","Vespa PK 125 XL Elestart");
var VMX6TMoDET = new Array(3000000,3000001,9999999);

var VNA1T = new Array(1001,10301,125001,126801);
var VNA1TYears = new Array(1,1957,2,1958);
var VNA1TModels = new Array("Vespa 125","Vespa 125 Augsburg");
var VNA1TMoDET = new Array(68031,125001,126800);

var VNA2T = new Array(68032,107008,116432);
var VNA2TYears = new Array(1,1958);
var VNA2TModels = new Array("Vespa 125");

var VNB1T = new Array(1001,16276,80687,128905,131514);
var VNB1TYears = new Array(2,1959,3,1959);
var VNB1TModels = new Array("Vespa 125","Vespa 125/2 Augsburg");
var VNB1TMoDET = new Array(89850,128905,131513);

var VNB2T = new Array(1001,34700);
var VNB2TYears = new Array(0,1961);
var VNB2TModels = new Array("Vespa 125");

var VNB3T = new Array(34700,54415,90396);
var VNB3TYears = new Array(1,1961);
var VNB3TModels = new Array("Vespa 125");

var VNB4T = new Array(90396,99701,136486);
var VNB4TYears = new Array(1,1962);
var VNB4TModels = new Array("Vespa 125");

var VNB5T = new Array(1001,7071,43241);
var VNB5TYears = new Array(1,1963);
var VNB5TModels = new Array("Vespa 125");

var VNB6T = new Array(1001,7456,35440,37029);
var VNB6TYears = new Array(2,1964);
var VNB6TModels = new Array("Vespa 125");

var VNC1T = new Array(1001,4421,19045,23746,25077,25147);
var VNC1TYears = new Array(4,1965);
var VNC1TModels = new Array("Vespa 125 Super");

var VNL2T = new Array(30001,35754,54603,65402,69848,73614,75822,78314,100001,100752,107341,112892,117899,124093,128069,135903,141382,145659,149642,151789);
var VNL2TYears = new Array(7,1966,18,1968);
var VNL2TModels = new Array("Vespa 125 GT","Vespa 125 GT R");
var VNL2TMoDET = new Array(81582,100001,151788);

var VNL3T = new Array(1101,7080,17819,29245,29846);
var VNL3TYears = new Array(3,1975);
var VNL3TModels = new Array("Vespa 125 TS");

var VNX1T = new Array(1101,5005,32786,74936,130380,195564,198249);
var VNX1TYears = new Array(5,1977);
var VNX1TModels = new Array("Vespa P 125 X");

var VNX2T = new Array(1101,11296,87954,135402,200001,214891,243847,264194,278044,281515,282673,283598,284847,307705,3000001,3004102,3007033,3009001,3011839,3014496,3017085,3020136,3021684,3022900,9999999);
var VNX2TYears = new Array(3,1981,13,1983,23,1984);
var VNX2TModels = new Array("Vespa PX125E","Vespa PX125E Arcobaleno","Vespa PX125E Arcobaleno Elestart");
var VNX2TMoDET = new Array(135966,200001,307705,3000001,9999999);

var VNX5T = new Array(1101,16090,24140,30976,33369,35992,37162,37496,37589,3000001,3001032,3003324,3003879,3004407,3004679,3005080);
var VNX5TYears = new Array(8,1985,14,1985);
var VNX5TModels = new Array("Vespa PX125 T5","Vespa PX125 T5 Elestart");
var VNX5TMoDET = new Array(3000000,3000001,3005079);

var VS1T = new Array(1001,13301);
var VS1TYears = new Array(0,1955);
var VS1TModels = new Array("Vespa 150 GS");

var VS2T = new Array(13301,23311);
var VS2TYears = new Array(0,1956);
var VS2TModels = new Array("Vespa 150 GS");

var VS3T = new Array(23311,35311);
var VS3TYears = new Array(0,1957);
var VS3TModels = new Array("Vespa 150 GS");

var VS4T = new Array(35311,47351);
var VS4TYears = new Array(0,1958);
var VS4TModels = new Array("Vespa 150 GS");

var VS5T = new Array(47351,52364,70129,104732,127351);
var VS5TYears = new Array(3,1958);
var VS5TModels = new Array("Vespa 150 GS");

var VSB1T = new Array(1001,29971,48251,500001,502462);
var VSB1TYears = new Array(2,1962,3,1958);
var VSB1TModels = new Array("Vespa 160 GS","Vespa 160 GS/4 Augsburg");
var VSB1TMoDET = new Array(61000,500001,502461);

var VSC1T = new Array(100,3121,19721,25674,32633,36701);
var VSC1TYears = new Array(4,1964);
var VSC1TModels = new Array("Vespa 180 SS");

var VSD1T = new Array(1001,5329,11538,17811,23349,26885,27496);
var VSD1TYears = new Array(5,1968);
var VSD1TModels = new Array("Vespa 180 Rally");

var VSE1T = new Array(1001,4594,11699,21940,28696,33950,40266,41775,42276);
var VSE1TYears = new Array(7,1972);
var VSE1TModels = new Array("Vespa Rally 200");

var VSX1T = new Array(100,2042,15228,36560,73335,116615,165843,184911,191834,195546,300001,304225,318274,343981,376472,397826,406832,417382,424580,428013,436117,3000001,3004429,3008315,3011517,3014141,3016526,3018488,3022539,3025777,3027650,9999999);
var VSX1TYears = new Array(9,1977,20,1983,30,1984);
var VSX1TModels = new Array("Vespa P200X","Vespa P200E","Vespa PX200E","Vespa PX200E Arcobaleno","Vespa PX200E Arcobaleno Elestart");
var VSX1TMoDET = new Array(1100,1101,160000,160001,195574,300001,3000000,3000001,9999999);

var VU1T = new Array(1001,7002);
var VU1TYears = new Array(0,1953);
var VU1TModels = new Array("Vespa 125 Junior 'U' Model");


function VerifyInput() {
  var Selection = document.GetModel.Model.selectedIndex;
  var Model = document.GetModel.Model.options[Selection].value;
  var Serial = document.GetModel.Serial.value;
  
  if (Selection != 0) {
    var Except = new Array("V5P1T","V5P2T","VMX7T","VNS1T","VNS2T","VNS3T","VNS4T","VNS5T","VNS6T","VNT","VNL1T");
    for (i = 0; i <= (Except.length - 1); i++) {
      if (Model == Except[i]) {
        var ExModel = new Array(1,"Vespa 50 N Plurimatic",2,"Vespa 125 N (FL)",8,"Vespa S \"Svezia\" (Sweden)",10,"Vespa 125 GT");
        var ExYear = new Array(1989,1990,1991,1959,1960,1961,1963,1964,1965,"1961/62","1963/64");
        document.GetModel.Year.value =  ExYear[i];
        for (j = 0; j <= (ExModel.length - 1); j++) {
          if (j % 2 == 0 && i <= ExModel[j]) {
            document.GetModel.OModel.value = ExModel[j + 1];
            break;
          }
        }
        var VespaLinkTest = Model.toLowerCase();
        TestLink(VespaLinkTest);
        return false;
      }
    }
    if (Model == "VNL2T" && Serial == '') {
      document.GetModel.Year.value = "1965";
      document.GetModel.OModel.value = "Vespa 125 GT"
      var VespaLinkTest = Model.toLowerCase();
      TestLink(VespaLinkTest);
      return false;
    }
  }
  if (Selection != 0 && Serial != '') {
    Serial = Serial.replace(/\D/g,'');
    while (Serial.match(/^0/)) {
      Serial = Serial.replace(/^0/,'');
    }
    if (Serial != '') {
      if (Model == "VNL2T" && Serial < 30001) {
        document.GetModel.Year.value = "1965";
        document.GetModel.OModel.value = "Vespa 125 GT";
        var VespaLinkTest = Model.toLowerCase();
        TestLink(VespaLinkTest);
        return false;
      }
      if (Model == "V98") {
        if (Serial >= 1 && Serial <= 18079) {
          document.GetModel.Year.value = "1946/47";
          document.GetModel.OModel.value = "Vespa 98"
          var VespaLinkTest = Model.toLowerCase();
          TestLink(VespaLinkTest);
          return false;          
        } else {
            NoModel();
            return false;         
        }
      }
      if (Model == "VLB1T" && Serial.indexOf('78894360') != '-1') {
        document.GetModel.Year.value = "1966";
        document.GetModel.OModel.value = "Vespa Sprint Sears"
        var VespaLinkTest = Model.toLowerCase();
        var VespaLinkTest = VespaLinkTest + '788';
        TestLink(VespaLinkTest);
        return false;
      }
      if (Model == "VMA1T" && Serial.indexOf('78894370') != '-1') {
        document.GetModel.Year.value = "1966";
        document.GetModel.OModel.value = "Vespa Sears";
        var VespaLinkTest = Model.toLowerCase();
        TestLink(VespaLinkTest);
        return false;
      }
      if (Model == "Allstate") {
        var Allstates = new Array(/788100/,/788101/,/788102/,/788103/,/788104/,/78894490/,/78894491/,/78894492/,/78894493/,/78894494/,/78894495/,/78894330/,/78894331/,/78894332/);
        var Allyear = new Array(1951,1952,1952,1953,1953,1954,1955,1956,1957,1958,"1959/60","1961/62",1963,1964,1965);
        for (i = 0; i <= (Allstates.length -1); i++) {
          if (Serial.search(Allstates[i]) != '-1') {
            document.GetModel.Year.value = Allyear[i];
            document.GetModel.OModel.value = "Vespa Allstate";
            var VespaLinkTest = Model.toLowerCase();
            TestLink(VespaLinkTest);
            return false;            
          }
          if (i == (Allstates.length -1) && Serial.indexOf(Allstates[i]) == '-1') {
            NoModel();
            return false;  
          }
        }
      }
      if (Model == "V1T" || Model == "V30T") {
        if (Model == "V1T" && Serial >= 1 && Serial <= 104096) {
          document.GetModel.Year.value = "1948-50";
          document.GetModel.OModel.value = "Vespa 125"
          var VespaLinkTest = Model.toLowerCase();
          TestLink(VespaLinkTest);
          return false;
        }
        if (Model == "V30T" && Serial >= 104097 && Serial <= 251820) {
          document.GetModel.Year.value = "1950-52";
          document.GetModel.OModel.value = "Vespa 125"
          var VespaLinkTest = Model.toLowerCase();
          TestLink(VespaLinkTest);
          return false;
        } else {
            NoModel();
            return false;
        }
      }
      ModelGet(Serial,Model,Selection);
      return false; 
    } else {
        alert("That is not a valid serial number!\nPlease check the number and try again."); 
        document.GetModel.Serial.focus();
        return false;
    }
  } else {
      if (Selection == 0 && Serial == '') {
        alert("You haven't selected a model or entered a serial number!");
        document.GetModel.Model.focus();
        return false;
      } else {
          if (Selection == 0) {
            alert("You haven't selected a model number!");
            document.GetModel.Model.focus();
            return false;
          }
          if (Serial == '') {
            alert("You haven't entered a serial number!");
            document.GetModel.Serial.focus();
            return false;
          }
      }
  }
}

function ModelGet(Serial,Model,Selection) {
  var CurrArray = eval(document.GetModel.Model.options[Selection].value);
  var CurrArrayYears = eval(document.GetModel.Model.options[Selection].value + "Years");
  var CurrArrayModels = eval(document.GetModel.Model.options[Selection].value + "Models");
  if (CurrArrayModels.length > 1) {
    var CurrArrayMoDET = eval(document.GetModel.Model.options[Selection].value + "MoDET");
  }
  var Output = "Unable to determine model";
  var ModelYear = "N/A";

  for (i = 0; i <= (CurrArray.length - 1); i++) {
    if (Serial < CurrArray[0] || Serial >= CurrArray[CurrArray.length - 1]) {
      break;
    }
    if (Serial >= CurrArray[i] && Serial < CurrArray[i+1]) {
      for (j = 0; j <= (CurrArrayYears.length - 1); j++) {
        if (j % 2 == 0 && i <= CurrArrayYears[j]) {
          if (j > 0) {
            ModelYear = CurrArrayYears[j + 1] + i - CurrArrayYears[j - 2] - 1;
          } else {
              ModelYear = CurrArrayYears[j + 1] + i;
          }
          break;
        }
      }
      if (CurrArrayModels.length > 1) {
        for (j = 0; j <= (CurrArrayMoDET.length - 1); j++) {
          if (j % 2 == 0) {
            if (j != (CurrArrayMoDET - 1) && Serial > CurrArrayMoDET[j] && Serial < CurrArrayMoDET[j + 1]) {
              ModelYear = "N/A";
              break;
            }
            if (Serial <= CurrArrayMoDET[j]) {
              Output = CurrArrayModels[j / 2];
              var VespaLinkTest = Model.toLowerCase();
              for (k = 1; k <= (CurrArrayModels.length - 1); k++) {
                if (CurrArrayModels[k] != CurrArrayModels[0]) { 
                  for (l = 0; l <= (j / 2); l++) {
                    if (CurrArrayModels[l] == CurrArrayModels[j / 2]) {
                      if (l == 0) {
                        VespaLinkTest = VespaLinkTest + CurrArray[0];
                        break;
                      } else { 
                          VespaLinkTest = VespaLinkTest + CurrArrayMoDET[(l * 2) - 1];
                          break; 
                      }
                    }
                  }
                break;
                }
              }
              if (ModelYear >= 1984) {
                if (CurrArray[i + 1] == 9999999) {
                  ModelYear = ModelYear + " or later";
                }
                if (CurrArrayMoDET[j] % 2 == 0 && CurrArrayMoDET[j + 1] && CurrArrayMoDET[j + 1] - CurrArrayMoDET[j] == 1 && CurrArrayMoDET[j + 1] == CurrArray[i + 1]) {
                  var TestNum = CurrArrayMoDET[j];
                  TestNum += "a";
                  TestNum = TestNum.replace(/\d/g,'0');
                  TestNum = TestNum.replace(/^\d/,'1');
                  TestNum = TestNum.replace(/a/g,'');
                  if (CurrArrayMoDET[j] % TestNum == 0) {
                    ModelYear = ModelYear + " or later";
                  }
                }
              }              
              TestLink(VespaLinkTest);
              break;
            }
          }
        } 
      } else { 
          Output = CurrArrayModels[0];
          var VespaLinkTest = Model.toLowerCase();
          TestLink(VespaLinkTest); 
      }
      break;
    }  
  }
  if (Output == 'Unable to determine model') {
    VespaLink = '';
    document.images.InfoLink.src='images/PlaceOrng.gif';
    document.images.InfoLink.width=1;
    document.images.InfoLink.height=1;  
  }
  document.GetModel.Year.value = ModelYear;
  document.GetModel.OModel.value = Output;
}

function OpenLink() {
  if (VespaLink != '') {
    window.open('Models/' + VespaLink + '.html','Modelinfo','scrollbars,resizable,width=337,height=400');
    document.images.InfoLink.src='images/MoreInfV.gif';
  } else { alert(":-o Erm, you weren't supposed to click there just yet, sorry."); }
}

function TestLink(VespaLinkTest) {
  VespaLink = '';
  for (k = 0; k <= (document.Vehicle.VSelect.options.length - 1); k++) {
    if (VespaLinkTest == document.Vehicle.VSelect.options[k].value) {
      VespaLink = VespaLinkTest;
      document.images.InfoLink.src='images/MoreInfo.gif';
      document.images.InfoLink.width=90;
      document.images.InfoLink.height=18;
      break;
    }
  }
  if (VespaLink == '') {
    document.images.InfoLink.src='images/PlaceOrng.gif';
    document.images.InfoLink.width=1;
    document.images.InfoLink.height=1;
  }
}

function NoModel() {
  document.GetModel.Year.value = "N/A";
  document.GetModel.OModel.value = "Unable to determine model";
  VespaLink = '';
  document.images.InfoLink.src='images/PlaceOrng.gif';
  document.images.InfoLink.width=1;
  document.images.InfoLink.height=1;
}