


        
	

loc_Txt_ChargementPatientez = "Chargement en cours. Veuillez patienter.";
loc_Txt_Modifier = "Modifier";
loc_Txt_AucunResultat = "jsStringFormat(ls_message('Txt_AucunResultat', 0))";
loc_Txt_TropDeFiltres = "Aucun résultat ne correspond à vos critères de recherche.";
loc_Txt_TropDeFiltres2 = "Merci d\'enlever l\'un des filtres sélectionnés.";
loc_Txt_ChargementPatientez = "Chargement en cours. Veuillez patienter.";
loc_Txt_PlusDeDetailsSigne = "+ de détails";
loc_Txt_ErreurBTO = "Une erreur interne s\'est produite. Veuillez recommencer plus tard.";
loc_Txt_ConfirmationChangementChassis = "La sélection d\'un autre châssis entraînera la suppression des composants que vous avez sélectionnés pour l\'instant dans votre configuration.";
loc_Txt_BTO_DelaisLivraison2 = "Le montage de votre portable sur mesure prend en moyenne 48 heures.";
loc_Txt_BTO_DelaisLivraison3 = "Le délai de livraison final vous sera indiqué en fin de commande, cependant, voici les délais moyens constatés en fonction du mode de livraison que vous choisissez :";
loc_Txt_BTO_DelaisLivraison4 = "Livraison EXPRESS : ";
loc_Txt_BTO_DelaisLivraison5 = "sous 72 heures max.";
loc_Txt_BTO_DelaisLivraison6 = "Livraison RAPIDO : ";
loc_Txt_BTO_DelaisLivraison7 = "sous 7 jours ouvrés max.";
loc_Txt_BTO_DelaisLivraison8 = "Livraison RELAIS : ";
loc_Txt_BTO_DelaisLivraison9 = "sous 8 jours ouvrés max.";
loc_Txt_BTO_TitreDelaiLivraison = "Détails sur la livraison";
loc_Txt_ConfirmationChangementChassis2 = "Est-ce bien ce que vous souhaitez faire ?";
loc_txt_bto_confirmation = "Confirmation";
function BTO (gamme,gammeid)
  {
    this.gamme = gamme;
    this.gammeid = gammeid
    this.ch_cid = null;
    this.ch_pid = null;
    this.pr_cid = null;
    this.pr_pid = null;
    this.dd_cid = null;
    this.dd_pid = null;
    this.mm_cid = null;
    this.mm_pid = null;
    this.acc = new Array();
    this.piece_active = null;
  }

/*fonction pour le mini caddie*/
BTO.prototype.setChassis = function (cid,pid) {this.ch_cid = cid;this.ch_pid = pid;this.loadingPanier(1)}
BTO.prototype.setProcesseur = function (cid,pid) {this.pr_cid = cid;this.pr_pid = pid;this.loadingPanier(2)}
BTO.prototype.setDisqueDur = function (cid,pid) {this.dd_cid = cid;this.dd_pid = pid;this.loadingPanier(4)}
BTO.prototype.setMemoire = function (cid,pid) {this.mm_cid = cid;this.mm_pid = pid;this.loadingPanier(3)}
BTO.prototype.resetAccesoire = function () {this.acc = new Array();;this.loadingPanier(5)}
BTO.prototype.setAccessoire = function (cid,pid) {this.addAccessoire(cid,pid)}
BTO.prototype.addAccessoire = function (cid,pid) {this.acc[this.acc.length] = new Array(cid , pid);this.loadingPanier(5)}
BTO.prototype.suppAcc = function ( pos )
  {
    var tmp = this.acc;
    this.acc = new Array();
    for (i = 0 ; i < tmp.length ; i++) if (i != pos) this.acc[this.acc.length] = tmp[i];
    this.loadingPanier(5);
    this.showPanier();
  }
BTO.prototype.loadingPanier = function (etape)
  {
    document.getElementById("ctcE" + etape ).innerHTML = "<div class='loading'>" + loc_Txt_ChargementPatientez + "<br><br><img src='/images/img-loading-mini.gif'></div>";
    document.getElementById("choixE" + etape ).style.display='none';
    document.getElementById("ctcE" + etape ).style.display='block';
  }
BTO.prototype.showPanier = function ()
  {
    var url = "/bto/ajax/panier.cfm?gamme=" + this.gammeid;
    if ( this.ch_pid != null ) url += "&ch_cid=" + this.ch_cid + "&ch_pid=" + this.ch_pid;
    if ( this.pr_pid != null ) url += "&pr_cid=" + this.pr_cid + "&pr_pid=" + this.pr_pid;
    if ( this.dd_pid != null ) url += "&dd_cid=" + this.dd_cid + "&dd_pid=" + this.dd_pid;
    if ( this.mm_pid != null ) url += "&mm_cid=" + this.mm_cid + "&mm_pid=" + this.mm_pid;
    if ( this.acc.length > 0 )
      {
        var acc_cids = "";
        var acc_pids = "";
        for ( var i = 0 ; i < this.acc.length ; i++)
          {
            acc_cids += "," + this.acc[i][0];
            acc_pids += "," + this.acc[i][1];
          }
        url += "&acc_cid=" + acc_cids.substr(1) + "&acc_pid=" + acc_pids.substr(1)
      }
    callHttpRequestRdc( url , "mybto.showPanier_return" )
  }

