/* Zone de définition des catégories et des articles */

var MAX_ARTICLES_ACHETES = 100;
	
Tab = new MakeArray(3);

Tab[1] =  new MakeArray(5);    // Motos

Tab[1][1] = new DefTab("Honda",        4900.00);
Tab[1][2] = new DefTab("Yamaha",       6500.00);
Tab[1][3] = new DefTab("Suzuki",       9999.95);
Tab[1][4] = new DefTab("Harley",      12490.00);
Tab[1][5] = new DefTab("Guzzi",        7050.00);

Tab[2] =  new MakeArray(10);    // Vélos

Tab[2][1]  = new DefTab("Course",           1200.00);
Tab[2][2]  = new DefTab("VTT",              1499.95);
Tab[2][3]  = new DefTab("Cross",             590.40);
Tab[2][4]  = new DefTab("BiCross_Standard",  800.00);
Tab[2][5]  = new DefTab("BiCross_A",         999.90);
Tab[2][6]  = new DefTab("BiCross_B",         950.00);
Tab[2][7]  = new DefTab("BiCross_C",         899.00);
Tab[2][8]  = new DefTab("BiCross_D",         820.00);
Tab[2][9]  = new DefTab("BiCross_E",         740.00);
Tab[2][10] = new DefTab("BiCross_F",         640.00);

Tab[3] =  new MakeArray(4);    // Voitures

Tab[3][1] = new DefTab("Citroen",     45000.00);
Tab[3][2] = new DefTab("Mercedes",   147000.00);
Tab[3][3] = new DefTab("VW",          28900.00);
Tab[3][4] = new DefTab("Toyota",      31000.00);

/* Fin de la zone de définition des catégories et des articles */


Tab2 = new MakeArray(3);

Tab2[1] = new MakeArray(MAX_ARTICLES_ACHETES);  /* Article  */
Tab2[2] = new MakeArray(MAX_ARTICLES_ACHETES);  /* Quantité */
Tab2[3] = new MakeArray(MAX_ARTICLES_ACHETES);  /* Prix     */

var Articles = 0;
var Quantite = 1;
var Nombre = 0;


function MakeArray(n)
{
  this.Length = n;
  for (var i = 1; i <= n; i++)
    this[i] = 0;
}

function DefTab(Ele1, Ele2)
{
  this.Art  = Ele1;
  this.Prix = Ele2;
}


function Confirme_SupTab(Chaine)
{
  if (confirm("Etes-vous sûr de vouloir effacer \"" + Chaine + "\" ?"))
    SupTab(Chaine);
}

function SupTab(Chaine)
{
  var Pos = 0;
  var Depart = 0;
  for(var i = 1; i<= Nombre ; i++)
    if(Tab2[1][i] == Chaine)
      Pos = i;
  for(var i = Pos; i<= (Nombre) ;i++)
  {	
    Tab2[1][i] = Tab2[1][i+1] ;
    Tab2[2][i] = Tab2[2][i+1] ;
    Tab2[3][i] = Tab2[3][i+1] ;
  }
  Nombre--;
  frames["BOTTOM"].frames["FC_RIGHT_BOTTOM"].location = "Achat.htm";
}

function TestInt(Chaine)
{
  Chaine = String(Chaine);
  if (Chaine.length == 0)
    return(0)  ;
  for (var i=0 ; i < Chaine.length ; i++)
    if ((Chaine.substring(i,i+1) < "0")||(Chaine.substring(i,i+1) > "9"))		
      return(0);
  return(1);
}

function Converti(Index, Qte)
{
  if (TestInt(Qte) == 1)
    CreTab(Tab[Articles][Index].Prix, Tab[Articles][Index].Art, eval(Qte));
  else
    alert("Quantité erronée !");
}

function CreTab(Prix, Chaine, Quantite)
{
  var Existe = 0 ;
  for (var i = 1; i <= Nombre ; i++)
  {	
    if (Tab2[1][i] == Chaine)
    {
      Existe = 1;
      Tab2[2][i] = Quantite;
      Tab2[3][i] = eval(Quantite) * eval(Prix);
      alert("\""+ Chaine + "\" va être modifié !");
      if (Tab2[2][i] == 0 ) 
        SupTab(Chaine);
      else 
        frames["BOTTOM"].frames["FC_RIGHT_BOTTOM"].location = "Achat.htm";
    }
  }
  if ((Existe != 1)&&(Quantite > 0))
  {
    Nombre++ ;
    Tab2[1][Nombre] = Chaine;
    Tab2[2][Nombre] = Quantite;
    Tab2[3][Nombre] =  eval(Quantite) * eval(Prix);
    frames["BOTTOM"].frames["FC_RIGHT_BOTTOM"].location = "Achat.htm";
  }
}

