Ho uno script che mi fa moltiplicazioni e addizioni...potete vederlo QUI'

Il problema è che mi calcola gli importi con il punto(20.00) invece che con la virgola(20,00)...anzi...con la virgola mi da errore.

Potreste darmi un aiuto...non saprei dove mettere mano.
codice:
<SCRIPT>

function dp(prezzo) 
{
   string = "" + prezzo;
   number = string.length - string.indexOf('.');
   if (string.indexOf('.') == -1)
      return string + '.00';
   if (number == 1)
      return string + '00';
   if (number == 2)
      return string + '0';
   if (number > 3)
      return string.substring(0,string.length-number+3);
return string;
}

function calculate()
{
document.data.importo1.value = dp((document.data.prezzo1.value)*(document.data.qta1.value))
document.data.importo2.value = dp((document.data.prezzo2.value)*(document.data.qta2.value))
document.data.importo3.value = dp((document.data.prezzo3.value)*(document.data.qta3.value))
document.data.importo4.value = dp((document.data.prezzo4.value)*(document.data.qta4.value))
document.data.importo5.value = dp((document.data.prezzo5.value)*(document.data.qta5.value))
document.data.importo6.value = dp((document.data.prezzo6.value)*(document.data.qta6.value))
document.data.importo7.value = dp((document.data.prezzo7.value)*(document.data.qta7.value))
document.data.importo8.value = dp((document.data.prezzo8.value)*(document.data.qta8.value))


document.data.totaleimponibile.value = dp(eval(document.data.importo1.value) + eval(document.data.importo2.value) + eval(document.data.importo3.value) + eval(document.data.importo4.value) + eval(document.data.importo5.value) + eval(document.data.importo6.value) + eval(document.data.importo7.value) + eval(document.data.importo8.value))
perciva=(document.data.iva.value)
document.data.importoiva.value = dp((document.data.totaleimponibile.value)*(perciva/100))
document.data.totalefattura.value = dp((document.data.totaleimponibile.value)*((1+perciva)/100))
}

</SCRIPT>