BTO.prototype.showPanier_return = function ( xmlRequest )
  {
    var lst = new Array("ch","pr","mm","dd");
    var yadesdescativation = 0;
    for ( var i = 0 ; i < lst.length ; i++ )
      {
        var infos = xmlRequest.getElementsByTagName(lst[i]);
        if ( infos.length == 0)
          {
            document.getElementById("ctcE" + (i+1) ).style.display="none";
            document.getElementById("choixE" + (i+1) ).style.display="block";
          }
        else
          {
            if ( infos[0].getElementsByTagName("produitdesactive").length == 0 )
              {
                var innerHTML = "";
                innerHTML += "<div class='float'><b>"+infos[0].getElementsByTagName("titre")[0].childNodes[0].nodeValue+"</b><br />";
                innerHTML += infos[0].getElementsByTagName("desc")[0].childNodes[0].nodeValue;
                innerHTML += "</div>"
                innerHTML += "<div class='imgD'><br/><img src='"+infos[0].getElementsByTagName("img")[0].childNodes[0].nodeValue+"' width='100' height='75'/><br />";
                innerHTML += "<a href='#' onclick='mybto.goEtape("+(i+1)+");return false'>" + loc_Txt_Modifier + "</a></div>";
                document.getElementById("ctcE" + (i+1) ).innerHTML = innerHTML;
                document.getElementById("ctcE" + (i+1) ).style.display="block";
                document.getElementById("choixE" + (i+1) ).style.display="none";
              }
            else
              {
                /* le produit à été désactivé */
                if (lst[i] == "ch") /* c'est le barbonne qui est incatif => il faut supprimer tout le panier */
                  {
                    this.ch_cid = null;
                    this.ch_pid = null;
                    this.pr_cid = null;
                    this.pr_pid = null;
                    this.dd_cid = null;
                    this.dd_pid = null;
                    this.mm_cid = null;
                    this.mm_pid = null;
                    this.acc = new Array();
                    this.piece_active = null;
                    for ( var j = 1 ; j <= 5 ; j++ )
                      {
                        document.getElementById("ctcE" + j ).innerHTML = "";
                        document.getElementById("ctcE" + j ).style.display="none";
                        document.getElementById("choixE" + j ).style.display="block";
                        if (j>=2) document.getElementById("choixE" + j ).className = "choix choixOff";
                      }
                    document.getElementById("bto_bt_acheter").className = "btachOff spBto";
                    document.getElementById("btoRecapPrixDelai").style.height="5px"
                    document.getElementById("btoInfoPrix").style.display="none";
                    document.getElementById("btorecapPrix").innerHTML = ""
                    document.getElementById("btorecapDelai").innerHTML = ""
                    alert("Le chassis sélectionné n'est plus disponible. De ce fait la totalité de votre configuration est réinitialisée.");
                    this.goEtape(1);
                    return false;
                  }
                else /* on désactive seulement le produit */
                  {
                    yadesdescativation++;
                    document.getElementById("ctcE" + (i+1) ).innerHTML = "";
                    document.getElementById("ctcE" + (i+1) ).style.display="none";
                    document.getElementById("choixE" + (i+1) ).style.display="block";
                    eval("mybto." + lst[i] + "_pid = null" );
                    eval("mybto." + lst[i] + "_cid = null" );
                  }
              }
          }
      }
    
    var acc = xmlRequest.getElementsByTagName("acc")
    if (acc.length == 0)
      {
        document.getElementById("ctcE5").style.display="none";
        document.getElementById("choixE5").style.display="block";
      }
    else
      {
        var innerHTML = "";
        for (var i = 0 ; i < acc.length ; i++)
          {
            innerHTML += "<div class='accList'><div class='txt'>"+ acc[i].getElementsByTagName("titre")[0].childNodes[0].nodeValue + "</div><a href='#' onclick='mybto.suppAcc("+i+");return false'><img src='/images/xlocales/bto/puce_supp.gif' width='14' height='13'></a><br style='clear:both' /></div>";
          }
        innerHTML += "<div class='imgD'><a href='#' onclick='mybto.goEtape(5);return false'>" + loc_Txt_Modifier + "</a></div>";
        document.getElementById("ctcE5").innerHTML = innerHTML;
        document.getElementById("ctcE5").style.display="block";
        document.getElementById("choixE5").style.display="none";
      }

    var tmp1 = "", tmp2 = "";

    if (yadesdescativation > 0)
      {
        if ( yadesdescativation == 1)
          alert("Un des composant de votre sélection n'est plus disponible. Il a donc était enlevé.")
        else
          alert("Des composants de votre sélection ne sont plus disponibles. Ils ont donc étaient enlevés.")

        document.getElementById("btorecapPrix").innerHTML = ""
        document.getElementById("btorecapDelai").innerHTML = ""
        this.goEtape();
      }
    else
      {
        tmp1 = document.getElementById("btorecapPrix").innerHTML = xmlRequest.getElementsByTagName("prix")[0].childNodes[0].nodeValue;
        tmp2 = document.getElementById("btorecapDelai").innerHTML = xmlRequest.getElementsByTagName("delai")[0].childNodes[0].nodeValue;
      }
    
    document.getElementById("btoInfoPrix").style.display="block";
    if ( tmp1 + tmp2 == "")
      {
        document.getElementById("btoRecapPrixDelai").style.height="5px"
      }
    else
      {
        document.getElementById("btoRecapPrixDelai").style.height=""
      }
    
    if (( this.ch_pid != null ) && ( this.pr_pid != null ) && ( this.mm_pid != null ) && ( this.dd_pid != null ))
      document.getElementById("bto_bt_acheter").className = "btach spBto";
    else
      document.getElementById("bto_bt_acheter").className = "btachOff spBto";

	if ($("#btorecapPrix .pr1stroke").length > 0)
		$("#bto_bt_acheter").addClass("mgbtach");
	else
		$("#bto_bt_acheter").removeClass("mgbtach");
  }
BTO.prototype.Acheter = function ()
  {
    if (( this.ch_pid != null ) && ( this.pr_pid != null ) && ( this.mm_pid != null ) && ( this.dd_pid != null ))
      {
        var url = "/info/basket/purchase_bto.cfm?";
        url += "b=" + this.ch_cid + "|" + this.ch_pid;
        url += "&p=" + this.pr_cid + "|" + this.pr_pid;
        url += "&m=" + this.mm_cid + "|" + this.mm_pid;
        url += "&hd=" + this.dd_cid + "|" + this.dd_pid;
        var a = "";
        for ( var i = 0 ; i < this.acc.length ; i ++ ) a += (a==""?"":",") + this.acc[i][0] + "|" + this.acc[i][1];
        url += "&a=" + a;
        url += "&affpop=ok";

        Shop_AddProduct(url);
      }
  }