function commande()
{
  if (Nombre == 0)
  {
   alert("Votre caddie est vide !!!");
   window.location.reload();
  }
  else
   frames["BOTTOM"].location = "Commande.htm" ;
}

function AffTab(ind, Nomframe)
{
  var Total = 0 ;
  var Bordure = 0;
  var Message ;

  if (ind == 0)
    cible = frames["BOTTOM"].frames[Nomframe];
  else
    cible = frames[Nomframe];
  if (Nombre != 0)
  {
    Message = "<INPUT TYPE=\"HIDDEN\" NAME=\"ARTICLES\" VALUE=\"QUANTITE\" >" ;
    Message += "<CENTER>" +
               "<TABLE border = " + Bordure + ">";
      Message += "<TR>" +
                  "<TD ALIGN=RIGHT>" +
                   "Qte &nbsp;&nbsp;" +
                  "</TD>" +
                  "<TD>" +
                   "Article" +
                  "</TD>" +
                  "<TD ALIGN=RIGHT>" +
                   "Prix " +
                  "</TD>" +
                  "<TD>" +
                 "</TR>"; 
    for (i = 1 ; i <= Nombre; i++)
    {
      Message += "<TR>" +
                  "<TD ALIGN=RIGHT>" +
                   Tab2[2][i] + "&nbsp;&nbsp;&nbsp;" +
                  "</TD>" +
                  "<TD>" +
                   Tab2[1][i] + "&nbsp;&nbsp;&nbsp;&nbsp;" +
                  "</TD>" +
                  "<TD ALIGN=RIGHT>" +
                   AffFormate(Tab2[3][i])+" " +
                  "</TD>" +
                  "<TD>"; 
      if ((ind == 0)&&(Nombre != 0 ))
        Message += "<INPUT TYPE=\"BUTTON\" NAME=\"SUBMIT\" VALUE=\"Effacer\" ONCLICK='parent.parent.Confirme_SupTab(\"" + Tab2[1][i] + "\")'>";
        Message += "<INPUT TYPE=\"HIDDEN\" NAME=\""+ Tab2[1][i] +"\" VALUE=\""+Tab2[2][i]+"\" >";
      Message +=  "</TD>" +
                 "</TR>";
      Total = Total + eval(Tab2[3][i]) ;
    }
    Message += "<TR>" +
                "<TD>" +
                "</TD>" +
                "<TD>" +
                "<B>" +
	         "Total" +
                "</B>" +
                "</TD>" +
                "<TD ALIGN=RIGHT>" +
                "<B>" +
	         AffFormate(Total)+" " +
                "</B>" +
                "</TD>" +
                "<TD>" + 
                "</TD>" +
                "</TR>" +
               "</TABLE>" +
              "</CENTER>" 
  }
  else
    Message = "<CENTER>Caddie vide</CENTER>" ;
  cible.document.write(Message) ;
}


function retour()
{
  frames["TOP"].history.go(-1);
  frames["BOTTOM"].history.go(-1);
}

function annuler()
{
  window.location.reload();
}


function commander(Nom, Prenom)
{
  alert(Prenom + " " + Nom + "\n\n" + "Merci pour votre commande");
  window.location.reload();
}

function Aff2Dec(Nombre)
{
  var Chaine ;

  Nombre = Math.floor(Nombre * 100);   // Math.floor nécessaire pour éviter bug de virgule
                                       // exemple 9999.95 * 100 = 999995.0000000001
  Chaine = String(Nombre);
  Chaine = Chaine.substring(0,(Chaine.length-2)) + "." + Chaine.substring(Chaine.length-2,(Chaine.length));
  return(Chaine);
}

function AffFormate(Nombre)
{
  var Chaine ;
  var Decimal ;

  Chaine = Aff2Dec(String(Nombre)) ;

  Decimal = Chaine.substring(Chaine.length-3,Chaine.length) ;
  Chaine  = Chaine.substring(0,Chaine.length-3) ;

  while(Chaine.length > 3) 
  {
    Decimal = "'"+String(Chaine.substring(Chaine.length-3,Chaine.length)) + String(Decimal) 
    Chaine  = Chaine.substring(0,Chaine.length-3) ;
  }
  return(Chaine+Decimal);
}