function setFilter(filter, value)
{
   var xhr = xmlHttpRequest('ajax/action.php', 'POST', 'true', 'action=setFilter&filter='+filter+'&value='+value, 'application/x-www-form-urlencoded');
}

function initCatalogue(picsdir, thumbsdir, marque, type, sortby, budget)
{
   setFilter('marque', marque);
   setFilter('type', type);
   setFilter('sortby', sortby);
   setFilter('budget', budget);
   types(picsdir, thumbsdir, marque, type, sortby, budget);
   filters(picsdir, thumbsdir, marque, type, sortby, budget);
   catalogues(picsdir, thumbsdir, marque, type, sortby, budget);
}

function filters(picsdir, thumbsdir, marque, type, sortby, budget)
{
   var html = '&nbsp;Trier par <select onchange="javascript:initCatalogue(\''+picsdir+'\', \''+thumbsdir+'\', \''+marque+'\', \''+type+'\', this.value, \''+budget+'\');">';
   if(sortby == 'modele')
   {
      html += '<option value="modele" selected="selected">Ordre alphabétique</option>';
      html += '<option value="prix">Prix</option>';
      html += '<option value="reference">Référence</option>';
   }
   else if(sortby == 'prix')
   {
      html += '<option value="modele">Ordre alphabétique</option>';
      html += '<option value="prix" selected="selected">Prix</option>';
      html += '<option value="reference">Référence</option>';
   }
   else if(sortby == 'reference')
   {
      html += '<option value="modele">Ordre alphabétique</option>';
      html += '<option value="prix">Prix</option>';
      html += '<option value="reference" selected="selected">Référence</option>';
   }
   else
   {
      html += '<option value="modele" selected="selected">Ordre alphabétique</option>';
      html += '<option value="prix">Prix</option>';
      html += '<option value="reference">Référence</option>';
   }
   html += '</select>';
   html += '&nbsp;Budget <select onchange="javascript:initCatalogue(\''+picsdir+'\', \''+thumbsdir+'\', \''+marque+'\', \''+type+'\', \''+sortby+'\', this.value);">';
   if(budget == '0')
   {
      html += '<option value="0" selected="selected">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '1')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1" selected="selected" class="red">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '2')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2" selected="selected" class="red">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '3')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3" selected="selected" class="red">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '4')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4" selected="selected" class="red">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '5')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5" selected="selected" class="red">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   else if(budget == '6')
   {
      html += '<option value="0">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6" selected="selected" class="red">250&euro; et plus</option>';
   }
   else
   {
      html += '<option value="0" selected="selected">Indifférent</option>';
      html += '<option value="1">0 à 50&euro;</option>';
      html += '<option value="2">50 à 100&euro;</option>';
      html += '<option value="3">100 à 150&euro;</option>';
      html += '<option value="4">150 à 200&euro;</option>';
      html += '<option value="5">200 à 250&euro;</option>';
      html += '<option value="6">250&euro; et plus</option>';
   }
   html += '</select>';
   document.getElementById("filter").innerHTML = html;
}

function types(picsdir, thumbsdir, marque, type, sortby, budget)
{
   enableTooltips();
   var xhr = xmlHttpRequest('ajax/action.php', 'POST', 'true', 'action=filter&mark='+marque+'&type='+type, 'application/x-www-form-urlencoded');
   xhr.onreadystatechange = function()
   {
      if(xhr.readyState == 4)
      {
         if(xhr.status == 200)
         {
            var docXML = cleanXML(xhr.responseXML);
            var items = docXML.getElementsByTagName("item");
            var html = '<ul>';
            for (i=0; i<items.length; i++)
            {
               if(items[i].getElementsByTagName("act")[0].firstChild.nodeValue == 1)
               {
                  html += '<li class="active" onclick="javascript:initCatalogue(\''+picsdir+'\', \''+thumbsdir+'\', \''+marque+'\', \''+xmlRead(items[i], "type")+'\', \''+sortby+'\', \''+budget+'\');">';
                  html += xmlRead(items[i], "type_view");
                  html += '</li>';
               }
               else
               {
                  html += '<li onclick="javascript:initCatalogue(\''+picsdir+'\', \''+thumbsdir+'\', \''+marque+'\', \''+xmlRead(items[i], "type")+'\', \''+sortby+'\', \''+budget+'\');">';
                  html += xmlRead(items[i], "type_view");
                  html += '</li>';
               }
            }
            html += '</ul>';
            document.getElementById("type").innerHTML = html;
         }
         else
         {
            document.getElementById("type").innerHTML = 'Erreur' + xhr.status;
         }
      }
   };
}

function catalogues(picsdir, thumbsdir, marque, type, sortby, budget)
{
   loading('catalogue' , 'Chargement en cours');
   var xhr = xmlHttpRequest('ajax/action.php', 'POST', 'true', 'action=catalogue&mark='+marque+'&type='+type+'&sortby='+sortby+'&budget='+budget, 'application/x-www-form-urlencoded');
   xhr.onreadystatechange = function()
   {
      if(xhr.readyState == 4)
      {
         if(xhr.status == 200)
         {
            var j = '0';
            var docXML = cleanXML(xhr.responseXML);
            var items = docXML.getElementsByTagName("item");
            var html = '<table>';
            if(items.length > 0)
            {
               for (i=0; i<items.length; i++)
               {
                  if(i % 4 == 0)
                  {
                     if(j % 2 == 1)
                     {
                        html += '<tr class="cycle1">';
                     }
                     else
                     {
                        html += '<tr class="cycle2">';
                     }
                     j++;
                  }
                  html += '<td>';
                  if(xmlRead(items[i], "new") == 1)
                  {
                     html += '<span class="redblink">Nouveau !</span><br/>';
                  }
                  html += '<b>'+xmlRead(items[i], "modele").wordWrap('20', '<br/>', false)+'</b><br/>';
                  html += '<a href="modele-'+xmlRead(items[i], "id")+'.html" class="foto" title="Taille disponible:\n '+xmlRead(items[i], "size_view")+' - Couleur disponible: '+xmlRead(items[i], "color_view")+'">';
                  html += '<img name="'+xmlRead(items[i], "reference")+'" src="'+picsdir+xmlRead(items[i], "marque")+'/'+thumbsdir+xmlRead(items[i], "reference")+'.jpg"/>';
                  html += '</a><br/>';
                  html += 'Ref:&nbsp;'+xmlRead(items[i], "reference")+'<br/><br/>';
                  if(xmlRead(items[i], "promo") == 1)
                  {
                     html += '<span class="red">Promo -'+xmlRead(items[i], "promopourc")+'%</span><br/>';
                     html += '<span class="price"><strike>'+xmlRead(items[i], "prix")+'&euro;</strike></span><br/>';
                     html += '<span class="price">'+xmlRead(items[i], "promoprix")+'&euro;</span>';
                  }
                  else
                  {
                     html += '<span class="price">'+xmlRead(items[i], "prix")+'&euro;</span>';
                  }
                  html += '</td>';
               }
               if(i % 4 > 0)
               {
                  html += '</tr>';
               }
               html += '</table>';
            }
            else
            {
               var html = '<div class="loading">Aucun modele ne répond a ces critères.</div>';
            }
            document.getElementById("catalogue").innerHTML = html;
            enableTooltips("catalogue");
         }
         else
         {
            document.getElementById("catalogue").innerHTML = 'Erreur' + xhr.status;
         }
      }
   };
}