/*fin fonction pour le mini caddie*/


/*fonction pour les listes de produits*/
BTO.prototype.getListe_vide = function ( mode )
  {
    var resHTML = "";
    resHTML += "<div class='listeElements'>";
    resHTML += "<br>";
    resHTML += "<div class=\"topBlcBl spBto\"></div>";
    resHTML += "<div class=\"cntBlcBl cntVide\">";
    switch( mode)
      {
        case "totalementVide" :
        resHTML += loc_Txt_AucunResultat;
        break;
        case "tropFiltree" :
        resHTML += Txt_TropDeFiltres + "<br>" + loc_Txt_TropDeFiltres2;
        break;
      }
    resHTML += "</div>";
    resHTML += "<div class=\"botBlcBl spBto\"></div>";
    resHTML += "</div>";

    return resHTML
  }
  
BTO.prototype.getListe_Loading = function ()
  {
    var resHTML = "";
    resHTML += "<div class=\"topBlcConf spBto\">";
    resHTML += "</div>";
    resHTML += "<div class='listeElements'>";
    resHTML += "<br>";
    resHTML += "<div class=\"topBlcBl spBto\"></div>";
    resHTML += "<div class=\"cntBlcBl cntLoading\">";
    resHTML += loc_Txt_ChargementPatientez + "<br><br><img src='/images/img-loading-mini.gif'>";
    resHTML += "</div>";
    resHTML += "<div class=\"botBlcBl spBto\"></div>";
    resHTML += "</div>";
    resHTML += "<div class=\"botBlcConf spBto\"></div>";
    document.getElementById("colGauche").innerHTML = resHTML
  }
  
BTO.prototype.getListe = function (mode,filtre,tri,triordre)
  {
    this.getListe_Loading();
    
    var url = "/bto/ajax/" +mode.toLowerCase()+ "/getList.cfm?"
    if ( filtre != null )
      {
        if (filtre.constructor == Array) {for ( i = 0 ; i < filtre.length ; i++) url += "&f" + (i+1) + "=" + escape(filtre[i]);}
        else url += "&f1=" + escape(filtre);
      }
    if ( tri != null ) url += "&t=" + tri + "&to=" + triordre;
    
    if ( mode == "Chassis")
      url += "&gamme=" + this.gammeid;
    else
      url += "&ch=" + this.ch_pid;
    
    callHttpRequestRdc (url , "mybto.getListe_result" , "mybto.getListe_erreur" , new Array(mode,filtre,tri,triordre) );
  }

BTO.prototype.detailAccessoire = function (monde,pid)
  {
    window.open('/'+monde+'/showdetl.cfm?product_id='+pid+'&option=2' , 'Option', 'height=625,width=700,top=20,left=20,resizable=yes,scrollbars=yes')
  }

