var carBrandEdited = false;
var carDateEdited = false;
var twnresptext="";

/*funzioni per il controllo codice fiscale*/
function Trim(stringa) {
  reTrim=/\s+$|^\s+/g;
  return stringa.replace(reTrim,"");
}
function controllaCodFisc(obj) {
  var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
  Codice=Trim(obj.value.toUpperCase());
  if (!re.test(Codice)) {
    cliccato=true;
    document.onclick();
  } else {
    cliccato=false;
  }
}

/**
 * toggle visibility of selected product warranties box, in offer list
 */
function showHideBox(title, body) {
  titleObj = meta.$(title);
  bodyObj = meta.$(body);
  if(titleObj == null || bodyObj == null )
    return;
  meta.toggleClass(titleObj, "openedList");
  meta.toggleClass(titleObj, "closedList");
  if (meta.getClassName(titleObj)=="openedList") {
    meta.setAttribute(titleObj, "title", "Nascondi altre garanzie incluse");
    meta.setHtml(titleObj, "Nascondi altre garanzie incluse");
  }
  if (meta.getClassName(titleObj)=="closedList") {
    meta.setAttribute(titleObj, "title", "Visualizza altre garanzie incluse");
    meta.setHtml(titleObj, "Visualizza altre garanzie incluse");
  }
  meta.slideToggle(bodyObj, 0.6);
}

/*
 * ===================================================================================
 *    FORM
 * ===================================================================================
 *
 */
/* Roberto: new or modified functions */
 function checkRegDate (obj) {
  var selectedDate = new Date();
  var maxDate = new Date();
  var setInsDate = new Date();
  maxDate.setMonth(maxDate.getMonth() + 2);
  setInsDate.setMonth(setInsDate.getMonth() - 6);
  //selectedDate.setMonth(meta.get("selectedIndex", "regMonth") - 1);
  //selectedDate.setFullYear(meta.getOptions("regYear")[meta.get("selectedIndex", "regYear")].text);
  var themnthxxx = meta.getSelectedIndex("regMonth");
  var theyearxxx = meta.getSelectedIndex("regYear");
  if ((themnthxxx > 0) && (theyearxxx > 0)) {
    selectedDate.setMonth(meta.getSelectedIndex("regMonth") - 1);
    selectedDate.setFullYear(meta.getOptions("regYear")[meta.getSelectedIndex("regYear")].text);
    if (selectedDate>maxDate) {
      cliccato=true;
      document.onclick();
    } else {
      cliccato=false;
      setInsuranceNewCar(selectedDate, setInsDate);
    }
  } else {
    cliccato=false;
  }
}
//NON PIU' UTILIZZATA
//Chiamata su onChange di anno immatricolazione, setta anno acquisto = anno immatricolazione
function setAnnoAcquisto() {
	meta.setSelectedIndex("purchYear", meta.getSelectedIndex("regYear"));
  checkAnnoAcquisto();
	//meta.getOptions("purchYear")[meta.getSelectedIndex("purchYear")].value = meta.getOptions("regYear")[meta.getSelectedIndex("regYear")].value;
}
/*
 *
 */
function checkAnnoAcquisto() {
  if (meta.getSelectedIndex("regYear")<meta.getSelectedIndex("purchYear")) {
    alert("L'anno di acquisto non puo' essere antecedente all'anno di immatricolazione");
  	meta.setSelectedIndex("purchYear", meta.getSelectedIndex("regYear"));
  } else setInsuranceOldCar(meta.getOptions('purchYear')[meta.getSelectedIndex('purchYear')].text);
}
/*
 *
 */
function setInsuranceNewCar(regDate, limitDate) {
  if (regDate>=limitDate){
  	meta.setSelectedIndex("insuranceSituation", 2);
    selectedInsuranceSituation();
  } else setInsuranceOldCar(meta.getOptions('purchYear')[meta.getSelectedIndex('purchYear')].text);
}
/*
 *
 */
