// Liaison avec le serveur AJAX

function SendRequest(requested_action, product_id)
{
  switch(requested_action)
  {
    case 'add_to_favorites':
    case 'remove_from_favorites':

      var httpRequest = false;
    
      if(window.XMLHttpRequest)
      {
        // Mozilla, Safari,...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType)
        {
          httpRequest.overrideMimeType('text/xml');
          // Voir la note ci-dessous à propos de cette ligne
        }
      }
      else if(window.ActiveXObject)
      {
        // IE
        try
        {
          httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
    
        catch(e)
        {
          try
          {
            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e)
          {
          }
        }
      }
    
      if(!httpRequest)
      {
          alert('Abandon :( Impossible de créer une instance XMLHTTP');
          return false;
      }

      switch(requested_action)
      {
        case 'add_to_favorites':
          url = 'http://delivery.exki.be/my_delivery_favorites_ajax.php?do=add_to_favorites&product_id='+product_id;
        break;

        case 'remove_from_favorites':
          url = 'http://delivery.exki.be/my_delivery_favorites_ajax.php?do=remove_from_favorites&product_id='+product_id;
        break;
      }

      httpRequest.onreadystatechange = function() { alertContents(httpRequest, requested_action, product_id); };
      httpRequest.open('GET', url, true);
      httpRequest.send(null);
      break;
  }
}


function alertContents(httpRequest, requested_action, product_id)
{
  if(httpRequest.readyState == 4)
  {
    if(httpRequest.status == 200)
    {
      switch(requested_action)
      {
        case 'add_to_favorites':
          add_to_favorites_ajax_answer(product_id, httpRequest.responseText);
        break;

        case 'remove_from_favorites':
          remove_from_favorites_ajax_answer(product_id, httpRequest.responseText);
        break;
      }
    }
    else
    {
      // alert('Un problème est survenu avec la requête.');
    }
  }
}

function add_to_favorites(product_id)
{
  //var RequestResult = makeRequest('http://delivery.exki.be/my_delivery_favorites_ajax.php?do=add_to_favorites&product_id='+product_id);
  SendRequest('add_to_favorites', product_id);
}

function add_to_favorites_ajax_answer(product_id, answer)
{
  switch(answer)
  {
    case 'ADD_OK':
    document.getElementById('favorite_'+product_id).innerHTML = '<img src="images/icons/favorite_on.png">';
    document.getElementById('favorite_'+product_id).href='javascript:remove_from_favorites('+product_id+');';
    break;
    case 'ADD_ERROR':
    
    break;
  }
}

function remove_from_favorites(product_id)
{
  // var RequestResult = makeRequest('http://delivery.exki.be/my_delivery_favorites_ajax.php?do=remove_from_favorites&product_id='+product_id);
  SendRequest('remove_from_favorites', product_id);
}

function remove_from_favorites_ajax_answer(product_id, answer)
{
  switch(answer)
  {
    case 'REMOVE_OK':
    document.getElementById('favorite_'+product_id).innerHTML = '<img src="images/icons/favorite_off.png">';
    document.getElementById('favorite_'+product_id).href='javascript:add_to_favorites('+product_id+');';
    break;
    case 'REMOVE_ERROR':

    break;
  }
}


// Gestion de l'icône dans le catalogue