BTO.prototype.getListe_result = function ( xmlRequest , params )
  {
   this.piece_active = null;
   var menu = xmlRequest.getElementsByTagName("menu")[0];
   var groupement = xmlRequest.getElementsByTagName("groupe");
   var resHTML = "";
   var nbcol = menu.getElementsByTagName("col").length - 1;
   var lrg_colprinc = 650 - 145 - (nbcol * 69) - 5; /* largeur total = 650 / largeur col prix = 135 / largeur col critère = 80 */
   if ( lrg_colprinc > 490 ) lrg_colprinc = 490;
   /* la sélection utilisateur pour ce type de produit */
   var ty = "";
   switch ( params[0] )
     {
       case "Chassis" : ty = "ch"; break;
       case "Processeur" : ty = "pr"; break;
       case "DisqueDur" : ty = "dd"; break;
       case "Memoire" : ty = "mm"; break;
       case "Accessoire" : ty = "acc"; break;
     }
    var sel_pid = eval("mybto." + ty + "_pid" );
    var sel_cid = eval("mybto." + ty + "_cid" );

   /* top */
   resHTML += "<div class=\"topBlcConf spBto\">";
   resHTML += "<ul>";
   resHTML += "<li style=\"width:"+lrg_colprinc+"px\">";
   var filtres = menu.getElementsByTagName("filtre");
   if (params[1] == null) params[1] = new Array();
   var p1 = params[0];
   var p3 = (params[2]==null?"null":"'"+params[2]+"'");
   var p4 = (params[3]==null?"null":"'"+params[3]+"'");
   for ( var i = 0 ; i < filtres.length ; i++ )
    {
      var titre = filtres[i].getElementsByTagName("titre");
      if (titre.length > 0) titre = titre[0].childNodes[0].nodeValue; else titre = "";
      if (!params[1][i]) params[1][i] = "";
      if ( i != 0 ) resHTML += "&nbsp;";
      resHTML += titre + "&nbsp;<select name=\"filtre"+i+"\" onChange=\"mybto.getListe('"+p1+"',mybto.getFiltre(),"+p3+","+p4+")\">";
      resHTML += "<option value=''>"+filtres[i].getElementsByTagName("lib")[0].childNodes[0].nodeValue +"...</option>";
      var values = filtres[i].getElementsByTagName("val")
      for ( var j = 0 ; j < values.length ; j++)
        {
          var selected = "";
          if ( values[j].getElementsByTagName("id")[0].childNodes[0].nodeValue == params[1][i]) selected = "selected";
          resHTML += "<option value='"+values[j].getElementsByTagName("id")[0].childNodes[0].nodeValue +"' "+selected+">"+values[j].getElementsByTagName("txt")[0].childNodes[0].nodeValue+"</option>";
        }
      resHTML += "</select>";
    }
   resHTML += "</li>";
   
   var cols = menu.getElementsByTagName("col");
   for ( var i = 0 ; i < cols.length ; i++)
    {
      resHTML += "<li class=\"col"+(i==cols.length-1?'Prix':'Filtre')+"Conf\">";
      if (params[0]!="accessoire")
        {
          resHTML += "<div>";

          if ((params[2] == i+1) && ( params[3] == 'desc'))
            resHTML += "<img src=\"/images/xlocales/bto/flecheBasOn.gif\" width=\"9\" height=\"5\" />";
          else
            resHTML += "<a href=\"#\" onclick=\"mybto.getListe('"+p1+"',mybto.getFiltre(),"+(i+1)+",'desc');return false\"><img src=\"/images/xlocales/bto/flecheBas.gif\" width=\"9\" height=\"5\" /></a>";

          if ((params[2] == i+1) && ( params[3] == 'asc'))
            resHTML += "<img src=\"/images/xlocales/bto/flecheHautOn.gif\" width=\"9\" height=\"5\" />";
          else
            resHTML += "<a href=\"#\" onclick=\"mybto.getListe('"+p1+"',mybto.getFiltre(),"+(i+1)+",'asc');return false\"><img src=\"/images/xlocales/bto/flecheHaut.gif\" width=\"9\" height=\"5\" /></a>";

          resHTML += "</div>";
        }
      resHTML += cols[i].childNodes[0].nodeValue;
      resHTML += "</li>";
    }
   resHTML += "</ul>";
   resHTML += "</div>";
   /* fin du top */

   /* contenu */
   if (xmlRequest.getElementsByTagName("data").length == 0)
    {
      if (menu.getElementsByTagName("val").length == 0 ) resHTML += this.getListe_vide("totalementVide");
      else resHTML += this.getListe_vide("tropFiltree");
      
    }
   else
    {
     resHTML += "<div class='listeElements'>";
     for ( var g = 0 ; g < groupement.length ; g++ )
      {
       var gr_name = "";
       if(groupement[g].getElementsByTagName("groupename")[0].childNodes.length > 0)
        gr_name = groupement[g].getElementsByTagName("groupename")[0].childNodes[0].nodeValue;
       var gr_id = groupement[g].getElementsByTagName("groupeid")[0].childNodes[0].nodeValue;
       if ( gr_name != "")
        {
          resHTML += "<div class=\"fdAcc spBto\" onClick=\"mybto.showAccessoires(document.getElementById('plusacc"+g+"'),'grp_"+gr_id+"');\">";
          resHTML += "<div id=\"plusacc"+g+"\" idgrp='grp_"+gr_id+"' class=\""+(g>0?"plus":"moins")+"Acc spBto\" ></div>";
          resHTML += "<h3>"+gr_name+"</h3>"
          resHTML += "</div>";
        }

       resHTML += "<div id=\"grp_"+gr_id+"\" "+(g>0?"style='display:none'":"")+">";
       var data = groupement[g].getElementsByTagName("data");
       for ( var i = 0 ; i < data.length ; i++ )
        {
          var cid = data[i].getElementsByTagName("cid")[0].childNodes[0].nodeValue;
          var pid = data[i].getElementsByTagName("pid")[0].childNodes[0].nodeValue;
          var img = data[i].getElementsByTagName("img")[0].childNodes[0].nodeValue;
		  var titlelongue = data[i].getElementsByTagName("titlelongue")[0].childNodes[0].nodeValue;
          var zoom = "";
          if ( data[i].getElementsByTagName("zoom").length > 0 ) zoom = data[i].getElementsByTagName("zoom")[0].childNodes[0].nodeValue;
          var titre = data[i].getElementsByTagName("titre")[0].childNodes[0].nodeValue;
          var resume = data[i].getElementsByTagName("resume")[0].childNodes[0].nodeValue;
          var stock = data[i].getElementsByTagName("stock")[0].childNodes[0].nodeValue;
          var reg = new RegExp( String.fromCharCode(128) , "gi")
          var prix = data[i].getElementsByTagName("prix")[0].childNodes[0].nodeValue.replace( reg , "&euro;" );
          var details = data[i].getElementsByTagName("detail");

          var cl = ""
          if (sel_pid == null) /* pas de sélection perdo => sélection RDC*/
            {
              var sel = data[i].getElementsByTagName("sel")[0].childNodes[0].nodeValue;
              if (sel == 1) cl = "class='pieceOn'"
            }
          else /* selection perso*/
            {
              if ((sel_cid == cid)&&(sel_pid == pid)) cl = "class='pieceOn'"
            }

          resHTML += "<div id='piece_"+cid+"_"+pid+"' "+cl+">";
          resHTML += "<div class=\"topBlcBl spBto\"></div>";

          resHTML += "<div class=\"cntBlcBl\">";
          resHTML += "<div style='width:"+lrg_colprinc+"px;float:left'>";
          
          if ( zoom == "")
            resHTML += "<div class='colImgConf'><img src=\""+img+"\" width=\"100\" height=\"75\" alt=\""+titre+"\" /></div>";
          else
            resHTML += "<div class='colImgConf colImgConfZoom' onclick=\"popupXL2(false,'<cfoutput>#LocaleString#</cfoutput>','"+zoom+"');return false\"><img src=\""+img+"\" width=\"100\" height=\"75\" title=\"Zoom sur "+titre+"\" /></div>";
            
          resHTML += "<div class=\"colDescConf\">";
          resHTML += "<div class=\"normal\" style='width:"+(lrg_colprinc-110)+"px'><span class=\"tMarque\">"+titre+"</span><br />" + resume + "</div>";
          if (params[0]=="Accessoire")
            {
              resHTML += "<p class=\"detail\">";
              resHTML += "<a href=\"#\" onClick=\"mybto.detailAccessoire('"+data[i].getElementsByTagName("monde")[0].childNodes[0].nodeValue+"',"+pid+");return false\">"+loc_Txt_PlusDeDetailsSigne+"</a>";
              resHTML += "</p>";
            }
          else if ( details.length > 0 )
            {
              resHTML += "<p class='detail'>";
              resHTML += "<a href=\"#\" onClick=\"mybto.showDetail('piece_"+cid+"_"+pid+"');return false\">"+loc_Txt_PlusDeDetailsSigne+"</a>";
              resHTML += "</p>";
            }
          resHTML += "</div>";
          resHTML += "</div>";
          var cols = data[i].getElementsByTagName("col")
          for ( var j = 0 ; j < cols.length ; j++ )
            {
              resHTML += "<div class=\"colFiltreConf\">";
              resHTML += "<p class=\"valign\">"+cols[j].childNodes[0].nodeValue+"</p>";
              resHTML += "</div>";
            }
          resHTML += "<div class=\"colPrixConf\">";
          resHTML += "<p class=\"stock2\">"+stock+"</p><p class=\"pr1\">"+prix;
		  if (params[0]=="Chassis") resHTML += " *"
		  resHTML += "</p>";
		  resHTML += "<div class=\"btchoix spBto\" onclick=\"mybto.addProduct('"+params[0]+"',"+cid+","+pid+",null)\"></div>";
          resHTML += "</div>";
          resHTML += "<br class=\"clearFloat\" />";
          resHTML += "</div>";
          resHTML += "<div class=\"botBlcBl spBto\"></div>";

          if ( details.length > 0 )
            {
              resHTML += "<div id='detail_piece_"+cid+"_"+pid+"'' class=\"detailConf\">";
              resHTML += "<h3>"+titlelongue+"</h3><div class=\"close spBto\" onClick=\"mybto.showDetail('piece_"+cid+"_"+pid+"')\"></div>";
              resHTML += "<table cellspacing='0'>";
              for ( var j = 0 ; j < details.length ; j++ )
                resHTML += "<tr><td>"+details[j].getElementsByTagName("name")[0].childNodes[0].nodeValue+"</td><td class='value'>"+details[j].getElementsByTagName("value")[0].childNodes[0].nodeValue+"</td></tr></li>";
              resHTML += "</table>";
              resHTML += "</div>";			  
            }
          resHTML += "</div>";
        }
       resHTML += "</div>";
     }
     resHTML += "</div>";
    }
   /* fin contenu */
   
   /* footer */
   resHTML += "<div class=\"botBlcConf spBto\"></div>";
   resHTML += "</div>";
   /* fin footer */
   
   document.getElementById("colGauche").innerHTML = resHTML
   
  }
