function PreemptClass(transportId, dateDayId, dateMonthId, dateYearId, durationQuadId, durationSmartId, durationScooterId, capacityScooterId, retreatDeliveryHomeSmartId, retreatDeliveryHomeScooterId, selectKmSmartId, selectKmScooterId, insuranceScooterId, loaderElementId, messagesElementId, messagePriceElementId, calculatePreeemptButtonId, reservationFormDiv, transportForm, capacityForm, startDateForm, endDateTextForm, endDateForm, durationForm, deliveryForm, insuranceForm, priceForm, langParam, calendarFormId, yearDate, monthDate, dayDate) 
{   
  var _preempt = this;

  var _PreemptStatus = { NONE : 'NONE', WRONG_DATA : 'WRONG_DATA', MYSQL_ERROR : 'MYSQL_ERROR', OK : 'OK' };  	
  
  this.transportId = transportId;
  this.dateDayId = dateDayId;
  this.dateMonthId = dateMonthId;
  this.dateYearId = dateYearId;
  this.durationQuadId = durationQuadId;
  this.durationSmartId = durationSmartId;
  this.durationScooterId = durationScooterId;
  this.capacityScooterId = capacityScooterId;
  this.calculatePreeemptButtonId = calculatePreeemptButtonId;
  this.retreatDeliveryHomeSmartId = retreatDeliveryHomeSmartId;
  this.retreatDeliveryHomeScooterId = retreatDeliveryHomeScooterId;
  this.selectKmSmartId = selectKmSmartId;
  this.selectKmScooterId = selectKmScooterId;
  this.insuranceScooterId = insuranceScooterId;
  
  this.dateDayInt = 0;
  this.dateMonthInt = 0;
  this.dateYearInt = 0;
  this.durationSmartInt = 0;
  this.durationScooterInt = 0;
  
  this.loaderElementId = loaderElementId;
  this.messagesElementId = messagesElementId;
  this.messagePriceElementId = messagePriceElementId;
  
  this.reservationFormDiv = reservationFormDiv;
  this.transportForm = transportForm;         
  this.capacityForm = capacityForm;
  this.startDateForm = startDateForm;
  this.endDateTextForm = endDateTextForm;
  this.endDateForm = endDateForm;
  this.durationForm = durationForm;
  this.deliveryForm = deliveryForm;
  this.insuranceForm = insuranceForm;
  this.priceForm = priceForm;
  
  this.lang = langParam;
  
  this.yearDate = yearDate; 
  this.monthDate = monthDate;
  this.dayDate = dayDate;
  this.calendarFormId = calendarFormId;
  this.calendarForm = null;
  
  var I18N_MONTHS_LONG = null;
  var I18N_WEEKDAYS_SHORT = null;
  
  if (_preempt.lang === 'EN')
  {
	I18N_MONTHS_LONG = ["January","February","March","April","May","June","July", "August","September", "October","November","December"];  
	I18N_WEEKDAYS_SHORT = ["Su","Mo","Tu","We","Th","Fr","Sa"];
  }
  else
  {
    I18N_MONTHS_LONG = ["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"];
    I18N_WEEKDAYS_SHORT = [ "Do","Lu","Ma","Me","Gi","Ve","Sa"];
  }  
	  
  this.calendarRender = function() 
  {
	_preempt.calendarForm = new YAHOO.widget.Calendar(
	  "calendarForm",
	  _preempt.calendarFormId,
	  {
	    MONTHS_LONG: I18N_MONTHS_LONG,
	    WEEKDAYS_SHORT: I18N_WEEKDAYS_SHORT
	  }
	);
	
	_preempt.calendarForm.selectEvent.subscribe(function (p_sType, p_aArgs) 
	{
	  if (p_aArgs) 
	  {
		var aDate = p_aArgs[0][0];
		var oYear = aDate[0];
	    var oMonth = aDate[1];
	    var oDay = aDate[2];
		  	
	    var fieldElement = document.getElementById(_preempt.dateDayId);
	    fieldElement.value = oDay; 
	    
	    fieldElement = document.getElementById(_preempt.dateMonthId);
	    fieldElement.value = oMonth;
	    
	    fieldElement = document.getElementById(_preempt.dateYearId);
	    fieldElement.value = oYear;
	  }
	});
	
	_preempt.calendarForm.render();
  };
  
  this.setCalendarMinDate = function() 
  {
	var serverDate = new Date(_preempt.yearDate, _preempt.monthDate, _preempt.dayDate);
	serverDate.setDate(serverDate.getDate() + _preempt.getIncDay(_preempt.transportId, parseInt(_preempt.monthDate) + 1));
	_preempt.calendarForm.cfg.setProperty("mindate", serverDate);
	
	_preempt.calendarForm.cfg.setProperty("pagedate", serverDate);
	
	_preempt.calendarForm.select(serverDate); 
	
	_preempt.calendarForm.render();	
  };

  this.displayLoader = function(display) 
  {
    var loaderElement = document.getElementById(_preempt.loaderElementId);
    if (loaderElement != 'undefined')
    {    
      if (display)
	  {		
    	loaderElement.style.visibility = 'visible';	    
	  }
	  else
	  {	  	  
		loaderElement.style.visibility = 'hidden';
	  }
    }
  }
  
  this.disabledElementDuringComputation = function(disable)
  {
    var buttonElement = document.getElementById(_preempt.calculatePreeemptButtonId);
    var selectElement = document.getElementById(_preempt.transportId);
    if (buttonElement != 'undefined')
    {    
      if (disable)
	  {		
    	buttonElement.disabled = true;	   
    	selectElement.disabled = true; 
	  }
	  else
	  {	  	
		buttonElement.disabled = false;
		selectElement.disabled = false;
	  }
    }
  } 
  
  this.setMessage = function(message, focusElementId, select) 
  {
	var messagesElement = document.getElementById(_preempt.messagesElementId);    
	var focusElement = document.getElementById(focusElementId);
	if (messagesElement != null)
	{	
	  messagesElement.innerHTML = message;
	  if (focusElement != null)
	  {
	   	focusElement.focus();
	  	if (select)
	  	{
	   	  focusElement.select();
	   	}  
	  }
	}
  }
  
  this.setMessagePrice = function(message, focusElementId, select) 
  {
	var messagesElement = document.getElementById(_preempt.messagePriceElementId);    
	var focusElement = document.getElementById(focusElementId);
	    
	if (messagesElement != null)
	{	
	  messagesElement.innerHTML = message;
	  if (focusElement != null)
	  {
	   	focusElement.focus();
	  	if (select)
	  	{
	   	  focusElement.select();
	   	}  
	  }
	}
  }
  
  this.clearReservationForm = function()
  {
   document.getElementById(_preempt.reservationFormDiv).style.display = 'none';
   document.getElementById(_preempt.transportForm).value = '';    
   document.getElementById(_preempt.capacityForm).value = '';
   document.getElementById(_preempt.startDateForm).value = '';
   document.getElementById(_preempt.endDateTextForm).value = '';
   document.getElementById(_preempt.endDateForm).value = '';
   document.getElementById(_preempt.durationForm).value = '';
   document.getElementById(_preempt.deliveryForm).value = '';
   document.getElementById(_preempt.insuranceForm).value = '';
   document.getElementById(_preempt.priceForm).value = '';
  }
  
  this.preemptStatusXMLResponseParser = function(xmlResponse)
  {
    var statusNode = xmlResponse.getElementsByTagName('status');
    return (statusNode[0].firstChild.nodeValue); 
  }
  
  this.preemptPriceXMLResponseParser = function(xmlResponse)
  {
    var statusNode = xmlResponse.getElementsByTagName('price');
    return (statusNode[0].firstChild.nodeValue); 
  }
  
  this.preemptReservationFormXMLResponseParser = function(xmlResponse)
  {
   var statusNode = xmlResponse.getElementsByTagName('transport');
   var transport = statusNode[0].firstChild.nodeValue;
   document.getElementById(_preempt.transportForm).value = transport;    

   statusNode = xmlResponse.getElementsByTagName('capacitySc'); 
   if (statusNode[0].firstChild.nodeValue!='NONE')
   {
     document.getElementById(_preempt.capacityForm).value = statusNode[0].firstChild.nodeValue;
   }

   statusNode = xmlResponse.getElementsByTagName('startdate');
   document.getElementById(_preempt.startDateForm).value = statusNode[0].firstChild.nodeValue;
   
   if (transport!='QUAD')
   {
     if (_preempt.lang=='EN'){document.getElementById(_preempt.endDateTextForm).value = 'Drop off date:';}
     else{document.getElementById(_preempt.endDateTextForm).value = 'Data di restituzione:';}  
     statusNode = xmlResponse.getElementsByTagName('enddate');
     document.getElementById(_preempt.endDateForm).value = statusNode[0].firstChild.nodeValue;
   }
   
   statusNode = xmlResponse.getElementsByTagName('duration');
   document.getElementById(_preempt.durationForm).value = statusNode[0].firstChild.nodeValue;
   
   statusNode = xmlResponse.getElementsByTagName('delivery');
   if (statusNode[0].firstChild.nodeValue=='true')
   {
     statusNode = xmlResponse.getElementsByTagName('band');
     if (_preempt.lang=='EN'){document.getElementById(_preempt.deliveryForm).value = 'Home delivery and pick up to ' + statusNode[0].firstChild.nodeValue;}
     else{document.getElementById(_preempt.deliveryForm).value = 'Con consegna e ritiro a domicilio a ' + statusNode[0].firstChild.nodeValue;}
   }
   
   statusNode = xmlResponse.getElementsByTagName('insurance');
   if (statusNode[0].firstChild.nodeValue=='true')
   {
     if (_preempt.lang=='EN'){document.getElementById(_preempt.insuranceForm).value = 'Extra insurance coverage for driver';}
     else{document.getElementById(_preempt.insuranceForm).value = 'Con assicurazione del conducente compresa';}
   }
   
   statusNode = xmlResponse.getElementsByTagName('price');
   document.getElementById(_preempt.priceForm).value = statusNode[0].firstChild.nodeValue + ' Euro';
   
   document.getElementById(_preempt.reservationFormDiv).style.display = 'inLine';
  }
  
  this.fieldsValidate = function() 
  {
  	var fieldElement = null;
    var fieldError = false;
    var validationError = false;    
    // VALIDAZIONE DELLA DATA
    //Giorno
    fieldElement = document.getElementById(_preempt.dateDayId);
    fieldError = ((fieldElement == 'undefined') || (fieldElement.value == ''));
    if (fieldError)
    {
      if (_preempt.lang=='EN'){_preempt.setMessage('Insert pick up date', _preempt.dateDayId, true);}
      else{_preempt.setMessage('Inserire il giorno di consegna del mezzo', _preempt.dateDayId, true);}
    }  
    validationError = (validationError || fieldError);
    if (!validationError)
    {
      var intDay = parseInt(fieldElement.value, 10);
      fieldError = ((isNaN(intDay))||(intDay < 1)||(intDay > 31));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Insert a valid pick up date', _preempt.dateDayId, true);}
        else{_preempt.setMessage('Inserire un giorno di consegna valido', _preempt.dateDayId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    //Mese
    if (!validationError)
    {
      fieldElement = document.getElementById(_preempt.dateMonthId);
      fieldError = ((fieldElement == 'undefined') || (fieldElement.value == ''));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Insert pick up month', _preempt.dateMonthId, true);}
        else{_preempt.setMessage('Inserire il mese di consegna del mezzo', _preempt.dateMonthId, true);}
      }
      validationError = (validationError || fieldError);
    }  
    if (!validationError)
    {
      var intMonth = parseInt(fieldElement.value, 10);
      fieldError = ((isNaN(intMonth))||(intMonth < 1)||(intMonth > 13));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Insert a valid pick up month', _preempt.dateMonthId, true);}
        else{_preempt.setMessage('Inserire un mese di consegna valido', _preempt.dateMonthId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    //Anno
    if (!validationError)
    {
      fieldElement = document.getElementById(_preempt.dateYearId);
      fieldError = ((fieldElement == 'undefined') || (fieldElement.value == ''));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Insert pick up year', _preempt.dateYearId, true);}
        else{_preempt.setMessage('Inserire l\'anno di consegna del mezzo', _preempt.dateYearId, true);}
      }
      validationError = (validationError || fieldError);
    }  
    if (!validationError)
    {
      var strYear = fieldElement.value;
      if (strYear.length == 2) {
		strYear = '20' + strYear;
	  }
      var intYear = parseInt(strYear, 10);
      fieldError = ((isNaN(intYear))||(intYear < 1));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Insert a valid pick up year', _preempt.dateYearId, true);}
        else{_preempt.setMessage('Inserire un anno di consegna valido', _preempt.dateYearId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
	//Controllo che la data sia sensata
	if (!validationError)
    {      
      fieldError = ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Invalid date', _preempt.dateDayId, true);}
        else{_preempt.setMessage('Data non valida', _preempt.dateDayId, true);}
      }       
      validationError = (validationError || fieldError);  
    }    
    if (!validationError)
    {
      fieldError = (((intMonth == 2) && (_preempt.leapYear(intYear)) && (_preempt > 29)) || ((intMonth == 2) && !(_preempt.leapYear(intYear)) && (intDay > 28)));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('Invalid date', _preempt.dateDayId, true);}
        else{_preempt.setMessage('Data non valida', _preempt.dateDayId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    var now = new Date();
 
 	var nowDay = _preempt.dayDate;
	var nowMonth = parseInt(_preempt.monthDate) + 1;
	var nowYear = _preempt.yearDate;
	
    if (!validationError)
    {
      fieldError = (intYear < nowYear);
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('The date is expired', _preempt.dateYearId, true);}
        else{_preempt.setMessage('Data scaduta', _preempt.dateYearId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    if (!validationError)
    {
      fieldError = ((intYear == nowYear)&&(intMonth < nowMonth));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('The date is expired', _preempt.dateMonthId, true);}
        else{_preempt.setMessage('Data scaduta', _preempt.dateMonthId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    if (!validationError)
    {
      fieldError = ((intYear == nowYear)&&(intMonth == nowMonth)&&(intDay < nowDay));
      if (fieldError)
      {
        if (_preempt.lang=='EN'){_preempt.setMessage('The date is expired', _preempt.dateDayId, true);}
        else{_preempt.setMessage('Data scaduta', _preempt.dateDayId, true);}
      }       
      validationError = (validationError || fieldError);  
    }
    
    if (!validationError)
    {
      _preempt.dateDayInt = intDay;
      _preempt.dateMonthInt = intMonth;
      _preempt.dateYearInt = intYear;
    }
    
    // VALIDAZIONE DURATA SMART
    if (document.getElementById(_preempt.transportId).value=='SMART')
    {
      if (!validationError)
      {
        fieldElement = document.getElementById(_preempt.durationSmartId);
        fieldError = ((fieldElement == 'undefined') || (fieldElement.value == ''));
        if (fieldError)
        {
          if (_preempt.lang=='EN'){_preempt.setMessage('Insert days renting', _preempt.durationSmartId, true);}
          else{_preempt.setMessage('Inserire i giorni del noleggio', _preempt.durationSmartId, true);}
        }  
        validationError = (validationError || fieldError);
        if (!validationError)
        {
          var intDurationSmart = parseInt(fieldElement.value, 10);
          fieldError = ((isNaN(intDurationSmart)||(intDurationSmart < 1)));
          if (fieldError)
          {
            if (_preempt.lang=='EN'){_preempt.setMessage('Insert valid days renting', _preempt.durationSmartId, true);}
            else{_preempt.setMessage('Inserire una durata del noleggio valida', _preempt.durationSmartId, true);}
          }       
          validationError = (validationError || fieldError);  
        }
      }
      if (!validationError)
      {
        _preempt.durationSmartInt = intDurationSmart;
      }
    }
    
    // VALIDAZIONE DURATA SCOOTER
    if (document.getElementById(_preempt.transportId).value=='SCOOTER')
    {
      if (!validationError)
      {
        fieldElement = document.getElementById(_preempt.durationScooterId);
        fieldError = ((fieldElement == 'undefined') || (fieldElement.value == ''));
        if (fieldError)
        {
          if (_preempt.lang=='EN'){_preempt.setMessage('Insert days renting', _preempt.durationScooterId, true);}
          else{_preempt.setMessage('Inserire i giorni del noleggio', _preempt.durationScooterId, true);}
        }  
        validationError = (validationError || fieldError);
        if (!validationError)
        {
          var intDurationScooter = parseInt(fieldElement.value, 10);
          fieldError = ((isNaN(intDurationScooter)||(intDurationScooter < 1)));
          if (fieldError)
          {
            if (_preempt.lang=='EN'){_preempt.setMessage('Insert valid days renting', _preempt.durationScooterId, true);}
            else{_preempt.setMessage('Inserire una durata del noleggio valida', _preempt.durationScooterId, true);}
          }       
          validationError = (validationError || fieldError);  
        }
      }
      if (!validationError)
      {
        _preempt.durationScooterInt = intDurationScooter;
      }
    }

    // VALIDAZIONE FASCIA SCELTA
    if (document.getElementById(_preempt.transportId).value=='SCOOTER')
    {
      if (!validationError)
      {
        if (document.getElementById(_preempt.retreatDeliveryHomeScooterId).checked == true)
        {
          fieldElement = document.getElementById(_preempt.selectKmScooterId);
          fieldError = ((fieldElement.selectedIndex == 0)||(fieldElement.options[fieldElement.selectedIndex].value == "ALLBANDS"));
          if (fieldError)
          {
            if (_preempt.lang=='EN'){_preempt.setMessage('Select the band for home delivery and pick up', _preempt.selectKmScooterId, false);}
            else{_preempt.setMessage('Selezionare la fascia per la consegna e il ritiro a domicilio', _preempt.selectKmScooterId, false);}
          }  
          validationError = (validationError || fieldError);
        }        
      }
    }
    if (document.getElementById(_preempt.transportId).value=='SMART')
    {
      if (!validationError)
      {
        if (document.getElementById(_preempt.retreatDeliveryHomeSmartId).checked == true)
        {
          fieldElement = document.getElementById(_preempt.selectKmSmartId);
          fieldError = ((fieldElement.selectedIndex == 0)||(fieldElement.options[fieldElement.selectedIndex].value == "ALLBANDS"));
          if (fieldError)
          {
            if (_preempt.lang=='EN'){_preempt.setMessage('Select the band for home delivery and pick up', _preempt.selectKmSmartId, false);}
            else{_preempt.setMessage('Selezionare la fascia per la consegna e il ritiro a domicilio', _preempt.selectKmSmartId, false);}
          }  
          validationError = (validationError || fieldError);
        }
      }
    }
    
    
    return (!validationError);
  }

  
  this.leapYear = function(intYear)
  {
	if (intYear % 100 == 0) 
	{
      if (intYear % 400 == 0) 
      { 
        return true;
      }
	}
	else 
	{
	  if ((intYear % 4) == 0) 
	  { 
	    return true;
	  }
	}
	return false;
  }

  this.preemptCalculus = function()
  {    
    var transportationElement = document.getElementById(_preempt.transportId);
    var durationQuadElement = document.getElementById(_preempt.durationQuadId);
    var capacityScooterElement = document.getElementById(_preempt.capacityScooterId);    
    var retreatDeliverySmartElement = document.getElementById(_preempt.retreatDeliveryHomeSmartId);
    var retreatDeliveryScooterElement = document.getElementById(_preempt.retreatDeliveryHomeScooterId);
    var insuranceScooterElement = document.getElementById(_preempt.insuranceScooterId);
    var smartBandElement = document.getElementById(_preempt.selectKmSmartId);
    var scooterBandElement = document.getElementById(_preempt.selectKmScooterId);
  
  
  	var url = "../CalculatePreempt.svt";
  	
  	var handleComplete = function(oResponse)
  	{
  	  var xmlResponse = oResponse.responseXML;
      if(oResponse !== undefined)	
	  {
	    var preemptStatus = _preempt.preemptStatusXMLResponseParser(xmlResponse);
	    switch(preemptStatus)
      	{
      	  case _PreemptStatus.NONE: {
      	    if (_preempt.lang=='EN'){_preempt.setMessage('Impossible to calculate the price quote', '', false);}
            else{_preempt.setMessage('Impossibile calcolare il preventivo', '', false);}
      	  	break;
      	  }
      	  case _PreemptStatus.WRONG_DATA: {
      	    if (_preempt.lang=='EN'){_preempt.setMessage('Impossible to calculate the price quote. Wrong data', '', false);}
            else{_preempt.setMessage('Impossibile calcolare il preventivo. Dati errati', '', false);} 	  	
      	  	break;
      	  }	
      	  case _PreemptStatus.MYSQL_ERROR: {
      	    if (_preempt.lang=='EN'){_preempt.setMessage('Impossible to access the database', '', false);}
            else{_preempt.setMessage('Impossibile accedere al database', '', false);} 
      	  	break;
      	  }	
      	  case _PreemptStatus.OK: {
      		_preempt.setMessage('', '', false);
      		var preemptPrice = _preempt.preemptPriceXMLResponseParser(xmlResponse);
      		if (_preempt.lang=='EN'){_preempt.setMessagePrice('Price: ' + preemptPrice + ' Euro', '', false);}
            else{_preempt.setMessagePrice('Prezzo: ' + preemptPrice + ' Euro', '', false);}  
            _preempt.preemptReservationFormXMLResponseParser(xmlResponse);
      	  	break;
      	  }	
      	}  
        _preempt.displayLoader(false);    
        _preempt.disabledElementDuringComputation(false);  	
	  }
	}

    var handleFailure = function(oResponse)
    {
      if (_preempt.lang=='EN'){_preempt.setMessage('Ajax error: ' + oResponse.status, '', false);}
      else{_preempt.setMessage('Errore ajax: ' + oResponse.status, '', false);}        
      _preempt.displayLoader(false);	
    }
    
    new Ajax.Request(
      url, 
      { 
        method: 'post',
        parameters: 
        {
    	  transportation: encodeURIComponent(transportationElement.value),        
    	  dateDay: encodeURIComponent(_preempt.dateDayInt),
    	  dateMonth: encodeURIComponent(_preempt.dateMonthInt),
    	  dateYear: encodeURIComponent(_preempt.dateYearInt),
          durationQuad: encodeURIComponent(durationQuadElement.value),
          durationSmart: encodeURIComponent(_preempt.durationSmartInt),
          durationScooter: encodeURIComponent(_preempt.durationScooterInt),
          capacityScooter: encodeURIComponent(capacityScooterElement.value),
          homeDeliverySmart: encodeURIComponent(retreatDeliverySmartElement.checked),
          homeDeliveryScooter: encodeURIComponent(retreatDeliveryScooterElement.checked),
          homeDeliverySmartBand: encodeURIComponent(smartBandElement.options[smartBandElement.selectedIndex].value),
          homeDeliveryScooterBand: encodeURIComponent(scooterBandElement.options[scooterBandElement.selectedIndex].value),
          insuranceScooter: encodeURIComponent(insuranceScooterElement.checked),
          lang: encodeURIComponent(_preempt.lang)
        },  
        onFailure: handleFailure,
        onComplete: handleComplete
      }
    );

  }
  
  this.login = function() 
  {	    
    _preempt.clearReservationForm();
    _preempt.displayLoader(true);	
    _preempt.setMessagePrice('', '', false);
	if (_preempt.fieldsValidate())
	{	 
	 if (_preempt.lang=='EN'){_preempt.setMessage('Please wait. Calculating...', '', false);}
     else{_preempt.setMessage('Calcolo preventivo in corso...', '', false);}  
     _preempt.disabledElementDuringComputation(true);
     _preempt.preemptCalculus();
    }
    else
    {
     _preempt.displayLoader(false);
    }
  }
  
  this.getIncDay = function(type, month)
  {
	var typeOptionValue = document.getElementById(type).value;
	if ((typeOptionValue === 'SCOOTER') || (typeOptionValue === 'SMART') || (typeOptionValue === 'QUAD'))
	{	
	  switch (month) {
	    case 1: case 2: case 3: case 4: case 5: case 9: case 10: case 11: case 12:
	    {
		  return 4;  
	      break;
	    }
	    case 6: case 7: case 8:
	    {
		  return 9;  
	      break;
	    }
	  }
	}
	else
	  return 0;	
  };
  
}

