
  <!-- Masqué pour les anciens navigateurs
  
    function PasVirgule (s) {
      
      //
      // Remplacer les virgules dans la chaîne s
      // par des points décimaux permettant 
      // d'effectuer des calculs. En résultat, c'est la 
      // chaîne s2 qui est formée et retournée
      //
      s2 = "";
      
      for (i = 0; i < s.length; i++) {
      
        //
        // Si, en parcourant s, nous trouvons
        // une virgule (",") nous ajoutons un
        // point (".") à s2.
        // Dans le cas contraire, nous reprenons
        // le caractère en l'état
        // 
        if (s.charAt (i) == ',')
        
          s2 += '.';

        else
          s2 += s.charAt (i);
      }
      
      return s2;
    }
    
    
    function format (s) {

      //
      // Cette fonction formate une chaîne saisie
      // ou un signe d'égalité de manière 
      // à ce qu'après une virgule (",") il y ait
      // exactement deux décimales.
      //
    // La saisie est d'abord convertie en
    // string (s'il s'agit déjà d'une chaîne, il ne se 
    // passe rien)
    s = "" + s;
      
    //
    // Puis nous déterminons la position
    // du point décimal dans la chaîne
    //
    // S'il n'y a pas de point décimal "(i == -1)", nous ajoutons
    // la chaîne ",00" à la saisie et c'est
    // tout.
    //
    i = s.indexOf (".");
    if (i == -1)
      s2 = s + ",00";
	  
	 
    else {
        
          //
          // Si la chaîne contient un point décimal
          // Nous complétons par sécurité
          // par deux zéros et formaon le résultat à partir
          // de la chaîne partielle avant le point décimal, une
          // virgule et les deux premiers caractères après le point
          // décimal
          //
          s = s + "00";
          s2 = s.substring (0, i) + ",";
          s2 = s2 + s.substring (i+1, i+3)
    }
        
    return s2;
  }
    
    function calculer () {
      
      //
      // Cette calcule les prix des postes individuels
      // dans le formulaire, le montant
      // de la commande et le volume total
      //
      // Définition de l'abréviation : "f"
      //
      f = document.FormCommande;
	 
      //
      // Calcul des prix des postes individuels
      //
	  
	  
      poste1 = parseInt (f.obj1Quantite.value)
                  * parseFloat (PasVirgule (f.obj1Prix1.value));
				  


      poste2 = parseInt (f.obj2Quantite.value)
                  * parseFloat (PasVirgule (f.obj2Prix1.value));

      poste3 = parseInt (f.obj3Quantite.value)
                  * parseFloat (PasVirgule (f.obj3Prix1.value));

      poste4 = parseInt (f.obj4Quantite.value)
                  * parseFloat (PasVirgule (f.obj4Prix1.value));

      poste5 = parseInt (f.obj5Quantite.value)
                  * parseFloat (PasVirgule (f.obj5Prix1.value));
      poste6 = parseInt (f.obj6Quantite.value)
                  * parseFloat (PasVirgule (f.obj6Prix1.value));
      poste7 = parseInt (f.obj7Quantite.value)
                  * parseFloat (PasVirgule (f.obj7Prix1.value));
      poste8 = parseInt (f.obj8Quantite.value)
                  * parseFloat (PasVirgule (f.obj8Prix1.value));
      poste9 = parseInt (f.obj9Quantite.value)
                  * parseFloat (PasVirgule (f.obj9Prix1.value));
      poste10 = parseInt (f.obj10Quantite.value)
                  * parseFloat (PasVirgule (f.obj10Prix1.value));

poste11 = parseInt (f.obj11Quantite.value)
                  * parseFloat (PasVirgule(f.obj11Prix1.value));
poste12 = parseInt (f.obj12Quantite.value)
                  * parseFloat (PasVirgule(f.obj12Prix1.value));
poste13 = parseInt (f.obj13Quantite.value)
                  * parseFloat (PasVirgule(f.obj13Prix1.value));
poste14 = parseInt (f.obj14Quantite.value)
                  * parseFloat (PasVirgule(f.obj14Prix1.value));
poste15 = parseInt (f.obj15Quantite.value)
                  * parseFloat (PasVirgule(f.obj15Prix1.value));
poste16 = parseInt (f.obj16Quantite.value)
                  * parseFloat (PasVirgule(f.obj16Prix1.value));
poste17 = parseInt (f.obj17Quantite.value)
                  * parseFloat (PasVirgule(f.obj17Prix1.value));
poste18 = parseInt (f.obj18Quantite.value)
                  * parseFloat (PasVirgule(f.obj18Prix1.value));

poste20 = parseInt (f.obj20Quantite.value)
                  * parseFloat (PasVirgule(f.obj20Prix1.value));
poste21 = parseInt (f.obj21Quantite.value)
                  * parseFloat (PasVirgule(f.obj21Prix1.value));
poste22 = parseInt (f.obj22Quantite.value)
                  * parseFloat (PasVirgule(f.obj22Prix1.value));
poste23 = parseInt (f.obj23Quantite.value)
                  * parseFloat (PasVirgule(f.obj23Prix1.value));
poste24 = parseInt (f.obj24Quantite.value)
                  * parseFloat (PasVirgule(f.obj24Prix1.value));
poste25 = parseInt (f.obj25Quantite.value)
                  * parseFloat (PasVirgule(f.obj25Prix1.value));
poste26 = parseInt (f.obj26Quantite.value)
                  * parseFloat (PasVirgule(f.obj26Prix1.value));
poste27 = parseInt (f.obj27Quantite.value)
                  * parseFloat (PasVirgule(f.obj27Prix1.value));
poste28 = parseInt (f.obj28Quantite.value)
                  * parseFloat (PasVirgule(f.obj28Prix1.value));
poste29 = parseInt (f.obj29Quantite.value)
                  * parseFloat (PasVirgule(f.obj29Prix1.value));
poste30 = parseInt (f.obj30Quantite.value)
                  * parseFloat (PasVirgule(f.obj30Prix1.value));
poste31 = parseInt (f.obj31Quantite.value)
                  * parseFloat (PasVirgule(f.obj31Prix1.value));
poste32 = parseInt (f.obj32Quantite.value)
                  * parseFloat (PasVirgule(f.obj32Prix1.value));
poste33 = parseInt (f.obj33Quantite.value)
                  * parseFloat (PasVirgule(f.obj33Prix1.value));
poste34 = parseInt (f.obj34Quantite.value)
                  * parseFloat (PasVirgule(f.obj34Prix1.value));				  				  				  				  				  



      //
      // Les positions derrière les deux décimales
      // sont arrondies
      //
      poste1 = Math.round (poste1 * 100) / 100;
      poste2 = Math.round (poste2 * 100) / 100;
      poste3 = Math.round (poste3 * 100) / 100;
      poste4 = Math.round (poste4 * 100) / 100;
      poste5 = Math.round (poste5 * 100) / 100;
      poste6 = Math.round (poste6 * 100) / 100;
      poste7 = Math.round (poste7 * 100) / 100;
      poste8 = Math.round (poste8 * 100) / 100;
      poste9 = Math.round (poste9 * 100) / 100;
      poste10 = Math.round (poste10 * 100) / 100;


poste11 = Math.round (poste11 * 100) / 100;
poste12 = Math.round (poste12 * 100) / 100;
poste13 = Math.round (poste13 * 100) / 100;
poste14 = Math.round (poste14 * 100) / 100;
poste15 = Math.round (poste15 * 100) / 100;
poste16 = Math.round (poste16 * 100) / 100;
poste17 = Math.round (poste17 * 100) / 100;
poste18 = Math.round (poste18 * 100) / 100;
poste20 = Math.round (poste20 * 100) / 100;
poste21 = Math.round (poste21 * 100) / 100;
poste22 = Math.round (poste22 * 100) / 100;
poste23 = Math.round (poste23 * 100) / 100;
poste24 = Math.round (poste24 * 100) / 100;
poste25 = Math.round (poste25 * 100) / 100;
poste26 = Math.round (poste26 * 100) / 100;
poste27 = Math.round (poste27 * 100) / 100;
poste28 = Math.round (poste28 * 100) / 100;
poste29 = Math.round (poste29 * 100) / 100;
poste30 = Math.round (poste30 * 100) / 100;
poste31 = Math.round (poste31 * 100) / 100;
poste32 = Math.round (poste32 * 100) / 100;
poste33 = Math.round (poste33 * 100) / 100;
poste34 = Math.round (poste34 * 100) / 100;

      //
      // Puis vient le prix total
      //
      if (poste1)
        f.obj1PrixTot.value = format (poste1);
      if (poste2)
        f.obj2PrixTot.value = format (poste2);
      if (poste3)
        f.obj3PrixTot.value = format (poste3);
      if (poste4)
        f.obj4PrixTot.value = format (poste4);
      if (poste5)
        f.obj5PrixTot.value = format (poste5);
      if (poste6)
        f.obj6PrixTot.value = format (poste6);
      if (poste7)
        f.obj7PrixTot.value = format (poste7);
      if (poste8)
        f.obj8PrixTot.value = format (poste8);
      if (poste9)
        f.obj9PrixTot.value = format (poste9);
      if (poste10)
        f.obj10PrixTot.value = format (poste10);



if (poste11)
    f.obj11PrixTot.value = format (poste11);
if (poste12)
    f.obj12PrixTot.value = format (poste12);
if (poste13)
    f.obj13PrixTot.value = format (poste13);
if (poste14)
    f.obj14PrixTot.value = format (poste14);
if (poste15)
    f.obj15PrixTot.value = format (poste15);
if (poste16)
    f.obj16PrixTot.value = format (poste16);
if (poste17)
    f.obj17PrixTot.value = format (poste17);
if (poste18)
    f.obj18PrixTot.value = format (poste18);
if (poste20)
    f.obj20PrixTot.value = format (poste20);
if (poste21)
    f.obj21PrixTot.value = format (poste21);
if (poste22)
    f.obj22PrixTot.value = format (poste22);
if (poste23)
    f.obj23PrixTot.value = format (poste23);
if (poste24)
    f.obj24PrixTot.value = format (poste24);
if (poste25)
    f.obj25PrixTot.value = format (poste25);
if (poste26)
    f.obj26PrixTot.value = format (poste26);
if (poste27)
    f.obj27PrixTot.value = format (poste27);
if (poste28)
    f.obj28PrixTot.value = format (poste28);
if (poste29)
    f.obj29PrixTot.value = format (poste29);
if (poste30)
    f.obj30PrixTot.value = format (poste30);
if (poste31)
    f.obj31PrixTot.value = format (poste31);
if (poste32)
    f.obj32PrixTot.value = format (poste32);
if (poste33)
    f.obj33PrixTot.value = format (poste33);				
if (poste34)
    f.obj34PrixTot.value = format (poste34);				

      //
      // Le "véritable" prix total est alors la somme
      // des postes individuels
      //
      total = 0.0;
    
	
	
if (poste1){
total += poste1; }
else {
f.obj1PrixTot.value = ""; }

if (poste2){
total += poste2; }
else {
f.obj2PrixTot.value = ""; }

if (poste3){
total += poste3; }
else {
f.obj3PrixTot.value = ""; }

if (poste4){
total += poste4; }
else {
f.obj4PrixTot.value = ""; }

if (poste5){
total += poste5; }
else {
f.obj5PrixTot.value = ""; }

if (poste6){
total += poste6; }
else {
f.obj6PrixTot.value = ""; }

if (poste7){
total += poste7; }
else {
f.obj7PrixTot.value = ""; }

if (poste8){
total += poste8; }
else {
f.obj8PrixTot.value = ""; }

if (poste9){
total += poste9; }
else {
f.obj9PrixTot.value = ""; }

if (poste10){
total += poste10; }
else {
f.obj10PrixTot.value = ""; }

if (poste11){
total += poste11; }
else {
f.obj11PrixTot.value = ""; }

if (poste12){
total += poste12; }
else {
f.obj12PrixTot.value = ""; }

if (poste13){
total += poste13; }
else {
f.obj13PrixTot.value = ""; }

if (poste14){
total += poste14; }
else {
f.obj14PrixTot.value = ""; }

if (poste15){
total += poste15; }
else {
f.obj15PrixTot.value = ""; }

if (poste16){
total += poste16; }
else {
f.obj16PrixTot.value = ""; }

if (poste17){
total += poste17; }
else {
f.obj17PrixTot.value = ""; }

if (poste18){
total += poste18; }
else {
f.obj18PrixTot.value = ""; }


if (poste20){
total += poste20; }
else {
f.obj20PrixTot.value = ""; }

if (poste21){
total += poste21; }
else {
f.obj21PrixTot.value = ""; }

if (poste22){
total += poste22; }
else {
f.obj22PrixTot.value = ""; }

if (poste23){
total += poste23; }
else {
f.obj23PrixTot.value = ""; }

if (poste24){
total += poste24; }
else {
f.obj24PrixTot.value = ""; }

if (poste25){
total += poste25; }
else {
f.obj25PrixTot.value = ""; }

if (poste26){
total += poste26; }
else {
f.obj26PrixTot.value = ""; }

if (poste27){
total += poste27; }
else {
f.obj27PrixTot.value = ""; }

if (poste28){
total += poste28; }
else {
f.obj28PrixTot.value = ""; }

if (poste29){
total += poste29; }
else {
f.obj29PrixTot.value = ""; }

if (poste30){
total += poste30; }
else {
f.obj30PrixTot.value = ""; }

if (poste31){
total += poste31; }
else {
f.obj31PrixTot.value = ""; }

if (poste32){
total += poste32; }
else {
f.obj32PrixTot.value = ""; }

if (poste33){
total += poste33; }
else {
f.obj33PrixTot.value = ""; }

if (poste34){
total += poste34; }
else {
f.obj34PrixTot.value = ""; }



      //
      // Ici aussi, arrondi
      //
            total = Math.round ((total) * 100) / 100;
      if (total){
        f.ChampTotal.value = format (total); }
		else {
		f.ChampTotal.value = ""; }
		//
      // Ici frais
      //
		total2 = (4) ;
		if (total2)
		f.frais.value = format (total2);
		
		//
      // Total
      //
	  total3 = (total) +  (total2);
	  
		if (total3)
		f.ChampTotal2.value = format (total3); 
		
    }
  
  // -- Le reste n'est pas masqué -->