BTO.prototype.getListe_erreur = function ( xlmrequest , code )
  {
    var resHTML = "";
    resHTML += "<div class=\"topBlcConf spBto\">";
    resHTML += "</div>";
    resHTML += "<div class='listeElements'>";
    resHTML += "<div class=\"topBlcBl spBto\"></div>";
    resHTML += "<div class=\"cntBlcBl cntErreur\">";
    resHTML += loc_Txt_ErreurBTO;
    resHTML += "</div>";
    resHTML += "<div class=\"botBlcBl spBto\"></div>";
    resHTML += "</div>";
    resHTML += "<div class=\"botBlcConf spBto\"></div>";
    document.getElementById("colGauche").innerHTML = resHTML
  }
BTO.prototype.showAccessoires = function ( div_ctrl , div_ctc )
  {
    div_ctc = document.getElementById(div_ctc);
    
    var g = 0;
    var tmp = null;
    while ( tmp = document.getElementById("plusacc"+g) )
      {
        if ((tmp.className.indexOf("plusAcc") == -1) && tmp.id != (div_ctrl.id))
          {
            tmp.className = "plusAcc spBto";
            document.getElementById(tmp.getAttribute("idgrp")).style.display = "none";
          }
        g++;
      }
    
    if (div_ctrl.className.indexOf("plusAcc") >= 0 )
      {
        div_ctrl.className = "moinsAcc spBto";
        div_ctc.style.display = "block";
      }
    else
      {
        div_ctrl.className = "plusAcc spBto";
        div_ctc.style.display = "none";
      }
  }
/*fin fonction pour les listes de produits*/

/* manipulation utilisateur de la liste */
BTO.prototype.askConfirm = function (cid,pid)
  {
    var div_opaque = document.getElementById("div_opaque");
	  div_opaque.style.cssText="position:absolute;z-index:100;top:0px;left:0px;filter:alpha(opacity:47);display:;background:white"
	  div_opaque.style.opacity = .47
	  div_opaque.style.height = document.body.scrollHeight + "px"
	  div_opaque.style.width =  document.body.scrollWidth + "px"
	  
	  var shop_resultat = document.getElementById("bto_confirm");
	  var shop_resultat_title = document.getElementById("bto_confirm_title");
	  var shop_resultat_content = document.getElementById("bto_confirm_content");
	  shop_resultat.style.filter = 'alpha(opacity:100)'
	  shop_resultat.style.opacity = 1
    shop_resultat.style.left = (((document.body.clientWidth-300)/2)+document.body.scrollLeft) + "px"
    shop_resultat.style.top = (((getWindowHeight()-100)/2)+document.documentElement.scrollTop) + "px"
	  shop_resultat.style.display="block";
    var innerHTML ="<div class='ConfirmText'><br/><b>"+loc_Txt_ConfirmationChangementChassis+"</b><br/><br/>"+loc_Txt_ConfirmationChangementChassis2+"<br/><br/></div>";
    innerHTML += "<div class='confirmButtons'>";
    innerHTML += "<div class='btannule spBto' onclick=\"document.getElementById('div_opaque').style.display=document.getElementById('bto_confirm').style.display='none'\"></div>";
    innerHTML += "<div class='btcontinue spBto' onclick=\"document.getElementById('div_opaque').style.display=document.getElementById('bto_confirm').style.display='none';mybto.addProduct('Chassis',"+cid+","+pid+",true)\"></div>"
    innerHTML += "<br class='clearFloat'/></div>";

	sTitleHTML = "<h1>"+loc_txt_bto_confirmation+"</h1>"

	shop_resultat_title.innerHTML=sTitleHTML;
    shop_resultat_content.innerHTML=innerHTML;
	  
    
  }