function setInsuranceOldCar(purchYear) {
  var todayDate = new Date();
  var limitDate = new Date();
  limitDate.setMonth(limitDate.getMonth() - 6);
  var regDate = new Date();
  regDate.setMonth(meta.getSelectedIndex("regMonth") - 1);
  regDate.setFullYear(meta.getOptions("regYear")[meta.getSelectedIndex("regYear")].text);
  if (regDate<limitDate){
    if ((purchYear-todayDate.getFullYear())<0) {
    	meta.setSelectedIndex("insuranceSituation", 1);
    } else if ((purchYear-todayDate.getFullYear())==0) {
    	meta.setSelectedIndex("insuranceSituation", 3);
    }
  }
  selectedInsuranceSituation();
}
/*
 * km good data format check
 * maybe, to be revised
 */
function checkDistance() {
  var obj = document.getElementById('averageKmPerYear');
  var theValue = obj.value;
  var theValue = meta.getValue("averageKmPerYear")
  if(theValue == "")return;
  var flag = false;
  var regex = /^[0-9]{1,}$/;
  if (!theValue.match(regex)){
    alert("Il campo percorrenza media puo' contenere solo numeri (no punti, virgole,...) ");
    flag=true;
  } else {
    if(theValue < 1000 || theValue > 20000) {
      flag = !confirm("Sei sicuro di percorrere mediamente " + theValue + " chilometri all'anno?");
    }
  }
  if(flag) {
    globalField = obj;
    setTimeout("globalField.focus()",50);
    obj.select(); //focus for I.E.
  }
}
/* Roby: called by "Auto in leasing"*/
function setProprietarioConducente(how) {
  if (how=="1") {
		meta.setSelectedIndex("holderIsDriver", 1);
    viewProprietario(30);
		meta.setSelectedIndex("holder1", 3);
    viewConducente("false");
  }
}
function viewProprietario(sex) {
	if (sex!=-1) {
    meta.setCss("datiProprietario", "display", "block");
    meta.setCss("altriConducenti", "display", "block");
    setUlteriori();
		if (sex==30) {
      for (i=1;i<=8;i++) {
        meta.setCss("proprietario"+i, "visibility", "hidden");
      }
      meta.setCss("holderSelect8", "visibility", "hidden");
      meta.setCss("holderSelect9", "visibility", "hidden");
		} else {
      for (i=1;i<=8;i++) {
        meta.setCss("proprietario"+i, "visibility", "visible");
      }
      meta.setCss("holderSelect8", "visibility", "visible");
      meta.setCss("holderSelect9", "visibility", "visible");
		}
    toggleProvComNascLabel();
	} else {
    meta.setCss("datiProprietario", "display", "none");
    meta.setCss("altriConducenti", "display", "none");
    meta.setCss("miniDriverDataBox1", "display", "none");
    meta.setCss("miniDriverDataBox2", "display", "none");
	}
}
/* called when owner Residence Province changes */
function selectedResidenceProvinceOwner(){
	meta.setSelectedIndex("holderSelect8", meta.getSelectedIndex("holder2"));
  getTownsIdsByProvince('holderSelect9', 'holderSelect8');
}
/* called when owner Residence City changes */
function selectedResidenceCityOwner(){
	meta.setSelectedIndex("holderSelect9", meta.getSelectedIndex("holder3"));
}
function viewConducente(what) {
	if (what!="true") {
    meta.setCss("datiProprietario", "display", "block");
    meta.setCss("datiConducente", "display", "block");
    meta.setCss("altriConducenti", "display", "block");
    setUlteriori();
	} else {
    meta.setCss("datiConducente", "display", "none");
	}
  toggleProvComNascLabel();
  toggleRispSuper(meta.$('risparmio'));
}
/* called when driver Residence Province changes */
function selectedResidenceProvinceDriver(){
	meta.setSelectedIndex("driverSelect8", meta.getSelectedIndex("driver2"));
  getTownsIdsByProvince('driverSelect9', 'driverSelect8');
}
/* called when driver Residence City changes */
function selectedResidenceCityDriver(){
	meta.setSelectedIndex("driverSelect9", meta.getSelectedIndex("driver3"));
}
function viewContraente(what) {
	if (what!="true") {
    meta.setCss("datiProprietario", "display", "block");
    meta.setCss("datiContraente", "display", "block");
    meta.setCss("altriConducenti", "display", "block");
    setUlteriori();
	} else {
    meta.setCss("datiContraente", "display", "none");
	}
  toggleProvComNascLabel();
  toggleRispSuper(meta.$('risparmio'));
}
function viewDatiContraente(sex) {
	if (sex!=-1) {
    meta.setCss("datiProprietario", "display", "block");
    meta.setCss("datiContraente", "display", "block");
		if (sex==30) {
      for (i=1;i<=8;i++) {
        meta.setCss("contraente"+i, "display", "none");
      }
      meta.setCss("contractorSelect8", "visibility", "hidden");
      meta.setCss("contractorSelect9", "visibility", "hidden");
		} else {
      for (i=1;i<=8;i++) {
        meta.setCss("contraente"+i, "display", "block");
      }
      meta.setCss("contractorSelect8", "visibility", "visible");
      meta.setCss("contractorSelect9", "visibility", "visible");
		}
    toggleProvComNascLabel();
	}
}
/* called when contractor Residence Province changes */
function selectedResidenceProvinceContractor(){
	meta.setSelectedIndex("contractorSelect8", meta.getSelectedIndex("contractor2"));
  getTownsIdsByProvince('contractorSelect9', 'contractorSelect8');
}
/* called when contractor Residence City changes */
function selectedResidenceCityContractor(){
	meta.setSelectedIndex("contractorSelect9", meta.getSelectedIndex("contractor3"));
}