BTO.prototype.goEtape = function ( numEtape )
  {
    if ( numEtape == null )
      {
        if (this.ch_pid == null) numEtape = 1;
        else if (this.pr_pid == null) numEtape = 2;
        else if (this.mm_pid == null) numEtape = 3;
        else if (this.dd_pid == null) numEtape = 4;
        else numEtape = 5;
      }

    switch( numEtape )
      {
       case 1 : this.getListe("Chassis",null,null,null); break;
       case 2 : this.getListe("Processeur",null,null,null); break;
       case 3 : this.getListe("Memoire",null,null,null); break;
       case 4 : this.getListe("DisqueDur",null,null,null); break;
       case 5 : this.getListe("Accessoire",null,null,null); break;
      }

    var d = document.getElementById("choixE" + numEtape )
    if (d.className.indexOf("choixOn")<0) d.className += " choixOn";

    for (var i = 1 ; i <= 5 ; i++)
      {
        document.getElementById("confE" + i).className = (i==numEtape?"etapesel":"");
      }
  }
  
BTO.prototype.addProduct = function ( type , cid , pid , conf )
  {
    if (type == "Accessoire")
      {
        this.addAccessoire( cid , pid );
        this.showPanier();
      }
    else
      {
        if ((type=="Chassis")&&(!conf)&&(this.ch_cid!=null)&&(this.ch_pid!=null)&&((this.ch_cid!=cid)||(this.ch_pid!=pid)))
          {
            this.askConfirm(cid,pid);
          }
        else
          {
            if (type=="Chassis")
              {
                if ((this.ch_cid!=cid)||(this.ch_pid!=pid))
                  {
                    this.setChassis(cid,pid);
                    if (this.pr_pid != null) this.setProcesseur(null,null);
                    if (this.dd_pid != null)this.setDisqueDur(null,null);
                    if (this.mm_pid != null)this.setMemoire(null,null);
                    if (this.acc.length > 0)this.resetAccesoire();
                    for ( var i = 3 ; i <= 5 ; i++ )
                      {
                        var d = document.getElementById("choixE" + i )
                        d.className = "choix";
                      }
                    this.getConfRDC();
                  }
                else
                  {
                    this.goEtape();
                    return false;
                  }
              }
            else eval("mybto.set"+type+"("+cid+","+pid+")");

            this.showPanier();
            this.goEtape();
          }
      }
  }

BTO.prototype.getFiltre = function ()
  {
    var f = document.forms["btoconf"];
    var p = new Array()
    var i = 0;
    while ( elt = f.elements["filtre" + i] )
      {
        p[p.length] = elt.options[elt.selectedIndex].value;
        i++;
      }
    return p;
  }
  
BTO.prototype.showDetail = function (id)
  {
    var d = document.getElementById("detail_" + id);
    if ( d.style.display != "block" )
      {
        if ( (this.piece_active != null) && (this.piece_active != id) ) document.getElementById("detail_" + this.piece_active).style.display = "none";
        d.style.display = "block";
        this.piece_active = id;
      }
    else
      {
        d.style.display = "none";
        this.piece_active = null;
      }
    
  }
/* fin manipulation utilisateur de la liste */

/* Configuration RDC */
BTO.prototype.getConfRDC = function ()
  {
      var url = "/bto/ajax/getconfrdc.cfm?"
      url += "gamme=" + this.gammeid;
      if (this.ch_pid != null) url += "&ch_pid=" + this.ch_pid
      document.getElementById("confrdc").style.display='none';
      document.getElementById("confrdc_loading").style.display='block';
      callHttpRequestRdc( url , "mybto.getConfRDC_retour")
  }
BTO.prototype.getConfRDC_retour = function ( xmlRequest )
  {
    var img = xmlRequest.getElementsByTagName("img")[0].childNodes[0].nodeValue;
    var titre = xmlRequest.getElementsByTagName("titre")[0].childNodes[0].nodeValue;
    var desc = xmlRequest.getElementsByTagName("desc")[0].childNodes[0].nodeValue;
    var prixmini = xmlRequest.getElementsByTagName("prixmini")[0].childNodes[0].nodeValue;
    var prixrdc = xmlRequest.getElementsByTagName("prixrdc")[0].childNodes[0].nodeValue;
    var confmini = xmlRequest.getElementsByTagName("confmini")[0].childNodes[0].nodeValue;
    var confrdc = xmlRequest.getElementsByTagName("confrdc")[0].childNodes[0].nodeValue;
    
    document.getElementById("confrdc_img").src = img;
    document.getElementById("confrdc_titre").innerHTML = titre;
    document.getElementById("confrdc_desc").innerHTML = desc;
    document.getElementById("confrdc_prixmini").innerHTML = prixmini;
    document.getElementById("confrdc_prixrdc").innerHTML = prixrdc;
    document.getElementById("confrdc_btprixmini").setAttribute("conf",confmini);
    document.getElementById("confrdc_btprixrdc").setAttribute("conf",confrdc);

    document.getElementById("confrdc").style.display='block';
    document.getElementById("confrdc_loading").style.display='none';
  }
BTO.prototype.voirSelection = function ( div )
  {
    var conf = div.getAttribute("conf");
    url = "/bto/ajax/panier.cfm?gamme=" + this.gammeid;
    conf = conf.split(",");
    
    for ( var i = 0 ; i < conf.length ; i++)
      {
        var ty = "";
        switch(i)
          {
            case 0 : ty = "ch"; break;
            case 1 : ty = "pr"; break;
            case 2 : ty = "mm"; break;
            case 3 : ty = "dd"; break;
          }
        conf[i] = conf[i].split("|");
        url += "&" + ty + "_cid=" + conf[i][0] + "&" + ty + "_pid=" + conf[i][1];
      }
    this.voirSelection_loading();
    callHttpRequestRdc ( url , "mybto.voirSelection_retour" , "" , div.getAttribute("conf") );
  }