function viewUlteriori(what) {
  switch(what){
    case "0":
    case "-1":
      meta.setCss("miniDriverDataBox1", "display", "none");
      meta.setCss("miniDriverDataBox2", "display", "none");
      // meta.setValue("youngestDriverAge", "-1");
      // meta.setValue("newcomerDrivers", "-1");
      break;
    case "1":
      meta.setCss("miniDriverDataBox1", "display", "block");
      meta.setCss("miniDriverDataBox2", "display", "block");
      break;
    default:
      break;
  }
}
function setUlteriori() {
  if (meta.getValue('otherDriversPresents')==-1)
    meta.setSelectedIndex("otherDriversPresents", 1);
  if (meta.getValue('youngestDriverAge')==-1)
    meta.setSelectedIndex("youngestDriverAge", 12);
  if (meta.getValue('newcomerDrivers')==-1)
    meta.setSelectedIndex("newcomerDrivers", 2);
  viewUlteriori(meta.getValue('otherDriversPresents'));
}

function selectedSex(prefix, value) {
  value = (value == undefined ? meta.getValue(prefix + "1") : value);
  if (value == '30') {
    for (var i=1; i<=7; i++) {
      meta.setAttribute(prefix + "Select" + i, "disabled", true);
    }
  } else {
    for (var k=1; k<=7; k++) {
      meta.setAttribute(prefix + "Select" + k, "disabled", false);
    }
  }
}

/*
 * 20090421 ... after the licenceless attempt
 * if the owner is a society, force asking the main driver...
 */
function forceMainDriverFieldsRequest(theValue){
  if(theValue == 30) { // if the owner is a society...
    meta.setValue("holderIsDriver", "false");
    viewConducente("false");
    toggleProvComNascLabel();
  }
/*  if((theValue == 10) || (theValue == 20)) { // if the owner is a society...
    meta.setValue("holderIsDriver", "true");
    viewConducente("true");
  }*/
}

/*
 * missing cap alert
 */