BTO.prototype.voirSelection_loading = function ()
  {
    /* le div opaque */
    var div_opaque = document.getElementById("div_opaque");
	  div_opaque.style.cssText="position:absolute;z-index:100;top:0px;left:0px;filter:alpha(opacity:47);display:;background:white"
	  div_opaque.style.opacity = .47
	  div_opaque.style.height = document.body.scrollHeight + "px"
	  div_opaque.style.width =  document.body.scrollWidth + "px"
	  
    /* le panier */
	  var preview = document.getElementById("conf_preview");
	  preview.style.position ="absolute"
    preview.style.zIndex="101"
	  preview.style.filter = 'alpha(opacity:100)'
	  preview.style.opacity = 1
    preview.style.left = (((document.body.clientWidth-310)/2)+document.body.scrollLeft) + "px"
    preview.style.display="block";
    preview.style.top = (((document.body.clientHeight-175)/2)+document.body.scrollTop) + "px" 

    document.getElementById("cntBlcConfD_preview").style.display="none";
    document.getElementById("cntBlcConfD_previewloading").style.display="block";
  }
  
BTO.prototype.voirSelection_retour = function ( xmlRequest , param )
  {
    /* le div opaque */
    var div_opaque = document.getElementById("div_opaque");
	  div_opaque.style.cssText="position:absolute;z-index:100;top:0px;left:0px;filter:alpha(opacity:47);display:;background:white"
	  div_opaque.style.opacity = .47
	  div_opaque.style.height = document.body.scrollHeight + "px"
	  div_opaque.style.width =  document.body.scrollWidth + "px"

    document.getElementById("cntBlcConfD_preview").style.display="block";
    document.getElementById("cntBlcConfD_previewloading").style.display="none";

    var lst = new Array("ch","pr","mm","dd");
    for ( var i = 0 ; i < lst.length ; i++ )
      {
        var infos = xmlRequest.getElementsByTagName(lst[i]);
        var innerHTML = "";
        innerHTML += "<div class='float'>"+infos[0].getElementsByTagName("titre")[0].childNodes[0].nodeValue+"</div>";
        innerHTML += "<div class='imgD'><img src='"+infos[0].getElementsByTagName("img")[0].childNodes[0].nodeValue+"' width='100' height='75'/>";
        document.getElementById("pw_ctcE" + (i+1) ).innerHTML = innerHTML;
      }
    document.getElementById("pw_btorecapPrix").innerHTML = xmlRequest.getElementsByTagName("prix")[0].childNodes[0].nodeValue;
    document.getElementById("pw_btorecapDelai").innerHTML = xmlRequest.getElementsByTagName("delai")[0].childNodes[0].nodeValue;
    document.getElementById("pw_bto_bt_choix").setAttribute("conf",param)

    /* le panier */
	  var preview = document.getElementById("conf_preview");
	  preview.style.position ="absolute"
    preview.style.zIndex="101"
	  preview.style.filter = 'alpha(opacity:100)'
	  preview.style.opacity = 1
    preview.style.left = (((document.body.clientWidth-310)/2)+document.body.scrollLeft) + "px"
    preview.style.display="block";
    preview.style.top = (((getWindowHeight()-preview.offsetHeight)/2)+document.documentElement.scrollTop) + "px"
  }
BTO.prototype.choisirPreview = function ( div )
  {
    var conf = div.getAttribute("conf");
    url = "/bto/ajax/panier.cfm?gamme=" + this.gammeid;
    conf = conf.split(",");

    for ( var i = 0 ; i < conf.length ; i++)
      {
        var ty = "";
        switch(i)
          {
            case 0 : ty = "ch"; break;
            case 1 : ty = "pr"; break;
            case 2 : ty = "mm"; break;
            case 3 : ty = "dd"; break;
          }
        conf[i] = conf[i].split("|");
        eval("mybto." + ty + "_cid = " + conf[i][0] );
        eval("mybto." + ty + "_pid = " + conf[i][1] );
      }

    this.closeAcheter();
    this.resetAccesoire();
    this.showPanier();
    this.goEtape(5);
  }
BTO.prototype.closeAcheter = function ()
  {
    var div_opaque = document.getElementById("div_opaque");
    div_opaque.style.display="none";
    var preview = document.getElementById("conf_preview");
    preview.style.display="none";
  }
/* fin configuration RDC */

/**************************/
/* fonctions pour le zoom */
/**************************/
function resizePopXL2 ( obj )
{
document.getElementById("txt_PopXl2").style.display='none'
obj.style.display='block'
my_div2 = document.getElementById("div_popupXL2")
if ( obj.height + 60 > getWindowHeight() )
{
obj.height_origine = obj.height
obj.height = getWindowHeight() - 100
document.getElementById("img_zoompopupXL2").style.display='block'
}
my_div2.style.width = (obj.width+4) + "px"
my_div2.style.height = (obj.height + 40 + 6) + "px"
my_div2.style.top = (((getWindowHeight()-obj.height-40)/2)+document.documentElement.scrollTop) + "px"
my_div2.style.left = (((document.body.clientWidth-obj.width)/2)+document.body.scrollLeft) + "px"
}