function missingCapAlert(){
  // alert ( "hey!" + ajresptext);
  if (ajresptext == "<option value='-1'>-----</option>") {
    alert("Attenzione: non sono state trovate localita' corrispondenti al cap inserito.\n" +
              "Se avete usato un cap generico (es:20100 per Milano, 00100 per Roma, ...),\n " +
                "riprovate utilizzando il relativo cap di zona (ad esempio, per Milano, 20133, 20123, ...)");
  }
}

function toggleProvComNasc(country, entity) {
  if((meta.getOptions(country)[meta.getSelectedIndex(country)].text)=="ITALIA") {
    if((entity=="holder")&&(meta.getValue('holder1')!=30)) {
      meta.setCss(entity+"Select8", "visibility", "visible");
      meta.setCss(entity+"Select9", "visibility", "visible");
    } else {
      meta.setCss(entity+"Select8", "display", "block");
      meta.setCss(entity+"Select9", "display", "block");
    }
  } else {
    if(entity=="holder") {
      meta.setCss(entity+"Select8", "visibility", "hidden");
      meta.setCss(entity+"Select9", "visibility", "hidden");
    } else {
      meta.setCss(entity+"Select8", "display", "none");
      meta.setCss(entity+"Select9", "display", "none");
    }
  }
  toggleProvComNascLabel();
}
function toggleProvComNascLabel() {
  if ( (((meta.getOptions('holderSelect7')[meta.getSelectedIndex('holderSelect7')].text)!="ITALIA") || ((meta.getCss('proprietario6', 'visibility'))=="hidden")) &&
      (((meta.getOptions('driverSelect7')[meta.getSelectedIndex('driverSelect7')].text)!="ITALIA") || ((meta.getCss('datiConducente', 'display'))!="block")) &&
      (((meta.getOptions('contractorSelect7')[meta.getSelectedIndex('contractorSelect7')].text)!="ITALIA") || ((meta.getCss('datiContraente', 'display'))!="block") || ((meta.getCss('contraente6', 'display'))=="none")) ) {
        meta.setCss("owner7", "display", "none");
        meta.setCss("owner8", "display", "none");
  } else {
        meta.setCss("owner7", "display", "block");
        meta.setCss("owner8", "display", "block");
  }
}
function toggleRispSuper(saving) {
  if((meta.getValue(saving))=="10") {
    meta.setCss("superSavingInfo", "display", "block");
    if (meta.getValue("holderIsDriver")=="true") {
      meta.setCss("driverAnag", "display", "none");
    } else {
      meta.setCss("driverAnag", "display", "block");
    }
    if (meta.getValue("holderIsContractor")=="true") {
      meta.setCss("contractorAnag", "display", "none");
    } else {
      meta.setCss("contractorAnag", "display", "block");
    }
    if (meta.getValue("holder1")=="30") { //propr. società
      meta.setCss("nomeOwnRisp", "visibility", "hidden");
      meta.setCss("cognOwnRisp", "visibility", "hidden");
      meta.setCss("ragSocRispLabel", "display", "block");
      meta.setCss("ragSocOwnRisp", "display", "block");
      meta.setCss("pIvaRispLabel", "display", "block");
      meta.setCss("pIvaOwnRisp", "display", "block");
      meta.setCss("errRagSoc", "display", "block");
      meta.setCss("errPIva", "display", "block");
    }
    if (meta.getValue("contractor1")=="30") { //contr. società
      meta.setCss("nomeContrRisp", "visibility", "hidden");
      meta.setCss("cognContrRisp", "visibility", "hidden");
      meta.setCss("ragSocRispLabel", "display", "block");
      meta.setCss("ragSocContrRisp", "display", "block");
      meta.setCss("pIvaRispLabel", "display", "block");
      meta.setCss("pIvaContrRisp", "display", "block");
      meta.setCss("errRagSoc", "display", "block");
      meta.setCss("errPIva", "display", "block");
    }
  } else {
    meta.setCss("superSavingInfo", "display", "none");
  }
}

  /*
   * called during on load and when type of prec insurance changes
   */
  function selectedInsuranceSituation(onPageLoad){
    if(!onPageLoad) {
      meta.setValue("selectRiskCertificate", false);
      meta.setValue("idInsuranceDateYearMonthDay", -1);
      meta.setValue("cuClassToText", -1);
      meta.setValue("cuClassFromText", -1);
//      meta.setValue("idInsYearsInLastFive", -1);
      meta.setValue("numberOfAccidentsInLastSixYears", -1);
      innerHTMLPatch("accidentsTable","");
    }
    var value = meta.getValue("insuranceSituation");
    switch (value) {
      case "1": // Prima assicurazione per un'auto nuova
      case "2": // Prima assicurazione per un'auto usata
        meta.setCss("attestationRiskBox", "display", "block");
        meta.setCss("effectPolicyBox", "display", "block");
//        meta.setCss("yearSinceAssuredBox", "display", "block");
        meta.setCss("CUPreviousClassBox", "display", "none");
        meta.setCss("CuClassBox", "display", "none");
        meta.setCss("firstInsurancedYear", "display", "none");
        meta.setCss("casualtiesBox", "display", "none");
        meta.setCss("accidentsTableBox", "display", "none");
        selectedRiskCertificate();
        if(meta.getValue("numberOfAccidentsInLastSixYears") > 0 && onPageLoad) {
          createTable(meta.getValue("numberOfAccidentsInLastSixYears"));
        }
        break;
      case "3": // auto già assicurata con bonus/malus
        meta.setCss("CULabel4", "display", "none");
        meta.setCss("CULabel3", "display", "block");
        meta.setCss("CULabel2", "display", "none");
        meta.setCss("CULabel1", "display", "block");
        meta.setCss("yearLabel1", "display", "block");
        meta.setCss("yearLabel2", "display", "none");
        meta.setCss("accidentsLabel2", "display", "none");
        meta.setCss("accidentsLabel1", "display", "block");
        meta.setCss("effectPolicyBox", "display", "block");
//        meta.setCss("yearSinceAssuredBox", "display", "block");
        meta.setCss("CUPreviousClassBox", "display", "block");
        meta.setCss("CuClassBox", "display", "block");
        meta.setCss("firstInsurancedYear", "display", "block");
        meta.setCss("casualtiesBox", "display", "block");
        meta.setCss("attestationRiskBox", "display", "none");
        if(meta.getValue("numberOfAccidentsInLastSixYears") > 0 && onPageLoad){
          createTable(meta.getValue("numberOfAccidentsInLastSixYears"));
        }
        break;
      case "0": // opzione vuota -----
        meta.setCss("effectPolicyBox", "display", "none");
//        meta.setCss("yearSinceAssuredBox", "display", "none");
        meta.setCss("CUPreviousClassBox", "display", "none");
        meta.setCss("CuClassBox", "display", "none");
        meta.setCss("firstInsurancedYear", "display", "none");
        meta.setCss("casualtiesBox", "display", "none");
        meta.setCss("attestationRiskBox", "display", "none");
        meta.setCss("accidentsTableBox", "display", "none");
        break;
    }
  }
  /*
   * called eventually inside selectedInsuranceSituation (on load) and inside the Bersani's combo onchange event
   */
  function selectedRiskCertificate() {
    var swState = (meta.getValue("selectRiskCertificate") == "1")||(meta.getValue("selectRiskCertificate") == "2");
    if(swState) { // opzioni Bersani: uso l'attestato di rischio di un'altra auto intestata a me o a familiare convivente
      //meta.setCss("yearSinceAssuredBox", "display", "");
      meta.setCss("CUPreviousClassBox", "display", "");
      meta.setCss("CuClassBox", "display", "");
      meta.setCss("CULabel3", "display", "none");
      meta.setCss("CULabel4", "display", "block");
      meta.setCss("firstInsurancedYear", "display", "");
      meta.setCss("casualtiesBox", "display", "");
      meta.setCss("CULabel1", "display", "none");
      meta.setCss("CULabel2", "display", "block");
      meta.setCss("yearLabel2", "display", "block");
      meta.setCss("yearLabel1", "display", "none");
      meta.setCss("accidentsLabel1", "display", "none");
      meta.setCss("accidentsLabel2", "display", "block");
    } else { // no Bersani: non uso l'attestato di rischio di un'altra auto
      //meta.setCss("yearSinceAssuredBox", "display", "none");
      meta.setCss("CUPreviousClassBox", "display", "none");
      meta.setCss("CuClassBox", "display", "none");
      meta.setCss("firstInsurancedYear", "display", "none");
      meta.setCss("casualtiesBox", "display", "none");
      meta.setCss("accidentsTableBox", "display", "none");
    }
  }
  /*
   * called when CU Class From changes
   */
  function selectedCuClassFrom(){
    if (((meta.getSelectedIndex('cuClassToText'))==0) && (((meta.getSelectedIndex('numberOfAccidentsInLastSixYears'))==0))) {
      if (meta.getSelectedIndex('cuClassFromText')==1) {
        meta.setSelectedIndex('cuClassToText', 1);
      } else {
        meta.setSelectedIndex('cuClassToText', meta.getSelectedIndex('cuClassFromText')-1);
      }
      meta.setSelectedIndex('numberOfAccidentsInLastSixYears', 1);
    } else {
      if (((meta.getSelectedIndex('cuClassFromText')!=1)&&(meta.getSelectedIndex('cuClassFromText')==meta.getSelectedIndex('cuClassToText')))&&(meta.getSelectedIndex('cuClassToText')!=0)) {
        alert ("La classe CU di provenienza non puo' essere uguale a quella di destinazione");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
      if (((meta.getSelectedIndex('cuClassFromText')-meta.getSelectedIndex('cuClassToText'))>1)&&(meta.getSelectedIndex('cuClassToText')!=0)) {
        alert ("La classe CU di destinazione puo' diminuire al massimo di un punto ogni anno");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
      if ((meta.getSelectedIndex('cuClassToText')>meta.getSelectedIndex('cuClassFromText'))&&((meta.getSelectedIndex('cuClassToText')-meta.getSelectedIndex('cuClassFromText'))==1)) {
        alert("La classe CU non puo' aumentare di un solo punto");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
    }
  }
  /*
   * called when CU Class To changes
   */
  function selectedCuClassTo(){
    if (((meta.getSelectedIndex('cuClassFromText'))==0) && (((meta.getSelectedIndex('numberOfAccidentsInLastSixYears'))==0))) {
      meta.setSelectedIndex('cuClassFromText', meta.getSelectedIndex('cuClassToText')+1);
      meta.setSelectedIndex('numberOfAccidentsInLastSixYears', 1);
    } else {
      if (((meta.getSelectedIndex('cuClassToText')!=1)&&(meta.getSelectedIndex('cuClassFromText')==meta.getSelectedIndex('cuClassToText')))&&(meta.getSelectedIndex('cuClassFromText')!=0)) {
        alert ("La classe CU di provenienza non puo' essere uguale a quella di destinazione");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
      if (((meta.getSelectedIndex('cuClassFromText')-meta.getSelectedIndex('cuClassToText'))>1)&&(meta.getSelectedIndex('cuClassFromText')!=0)) {
        alert ("La classe CU puo' diminuire al massimo di un punto ogni anno");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
      if ((meta.getSelectedIndex('cuClassToText')>meta.getSelectedIndex('cuClassFromText'))&&((meta.getSelectedIndex('cuClassToText')-meta.getSelectedIndex('cuClassFromText'))==1)) {
        alert("La classe CU non puo' aumentare di un solo punto");
        meta.setSelectedIndex('cuClassFromText', 0);
        meta.setSelectedIndex('cuClassToText', 0);
      }
    }
  }
/*
 * called during startup for building accidents arrays
 */
function loadAccidentsIfPresents() {
  if (ArrayOfRunningValues != null && ArrayOfRunningValues.length > 0) {
   // alert("tre " + meta.getValue("numberOfAccidentsInLastSixYears"));
    createTable((ArrayOfRunningValues.length)/2, 'accidentsTable');
  }
}
/*
 * called during startup for building accidents arrays
 */
function setArrayOfRunningValues(select, first) {
  var name = select.name.toString();
  var row = parseInt(name.charAt(name.length-1)) * 2;
  var index;
  if (first == true) {
    index = row - 2;
  } else {
    index = row - 1;
  }
  ArrayOfRunningValues[index] = select.value;
}
function changeYearOfAccidents() {
  var ArrayYears = getArrayOfAccident();
  var rowsNumber = meta.getValue("numberOfAccidentsInLastSixYears");
  for (i = 0; i < rowsNumber; i++) {
    meta.setHtml("AccidentYear" + (i+1), buildOptions(ArrayYears));
  }
}
/*
 *
 */
function getArrayOfAccident() {
  var ArrayYears = ['-1','-----'];
//  var targetYear = theFirstPossibleInsYearIs;// (insYearsInLastFive == undefined ? document.getElementById("idInsYearsInLastFive").value : insYearsInLastFive);
  var targetYear = (document.getElementById("idfirstInsYearInRiskAss").value == -1 ? 9999 : document.getElementById("idfirstInsYearInRiskAss").value);
  if(targetYear == -1) return ArrayYears;
  var currentYear = theCurrentYearIs ;
  var i = 0;
  while(currentYear >= targetYear) {
    if(i==0) {
      ArrayYears.push(currentYear);
      ArrayYears.push(currentYear);
    } else {
      ArrayYears.push(theCurrentYearIs - i);
      ArrayYears.push(theCurrentYearIs - i);
    }
    i++;
    currentYear--;
  }
  return ArrayYears;
}
//chiamata su onChange dell'anno sinistro
//se ci sono sinistri nell'anno scorso, controlla se si è inserito una CU destinazione inferiore a CU provenienza e avvisa
//se ci sono sinistri nell'anno corrente, controlla se si è inserito una CU destinazione inferiore a CU provenienza e fa reinserire tutti e tre
function checkCU(which) {
  var anno = new Date();
  element="AccidentYear"+which;
  if ((meta.getOptions(element)[meta.getSelectedIndex(element)].text)==(anno.getFullYear()-1)) {
    if (((meta.getSelectedIndex('cuClassFromText')-meta.getSelectedIndex('cuClassToText'))==1)||((meta.getSelectedIndex('cuClassFromText')==1)&&(meta.getSelectedIndex('cuClassToText')==1))) {
      alert("Sei sicuro che la classe CU di destinazione sia inferiore a quella di provenienza? Verifica sull'attestato di rischio");
    }
  }
  if ((meta.getOptions(element)[meta.getSelectedIndex(element)].text)==anno.getFullYear()) {
    if (((meta.getSelectedIndex('cuClassFromText')-meta.getSelectedIndex('cuClassToText'))==1)||((meta.getSelectedIndex('cuClassFromText')==1)&&(meta.getSelectedIndex('cuClassToText')==1))) {
      alert("In caso di sinistri nell'anno corrente, la classe CU non puo' diminuire. Reinserisci per favore le classi CU di provenienza, di destinazione e l'anno del sinistro");
      meta.setSelectedIndex('cuClassFromText', 0);
      meta.setSelectedIndex('cuClassToText', 0);
      meta.setSelectedIndex(element, 0);
    }
  }
}
//NON PIU' UTILIZZATA
//Chiamata su submit del form: controllo incrociato sinistri/classi CU ed eventuale blocco del submit
function checkCUSinistri(idForm) {
  var anno = new Date();
  var okSubmit = 1;
  if((meta.getOptions("numberOfAccidentsInLastSixYears")[meta.getSelectedIndex("numberOfAccidentsInLastSixYears")].text)>0) {
    if (((meta.getSelectedIndex('cuClassFromText')-meta.getSelectedIndex('cuClassToText'))==1)||((meta.getSelectedIndex('cuClassFromText')==1)&&(meta.getSelectedIndex('cuClassToText')==1))) {
      var i = 2;
      while ((i<=meta.getSelectedIndex('numberOfAccidentsInLastSixYears'))&&(meta.getSelectedIndex('numberOfAccidentsInLastSixYears')>=2)) {
        element="AccidentYear"+(i-1);
        if ((meta.getOptions(element)[meta.getSelectedIndex(element)].text)==anno.getFullYear()) {
          alert("In caso di sinistri nell'anno corrente, la classe CU non puo' diminuire");
          okSubmit=0;
          i=100;
        }
        i++;
      }
    }
  }
  if (okSubmit==1) {
    if(idForm=="cobrand"){
      postCobrandForm();
    } else {
      submitForm(idForm);
    }
  }
}

  function checkTarga() {
		var var_targa= $('#targa').val().toUpperCase();
		$('#targa').val(var_targa);
		if  (var_targa=="") {
			errori[1][0]=1;
		} else {
			var re_targa = /^([A-Z]{2,2}[0-9]{3,3}[A-Z]{2,2})$/;
			var re_targa_vecchia = /^([A-Z]{2,2}[A-Z0-9]{6,6})$/;
			var re_targa_roma = /^(ROMA[0-9]{6,6})$/;

			if (!re_targa.test(var_targa)) {
				if (!re_targa_roma.test(var_targa)) {
					if (!re_targa_vecchia.test(var_targa)) {
						errori[1][1]=1;
					} else {
						var sigla_valida = false;
						jQuery.each(sigle, function() {
							if (var_targa.indexOf(this) == 0) {
								sigla_valida = true;
							}
						});
						if (!sigla_valida) {
							errori[1][1]=1;
						}
					}
				}
			}
		}
  }

function checkIncFurto(obj) {
  if (obj.checked) {
    meta.setAttribute("bocat_ift_id", "checked", "checked");
  } else {
    meta.setAttribute("bocat_ift_id", "checked", "");
    meta.setAttribute("bocat_mks_id", "checked", "");
    meta.setAttribute("bocat_ksk_id", "checked", "");
    meta.setAttribute("bocat_evt_id", "checked", "");
    meta.setAttribute("bocat_vnd_id", "checked", "");
    meta.setAttribute("bocat_cri_id", "checked", "");
  }
}
function checkMiniKasko(obj) {
  if (obj.checked) {
    meta.setAttribute("bocat_ift_id", "checked", "checked");
    meta.setAttribute("bocat_ksk_id", "checked", "");
  }
}
function checkKasko(obj) {
  if (obj.checked) {
    meta.setAttribute("bocat_ift_id", "checked", "checked");
    meta.setAttribute("bocat_mks_id", "checked", "");
  }
}
function checkOther(obj, idForm) {
  if (obj.checked) {
    if (meta.getAttribute("bocat_ift_id", "checked")){
      warsRecalc(idForm);
    } else {
      alert ("La garanzia è selezionabile solo se hai scelto anche la garanzia Incendio Furto e/o Kasko");
      meta.setAttribute(obj.id, "checked", "");
    }
  } else {
      warsRecalc(idForm);
  }
}

function warsRecalc(idForm) {
  submitForm(idForm)
  //$.blockUI({ message: '<h1>Ricalcolo premi in corso, attendere prego</h1>' });
  //setTimeout($.unblockUI, 2000);
}