function popupXL2(of,loc,urlimgzoom) {
vcis('hidden');
var my_div , my_div2;
if ( loc == null ) loc = 'fr-fr'
if ( ! ( my_div = document.getElementById("div_opaque") ) )
{
my_div = document.createElement("DIV")
my_div.id = "div_opaque"
document.body.appendChild( my_div )
}
my_div.style.cssText="position:absolute;z-index:99;top:0px;left:0px;filter:alpha(opacity:60);display:;background:white"
my_div.style.opacity = .6
my_div.style.height = document.body.scrollHeight + "px"
my_div.style.width = document.body.scrollWidth + "px"
if ( ! ( my_div2 = document.getElementById("div_popupXL2") ) )
{
my_div2 = document.createElement("DIV")
my_div2.id = "div_popupXL2"
document.body.appendChild( my_div2 )
}
my_div2.style.padding = '2px'
my_div2.style.background = 'white'
my_div2.style.zIndex = 101
my_div2.style.position = 'absolute'
my_div2.style.filter = null
my_div2.style.opacity = 1
my_div2.style.width = "550px"
my_div2.style.height = "60px"
my_div2.style.top = (((getWindowHeight()-130)/2)+document.documentElement.scrollTop) + "px"
my_div2.style.left = (((document.body.clientWidth-550)/2)+document.body.scrollLeft) + "px"
my_div2.style.display="block";
my_div2.style.border="1px solid black"
var tmphtml = "<div style='width:100%;text-align:center' id='txt_PopXl2'><img src='http://www.rueducommerce.fr/image/img-loading-sm.gif' width='65' height='49'/></div>"
tmphtml += "<img src='" + urlimgzoom + "' onload='resizePopXL2(this)' id='img_PopXL2' onclick=\"document.getElementById('div_popupXL2').style.display='none';document.getElementById('div_opaque').style.display='none';vcis('visible');\" style='display:none'>"
imgbtacht = "/images/bouton_acheter.gif";
if ( loc != 'fr-fr' ) imgbtacht = "/images/locales/"+loc+"/bouton_acheter.gif" ;
if ( document.getElementById('fp_imgachat_main') )
tmphtml += "<img src='"+imgbtacht+"' onclick=\"document.getElementById('div_popupXL2').style.display='none';vcis('visible');document.getElementById('fp_imgachat_main').onclick()\" width='108' height='40' style='float:left;cursor:pointer;' id='bt_acheter_zoom'>"
tmphtml += "<div class='btfermer' onclick=\"document.getElementById('div_popupXL2').style.display='none';document.getElementById('div_opaque').style.display='none';vcis('visible');\" style='float:right;cursor:pointer'></div>"
tmphtml += "<img src='/images/xlocales/zoom_plus.gif' id='img_zoompopupXL2' onclick=\"popupXL2_zoom(this)\" width='95' height='51' style='position:absolute;top:5px;left:5px;cursor:pointer;display:none;filter:alpha(opacity:40);opacity:0.4' onmouseover=\"this.style.filter=null;this.style.opacity=1\" onmouseout=\"this.style.filter='alpha(opacity:40)';this.style.opacity=0.4\">"
my_div2.innerHTML = tmphtml
}
function popupXL2_zoom (btzoom)
{
obj = document.getElementById("img_PopXL2")
my_div2 = document.getElementById("div_popupXL2")
if ( obj.height == obj.height_origine )
{
obj.height = obj.height_origine - 100
btzoom.src='/images/xlocales/zoom_plus.gif'
}
else
{
obj.height = obj.height_origine
btzoom.src='/images/xlocales/zoom_moins.gif'
}
my_div2.style.width = (obj.width+4) + "px"
my_div2.style.height = (obj.height + 40 + 6) + "px"
my_div2.style.left = (((document.body.clientWidth-obj.width)/2)+document.body.scrollLeft) + "px"
}
/******************************/
/* fin fonctions pour le zoom */
/******************************/





/*****************************************************************/
/* fonctions pour l'affichage d'infos sur le délais de livraison */
/*****************************************************************/

function affichedelailivraison ()
  {
    var div_opaque = document.getElementById("div_opaque");
	  	div_opaque.style.cssText="position:absolute;z-index:100;top:0px;left:0px;filter:alpha(opacity:47);display:;background:white"
	  	div_opaque.style.opacity = .47
	  	div_opaque.style.height = document.body.scrollHeight + "px"
	  	div_opaque.style.width =  document.body.scrollWidth + "px"
    	var shop_resultat = document.getElementById("bto_confirm");
    	var shop_resultat_title = document.getElementById("bto_confirm_title");
    	var shop_resultat_content = document.getElementById("bto_confirm_content");
    	shop_resultat.style.filter = 'alpha(opacity:100)';
	    shop_resultat.style.opacity = 1;
      shop_resultat.style.left = (((document.body.clientWidth-300)/2)+document.body.scrollLeft) + "px"
      shop_resultat.style.top = (((document.body.clientHeight-400)/2)+document.body.scrollTop) + "px"
	    shop_resultat.style.display="block";
    var innerHTML ="<div class='ConfirmText'><br/><b>"+loc_Txt_BTO_DelaisLivraison2+"</b><br/><br/>";
    innerHTML += loc_Txt_BTO_DelaisLivraison3 + "<br/><br/>";
    innerHTML += "<li><b>"+loc_Txt_BTO_DelaisLivraison4+"</b>"+loc_Txt_BTO_DelaisLivraison5+"</li><br/>";
    innerHTML += "<li><b>"+loc_Txt_BTO_DelaisLivraison6+"</b>"+loc_Txt_BTO_DelaisLivraison7+"</li><br/>";
    innerHTML += "<li><b>"+loc_Txt_BTO_DelaisLivraison8+"</b>"+loc_Txt_BTO_DelaisLivraison9+"</li><br/>";
    innerHTML += "</div>";
    innerHTML += "<div class='confirmButtons'>";
    innerHTML += "<div class='btcontinue spBto' onclick=\"document.getElementById('div_opaque').style.display=document.getElementById('bto_confirm').style.display='none'\"></div>"
    innerHTML += "<br class='clearFloat'/></div>";
	sTitleHTML = "<h1>"+loc_Txt_BTO_TitreDelaiLivraison+"</h1>"
	shop_resultat_title.innerHTML=sTitleHTML;
    shop_resultat_content.innerHTML=innerHTML;
  }
/*********************************************************************/
/* fin fonctions pour l'affichage d'infos sur le délais de livraison */
/*********************************************************************/






























